SlideShare une entreprise Scribd logo
Security Stories
Comment intégrer la sécurité dans
un cycle de développement logiciel
rapide
Plan de la présentation
• Qui suis-je?
• Qu’est-ce que Bentley Systems?
• Introduction
• «Security Stories»
– L’approche de Bentley Systems
• Comment intégrer les «Security Stories»
– L’approche de Bentley Systems
• Conclusion
Qui suis-je?
• Guillaume Croteau Ing. Jr.
• Bac. Génie Logiciel, Université Laval
• GIAC-GWEB
• Travail dans l’équipe de sécurité
applicative chez Bentley Systems
depuis presque 2 ans
Qu’est-ce que Bentley Systems?
Qu’est-ce que Bentley Systems?
Introduction
Introduction
• La plupart des organisations se contentent de
faire un «pentest» une fois de temps en temps
alors que le produit est prêt à être déployé.
• Réaction des développeurs:
Introduction
• Résultat: introduction de dettes techniques
par rapport à la sécurité.
Introduction
• Effectuer la sécurité plus tôt est un
investissement.
Introduction
• Une solution: envoyer la sécurité le plus à
gauche possible dans le cycle de
développement.
– Non seulement pour le design, mais aussi pour le
développement continu.
– DevOps parle de «Shift-Left»
• Mais comment?
Security Stories
Security Stories
• Les «Security Stories» proviennent d’une
publication de SAFECode: «Practical Security
Stories and Security Tasks for Agile
Development Environments»
Security Stories
• Intégrer la sécurité dans le processus utilisé par les
développeurs: Agile
• Ajouter des tâches et/ou des fonctionnalités par
rapport à la sécurité dans le «backlog»
– Prioriser la sécurité comme le reste du «backlog»
• Standardise l’implémentation
• Sauver du temps: faire la recherche une seule fois
• Sauver de l’argent: faire la sécurité plus tôt dans le
cycle de développement
– «Story» tôt au lieu d’un bogue plus tard
Security Stories
• Sécurité «baked in» vs «bolted on»
Security Stories
• La structure proposée par SAFECode:
Security Stories – L’approche de
Bentley Systems
Security Stories – L’approche de
Bentley Systems
• Au lieu de spécifier des rôles, les tâches sont
séparées par type.
– Architecture
– Implémentation
– Vérification
• Raisons:
– Une personne peut couvrir plusieurs rôles dans une
équipe.
– Plus facile de savoir quand exécuter une tâche.
Security Stories – L’approche de
Bentley Systems
• Les développeurs se sont plaints que les
«stories» proposées par SAFECode sont trop
générales.
– Ex: «Use one of the many available librairies and
frameworks that takes CSRF into account.»
Security Stories – L’approche de
Bentley Systems
• Amélioration des tâches:
– Ajout de tâches qui sont spécifiques à certaines
technologies.
• Ex: Protection contre le CSRF avec ASP.NET
– Ajout de détails
• Ex: Lien vers une ressource externe
– Ajout de notes
• Ex: Cette tâche ne s’applique pas si votre contexte est
[contexte]
– Ajout d’exemples
• Ex: Voici un exemple de «whitelist» [la «whitelist»]
Security Stories – L’approche de
Bentley Systems
• Système de «tag» adapté à la structure de nos
«backlog» pour bien identifier les tâches.
– Métriques
– Identification rapide des tâches liées à la sécurité
– Etc.
• Ne pas limiter les références aux CWE:
– SANS Top 25
– OWASP Top 10
– CAPEC
– RFC
– Etc.
Security Stories – L’approche de
Bentley Systems
• SAFECode ne propose que seulement 36
«stories»
– Ajout de «stories» manquantes et d’autres qui
sont spécifiques à notre contexte.
• Ex: CORS (manquante)
• Ex: OpenID et OAuth 2.0 (spécifique)
– Bentley Systems à maintenant plus de 70
«stories», et ce nombre continu à augmenter.
Security Stories – L’approche de
Bentley Systems
• Il est possible d’organiser les «stories» par groupe:
– Par concept:
• Cryptographie
• Web
• Autorisation
• Authentification
• Etc.
– Par OWASP Top 10
• 2013
• 2017
– Par SANS Top 25
– Etc.
Security Stories – L’approche de
Bentley Systems
• Exemple personnalisé:
• [Security Story] I want to verify graceful handling of all
exceptions.
• [Security Task] Ensure there is no information exposure
through error messages
– Note: Do not use the client to hide server-side error details
– ASP.NET
• Enable customErrors in Web.config
– Java Servlet
• Error handling in Java web.xml
Security Stories – L’approche de
Bentley Systems
Comment intégrer les «Security Stories»
Comment intégrer les «Security
Stories»
• Accès publique aux «Security Stories»
– Base de données
– Intranet
– SharePoint
– Etc.
• Automatiser l’intégration des tâches dans le
«backlog».
– Éviter le copier-coller à partir de la source
d’information.
Comment intégrer les «Security
Stories»
• Si la compagnie est petite:
– Un membre de l’équipe de sécurité applicative peut
guider l’équipe à choisir les tâches appropriées à
chaque sprint.
• Le «Threat Modeling» peut aider à identifier les
dangers potentiels, pour ensuite sélectionner les
bonnes tâches.
– «Threat model» au niveau de la fonctionnalité
• Par contre, si la compagnie est grande…?
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
• Bentley Systems:
– > 3000 employés
– Compagnie internationale
– +/- 500 produits actifs
– Centaines de champions de sécurité
– 10 membres permanent dans l’équipe de sécurité
applicative
Intégrer les «Security Stories» -
L’approche de Bentley Systems
• Approche «Security as a Service»
– Développent d’une application web interne. Cette
application s’inspire fortement des produits IriusRisk
et SD Elements.
– «Threat model» (du produit ou de la fonctionnalité)
basé sur un questionnaire interne.
– Avoir 80% des résultats d’un «threat model» complet
en 20% du temps.
– Accessible à tous les champions de sécurité de la
compagnie («scalable»)
– Niveau de connaissance requis en sécurité minimal
Intégrer les «Security Stories» -
L’approche de Bentley Systems
• Une fois le questionnaire rempli, il est analysé
et un rapport est généré.
– Ce rapport dirige le champion de sécurité vers les
«security stories» qui sont pertinentes selon les
réponses fournies.
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Intégrer les «Security Stories» -
L’approche de Bentley Systems
Conclusion
Conclusion
• Avec l’avènement du DevOps, il faut penser au
DevSecOps
– Les «security stories» sont probablement une
partie de solution pour intégrer la sécurité dans
un cycle de développement rapide.
Pour me contacter
• @gcsofteng
• https://ca.linkedin.com/in/guillaumecroteau
• https://github.com/gctse
• https://www.gcthesoftwareengineer.com
Merci!

