DevSecOps


La place des outils dans l'intégration de la sécurité dans les projets

2024-09-23 5 Min. lecture Cybersécurité

La place des outils dans l’intégration de la sécurité dans les projets

Lorsque le sujet de l’intégration de la sécurité dans les projets (aka DevSecOps) est abordé, la mise en place d’outils de scan (statique, dynamique, dépendances, etc.) au sein du cycle de développement logiciel (SDLC) apparait très souvent comme la réponse la plus simple.

Les outils, une solution magique ?

Intégrer un outil de sécurité est une opération qui peut sembler rapide, peu couteuse (modulo les éventuels coûts de licence) et et utile pour automatiser une partie de la sécurité des applications sans trop impacter la vélocité des équipes de développement.

continuer la lecture

Stocker les secrets utilisés par une application

2020-01-07 6 Min. lecture Cybersécurité

Dans une application, il est souvent nécessaire d’utiliser des secrets. Ces secrets peuvent servir à se connecter à une base de données, à accéder à une API distante, chiffrer/signer des données, etc.

2 questions se posent :

  • Comment/Où stocker ces secrets ?
  • Comment mettre à jour facilement un secret utilisé par plusieurs applications ?

Le moyen le plus facile de mettre à disposition ces mots de passe est de les enregistrer dans les fichiers de configuration de l’application nommés par environnement (appsettings.dev.json, appsettings.prod.json, etc.) et de pousser ensuite tous ces fichiers dans le repository git.

continuer la lecture

Gestion des analyses de sécurité avec DefectDojo

2019-12-05 7 Min. lecture Cybersécurité

Lors de la vie d’une application, des tests de sécurité (manuels et/ou automatisés) sont réalisés. Pour réaliser ces tests, des pentesteurs et/ou des outils rentrent en jeux pour détecter des vulnérabilités. Une fois ces problèmes remontés dans des rapports souvent statiques, il est nécessaire d’assurer un suivi de ces vulnérabilités pour suivre et maitriser l’état de santé d’une application sur l’aspect sécurité.

Pour faciliter cette gestion, des outils d’agrégation/gestion de vulnérabilités comme DefectDojo, ThreadFix ou CodeDX permettent rendre cette tâche plus facile.

continuer la lecture

Analyse des dépendances (SCA - Sofware Component Analysis)

2019-10-27 5 Min. lecture Cybersécurité

Les dépendances tierces représentent en moyenne 80% du code d’une application (Gartner). Au même titre que le code écrit par les développeurs de l’application, une porte d’entrée dans une de ces librairies peut compromettre la sécurité du système. Ainsi, en plus des vulnérabilités présentes dans le code écrit par les développeurs de la dite application, il faut s’assurer que ces dépendances embarquées ne contiennent pas de CVE.

Afin de vérifier ces dépendances, l’outil d’analyse doit les lister et déduire les versions utilisées. Cette tâche peut s’avérer complexe lorsque les versions des librairies ne sont pas définies explicitement dans les fichiers de configurations (packages.json, pom.xml, etc) ou que l’arbre des dépendances inclue plusieurs fois la même librairie avec des versions différentes. Il n’est pas rare de retrouver des versions différentes entre plusieurs outils d’analyse de dépendances.

continuer la lecture

Tests de sécurité automatisés

2019-09-20 9 Min. lecture Cybersécurité

Les chaînes de CI/CD permettent une industrialisation de la production logicielle en testant, packageant et déployant les applications automatiquement. Dans ces chaînes automatiques, l’aspect sécurité est régulièrement mis de côté et les tests associés sont bien souvent manuels.

Les tests automatiques de sécurité peuvent être catégorisés en 2 familles, le SAST (Static Application Security Testing) qui analyse de manière statique le code produit par les développeurs ou les fichiers de configuration paramétrés par les administrateurs système alors que le DAST (Dynamic Application Security Testing) fait des tests sur une application ou un serveur déployé et accessible. Si le SAST apparait en début de chaîne, sur le poste des développeurs ou sur l’outil d’intégration continue, le DAST intervient quant à lui en fin de chaîne lorsque l’application a été packagée et déployée sur un environnement.

continuer la lecture