Agile Mëtteg: Comment intégrer la sécurité dans le cycle de vie du développement?

Agile Mëtteg: Comment intégrer la sécurité dans le cycle de vie du développement?

Notre précédent Agile Mëtteg, le 27 novembre, était sur l’Intégration de la sécurité dans le cycle de vie du développement, présenté par Martin Grandcolas de chez Excellium Services. Retour sur cette rencontre.

Dans la plupart des cas, les tests d’intrusions dans un projet sont réalisés à la fin, et assez souvent, les retours ne sont pas positifs. Des modifications sont alors nécessaires, ce qui conduit à des retards dans la mise en production de l’application. L’intégration de la sécurité dans le cycle de développement agile est assez récent. Elle permet cependant de renforcer les applications pendant la phase de développement en apportant tôt des corrections qui sont habituellement et chroniquement gérées en bout de course.

Mais où mettre la sécurité dans le développement?

  • Dans le business requirement?
  • Dans le risk analysis?
  • Dans l’architecture

En tout cas, la notion de sécurité doit être une composante pour tous les projets et impliquée tout au long du cycle de développement: on parle de SSDLC. Que ce soit dans

Continuous Process

  • L’analyse
  • Le design
  • L’implémentation
  • Ou encore la maintenance

 

 

 

 

 

 

 

Cette mise en place se réalise via différents points et axes d’amélioration: par exemple, dans la plateforme d’intégration continue (PIC), les tests de sécurité s’ajouteront naturellement aux tests de qualité. A chaque itération, l’état de sécurité du projet est vérifié afin d’en déterminer les éventuelles vulnérabilités.

Qu’est-ce que le SSDLC?

Le SSDLC est l’acronyme pour le Secure Software Develpment Life Cycle. C’est un processus continu contenant différents axes et étapes permettant d’assurer et augmenter le niveau de sécurité d’une application. On distingue 2 types de SSDLC: dans une application crée par une équipe ou dans un logiciel commercial.

Aujourd’hui, le processus de développement peut être sécurisé par une équipe dans chacune des étapes:

SSDLC

  1. Design
  2. Implémentation et test unitaire
  3. Intégration des tests
  4. Business testing
  5. Audit de sécurité externe
  6. Fixer les problématiques
  7. Fin de sprint

 

 

 

 

Dans ce cas, les tests de sécurité ne sont pas prévus à la fin du cycle de développement par l’équipe sécurité mais bien durant tout le processus de développement. Cette vision permet de rejoindre la philosophie DevOps où des releases sont possibles chaque jour si besoin. La notion de sécurité doit suivre tous le processus de mise en place d’un projet. La sécurité pensée dés le début du projet aide à prévenir les problèmes tel que le cas Ashley Madison et la fuite des données.

OpenSAMM

OpenSAMM pour Open Software Assurance Maturity Model est framework open source permettant de formuler et implémenter des stratégies pour la sécurité des applications. OpenSAMM se base sur 4 axes de sécurité:

  • Gouvernance: définition des projets et sécurité des équipes
  • Construction: dans l’architecture de développement
  • Vérification: tests de sécurité d’un point de vue SysOps
  • Deployer: vulnérabilités détectées et exploitées

OpenSAMM

Conclusion

Les développeurs savent très bien coder mais sont moins performants au niveau de la sécurité et inversement. Dans le but de savoir si une application est sécurisée ou non et dans l’optique d’un travail plus performant, il est important que ces 2 mondes communiquent et échangent. Car le pire, c’est de ne pas savoir.

OpenSAMM permet:

  • d’évaluer les pratiques de sécurité applicative d’une organisation
  • de construire un programme de sécurité équilibré sous forme d’itérations bien définies
  • de démontrer concrètement les améliorations dan le cadre d’un programme d’assurance de la sécurité
  • de définir et mesurer les activités liées à la sécurité à l’intérieur d’une organisation

Chaque organisation peut établir son degré de maturité:

Niveau Sécurité

Le message à retenir est que la sécurité doit intervenir dès le début du cycle de développement. Cette approche permet beaucoup plus de flexibilité et donc d’agilité dans le projet en incluant chaque partie prenante dés le début.

 

Annabelle Buffart

Web geek

No Comments

Post a Comment

Comment
Name
Email
Website