TroutTrout
Back to Blog
ModbusDNP3Network Visibility

Comment détecter les anomalies dans le trafic Modbus et DNP3

Trout Team11 min read

Comprendre les protocoles Modbus et DNP3

Dans les systèmes de contrôle industriel (ICS), les protocoles Modbus et DNP3 transportent les commandes qui pilotent les processus physiques. Développés à l'origine pour la communication entre équipements électroniques dans les systèmes SCADA (supervisory control and data acquisition), ces protocoles sont au cœur des environnements industriels modernes. Leur nature héritée les rend toutefois vulnérables à de nombreuses menaces de sécurité. Comme le souligne le NIST SP 800-82 Rév. 3, le guide de la sécurité des technologies opérationnelles, de nombreux protocoles OT ont été conçus pour la fiabilité et le déterminisme dans des environnements de confiance, bien avant que les attaques réseau ne deviennent une préoccupation réaliste. La détection des anomalies dans le trafic Modbus et DNP3 est donc indispensable pour préserver l'intégrité et la sécurité des réseaux industriels.

Qu'est-ce que Modbus ?

Modbus est un protocole de communication développé en 1979 par Modicon, aujourd'hui Schneider Electric, pour ses automates programmables industriels (PLCs). Devenu un standard de fait dans de nombreux secteurs, il facilite la communication entre équipements. Modbus repose sur une architecture maître-esclave ou client-serveur, dans laquelle un équipement maître interroge plusieurs équipements esclaves pour collecter des données.

Le comportement du protocole est entièrement décrit dans la spécification du protocole applicatif Modbus publiée par la Modbus Organization. Chaque requête porte un code de fonction qui indique à l'esclave l'opération à exécuter : lire des bobines (0x01), lire des registres de maintien (0x03), écrire un registre unique (0x06), écrire plusieurs registres (0x10), etc. Point essentiel : la spécification ne définit aucune authentification, aucun chiffrement et aucun contrôle d'intégrité au-delà d'une simple somme de contrôle. Tout équipement capable d'atteindre un point d'accès Modbus sur le port TCP 502 peut émettre le code de fonction de son choix. Ce choix de conception explique précisément pourquoi la détection d'anomalies au niveau du trafic est si importante : le réseau est le seul endroit où l'intention devient visible.

Qu'est-ce que DNP3 ?

DNP3, ou Distributed Network Protocol, a été développé dans les années 1990 pour les secteurs de l'électricité et de la distribution d'eau. Plus élaboré que Modbus, il offre des fonctionnalités telles que l'horodatage des données et la journalisation des événements. DNP3 est conçu pour fonctionner sur de longues distances et dans des conditions difficiles, ce qui le rend courant dans les scénarios de télésurveillance.

DNP3 est officiellement normalisé sous la référence IEEE 1815, la norme pour les communications des réseaux électriques. Contrairement à Modbus, DNP3 organise les données en objets et points (entrées binaires, entrées analogiques, compteurs, blocs de sortie de relais de commande) et prend en charge les réponses non sollicitées, par lesquelles une station distante envoie des événements au maître sans être interrogée. La norme définit également DNP3 Secure Authentication (SAv5), qui ajoute une authentification par défi-réponse au-dessus du protocole de base. Là où elle n'est pas déployée, la même exposition fondamentale que pour Modbus s'applique : une station distante accessible exécutera toute commande correctement formée.

L'importance de la visibilité réseau

Pour les professionnels de la sécurité IT et les responsables de la conformité, obtenir une visibilité réseau complète est le fondement d'une gestion de la sécurité efficace. Sans visibilité, détecter des anomalies dans le trafic Modbus et DNP3 revient à chercher une aiguille dans une botte de foin. L'absence de visibilité peut conduire à des intrusions non détectées et à des manipulations non autorisées des données, faisant peser des risques significatifs sur la sécurité et la conformité.

Principaux avantages de la visibilité réseau

  • Posture de sécurité améliorée : identification des comportements inattendus ou des schémas de trafic susceptibles d'indiquer une violation de sécurité.
  • Conformité renforcée : respect des exigences réglementaires telles que NIST 800-171, CMMC et les directives NIS2, qui imposent une surveillance stricte des activités réseau.
  • Efficacité opérationnelle : réduction des temps d'arrêt grâce à l'identification et au traitement rapides des problèmes réseau.

