Специалисты берлинской компании Security Research Labs обнаружили фундаментальную уязвимость интерфейса USB, которую они назвали BadUSB. Она затрагивает миллиарды устройств, поддерживающих несколько поколений стандарта USB, и против неё не существует никаких вариантов защиты, а на их разработку может потребоваться срок от нескольких месяцев до нескольких лет. Причиной самого существования уязвимости можно считать желание занимающейся развитием стандарта USB Implementers Forum придать ему максимальную универсальность, которая и стала причиной его столь массовой популярности.
Каждое устройство с поддержкой USB обладает чипом, который контролирует процесс соединения с другими устройствами. Исследователи обнаружили, что прошивка этих контроллеров может быть перепрограммирована для выполнения вредоносных задач, и факт этого перепрограммирования почти невозможно обнаружить.
Универсальная природа USB делает возможным подключение к хосту почти любого вида периферийных устройств, за счёт классов USB и драйверов классов. Каждое USB-устройство обладает классом, определяющим его функцию, например: клавиатуры и мыши; беспроводные контроллеры; устройства хранения данных (цифровые камеры, «флешки»). Хост (компьютер, смартфон, планшет) содержит драйвера классов, который управляют работой соответствующего класса устройств.
Перепрограммирование прошивки позволяет устройству объявить себя принадлежащим к другому классу. Так, если устройство хранения данных выдаст себя за сетевой контроллер, сюда будут направляться связанные с сетевыми коммуникациями данные, вроде конфиденциальных паролей. Или же, перепрограммировав прошивку внешнего HDD для имитации клавиатуры, можно получить возможность давать компьютеру команды, позволяющие устанавливать вредоносное ПО, которое инфицирует ещё большее число устройств.
Найти внесённые в прошивку изменения сложно, даже зная, где искать. У самой SR Labs на это ушли месяцы применения методов обратной инженерии. Привычные антивирусы в данном случае бесполезны, поскольку не имеют доступа к прошивкам USB-устройств. Больше информации обещано представить 7 августа на конференции Black Hat 2014. Пока же единственным советом является использование только собственных USB-устройств исключительно на своих «проверенных» компьютерах и прочих хостах.