badusb from wikipedia
This commit is contained in:
parent
bd8bb8d2a1
commit
bb4e15b10e
30
public/wikipedia/BadUSB.gmi
Normal file
30
public/wikipedia/BadUSB.gmi
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# BadUSB — класс хакерских атак, основанный на уязвимости USB устройств.
|
||||||
|
Благодаря отсутствию защиты от перепрошивки в некоторых USB-устройствах, злоумышленник может видоизменить или полностью заменить оригинальную прошивку и заставить устройство имитировать любое другое устройство. BadUSB предназначен для доставки и исполнения вредоносного кода.
|
||||||
|
|
||||||
|
## Описание
|
||||||
|
USB устройства несут в себе микроконтроллер, отвечающий за общение с хостом по интерфейсу USB. В процессе инициализации микроконтроллер сообщает хосту, наряду с другой служебной информацией, классы, к которым принадлежит устройство. Хост загружает нужный драйвер и работает с устройством исходя из его класса и этих данных. Одно физическое устройство может реализовывать несколько классов и для хоста являться несколькими отдельными устройствами: веб-камеры реализуют одновременно класс видео и класс аудио устройств.
|
||||||
|
BadUSB пользуется тем фактом, что производители не защищают свои устройства от перепрошивки, а хосты не проверяют USB устройства на подлинность. Благодаря этому злоумышленник может подменить прошивку микроконтроллера и выдать одно устройство за другое. Также, так как все коммуникации ведутся через этот микроконтроллер, злоумышленник может перехватывать и подменять любые данные и команды между устройством и хостом. Возможно и автоматическое заражение устройств: устройство заражает хост, запуская на нём вредоносное ПО, затем хост автоматически заражает все подключенные к нему USB устройства.
|
||||||
|
Каждый контроллер уникален, и для каждого необходимо разрабатывать зараженную прошивку или патч отдельно. Невозможно написать универсальное программное обеспечение и использовать его на любом микроконтроллере. Процедура прошивки различается от одного контроллера к другому. Все это значительно уменьшает вероятность эпидемии BadUSB, однако не защищает от целенаправленной атаки.
|
||||||
|
|
||||||
|
## История
|
||||||
|
Понятие BadUSB было введено в августе 2014 года на конференции BlackHat USA 2014 исследователями организации Security Research Labs Карстеном Нолом (англ. Karsten Nohl) и Джейкобом Леллом (англ. Jakob Lell), которые выступили с докладом «BadUSB — On Accessories that Turn Evil». Они провели реинженеринг USB контроллера Phison 2251-03 (2303) и разработали прошивки для некоторых видов атак. Прошивка контроллера осуществлялась приложением DriveCom. Была продемонстрирована атака с помощью имитации клавиатуры, сетевой карты, атака на защиту флеш-накопителей и сокрытие раздела флеш-накопителя. Также были рассмотрены некоторые способы защиты от атак BadUSB.
|
||||||
|
5 августа 2014 года был опубликован эксплойт BadAndroid, превращающий телефон на базе Android в сниффер сетевого трафика.
|
||||||
|
26 сентября 2014 года был опубликован исходный код прошивки и патчей для контроллера Phison 2251-03, включая атаку имитацией клавиатуры, атаку на пароль накопителя и скрытие раздела накопителя.
|
||||||
|
|
||||||
|
## Область уязвимости
|
||||||
|
Уязвимости подвержены все устройства с незащищенными USB контроллерами на борту: флеш-накопители, вебкамеры, мышки, клавиатуры, андроид-устройства. BadUSB не требует особого программного обеспечения на компьютере жертвы и работает под любыми операционными системами, поддерживающими USB-HID устройства.
|
||||||
|
Необходимость трудоемкого реверс-инжиниринга каждого USB-устройства ограничивает этот класс атак заказными атаками на конкретные устройства в рамках черных пиар-технологий либо атаками против конкретной жертвы, пользующейся определенными устройствами.
|
||||||
|
|
||||||
|
## Некоторые виды атак
|
||||||
|
### Имитация клавиатуры
|
||||||
|
Устройство представляется компьютеру жертвы клавиатурой, а по истечении некоторого времени начинает отправлять последовательности нажатий клавиш. В результате злоумышленник может выполнить на компьютере жертвы любые действия, доступные авторизованному пользователю с помощью одной только клавиатуры. К примеру, злоумышленник может загрузить из интернета и запустить вредоносное ПО.
|
||||||
|
Существенным минусом данного вида атак является отсутствие доступа к информации на экране и, как следствие, отсутствие обратной связи на любые действия со стороны зараженного устройства. Например, злоумышленник не может определить как текущую раскладку клавиатуры, так и произведен ли вход в систему.
|
||||||
|
|
||||||
|
### Имитация сетевой карты
|
||||||
|
Устройство представляется компьютеру жертвы сетевой картой и, таким образом, может перехватывать или перенаправлять сетевой трафик. В частности, отвечая на DHCP запрос адресом DNS сервера злоумышленника и не предоставляя шлюза по умолчанию, злоумышленник может перенаправить трафик жертвы: компьютер жертвы будет производить разрешение адреса через DNS сервер злоумышленника, но, в отсутствие шлюза по умолчанию, будет использовать другой, настоящий сетевой интерфейс.
|
||||||
|
|
||||||
|
### Boot Injection
|
||||||
|
Устройство с достаточным местом для хранения вредоносного кода, например, флеш-накопитель, может определить момент включения компьютера и в момент определения BIOS’ом выдать на загрузку вирус для заражения операционной системы. Это становится возможным благодаря тому, что по поведению хоста при общении с USB микроконтроллером возможно определить ОС хоста, в частности Windows, Linux, MacOSX, а также BIOS.
|
||||||
|
|
||||||
|
### Выход из виртуального окружения
|
||||||
|
Атака использует возможность повторной инициализации устройства[2]. Выполняясь в виртуальной машине, вирус заражает любое подключенное по USB устройство. Зараженная прошивка выполняет переинициализацию и представляется двумя независимыми устройствами: неким новым и тем, которое уже было подключено к виртуальной машине. Новое устройство будет автоматически подключено к хостовой ОС, а старое — обратно в виртуальную машину. Таким образом, может быть произведен выход за пределы виртуального окружения, то есть осуществлен переход от клиентской до хостовой ОС.
|
1
public/wikipedia/index.gmi
Normal file
1
public/wikipedia/index.gmi
Normal file
@ -0,0 +1 @@
|
|||||||
|
.
|
Loading…
Reference in New Issue
Block a user