SlideShare une entreprise Scribd logo
4
Plus lue
10
Plus lue
20
Plus lue
Secure Software
Develoment Life Cycle
(SSDLC)
Statistiques
 81% des entreprises françaises ont été visées par une cyberattaque en 2015
 80% des attaques viennent d’une vulnérabilité logicielle (Gartner) (versus infrastructure)
 10% des applications ont des mots de passe hardcodés
 95% des applications contiennent des dépendances open source, 65% contiennent des dépendances
vulnérables
 90% des applications web sont vulnérables à cause de fonction de sécurité (hash, authentification,
etc.)
Software Development Life Cycle
Définition du
besoin
Architecture Développement Test
Release
Maintenance
Software Development Life Cycle
Définition du
besoin
Architecture Développement Test
Release
Maintenance
- Pré-requis de sécurité
- Threat modeling
- Abuse user stories
- Revues d’architecture
- Threat modeling
- Revues de code
- SAST
- DAST
- Analyse des
dépendances
- Abuse user stories
- Pentesting
- Vérification des pré-
requis de sécurité
- Abuse user stories
- Configuration sécurisée
- Plan de réponse à
incident
Prérequis : formation/sensibilisation
 Objectifs
 Connaître les différents types de vulnérabilités et les contremesures associées
 Comprendre l’enjeux de la sécurité
 Connaître les bonnes pratiques de sécurité
 Ressources
 Guides de l’OWASP
 https://www.owasp.org/index.php/OWASP_Guide_Project
 OWASP Top 10
 https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
 Cheatsheets
 https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series
 Cornucopia
 https://www.owasp.org/index.php/OWASP_Cornucopia
Définition du besoin
Prérequis de sécurité
 Objectifs
 Définir les exigences de sécurité en fonction du contexte de l’application
 Exemples
 L’application traite-elle de données sensibles (médicales, bancaires, etc.) ?
 L’application est-elle exposée publiquement ?
 Exigences DICT
Définition du besoin
Threat modeling
 Objectifs
 Penser à la sécurité avant de commencer à construire
 Identifier et classer les potentielles menaces en analysant l’architecture et les fonctionnalités de l’application
 Contenu
 Identification des dépendances
 Identification des points d’entrée/sortie de l’application
 Identifier les ressources intéressantes pour un attaquant
 Identifier les différents types d’utilisateurs et rôles
 Catégoriser les menaces
 Lister les contrôles à mettre en place
 Lister les menaces potentielles
 Prioriser les menaces
 Définir la stratégie à appliquer
Architecture
Revues d’architecture
 Objectif
 S’assurer que l’architecture proposée ne comporte pas de problème de sécurité
 Exemple
 Protocoles sécurisés (ex : HTTPS)
 Méthode d’authentification/autorisation
 Mécanisme de gestion des logs
 Séparation des composants
 Flux nécessaires
Développement
Secure Agile Development
 Abuse user story « Think as a bad guy »
 Entrées dans le backlog
 Exemple :
 En tant qu’utilisateur authentifié, j’identifie mon numéro de compte dans l’URL et je le change pour voir le
résultat
 En tant qu’utilisateur authentifié, je colle du HTML contenant du javascript dans tous les champs de
formulaire pour voir comment se comporte l’application
 Itérations dédiées à la refactorisation/sécurité (You ain’t gonna need it)
Développement
Revues de code
 Objectif
 Détecter des vulnérabilités et les défauts de logique
 Réalisés avec des personnes sensibilisées à la sécurité et connaissant le fonctionnel de l’application
 OWASP Code Review Guide 2.0
 https://www.owasp.org/images/5/53/OWASP_Code_Review_Guide_v2.pdf
 ”The code is your only advantage over the hackers. Don’t give up this advantage and rely only on
external penetration testing. Use the code.” par Jeff Williams
Développement
Analyse statique (SAST)
 Objectif
 Analyse du code source pour déceler de potentielles vulnérabilités
 Intérêts
 Découvrir les vulnérabilités le plus tôt possible dans le SDLC
 Encourager la pratique de développement sécurisé
 Standards utilisés
 TOP 10 OWASP, SANS Top 25, guidelines PCI DSS, HIPAA
 Intégration dans les IDEs, les outils d’IC et les Bug trackers
 Outils
 VeraCode, Checkmarx, WhiteHatSecurity, IBM AppScan
 Agrégation de résultats : ThreadFix, CodeDx
Développement
Analyse des dépendances
 Objectif
 Vérification des dépendances externes intégrées dans les projets avec une base de vulnérabilités
