Новый модуль для эмуляции USB Raw Gadget могут включить в ядро Linux

Андрей Коновалов из Google разрабатывает модуль USB Raw Gadget. Он эмулирует USB-устройства в пространстве пользователя, и заявка о включении этого модуля в состав ядра Linux уже на рассмотрении. USB Raw Gadget уже используют в Google для fuzzing-тестов USB-стека ядра через инструментарий syzkaller.

Как работает модуль?

Он добавляет программный интерфейс в подсистему ядра USB Gadget. Raw Gadget — низкоуровневая альтернатива GadgetFS, которая напрямую обрабатывает все запросы USB Gadget в пространстве пользователя. Управляется Raw Gadget через /dev/raw-gadget с интерфейсом на основе ioctl().

Ещё новый интерфейс может вернуть любые данные в ответ на USB-запрос, что не мешает fuzzing-тестированию. Через USB Raw Gadget можно выбрать конкретное устройство UDC и драйвер для прикрепления, а для разных UDC назначаются конкретные endpoint-имена для отделения каналов обмена данными в устройстве.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *