Porteur | Philippe Massonet (CETIC) |
Chercheurs | · Guillaume Nguyen (Unamur) · Xavier Devroey (UNamur) · Christophe Crochet (UCLouvain) · Martin Vivian (UClouvain) · John Aoga (UClouvain) · Denis Darquennes (CETIC) · Cedrick de Pauw (ULB) |
Objectifs | Automatiser complètement ou partiellement la définition et l’exécution des tests de cybersécurité, notamment les tests de pénétration. |
Enjeux | Dans tous les domaines industriels, de plus en plus d’infrastructures et de systèmes critiques évoluent vers plus de connectivité. La connectivité accrue de ces systèmes procure de nombreux avantages tels que l’intégration plus facile avec d’autres systèmes, la surveillance de leur état afin de détecter ou d’anticiper des pannes, ou encore leur évolution en réalisant des mises à jour de firmware/logiciel. Cette évolution vers des systèmes plus connectés est connue sous le nom de “Cyber Physical Systems (CPS)”. Un CPS est défini comme un système intelligent incorporant des réseaux de composants logiciels et physiques qui interagissent entre eux. Ces systèmes critiques industriels sont en général des systèmes complexes couplant des composantes embarquées avec des composantes hébergées sur des serveurs physiques ou virtuels, souvent dans un cloud public/privé/hybride. Cette évolution est généralisée dans de nombreux domaines tels que les systèmes de contrôle industriel (SCADA), l’énergie avec les “Smart Grid”, le transport avec les voitures intelligentes ou la santé avec les “medical devices” qui sont parfois implantés dans le corps des patients (ex. une pompe à insuline). D’après la “National Science Foundation” (NSF), les composants physiques et logiciels intégrés dans les CPS sont étroitement liés, chacun opérant sur des échelles spatio-temporelles différentes, présentant des modalités comportementales multiples et différentes, et interagissant entre eux de nombreuses manières qui dépendent du contexte. Alors qu’un système embarqué a une frontière claire avec son environnement, un CPS entretien des interactions complexes et dans des environnements ouverts. |
Challenges | La structure des CPS rend leur conception et vérification plus délicate à réaliser et automatiser, y compris en ce qui concerne les propriétés de sécurité. La problématique devient d’autant plus importante que nos infrastructures et systèmes reposent de plus en plus sur des CPS. Par exemple, la mobilité du futur sera multimodale, automatisée et basée sur des infrastructures de transports intelligents. A plus large échelle, on doit raisonner en termes de systèmes de systèmes hautement connectés et de plus en plus composés de CPS. Afin de sécuriser de tels systèmes, les tests de cybersécurité/pénétration auront un rôle important à jouer en complément à d’autres techniques. Ceux-ci devront être plus automatisés afin de tenir compte de la complexité croissante des systèmes intelligents. En lien avec le second défi, une meilleure intégration des tests avec l’analyse de risque permettrait de les focaliser sur les risques les plus importants. Actuellement la réalisation des tests de cybersécurité fonctionnels (de l’architecture de sécurité) et les tests de pénétration requièrent une intervention importante d’experts pour leur définition et réalisation. Les processus de type DevSecOps permettent déjà une automatisation et intégration des processus de conception, test, déploiement et surveillance. Ce défi vise à pousser plus loin l’automatisation des phases liées aux processus de tests. En particulier, la phase de création des tests est difficile car elle requiert un effort important afin d’atteindre un haut niveau de qualité. Son automatisation est donc un défi industriel important pour de nombreuses organisations. Au niveau de la génération automatique des tests de cybersécurité fonctionnels, de nombreuses approches sont prometteuses. Les bénéfices sont particulièrement attendus pour les tests de pénétration qui nécessitent des connaissances multiples à la fois sur les outils à utiliser pour les tests, l’architecture concernée, ainsi que les technologies mises en œuvre, leurs vulnérabilités et les différentes techniques d’attaque. Pour ces tests, l’automatisation complète de la génération est un objectif trop difficile à atteindre. Par contre un objectif réalisable est l’automatisation partielle sous forme d’assistance à la fois au niveau du processus de création et de la définition des tests de pénétration eux-mêmes. Il est aussi important d’étudier quelles techniques/outils utiliser pour avoir le meilleur ROI3 possible (vulnérabilités détectées versus coût/temps de test). En particulier, il est important de mieux comprendre comment le “risk-based testing” peut contribuer à trouver le meilleur ROI et jusqu’où aller en termes de spécification des menaces dans l’analyse de risques. La distinction entre tests de cybersécurité unitaire et des tests d’intégration doit aussi être abordée dans ce défi. Ces méthodes de tests de cybersécurité plus automatisées doivent non seulement être applicables en laboratoire sur des CPS individuels, mais devraient être également applicables à des systèmes de systèmes plus complexes déjà déployés et opérationnels. Comme expliqué ci-dessus, les CPS sont souvent connectés à des serveurs centraux de supervision souvent déployés sur des clouds privés, publics ou hybrides. Il est important de pouvoir vérifier la sécurité des connexions entre le CPS et les serveurs de supervision. Ceci nécessite de vérifier si ces méthodes et outils de tests de laboratoire peuvent également être utilisés pour réaliser des tests d’intégration au niveau du système de systèmes. Le résultat des recherches sur ce grand défi seront des briques technologiques de TRL 4 permettant de générer des tests de cybersécurité fonctionnels et/ou de pénétration. Ces briques technologiques seront validées dans la factory CyberExcellence et accessibles aux entreprises pour évaluer leurs performances. L’automatisation de la génération des tests de cybersécurité réduira le coût associé à la mise en œuvre de tests de cybersécurité. |
Solutions possibles | Génération automatique des tests de cybersécurité fonctionnels (architecture de sécurité), utilisation de différentes techniques de génération (à comparer) pour les tests de pénétration: ○ Techniques de fuzzing ○ Génération de tests par mutation génétique ○ Génération de tests à partir de modèles ○ … Automatisation partielle sous forme d’assistance du processus de création et de la définition des tests de pénétration. |
Sujets clés | Génération de données de tests par “fuzzing”, génération de tests de cybersécurité à partir de modèles, génération de tests de cybersécurité par mutation génétiques, … |
Principaux Secteurs impactés | Secteurs produisant, intégrant ou utilisant des CPS tels que transport ou défense. |
Participants | UCLouvain, UNamur, CETIC, Multitel |
Rétrospective Années 1 et résultats | ● Définition du défi à partir des études de cas ● Identification des problèmes de recherche relevants au défi, et recrutement/identification des chercheurs ● Identification des entreprises intéressées par le défi ● Création d’un groupe de travail ● Planification de la première réunion du groupe de travail en janvier 2023 |
Réunion du groupe de travail | La dernière réunion du groupe de travail a eu lieu le 13-05-2024, les slides sont disponibles ici |