Французский эксперт по компьютерной безопасности Джонатан
Броссар (Jonathan Brossard), основатель и главный инженер компании Toucan
System, наглядно продемонстрировал возможность модифицировать базовую прошивку
материнской платы, сетевых карт и CD/DVD-приводов. Его утилита под названием
Rakshasa отличается от более ранних попыток подменить и модифицировать BIOS своей
способностью «поселяться» в системе навсегда и избегать обнаружения
стандартными средствами.
Подмена базовой системы ввода/вывода (BIOS — Basic Input
Output System) в компьютерах давно интересует специалистов, как способ
скомпрометировать операционную систему на стадии первичной загрузки, не
оставляя следов на жестком диске. Утилита Rakshasa, названная в честь демона
индуистской мифологии, способна эффективно выполнять эту операцию. Она была
продемонстрирована сразу на двух важнейших конференциях по безопасности этого
года – Black Hat и Defcon.
Строго говоря, утилита Rakshasa является не первой
программой, которая способна на низком уровне вмешаться в инициализацию всех
важнейших аппаратных компонентов системы. Тем не менее, новые находки разработчиков позволяют обеспечить долговременное существование Rackshasa в системе и
избегать обнаружения. Кроме того, она может заражать прошивку компонентов,
подключаемых к материнской плате по интерфейсу PCI, включая сетевые адаптеры и
оптические приводы – это обеспечивает дополнительное резервирование при
попытках уничтожить вредоносный код.
Примечательно, что технология Rakshasa построена с
использованием общедоступных инструментов с открытым исходным кодом. Она
заменяет BIOS, встроенный производителем, комбинацией альтернативных модулей Coreboot
и SeaBIOS, которые работают на материнских платах разных производителей. Кроме
того, поддерживается запись открытого сетевого загрузчика под названием iPXE в
память сетевого адаптера.
Конечно, открытые компоненты были изменены, чтобы не
отображать никакой информации, способной выдать их присутствие в ходе загрузки.
Стоит заметить, что технология Coreboot даже поддерживает вывод собственной
заставки, повторяющей диалоги подмененных прошивок BIOS.
По словам Броссара, нынешняя архитектура компьютеров дает
каждому периферийному устройству равный доступ к оперативной памяти. В
результате привод CD-ROM теоретически может управлять сетевой картой. Это
значит, что если кто-то решит восстановить исходный BIOS, подложная прошивка,
расположенная в памяти сетевого адаптера или в привода CD-ROM, может использоваться,
чтобы вновь подменить восстанавливаемый BIOS.
Единственный способ полностью уничтожить такое заражение,
это выключить компьютер и вручную прошить каждый компонент в отдельности.
Подобный метод практически неприменим для рядовых пользователей, поскольку
требует специального оборудования и высокой квалификации операторам. Сам
Броссар объясняет, что создал технологию Rakshasa для проверки своих догадок о
возможности практического взлома BIOS где-нибудь на пути компьютера с завода на
полки магазинов, пока ПК не доставлен конечному пользователю. В этом моменте
автор указывает, что поставка большинства компьютеров и компонентов, включая
машины Mac, которые считались устойчивыми ко взломам, производится из Китая.
Интересно, что удаленное развертывание подложных прошивок Rackshasa
вряд ли возможно, поскольку на PCI-устройствах обычно нужно вручную
устанавливать или снимать определенные переключатели (джамперы) для
перепрошивки, а многие современные чипы BIOS требуют цифровую подпись для
установки новых прошивок. Тем не менее, утилита Coreboot, например,
поддерживает специальный режим прошивки PCI-устройства, когда новая прошивка
записывается с более высоким приоритетом, чем исходная – это позволяет обойти
проблему ручного переключения. По словам Броссара, атака срабатывает во всех
случаях, когда есть физический доступ к системе. При удаленном доступе
срабатывание происходит в 99% случаев, по оценке автора.
Отдельного внимания заслуживают манипуляции с механизмом
сетевой загрузки iPXE. В этом случае сетевая карта заставляет компьютер
выполнять специальный код до загрузки операционной системы и каких-либо систем
безопасности. Отказ от использования загрузочного MBR-сектора для хранения тела
вируса позволяет избежать обнаружения – вредоносный загрузочный код передается
во время загрузки с удаленного сервера, не оставляя никаких следов в файловой
системе. Кроме всего прочего, после загрузки вредоносного кода в ядро сам
загрузчик можно стереть из оперативной памяти, так что оперативный анализ
памяти тоже не даст результатов. Перспективы у технологии Rackshasa просто
пугающие – зараженный ПК может скачивать модифицированный загрузочный модуль в
виде безобидного PDF-файла из какого-нибудь блога, а зараженная сетевая карта
может отправлять IP-адрес и другие сведения о сети на указанный адрес
электронной почты, поскольку механизм поддерживает работу по каналам Ethernet,
Wi-Fi и Wimax с поддержкой протоколов HTTP, HTTPS и FTP.
Кроме всего прочего, есть теоретическая возможность передачи
обновленных вредоносных прошивок по защищенному HTTPS-соединению напрямую в
прошивку сетевого адаптера, а также периодическая замена координат управляющего
сервера, откуда зараженная машина будет принимать команды. Обнаружить и нейтрализовать
такую угрозу будет очень и очень непросто, так что Броссар пока не обнародовал
код Rakshasa. С другой стороны, все компоненты этой технологии
общедоступны, так что любой злоумышленник с должной квалификацией и ресурсами
вполне может воспроизвести решение собственными силами. Подробнее принципы
действия вновь обнаруженной угрозы в связи с возможной компрометацией BIOS освещены
в статье Броссара по адресу www.toucan-system.com/research/blackhat2012_brossard_hardware_backdooring.pdf.
По материалам сайта ComputerWorld.
|