DevSecOps - Intégration de la sécurité, des opérations et des activités de développement

DevSecOps - Intégration de la sécurité, des opérations et des activités de développement

Département: Ingénierie logicielle basée sur les modèles et systèmes informatiques distribués 

Expertises:

Ingénierie des systèmes IT complexes 

Thème d'innovation: Cyber Sécurité 

Contact : Guillaume Ginis

Profil Étudiant(e) niveau fin de bachelier ou master
Prérequis
  • Expérience pratique de Linux
  • Bonne compréhension de l’anglais technique écrit
  • Connaissance de base en cybersécurité
Sont un plus
  • Expérience d’installation ou d’opération d’outils de cybersecurité
  • Connaissance de base en DevOps (git, CI/CD, ...)
  • Connaissance de base en virtualisation, conteneurisation (Kubernetes, OKD/OpenShift, ...)
Disponibilité Année universitaire 2023 - 2024
Durée 2 mois ou plus

Contexte

Le stage sera centré sur la cybersécurité et la problématique DevSecOps. La méthode DevOps s’inscrit dans la mouvance des méthodes de développement logiciel de type “Agile”. Elle combine le développement logiciel (Dev) et les opérations (Ops), ce qui permet de s’assurer que les nouvelles fonctionnalités d’un logiciel soient intégrées et déployées le plus rapidement possible avec un haut niveau de qualité. Cette approche met l’emphase sur l’importance de la communication entre toutes les équipes impliquées dans le processus : les développeurs, les administrateurs systèmes, l’équipe réseau, ... afin de casser les “silos” de spécialistes et de responsabiliser tous les intervenants.
Le besoin en sécurité du DevOps est rempli par le DevSecOps. Ce concept est une tentative de créer et d’inclure les pratiques de sécurité modernes qui peuvent être incorporées dans le monde rapide et agile du DevOps. Il promeut une extension des buts du DevOps (rapidité et qualité) en ajoutant la sécurité et en insistant sur l’importance d’intégrer les considérations de sécurité dès le départ.
Dans le cadre du stage, l’étudiant se consacrera à l’investigation des outils et pratiques applicables à la méthodologie DevSecOps, l’analyse de leurs applications sur des use cases multi-domaines, et enfin produira un démonstrateur.
Pour ce faire, le CETIC mettra à disposition du candidat l’équipement et l’infrastructure nécessaires pour tester et valider les différentes hypothèses émises lors du stage. Les aspects DevSecOps seront étudiés dans le contexte des voitures autonomes sur un banc de test basé sur des voitures radio-commandées, dans une infrastructure d’usine logicielle (software factory, OpenShift) et/ou dans une infrastructure de cyber range, en lien avec les projets de recherche CyberExcellence et CRS2.

Le ou la candidat(e) participera à l’élaboration de la partie Blue team (comment défendre le système, mettre en place une politique de sécurité) et/ou à la partie Red team (comment attaquer le système et profiter des failles).
Plusieurs outils et techniques ont déjà été identifiés. Cette sélection sera étendue durant le stage.
Plusieurs variantes existent pour ce stage. Le choix s’effectuera avec l’étudiant(e) selon son profil et son intérêt.

Variante SOC

Un Security Operations Center (SOC) est une plateforme où les systèmes d’information de l’entreprise (sites Web, applications, bases de données, centres de données, serveurs, réseaux et postes de travail et autres terminaux) sont surveillés, évalués et défendus (ref). Le stage consistera à l’installation, l’intégration et la configuration d’un SOC sur une solution Plateforme as a Service (PaaS) faisant office de software factory. Cette plateforme est la distribution de Kubernetes OKD, la version communautaire d’OpenShift. Le SOC sera composé au minimum d’un service SIEM (Security Information Event Management), d’un IDS (Intrusion Detection System) et implémentera des mécanismes de compliance/assessment selon OpenShift Container Platform security and compliance.

Variante SOAR

L’outil SOAR (Security Orchestration Automation and Response) permet de programmer une réponse lorsqu’un incident de sécurité est détecté. Cette réponse peut prendre plusieurs formes : analyse de l’attaque, isolation, remédiation, communication, rétablissement, … A cela, de précédents stages ont ajouté différents types de réponse : mise à jour de l’évaluation du risque en fonction de la nouvelle menace, mise en place d’un honeypot pour pousser l’analyse de l’attaque par exemple.
Les techniques et outils utilisés sont par exemple la plateforme SOAR The Hive pour la réponse aux incidents. Pour les activités de test de pénétration, le framework Metasploit ou plus généralement les distributions Linux dédiées comme Kali Linux ou BlackArch.

Variante SOAR - Blue Team

Dans ce stage, de nouveaux types de réponses de sécurité seront étudiés avec un focus sur le côté défense / Blue Team (UEBA, SAST, SCA, risk assessment, threat modeling, honeypots, …).
Le but étant de proposer plusieurs réponses de sécurité à l’incident détecté afin de pouvoir ensuite évaluer la meilleure réponse et de l’appliquer. Ce stage sera basé sur l’asset Vacsine, l‘outil de SOAR open source développé par le CETIC qui propose une sécurité adaptative basée sur une évaluation des réponses de sécurité pour des systèmes distribués. Certains frameworks émergents tels que MITRE D3fend seront également investigués.

Variante SOAR - Red Team

Dans ce stage, de nouveaux types de réponses de sécurité seront étudiées avec un focus du côté Red Team. Le but est de pouvoir tester/vérifier/évaluer la réponse de la blue team en automatisant des tests de pénétration sur la remédiation proposée. Ce stage sera basé sur l’asset Vacsine du CETIC et les frameworks standards tels que MITRE Att&ck and Lockheed Martin’s Kill chain.

Travail à réaliser

Nous allons nous focaliser sur deux aspects en particulier durant le stage, la problématique des tests en cybersécurité et l’investigation des outils et frameworks DevSecOps (Security Information and Event Management, Security Orchestration Automation Response, Security Operation Center, Intrusion Detection System, Software Composition Analysis).
Quel que soit la variante du stage, la première partie du stage consiste à se familiariser avec les méthodes et outils DevSecOps/SOAR/SOC correspondant, prendre connaissance des environnements déployés et spécifier un démonstrateur en fonction.
Le stagiaire réalisera ensuite l’implémentation de ce démonstrateur en mettant en place une chaine d’intégration et de déploiement continus incluant des tests de sécurité. Cette intégration sera ensuite validée sur un environnement de test en exécutant un scénario Blue/Red team. Un exemple de scénario de démonstration serait de sécuriser une flotte de véhicules autonomes et l’infrastructure dans laquelle ils évoluent.
Les résultats du stage seront produits sous la forme d’une démonstration, d’un rapport et le stagiaire en fera une présentation devant les équipes de recherche du CETIC.

Mot-clefs

DevSecOps, DevOps, Vacsine, Cybersécurité, Orchestration, Testing, CPS, Kali, OpenVas, OpenSCAP, Wireshark, Zeek/Bro, Splunk, ELK, Falco, Snyk, TheHive, OKD, OpenShift, Falco, SOC, SOAR, PaaS, Software factory

Encadrement

L’entièreté du travail sera encadré. La ou le stagiaire utilisera une plateforme de développement permettant le suivi constant de ses progrès. Elle / il devra également faire preuve d’autonomie et d’esprit innovant.

Références et liens