OCTO Part of Accenture Digital © 2019 - All rights reserved
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Continuous Security
Securing a DevOps world!
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Qui sommes nous ?
Didier
BERNAUDEAU
Expert sécurité
Jean-Baptiste
JOLY
OPS
Go faster
01
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
PhotobyAlexHolyoakeonUnsplash
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Industrialisation du cycle de développement
INTÉGRATION
CONTINUE
LIVRAISON
CONTINUE
DÉPLOIEMENT
CONTINU
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
PhotobyKévinLanglaisonUnsplash
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Quelques incidents ces dernières années !
540 millions
d'informations
utilisateurs exposées
sur un bucket S3 en
libre accès
(2019)
Une vulnérabilité dans
un framework expose les
données de plus de 147
millions de personnes
(2017)
Accès aux documents
d’un assuré en
modifiant simplement
l’identifiant du
document dans l'URL
(2019)
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Les étapes de sécurité classiques
Exigences de sécurité Audit de sécurité
Un gros document que les
opérationnels doivent
impérativement respecter !
● Exigences généralistes
● Exigences contradictoires avec les
besoins du métier
Un test d’intrusion et un audit de
code source sont commandités
par l’équipe sécurité.
● Réalisés tardivement
● Périmètre incomplet
● Vulnérabilités jamais corrigées
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Discontinuous Security
Sprint 0
Exigences de
sécurité
Audit de
sécurité
Et si nous changions nos pratiques ...
02Continuous Security
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Continuous Security
A chaque étape
Intégrer la sécurité dans toutes
les phases du cycle de
développement
Shift security to the left
Intégrer la sécurité dès la
première phase du cycle
développement
Automatisation
Les ingénieurs sécurité sont peu
nombreux face aux Devs,
il faut automatiser les tâches
A chaque cycle
Réitérer les actions sécurité à
chaque cycle de
développement
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Equipe DevSecOps
Une équipe autonome et multi compétences:
Développeurs, Ops et Security Ambassador
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
Code
Build
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Plan
Ce que l’on fait en général
● Design Thinking
● User Stories
● Backlog
● Story Map
Cadrage et spécification du
produit d’un point de vue
fonctionnel et technique
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Plan
Intégrer les exigences de
sécurité dans le Backlog
du produit
● User Security story (OWASP)
● Security Acceptance Criteria
● Backlog de risque avec les Evil
User Stories
… ce que l’on fait pour la sécurité
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
Code
Build
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Code
Ce que l’on fait en général
Assurer le respect des
conventions de code de
l’équipe.
Linter
● Pylint / Pycodestyle
● ESLint / Prettier
● Checkstyle
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Code
… ce que l’on fait pour la sécurité
Analyser le code source
des applications pour
déceler les vulnérabilités
applicatives (XSS, SQLi, …)
SAST
(Static Application Security Testing)
● Coverity (Synopsys)
● Checkmarx
● Semmle LGTM / CodeQL
● Node : ESLint security
● Python : bandit
● Java : find security bugs
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Code
Il y a différents méthodes d’analyses
๏ Semantic code search
๏ Range Analysis (or bounds analysis)
๏ Control Flow Analysis (CFA)
๏ Data Flow Analysis (DFA)
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
Code
Build
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Build
Ce que l’on fait en général
Compilation du code
source pour créer un
artefact
Builder
● Gradle
● Maven
● …
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Build
Détecter l’utilisation de
composants (package
ou framework) ayant des
vulnérabilités connues.
SCA
(Software Composition Analysis)
● npm audit ou yarn audit
● Dependency Check
● Dependabot
… ce que l’on fait pour la sécurité
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
CodeBuild
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Test
Les tests doivent à
minima vérifier les critères
d’acceptation des US.
Test unitaire &
Test d’intégration
● Mocha / Chai / supertest
● Sinon
● Unittest / Pytest
● JUnit
Ce que l’on fait en général
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Test
Utiliser les frameworks et outils
de test pour implémenter des
tests de sécurité
Outils et frameworks de test
+
Framework de test spécifique
à la sécurité
(exemple: spring security test)
… ce que l’on fait pour la sécurité
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
CodeBuild
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Release
Regrouper tous les
éléments de l’application
dans un package
● Package
○ JAR, WAR, ...
○ Image Docker
● Repository
○ Artifactory
○ Nexus
○ Docker Registry
Ce que l’on fait en général
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Release
Détecter l’utilisation de
composants (package,
framework ou logiciel) ayant
des vulnérabilités connues.
Software Composition Analysis (SCA)
et/ou
Container Security Analysis
(Clair, Trivy, Anchore,
Microscanner….)
… ce que l’on fait pour la sécurité
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
Code
Build
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Deploy
Provisionner et tester
l'infrastructure supportant le
produit
● Tests d’infrastructure
● Tests fonctionnels
● Tests de non régression
● Tests de performance
Ce que l’on fait en général
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Deploy
Exécuter des tests de sécurité
afin d’identifier des
vulnérabilités soit au niveau
de l’infrastructure soit de
l’application.
DAST
(Dynamic Application Security
Testing)
● OWASP ZAP
● Rapid7
● Qualys
● ...
… ce que l’on fait pour la sécurité
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
Code
Build
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Operate & Monitor
Collecter un maximum
d’informations afin de réaliser
les tableaux de bord et
remonter les alertes en cas
d’incident
Les incontournables
● Prometheus / Grafana
● ElasticSearch / Kibana
● Nagios et Centreon
Ce que l’on fait en général
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Operate & Monitor
Auditer en continu afin de
garantir la conformité du
système.
Continuous Auditing
● AWS Guard Duty
● Azure Policy & Security Center
● Cloud Custodian
● ...
… ce que l’on fait pour la sécurité
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Operate & Monitor
Détecter ou bloquer, en temps
réel, toute tentative d’attaque.
RASP
(Runtime Application Self-Protection)
● Sqreen
● Seeker (Synopsys)
● OpenRASP (Baidu)
● Contrast Security
● ...
… ce que l’on fait pour la sécurité
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
IAST
Interactive Application Security Testing
DAST
(Dynamic Application
Security Testing)
RASP
(Runtime Application
Self-Protection)
IAST
(Interactive Application
Security Testing)
+ =
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Cycle DevSecOps
Code
Build
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
En pratique
03
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
Un pipeline Open Source
Code
Build
Test
Deploy
Operate
Monitor
DEV OPS
Release
Plan
Cloud
Custodian
find security
bugs
#LaDuckConf by OCTO Technology © 2020 - All rights reserved
๏ Sélectionner un type d’outil
๏ L’outil idéal n’existe pas
๏ Accompagner le déploiement de l’outil dans les équipes
Pour bien commencer ...
CultureOrganisationAutomatisation
Conclusion
La Duck Conf - Continuous Security : Secure a DevOps World!