Contenu connexe

PDF
OWASP Québec - Attaques et techniques de défense des sessions Web - par Louis...
PDF
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
PDF
OWASP Québec - octobre 2016 - présentation sur les mots de passe
PPTX
Sécurité des Développements Webs et Mobiles
PPTX
Securite des Applications dans le Cloud
PPTX
Les 5 risques les plus critiques des applications Web selon l'OWASP
PPTX
Sécurité des applications Web
PPTX
Les principales failles de sécurité des applications Web actuelles
OWASP Québec - Attaques et techniques de défense des sessions Web - par Louis...
Securite applicative et SDLC - OWASP Quebec - 15 avril 2014
OWASP Québec - octobre 2016 - présentation sur les mots de passe
Sécurité des Développements Webs et Mobiles
Securite des Applications dans le Cloud
Les 5 risques les plus critiques des applications Web selon l'OWASP
Sécurité des applications Web
Les principales failles de sécurité des applications Web actuelles

Tendances (20)

PDF
La Quete du code source fiable et sécurisé - GSDAYS 2015
PDF
Securing your API and mobile application - API Connection FR
PDF
OWASP TOP 10 Proactive
PPTX
Durcissement de code - Sécurité Applicative Web
PDF
Sécurité des applications web: attaque et défense
PDF
2013 03-01 automatiser les tests sécurité
PDF
Comment securiser votre annuaire Active Directory contre les attaques de malw...
PDF
OWASP Top10 2013 - Présentation aux RSSIA 2013
PDF
Les menaces applicatives
PPTX
Présentation Top10 CEGID Lyon
PDF
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
PDF
SonarQube et la Sécurité
PPTX
Sécurité des applications Web
PPTX
Sophia conf securite microservices - 2017
PPTX
Le Darwinisme Digital
PPTX
Monitoring avec Zabbix
PDF
Sécurité des réseaux
PDF
Sécurité des Applications WEB -LEVEL1
PPTX
Evaluer et contrôler la sécurité de ses prestataires Cloud, PaaS ou SaaS
PDF
Analyser la sécurité de son code source avec SonarSource
La Quete du code source fiable et sécurisé - GSDAYS 2015
Securing your API and mobile application - API Connection FR
OWASP TOP 10 Proactive
Durcissement de code - Sécurité Applicative Web
Sécurité des applications web: attaque et défense
2013 03-01 automatiser les tests sécurité
Comment securiser votre annuaire Active Directory contre les attaques de malw...
OWASP Top10 2013 - Présentation aux RSSIA 2013
Les menaces applicatives
Présentation Top10 CEGID Lyon
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
SonarQube et la Sécurité
Sécurité des applications Web
Sophia conf securite microservices - 2017
Le Darwinisme Digital
Monitoring avec Zabbix
Sécurité des réseaux
Sécurité des Applications WEB -LEVEL1
Evaluer et contrôler la sécurité de ses prestataires Cloud, PaaS ou SaaS
Analyser la sécurité de son code source avec SonarSource
Publicité

