Table of Contents
Dans le domaine de la sécurité technique, la protection des systèmes contre les cybermenaces est essentielle. Comme les systèmes de contrôle industriel (ICS), les réseaux de contrôle de supervision et d'acquisition de données (SCADA) et les écosystèmes de dispositifs connectés deviennent de plus en plus intégrés aux technologies de l'information de l'entreprise, la surface d'attaque s'étend de façon spectaculaire. Les tests de pénétration jouent un rôle crucial dans l'identification des vulnérabilités avant que les acteurs malveillants ne puissent les exploiter.
Qu'est-ce que le test de pénétration?
Les professionnels de la sécurité qualifiés, appelés hackers éthiques, utilisent une combinaison d'outils automatisés et de techniques manuelles pour découvrir les faiblesses du matériel, des logiciels, des configurations de réseaux et même des processus humains. L'objectif est d'identifier les vulnérabilités exploitables et de fournir ensuite des conseils de restauration pouvant être utilisés pour renforcer la posture de sécurité de l'organisation.
Un scanner de vulnérabilité signale simplement les défauts potentiels dans la configuration d'un système ou dans les versions logicielles. Un testeur de pénétration, par contre, tente de chaîner ces défauts ensemble pour atteindre un objectif précis, comme l'accès à une base de données sensible, la prise de contrôle d'un contrôleur logique programmable (CLP), ou le pivotement d'un réseau de bureaux à faible sécurité dans un environnement de technologie opérationnelle haute sécurité (OT).
Les tests de stylo sont généralement classés selon le niveau de connaissance que possède le testeur sur l'environnement cible :
- Test en boîte noire:[ Le testeur ne reçoit aucune information préalable sur la cible, simulant un attaquant externe avec une reconnaissance limitée.
- Test en boîte blanche:[ Le testeur possède une connaissance complète de l'architecture du système, du code source, des références et de la configuration, ce qui permet une analyse interne approfondie.
- Test en boîte grise:[ Le testeur reçoit des informations partielles, telles que des schémas d'accès ou de réseau, pour simuler un attaquant qui a pris pied.
Les tests Black-box sont réalistes pour les scénarios de menace externes, tandis que les tests White-box sont efficaces pour identifier des défauts logiques complexes ou des erreurs de configuration dans les environnements d'ingénierie.
Phases d'un essai de pénétration
Un test de pénétration bien structuré suit une méthode éprouvée, généralement divisée en cinq phases:
- Planification et reconnaissance:[ Définition de la portée, des règles d'engagement et des objectifs. Le testeur recueille des renseignements sur la cible en utilisant des sources publiques (intelligences de source ouverte, ou OSINT), le génie social ou la surveillance passive du réseau.
- Scanning:[ Utiliser des outils comme Nmap, Nesus, ou des scripts personnalisés pour identifier les ports ouverts, les services en cours d'exécution et les vulnérabilités potentielles.
- Exploitation: Tenter d'obtenir un accès non autorisé en exploitant des vulnérabilités découvertes. Cela peut impliquer des débordements de tampon, des injections SQL, des identifiants faibles ou des protocoles non sécurisés communs dans les équipements d'ingénierie existants.
- Après l'exploitation:[ Une fois l'accès obtenu, le testeur évalue l'étendue du compromis – se déplaçant latéralement, augmentant les privilèges, exfiltant des données ou démontrant l'impact sur les processus physiques.
- Rapport et mesures correctives:[ Fournir un rapport détaillé des constatations, y compris des preuves, des cotes de risque et des recommandations prioritaires.
L'importance des tests de pénétration dans les audits de sécurité en génie
Les vérifications de sécurité en génie sont des examens complets des contrôles de sécurité appliqués par une organisation à ses systèmes d'ingénierie, y compris les réseaux informatiques et les réseaux d'OT. Ces vérifications évaluent la conformité aux normes telles que la norme NIST SP 800-82 (Guide to Industrial Control Systems Security), la série ISA/IEC 62443 et les règlements propres à l'industrie, comme les normes de protection des infrastructures essentielles de la North American Electric Reliability Corporation (NERC CIP) pour les services publics d'énergie.
Les principaux avantages de l'intégration des tests de pénétration dans les audits de sécurité d'ingénierie sont les suivants :
Détection précoce des vulnérabilités
Les systèmes d'ingénierie fonctionnent souvent pendant des années ou des décennies sans être corrigés, en raison des exigences de disponibilité et des contraintes des fournisseurs. Les vulnérabilités dans les anciens protocoles (Modbus, DNP3, PROFINET) et les contrôleurs embarqués non munis sont fréquents. Les tests de stylo révèlent ces défauts avant que les attaquants puissent les exploiter. Par exemple, un test de stylo peut découvrir qu'une interface humaine-machine exposée (HMI) permet l'injection de commande à distance, permettant à un attaquant de modifier des points de consigne sur un réacteur chimique.
Amélioration de la sécurité
L'identification des faiblesses n'est que la moitié de la bataille. La sortie des tests de pénétration comprend des recommandations spécifiques et prioritaires qui aident les organisations à renforcer leurs défenses. Un test peut révéler que les pare-feu industriels sont mal configurés, que les identifiants par défaut restent sur les PLC, ou que les points d'accès sans fil dans le plancher de l'usine utilisent un cryptage faible.
Exigences de conformité
La norme de sécurité des données de l'industrie des cartes de paiement (SSD de l'ICP), bien qu'elle ne soit pas spécifique à l'ingénierie, s'applique à toute entreprise qui traite les données du détenteur de carte et qui exige des tests annuels de stylos. Le Cadre de cybersécurité de l'Institut national des normes et de la technologie (NIST) recommande des tests de pénétration dans le cadre des fonctions « Detect » et « Réponse ». La non-conformité peut entraîner des amendes, des ordres d'arrêt ou une perte de couverture d'assurance.
Gestion des risques et établissement des priorités en matière d'investissement
Les organismes d'ingénierie doivent allouer des budgets de sécurité limités efficacement. Les tests de stylos offrent une vue des risques les plus critiques, par exemple, un test peut montrer que la plus grande menace n'est pas les attaquants externes, mais les initiés ayant un accès physique aux postes de travail d'ingénierie. Le registre des risques résultant peut justifier des investissements dans les outils de détection et d'intervention des paramètres, des contrôles d'accès plus stricts ou des programmes de formation des employés.
Continuité et sécurité des activités
Dans les environnements d'ingénierie, une cyberattaque réussie peut avoir des conséquences au-delà du vol de données : elle peut causer des dommages physiques, des dommages environnementaux ou des pertes de vie. Les tests de pénétration qui incluent des scénarios OT/ICS permettent de s'assurer que les interlocks de sécurité et les contrôles redondants fonctionnent dans des conditions d'attaque. Par exemple, un test qui vérifie qu'une commande malveillante ne peut pas surcharger un système instrumenté de sécurité (SIS) procure une grande confiance dans la résilience du système.
Types de tests de pénétration en ingénierie
Les tests de pénétration sont différents selon la portée et les objectifs de l'audit de sécurité. Dans les contextes techniques, le choix du type d'essai doit tenir compte de la sensibilité et des exigences de disponibilité des systèmes opérationnels.
Essai de pénétration en réseau
Dans les environnements d'ingénierie, les tests de stylo réseau examinent souvent la frontière entre le réseau informatique d'entreprise et le réseau OT (zone démilitarisée industrielle, ou IDMZ). Les testeurs cherchent des erreurs de configuration comme des chaînes de communauté SNMP faibles, des protocoles non chiffrés ou des VLAN mal séparés qui pourraient permettre à un attaquant de pivoter d'un PC de bureau compromis vers un système de contrôle. Un exemple pratique : un test peut révéler que le réseau HMI communique avec des PLC sur un réseau plat, permettant à quiconque sur le sol d'envoyer des paquets malformés qui planent le contrôleur.
Essai de pénétration de l'application
Les applications en ingénierie vont des tableaux de bord Web aux firmwares intégrés dans les RTU (Remote Terminal Units) et les PLC. Les tests de stylos d'application évaluent les logiciels pour les défauts de sécurité tels que l'injection SQL, le script transsite (XSS), les références d'objets directs non sécurisés et les débordements de tampons. Pour les applications Web utilisées par les opérateurs, le test se concentre sur l'authentification, la gestion de session et la validation des données.
Essai de pénétration physique
Les tests de pénétration physique évaluent ces contrôles pour des vulnérabilités telles que le retrait, le contournement des verrous ou l'ingénierie sociale du personnel de sécurité. Les testeurs peuvent tenter d'accéder à une salle de contrôle, un centre de données ou une armoire d'équipement pour installer des dispositifs voyous ou brancher une clé USB dans un IMC. Les résultats révèlent souvent que la sécurité logique forte est minée par des contrôles physiques faibles – par exemple, un porte-serveur laissé déverrouillé dans un couloir accessible au public.
Essai de pénétration sans fil
Les tests de résistance au stylo sans fil, les méthodes d'authentification et les risques de points d'accès voyous sont les suivants : réseaux Wi-Fi utilisant des systèmes WEP ou WPA2-TKIP obsolètes (Protocole temporaire d'intégrité des clés) qui sont vulnérables aux fissures, dispositifs Bluetooth en mode découvrable avec NIP par défaut et modems cellulaires qui ne sont pas filtrés par le trafic. Dans une usine, un pont sans fil compromis peut donner un accès complet à la ligne de fabrication à un attaquant.
Essai de pénétration spécifique OT/ICS
Les tests de pénétration spécialisés sont nécessaires pour les systèmes de contrôle industriels parce que leurs protocoles, leur matériel et leurs exigences de disponibilité diffèrent radicalement de l'informatique traditionnelle. Les tests de stylo OT doivent être effectués avec une extrême prudence; les analyses agressives peuvent provoquer une défaillance de l'équipement ou des processus de devenir instables. Les testeurs utilisent des outils spécialisés (comme le proxy d'attaque Zed OWASP pour les consoles Web, mais aussi des scripts personnalisés utilisant les bibliothèques pyModbus ou pcap) pour interagir en toute sécurité avec les appareils ICS.
Mise en œuvre efficace des tests de pénétration
Pour maximiser les avantages des essais de pénétration, en particulier dans les environnements d'ingénierie, les organisations devraient suivre des pratiques exemplaires qui tiennent compte des contraintes uniques de la technologie opérationnelle.
Définir une portée et des objectifs clairs
Avant de commencer les essais, il est essentiel de définir la portée des systèmes et des données.Dans les vérifications techniques, il s'agit souvent d'une sélection fondée sur le risque des biens les plus essentiels, comme le réseau de CPL d'une station de traitement d'eau ou le système SCADA d'un parc éolien. La portée doit préciser si le test est une simulation complète de l'adversaire ou une évaluation ciblée d'une vulnérabilité particulière. Il doit également désigner des systèmes qui sont strictement hors limites pour des raisons de sécurité ou de réglementation.
Utiliser des professionnels qualifiés
Pour les tests ICS/SCADA, recherchez des testeurs ayant une expérience directe dans l'industrie – ils comprendront la différence entre un PLC de sécurité et un PLC régulier, et ils sauront comment gérer l'équipement existant sans causer d'accident. De nombreuses entreprises se spécialisent dans les tests de pénétration industrielle, comme ceux énumérés dans la salle de lecture SANS ICS ou recommandés par CISA.
Effectuer des essais réguliers
La sécurité est un processus continu, pas un événement ponctuel. Les paysages de menaces évoluent, de nouvelles vulnérabilités sont découvertes quotidiennement, et les systèmes d'ingénierie subissent des mises à jour et des reconfigurations. La meilleure pratique suggère d'effectuer un test de pénétration de la totalité du champ au moins une fois par an, complété par des tests ciblés après des changements majeurs (par exemple, après une nouvelle intégration du système, une mise à jour du firmware, ou après avoir découvert une vulnérabilité critique comme Log4j).
Suivi des conclusions
Un test de pénétration n'est utile que si les résultats sont atteints. Après le test, l'organisation devrait documenter un plan de remise en état avec les propriétaires assignés et les délais. Chaque constatation devrait être priorisée en fonction du risque pour la sécurité et le temps d'arrêt, et non seulement sur les scores standard du CVSS (système commun de notation de vulnérabilité) qui pourraient ne pas tenir compte des impacts de l'OT.
Utiliser les méthodes normalisées de l'industrie
Les cadres tels que la norme d'exécution des essais de pénétration (PTES), le guide de test OWASP pour les applications Web et le NIST SP 800-115 (Guide technique pour les essais et l'évaluation de la sécurité de l'information) fournissent des approches structurées. Dans les contextes spécifiques à l'OT, se reporter au guide « Conduire un test de cybersécurité » du Centre national d'excellence en cybersécurité (CNCE) et aux avis spécifiques à l'ICS de la CISA.
Les défis communs dans les tests de pénétration pour l'ingénierie
Les tests de pénétration dans les environnements d'ingénierie ne sont pas sans obstacles. Comprendre ces défis aide à planifier un engagement réussi.
Réseaux à gaz d'air
Certains systèmes d'infrastructure critique sont physiquement isolés d'Internet (« gapés par l'air »). Bien que cela réduit la surface d'attaque externe, il rend également difficile les tests de stylo logistique. Les testeurs peuvent avoir besoin d'être sur place avec des connexions directes par câble, et les outils de test doivent être vérifiés pour éviter d'apporter des logiciels malveillants dans l'environnement.
Systèmes hérités et protocoles non soutenus
De nombreux systèmes industriels fonctionnent sur des systèmes d'exploitation comme Windows XP, Windows 2000, ou même des systèmes d'exploitation en temps réel propriétaires. Ces systèmes existants manquent souvent de fonctionnalités de sécurité modernes, ont des vulnérabilités non patachées et utilisent des protocoles qui ne supportent pas l'authentification ou le chiffrement (p. ex., les anciennes versions de Modbus, DNP3 ou BACnet).
Contraintes de sécurité
Dans les processus critiques pour la sûreté (chimie, nucléaire, assemblage automobile), toute entrée erronée pourrait causer des dommages ou des dommages à l'environnement. Les essais de pénétration ne doivent jamais déclencher un arrêt de sécurité ou contourner un verrouillage de sécurité. Les règles d'engagement doivent interdire explicitement les actions qui pourraient nuire aux personnes ou à l'équipement. Les testeurs devraient utiliser des environnements de simulation, des contrôleurs de rechange ou des répliques virtualisées de l'environnement de production chaque fois que possible.
Calendrier des arrêts
Pour les processus 24/7 comme la distribution d'eau ou la fabrication continue, l'établissement de tels guichets est difficile et coûteux. Les organisations peuvent avoir besoin de faire des tests pendant les arrêts d'entretien prévus ou d'utiliser un environnement de mise en scène qui reflète la production. La communication avec les gestionnaires et les exploitants d'usines est essentielle pour s'aligner sur les risques acceptables.
Faux positifs et bruit
Un scanner pourrait signaler le manque de chiffrement d'un protocole comme une vulnérabilité à haut risque, même si le système a été conçu de cette façon et des contrôles compensatoires existent. Des testeurs manuels qualifiés sont nécessaires pour différencier entre la véritable exploitabilité et les contraintes architecturales. Une dépendance excessive sur les rapports automatisés peut conduire à un gaspillage d'efforts sur les constatations bénignes alors que les risques réels passent inaperçus.
Lacunes dans les compétences
De nombreux testeurs de pénétration excellent dans les attaques d'applications Web, mais n'ont jamais travaillé avec un PLC ou un système de contrôle distribué (DCS). Les équipes d'ingénierie, par contre, manquent souvent d'expertise en cybersécurité.Combler cette lacune nécessite des investissements dans la formation croisée, l'embauche de spécialistes ou la passation de marchés axés sur la cybersécurité industrielle.
Intégrer les tests de pénétration dans un programme de sécurité technique
Les tests de pénétration ne devraient pas être une activité autonome; ils sont plus efficaces lorsqu'ils sont intégrés à un programme de sécurité plus vaste qui comprend des politiques, de la formation, de la surveillance et des interventions en cas d'incident.
Maj gauche avec DevSecOps en ingénierie
Bien que de nombreux systèmes d'ingénierie ne soient pas développés avec des cycles DevOps agiles, le principe de « gauche de changement » s'applique. Pour les composants logiciels utilisés dans les tableaux de bord d'ingénieurs, les API pour SCADA connecté au cloud, les applications mobiles pour les techniciens de terrain, intégrer les tests de sécurité dans le cycle de développement.
Essais en continu et automatisation
Bien que les tests de stylos manuels soient très coûteux en ressources, certains aspects peuvent être automatisés. Utilisez un balayage continu de vulnérabilité avec des outils comme Nesus (avec des plugins spécifiques à l'OT) ou Nexpose pour détecter les changements de configuration ou les vulnérabilités nouvellement exposées. Automatisez les listes de contrôle pour les erreurs communes (p. ex., mots de passe par défaut, ports ouverts sur les contrôleurs).
Rapports et mesures
Les rapports d'essais de pénétration doivent être adaptés à différents publics : résumés de direction qui mettent en évidence les risques d'affaires et le rendement des investissements, rapports techniques pour les ingénieurs qui comprennent des étapes de reproduction étape par étape et un plan de remise en état pour l'équipe opérationnelle. Utilisez une méthode de notation uniforme comme CVSS v3.1, mais ajustez-vous pour le contexte d'OT. Par exemple, une vulnérabilité qui permet à un attaquant de changer un point de consigne de pression devrait être notée plus élevée en raison de l'impact sur la sécurité, même si sa note de base est faible.
Tirer parti des ressources externes
Aucune organisation ne peut rester à jour sur toutes les vulnérabilités du produit de chaque fournisseur de contrôleur. Restez connecté avec des groupes de partage de l'industrie comme la liste de diffusion ICS-CERT (Industrial Control Systems Cyber Emergency Response Team), la communauté SANS ICS et les avis de sécurité propres au fournisseur. Lorsqu'une vulnérabilité critique est annoncée (p. ex., un bug d'exécution de code à distance dans une marque populaire de PLC), planifiez un test de pénétration hors cycle pour valider si votre environnement est exposé.
Conclusion
Les organismes qui intègrent les tests de pénétration dans leurs cycles de vérification, adoptent les meilleures pratiques pour la sécurité des OT et s'améliorent continuellement en fonction des résultats des tests, ce qui permettra de créer une posture de sécurité résiliente capable de résister au cyber-paysage en constante évolution.
Pour plus de détails, veuillez consulter le OWASP Testing Guide[ pour les méthodes de test de sécurité des applications, le NIST SP 800-82 Guide to ICS Security[ pour les contrôles spécifiques à l'OT, et la page d'accueil CISA Industrial Control Systems pour les alertes et les meilleures pratiques.