Объясняется этот кажущийся парадокс совсем простой причиной. Сколь бы ни было велико разнообразие компьютеров на рынке, чипы BIOS для всех них поставляет совсем немного компаний. Причём одной из самых распространённых в мире систем такого рода уже многие годы является Award BIOS. А руткит Mebromi, как установлено, заточен именно под Award.
Как только эта инфекция попадает в компьютер жертвы, первым делом она проверяет систему на предмет использования Award BIOS. Если это так, то Mebromi использует известный инструмент CBROM, чтобы подсадить свои фрагменты в память BIOS. Затем, когда система загружается в следующий раз, эта надстройка добавляет дополнительный код в MBR, главную загрузочную запись жёсткого диска, чтобы заразить загрузочные процессы winlogon.exe или winnt.exe (в Windows XP и 2003 или Windows 2000 соответственно) до того, как загрузится собственно операционная система Windows.
При следующем перезапуске ОС вредоносный код загружает специальный руткит, препятствующий очистке MBR от инфекции с помощью антивирусных сканеров. Но даже если жёсткий диск всё же удастся вычистить, вся процедура заражения повторяется по новой, как только при очередной перезагрузке срабатывает модуль инфекции из памяти BIOS. Таким образом, в компьютерах с Award BIOS руткит Mebromi оказывается способным выдерживать не только зачистку системы, переустановку ОС или переформатирование диска, но даже полную замену жёсткого диска. (Если же в компьютере используется не Award, а какая-то иная система, тогда заражению подвергается только MBR.)
При обсуждении этой напасти, конечно же, сразу стали вспоминать, что идея подсаживания вредоносного кода в BIOS на самом деле совсем не нова. Ещё в 1999 году по планете бродил вирус CIH, или «Чернобыль», пытавшийся манипулировать базовой системой ввода-вывода заражённых машин, однако в подавляющем большинстве случаев все эти атаки имели разрушительный эффект. При некорректных попытках записи BIOS оказывался убитым, так что компьютер вообще переставал загружаться.
Затем, в 2000-е годы то и дело появлялись образцы вредоносных кодов, демонстрировавшие принципиальную работоспособность этой идеи. В 2006 году, к примеру, в компьютерном андеграунде был отмечен «руткит-прототип» IceLord, уже вполне корректно заражавший BIOS (что характерно, тоже Award), однако сколь-нибудь заметного распространения эта разработка не получила.
Тогда же, в 2006 году об интересных результатах своего исследования рассказал британский специалист по компьютерной безопасности Джон Хисмен. Хисмена обеспокоило, что на рынке не существует инструментов, позволяющих проверять содержимое BIOS на наличие руткитов. И в то же время в компьютерах имеется достаточно развитый набор функций управления питанием, известный как ACPI (Advanced Configuration and Power Interface) и обладающий своим собственным интерпретируемым языком высокого уровня, который можно использовать для написания кода руткита и прописывать главные функции атаки непосредственно во флэш BIOS. Для демонстрации своей идеи Хисмен написал соответствующий рабочий код, с помощью которого повышал привилегии вредоносной программы, считывал содержимое памяти и так далее. Механизм внедрения этого руткита в компьютер, правда, Хисмен делать не стал.
В 2007 году на английском языке вышла книга индонезийского хакера Дармавана Салихана (Darmawan Mappatutu Salihun) под названием «BIOS Disassembly Ninjutsu Uncovered». (В России столь примечательное исследование, надо заметить, было очень оперативно переведено и выпущено в том же году издательством «БХВ-Петербург» под названием «BIOS: дизассемблирование, модификация, программирование».) В этой очень обстоятельной, на 700 с лишним страниц, работе автор, в частности, показал, что механизм внесения вредоносного кода в тело прошивки BIOS на самом деле может быть весьма простым и обобщённо называется ROMOS. По сути дела, это самостоятельная миниатюрная операционная система, зашиваемая практически в любой BIOS, имеющий примерно 40-60 килобайт свободного места. (Согласно оценкам компетентных специалистов, ROMOS более гибок и жизнеспособен, нежели обнаруженный ныне Mebromi.)
Наконец, не далее как в 2009 году пара аргентинских хакеров, Альфредо Ортега и Анибал Сакко, представили весьма продвинутый и работоспособный концепт руткита, умеющего заражать BIOS компьютера вне зависимости от того, работает ли он под ОС Windows или под Linux. Об исследованиях Ортеги и Сакко, открывших в недрах кода BIOS нечто воистину любопытное, следует вообще рассказать особо. Но сделать это — по некоторым причинам — лучше чуть попозже.
Читать дальше