SlideShare uma empresa Scribd logo
1 de 20
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
?

Mais conteúdo relacionado

Mais procurados

Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseProgramme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseEyesOpen Association
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPyaboukir
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm
 
cyberedu_module_4_cybersecurite_organisation_02_2017.pptx
cyberedu_module_4_cybersecurite_organisation_02_2017.pptxcyberedu_module_4_cybersecurite_organisation_02_2017.pptx
cyberedu_module_4_cybersecurite_organisation_02_2017.pptxJean-Michel Razafindrabe
 
How to determine a proper scope selection based on ISO 27001?
How to determine a proper scope selection based on ISO 27001?How to determine a proper scope selection based on ISO 27001?
How to determine a proper scope selection based on ISO 27001?PECB
 
Proactive Threat Hunting: Game-Changing Endpoint Protection Beyond Alerting
Proactive Threat Hunting: Game-Changing Endpoint Protection Beyond AlertingProactive Threat Hunting: Game-Changing Endpoint Protection Beyond Alerting
Proactive Threat Hunting: Game-Changing Endpoint Protection Beyond AlertingCrowdStrike
 
Roadmap to security operations excellence
Roadmap to security operations excellenceRoadmap to security operations excellence
Roadmap to security operations excellenceErik Taavila
 
Vulnerability assessment and penetration testing
Vulnerability assessment and penetration testingVulnerability assessment and penetration testing
Vulnerability assessment and penetration testingAbu Sadat Mohammed Yasin
 
Introduction to Risk Management via the NIST Cyber Security Framework
Introduction to Risk Management via the NIST Cyber Security FrameworkIntroduction to Risk Management via the NIST Cyber Security Framework
Introduction to Risk Management via the NIST Cyber Security FrameworkPECB
 
An introduction to SOC (Security Operation Center)
An introduction to SOC (Security Operation Center)An introduction to SOC (Security Operation Center)
An introduction to SOC (Security Operation Center)Ahmad Haghighi
 
SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?Cigital
 
CMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and Differences
CMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and DifferencesCMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and Differences
CMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and DifferencesPECB
 
Cybersecurity Incident Management Powerpoint Presentation Slides
Cybersecurity Incident Management Powerpoint Presentation SlidesCybersecurity Incident Management Powerpoint Presentation Slides
Cybersecurity Incident Management Powerpoint Presentation SlidesSlideTeam
 
SOC Architecture Workshop - Part 1
SOC Architecture Workshop - Part 1SOC Architecture Workshop - Part 1
SOC Architecture Workshop - Part 1Priyanka Aash
 

Mais procurados (20)

Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entrepriseProgramme de cybersécurité : Implementer le framework NIST CSF en entreprise
Programme de cybersécurité : Implementer le framework NIST CSF en entreprise
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
 
cyberedu_module_4_cybersecurite_organisation_02_2017.pptx
cyberedu_module_4_cybersecurite_organisation_02_2017.pptxcyberedu_module_4_cybersecurite_organisation_02_2017.pptx
cyberedu_module_4_cybersecurite_organisation_02_2017.pptx
 
How to determine a proper scope selection based on ISO 27001?
How to determine a proper scope selection based on ISO 27001?How to determine a proper scope selection based on ISO 27001?
How to determine a proper scope selection based on ISO 27001?
 
Information Security and the SDLC
Information Security and the SDLCInformation Security and the SDLC
Information Security and the SDLC
 
Proactive Threat Hunting: Game-Changing Endpoint Protection Beyond Alerting
Proactive Threat Hunting: Game-Changing Endpoint Protection Beyond AlertingProactive Threat Hunting: Game-Changing Endpoint Protection Beyond Alerting
Proactive Threat Hunting: Game-Changing Endpoint Protection Beyond Alerting
 
MITRE ATT&CK Framework
MITRE ATT&CK FrameworkMITRE ATT&CK Framework
MITRE ATT&CK Framework
 
Roadmap to security operations excellence
Roadmap to security operations excellenceRoadmap to security operations excellence
Roadmap to security operations excellence
 
Vulnerability assessment and penetration testing
Vulnerability assessment and penetration testingVulnerability assessment and penetration testing
Vulnerability assessment and penetration testing
 
Cybersecurity Roadmap Development for Executives
Cybersecurity Roadmap Development for ExecutivesCybersecurity Roadmap Development for Executives
Cybersecurity Roadmap Development for Executives
 
Introduction to Risk Management via the NIST Cyber Security Framework
Introduction to Risk Management via the NIST Cyber Security FrameworkIntroduction to Risk Management via the NIST Cyber Security Framework
Introduction to Risk Management via the NIST Cyber Security Framework
 