connues
 Outils
 Nexus
 DependencyCheck (OWASP)
 WhiteHatSecurity
 Intégration dans les outils d’intégration continue type Jenkins
Test
Analyse dynamique (DAST)
 Objectif
 Analyse des requêtes/réponses à l’application
 Intérêts
 Simulation d’attaques réelles
 Moins de faux positifs
 Pas d’explication sur la root cause du problème
 Standards utilisés
 TOP 10 OWASP, SANS Top 25, guidelines PCI DSS, HIPAA
 Intégration dans les IDEs et dans les outils d’intégration continue type Jenkins
 Outils
 VeraCode, Arachni, IBM AppScan
 Intrusif, environnement dédié ou restaurable automatiquement
Release/Maintenance
Configuration sécurisée
 Objectif
 Eviter les incidents de sécurité liés à la configuration
 Exemples
 Mode debug resté activé
 Utilisation de protocoles obsolètes (ex : SSLv3)
 Version de framework dans les headers HTTP
 Contremesures
 Déploiement automatisé
 Checklist de vérification
Release/Maintenance
Plan de réponse à incident
 Objectifs
 Répondre aux incidents de sécurité dans le but de :
 Restaurer les services
 Minimiser les pertes
 Colmater les failles exploitées
 Réduire les risques qui pourraient survenir dans le futur
 Contenu
 Rôles et responsabilités de chacun
 Actions immédiates en cas d’incident
 Investigation en cas d’incident
 Restauration des ressources affectées
 Rapport sur l’incident survenu
Allez plus loin
Aller plus loin
OpenSAMM
 Objectifs
 Evaluer le niveau de maturité actuel
 Définir les objectifs
 Définir comment atteindre ces objectifs
 Proposer des conseils d’implémentation
Définition
 Définir 3 niveaux de maturités dans 4 domaines et 12 sous-domaines :
 La gouvernance (stratégie et métriques, éducation et conseil, politique et conformité)
 La construction (prérequis de sécurité, architecture sécurisée, évaluation des risques)
 La vérification (revues de code, revue de conception, tests de sécurité)
 Le déploiement (durcissement, gestion des vulnérabilités, habilitation opérationnelle)
Aller plus loin
ASVS
 Objectifs
 Définir une liste d’exigences par domaine classée par niveaux de sécurité
 Usage
 Revue de la sécurité d’une application
 Guide pour un pentest
Aller plus loin
IAST et RASP
 IAST (Interactive Application Security Testing)
 Palier aux lacunes du SAST et DAST
 Analyse au runtime de l’application
 Utilisé en environnement de tests
 RASP (Runtime Application Self Protection)
 Palier aux erreurs de développement et aux équipement périmétriques
 Basé sur de l’apprentissage
 IAST et RASP sont basés sur des librairies embarquées dans les applications
 Impacts sur les performances
Questions
?

Contenu connexe

PDF
Développement sécurisé
PPTX
cyberedu_module_4_cybersecurite_organisation_02_2017.pptx
PDF
Gouvernance de la sécurite des Systèmes d'Information Volet-1
PPTX
Cyber attaques APT avec le framework MITRE ATT&CK
PDF
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
PPTX
Vulnérabilité des sites web
PDF
EBIOS Risk Manager
PPTX
ETUDE DE LA CYBERSECURITE
Développement sécurisé
cyberedu_module_4_cybersecurite_organisation_02_2017.pptx
Gouvernance de la sécurite des Systèmes d'Information Volet-1
Cyber attaques APT avec le framework MITRE ATT&CK
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
Vulnérabilité des sites web
EBIOS Risk Manager
ETUDE DE LA CYBERSECURITE

Tendances (20)

