
Une collection de vulnérabilités et d'exploits contre les GCS modernes
Vecteurs d'attaque, vulnérabilités et exploits de la station de contrôle au sol vers le drone
Les flottes de drones d'aujourd'hui, c'est un opérateur pilotant des dizaines ou des centaines de drones depuis une seule station au sol. Cela fait de la station de contrôle au sol une cible précieuse pour les adversaires. C'est là que se trouve généralement le pilote, elle stocke souvent les données de mission, et c'est un vecteur de choix pour le mouvement latéral à travers les réseaux UxS et les autres drones d'une flotte.
La plupart des recherches sur la sécurité des drones se sont concentrées sur le ciblage du drone. La recherche Infected Drone adopte une approche alternative et met en évidence comment un seul drone compromis peut attaquer les stations au sol qui s'y connectent. Comme la plupart des logiciels de contrôle au sol font confiance à tout ce que le drone leur envoie, il y a un manque d'authentification, de validation et de nettoyage, ce qui permet aux données d'un drone compromis d'entraîner des opérations CRUD sur fichiers, une exécution de code ou un plantage sur la machine de l'opérateur.
Ce dépôt documente des vulnérabilités dans les logiciels de station de contrôle au sol et fournit du code de preuve de concept fonctionnel pour celles-ci. Il est publié à des fins éducatives uniquement et pour que les opérateurs comprennent leur exposition et que les mainteneurs puissent reproduire et corriger ces problèmes.
N'exécutez les PoC que contre des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite de test. Chacun d'eux est écrit pour un banc d'essai : les charges utiles sont des marqueurs bénins, et rien ici n'est packagé pour être utilisé contre l'aéronef ou la station au sol de quelqu'un d'autre. Utiliser ce matériel contre des systèmes que vous ne contrôlez pas est probablement illégal où que vous soyez.
La section Reproduction de chaque découverte indique ce dont elle a besoin et ce qu'elle fait. Lisez-la avant d'exécuter quoi que ce soit.
Légende :
La classe de livraison est ce que l'attaquant doit faire sur la liaison, et elle détermine quels vecteurs fonctionnent. Les découvertes Push nécessitent uniquement qu'une trame arrive à la GCS, donc tout vecteur capable d'injection suffit. Les découvertes Handshake et request/response nécessitent que l'attaquant soit, ou contrôle entièrement, le pair conversationnel, ce qui favorise un périphérique sur le bus, un companion compromis, la chaîne d'approvisionnement, ou un MITM complet.
La colonne Fix renvoie à la pull request amont lorsqu'une a été soumise. Dix des quinze découvertes sont livrées avec un correctif déposé contre le dépôt du fournisseur lui-même.