Des chercheurs de Bochum et de Sarrebruck ont découvert des failles de sécurité parfois graves dans plusieurs drones du fabricant DJI. Celles-ci permettent par exemple aux utilisateurs de modifier le numéro de série du drone ou de désactiver les mécanismes permettant aux autorités de sécurité de localiser les drones et leurs pilotes. Dans certains scénarios d’attaque, les drones peuvent même être crashés à distance en vol.
L’équipe de Nico Schiller du Horst-Görtz-Institut für IT-Sicherheit de l’Université de la Ruhr à Bochum et du professeur Thorsten Holz, du Centre Helmholtz pour la sécurité de l’information CISPA à Sarrebruck, a présenté ses résultats lors du Network and Distributed System Security Symposium (NDSS). La conférence s’est tenue du 27 février au 3 mars à San Diego, aux États-Unis.
Avant la publication, les chercheurs ont informé DJI des 16 vulnérabilités trouvées ; le fabricant s’emploie à les corriger.
Quatre modèles testés
L’équipe a testé trois drones DJI de différentes catégories, puis les experts en informatique ont reproduit les résultats pour le modèle plus récent Mavic 3. Ils ont alimenté le matériel et le micrologiciel des drones avec un grand nombre d’entrées aléatoires et ont vérifié lesquelles faisaient planter les drones ou produisaient des changements indésirables dans les données des drones, comme le numéro de série – une méthode appelée fuzzing. Pour cela, ils ont d’abord dû développer un nouvel algorithme.
Les drones DJI étant des appareils relativement complexes, le fuzzing a dû être effectué dans le système en direct. “Nous avons connecté le drone à un ordinateur portable et avons commencé par voir comment nous pouvions communiquer avec lui et quelles interfaces étaient à notre disposition pour cela”, explique Nico Schiller. Il en est ressorti que la majeure partie de la communication se fait via le même protocole, appelé DUML, qui envoie des ordres au drone par paquets.
Quatre erreurs graves
Le fuzzer développé par le groupe de recherche a évalué quelles entrées ont provoqué un crash du logiciel du drone. Un tel crash indique une erreur dans la programmation. Les quatre modèles testés présentaient des failles de sécurité. Au total, les chercheurs ont documenté 16 points faibles.
Les quatre modèles présentaient quatre erreurs graves. Celles-ci permettaient d’une part d’obtenir des droits d’accès étendus dans le système. “Un pirate peut ainsi modifier les données du journal ou le numéro de série et dissimuler son identité”, explique Thorsten Holz. “En outre, DJI prend des mesures coûteuses pour empêcher les drones de voler au-dessus des aéroports ou d’autres zones interdites comme les prisons – ces mécanismes pourraient également être contournés”. Par ailleurs, le groupe a pu faire s’écraser les drones volants depuis les airs.
Dans le cadre de travaux futurs, l’équipe de Bochum-Saarbrück veut maintenant vérifier la sécurité d’autres modèles de drones.
Les données de localisation sont transmises sans être cryptées
En outre, les chercheurs ont examiné le protocole par lequel les drones DJI transmettent la localisation du drone et de son pilote, afin que les services autorisés puissent y avoir accès. En procédant à une rétro-ingénierie du micrologiciel DJI et des signaux radio émis par les drones, l’équipe de recherche a pu documenter pour la première fois le protocole de suivi appelé “DroneID”. “Nous avons pu montrer que les données transmises ne sont pas cryptées, mais que la position du pilote et du drone peut être lue pratiquement par n’importe qui avec des moyens relativement simples”, résume Nico Schiller.
Image: RUB, Marquard.
Nico Schiller s’est déjà penché sur la sécurité des drones lors de son travail de master à l’université de la Ruhr à Bochum. Actuellement, il prépare une thèse de doctorat sur ce thème.