С какой стороны ни подойди, мир компьютерных вирусов стал скучным. Основную часть новостного шума производят ничем не выделяющиеся трояны, яркие эпидемии редки и в них вложен нереальный труд (вспомните семейство Stuxnet), вирусы же, эксплуатирующие принципиально новые идеи, вообще, кажется, перевелись. И вот на этом фоне в октябре и ноябре вырастает совершенно потрясающая история: badBIOS, обнаруженный канадцем Драгосом Рю, не только использует новые трюки для репликации и коммуникации, но ещё и прячется настолько хорошо, что многие из авторитетных сторонних наблюдателей сомневаются в самой возможности его существования!
Драгос Рю — фигура заметная. Спец по компьютерной безопасности со стажем, соучредитель security-конференции CanSecWest и проводимого там же хакерского конкурса Pwn2Own, он не тот человек, от которого стоит ждать глупого розыгрыша. И всё-таки с ходу поверить в его рассказ трудно. А рассказал он — через свои аккаунты в Twitter и Google+ — историю борьбы с необычной заразой, паразитирующей на его компьютерах.
В один прекрасный день Рю обнаружил странности в поведении своего MacBook Air: ноутбук сам обновлял BIOS, отказывался загружаться с компакт-диска, самовольно правил настройки операционной системы. Позднее аналогичные аномалии были замечены на других машинах — под управлением MS Windows, Linux, OpenBSD. Переустановка операционных систем проблему не устраняла. Вялотекущее расследование шло три года, но, похоже, только нынче осенью Рю и его коллеги занялись им вплотную. И вскрыли удивительные факты.
Не претендуя на исчерпывающее изложение весьма длинной и запутанной истории (нити можно вытянуть по хештегу #badBIOS в соцсетях), суть её можно свести к следующему. Вирус, названный Драгосом badBIOS, распространяется на USB-флешках. Однако — и это его первая уникальная особенность — проникает на машину он не через уязвимости в операционных системах, а, скорее всего, через некую фундаментальную низкоуровневую брешь в программно-аппаратных компонентах, ответственных за подключение USB-устройств к компьютеру. Аналогичным образом (перепрограммируя контроллер флеш-памяти на самом накопителе) инфицируются USB-флешки, подключаемые к заражённому компьютеру. Механизм всё ещё не изучен, но в действии он выглядит так: достаточно воткнуть инфицированную badBIOS флешку в USB-разъём, чтобы (ещё до опознания и монтирования операционной системой) вирус получил управление и заразил компьютер.
Здесь выявляется особенность номер два: badBIOS ОС-независим. Рю считает, что, получив управление, вирус первым делом сохраняет себя в свободное место в микросхеме BIOS, а заодно и подчиняет себе программу инициализации и загрузки компьютера, которой BIOS по сути является. Отсюда странности с отказом от загрузки с CD и других внешних носителей. Позже badBIOS получает через интернет дополнительные модули, которые складирует уже на жёстком диске — возможно, в виде системных файлов, специфичных для конкретного типа управляющей компьютером операционки: так, на инфицированном badBIOS компьютере с Windows 8 Рю обнаружил странные файлы якобы шрифтов. Не исключено также, что операционную систему badBIOS загружает в виртуальной машине, сам исполняя роль гипервизора (вспомните, как функционирует VMware). Во время работы вирус агрессивно мешает своему обнаружению и модификации — восстанавливая повреждённые файлы и подменяя данные, отправляемые на внешние накопители, на лету.
Наконец, особенность номер три таится в оригинальной системе связи между инфицированными компьютерами. На высоком уровне badBIOS-узлы общаются друг с другом посредством IPv6, но, даже отключив и удалив из изучаемой персоналки все стандартные средства коммуникаций (Wi-Fi, Bluetooth), Рю обнаружил, что обмен данными не прекратился — до тех пор пока с компьютера не были сняты динамик и микрофон! Фонограмма, сделанная на расстоянии 30 сантиметров от системного блока, выявила активность на частотах выше 20 кГц: судя по всему, близкорасположенные badBIOS-узлы «переговариваются» с помощью ультразвука — и способны таким образом преодолевать пресловутый airgap (то есть общаться даже с компьютерами, отрезанными от обычных коммуникаций).
Такова в общих чертах нарисованная Драгосом Рю картина. Повторю: деталей много, и если я упустил что-то важное, буду признателен за поправки и дополнения. И, понятное дело, такая история, рассказанная авторитетным специалистом, не могла остаться незамеченной. В несколько недель она обросла множеством мнений, причём мнений полярных.
Многие не верят Рю. Идея стелс-вируса, прячущегося в BIOS, уже сама по себе сомнительна: на таком уровне (то есть без помощи операционных систем) разработчикам пришлось бы учесть огромное число нюансов (начиная от параметров конкретного CPU и заканчивая вариациями управляющей программы в BIOS), часть из которых держится производителями компьютеров в тайне. Спрятать что-либо значительное в нескольких мегабайтах (столько отдаётся флеш-памяти под BIOS) и не обнаружить себя ещё более проблематично. При этом дамп «заражённого» BIOS, обнародованный Рю и проанализированный несколькими независимыми исследователями, ничего подозрительного вроде бы не содержит. Равно как и логи процесс-монитора, и дамп секторов жёсткого диска, также отданные Рю на растерзание коллегам или знакомым, а то и просто интернет-общественности.
Сейчас Драгос планирует отдать экспертам несколько инфицированных компьютеров целиком. Однако, опираясь на отрицательный результат уже проведённых проверок, многие задаются справедливым вопросом: а почему именно Рю был выбран в качестве цели? Он ведь не атомный завод в Натанзе, а всего лишь наёмный консультант по безопасности! Чего ради авторы badBIOS (буде он действительно существует) стали бы рисковать своей драгоценной разработкой (а в том, что, при заявленной функциональности, в неё вложена уйма сил, времени и денег, нет никаких сомнений) ради рядового в общем-то канадца?
Но вместе с тем нашлись и авторитетные ИТ-спецы, которые Рю верят. Обобщая, их мнение можно свести к простому: в том, что делает badBIOS, нет ничего принципиально невозможного. Всё это осуществимо на нынешнем уровне развития цифровой техники. Кроме того, не стоит (да Драгос и не настаивает!) воспринимать догадки, высказанные Рю, как истину в последней инстанции. Например, он может заблуждаться насчёт ультразвукового канала связи — который возможен (ставились опыты), но вряд ли эффективен. Зато то же самое и, предположительно, с более высокой скоростью информационного обмена, легко реализовать посредством, например, управления и измерения электрического напряжения в некоторых элементах персоналки (вот, к примеру, хакерское «Software-Defined Radio», использующее провод к светодиоду на системнике в качестве антенны для радиообмена).
То же справедливо и для других догадок. Так прятаться badBIOS может не в ограниченном и насквозь контролируемом пространстве BIOS, а в более экзотических местах, наделённых микроконтроллерами, — а нынче это почти каждый компонент PC, от клавиатуры и трекпада до аккумулятора, центрального микропроцессора (!), графической и сетевой карт.
Ну а пока Рю подключает сторонних экспертов, грех не задаться вопросом, кто и для чего сконструировал badBIOS? И почему в качестве цели избран обычный человек? Может быть, так проявляет себя очередной сноуден — давая возможность миру узнать нечто, о чём без его помощи мы не узнали бы ещё очень долго?