Le Test de Pénétration OWASP est un type spécialisé de test de sécurité qui se concentre sur les vecteurs d’attaque et les vulnérabilités répertoriés dans le Top 10 de l’OWASP. Le paysage de sécurité d’une organisation est complexe, il est donc essentiel de tester les mesures de sécurité de l’organisation pour s’assurer qu’elles fonctionnent correctement.
Qu’est-ce que l’OWASP Top 10?
L’Open Web Application Security Project (OWASP) est une organisation à but non lucratif dont la mission est de créer des applications sécurisées grâce à un contenu éducatif en ligne gratuit et des outils communautaires. Leur mission est de rendre la sécurité logicielle visible en fournissant tous les outils, techniques et mentalités nécessaires pour améliorer la sécurité des applications de n’importe quel produit logiciel.
L’OWASP a été créé par l’enthousiaste de la cybersécurité Mark Curphey le 9 septembre 2001 pour lutter contre les cyberattaques rampantes. De plus, ils fournissent une quantité de contenu éducatif gratuit sur les tests de sécurité et la sécurité des applications Web, ainsi que diverses autres ressources pour les développeurs et les professionnels de l’informatique.
L’OWASP Top 10 est un document de sensibilisation standard pour les développeurs et la sécurité des applications Web. L’OWASP Top 10 ne traite pas de toutes les vulnérabilités possibles, mais il identifie précisément les risques de sécurité les plus courants et les plus critiques pour les applications Web.
Il se concentre sur les types les plus courants de risques de sécurité auxquels les applications Web sont confrontées, pas tous les risques de sécurité possibles. L’OWASP Top 10 est une bonne norme pour les attentes en matière de sécurité pour les nouvelles applications et une liste de contrôle de sécurité utile pour les applications plus matures.
Les tendances récentes dans l’OWASP Top 10
Après plus de quatre ans de recherche, l’Open Web Application Security Project (OWASP) a publié sa dernière liste des 10 principaux risques de sécurité des applications. Voici les nouveaux risques de sécurité qui ont été ajoutés à la liste mise à jour :
1. Conception non sécurisée
La conception non sécurisée peut également se produire lorsque la conception vérifiée pour les vulnérabilités de sécurité n’est pas mise à jour pour tenir compte des vulnérabilités de sécurité connues. Une conception non sécurisée peut se produire à différents niveaux d’un produit donné.
2. Défaillances de l’intégrité des logiciels et des données
L’intégrité des données est l’état d’être entier, authentique et non altéré. Il existe de nombreuses façons dont les logiciels ou les données peuvent ne pas respecter l’intégrité. La désérialisation non sécurisée, les CDN non fiables, les pipelines CI/CD non sécurisés sont autant de façons dont les logiciels ne parviennent pas à maintenir l’intégrité des données.
3. Falsification de requête côté serveur
La falsification de requête côté serveur (SSRF) est une vulnérabilité lorsqu’une application fait une requête vers un hôte distant non authentifié et ne valide pas correctement la requête. Tout site Web qui permet à des requêtes externes d’être faites vers d’autres hôtes en fonction de l’entrée de l’utilisateur est vulnérable à la SSRF.
4. Injection
Les attaques par injection sont un type courant d’attaque. Elles se produisent lorsque l’utilisateur entre une charge utile malveillante dans un champ de saisie du site Web. Cette charge utile est ensuite traitée par le site Web et exécutée comme un script malveillant écrit par le pirate informatique. Le script malveillant est ce qui cause les dommages réels au serveur du site Web et à ses données. Il existe plusieurs types d’attaques par injection. Elles impliquent toutes une charge utile malveillante. La charge utile est saisie via un champ de formulaire, une URL ou une API (interface de programmation d’application).
5. Conception non sécurisée
La conception non sécurisée fait référence à une variété de problèmes de sécurité et non à un problème unique. La cause de la conception non sécurisée est la même que celle du codage non sécurisé, à savoir un manque de connaissance et de sensibilisation aux vulnérabilités de sécurité. La plupart du temps, la sécurité n’est pas prise au sérieux et n’est pas incluse dans la liste des exigences de développement logiciel.
6. Mauvaise configuration de la sécurité
La mauvaise configuration de la sécurité est passée de la #6 dans l’OWASP Top 10 – 2013 à la #5 dans l’OWASP Top 10 – 2021 mis à jour. La mauvaise configuration de la sécurité est un large éventail de vulnérabilités telles que :
- Utilisation des identifiants par défaut
- Divulgation de la version du serveur
- Absence d’en-têtes de sécurité tels que X-Frame-Options
7. Composants obsolètes et vulnérables
Le problème le plus courant dans la plupart des applications web est l’utilisation de composants présentant des vulnérabilités connues et des composants obsolètes. Généralement, le problème ne réside pas dans un manque de connaissances, mais dans la difficulté de migration de version. Les composants tels que jQuery, Bootstrap, Angular JS, etc., sont les composants les plus vulnérables. Ce sont les composants les plus utilisés dans les applications web. Ils sont également des composants viraux pour les hackers, les vulnérabilités y sont plus courantes en raison de leur popularité.
8. Défaillances d’identification et d’authentification
Les défaillances d’identification et d’authentification étaient précédemment connues sous le nom d’authentification cassée et sont passées de la #2 à la #7. Des énumérations de faiblesses courantes (CWE) ont également été ajoutées. Certaines vulnérabilités courantes relevant des défaillances d’identification et d’authentification sont :
- Protection brute force manquante
- Politique de mot de passe faible
- Authentification multi-facteurs manquante ou faible
- Gestion incorrecte de la session
9. Défaillances dans les logiciels et l’intégrité des données
Les défaillances de l’intégrité des données sont encore courantes dans l’ingénierie logicielle. Il n’est pas facile de maintenir l’intégrité des données si vous n’êtes pas prudent avec votre code. Les défaillances de l’intégrité des données entraînent des failles de sécurité. La désérialisation non sécurisée, les CDN non fiables, les pipelines CI/CD non sécurisés sont autant de façons dont les logiciels ne parviennent pas à maintenir l’intégrité des données.
10. Défaillances de journalisation et de suivi de la sécurité
La surveillance des journaux est une partie cruciale de tout programme de sécurité. Il s’agit de l’une des zones les plus importantes de la gestion des journaux qui aide les entreprises à détecter et à analyser les événements de sécurité en quasi temps réel. Pourtant, dans 40% des organisations, les systèmes de gestion des journaux ne peuvent pas détecter et analyser les événements de sécurité en quasi temps réel. La raison en est que la surveillance des journaux est souvent insuffisamment personnalisée et gérée.
Pourquoi le test de pénétration OWASP est-il important?
Le test de pénétration OWASP est une partie intégrante de tout programme de sécurité. Il aide l’organisation à trouver et à corriger les risques de sécurité avant que les pirates ne les exploitent. Le test de pénétration OWASP est une approche systématique qui identifie les vulnérabilités dans la conception, le code et les systèmes de soutien d’une application (tel que le réseau, le matériel et les services hébergés) et détermine comment un attaquant peut infiltrer l’application.
Les tests de pénétration et autres pratiques de sécurité, telles que l’analyse des risques et l’examen du code source, peuvent vous aider à construire et à maintenir une entreprise sécurisée.
Trois avantages du test de pénétration OWASP
- Le Top 10 de l’OWASP est une liste des vulnérabilités de sécurité les plus courantes. Le test de pénétration OWASP se concentre sur cette liste et aide les entreprises à découvrir les risques de sécurité.
- Le test de pénétration OWASP est également utile pour découvrir et documenter les vulnérabilités, ce qui peut aider les administrateurs système à hiérarchiser leurs efforts de sécurisation du système.
- Le test de pénétration OWASP peut vous aider à atteindre des normes de sécurité communes telles que HIPPA, PCI DSS, SOC2.
5 meilleures pratiques pour éviter les vulnérabilités
1. Mettre en place une authentification à plusieurs facteurs
L’authentification à plusieurs facteurs est une mesure de sécurité qui vous demande de fournir plus d’une forme d’identification avant d’accéder à un système ou à un service. Un schéma d’authentification à plusieurs facteurs peut être un mot de passe, un code PIN ou une empreinte digitale.
2. Valider les entrées utilisateur
La validation des entrées est la première étape pour sécuriser votre application contre les attaques malveillantes. Elle peut être définie comme un processus de vérification et de test d’une entrée fournie par l’utilisateur ou l’application pour s’assurer qu’elle ne pose aucun problème de sécurité ou d’intégrité. Cela peut être fait en validant le type, le format, la longueur, la plage, la cohérence, etc. des données d’entrée. La validation des entrées peut être largement classée en deux catégories :
- Validation côté client
- Validation côté serveur
3. Mettre en place la cryptographie
La cryptographie est la pratique et l’étude des techniques de communication sécurisée. La cryptographie protège les informations sensibles, telles que les informations utilisées dans les transactions par carte de crédit, contre l’accès d’un attaquant.
Même si la cryptographie est utilisée depuis des milliers d’années, elle reste une partie essentielle de la sécurité des données aujourd’hui. La cryptographie est l’art de créer des codes et des chiffres qui rendent les messages illisibles par quiconque sauf les destinataires. C’est un moyen de stocker et de transmettre des informations en toute sécurité.
4. Gérer les contrôles d’accès
Une bonne gestion des contrôles d’accès est essentielle pour une application. L’élévation des privilèges est un type de risque de sécurité dans lequel un utilisateur à faible privilège peut accéder aux ressources de l’utilisateur avec des privilèges qui proviennent de l’absence ou de la mauvaise gestion des contrôles d’accès dans les applications. La bonne gestion de ces privilèges peut contribuer à prévenir ce risque.
5. Gérer correctement les erreurs
La gestion des erreurs et la journalisation sont deux des choses les plus importantes à prendre en compte lors de la création d’outils de développement. La gestion des erreurs est la capacité du code à anticiper les situations d’erreur et à fournir le meilleur résultat possible.
La journalisation est la capacité de la gestion des erreurs à suivre ces erreurs soit par un fichier journal, soit en mémoire. Lors de la création d’outils de développement, la gestion des erreurs et la journalisation sont les choses les plus importantes à retenir.
La liste des bonnes pratiques de codage sécurisé ne se limite pas aux techniques mentionnées ci-dessus. Consultez la liste de contrôle de codage sécurisé ultime d’Astra pour vous débarrasser des risques de sécurité.
Conclusion
Le test de pénétration OWASP vise à s’assurer que les failles de sécurité ne sont pas présentes dans les applications. Ce test permet de vérifier les vulnérabilités présentes dans l’application. Chez Astra, nous pensons qu’il est de notre devoir d’aider les entreprises à créer des applications sécurisées. En ce qui concerne la sécurité des applications, les entreprises doivent savoir que leurs applications sont sécurisées et suffisamment sécurisées.
FAQs