
Estrutura de pentest extensível para interfaces UDS automotivas, permitindo varreduras reproduzíveis, leitura de códigos de diagnóstico de falhas e pós-processamento por meio de uma arquitetura modular de plugins.
Gallia é um framework de pentest extensível com foco no domínio automotivo. O escopo da toolchain é realizar testes de penetração desde uma única ECU até carros inteiros. Atualmente, o foco principal está na interface UDS. Atuando como uma interface genérica, a funcionalidade de logging implementa testes reproduzíveis e permite tarefas de pós-processamento. A documentação está disponível na pasta docs/.
Tenha em mente que este projeto é destinado apenas para uso em pesquisa e desenvolvimento! O uso inadequado pode causar danos irreversíveis ao dispositivo em teste. Não assumimos nenhuma responsabilidade por danos causados pelo uso desta ferramenta.
Levent Çelik et al. in Comparing Open-Source UDS Implementations Through Fuzz Testing:
Entre as implementações que identificamos, a Gallia se destaca como a mais robusta e confiável por uma margem significativa.
Veja as instruções de configuração.
Primeiro crie um modelo de configuração com --template, salve-o em um arquivo chamado gallia.toml, e ajuste conforme suas necessidades.
gallia lê este arquivo para definir os padrões das flags de linha de comando.
Todas as opções correspondem a uma flag de linha de comando; a única opção necessária para scans é gallia.scanner.target, por exemplo isotp://can0?src_addr=0x123&dst_addr=0x312&tx_padding=0xaa&rx_padding=0xaa.
$ gallia --template > gallia.toml
Você está pronto para iniciar seu primeiro scan, por exemplo, ler os códigos de falha de diagnóstico:
$ gallia primitive uds dtc read
O target também pode ser especificado pela opção --target na linha de comando.
Para o formato do argumento --target, veja a documentação de transportes.
Este trabalho foi parcialmente financiado pelo Ministério Federal de Educação e Pesquisa da Alemanha (BMBF) como parte do projeto SecForCARs (concessão nº 16KIS0790). Este trabalho foi parcialmente financiado pelo Ministério Federal de Assuntos Econômicos e Energia da Alemanha (BMWE) como parte do projeto ATLAS-L4 (concessão nº 19A21048D). Uma breve apresentação e vídeo de demonstração estão disponíveis nesta página.