Projet en cours · Sécurité informatique
Cyber
Nous cherchons les points faibles dans les réseaux de bord des navires et nous construisons les défenses.
- la vitesse d’une ligne NMEA 0183
- 4800 bit/s
- au maximum dans une phrase
- 82 caractères
- authentification dans le protocole
- Aucune
- l’essai d’attaque et de défense sur le simulateur de passerelle
- Avril 2026
Pour celles et ceux qui viennent de informatique, ingénierie, télécommunications
Le réseau de passerelle
Sur un navire le gyrocompas, le GPS, la carte marine électronique et le pilote automatique se parlent avec le standard NMEA 0183, qui dans la norme internationale s’appelle IEC 61162-1. Un appareil parle, tous les autres écoutent : des phrases de texte, une ligne à la fois, à 4800 bits par seconde.
Sur les navires plus récents les mêmes phrases voyagent sur Ethernet, dans des paquets UDP envoyés à tout le réseau. Le protocole n’a pourtant pas d’authentification : celui qui reçoit une phrase ne peut pas savoir qui l’a écrite. Une étude de l’Université de Gênes, de 2023, a montré qu’un programme sur le réseau de passerelle peut injecter de fausses phrases du compas ou de l’AIS, et les appareils les acceptent.
- 01
Gyrocompas
Il envoie le cap vrai, c’est-à-dire où pointe l’étrave par rapport au nord : phrase HDT.
- 02
GPS
Il envoie la position, l’heure et la qualité du signal : phrase GGA.
- 03
Carte marine
Elle réunit la position, le cap et les autres navires vus par l’AIS.
- 04
Pilote automatique
Il tient la route en bougeant le gouvernail, en se fiant au cap qu’il reçoit.
Comment est faite une phrase
Chaque phrase commence par $, puis deux lettres pour celui qui parle et trois pour le type de phrase, puis les champs séparés par des virgules. À la fin un astérisque et la somme de contrôle : deux chiffres hexadécimaux, le XOR de tous les caractères entre $ et *. Elle sert à découvrir les erreurs de transmission, pas les tromperies : celui qui écrit une fausse phrase calcule aussi la bonne somme de contrôle.
$GPGGA,100008.83,4419.699,N,00858.415,E,1,01,0.9,18.000,M,0.000,M,,0000*64
$GP GGA GPS, phrase de position
100008.83 heure UTC, 10:00:08,83
4419.699,N latitude 44° 19,699′ nord
00858.415,E longitude 8° 58,415′ est
1 qualité : fix GPS
01 satellites utilisés
0.9 précision horizontale, HDOP
18.000,M hauteur de l’antenne en mètres
*64 somme de contrôle
def somme_de_controle(phrase):
corps = phrase[1:phrase.index('*')]
x = 0
for caractere in corps:
x ^= ord(caractere)
return f'{x:02X}'
somme_de_controle('$IIXDR,A,0.0,D,PTCH,A,0.1,D,ROLL,C,0.0,C,AirTemp*05') # '05'
L’attaque
Dans l’essai un ordinateur relié au réseau de passerelle envoie de fausses phrases de cap, comme s’il était le gyrocompas, et bien plus souvent que lui. Celui qui écoute garde la dernière phrase arrivée, donc la fausse gagne presque toujours. Le pilote automatique corrige la route sur un cap faux, et la carte ne montre rien d’étrange.
Ce n’est pas de la théorie. En 2013 un groupe de l’Université du Texas, avec l’accord de l’armateur, a fait dévier de sa route un yacht de 65 mètres au large des côtes italiennes, avec de faux signaux GPS : la carte montrait une ligne droite. En 2017, en mer Noire, le GPS d’un navire le plaçait à terre, près d’un aéroport ; selon le commandant, plus de 20 navires dans la zone avaient le même problème. En 2019 le rapport C4ADS a compté 9 883 cas suspects de falsification du GPS, qui avaient touché 1 311 navires civils.
| HDT | cap vrai | du gyrocompas : la cible de l’attaque |
|---|---|---|
| GGA | position GPS | heure, latitude, longitude, hauteur |
| ZDA | date et heure | avec le fuseau horaire |
| XDR | capteurs | tangage, roulis, température de l’air |
| VDM | AIS | les autres navires : position, vitesse, route |
La défense
La défense est un programme pont entre deux parties du réseau. Il transmet les vraies phrases et arrête celles qui arrivent du mauvais côté : le cap et le GPS ne peuvent venir que des bons instruments. Le trafic passe en paquets UDP, et les règles se changent pendant que le système fonctionne.
> set block heading bloque les phrases de cap entrantes
> set block gps in bloque les données GPS entrantes
> set allow all laisse tout passer
Les règles
Depuis 2021 l’Organisation maritime internationale demande que les risques informatiques entrent dans les systèmes de sécurité des compagnies de navigation. Ses lignes directrices, dans la révision de 2025, organisent le travail en six fonctions.
Pour beaucoup de navires neufs, commandés à partir du 1er juillet 2024, les règles IACS E26 et E27 sont obligatoires : la première pour le navire entier, de la conception à toute sa vie en service ; la seconde pour chaque système de bord, à la charge des fournisseurs.
- 01
Gouverner
Rôles, responsabilités et règles de la compagnie.
- 02
Identifier
Quels systèmes sont à bord et quels risques ils portent.
- 03
Protéger
Des identifiants uniques, des mots de passe changés, des réseaux séparés.
- 04
Détecter
S’apercevoir vite que quelque chose ne va pas.
- 05
Répondre
Quoi faire pendant une attaque.
- 06
Rétablir
Reprendre la navigation et comprendre les causes.
Où nous en sommes
- 2025Nous avons défini comment marcherait une attaque avec de faux signaux GPS et trouvé les premières vulnérabilités.
- 17 avril 2026Nous avons essayé l’attaque et la défense sur le simulateur de passerelle de l’Université de Gênes.
- Aujourd’huiNous travaillons aux défenses.
Photos
Vidéos
Personnes du projet
Avec qui nous le faisons
Sources
- IEC 61162-1 et IEC 61162-450 ; gpsd, NMEA Revealed.
- Longo, Russo, Armando et Merlo, Attacking (and Defending) the Maritime Radar System, IEEE Transactions on Information Forensics and Security, 2023.
- Bhatti et Humphreys, Hostile Control of Ships via False GPS Signals, NAVIGATION, 2017.
- C4ADS, Above Us Only Stars, 2019.
- OMI, MSC-FAL.1/Circ.3, révision 3, 2025 ; résolution MSC.428(98).
- IACS, Unified Requirements E26 et E27.
- Présentation du Deep-Tech Showcase, Palazzo della Borsa, 21 avril 2026.
Tu veux y travailler ?
Il ne faut ni expérience ni CV. Écris-nous : nous t’invitons à la prochaine rencontre, où tu fais connaissance avec l’équipe.