Similaire à OWASP Quebec: "Security Stories" par Guillaume Croteau (20)

PDF
Comment Microsoft IT a transféré certaines responsabilités liées à la sécurit...
PDF
Comment securiser votre usage ou migration vers Office 365 [2018 12-04]
PDF
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
PDF
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
PDF
Modèle de sécurité AWS
ODP
Sécurite Amazon Web Services
PPTX
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
PPTX
Déploiement de Modèles Machine Learning avec Kubernetes
PPTX
Modern Monitoring dans Azure
PDF
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...
PPTX
TechDays 2012 - Windows Azure
PDF
Agile lille 2015 devops etapres
PPTX
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
PDF
Comment integrer les applications de votre Systeme Information entre elles ?
PPTX
SplunkLive! Paris 2016 - Customer Presentation - Natixis
PPTX
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...
PPTX
Mise en œuvre d’une démarche DevOps dans Windows Azure
PPTX
Gouvernance azure - rex du studio Cellenza
PPT
Introduction à l'agilité numélink - 24 mai 2012 - #10 convergen
PPTX
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Comment Microsoft IT a transféré certaines responsabilités liées à la sécurit...
Comment securiser votre usage ou migration vers Office 365 [2018 12-04]
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Azure IaaS : concevoir en architecture sécurisée en tirant bénéfice des nouve...
Modèle de sécurité AWS
Sécurite Amazon Web Services
La gouvernance, ou comment rapprocher les équipes de développement et d'infra...
Déploiement de Modèles Machine Learning avec Kubernetes
Modern Monitoring dans Azure
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...
TechDays 2012 - Windows Azure
Agile lille 2015 devops etapres
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
Comment integrer les applications de votre Systeme Information entre elles ?
SplunkLive! Paris 2016 - Customer Presentation - Natixis
Cloud Security Assessment Matrix: une offre Microsoft Consulting pour l’analy...
Mise en œuvre d’une démarche DevOps dans Windows Azure
Gouvernance azure - rex du studio Cellenza
Introduction à l'agilité numélink - 24 mai 2012 - #10 convergen
Microsoft Tech days 2007 - Industrialisation des développements : Retours d'e...
Publicité

