Présentation du plugin OWASP Dependency-Check RAPHAEL DULONG DF/DDCE/ISTA/SDSS/MSET PSA Peugeot Citroën
Présentation de l’OWASP et de la NVD Utiliser des composants vulnérables Présentation des plugins Cycle de vie des plugins Rapport généré par Maven Rapport généré par SonarQube 2345 Sommaire 6 2 1
Présentation de l’OWASP de la NVD o Le projet OWASP Open Web Application Security Project Organisme indépendant des fournisseurs et des gouvernements Produit des outils et des informations concernant la sécurité des application o La National Vulnerability Database (NVD) La NVD renseigne toutes les vulnérabilités connues (nom, année, sévérité, impact…) Elle est gérée par le gouvernement américain La base est mise à jour continuellement Plus de vulnérabilités référencés (dont en 2015) 1 classification
Utiliser des composants vulnérables o Utiliser des composants vulnérables figure dans le top 10 des problèmes de sécurité majeur de l’OWASP o L’exploitation d’un composant vulnérable peut avoir un impact critique sur l’application concernée o Peut permettre la prise de contrôle de l’application, la manipulation des données, l’exécution arbitraire de code… o L’exploitation de ce genre de vulnérabilité ne nécessite pas forcément d’être un expert 2 classification
Présentation des plugins 3 Deux plugins classification Plugin Dependency-check- Maven Scan un projet et génère un rapport contenant la liste des composants vulnérables du projet. Open-Source et développé par l’OWASP Supporte les langages Java, PHP, Python, Ruby,.NET et Node.js Utilise les données de la National Vulnerability Database Plugin Dependency-check- SonarQube Récupère le rapport précédemment généré par le plugin Maven pour l’afficher dans SonarQube (5.1 minimum). Open-Source Affiche un rapport détaillé et modifiable sur le tableau de bord de SonarQube
Cycle de vie des plugins Plugin Maven: 4 classification Plugin Sonar :
Rapport généré par Dependency-Check Maven classification Sommaire o GAV: « GroupId:ArtifactId:Version » correspondance du composant dansMaven o CPE: « Comon Platform Enumeration » convention de nommage d’identification de composant o Highest Severity: plus haut niveau de criticité d’une vulnérabilité présente dans un composant o CVE count: nombre de vulnérabilité trouvé dans le composant o CPE Confidence: confiance à apporter à la bonne identification du composant o Evidence Count: nombre de preuves ayant permis d’identifier le composant 5
Rapport généré par Dependency-Check Maven classification Contenu Possibilité de supprimer des dépendances du rapport Description complète du composant vulnérable Liens de publication de la vulnérabilité Numéro de Vulnérabilité (CVE-AAAA-NNNN) 5 Niveau de sévérité de la vulnérabilité
Rapport généré par SonarQube o Classement selon la sévérité des vulnérabilités: High, medium ou low o Vulnerable Component Ratio: pourcentage de composants vulnérables dans le projet o Inherited Risk score: Se calcule: (high * 5) + (medium * 3) + (low * 1) Dashboard SonarQube classification 6
Rapport généré par SonarQube o « Filename » est le nom du composant vulnérable trouvé o « CVE » est le numéro qui référence les vulnérabilités sous la forme CVE-AAAA-NNNN (AAAA est l'année de publication de la vulnérabilité et NNNN un numéro incrémenté pour l’identifier) o « CVSS » donne le plus haut niveau de criticité d’une vulnérabilité présente dans le composant o Description des vulnérabilités présentes dans le composant Rapport détaillé SonarQube classification 6