L’objectif de cette thèse est de proposer un nouveau paradigme de déploiement d’architectures vulnérables, capable de modéliser un scénario d’attaque à un haut niveau d’abstraction avant de convertir cette modélisation en multiples instances décrite à un bas niveau d’abstraction, déployables et jouables sur un réseau.
Un tel paradigme facilite le design et déploiement d'exercices de cyber-sécurité, ainsi que la récolte de données d'attaques, utile pour d'autres travaux de recherche. En particulier, ce travail de conversion à partir d’une description haut niveau permet de faciliter la réutilisation d’une description de scénario donnée, en proposant automatiquement plusieurs variations d’un unique scénario.
Une publication décrivant ce paradigme, son fonctionnement, ses applications, ainsi que l’outil issue de ce travail (URSID) a été publié à FPS 2023.
Cette thèse décrit tout d’abord le fonctionnement de sa modélisation haut niveau d’un scénario d’attaque. En combinant la notion de position d’attaque (session accédée par un attaquant sur une machine), de secrets (données acquises par l’attaquant au court du scénario) et de techniques d’attaque (actions performées par l’attaquant pour acquérir des secrets et des nouvelles positions), ce formalisme est capable de décrire un scénario d’attaque à un haut niveau d’abstraction apte à la réutilisation de ce scénario. Nous faisons usage de la nomenclature MITRE ATT&CK pour labelliser nos transitions.
Une fois un scénario décrit à ce haut niveau d’abstraction, il est nécessaire de le convertir à un niveau d’abstraction plus bas afin de pouvoir décrire l’architecture vulnérable qui en résultera, i.e les fichiers, systèmes d’exploitations or logiciels à installer sur les machines. En associant à chaque technique d’attaque (description haut niveau d’une action d’un attaquant) plusieurs procédures d’attaque (détails technique de cette action), un unique scénario au niveau technique est converti en une variation de scénarios au niveau procédural, qui peuvent ensuite être convertis en fichiers de descriptions d’architectures virtuelles destinées à des outils de déploiement tels que Vagrant et Ansible. Afin d’éviter des incompatibilités dans le choix de procédures, nous introduisons le concept de contraintes d’architectures, qui permettent de décrire les conséquences que le choix d’une procédure a sur l’architecture en terme de fichiers, systèmes d’exploitations, logiciels et comptes à installer sur la machine.
Cette thèse et son outil résultant URSID furent d'abord utilisé afin de déployer un exercice de type Capture-The-Flag dans le cadre de l'European Cyber School en Avril 2024. Ce projet visait à initier des étudiants aux travaux de pentesteurs professionels (Red team et Blue team), tout en récoltant des données d'attaques. Ce projet a donné lieu à une publication à IEEE International Conference on Big Data en 2023, qui en particulier a rendu disponible à la communauté scientifique les données d'attaques récoltées durant l’expérience.
URSID fut ensuite la base d'un exercice dans le cadre de BreizhCTF, une compétition de Capture-The-Flag à Rennes en Mai 2024 regroupant plus de 600 participants. Cet exercice - intitulé Casinolimit - était l'un des challenges proposes aux joueurs. D'un point de vue recherche, cette expérience a permis de tester les capacités de l'outil URSID à s'adapter à une architecture de déploiement grande échelle, tout en récoltant de nouveaux jeux de données d'attaquants qui bénéficie les travaux d'autres membres de l'équipe.
L'outil URSID est toujours en développement continu et est disponible et documenté en ligne pour le bénéfice de la communauté scientifique.
Abstract :
The goal of this thesis is to offer a new paradigm for the deployment of vulnerable architectures. This paradigm is able to describe an attack scenario on a high level of abstraction, before converting this description into multiple instances on a lower level, which may be deployed and attacked on a network.
This paradigm makes it easier to design and deploy Cyber Security exercises as well as gathering attacker data, which may be relevant for other research works. In particular, this conversion work from a high to a low level of description allows for better re-usability of a given scenario description by offering automatically multiple low level variations of said scenario.
An article describing this paradigm, its applications as well as the tool developed during this thesis (URSID) which makes use of this paradigm, has been published at FPS 2023.
This thesis first describes how it formalizes an attack scenario on a high level of abstraction. By combining the concepts of attack positions (sessions opened by the attacker on a machine), secrets (data acquired by the attacker during the scenario) and attack techniques (actions performed by the attacker which provide them with secrets and new positions), this formalism may describe attack scenarios on a high level which increases the re-usability of this scenario. We make use of the MITRE ATT&CK nomenclature in order to label our transitions.
Once a scenario has been description on this high level of abstraction, it is necessary to convert it to a lower level in order to describe the resulting vulnerable architecture, i.e files, operating systems or software to install on the machines. By associating to each attack technique (high level descriptions of an attacker action) several procedures (technical details of such an attack), a single technical level scenario is able to be converted into several varied procedural level scenarios, which then may be converted into virtual architecture description files adapted for deployment software such as Vagrant and Ansible. In order to avoid incompatibilities when choosing procedures, we introduce the concept of architectural constraints, which can describe the consequences of a specific procedure choice on an architecture, relative to the files, software, operating system and account configurations which have to be installed or tweaked on each machine.
This thesis, as well as the resulting tool URSID which implements the concepts introduced in this thesis, were first used in order to deploy a Capture-The-Flag exercise in April 2024. This project aimed to introduce students to the work of professional pentesters (Red team and Blue team), as well as gathering attacker data. The results of this experiment, as well as the gathered dataset, code and instructions on how to reproduce such an experiment, were published at the IEEE International Conference on Big Data in 2023.
This thesis and URSID were then the basis for an other exercise as part of BreizhCTF, a Capture-The-Flag competition in may 2024 with more than 600 participants. This exercise - named Casinolimit – was one of the challenges available to players during this event. From a research standpoint, this experiment showcased the abilities of this thesis’ work to be applied to larger deployment scales, as well as gathering more attacker dataset which were beneficial to other members of this author’s research team.
The URSID tool is still under ongoing development at the moment, and is available and documented online for the benefits of the scientific community.
- Mr ROBERT Jean-Marc, maître de conférences, Université de Toulon
- Mme VIDEAU Marion, responsable scientifique, Quarkslab, Paris
- Mr NICOMETTE Vincent, professeur à l’INSA de Toulouse
- Mme VIET TRIEM TONG Valérie, professeure à CentraleSupélec Rennes
- Mr GUETTE Gilles, professeur à l’IMT Atlantique Rennes
- Mr PIOLLE Guillaume, maître de conférences à CentraleSupélec Rennes
- Mr ABGRALL Erwan, Responsable du laboratoire SSI, DGA Maitrise de l’Information