Au cours des différentes étapes nous avons vu tout un tas de ressources, peux-tu résumer les ressources que je peux utiliser ?
C’est l’objet de ce dernier chapitre ! Nous allons ici faire un récapitulatif de l’ensemble des ressources que l’OWASP propose et qui vous seront utiles pour produire une application web de manière la plus sécurisée possible.
Vous pouvez utiliser ces ressources lors de la création de votre application mais pas que ! En effet, l’OWASP propose des ressources qui seront utiles tout au long de la vie de votre application web. Voyons cela ensemble.
L’ASVS (Application Security Verification Standard)
L’ASVS (désormais disponible en français !) correspond au Standard de vérification de la sécurité des applications.
C’est une ressource de l’OWASP qui sert de métrique et de guide. Et elle peut être utilisée en amont de la conception pour spécifier les exigences de vérification de la sécurité.
À quelle étape du cycle de vie d’utiliser ?
L’ASVS va surtout être utilisé lors des premières étapes de votre cycle de vie du développement logiciel. Il sera notamment très utile lors de l’étape analyse du besoin et conception en fournissant un certain nombre d’exigences en termes de sécurité.
Son but : définir les exigences de sécurité pour les applications web à différents niveaux de rigueur.
Son utilisation : servir de base aux développeurs, aux testeurs de sécurité et aux auditeurs pour comprendre les standards de sécurité nécessaires et intégrer des pratiques de sécurité dès la conception des applications.
Son focus : elle couvre un large spectre de contrôles de sécurité et de meilleures pratiques à implémenter dans les applications web.
Tandis que l'ASVS établit un cadre de référence pour les exigences de sécurité que les applications devraient satisfaire, le WSTG fournit des directives concrètes sur comment effectuer les tests de sécurité pour identifier les vulnérabilités au sein des applications web.
Le WSTG
Le Web Security Testing Guide (WSTG, site officiel en anglais) est une ressource de l'OWASP utilisée pour identifier et corriger les vulnérabilités de sécurité dans les applications web avant qu'elles ne soient exploitées par des attaquants.
À quelle étape du cycle de vie d’utiliser ?
L’utilisation du Web Security Testing Guide aura surtout lieu lors des tests sur l’application avant sa mise en production et durant la vie de l’application lors d’audit régulier.
Il pourra notamment être utilisé par l’équipe sécurité pour appliquer des scénarios précis et s’assurer d’un niveau de sécurité acceptable pour l’application.
Son but : fournir une méthodologie détaillée pour la conduite des tests de sécurité des applications web, couvrant la découverte des vulnérabilités et les techniques d'exploitation.
Son utilisation : guider les testeurs de sécurité sur la manière d'exécuter des tests de sécurité pratique et méthodique sur les applications web.
Son focus : sur les processus et techniques de test de sécurité, y compris la manière de détecter et d'exploiter les vulnérabilités spécifiques.
Le scénario WSTG-INPV-05, par exemple, guide les testeurs à travers les différentes méthodes pour tester les injections SQL que nous avons vu dans le chapitre 3 de la seconde partie de ce cours.
Comment utiliser concrètement ces deux ressources pour mon application web ?
L'ASVS peut être utilisé pour définir les objectifs de sécurité et les exigences spécifiques qu'une application web doit atteindre. Il fournit un cadre structuré pour comprendre quelles mesures de sécurité doivent être mises en place.
Le WSTG sert ensuite de guide pratique pour tester si ces exigences de sécurité ont été effectivement mises en œuvre et sont efficaces. Il propose des techniques de test pour évaluer la conformité aux standards définis par l'ASVS.
À vous de jouer
Imaginons que vous travaillez pour une entreprise e-commerce, "EcoNatu", qui vend des produits durables en ligne. Votre rôle est d'assurer la sécurité du site web de l'entreprise, en particulier le système d'authentification qui gère les connexions des clients.
Votre mission est de choisir un ou deux scénarios pertinents parmi ceux proposés dans la section "Authentication Testing" du WSTG d'OWASP pour tester et sécuriser le système d'authentification de "EcoNatu”.
Les cheatsheets
Les “cheatsheets”, ou antisèches en français, fournissent des fiches pratiques sur différents thèmes. Celles-ci sont librement consultables sur le site des cheatsheets de l’OWASP ;
Zap (Zed Attack Proxy)
Zapest un outil de sécurité qui fonctionne comme scanner de vulnérabilité, se positionnant comme un proxy, entre le pentester et l’application web à auditer.
ModSecurity Core Rule Set
ModSecurityCore Rule Set (CRS), est un ensemble de règles de détection d’attaques à utiliser avec ModSecurity.
Enterprise Security API
L'OWASP Enterprise Security API (ESAPI) est une collection de composants conçue pour sécuriser les applications web en simplifiant les tâches liées à la sécurité. ESAPI fournit des interfaces et des implémentations pour des fonctions de sécurité communes, telles que l'authentification, l'autorisation, la validation des entrées, et le chiffrement.
Software Assurance Maturity Model
L'OWASP Software Assurance Maturity Model (SAMM) est un cadre pour évaluer la maturité de la sécurité des logiciels au sein d'une organisation et pour identifier les étapes à suivre pour améliorer ses pratiques de sécurité logicielle. Le modèle propose un chemin structuré en plusieurs niveaux de maturité avec des objectifs et des pratiques spécifiques.
Dependency Check et Dependency Track
L'OWASP Dependency-Check est un outil qui scanne les projets de logiciels à la recherche de dépendances connues pour contenir des vulnérabilités de sécurité.
L'OWASP Dependency-Track est une plateforme qui fournit une analyse approfondie des dépendances des projets logiciels et de leurs vulnérabilités associées. Contrairement à Dependency-Check qui se concentre sur l'identification des dépendances vulnérables, Dependency-Track va plus loin en offrant une gestion continue des risques logiciels.
Ces outils sont évidemment à adapter à votre contexte d’entreprise, mais ils peuvent vous faire gagner beaucoup de temps. Profitez-en !
À vous de jouer
Vous avez désormais vu l’ensemble des notions théoriques pour assurer un certain niveau de sécurité pour votre application web.
Vous souhaitez passer du côté offensif ? Openclassrooms propose justement un excellent cours qui va vous permettre de vous initier au côté offensif en réalisant un test d’intrusion web : Réalisez un test d'intrusion web
En résumé
L'ASVS guide la définition des exigences de sécurité dès la conception, crucial dans les premières phases du développement.
Le WSTG offre des techniques concrètes pour tester la sécurité avant la mise en production et pendant la maintenance.
Les cheatsheets, ZAP, ModSecurity CRS, et ESAPI fournissent des outils et des connaissances pratiques pour l'identification et la correction des vulnérabilités.
SAMM, Dependency Check, et Dependency Track aident à évaluer et améliorer la maturité de la sécurité des logiciels.
Félicitations vous avez terminé ce cours ! Je vous laisse terminer le quiz qui suit pour valider les dernières connaissances acquises.