Plug&Pray: скрытая атака через USB

Специалист по криптографии и директор немецкой компании Security Research Labs Карстен Нол (Karsten Nohl) подготовил доклад о нетривиальных методах использования уязвимостей съёмных носителей и других устройств с интерфейсом USB. В проделанной исследовательской работе речь не идёт о банальных файловых вирусах, запускающихся через autorun.inf. Нол описывает ряд новых методик автоматического инфицирования компьютеров с целью получения несанкционированного доступа или незаметного сбора данных. К большинству из них не готовы ни пользователи, ни производители антивирусного программного обеспечения.

Карстен Нол закончил факультет электротехники Университета прикладных наук Хайдельберга. В студенческие годы его знали как хакера группы Chaos, а сегодня он — известный криптоаналитик и любитель эффектных демонстраций.

Карстен Нол (фото: zdf.de).
Карстен Нол (фото: zdf.de).

В 2007 году Нол вскрыл алгоритм проверки смарт-карт с чипом радиочастотной идентификации Mifare Classic, а год спустя получил докторскую степень в университете Вирджинии, защитив работу об оценке системы RFID и предложив ряд способов повышения её надёжности. Тогда же он вошёл в состав проектной группы deDECTed.org и указал на множество существенных недостатков в представленном рабочей группе протоколе DECT. Сегодня доработанная версия этого стандарта беспроводной связи используется во всех современных радиотелефонах.

Пять лет назад Нол описал способ взлома системы шифрования A5-1, которая до этого годами использовалась для защиты переговоров в сетях GSM и считалась надёжной. Затем он стал легальным аналитиком и расширил сферу интересов. Сейчас он уделяет основное внимание изучению протоколов обмена данными и поиску ошибок в них, приводящих к проблемам с безопасностью.

Когда Нол переключился на автомобильные сигнализации и противоугонные средства, то довольно быстро выявил проблемы с надёжностью у трёх самых популярных схем для электронных иммобилайзеров: DST40 (Texas Instruments), Hitag 2 (NXP Semiconductors) и Megamos (EM Micro).

Карстен Нол на конференции Black Hat 2013 (фото: threatpost.com).
Карстен Нол на конференции Black Hat 2013 (фото: threatpost.com).

Сталкиваясь везде с недоработками одного и того же типа, Нол сделал важное предположение: чем популярнее система, тем меньше в ней ищут ошибки, обманчиво считая надёжной уже в силу распространённости и опыта её длительной эксплуатации. Для проверки он взял протокол USB и практически сразу попал в точку.

Основная проблема большинства USB-устройств состоит в том, что их прошивка никак не защищена от модификаций. Вдобавок, современные ОС используют механизмы автоматического определения оборудования и предлагают выполнить ряд типовых действий при его обнаружении. Это может быть поиск и установка драйвера, показ содержимого файловой системы или запуск мастера настройки.

Как отмечает Нол, в случае с USB-Flash или внешними жёсткими дисками такую особенность можно использовать для выполнения скрытых атак и внедрения на чужой компьютер любого вредоносного кода. Во всех сценариях используется тот факт, что изменить прошивку сменного носителя можно прямо в среде основной операционной системы, и на такое действие антивирусные программы обычно не реагируют.

Перепрограммированный контроллер USB-Flash выпадает из поля зрения защитных программ. Он может эмулировать клавиатуру и отдавать команды от имени вошедшего в систему пользователя (обычно – администратора) или повысить привилегии до требуемого уровня через другие уязвимости.

Микрокод USB-Flash никак не защищён от перезаписи (фото: Reuters).
Микрокод USB-Flash никак не защищён от перезаписи (фото: Reuters).

Записанные заранее команды могут быть практически любыми: запросы на скачивание и запуск исполняемых файлов, автоматические ответы и имитация действий пользователя, передача собранных данных на удалённый хост… Таким образом можно выполнить загрузку и сборку многокомпонентных троянов, обходящих антивирусный мониторинг, установить утилиты скрытого удалённого администрирования, запустить программы для перепрошивки других устройств и создать самоподдерживающийся очаг инфекции, не выявляемый обычными методами.

Другой вариант атаки состоит в том, что контроллер USB-Flash с модифицированной прошивкой имитирует сетевую карту для изменения настроек DNS и перенаправления трафика пользователя на подконтрольные злоумышленнику или заражённые веб-ресурсы.

Популярность технологии ReadyBoost не очень высока, так как на практике удобнее докупить оперативной памяти или мигрировать на SSD, чем использовать отдельную флэшку для ускорения загрузки ОС. Однако такой вариант всё же встречается. В этом случае в одном USB-порте компьютера или ноутбука всегда находится носитель, изменив прошивку которого можно перехватывать управление ещё до загрузки ОС. Проверка дискового раздела ничего не покажет (том вообще может быть пустым), так как вредоносный код загружается из служебной области памяти и работает с некоторыми отличиями от boot-вирусов.

Резюмируя своё исследование Карстен Нол поясняет, что выявить любое из перечисленных заражений будет исключительно трудно. Для начала потребуется допустить саму мысль о нахождении вредоносного кода за пределами ОЗУ, файловой системы и загрузочных секторов. Современные антивирусы не имеют доступа к прошивке устройств и BIOS/UEFI материнской платы, а ручной анализ их кода под силу единицам.

Демонстрация различных вариантов атаки с использование перепрошитых USB-устройств будет представлена на конференции BlackHat, которая пройдёт в Лас-Вегасе со второго по седьмое августа. Нол поясняет, что пока подготовлены примеры уровня доказательства концепции, проводимые в идеальных условиях с компьютерами известной конфигурации. Создать универсальный механизм заражения, работающий «в дикой среде» и на разном оборудовании гораздо сложнее, но это не должно обнадёживать.

Что будем искать? Например,ChatGPT

Мы в социальных сетях