La Duck Conf - Continuous Security : Secure a DevOps World!

  • 1.
    OCTO Part ofAccenture Digital © 2019 - All rights reserved
  • 2.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Continuous Security Securing a DevOps world!
  • 3.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Qui sommes nous ? Didier BERNAUDEAU Expert sécurité Jean-Baptiste JOLY OPS
  • 4.
  • 5.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved PhotobyAlexHolyoakeonUnsplash
  • 6.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Industrialisation du cycle de développement INTÉGRATION CONTINUE LIVRAISON CONTINUE DÉPLOIEMENT CONTINU
  • 7.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved PhotobyKévinLanglaisonUnsplash
  • 8.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Quelques incidents ces dernières années ! 540 millions d'informations utilisateurs exposées sur un bucket S3 en libre accès (2019) Une vulnérabilité dans un framework expose les données de plus de 147 millions de personnes (2017) Accès aux documents d’un assuré en modifiant simplement l’identifiant du document dans l'URL (2019)
  • 9.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Les étapes de sécurité classiques Exigences de sécurité Audit de sécurité Un gros document que les opérationnels doivent impérativement respecter ! ● Exigences généralistes ● Exigences contradictoires avec les besoins du métier Un test d’intrusion et un audit de code source sont commandités par l’équipe sécurité. ● Réalisés tardivement ● Périmètre incomplet ● Vulnérabilités jamais corrigées
  • 10.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Discontinuous Security Sprint 0 Exigences de sécurité Audit de sécurité Et si nous changions nos pratiques ...
  • 11.
  • 12.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Continuous Security A chaque étape Intégrer la sécurité dans toutes les phases du cycle de développement Shift security to the left Intégrer la sécurité dès la première phase du cycle développement Automatisation Les ingénieurs sécurité sont peu nombreux face aux Devs, il faut automatiser les tâches A chaque cycle Réitérer les actions sécurité à chaque cycle de développement
  • 13.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Equipe DevSecOps Une équipe autonome et multi compétences: Développeurs, Ops et Security Ambassador
  • 14.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps Code Build Test Deploy Operate Monitor DEV OPS Release Plan
  • 15.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Plan Ce que l’on fait en général ● Design Thinking ● User Stories ● Backlog ● Story Map Cadrage et spécification du produit d’un point de vue fonctionnel et technique
  • 16.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Plan Intégrer les exigences de sécurité dans le Backlog du produit ● User Security story (OWASP) ● Security Acceptance Criteria ● Backlog de risque avec les Evil User Stories … ce que l’on fait pour la sécurité
  • 17.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps Code Build Test Deploy Operate Monitor DEV OPS Release Plan
  • 18.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Code Ce que l’on fait en général Assurer le respect des conventions de code de l’équipe. Linter ● Pylint / Pycodestyle ● ESLint / Prettier ● Checkstyle
  • 19.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Code … ce que l’on fait pour la sécurité Analyser le code source des applications pour déceler les vulnérabilités applicatives (XSS, SQLi, …) SAST (Static Application Security Testing) ● Coverity (Synopsys) ● Checkmarx ● Semmle LGTM / CodeQL ● Node : ESLint security ● Python : bandit ● Java : find security bugs
  • 20.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Code Il y a différents méthodes d’analyses ๏ Semantic code search ๏ Range Analysis (or bounds analysis) ๏ Control Flow Analysis (CFA) ๏ Data Flow Analysis (DFA)
  • 21.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps Code Build Test Deploy Operate Monitor DEV OPS Release Plan
  • 22.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Build Ce que l’on fait en général Compilation du code source pour créer un artefact Builder ● Gradle ● Maven ● …
  • 23.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Build Détecter l’utilisation de composants (package ou framework) ayant des vulnérabilités connues. SCA (Software Composition Analysis) ● npm audit ou yarn audit ● Dependency Check ● Dependabot … ce que l’on fait pour la sécurité
  • 24.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps CodeBuild Test Deploy Operate Monitor DEV OPS Release Plan
  • 25.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Test Les tests doivent à minima vérifier les critères d’acceptation des US. Test unitaire & Test d’intégration ● Mocha / Chai / supertest ● Sinon ● Unittest / Pytest ● JUnit Ce que l’on fait en général
  • 26.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Test Utiliser les frameworks et outils de test pour implémenter des tests de sécurité Outils et frameworks de test + Framework de test spécifique à la sécurité (exemple: spring security test) … ce que l’on fait pour la sécurité
  • 27.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps CodeBuild Test Deploy Operate Monitor DEV OPS Release Plan
  • 28.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Release Regrouper tous les éléments de l’application dans un package ● Package ○ JAR, WAR, ... ○ Image Docker ● Repository ○ Artifactory ○ Nexus ○ Docker Registry Ce que l’on fait en général
  • 29.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Release Détecter l’utilisation de composants (package, framework ou logiciel) ayant des vulnérabilités connues. Software Composition Analysis (SCA) et/ou Container Security Analysis (Clair, Trivy, Anchore, Microscanner….) … ce que l’on fait pour la sécurité
  • 30.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps Code Build Test Deploy Operate Monitor DEV OPS Release Plan
  • 31.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Deploy Provisionner et tester l'infrastructure supportant le produit ● Tests d’infrastructure ● Tests fonctionnels ● Tests de non régression ● Tests de performance Ce que l’on fait en général
  • 32.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Deploy Exécuter des tests de sécurité afin d’identifier des vulnérabilités soit au niveau de l’infrastructure soit de l’application. DAST (Dynamic Application Security Testing) ● OWASP ZAP ● Rapid7 ● Qualys ● ... … ce que l’on fait pour la sécurité
  • 33.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps Code Build Test Deploy Operate Monitor DEV OPS Release Plan
  • 34.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Operate & Monitor Collecter un maximum d’informations afin de réaliser les tableaux de bord et remonter les alertes en cas d’incident Les incontournables ● Prometheus / Grafana ● ElasticSearch / Kibana ● Nagios et Centreon Ce que l’on fait en général
  • 35.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Operate & Monitor Auditer en continu afin de garantir la conformité du système. Continuous Auditing ● AWS Guard Duty ● Azure Policy & Security Center ● Cloud Custodian ● ... … ce que l’on fait pour la sécurité
  • 36.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Operate & Monitor Détecter ou bloquer, en temps réel, toute tentative d’attaque. RASP (Runtime Application Self-Protection) ● Sqreen ● Seeker (Synopsys) ● OpenRASP (Baidu) ● Contrast Security ● ... … ce que l’on fait pour la sécurité
  • 37.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved IAST Interactive Application Security Testing DAST (Dynamic Application Security Testing) RASP (Runtime Application Self-Protection) IAST (Interactive Application Security Testing) + =
  • 38.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Cycle DevSecOps Code Build Test Deploy Operate Monitor DEV OPS Release Plan
  • 39.
  • 40.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved Un pipeline Open Source Code Build Test Deploy Operate Monitor DEV OPS Release Plan Cloud Custodian find security bugs
  • 41.
    #LaDuckConf by OCTOTechnology © 2020 - All rights reserved ๏ Sélectionner un type d’outil ๏ L’outil idéal n’existe pas ๏ Accompagner le déploiement de l’outil dans les équipes Pour bien commencer ...
  • 42.