Objectifs du module :

  • Encourager l’éducation continue des équipes de développement sur les bonnes pratiques de sécurité.
  • Introduire les CTF comme outils d’apprentissage pratique et ludique pour tester et renforcer les compétences en cybersécurité.
  • Mettre en pratique les concepts appris à travers des environnements vulnérables (DVWA, WebGoat, etc.) pour développer des compétences de défense active.

1. Éducation continue et sensibilisation des équipes

a. L'importance de la sensibilisation à la cybersécurité :

Pourquoi former continuellement les développeurs ?
Les cybermenaces évoluent rapidement. Une formation initiale n'est plus suffisante : il est essentiel d’instaurer une culture de sécurité continue dans les équipes pour garantir que les développeurs soient informés des nouvelles vulnérabilités, techniques d'attaque et bonnes pratiques.

Bénéfices pour l'organisation :

  • Réduction des risques de vulnérabilités. Les développeurs formés en continu seront plus conscients des pièges de sécurité et moins susceptibles de coder des applications vulnérables.
  • Développement d'une culture DevSecOps. L'intégration de la sécurité à chaque étape du développement devient plus naturelle lorsque tous les membres de l'équipe sont sensibilisés à la sécurité.

b. Comment instaurer une culture de sécurité dans une équipe :

Formations régulières :
Mettre en place des sessions de formation mensuelles ou trimestrielles pour garder les équipes à jour sur les menaces et vulnérabilités émergentes. Cela peut inclure des webinaires, des ateliers pratiques ou des conférences spécialisées en cybersécurité.

Mise en place de rituels de sécurité :
Encourager des pratiques régulières comme la revue de code axée sur la sécurité, les audits de sécurité en équipe, ou des séances "lunch & learn" dédiées à la présentation de nouveaux outils ou techniques de sécurisation.

Accès à des ressources de sécurité :
Fournir aux équipes des accès à des plateformes de formation continue (comme TryHackMe, Hack The Box, ou OWASP) pour qu’elles puissent s’auto-former sur les sujets de leur choix.

2. Organisation de CTF (Capture the Flag) internes pour tester les compétences

a. Qu'est-ce qu'un CTF ?

Définition :
Un Capture the Flag (CTF) est un événement interactif où les participants résolvent des défis de sécurité (recherche de vulnérabilités, exploitation de failles, etc.) dans un environnement simulé. L'objectif est de récupérer des "drapeaux" (flag) qui valident la résolution d'un défi.

Pourquoi organiser un CTF ?

  • Approche pratique et ludique : Apprendre la cybersécurité par la pratique est l'un des moyens les plus efficaces. Les CTF permettent aux développeurs de se confronter à des scénarios réels dans un cadre sécurisé et amusant.
  • Améliorer la réactivité aux incidents : Les CTF aident à préparer les équipes à réagir efficacement aux failles de sécurité en situation réelle, en les exposant à des défis variés allant des injections SQL à la capture de paquets réseau.

b. Comment organiser un CTF en interne :

Choisir une plateforme CTF :
Utiliser des outils comme CTFd ou RootTheBox pour créer et gérer des événements CTF sur mesure. Il est également possible de participer à des CTF publics pour renforcer les compétences des équipes.

Création de scénarios adaptés à l’entreprise :
Adapter les défis en fonction des technologies utilisées dans l’entreprise (par exemple, défis basés sur des attaques web si votre organisation développe principalement des applications web). Assurez-vous d'inclure des scénarios qui reflètent les risques spécifiques auxquels l'organisation pourrait être confrontée.

Encourager la participation en équipe :
Organiser des CTF en groupe permet de renforcer la collaboration entre les membres de l'équipe et d'instaurer une culture de résolution de problèmes collectifs. Cela peut aussi être un moyen de faire émerger des "champions sécurité" au sein de l’organisation.

c. Exemples de plateformes CTF publiques :

TryHackMe : Une plateforme d'entraînement en cybersécurité avec des CTF de niveaux variés, allant de l'introduction à des exercices avancés en hacking.

Hack The Box : Une plateforme CTF populaire où les participants s'entraînent sur des machines virtuelles vulnérables pour améliorer leurs compétences en sécurité offensive.

3. Mise en pratique via des exercices sur des environnements vulnérables

a. Importance de l'entraînement en environnement contrôlé :

Pourquoi utiliser des environnements vulnérables ?
Les environnements vulnérables comme DVWA (Damn Vulnerable Web Application) ou WebGoat permettent aux développeurs de tester leurs compétences sur des applications volontairement vulnérables. Cela offre une opportunité unique de comprendre les vulnérabilités courantes et d'apprendre à les corriger dans des conditions réalistes.

b. Outils et environnements d'entraînement :

DVWA (Damn Vulnerable Web Application) :
Une application web open-source conçue pour être délibérément vulnérable aux attaques courantes comme les injections SQL, les attaques XSS, et les mauvaises configurations de sécurité. Elle est idéale pour pratiquer la sécurisation des entrées, la gestion des sessions, et la validation des données.

WebGoat :
Un projet éducatif développé par OWASP qui expose les utilisateurs à diverses failles de sécurité présentes dans les applications web. WebGoat propose une approche pédagogique où les utilisateurs doivent d'abord exploiter une vulnérabilité, puis apprendre à la corriger.

Juice Shop :
Une application vulnérable moderne conçue pour permettre aux développeurs de comprendre les menaces sur les e-commerces. Elle inclut des vulnérabilités issues du Top 10 OWASP et d'autres menaces plus récentes.

c. Mise en place d'exercices pratiques :

Scénarios d'exercices :
Concevoir des scénarios où les développeurs doivent trouver et corriger des vulnérabilités spécifiques dans des applications vulnérables. Cela peut inclure des exercices d'injection SQL, d'élévation de privilèges, ou de détournement de session.

Correction et analyse des erreurs :
Après chaque exercice, il est essentiel de revoir les solutions avec les participants. Cela permet de comprendre non seulement comment exploiter une vulnérabilité, mais surtout comment la corriger efficacement.

Conclusion du module :

Ce dernier module met l’accent sur la formation pratique continue des équipes. En intégrant des sessions régulières de sensibilisation, en organisant des CTF internes pour tester les compétences de manière ludique, et en utilisant des environnements vulnérables comme DVWA ou WebGoat, les développeurs pourront non seulement acquérir des connaissances théoriques, mais aussi pratiquer activement pour rester à jour et vigilants face aux nouvelles menaces.

Formateur

Bertrand LECLERCQ

Consultant DevSecOps & Data Engineer


Avec 25 ans d'expérience dans le développement logiciel et une certification en Data Engineering de l'École des Mines Paris - PSL, je suis passionné par la cybersécurité, le big data et le DevOps. J'aime partager mes connaissances et aider la communauté à renforcer sa posture de sécurité.

J'ai créé une base de vulnérabilités librement accessible et je me forme en continu sur des plateformes comme TryHackMe. Mon objectif ? Démocratiser la cybersécurité et permettre à chacun de mieux comprendre les enjeux.

J'ai une solide expertise dans la conception et le déploiement de solutions sécurisées, ainsi qu'une expérience éprouvée dans la gestion de projets complexes. Maîtrisant un large éventail de technologies (Python, Go, Java, Docker, Kubernetes, etc.), je suis convaincu que la sécurité doit être intégrée dès le début du cycle de développement.

Le projet NoHackMe vous permet d'effectuer une veille Cyber, vous permet de découvrir le monde de la Cybersécurité ainsi qu'une section formation Cyber

Soutenez No Hack Me sur Tipeee