Les protocoles industriels ont dans la majorité des cas été conçus dans un objectif fonctionnel, sans prendre en considération la notion de sécurité.
Ils permettent en général à une machine cliente de solliciter l'action d'un automate (PLC - Programmable Logic Controller), attendant en retour l'exécution de cette action. Un poste client peut ainsi demander au PLC l'écriture en mémoire de données, ou tout simplement lui ordonner de s’arrêter.
Cette demande d’action est définie dans un champ particulier du protocole nommé « code fonction ». Les protocoles industriels ne comportant aucun mécanisme de sécurité comme la vérification de l’identité de l’émetteur du message, toute machine présente sur le réseau est donc susceptible de solliciter une action du PLC.
L'objectif de ce document est de présenter une méthode permettant d'identifier les différents codes de fonction d'un protocole échangés sur le réseau industriel de l'entreprise. Suite à cette capture, l'administrateur sera en mesure de construire une politique de sécurité adaptée aux codes de fonction à autoriser ou interdire pour chaque machine présente sur le réseau.
Ainsi une machine suspicieuse située sur le réseau ne pourra pas envoyer de messages au PLC car ceux-ci seront filtrés par le Firewall Stormshield Network.
Firewall SNS en version 2.3.4 ou supérieure.