Открыт код инструментария для проведения атак через модификацию прошивок USB-накопителей
3 октября 2014 года
Летом на конференции Black Hat был представлен и продемонстрирован новый класс атак BadUSB, проводимых с USB-устройств со специально модифицированной прошивкой. Суть атаки сводится к эмуляции одним устройством совершенно другого типа USB-устройств или модификации передаваемых данных, например, USB-накопитель в определённый момент может притвориться USB-клавиатурой или подменить копируемые данные, но активировать подмену только при определённых условиях для того чтобы проверка по контрольной сумме не выявила расхождений.
Атаку представил известный исследователь безопасности Карстен Нол (Karsten Nohl), который опубликовал (Архивная копия от 18 апреля 2016 на Wayback Machine) только тестовый прототип эмуляции устройств для платформы Android. Наиболее интересные и опасные наработки, связанные с изменениями прошивок остались недоступны широкой публике. Позднее, разработчики проекта Kali Linux подготовили собственную реализацию метода и включили её в продукт Kali NetHunter, предназначенный для использования на смартфонах под управлением платформы Android. Метод позволяет при помощи смартфона эмулировать сетевой USB-адаптер, который может использоваться для MITM-атак, или USB-клавиатуру, выполняющую подстановку символов.
Два независимых исследователя, Brandon Wilson и Adam Caudill, сумели воспроизвести технику атаки для USB-накопителей и несколько дней назад опубликовали на GitHub исходные тексты компонентов, необходимых для модификации прошивок накопителей с чипами контроллеров компании Phison Electronics, а также примеры патчей для прошивок с реализацией метода подстановки клавиатурного ввода и создания полностью скрытого от внешнего мира раздела (прошивка выводит правильный размер итогового накопителя, но часть данных скрывает и показывает только при наступлении определённых событий). Код опубликован под лицензией MIT.
В состав входит приложение для взаимодействия с накопителями Phison, программа для встраивания в прошивку дополнительной функциональности в формате Rubber Ducky, скрипты для загрузки прошивки на устройство, программа для извлечения адресов из прошивки и встраивания кода в прошивку, пример собственной прошивки и коллекция патчей для прошивок. На wiki-странице проекта доступна подробная документация по внесению изменений в прошивку. Разработчики надеются, что публикация инструментария для совершения атаки станет стимулом для внедрения производителями технологий верификации прошивок по цифровым подписям.
Производители USB-устройств оказались совершенно не готовы для данного класса атак, так как в настоящее время системы рассчитаны на то, что USB-устройства выполняют только штатные действия и пользуются слишком высоким уровнем доверия. USB-устройство выглядит для системы чёрным ящиком, в котором невозможно проверить корректность прошивки, а наличие вредоносных модификаций прошивки невозможно зафиксировать до момента совершения атаки. Получить код прошивки с внешнего USB-устройства можно только при участии самой прошивки, которая может успешно скрывать все изменения. Анализ прошивки возможен через такие методы, как физическое дизасcемблирование и обратный инжиниринг устройства, проведение которых возможно только при наличии специализированного оборудования. При этом провести изначальную модификацию прошивки можно в обычном программном окружении без привлечения спецсредств.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.