Pourquoi la surveillance passive convient à l'OT

Les réseaux OT privilégient la disponibilité et le déterminisme avant presque tout le reste. Le balayage actif ou le sondage en ligne peut faire planter des équipements fragiles ou introduire une latence qui perturbe une boucle de régulation, raison pour laquelle le NIST SP 800-82 recommande les techniques passives dans de nombreux contextes OT. La surveillance passive observe une copie du trafic via un port SPAN ou un TAP réseau, de sorte que le système de surveillance n'injecte jamais le moindre paquet sur le réseau de contrôle. Le détecteur voit chaque échange Modbus et DNP3, constitue un inventaire des équipements et des conversations, et apprend le comportement normal sans jamais toucher au processus. C'est l'approche qui rend la détection d'anomalies continue sûre à exécuter en production.

Établir une référence du trafic normal

La détection d'anomalies ne vaut que par la définition du « normal » sur laquelle elle s'appuie. Le trafic OT se prête particulièrement bien à l'établissement d'une référence, car il est répétitif et prévisible : un maître interroge les mêmes registres sur les mêmes stations distantes, à la même cadence, jour après jour. Avant de générer la moindre alerte, capturez une fenêtre de trafic représentative et caractérisez-la selon plusieurs dimensions :

  • Paires d'équipements : quels maîtres communiquent avec quels esclaves ou stations distantes, et sur quels ports.
  • Codes de fonction et objets : quels codes de fonction Modbus et quels objets DNP3 chaque paire d'équipements utilise réellement.
  • Plages de registres et de points : les plages d'adresses précises qui sont lues et écrites, en distinguant la télémétrie en lecture seule des points de consigne accessibles en écriture.
  • Temporisation : intervalles d'interrogation, débits de requêtes et latence de réponse typique.

Une fois ce profil stable, il devient la référence à laquelle chaque nouvel échange est comparé. Tout ce qui sort de l'enveloppe apprise constitue une anomalie potentielle. Prévoyez d'actualiser la référence à mesure que les opérations légitimes évoluent, car une référence obsolète est la source la plus courante de faux positifs.

Détection des anomalies dans le trafic Modbus

Du fait de sa simplicité, Modbus ne dispose d'aucune fonctionnalité de sécurité native, ce qui en fait une cible de choix pour les attaquants. La détection des anomalies requiert une combinaison de connaissances spécifiques au protocole et d'outils de surveillance avancés.

Anomalies courantes dans le trafic Modbus

  1. Accès non autorisé : accès provenant d'adresses IP ou d'équipements non reconnus, ou tout client atteignant un point d'accès avec lequel il n'a jamais communiqué auparavant.
  2. Codes de fonction inattendus : un équipement qui n'a jamais émis que des codes de fonction de lecture envoie soudain des commandes d'écriture (0x05, 0x06, 0x0F, 0x10), ou l'apparition de codes de fonction de diagnostic et de programmation qui n'ont pas leur place en fonctionnement normal.
  3. Écritures hors plage : écritures vers des adresses de registres en dehors de la plage d'écriture de référence, ou écritures poussant un point de consigne vers une valeur physiquement improbable.
  4. Écarts de temporisation : interrogation bien plus rapide ou plus lente que la cadence établie, souvent signe d'un balayage, d'une attaque par force brute ou d'une tentative de déni de service.
  5. Altération des données : modifications inattendues des valeurs de données pouvant indiquer une tentative de modifier le comportement du système.

Techniques de détection des anomalies

  • Inspection approfondie des paquets (DPI) : analyse de chaque trame jusqu'au code de fonction et à la charge utile des registres, afin d'évaluer l'intention, et non la simple connectivité, par rapport à la référence.
  • Analyse comportementale : comparaison du trafic en direct à la référence apprise des paires d'équipements, des codes de fonction, des plages d'adresses et de la temporisation, avec signalement des écarts.
  • Liste d'autorisation : autorisation des seuls codes de fonction et plages de registres que chaque paire d'équipements est connue pour utiliser, en traitant tout le reste comme suspect.

