Detecção de Vulnerabilidades em Hosts USB utilizando Técnicas de Fuzzing Externo
Aluno: Gabriel Geraldino de Souza (gabrielgeraldino(at)usp.br)
Orientador: Prof. Dr. Marcos Antonio Simplicio Junior
Link para a monografia
Link para o repositório
Resumo
O protocolo Universal Serial Bus (USB) é uma das interfaces de comunicação mais onipresentes em
sistemas computacionais, conectando desde periféricos simples a componentes de sistemas críticos, como
caixas eletrônicos e dispositivos industriais. Essa ampla adoção, contudo, o estabelece como uma significativa
superfície de ataque. Este trabalho tem como objetivo principal avaliar a segurança de sistemas que utilizam
o protocolo USB por meio de fuzzing, uma técnica de teste automatizada que consiste no envio de dados
massivos, inválidos ou inesperados para a descoberta de vulnerabilidades. Este trabalho envolve uma revisão
da literatura sobre o protocolo USB e falhas conhecidas, seguida pelo desenvolvimento de uma ferramenta
de software capaz de interpretar, manipular e reproduzir capturas de tráfego USB (.pcap) em baixo nível,
utilizando o módulo raw-gadget do kernel Linux. Esta ferramenta foi integrada a fuzzers como syzkaller
e radamsa, para automatizar a geração de casos de teste e identificar falhas de segurança, como negação
de serviço, corrupção de memória e outras anomalias no tratamento de pacotes. Os experimentos demonstram
a eficácia da ferramenta em encontrar vulnerabilidades de classes predeterminadas e avaliam sua performance em
relação à viabilidade prática de seu uso.
Palavras-chave: USB. Fuzzing. Análise de Vulnerabilidades. Teste de Software.