mercredi 31 juillet 2013

De la sécurité dans l'agilité du dévelopement

Actuellement, la grande mode dans le monde du développement c'est de dire que tout est fait en mode cycle Agile (RAD, Extreme Programming, SCRUM, ...) plutôt qu'en bon vieux cycle en V (j'ai jamais dit que c'etait mieux....)

L'avantage évoqué par beaucoup d'architectes/CDP,  de l'utilisation de ces méthodes est de pouvoir répondre plus vite au besoin , de corriger vite et de produire donc plus rapidement des choses qui tiennent la route.

Et bien sur, de faire plus facilement l'impasse sur la sécurité ! Et bien, oui, déja que dans les cycles itératifs classiques on oublie les taches sécurité, en méthode agile on a tendance a entendre  :

1/ On va trop vite et on y pense pas
2/ On sait pas comment s'y prendre, les différentes méthodes de développement sécurisé classiques ne sont pas adaptés (facile cette dernière....).
3/ On a pas les compétences,
4/ On s'en fout,
....

Bref, passons toutes ces excuses, pour n'en retenir qu'une seule, la numéro 2 . Et bien Messieurs (et Dames si il y en a ici), sur cette excuse, vous avez tout faux !

Il existe donc (au moins ces deux la)  Microsoft SDL for Agile !

et surtout a mon sens l'excellent document du SAFECODE : Practial Security Stories and Security Tasks for Agile Developement Environnements.

J'aime bien cette dernière approche du SAFECODE qui est assez détaillée et technique pour permettre une implémentation dans un projet de manière assez simple, tout en ayant des métriques et des directives très simples pour les différentes populations.



mardi 30 juillet 2013

Automatiser les tests sécurité lors de la phase de dévelopement

Lors de Confoo 2013, j'ai effectué une présentation permettant de montrer qu'a l'aide de quelques outils simples :



et open source (ou presque), il était possible de facilement automatiser sa phase de tests sécurité. On ne parle ici que des tests de type Tests de vulnérabilités, on ne parle pas du coté revue de code source ;pour la simple bonne raison qu'il n'y a pas réellement d'outils open-source assez avancés a mon sens pour couvrir le sujet (si vous pensez le contraire, je veux bien des pointeurs)

L'équipe de Mozilla, a publié récemment un nouvel outil (Minion) intégrant d'autres outils de sécurité (dont OWASP Zap Proxy ), permettant aussi d'aller plus loin.

Ce que je trouve dommage dans cet approche, c'est qu'une fois encore la sécurité n'est pas prise en compte comme un élément standard de la phase de développement. En effet, la majorité des gros projets de développement sont presque tous dans un principe d'intégration continue et de build régulier. Or Une fois encore, l'outil se démarque comme un outil externe, disposant de sa propre manière de configuration etc...etc.. Au lieu directement de fournir un outil allant s'intégrer avec Jenkins et les outils classiques de bugtracker.

Néanmoins, l'approche est tout aussi intéressante, et je vous encourage a regarder comment l'intégrer dans vos différents cycles/Outils (voir d'écrire un plugins Jenkins ;)


//Activation syntaxhilight