Détection des anomalies dans le trafic DNP3

Bien que DNP3 intègre certaines améliorations de sécurité par rapport à Modbus, notamment des mécanismes d'authentification, il n'est pas à l'abri des anomalies et des attaques. DNP3 étant orienté objet et prenant en charge les réponses non sollicitées, la détection d'anomalies se concentre sur les objets et codes de fonction qui apparaissent, et sur leur adéquation avec le rôle habituel de la station distante.

Anomalies courantes dans le trafic DNP3

  1. Commandes de contrôle non autorisées : requêtes operate ou direct-operate visant des blocs de sortie de relais de commande, émises par un maître ou destinées à un point qui n'en a jamais émis ni reçu, le signe précurseur classique d'un actionnement non autorisé.
  2. Variations d'objets inattendues : requêtes portant sur des objets ou des plages de points en dehors du profil de référence de la station distante, ce qui peut indiquer une reconnaissance de la cartographie de données de l'équipement.
  3. Attaques par rejeu : retransmission de paquets de données valides précédemment capturés pour perturber le fonctionnement normal, détectable par des incohérences d'horodatage et de numéros de séquence.
  4. Injection de données : insertion de fausses données de télémétrie ou de faux événements dans le flux de communication pour induire les opérateurs en erreur ou déclencher des réponses automatisées.
  5. Abus de redémarrage et de configuration : codes de fonction de redémarrage à froid, de redémarrage à chaud ou de configuration apparaissant en dehors d'une fenêtre de maintenance planifiée.

Techniques de détection des anomalies

  • Analyse des objets et des codes de fonction : inspection des objets, variations et codes de fonction DNP3 par rapport au profil appris de la station distante, tel que défini par IEEE 1815.
  • Vérification des horodatages et des séquences : contrôle de l'intégrité des données horodatées et des numéros de séquence pour exposer le rejeu et l'injection.
  • Authentification sécurisée : mise en œuvre de DNP3 Secure Authentication (SAv5) afin que les commandes de contrôle critiques portent une preuve cryptographique de leur origine.

Mesures pratiques pour renforcer la sécurité

Pour renforcer la sécurité du trafic Modbus et DNP3, appliquez les bonnes pratiques suivantes, alignées sur les pratiques recommandées de la CISA pour les systèmes de contrôle industriel :

  1. Mettre en œuvre la segmentation réseau : utiliser la segmentation pour isoler les zones réseau critiques, limiter les surfaces d'attaque potentielles et créer des points de passage naturels où le trafic Modbus et DNP3 peut être inspecté.
  2. Surveiller en mode passif aux frontières de segment : déployer la détection d'anomalies sur un TAP ou un port SPAN afin que la surveillance ne perturbe jamais le processus, et concentrer les sondes là où le trafic traverse les zones.
  3. Établir une référence, puis appliquer une liste d'autorisation : apprendre les codes de fonction, objets et plages d'adresses normaux par paire d'équipements, puis alerter sur tout ce qui sort de cette enveloppe.
  4. Mettre à jour et corriger régulièrement les équipements : tenir à jour un inventaire de tous les équipements connectés et veiller à ce qu'ils soient corrigés contre les vulnérabilités connues, en utilisant l'inventaire passif comme source de vérité.
  5. Réaliser des audits de sécurité réguliers : effectuer des audits périodiques en s'appuyant sur des référentiels tels que NIST 800-171 et NIST SP 800-82 pour garantir la conformité et identifier les lacunes de sécurité potentielles.

Conclusion

La détection des anomalies dans le trafic Modbus et DNP3 exige une surveillance spécifique au protocole : inspection approfondie des paquets pour lire les codes de fonction, les objets et les valeurs de registres, établissement de références pour définir les schémas de commandes et la temporisation normaux, et liste d'autorisation pour bloquer les commandes inattendues et les écritures non autorisées. Exécutez-la en mode passif via un TAP ou un port SPAN afin que la surveillance ne perturbe jamais le processus, et déployez-la aux frontières de segment, là où le trafic Modbus et DNP3 traverse les zones. Générez des alertes sur tout écart par rapport à la référence, analysez chaque alerte et affinez vos références à mesure que les schémas opérationnels évoluent.