PPTX
Security operation center (SOC)
PPTX
7 Steps to Threat Modeling
PDF
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
PDF
Cybersecurity Frameworks | NIST Cybersecurity Framework | Cybersecurity Certi...
PDF
Enterprise Security Architecture for Cyber Security
PDF
Practical DevSecOps Course - Part 1
PPTX
Penetration testing reporting and methodology
PDF
Microsoft Zero Trust
PPTX
DEVSECOPS.pptx
PPTX
Secure SDLC Framework
ODP
Pen test methodology
PPT
STRIDE And DREAD
PPTX
Security Information and Event Management (SIEM)
PPTX
Beginner's Guide to SIEM
PPTX
Cyber Threat Modeling
PPTX
SEIM-Microsoft Sentinel.pptx
PDF
SIEM Architecture
PPSX
Next-Gen security operation center
PDF
Upgrade Your SOC with Cortex XSOAR & Elastic SIEM
Security operation center (SOC)
7 Steps to Threat Modeling
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
Cybersecurity Frameworks | NIST Cybersecurity Framework | Cybersecurity Certi...
Enterprise Security Architecture for Cyber Security
Practical DevSecOps Course - Part 1
Penetration testing reporting and methodology
Microsoft Zero Trust
DEVSECOPS.pptx
Secure SDLC Framework
Pen test methodology
STRIDE And DREAD
Security Information and Event Management (SIEM)
Beginner's Guide to SIEM
Cyber Threat Modeling
SEIM-Microsoft Sentinel.pptx
SIEM Architecture
Next-Gen security operation center
Upgrade Your SOC with Cortex XSOAR & Elastic SIEM
Publicité

Similaire à Secure Software Development Life Cycle (SSDLC) (20)

PDF
[Infographie] Sécurité des applications : pourquoi et comment ?
PDF
Présentation au CRI-Ouest
PDF
2010 03-11-sdlc-v02
PDF
Devup catalogue 2017
PPTX
DevFest Abidjan 2022 - Les développeurs & IT au cœur de la sécurité de l'info...
PDF
Sécurisation d'un site internet
PDF
Pourquoi implémenter la security by design _ BAKA Diop.(Squad)
PDF
Atelier Technique RAPID7 ACSS 2018
PPTX
Sécurité dans les contrats d'externalisation de services de développement et ...
PPT
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
PPTX
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...
PDF
2012 03-02-sdl-sgi-v03
PDF
2011 02-08-ms tech-days-sdl-sgi-v02
PDF
IBM Cloud Paris meetup 20180329 - Sécurité des apps dev & Open Source
PDF
La Quete du code source fiable et sécurisé - GSDAYS 2015
PPTX
Valdes securite des application - barcamp2012
PPTX
Test d’intrusion dans le cadre du cycle de développement (Vumetric)
PDF
Owasp top-10-2013-french
PPTX
Owasp geneva-201102-trouvez vosbugslepremier
PDF
OWASP TOP 10 Proactive
[Infographie] Sécurité des applications : pourquoi et comment ?
Présentation au CRI-Ouest
2010 03-11-sdlc-v02
Devup catalogue 2017
DevFest Abidjan 2022 - Les développeurs & IT au cœur de la sécurité de l'info...
Sécurisation d'un site internet
Pourquoi implémenter la security by design _ BAKA Diop.(Squad)
Atelier Technique RAPID7 ACSS 2018
Sécurité dans les contrats d'externalisation de services de développement et ...
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
Traitement d’incidents de sécurité : cas pratiques, retours d’expérience et r...
2012 03-02-sdl-sgi-v03
2011 02-08-ms tech-days-sdl-sgi-v02
IBM Cloud Paris meetup 20180329 - Sécurité des apps dev & Open Source
La Quete du code source fiable et sécurisé - GSDAYS 2015
Valdes securite des application - barcamp2012
Test d’intrusion dans le cadre du cycle de développement (Vumetric)
Owasp top-10-2013-french
Owasp geneva-201102-trouvez vosbugslepremier
OWASP TOP 10 Proactive
Publicité

