Está disponível o USB Raw Gadget, um módulo Linux para emulação de dispositivos USB

Andrei Konovalov da Google está desenvolvendo um novo módulo USB Raw Gadget, permitindo emular dispositivos USB no espaço do usuário. Está em revisão pedido para inclusão deste módulo no núcleo principal do Linux. O USB Raw Gadget já é aplicada foi utilizado na Google para simplificar os testes de fuzzing da pilha USB do núcleo através de ferramentas syzkaller.

O módulo adiciona uma nova interface de programação à subsistema do núcleo USB Gadget e é desenvolvido como uma alternativa ao GadgetFS. A criação de uma nova API se deve à necessidade de acesso de baixo nível e direto ao subsistema USB Gadget do espaço do usuário, permitindo o processamento de todas as possíveis solicitações USB (o GadgetFS processa algumas solicitações por conta própria, não as passando para o espaço do usuário). O controle do USB Raw Gadget é feito através do dispositivo /dev/raw-gadget, assim como em /dev/gadget no GadgetFS, mas para interação utiliza-se uma interface baseada em ioctl(), em vez de um sistema de arquivos pseudo.

Além do processamento direto de todas as solicitações USB pelo processo no espaço do usuário, a nova interface também se destaca pela capacidade de retornar qualquer dado em resposta a uma solicitação USB (o GadgetFS realiza a verificação da validade dos descritores USB e filtra certas respostas, o que dificulta a identificação de erros nos testes de fuzzing da pilha USB). O Raw Gadget também permite a seleção de um dispositivo UDC (Controlador de Dispositivo USB) específico e driver para anexar, enquanto o GadgetFS se conecta ao primeiro dispositivo UDC disponível. Para diferentes UDC, nomes predefinidos são atribuídos endpoint para diferenciar os diferentes tipos de canais de troca de dados dentro de um dispositivo.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster