Cybersécurité
2021 a été une année record côté cybersécurité en termes de vulnérabilités découvertes et d’exposition dans les médias. En toute logique, le pôle cybersécurité d’AViSTO Rhône-Alpes a travaillé toute l’année pour créer du contenu et développer des ressources permettant d’améliorer les pratiques et d’accompagner nos clients.
Pour les développeurs
En tant que développeur, le premier objectif au niveau de la cybersécurité est d’écrire du code sûr. Pour vous aider, nous avons préparé avec Ayan et Quentin un document intitulé Security as Code. Il s’agit d’un module de sensibilisation qui prend 20 minutes à lire et vous donne quelques bases telles que :
- La définition et les étapes d’un cycle de développement sécurisé
- Les vulnérabilités les plus courantes pour les applications Web (OWASP top 10),
- L’explication de hacks célèbres et les étapes d’une attaque
- Cinq règles simples que vous pouvez appliquer dès maintenant pour améliorer la sécurité de vos applications.
Sécuriser vos pipelines CI/CD
Après avoir sensibilisé les membres de votre équipe de développement avec le module Security as Code, l’étape suivante est de travailler sur votre intégration et livraison / déploiement continus (CI / CD) pour détecter au plus tôt des éventuelles vulnérabilités. Cet été, notre équipe DevOps a mis à jour notre livre blanc « Roadmap DevSecOps » en version V1.1. Ce document aide les équipes à mettre en œuvre une phase de sécurité dans leurs pipelines avec des étapes telles que :
- L’analyse de code statique (rechercher des vulnérabilités connues dans le code)
- L’analyse des composants (recherche des vulnérabilités connues dans les frameworks, les bibliothèques utilisées ,..)
- La détection de secrets (mots de passe, les informations d’identification, … ).
Comme il existe de nombreux outils disponibles sur le marché, nous avons effectué des benchmarks avec Tamara, Julien et Quentin pour sélectionner les meilleurs pour notre organisation et nos projets. Nous avons ensuite créé un modèle (Gitlab-ci.yml) que nos équipes peuvent facilement implémenter dans nos projets pour sécuriser les pipelines.
Toutes ces infos sont venues enrichir notre base de connaissance ( #Confluencelove ❤) et notre Gitlab.
Security Monitoring
Toujours côté DevSecOps, nous avons travaillé sur la surveillance de nos projets afin d’être immédiatement avertis si une vulnérabilité nouvellement découverte impacte l’un de nos projets déployés en production. Quentin a ainsi développé un bot « Watcher Security monitoring » qui s’exécute directement dans la CI sur une branche dédiée et qui est planifié comme un pipeline hebdomadaire :
- Le Watcher prend en entrée l’inventaire des actifs projets (langages de programmation, Framework, Bibliothèques, BD, Serveur,..) et le compare avec le dernier flux du NIST (National Institute of Standards and Technology).
- En cas de vulnérabilités, le Watcher notifie le canal #Tech_CyberSec sur notre messagerie avec des détails sur les CVE (vulnérabilités et expositions communes) trouvées.
- Avec cette alerte, nous pouvons réagir au plus tôt pour évaluer la menace et utiliser les instructions fournies pour corriger la vulnérabilité.
- La mise en place du Watcher est simple, elle prend 15 minutes par projet.
Pour les développeurs C/C++
Pour les développeurs C++, nous vous suggérons de vous intéresser à RUST (le langage de programmation le plus aimé par les développeurs depuis 2016 selon Stackoverflow!). RUST est maintenant utilisé par de nombreuses organisations telles que la Linux Foundation, Google et Microsoft qui réécrivent des parties de leurs systèmes d’exploitation afin de résoudre les problèmes de fuite de mémoire et les vulnérabilités associées. Nous avons commencé à travailler avec RUST en 2019 lors d’un projet pour un client industriel et depuis nous avons naturellement continué :
- En 2021, Kevin, Laurent et Sang ont rédigé un livre blanc pour présenter RUST aux développeurs et aux organisations. A travers ce document, nous donnons les clés pour identifier où l’utilisation de RUST est intéressante, comment démarrer en tant que développeur où qu’organisation
- Ils ont également tenu une Réunion technique interne en septembre 2021. Le replay est disponible sur notre intranet.
Pour les développeurs embarqués
En tant que développeur embarqué, vous serez très probablement intéressé par le livre blanc écrit par Wahid sur la manière de sécuriser une distribution Linux. Wahid travaille depuis plusieurs années sur une plateforme Linux embarquée pour l’IoT industriel. Il a implémenté des fonctionnalités telles que :
- Secure Boot,
- Secure uploader,
- Chain of Trust, etc.
Dans ce document, Wahid vous explique les étapes et les solutions qu’il a mises en œuvre au cours de ce projet. Merci également à Philippe, Benoit et Xavier pour leur contribution
Sécurité offensive
Pour les personnes intéressées par la sécurité offensive, nous avons déployé en 2021 une nouvelle version de notre propre laboratoire virtuel de pentest. Il s’agit d’une web app développée par Antoine qui facilite la création d’un labo et qui garde une trace de votre activité de formation :
- Le laboratoire est composé de 2 VM, une attaquante (Kali Linux) et une à exploiter dans la logique typique d’un exercice de capture de drapeau.
- La bibliothèque comporte 20 machines et il y a une récompense spéciale 🎁 pour les personnes qui root les 20.
Enfin sur l’activité pentest notre équipe a mené cette année plusieurs missions pour des clients et des projets internes. L’un des faits marquants de 2021 pour notre équipe offensive a été le pentest d’un système de transport réalisé en Allemagne.
C’est tout pour 2021, mais nous aurons surement encore plus à partager en 2022 🙌.