xaker

В каких USB-контроллерах есть фатальная уязвимость BadUSB

  • вторник, 18 ноября 2014 г. в 02:11:30

В августе этого года известные хакеры Карстен Нол (Karsten Nohl) и Якоб Лелл (Jakob Lell) из консалтинговой компании SR Labs сообщили о «фундаментальной уязвимости устройств USB». В октябре они опубликовали код программы для взлома компьютера по USB и с тех пор проверили сотни различных устройств разных производителей на наличие бага. Полный список проверенных устройств см. здесь.

Были проверены все USB-контроллеры от 8 крупнейших мировых производителей: Phison, Alcor, Renesas, ASmedia, Genesys Logic, FTDI, Cypress и Microchip.. Результаты проверки неоднозначные. Хорошая новость в том, что около половины устройств не подвержена уязвимости. Плохая новость: вы не можете сказать, какая конкретно половина.

Буквально каждая модель флешки, веб-камеры, концентратора или адаптера для флеш-карт поставляется с разной начинкой, в зависимости от партии. В одной партии может быть уязвимый контроллер, а в другой — уже нет. Модель контроллера не обозначена на упаковке. Узнать её можно только после вскрытия прибора. Приходится использовать устройство вслепую.

О результатах исследования авторы рассказали на конференции по безопасности PacSec, которая прошла на прошлой неделе в Токио (слайды, pdf).

Есть несколько интересных фактов, достойных отдельного упоминания. Например, уязвимости подвержены абсолютно все USB-флешки с контроллерами производства тайваньской фирмы Phison. Все чипы ASmedia, напротив, защищены от бага. У другой тайваньской компании Genesys уязвимы контроллеры USB 3.0, но безопасны контроллеры USB 2.0. В общем ситуация совершенно непредсказуемая.

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

Установленная на компьютере программа может изменить прошивку по USB, а та, в свою очередь, может установить зловреда в системе. Из-за такого двустороннего взаимодействия ни одному устройству и компьютеру больше нельзя доверять. Вы не только должны ограничить свой ПК от посторонней периферии, но и сами не можете безопасно вставить чистую флэшку в посторонний ПК.

Поскольку код находится в прошивке, его довольно трудно обнаружить и удалить. Самая действенная защита — вообще запретить подключение к компьютеру новых USB-устройств: флешек, мышек, клавиатур, смартфонов и других приборов. А в будущем производители обязаны будут чётко указывать, какие конкретно микросхемы установлены в их устройствах. Как вариант, можно использовать криптографическую проверку обновлений прошивки.