An introduction to SOC (Security Operation Center)
An introduction to SOC (Security Operation Center)An introduction to SOC (Security Operation Center)
An introduction to SOC (Security Operation Center)
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
 
SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?SAST vs. DAST: What’s the Best Method For Application Security Testing?
SAST vs. DAST: What’s the Best Method For Application Security Testing?
 
ISMS implementation challenges-KASYS
ISMS implementation challenges-KASYSISMS implementation challenges-KASYS
ISMS implementation challenges-KASYS
 
CMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and Differences
CMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and DifferencesCMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and Differences
CMMC, ISO/IEC 27701, and ISO/IEC 27001 — Best Practices and Differences
 
NIST Cybersecurity Framework 101
NIST Cybersecurity Framework 101  NIST Cybersecurity Framework 101
NIST Cybersecurity Framework 101
 
Cybersecurity Incident Management Powerpoint Presentation Slides
Cybersecurity Incident Management Powerpoint Presentation SlidesCybersecurity Incident Management Powerpoint Presentation Slides
Cybersecurity Incident Management Powerpoint Presentation Slides
 
SOC Architecture Workshop - Part 1
SOC Architecture Workshop - Part 1SOC Architecture Workshop - Part 1
SOC Architecture Workshop - Part 1
 

Semelhante a Secure Software Development Life Cycle (SSDLC)

2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01Sébastien GIORIA
 
La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...
La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...
La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...IBM France PME-ETI
 
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational_France
 
Rational France livre blanc - choisir le bon outil pour faire du bon travail
Rational France   livre blanc - choisir le bon outil pour faire du bon travailRational France   livre blanc - choisir le bon outil pour faire du bon travail
Rational France livre blanc - choisir le bon outil pour faire du bon travailRational_France
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Christophe Pekar
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebCyrille Grandval
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de codeMehdi TAZI
 
Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...Antonio Fontes
 
20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatifLeClubQualiteLogicielle
 
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...Microsoft Technet France
 
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm
 
Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internetwaggaland
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesXavier Kress
 
Securité des applications web
Securité des applications webSecurité des applications web
Securité des applications webMarcel TCHOULEGHEU
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesBee_Ware
 
Owasp top-10-2013-french
Owasp top-10-2013-frenchOwasp top-10-2013-french
Owasp top-10-2013-frenchvangogue
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouseSébastien GIORIA
 
[Infographie] Sécurité des applications : pourquoi et comment ?
[Infographie] Sécurité des applications : pourquoi et comment ?[Infographie] Sécurité des applications : pourquoi et comment ?
[Infographie] Sécurité des applications : pourquoi et comment ?Advens
 

Semelhante a Secure Software Development Life Cycle (SSDLC) (20)

2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
 
OWASP TOP 10 Proactive
OWASP TOP 10 ProactiveOWASP TOP 10 Proactive
OWASP TOP 10 Proactive
 
La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...
La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...
La sécurité au service de l’innovation [#CloudAccelerate 13/06/2014 @ IBM CC ...
 
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
Rational France - Livre blanc - Choisir le bon outil pour outils pour faire d...
 
Rational France livre blanc - choisir le bon outil pour faire du bon travail
Rational France   livre blanc - choisir le bon outil pour faire du bon travailRational France   livre blanc - choisir le bon outil pour faire du bon travail
Rational France livre blanc - choisir le bon outil pour faire du bon travail
 
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
Formation Securite Informatique AKAOMA Consulting Certification Securite Info...
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de code
 
Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...
 
20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif
 
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...
 
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et ConfigurationAlphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
Alphorm.com Formation Microsoft ATA 2016 : Installation et Configuration
 
Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internet
 
Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
ITrust Company Overview FR
ITrust Company Overview FRITrust Company Overview FR
ITrust Company Overview FR
 
Securité des applications web
Securité des applications webSecurité des applications web
Securité des applications web
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuelles
 
Owasp top-10-2013-french
Owasp top-10-2013-frenchOwasp top-10-2013-french
Owasp top-10-2013-french
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
[Infographie] Sécurité des applications : pourquoi et comment ?
[Infographie] Sécurité des applications : pourquoi et comment ?[Infographie] Sécurité des applications : pourquoi et comment ?
[Infographie] Sécurité des applications : pourquoi et comment ?
 

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

Notas do Editor

  1. 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
  2. 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
  3. 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.)
  4. 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
  5. https://www.owasp.org/images/5/53/OWASP_Code_Review_Guide_v2.pdf
  6. 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
  7. https://info.blackducksoftware.com/rs/872-OLS-526/images/OSSAReportFINAL.pdf
  8. 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
  9. 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
  10. 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
  11. 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
  12. RASP : Sqreen