Драгос Рю — фигура заметная. Спец по компьютерной безопасности со стажем, соучредитель 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, обнародованный Рю и проанализированный несколькими независимыми исследователями, ничего подозрительного вроде бы не содержит. Равно как и логи процесс-монитора, и дамп секторов жёсткого диска, также отданные Рю на растерзание коллегам или знакомым, а то и просто интернет-общественности.