Secure Software Development Life Cycle (SSDLC)

  • 2. Statistiques  81% des entreprises françaises ont été visées par une cyberattaque en 2015  80% des attaques viennent d’une vulnérabilité logicielle (Gartner) (versus infrastructure)  10% des applications ont des mots de passe hardcodés  95% des applications contiennent des dépendances open source, 65% contiennent des dépendances vulnérables  90% des applications web sont vulnérables à cause de fonction de sécurité (hash, authentification, etc.)
  • 3. Software Development Life Cycle Définition du besoin Architecture Développement Test Release Maintenance
  • 4. Software Development Life Cycle Définition du besoin Architecture Développement Test Release Maintenance - Pré-requis de sécurité - Threat modeling - Abuse user stories - Revues d’architecture - Threat modeling - Revues de code - SAST - DAST - Analyse des dépendances - Abuse user stories - Pentesting - Vérification des pré- requis de sécurité - Abuse user stories - Configuration sécurisée - Plan de réponse à incident
  • 5. Prérequis : formation/sensibilisation  Objectifs  Connaître les différents types de vulnérabilités et les contremesures associées  Comprendre l’enjeux de la sécurité  Connaître les bonnes pratiques de sécurité  Ressources  Guides de l’OWASP  https://www.owasp.org/index.php/OWASP_Guide_Project  OWASP Top 10  https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project  Cheatsheets  https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series  Cornucopia  https://www.owasp.org/index.php/OWASP_Cornucopia
  • 6. Définition du besoin Prérequis de sécurité  Objectifs  Définir les exigences de sécurité en fonction du contexte de l’application  Exemples  L’application traite-elle de données sensibles (médicales, bancaires, etc.) ?  L’application est-elle exposée publiquement ?  Exigences DICT
  • 7. Définition du besoin Threat modeling  Objectifs  Penser à la sécurité avant de commencer à construire  Identifier et classer les potentielles menaces en analysant l’architecture et les fonctionnalités de l’application  Contenu  Identification des dépendances  Identification des points d’entrée/sortie de l’application  Identifier les ressources intéressantes pour un attaquant  Identifier les différents types d’utilisateurs et rôles  Catégoriser les menaces  Lister les contrôles à mettre en place  Lister les menaces potentielles  Prioriser les menaces  Définir la stratégie à appliquer
  • 8. Architecture Revues d’architecture  Objectif  S’assurer que l’architecture proposée ne comporte pas de problème de sécurité  Exemple  Protocoles sécurisés (ex : HTTPS)  Méthode d’authentification/autorisation  Mécanisme de gestion des logs  Séparation des composants  Flux nécessaires
  • 9. Développement Secure Agile Development  Abuse user story « Think as a bad guy »  Entrées dans le backlog  Exemple :  En tant qu’utilisateur authentifié, j’identifie mon numéro de compte dans l’URL et je le change pour voir le résultat  En tant qu’utilisateur authentifié, je colle du HTML contenant du javascript dans tous les champs de formulaire pour voir comment se comporte l’application  Itérations dédiées à la refactorisation/sécurité (You ain’t gonna need it)
  • 10. Développement Revues de code  Objectif  Détecter des vulnérabilités et les défauts de logique  Réalisés avec des personnes sensibilisées à la sécurité et connaissant le fonctionnel de l’application  OWASP Code Review Guide 2.0  https://www.owasp.org/images/5/53/OWASP_Code_Review_Guide_v2.pdf  ”The code is your only advantage over the hackers. Don’t give up this advantage and rely only on external penetration testing. Use the code.” par Jeff Williams
  • 11. Développement Analyse statique (SAST)  Objectif  Analyse du code source pour déceler de potentielles vulnérabilités  Intérêts  Découvrir les vulnérabilités le plus tôt possible dans le SDLC  Encourager la pratique de développement sécurisé  Standards utilisés  TOP 10 OWASP, SANS Top 25, guidelines PCI DSS, HIPAA  Intégration dans les IDEs, les outils d’IC et les Bug trackers  Outils  VeraCode, Checkmarx, WhiteHatSecurity, IBM AppScan  Agrégation de résultats : ThreadFix, CodeDx
  • 12. Développement Analyse des dépendances  Objectif  Vérification des dépendances externes intégrées dans les projets avec une base de vulnérabilités connues  Outils  Nexus  DependencyCheck (OWASP)  WhiteHatSecurity  Intégration dans les outils d’intégration continue type Jenkins
  • 13. Test Analyse dynamique (DAST)  Objectif  Analyse des requêtes/réponses à l’application  Intérêts  Simulation d’attaques réelles  Moins de faux positifs  Pas d’explication sur la root cause du problème  Standards utilisés  TOP 10 OWASP, SANS Top 25, guidelines PCI DSS, HIPAA  Intégration dans les IDEs et dans les outils d’intégration continue type Jenkins  Outils  VeraCode, Arachni, IBM AppScan  Intrusif, environnement dédié ou restaurable automatiquement
  • 14. Release/Maintenance Configuration sécurisée  Objectif  Eviter les incidents de sécurité liés à la configuration  Exemples  Mode debug resté activé  Utilisation de protocoles obsolètes (ex : SSLv3)  Version de framework dans les headers HTTP  Contremesures  Déploiement automatisé  Checklist de vérification
  • 15. Release/Maintenance Plan de réponse à incident  Objectifs  Répondre aux incidents de sécurité dans le but de :  Restaurer les services  Minimiser les pertes  Colmater les failles exploitées  Réduire les risques qui pourraient survenir dans le futur  Contenu  Rôles et responsabilités de chacun  Actions immédiates en cas d’incident  Investigation en cas d’incident  Restauration des ressources affectées  Rapport sur l’incident survenu
  • 17. Aller plus loin OpenSAMM  Objectifs  Evaluer le niveau de maturité actuel  Définir les objectifs  Définir comment atteindre ces objectifs  Proposer des conseils d’implémentation Définition  Définir 3 niveaux de maturités dans 4 domaines et 12 sous-domaines :  La gouvernance (stratégie et métriques, éducation et conseil, politique et conformité)  La construction (prérequis de sécurité, architecture sécurisée, évaluation des risques)  La vérification (revues de code, revue de conception, tests de sécurité)  Le déploiement (durcissement, gestion des vulnérabilités, habilitation opérationnelle)
  • 18. Aller plus loin ASVS  Objectifs  Définir une liste d’exigences par domaine classée par niveaux de sécurité  Usage  Revue de la sécurité d’une application  Guide pour un pentest
  • 19. Aller plus loin IAST et RASP  IAST (Interactive Application Security Testing)  Palier aux lacunes du SAST et DAST  Analyse au runtime de l’application  Utilisé en environnement de tests  RASP (Runtime Application Self Protection)  Palier aux erreurs de développement et aux équipement périmétriques  Basé sur de l’apprentissage  IAST et RASP sont basés sur des librairies embarquées dans les applications  Impacts sur les performances

