Interested Article - BadUSB
- 2021-04-28
- 1
BadUSB — класс хакерских атак , основанный на уязвимости USB устройств . Благодаря отсутствию защиты от перепрошивки в некоторых USB-устройствах, злоумышленник может видоизменить или полностью заменить оригинальную прошивку и заставить устройство имитировать любое другое устройство. BadUSB предназначен для доставки и исполнения вредоносного кода .
Описание
USB устройства несут в себе микроконтроллер , отвечающий за общение с хостом по интерфейсу USB. В процессе инициализации микроконтроллер сообщает хосту, наряду с другой служебной информацией, классы , к которым принадлежит устройство. Хост загружает нужный драйвер и работает с устройством исходя из его класса и этих данных. Одно физическое устройство может реализовывать несколько классов и для хоста являться несколькими отдельными устройствами: веб-камеры реализуют одновременно класс видео и класс аудио устройств .
BadUSB пользуется тем фактом, что производители не защищают свои устройства от перепрошивки, а хосты не проверяют USB устройства на подлинность. Благодаря этому злоумышленник может подменить прошивку микроконтроллера и выдать одно устройство за другое. Также, так как все коммуникации ведутся через этот микроконтроллер, злоумышленник может перехватывать и подменять любые данные и команды между устройством и хостом . Возможно и автоматическое заражение устройств: устройство заражает хост, запуская на нём вредоносное ПО, затем хост автоматически заражает все подключенные к нему USB устройства .
Каждый контроллер уникален, и для каждого необходимо разрабатывать зараженную прошивку или патч отдельно. Невозможно написать универсальное программное обеспечение и использовать его на любом микроконтроллере. Процедура прошивки различается от одного контроллера к другому. Все это значительно уменьшает вероятность эпидемии BadUSB, однако не защищает от целенаправленной атаки .
История
Понятие BadUSB было введено в августе 2014 года на конференции исследователями организации Карстеном Нолом ( англ. Karsten Nohl ) и Джейкобом Леллом ( англ. Jakob Lell ), которые выступили с докладом «BadUSB — On Accessories that Turn Evil». Они провели реинженеринг USB контроллера и разработали прошивки для некоторых видов атак. Прошивка контроллера осуществлялась приложением . Была продемонстрирована атака с помощью имитации клавиатуры, сетевой карты, атака на защиту флеш-накопителей и сокрытие раздела флеш-накопителя. Также были рассмотрены некоторые способы защиты от атак BadUSB .
5 августа 2014 года был опубликован эксплойт , превращающий телефон на базе Android в сниффер сетевого трафика .
26 сентября 2014 года был опубликован прошивки и патчей для контроллера Phison 2251-03, включая атаку имитацией клавиатуры, атаку на пароль накопителя и скрытие раздела накопителя .
Область уязвимости
Уязвимости подвержены все устройства с незащищенными USB контроллерами на борту: флеш-накопители , вебкамеры , мышки , клавиатуры , андроид-устройства . BadUSB не требует особого программного обеспечения на компьютере жертвы и работает под любыми операционными системами, поддерживающими USB-HID устройства .
Необходимость трудоемкого реверс-инжиниринга каждого USB-устройства ограничивает этот класс атак заказными атаками на конкретные устройства в рамках черных пиар-технологий либо атаками против конкретной жертвы, пользующейся определенными устройствами.
Некоторые виды атак
Имитация клавиатуры
Устройство представляется компьютеру жертвы клавиатурой, а по истечении некоторого времени начинает отправлять последовательности нажатий клавиш. В результате злоумышленник может выполнить на компьютере жертвы любые действия, доступные авторизованному пользователю с помощью одной только клавиатуры. К примеру, злоумышленник может загрузить из интернета и запустить вредоносное ПО .
Существенным минусом данного вида атак является отсутствие доступа к информации на экране и, как следствие, отсутствие обратной связи на любые действия со стороны зараженного устройства. Например, злоумышленник не может определить как текущую раскладку клавиатуры, так и произведен ли вход в систему .
Имитация сетевой карты
Устройство представляется компьютеру жертвы сетевой картой и, таким образом, может перехватывать или перенаправлять сетевой трафик. В частности, отвечая на DHCP запрос адресом DNS сервера злоумышленника и не предоставляя шлюза по умолчанию, злоумышленник может перенаправить трафик жертвы: компьютер жертвы будет производить разрешение адреса через DNS сервер злоумышленника, но, в отсутствие шлюза по умолчанию, будет использовать другой, настоящий сетевой интерфейс .
Boot Injection
Устройство с достаточным местом для хранения вредоносного кода, например, флеш-накопитель, может определить момент включения компьютера и в момент определения BIOS’ом выдать на загрузку вирус для заражения операционной системы. Это становится возможным благодаря тому, что по поведению хоста при общении с USB микроконтроллером возможно определить ОС хоста, в частности Windows , Linux , MacOSX , а также BIOS .
Выход из виртуального окружения
Атака использует возможность повторной инициализации устройства . Выполняясь в виртуальной машине , вирус заражает любое подключенное по USB устройство. Зараженная прошивка выполняет переинициализацию и представляется двумя независимыми устройствами: неким новым и тем, которое уже было подключено к виртуальной машине. Новое устройство будет автоматически подключено к хостовой ОС, а старое — обратно в виртуальную машину. Таким образом, может быть произведен выход за пределы виртуального окружения, то есть осуществлен переход от клиентской до хостовой ОС .
Противодействие
В рамках доклада «BadUSB — On Accessories that Turn Evil» было предложено несколько способов защиты от BadUSB, однако, по словам исследователей, полноценная интеграция защиты займет продолжительное время .
Одним из возможных способов противостояния является подпись прошивки производителем оборудования и соответствующая проверка на стороне хоста перед использованием устройства, что не предусмотрено текущей спецификацией USB. Другим решением проблемы может стать блокировка возможности перепрошивки устройств самим производителем .
Марк Шаттлворт , основатель Canonical Ltd. , также высказывался по вопросу безопасности USB устройств и как решение проблемы предлагал полностью открыть исходный код прошивок .
Несмотря на то, что ряд средств комплексной антивирусной защиты, такие как ESET Endpoint Antivirus , Kaspersky Endpoint Security , компонент «Родительский контроль» у Dr.Web AV-Desk , позволяют ограничивать доступ к сменным носителям и разрешать активацию согласно «белому списку», в случае с Bad USB, таких мер недостаточно. Пользователь сам может разрешить подключение опасного устройства, ошибочно посчитав его безопасным. По утверждению корреспондента « Компьютерры » Андрея Василькова, разработчики антивирусных решений будут вынуждены в будущем добавить «отдельные модули для более гибкого дополнительного контроля над подключаемыми по USB устройствами» .
Защита от атак BadUSB появилась в Kaspersky Endpoint Security 10, в обновлении от 7 декабря 2015 года .
Защитные решения Dr.Web с 11-й версии защищают от BadUSB-уязвимости для устройств, имитирующих клавиатуру .
Примечания
- ↑ (англ.) (2014). Дата обращения: 10 декабря 2014. 8 августа 2014 года.
- ↑ (англ.) . Дата обращения: 10 декабря 2014. 1 июня 2012 года.
- ↑ Andy Greenberg. (англ.) // wired.com. — 2014. 3 августа 2014 года.
- . Дата обращения: 10 декабря 2014. Архивировано из 18 апреля 2016 года.
- Andy Greenberg. (англ.) // wired.com. — 2014. 7 октября 2014 года.
- ↑ Andy Greenberg. (англ.) // wired.com. — 2014. 20 июля 2017 года.
- ↑ (август 2014). Дата обращения: 10 декабря 2014. Архивировано из 8 августа 2014 года.
- Linux Magazine issue 162, May 2014, page 9.
- Андрей Васильков. . Компьютерра (6 октября 2014). Дата обращения: 27 декабря 2014. 18 декабря 2014 года.
- . support.kaspersky.ru. Дата обращения: 17 июля 2017. 15 июля 2017 года.
- . news.drweb.ru. Дата обращения: 26 мая 2016. 1 июня 2016 года.
Ссылки
- (англ.) . — краткое описание BadUSB на Security Research Labs .
- (англ.) . — видео доклада «BadUSB - On Accessories that Turn Evil» на конференции BlackHat USA 2014 .
- (англ.) . — слайды доклада «BadUSB - On Accessories that Turn Evil» на конференции BlackHat USA 2014 . Архивировано из 8 августа 2014 года.
- (англ.) . — опубликованный исходный код некоторых уязвимостей, продемонстрированных в докладе «BadUSB - On Accessories that Turn Evil» .
- 2021-04-28
- 1