Créer un langage dédié à la sécurité avec Adam Jacob, de Chef
Hayley Denbraver
27 novembre 2019
0 minutes de lectureÀ l’approche de la fin de 2019, nous revenons sur quelques épisodes marquants de notre podcast The Secure Developer. Retrouvez le premier article ici et le deuxième ici.
Le podcast The Secure Developer fait partie de MyDevSecOps, notre communauté indépendante des fournisseurs, dédiée à la formation en sécurité. Auparavant également connue sous le nom de The Secure Developer, la communauté se réunit en ligne dans notre groupe Slack et lors d’événements virtuels, ainsi qu’en personne à l’occasion des événements DevSecCon organisés dans le monde entier.
À propos de notre invité
Adam Jacob est le cofondateur et directeur technique de Chef, anciennement Opscode, où il a écrit Habitat, un projet open source d’automatisation des applications. Auparavant, Adam a fondé HJK Solutions, un cabinet de conseil spécialisé dans l’automatisation des infrastructures. Il a récemment participé à notre podcast The Secure Developer pour parler de :
l’univers du DevOps
la conception d’un langage dédié à la sécurité
les avantages d’un système continu pour surveiller les vulnérabilités
Plongeons dans la conversation.
DevOps : une question d’outils ou de personnes ?
Dans le secteur, on considère généralement que le DevOps concerne davantage les personnes. Adam souligne toutefois, à juste titre, qu’il est nécessairement question des deux. Tout le monde peut dire vouloir instaurer une bonne culture DevOps. Mais au bout du compte, ce ne sont que des mots. Selon lui, « c’est généralement la technologie qui renforce ces comportements culturels ».
Ce raisonnement s’applique aussi à la sécurité. Tout le monde peut dire vouloir travailler de manière plus sécurisée, mais sans la bonne combinaison de systèmes, d’équipes et de technologies, vous n’atteindrez pas vos objectifs.
Il vous faut à la fois les bons outils et des collaborateurs formés. Si vous avez les outils, mais que vos équipes ne savent pas les utiliser ou n’en comprennent pas l’utilité, vous n’atteindrez jamais vos objectifs de sécurité.
Créer un langage commun autour de la sécurité
En matière de sécurité, le contexte est essentiel. Adam et son équipe ont relevé ce défi chez Chef en développant InSpec, un langage qui permet aux membres d’une équipe de décrire le niveau de sécurité et le code. Autre difficulté : de nombreux aspects de la sécurité sont « invisibles ». Sans moyen d’en parler ou d’en assurer le suivi, impossible de réussir.
La sécurité doit être intégrée au processus dès le premier jour. Des outils comme InSpec permettent de produire des rapports continus sur les vulnérabilités, avec des bénéfices durables et des changements rapides et mesurables.
Permettre aux développeurs de parler de sécurité dans le langage du code est inestimable, car cela ouvre le processus de sécurité à davantage de participants. Les spécialistes de la sécurité peuvent aussi auditer le code plutôt que la documentation, puis intégrer le tout à un modèle de déploiement évolutif. Adam estime que cette démarche, également appelée SecDevOps, permet d’atteindre un niveau de sécurité supérieur.
Déploiement continu vs livraison continue
Un déploiement continu de haut niveau, intégré au code de toute votre infrastructure, vous permet d’obtenir des résultats prévisibles. Mais l’idée même de la continuité, c’est de poursuivre le déploiement. Autrement dit, vous pouvez faire une pause, mais jamais vous arrêter. Selon Adam, la livraison continue, elle, permet de faire des pauses.
Avec la livraison continue, l’idée est de livrer au moment opportun et chaque fois que l’activité l’exige. C’est différent du déploiement continu, où l’on livre à chaque fois que l’on valide une modification. Adam estime donc que la livraison continue laisse toute latitude pour dire : « Pour être livré, ce projet doit faire l’objet d’un examen de sécurité », sans pour autant interrompre le processus continu. C’est une nuance, mais elle peut aider de nombreuses équipes à repenser de manière positive la relation entre développement et sécurité.
Adam souligne également que la livraison et le déploiement continus permettent aux équipes de repérer les erreurs lorsqu’elles sont encore mineures. Cet avantage est particulièrement convaincant en matière de sécurité. Lorsqu’on recherche une faille, il est bien plus intéressant de n’avoir à examiner qu’une centaine de lignes de code modifiées, plutôt que les 100 000 ou les 100 millions de lignes de code existantes.
MyDevSecOps s’engage à inviter d’excellents intervenants comme Jeff McAffer à ses sessions virtuelles et à son podcast, The Secure Developer. Si vous souhaitez en savoir plus sur tous les aspects de la sécurité, n’hésitez pas à rejoindre la communauté.



