BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités Tester la sécurité en continu avec Gauntlt

Tester la sécurité en continu avec Gauntlt

James Wickett, un membre de l'équipe core de Gauntlt, a présenté à la conférence Velocity de Londres, un tutoriel sur la mise en œuvre des tests de sécurité dans le cycle d'intégration continu pour obtenir ainsi un premier retour du niveau de sécurité de l'application. Comme le nombre de livraisons des versions augmente avec le système de livraison continue, James a souligné l'importance de vérifier régulièrement la sécurité. Selon lui, les vérifications après la livraison et les longs rapports d'audits externes ne sont plus suffisants. Les retours d'informations continus pour l'exploitation et les développeurs sont nécessaires pour maintenir la sécurité des applications et éviter les régressions de sécurité.

Gauntlt est destiné à mettre cette idée en pratique en fournissant un framework de tests automatisés basé sur Cucumber, un outil populaire généralement utilisé dans le Behavior Driven Development et également un ensemble d'outils open source de tests de sécurité. Gauntlt est disponible sous la forme d'un Gem Ruby, les tests peuvent être ainsi lancés dans le cadre de l'intégration continue et du pipeline de livraison avec un environnement Ruby. Cet exemple génère un rapport de test HTML similaire à celui de Cucumber :

bundle exec gauntlt --format html > out.html

Gauntlt est livré avec un ensemble d'attaques déjà intégrées basées sur des “adaptateurs d'attaque" prédéfinis qui sont liés à des étapes d'outils de sécurité qui peuvent exécuter chaque type d'attaque :

  • Arachni (test pour XSS)
  • Garmr (test pour les nouvelles pages d'authentification ou les références non sécurisées dans les processus de connexion)
  • SQLmap (test pour les attaques par injection SQL)
  • dirb (test des problèmes de configuration des objets web)
  • SSlyze (test des problèmes de configuration des serveurs SSL)         
  • NMap (test des ports inattendus ouverts)

Pour le moment, on ne peut étendre l'ensemble des outils qu'en ajoutant une ligne de commande binaire, en utilisant une étape spéciale et en vérifiant le flux de sortie de l'exécution.

En interne Gauntlt s'appuie sur Cucumber. Les fichiers d'attaques de Gauntlt sont transformés en fichier de feature Cucumber où chaque scénario est une attaque spécifique. Un fichier d'attaque port-check.attack peut par exemple utiliser nmap pour vérifier qu'il n'y a pas de ports inattendus ouverts sur un serveur donné :

 

Feature: Attaques nmap sur example.com 

 

    Background: 

 

      Given "nmap" est installé 

 

      Et le profil suivant : 

 

      | name     | value       | 

 

      | hostname | example.com |

 

    Scenario : Vérifier qu'il n'y a pas de ports inattendus ouverts 

 

      When Je lance une attaque "nmap" : 

 

         """ 

 

         nmap -F <hostname> 

 

         """ 

 

      Then la sortie ne doit pas contenir : 

 

         """ 

 

         25/tcp 

 

         """

 

Pour James, Gauntlt est un framework, inspiré par le Manifeste du logiciel robuste, entièrement dédié aux tests de sécurité des applications. Son objectif final est de promouvoir la communication entre les équipes de développement, d'exploitation et de sécurité. La nécessité d'inclure les préoccupations de sécurité et de monitoring dans le cadre du DevOps a également été soulignée par Gareth Rushgrove, le fondateur de DevOps Weekly, dans sa présentation sur le monitoring de la sécurité.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT