SlideShare une entreprise Scribd logo
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

Tendances

DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to Security
Alert Logic
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
Setu Parimi
 
Secure SDLC Framework
Secure SDLC FrameworkSecure SDLC Framework
Secure SDLC Framework
Rishi Kant
 
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
Xavier Kress
 
Vulnerability Management Program
Vulnerability Management ProgramVulnerability Management Program
Vulnerability Management Program
Dennis Chaupis
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
DevOps Indonesia
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
Antonio Fontes
 
Planning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management ProgramPlanning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management Program
Sasha Nunke
 
Integrated Tools in OSSIM
Integrated Tools in OSSIMIntegrated Tools in OSSIM
Integrated Tools in OSSIM
AlienVault
 
Application Security - Your Success Depends on it
Application Security - Your Success Depends on itApplication Security - Your Success Depends on it
Application Security - Your Success Depends on it
WSO2
 
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
 
Benefits of DevSecOps
Benefits of DevSecOpsBenefits of DevSecOps
NEW LAUNCH! AWS Shield—A Managed DDoS Protection Service
NEW LAUNCH! AWS Shield—A Managed DDoS Protection ServiceNEW LAUNCH! AWS Shield—A Managed DDoS Protection Service
NEW LAUNCH! AWS Shield—A Managed DDoS Protection Service
Amazon Web Services
 
The State of DevSecOps
The State of DevSecOpsThe State of DevSecOps
The State of DevSecOps
DevOps Indonesia
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps Sec
Rubal Jain
 
Cyber attaques APT avec le framework MITRE ATT&CK
Cyber attaques APT avec le framework MITRE ATT&CKCyber attaques APT avec le framework MITRE ATT&CK
Cyber attaques APT avec le framework MITRE ATT&CK
EyesOpen Association
 
Application Security
Application SecurityApplication Security
Application Security
Reggie Niccolo Santos
 
EBIOS Risk Manager
EBIOS Risk ManagerEBIOS Risk Manager
EBIOS Risk Manager
Comsoce
 
Security champions v1.0
Security champions v1.0Security champions v1.0
Security champions v1.0
Dinis Cruz
 
Threat Modeling Everything
Threat Modeling EverythingThreat Modeling Everything
Threat Modeling Everything
Anne Oikarinen
 

Tendances (20)

DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to Security
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
Secure SDLC Framework
Secure SDLC FrameworkSecure SDLC Framework
Secure SDLC Framework
 
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
 
Vulnerability Management Program
Vulnerability Management ProgramVulnerability Management Program
Vulnerability Management Program
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
Planning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management ProgramPlanning and Deploying an Effective Vulnerability Management Program
Planning and Deploying an Effective Vulnerability Management Program
 
Integrated Tools in OSSIM
Integrated Tools in OSSIMIntegrated Tools in OSSIM
Integrated Tools in OSSIM
 
Application Security - Your Success Depends on it
Application Security - Your Success Depends on itApplication Security - Your Success Depends on it
Application Security - Your Success Depends on it
 
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?
 
Benefits of DevSecOps
Benefits of DevSecOpsBenefits of DevSecOps
Benefits of DevSecOps
 
NEW LAUNCH! AWS Shield—A Managed DDoS Protection Service
NEW LAUNCH! AWS Shield—A Managed DDoS Protection ServiceNEW LAUNCH! AWS Shield—A Managed DDoS Protection Service
NEW LAUNCH! AWS Shield—A Managed DDoS Protection Service
 
The State of DevSecOps
The State of DevSecOpsThe State of DevSecOps
The State of DevSecOps
 
DevSecOps | DevOps Sec
DevSecOps | DevOps SecDevSecOps | DevOps Sec
DevSecOps | DevOps Sec
 
Cyber attaques APT avec le framework MITRE ATT&CK
Cyber attaques APT avec le framework MITRE ATT&CKCyber attaques APT avec le framework MITRE ATT&CK
Cyber attaques APT avec le framework MITRE ATT&CK
 
Application Security
Application SecurityApplication Security
Application Security
 
EBIOS Risk Manager
EBIOS Risk ManagerEBIOS Risk Manager
EBIOS Risk Manager
 
Security champions v1.0
Security champions v1.0Security champions v1.0
Security champions v1.0
 
Threat Modeling Everything
Threat Modeling EverythingThreat Modeling Everything
Threat Modeling Everything
 

Similaire à 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
 
OWASP TOP 10 Proactive
OWASP TOP 10 ProactiveOWASP TOP 10 Proactive
OWASP TOP 10 Proactive
Abdessamad TEMMAR
 
Test d’intrusion dans le cadre du cycle de développement (Vumetric)
Test d’intrusion dans le cadre du cycle de développement (Vumetric)Test d’intrusion dans le cadre du cycle de développement (Vumetric)
Test d’intrusion dans le cadre du cycle de développement (Vumetric)
Vumetric
 
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 travail
Rational_France
 
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
EyesOpen Association
 
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 Web
Cyrille Grandval
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de code
Mehdi 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 applicatif
LeClubQualiteLogicielle
 
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 Configuration
Alphorm
 
Sécurisation d'un site internet
Sécurisation d'un site internetSécurisation d'un site internet
Sécurisation d'un site internetwaggaland
 
ITrust Company Overview FR
ITrust Company Overview FRITrust Company Overview FR
ITrust Company Overview FR
ITrust - Cybersecurity as a Service
 
Securité des applications web
Securité des applications webSecurité des applications web
Securité des applications web
Marcel 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 actuelles
Bee_Ware
 
Owasp top-10-2013-french
Owasp top-10-2013-frenchOwasp top-10-2013-french
Owasp top-10-2013-french
vangogue
 
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
 

Similaire à 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
 
Test d’intrusion dans le cadre du cycle de développement (Vumetric)
Test d’intrusion dans le cadre du cycle de développement (Vumetric)Test d’intrusion dans le cadre du cycle de développement (Vumetric)
Test d’intrusion dans le cadre du cycle de développement (Vumetric)
 
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
 
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
 
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
 
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
 

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

  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