Enquête sur le vaste monde de la couverture ICS : Partie 1
Partager
Chez Censys, notre objectif est d'obtenir une représentation précise de l'internet à tout moment. Cependant, cette tâche n'est pas aussi simple qu'on pourrait le croire. Non seulement l'Internet est vaste, mais nos enquêtes et recherches antérieures montrent que de nombreux services sur l'Internet ne répondent pas sur leur port standard. Alors que l'on pourrait s'attendre à ce que le Modbus ne se trouve que sur le port 502, la réalité est qu'il existe une pléthore de Modbus sur d'autres ports non standard.
Aujourd'hui, nous allons donc plonger sous le capot et discuter de la manière dont nous utilisons des mesures et des recherches indépendantes pour vérifier où scanner de manière plus ciblée. Nous nous concentrons sur les protocoles ICS en tant qu'étude de cas, compte tenu de l'intérêt qu'ils ont suscité récemment.
Le monde est petit - Examen des ports standard +/- 1
Une façon de prendre en compte les ports non standard est de procéder à un balayage global des ports IPv4 de 65k. Cependant, étant donné la taille de ce balayage, il est étalé dans le temps et ne trouvera donc pas tout immédiatement. Bien que nous ne soyons pas enclins à modifier le balayage global de 65k ports, nous pouvons modifier nos balayages dédiés pour inclure des balayages de ports plus larges dans les zones d'intérêt, ce qui nous permet de trouver des hôtes de manière plus systématique.
La première question qui se pose naturellement est la suivante : "Quels sont les ports non standard les plus susceptibles d'héberger des protocoles dignes d'intérêt ? Au lieu de commencer par un balayage de 65 000 ports, qui détruit de nombreux hôtes, nous commençons par un objectif très ciblé. Sur la base d'anecdotes et de connaissances antérieures, nous avons des raisons de croire que de nombreux protocoles ICS sont hébergés sur leur port standard +/- 1 (par exemple, Modbus sur 501 et 503, même si son port standard est 502).
Une mesure est donc née. Plus précisément, nous voulons tester l'existence d'un protocole ICS sur son port standard +/- 1, pour voir si d'autres expériences valent la peine. Nous avons choisi le protocole Automatic Tank Gauges, ou ATG, comme protocole d'intérêt, puisqu'il ne s'agit pas du protocole ICS le plus populeux, mais qu'il est tout de même nombreux. Le port standard de l'ATG étant 10001, nous effectuons un seul balayage sur l'ensemble de l'internet afin de trouver le plus grand nombre possible de dispositifs dont les ports 10000 et 10002 sont ouverts. Nous lançons ensuite notre scanner de protocole ATG sur ces hôtes dont les ports sont ouverts, en filtrant les scans réussis et ceux qui ont répondu sur ATG. Sur les quelque 7 000 hôtes qui fournissent des données de protocole en retour, nous constatons que 1,3 000 d'entre eux répondent à l'ATG sur ces ports non standard, soit près de 20 % !
Compte tenu de cette constatation, ainsi que des données de notre plateforme pour soutenir les ports non standard sur d'autres protocoles ICS, nous mettons en œuvre le balayage +/- des ports standard pour tous les protocoles ICS. Nous avons ensuite analysé l'évolution de la couverture de ces protocoles ICS au fil du temps et constaté une augmentation pour un certain nombre de protocoles, à savoir WDBRPC (~1,8x), DIGI (~2,8x), FINS (~1,9x). Nous avons également constaté des augmentations plus modérées pour BACNET, S7, IEC60870_05_104, OPC_UA, DNP3, ATG.

Il s'agit d'une augmentation considérable et très intéressante pour nous ! Dans le cadre de ce processus, nous avons également examiné les trois principaux ports pour chaque protocole. Naturellement, nous nous attendions à ce que les trois ports les plus importants soient le port standard +/- 1 pour chaque protocole ICS, en particulier compte tenu de ce nouveau changement dans notre méthodologie de balayage. Cependant, cela n'a pas toujours été le cas. Restez à l'écoute la semaine prochaine, où nous discuterons plus en détail de la manière dont nous avons lancé deux mesures supplémentaires et plongé encore plus profondément dans le monde de la couverture ICS.
Annexe des descriptions du SCI :
- ATG (Automated Tank Gauge) est utilisée pour surveiller et suivre les niveaux du contenu des réservoirs (souvent du carburant) au fil du temps.
- BACnet est principalement utilisé pour l'automatisation et le contrôle des bâtiments, tels que le chauffage, la ventilation et la climatisation, l'éclairage et les contrôles d'accès aux bâtiments.
- CIMON PLC facilite la communication avec l'automate programmable CIMON.
- C-more sert l'IHM C-more, qui permet aux opérateurs de surveiller et d'interagir avec les systèmes de contrôle industriels.
- CODESYS est un logiciel d'automatisation indépendant du matériel utilisé pour programmer et déboguer les automates.
- DIGI est utilisé pour découvrir des dispositifs en réseau, souvent dans des environnements industriels.
- DNP3 (Distributed Network Protocol 3) est un protocole de communication largement utilisé dans les systèmes de distribution d'électricité en Amérique du Nord.
- E/IP (Ethernet Industrial Protocol)Le protocole E/IP (Ethernet Industrial Protocol) a été conçu pour être utilisé dans divers systèmes d'automatisation. Encapsulé dans le CIP (Common Industrial Protocol), ce protocole permet d'échanger des données entre différents types d'appareils, tels que les PLC, les HMI et les contrôleurs.
- FINS (Factory Interface Network Service) est un protocole propriétaire pour les appareils d'automatisation industrielle d'Omron, en particulier les API et les IHM fabriqués par Omron.
- FOX est utilisé pour l'automatisation et le contrôle des bâtiments, tels que les systèmes de chauffage, de ventilation et de climatisation et d'autres processus de gestion des installations.
- GE SRTP (General Electric Service Request Transfer Protocol) facilite les communications entre les automates GE et d'autres appareils.
- HART (Highway Addressable Remote Transducer) est un protocole open source qui combine la communication analogique et numérique pour les systèmes industriels.
- IEC 60870-5-104 fait partie de la série de normes IEC 60870 conçues pour des applications dans le domaine de l'ingénierie électrique.
- MMS (Manufacturing Message Specification) transfère des informations sur les processus entre des dispositifs en réseau dans des environnements industriels.
- Modbus permet la communication entre les automates, les capteurs et d'autres appareils dans les environnements industriels.
- OPC UA (Open Platform Communications Unified Architecture) est un protocole de communication qui met l'accent sur l'interopérabilité entre les appareils de différents fabricants.
- PCOM est un protocole de communication propriétaire utilisé par les automates Unitronics.
- PCWORX est un protocole propriétaire permettant de communiquer avec les automates de Phoenix Contact.
- ProConOS est un protocole de communication propriétaire utilisé par les systèmes utilisant le système d'exploitation ProCon.
- Red Lion Crimson est un logiciel et un protocole de communication utilisé pour la configuration de l'IHM Red Lion.
- S7 est un protocole propriétaire de Siemens utilisé pour les communications entre les IHM et les API dans un environnement automatisé ou industriel.
- WDBRPC (Wind River Debug) est un protocole pour le système d'exploitation en temps réel (RTOS) VxWorks de Wind River.