OWASP Quebec: "Security Stories" par Guillaume Croteau

  • 1. Security Stories Comment intégrer la sécurité dans un cycle de développement logiciel rapide
  • 2. Plan de la présentation • Qui suis-je? • Qu’est-ce que Bentley Systems? • Introduction • «Security Stories» – L’approche de Bentley Systems • Comment intégrer les «Security Stories» – L’approche de Bentley Systems • Conclusion
  • 3. Qui suis-je? • Guillaume Croteau Ing. Jr. • Bac. Génie Logiciel, Université Laval • GIAC-GWEB • Travail dans l’équipe de sécurité applicative chez Bentley Systems depuis presque 2 ans
  • 7. Introduction • La plupart des organisations se contentent de faire un «pentest» une fois de temps en temps alors que le produit est prêt à être déployé. • Réaction des développeurs:
  • 8. Introduction • Résultat: introduction de dettes techniques par rapport à la sécurité.
  • 9. Introduction • Effectuer la sécurité plus tôt est un investissement.
  • 10. Introduction • Une solution: envoyer la sécurité le plus à gauche possible dans le cycle de développement. – Non seulement pour le design, mais aussi pour le développement continu. – DevOps parle de «Shift-Left» • Mais comment?
  • 12. Security Stories • Les «Security Stories» proviennent d’une publication de SAFECode: «Practical Security Stories and Security Tasks for Agile Development Environments»
  • 13. Security Stories • Intégrer la sécurité dans le processus utilisé par les développeurs: Agile • Ajouter des tâches et/ou des fonctionnalités par rapport à la sécurité dans le «backlog» – Prioriser la sécurité comme le reste du «backlog» • Standardise l’implémentation • Sauver du temps: faire la recherche une seule fois • Sauver de l’argent: faire la sécurité plus tôt dans le cycle de développement – «Story» tôt au lieu d’un bogue plus tard
  • 14. Security Stories • Sécurité «baked in» vs «bolted on»
  • 15. Security Stories • La structure proposée par SAFECode:
  • 16. Security Stories – L’approche de Bentley Systems
  • 17. Security Stories – L’approche de Bentley Systems • Au lieu de spécifier des rôles, les tâches sont séparées par type. – Architecture – Implémentation – Vérification • Raisons: – Une personne peut couvrir plusieurs rôles dans une équipe. – Plus facile de savoir quand exécuter une tâche.
  • 18. Security Stories – L’approche de Bentley Systems • Les développeurs se sont plaints que les «stories» proposées par SAFECode sont trop générales. – Ex: «Use one of the many available librairies and frameworks that takes CSRF into account.»
  • 19. Security Stories – L’approche de Bentley Systems • Amélioration des tâches: – Ajout de tâches qui sont spécifiques à certaines technologies. • Ex: Protection contre le CSRF avec ASP.NET – Ajout de détails • Ex: Lien vers une ressource externe – Ajout de notes • Ex: Cette tâche ne s’applique pas si votre contexte est [contexte] – Ajout d’exemples • Ex: Voici un exemple de «whitelist» [la «whitelist»]
  • 20. Security Stories – L’approche de Bentley Systems • Système de «tag» adapté à la structure de nos «backlog» pour bien identifier les tâches. – Métriques – Identification rapide des tâches liées à la sécurité – Etc. • Ne pas limiter les références aux CWE: – SANS Top 25 – OWASP Top 10 – CAPEC – RFC – Etc.
  • 21. Security Stories – L’approche de Bentley Systems • SAFECode ne propose que seulement 36 «stories» – Ajout de «stories» manquantes et d’autres qui sont spécifiques à notre contexte. • Ex: CORS (manquante) • Ex: OpenID et OAuth 2.0 (spécifique) – Bentley Systems à maintenant plus de 70 «stories», et ce nombre continu à augmenter.
  • 22. Security Stories – L’approche de Bentley Systems • Il est possible d’organiser les «stories» par groupe: – Par concept: • Cryptographie • Web • Autorisation • Authentification • Etc. – Par OWASP Top 10 • 2013 • 2017 – Par SANS Top 25 – Etc.
  • 23. Security Stories – L’approche de Bentley Systems • Exemple personnalisé: • [Security Story] I want to verify graceful handling of all exceptions. • [Security Task] Ensure there is no information exposure through error messages – Note: Do not use the client to hide server-side error details – ASP.NET • Enable customErrors in Web.config – Java Servlet • Error handling in Java web.xml
  • 24. Security Stories – L’approche de Bentley Systems
  • 25. Comment intégrer les «Security Stories»
  • 26. Comment intégrer les «Security Stories» • Accès publique aux «Security Stories» – Base de données – Intranet – SharePoint – Etc. • Automatiser l’intégration des tâches dans le «backlog». – Éviter le copier-coller à partir de la source d’information.
  • 27. Comment intégrer les «Security Stories» • Si la compagnie est petite: – Un membre de l’équipe de sécurité applicative peut guider l’équipe à choisir les tâches appropriées à chaque sprint. • Le «Threat Modeling» peut aider à identifier les dangers potentiels, pour ensuite sélectionner les bonnes tâches. – «Threat model» au niveau de la fonctionnalité • Par contre, si la compagnie est grande…?
  • 28. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 29. Intégrer les «Security Stories» - L’approche de Bentley Systems • Bentley Systems: – > 3000 employés – Compagnie internationale – +/- 500 produits actifs – Centaines de champions de sécurité – 10 membres permanent dans l’équipe de sécurité applicative
  • 30. Intégrer les «Security Stories» - L’approche de Bentley Systems • Approche «Security as a Service» – Développent d’une application web interne. Cette application s’inspire fortement des produits IriusRisk et SD Elements. – «Threat model» (du produit ou de la fonctionnalité) basé sur un questionnaire interne. – Avoir 80% des résultats d’un «threat model» complet en 20% du temps. – Accessible à tous les champions de sécurité de la compagnie («scalable») – Niveau de connaissance requis en sécurité minimal
  • 31. Intégrer les «Security Stories» - L’approche de Bentley Systems • Une fois le questionnaire rempli, il est analysé et un rapport est généré. – Ce rapport dirige le champion de sécurité vers les «security stories» qui sont pertinentes selon les réponses fournies.
  • 32. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 33. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 34. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 35. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 36. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 37. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 38. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 39. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 40. Intégrer les «Security Stories» - L’approche de Bentley Systems
  • 42. Conclusion • Avec l’avènement du DevOps, il faut penser au DevSecOps – Les «security stories» sont probablement une partie de solution pour intégrer la sécurité dans un cycle de développement rapide.
  • 43. Pour me contacter • @gcsofteng • https://ca.linkedin.com/in/guillaumecroteau • https://github.com/gctse • https://www.gcthesoftwareengineer.com