
Uma coleção de vulnerabilidades e exploits contra GCS modernos
Vetores de ataque, vulnerabilidades e exploits de Estação de Controle em Solo para Drones
As frotas de drones hoje consistem em um operador pilotando dezenas ou centenas de drones a partir de uma única estação em solo. Isso torna a estação de controle em solo um alvo valioso para adversários. É onde o piloto geralmente está localizado, frequentemente armazena dados de missão e é um vetor privilegiado para movimento lateral em redes UxS e outros drones em uma frota.
A maior parte da pesquisa de segurança de drones tem se concentrado em atacar o drone. A pesquisa Infected Drone adota uma abordagem alternativa e destaca como um único drone comprometido pode atacar estações em solo que se conectam a ele. Como a maioria dos softwares de controle em solo confia em tudo que o drone envia, há uma falta de autenticação, validação e sanitização, permitindo que dados de um drone comprometido levem a CRUD de arquivos, execução de código ou uma falha na máquina do operador.
Este repositório documenta vulnerabilidades em softwares de estação de controle em solo e fornece código de prova de conceito funcional para elas. É publicado apenas para fins educacionais e para que operadores entendam sua exposição e para que mantenedores possam reproduzir e corrigir esses problemas.
Execute os PoCs apenas contra sistemas que você possui ou tem permissão escrita para testar. Cada um deles é escrito para um ambiente de teste: os payloads são marcadores benignos, e nada aqui é empacotado para uso contra a aeronave ou estação em solo de outra pessoa. Usar este material contra sistemas que você não controla é provavelmente ilegal onde quer que você esteja.
A seção Reprodução de cada achado declara o que ele precisa e o que ele faz. Leia antes de executar qualquer coisa.
Legenda:
Classe de entrega é o que o atacante precisa fazer no link, e isso decide quais vetores funcionam. Achados do tipo Push precisam apenas que um frame chegue à GCS, então qualquer vetor com capacidade de injeção é suficiente. Achados do tipo Handshake e request/response precisam que o atacante seja, ou controle totalmente, o par conversacional, o que favorece um periférico no barramento, um companion comprometido, a cadeia de suprimentos ou um MITM completo.
A coluna Fix vincula o pull request upstream onde um foi submetido. Dez dos quinze achados vêm com um patch registrado contra o próprio repositório do fornecedor.