November 20, 2018

Уязвимости USB.

Введение.

Перед тем как перейти к анализу угрозы безопасности, которую представляет собой USB, давайте посмотрим, как работает универсальная последовательная шина в целом.

Каждое устройство USB имеет чип контроллера и память для прошивки, пользователь всего этого не видит. Наглядно это показано на Рисунке 1.

Из чего состоит USB.

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

Схема работы USB-устройств при подключении

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

Ознакомимся с неполным списком реальных угроз, которые может представлять USB-устройства. Начнем с самых популярных и закончим самыми опасными.

Human interface Device (HID)

Здесь мы говорим о клавиатурах, мышах и других подобных устройствах. Клавиатуры начинают работать, как только вы их подключаете, что очень привлекательно для хакеров. Возможно, вы слышали о RubberDucky или BashBunny, устройствах, которые выглядят как обычные USB-накопители, но на самом деле имитируют предварительно запрограммированные нажатия клавиш при подключении. Такие устройства могут загрузить и запустить бэкдор всего в течение 20 секунд. В качестве таких вот вредоносных устройств может выступать также Android-смартфон.

Кстати, кому интересно, https://xss.is/threads/26412/ - мануал по HID атакам (Какие устройства используются и как их запрограммировать).

USB- устройства RubberDucky и Arduino Digispark.

Такие атаки можно предотвратить, если заблокировать компьютер. В отличие от атак следующего типа.

Устройство Ethernet

В качестве примера можно привести PoisonTap — устройство, построенное на базе Raspberry Pi Zero, чья стоимость составляет всего $5. PoisonTap способно взломать заблокированный компьютер, выдавая себя за USB-Ethernet-адаптер, который становится приоритетным. Этот тип атаки работает, потому что компьютеры автоматически выполняют запрос DHCP при распознавании новой сетевой карты. Такое вредоносное устройство назначает IP-адрес компьютеру и сообщает ему, что каждый отдельный IP-адрес существует внутри локальной сети. С этого момента, когда зараженный компьютер отправляет пакет на любой IP-адрес, он будет проходить через вредоносное устройство USB-Ethernet, поскольку таков приоритет маршрутизации по локальной сети. Теперь можно украсть файлы cookie жертвы и совершить много других вредоносных действий. Android-смартфоны, по-видимому, являются простейшими инструментами для такой атаки, их можно подключить к компьютеру под предлогом источника для зарядки.

Устройство PoisonTap

USB-Killer .

USB-Killer похож на обычную флешку, однако может запросто уничтожить большинство материнских плат. Хотя некоторые новые компьютеры, например Apple Macbooks, имеют аппаратные меры для защиты от этого типа атак, многие компьютеры все же погибнут. USB-Killer запускает работу преобразователя напряжения, который заряжает конденсаторы до 220В. По достижению этого напряжения преобразователь выключается, и запасенная в конденсаторах энергия подается на сигнальные линии USB-интерфейса. После разряда конденсаторов цикл повторяется.

Выводы.

Как же защитить свой компьютер от USB-угроз? Большинство исследователей говорят о подписи кода и защите целостности для обновлений прошивки, но это не представляется возможным в ближайшее время. Мы рекомендуем использовать программное обеспечение, которое отключает ваши USB-порты, когда вы блокируете экран. Что касается вредоносных прошивок и драйверов, то не существует простого патча для такого типа угроз, поэтому будьте осторожны с тем, что вы вставляете в свой USB-порт.