Exploração de Superfícies de Ataque USB

Uma Abordagem Baseada em Fuzzing

Aluno: Gabriel Geraldino de Souza (gabrielgeraldino(at)usp.br)
Orientador: Prof. Dr. Marcos Antonio Simplicio Junior
Coorientador: Gustavo Cerqueira Bastos

Introdução

O protocolo USB (Universal Serial Bus) é amplamente utilizado como meio de comunicação entre dispositivos eletrônicos, abrangendo desde simples mouses e teclados até equipamentos industriais, ATMs (caixas eletrônicos) e componentes automotivos. Sua flexibilidade, no entanto, o torna uma superfície de ataque bastante interessante — especialmente em sistemas críticos que dependem dessas interfaces para operar.

Fuzzing é uma técnica de teste automatizada voltada à descoberta de vulnerabilidades por meio da geração e envio massivo de dados mutados, possivelmente inválidos ou inesperados. No contexto de USB, o fuzzing pode ser usado para explorar falhas em drivers, interfaces e firmware, permitindo a descoberta de falhas como buffer overflows, falhas de parsing e condições de corrida.

Existem diferentes abordagens de fuzzing, com diferentes níveis de conhecimento do sistema; o acesso ao código-fonte e logs do sistema em execução, por exemplo, tornam o processo em algo muito mais simples. Essas abordagens têm sido aplicadas com sucesso para encontrar vulnerabilidades graves em dispositivos USB — como falhas em controladores, bypass de autenticação e execução remota de código.

Objetivos

Este trabalho tem como objetivo principal explorar as superfícies de ataque USB em sistemas críticos, com ênfase em ataques a caixas eletrônicos. Visa-se não somente estudar vulnerabilidades passadas, como também identificar, analisar e documentar possíveis pontos de falha encontrados, contribuindo para a segurança desses ambientes.

Metodologia

A pesquisa será desenvolvida em cinco etapas principais:

  1. Revisão da literatura, abrangendo estudos sobre a especificação do protocolo USB, drivers, firmware, técnicas de fuzzing e vulnerabilidades conhecidas;
  2. Estudo de casos de ataques e falhas documentadas relacionadas ao USB;
  3. Implementação prática de fuzzing sobre sistemas reais, utilizando ferramentas e frameworks adequados à manipulação de pacotes USB;
  4. Análise, documentação e possível exploração dos resultados, com foco na segurança prática dos dispositivos testados;
  5. Redação da monografia e atualização do website do projeto com os resultados obtidos.

Planejamento

/ Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro
Estudo do protocolo USB e técnicas de fuzzing
Levantamento de bugs e vulnerabilidades passadas
Definição da estratégia de fuzzing
Aplicação da estratégia e fine-tuning em sistemas reais
Avaliação de resultados
Escrita da monografia
Atualização do site

Referências