Notes de l'éditeur

  • #3: http://techbeacon.com/32-app-sec-stats-you-should-be-tracking https://www.checkmarx.com/2015/04/29/sast-vs-dast-why-sast-3/ https://d3eaqdewfg2crq.cloudfront.net/resources/acunetix-web-application-vulnerability-report-2016.pdf
  • #4: Définition : process définissant toutes les étapes de réalisation d’un logiciel dans le but de construire des applications de qualité Agile ou non on retrouve toujours globalement ces étapes de manière itérative ou sequenciel
  • #8: Dépendances externes (OS, SGBD, WAF, etc.) Identifier les points d’entrée/sortie de l’application et les autorisations nécessaires pour y accéder Identifier les ressources intéressantes pour un attaquant : ressources physique (ex : données) ressources abstraites (ex : possibilité de données des droits à un utilisateurs Identifier les différents rôles présents sur l’application (anonyme, utilisateur authentifié, utilisateur de la base de données, etc.) Réaliser les diagrammes de data flow (DFD) Etablir une catégorisation des menaces: ex : STRIDE : Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege. Lister les contrôles de sécurité à mettre en place Listing des menaces possibles Priorisation les menaces Listing des contremesures par catégorie Définir la stratégie appliquée par contremesure (acceptation, correction, transfer à un tier, etc.)
  • #10: https://www.owasp.org/images/5/54/Owasp_stuttgart_agile_secure_20150803.pdf https://www.owasp.org/images/3/33/OWASP_Application_Security_Verification_Standard_3.0.1.pdf
  • #11: https://www.owasp.org/images/5/53/OWASP_Code_Review_Guide_v2.pdf
  • #12: http://www.veracode.com/solutions/by-need/streamlining-compliance https://www.checkmarx.com/2015/04/29/sast-vs-dast-why-sast-3/ Build failed si vulnérabilité high ou medium détectées
  • #13: https://info.blackducksoftware.com/rs/872-OLS-526/images/OSSAReportFINAL.pdf
  • #14: http://www.veracode.com/solutions/by-need/streamlining-compliance https://www.checkmarx.com/2015/04/29/sast-vs-dast-why-sast-3/ Build failed si vulnérabilité high ou medium détectées
  • #16: https://www.owasp.org/images/9/92/Top10ConsiderationsForIncidentResponse.pdf https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/Security_Guide/s1-response-plan.html PCA : assurer que ca continue de fonctionner PRA : indique comment remettre tout sur les rails
  • #18: Exemple : formation : Level 1 : mettre à disposition de la documentation Level 2 : former les collaborateurs Level 3 : prouver que les collaborateurs sont formés Etapes : Préparer (définition du périmètre, des parties prenantes, etc.) Evaluer (Lister les pratiques courantes et définir le niveau de maturité) Définir les objectifs (et lister les impacts) Définir le plan (Planning) Implémenter Deployer (évangéliser, mesurer l’efficacité) Liens : https://github.com/OWASP/samm/tree/master/v1.5/Final
  • #19: ASVS : Application Security Verification Standard Utilisation Guide lors d’un pentest Checklist de vérification Exemples : communication sécurisées 1 => toutes les communications sont en https 2 => interactions externes sont authentifiées 3 => toutes les connexions tls failed sont loggées
  • #20: RASP : Sqreen