Группа исследователей из Аделаидского университета (Австралия) разработала метод атаки по сторонним каналам, анализирующей наводки в электрических цепях USB для получения информации об активности соседних USB-устройств. В частности, показана возможность создания вредоносных USB-устройств, которые могут шпионить за USB-устройствами, подключенными в соседние USB-порты. Детали атаки будут опубликованы на следующей неделе, после доклада на конференции USENIX Security Symposium. В ходе исследования было изучено 50 USB-устройств, из которых более 90% оказались подвержены утечке информации по сторонним каналам. В ходе эксперимента на базе светильника, питающегося через порт USB, был подготовлен прототип вредоносного устройства, которое позволяло собирать данные о клавишах, нажатых на клавиатуре, подключенной в соседний USB-порт. Перехваченная информация о колебаниях напряжения отправлялась через Bluetooth на расположенный неподалёку компьютер атакующих, на котором данные анализировались для воссоздания кодов
Для обеспечения работы USB-устройства требуется снабдить его уникальным номером продукта (PID, Product ID), привязанным к идентификатору производителя (VID, Vendor ID). При сложившихся в отрасли условиях, мелкому проекту проблематично получить идентификатор для своего устройства. В рамках инициативы pid.codes, нацеленной на решение данной проблемы, любому открытому проекту предоставлена возможность бесплатно получить идентификатор USB-продукта (PID). Распределением VID-идентификаторов занимается консорциум USB-IF (USB Implementers Forum), учреждённый компаниями, принимающими участие в создании стандартов USB, в том числе Hewlett-Packard, LSI, Microsoft и Intel. USB-IF не выдаёт единичные идентификаторы продуктов, а делегирует только идентификаторы вендора (VID), которые позволяют производителю генерировать идентификаторы продуктов на своё усмотрение. Стоимость получения VID составляет около 5 тысяч долларов, что делает получение VID неподъёмным для мелких стартапов и некоммерческих проектов. При этом VID
На следующей неделе на конференции Black Hat запланирована демонстрация новой атаки BadUSB, для совершения которой используются USB-устройства со специально модифицированной прошивкой. В результате внесённых изменений USB-устройство может сэмулировать работу совершенно другого типа USB-устройств и вклиниться в работу системы. Например, USB-накопитель или web-камера с интерфейсом USB в определённый момент могут сэмулировать работу USB-клавиатуры и осуществить подстановку ввода. Источником проблем также может оказаться штатная USB-клавиатура с изменённой прошивкой или штатный USB-накопитель (организация скрытого ввода или подмены записываемых данных). USB-устройства в системе пользуются изначально слишком высоким уровнем доверия, не подразумевающим, что они могут выполнить не только штатные действия. Современными методами обнаружения вредоносного ПО практически невозможно выявить факт модификации прошивки, что затрудняет обнаружение и предотвращение атаки до момента её совершения. Вредоносные изменения
Инициатива по получению отдельного идентификатора вендора для независимого от отдельных компаний открытого аппаратного обеспечения с интерфейсом USB окончилась неудачей. Суть проблемы состоит в том, что для обеспечения работы самодельного USB-устройства требуется снабдить его уникальным номером продукта (PID, Product ID), привязанным к идентификатору вендора (VID, Vendor ID), которые выдаётся только крупным производителям. Распределением идентификаторов вендора занимается консорциум USB-IF (USB Implementers Forum), учреждённый компаниями, принимающими участие в создании стандартов USB, в том числе Hewlett-Packard, LSI, Microsoft и Intel. Стоимость получения VID составляет приблизительно 5 тысяч долларов, при этом VID становится явно привязан к определённой компании. Суть инициативы состояла в создании отдельной некоммерческой организации, которая сможет зарегистрировать на себя VID и выделять в его рамках идентификаторы продуктов для развиваемых энтузиастами открытых аппаратных проектов. Деньги на
Ситуация с отсоединением от шины устройств с интерфейсом USB 2.0 после возврата из спящего режима до сих пор списывалось на проблемы в аппаратной реализации средств управления питанием дешёвых USB-устройств. Проблему пытались решить через занесение устройств в чёрные списки и много критиковали низкое качество дешёвого оборудования. Сара Шарп (Sarah Sharp), разработавшая стек USB 3.0 для ядра Linux, пришла к выводу, что на самом деле указанные проблемы вызваны неверной интерпретацией спецификаций в реализации USB 2.0-стека в ядре Linux (USB-стек не предоставлял устройству должной задержки для восстановления своего состояния). В настоящее время для решения проблемы уже подготовлен предварительный патч, после применения которого эффект отсоединения USB-устройства при использовании автоматического перевода в спящий режим пропадает. Ошибка проявляется только для контроллеров xHCI и не затрагивает EHCI.
Ганс Де Гоеде (Hans de Goede), разработчик Fedora Linux, работающий в компании Red Hat, представил проект libusbx, в рамках которого создан форк, продолжающий развитие библиотеки libusb, предназначенной для организации доступа к USB-устройствам из программ, работающих в пространстве пользователя. Как и libusb код нового проекта распространяется под лицензией LGPL. Проект libusbx был основан большинством оставшихся активных разработчиков оригинальной ветки libusb 1.0 из-за конфликта с основным мэйнтейнером проекта, который на протяжении 18 месяцев отказывался выпускать новые стабильные релизы, всячески затягивал приём в библиотеку патчей с реализацией новых функций и исправлений, и не реагировал на запросы пользователей на реализацию новых возможностей. Например, в libusb не были включены такие функции, как поддержка USB-топологий, возможность работы с HID-устройствами и реализация горячего подключения устройств, которые впоследствии вошли в состав libusbx. Отмечается, что в форке прекращена совместимость
Харальд Вельте (Harald Welte) сообщил в своём блоге о получении полномочий по предоставлению свободным аппаратным и программным проектам возможности использовать зарегистрированный компанией Openmoko идентификатор вендора для USB-устройств и IEEE OUI код организации для формирования MAC-адресов. Любой открытый проект при возникновении необходимости может связаться с компанией Openmoko и запросить идентификатор продукта для своего USB-устройства или MAC-адрес для разрабатываемой Ethernet/Wifi/Bluetooth платы. В обычных условиях регистрация нового USB Vendor ID стоит 2000$, а блок MAC-адресов - 1600$, при этом выделяется сразу пул из 65 тыс. USB идентификаторов и 16.7 млн. MAC-адресов. Так как компания Openmoko отстранилась от производства оборудования, она приняла решение бесплатно выделять идентификаторы USB и MAC-адреса из принадлежащего ей пула всем нуждающимся свободным проектам.
Компания FXI Technologies представила на международном конгрессе мобильных технологий миниатюрный компьютер Cotton Candy, выполненный в форме USB-брелока весом 21 грамм. Устройство обладает относительно неплохими характеристиками: двухядерный процессор 1.2GHz ARM Cortex-A9, 1 Гб ОЗУ, microSD, графическая подсистема на основе Mali 400MP GPU, способная декодировать HD-видео, поддержка WiFi 802.11 b/g/n и Bluetooth, наличие портов MicroUSB, USB и HDMI. В качестве операционных систем возможна установка Android 4 или Ubuntu Linux. Питание подаётся через USB-порт, через который устройство может быть подключено к компьютеру, телевизору или USB-концентратору. Для внешнего компьютера устройство выглядит как USB-накопитель. Через HDMI-порт можно подключить монитор или телевизор, превратив брелок в рабочую станцию или мультимедиа центр. Для управления устройством могут быть использованы как стандартные USB или Bluetooth клавиатура и мышь, так и интерфейс управления с внешнего устройства - поддерживается
Разработчики открытой операционной системы ReactOS, нацеленной на обеспечение совместимости с программами и драйверами Microsoft Windows семейства NT (XP/2003/Vista), сообщили о прогрессе в создании USB-стека, в качестве основы для которого был использован USB-стек, разработанный проектом Haiku, в рамках которого развивается свободный аналог ОС BeOS. В настоящее время работа над USB-стеком уже близка к завершению, например, в текущем состоянии уже можно загрузить ReactOS с USB-накопителя. Многие структуры и определения в стеке, связанные с реализацией протокола USB, непосредственно заимствованы из USB-стека Haiku. Связанный с USB код из Haiku также был использован для изучения поведения различных USB-устройств и связанных с протоколом тонкостей, не отражённых в официальных спецификациях.
Объявлено о начале тестирования кода с реализацией поддержки в QEMU эмуляции хост контроллера USB 2.0 и возможности проброса USB-устройств по сети. В настоящий момент код еще не принят в основное дерево QEMU, но уже может быть использован при ручной сборке libusb, usbredir и QEMU из специального Git-репозитория. Ранее поддержка USB 2.0 была реализована только в VirtualBox и VMware. Для активации USB 2.0 необходимо запустить QEMU с драйвером usb-ehci ("-usb -device usb-ehci"). Для использования проброса USB на машине к которой подключено USB-устройство необходимо выполнить "usbredirserver -p 4000 vid:pid", где 4000 - номер сетевого порта, а vid:pid - идентификатор пробрасываемого устройства (например, 045e:0774), который можно посмотреть при помощи команды lsusb. Далее в командном интерфейсе qemu необходимо подключить внешнее устройство через команду "usb_add tcp-redir:хост:4000".