Saviez-vous que 71 % des organisations ont des problèmes permanents de sécurité des applications et que près de la moitié d’entre elles – 46 % – ont des bogues persistants classés comme étant leurs risques de sécurité les plus critiques ? Dans la pratique, cette situation est une bombe à retardement qui pose un sérieux problème à l’organisation. Que vous soyez programmeur, administrateur système ou responsable de la sécurité, il est essentiel de comprendre ces vulnérabilités de sécurité OWASP pour vous protéger des cyberattaques.
À mesure que la technologie évolue, les risques pour la sécurité des applications Web augmentent. Comme le montre le graphique ci-dessous, 70 % des applications présentent des bogues figurant dans le Top 10 de l’OWASP, une initiative visant à recenser les menaces les plus graves pesant sur les applications Web.
Pour le Common Weakness Enumeration (CWE) Top 25 – une autre initiative visant à suivre les vulnérabilités de sécurité les plus courantes et les plus influentes – cette statistique baisse légèrement à 41 % de toutes les applications. Selon l’évaluation du rapport de février 2024 de Veracode, la moitié des applications présentent des failles considérées comme élevées (ou très élevées).
Cela montre bien qu’avec l’augmentation du nombre de cyberattaques et leur cout qui se chiffre en millions, la protection de l’intégrité de vos logiciels et de vos données contre les atteintes à la sécurité devrait être la première préoccupation des entreprises de toutes tailles. Dans cet article, nous allons examiner de plus près les menaces les plus courantes pour la sécurité des applications évoquées dans les rapports Top 10 de l’OWASP et les moyens de les prévenir.
Sommaire
Qu’est-ce que l’OWASP et pourquoi a-t-il été créé ?
L’OWASP (Open Web Application Security Project) est une organisation internationale à but non lucratif qui se consacre à l’amélioration de la sécurité des applications Web. Fondée en 2001, elle compte plus de 32 000 bénévoles du monde entier et met gratuitement à disposition ses ressources en matière de sécurité, telles que la documentation sur les outils, les vidéos et les forums.
Le produit le plus connu de l’OWASP est le projet OWASP Top 10, un rapport régulièrement mis à jour qui présente les dix principales menaces pour la sécurité des applications Web.
Lorsque l’on prend connaissance du Top 10 de l’OWASP, il faut se rappeler que cette liste n’est évidemment pas exhaustive de toutes les menaces possibles pour la sécurité des logiciels. Son objectif est plutôt de mettre en évidence les menaces les plus critiques pour la sécurité des applications Web, en fournissant un point de départ pour les experts et les professionnels des logiciels et de la sécurité.
Pourquoi le Top 10 de l’OWASP est-il important ?
La compréhension des lignes directrices et des normes de l’OWASP aide les développeurs à mettre à jour leurs connaissances sur les vulnérabilités et les menaces courantes afin qu’ils puissent sécuriser le code et réduire le risque de vulnérabilités dans leurs applications. En suivant les règles de programmation défensive et les lignes directrices de l’OWASP, les développeurs écrivent du code sécurisé, ce qui réduit la probabilité de failles de sécurité dans tout le cycle de développement du logiciel. Cette approche consciente de la sécurité ne protège pas seulement leurs applications, mais elle renforce également la confiance des clients, un facteur clé dans l’ère numérique actuelle où les violations de données sont monnaie courante.
L’OWASP est également reconnu comme la norme industrielle pour la sécurité des applications Web, qui s’engage à respecter les meilleures pratiques pour le développement de logiciels sécurisés. La liste OWASP Top 10 est également souvent utilisée comme référence par les auditeurs et les analystes de sécurité. Le fait de ne pas remédier aux vulnérabilités en matière de sécurité peut être le signe de problèmes qui se répercutent sur l’état général de la sécurité d’une organisation.
À quelle fréquence le Top 10 de l’OWASP est-il mis à jour ?
Depuis 2003, l’OWASP met à jour le Top 10 tous les trois ou quatre ans, afin de refléter les changements et les avancées dans le domaine de la sécurité des applications. Les classements sont entièrement basés sur des recherches contemporaines et des opinions recueillies auprès de la communauté mondiale des professionnels de la cybersécurité. La dernière mise à jour date de 2021 et met en évidence les nouvelles vulnérabilités et menaces apparues au fil du temps.
Il existe trois nouvelles catégories, dont quatre ont été renommées et leur champ d’application a été modifié. Elles se concentrent sur les causes de l’ataxie et pas seulement sur les symptômes (source : https://owasp.org/Top10/).
Explication des risques de sécurité les plus critiques
Le Top 10 de l’OWASP identifie et explique les menaces les plus répandues en matière de sécurité des réseaux, en donnant un aperçu des vulnérabilités connues et de la manière dont les attaquants les exploitent.
A01:2021-Contrôle d’accès non respecté.
Les failles de sécurité du contrôle d’accès se produisent lorsque nous n’appliquons pas de manière adéquate les restrictions sur les actions que les utilisateurs authentifiés peuvent effectuer. Les attaquants exploitent ces vulnérabilités pour obtenir un accès non autorisé à des fonctions, des données ou des ressources sensibles.
Comment prévenir les failles de sécurité ?
- mettre en place un contrôle d’accès au niveau de l’application et du serveur,
- appliquer le principe du moindre privilège,
- tester minutieusement le contrôle d’accès.
A02:2021 – Défaillances cryptographiques
Cette vulnérabilité se produit lorsque des données sensibles telles que l’exposition de données sensibles (mots de passe, numéros de cartes de crédit ou informations personnelles) sont mal protégées et exposées à des utilisateurs non autorisés.
Comment prévenir les failles de sécurité ?
- utiliser le cryptage,
- utiliser des protocoles de transmission sécurisés (tels que HTTPS),
- utiliser un contrôle d’accès approprié.
A03:2021 – Attaques par injection
Les vulnérabilités liées aux injections SQL se produisent lorsque des données non fiables sont envoyées à un interpréteur dans le cadre d’une commande ou d’une requête. Les attaquants exploitent ces vulnérabilités pour exécuter des commandes SQL malveillantes, obtenir un accès non autorisé aux bases de données et manipuler ou extraire des données sensibles.
Comment prévenir les failles de sécurité ?
- utiliser des requêtes strictement paramétrées,
- respecter les procédures de validation et de stockage des données.
A04:2021- Conception non sécurisée
Il s’agit d’une nouvelle approche des risques de sécurité souvent associés à des défauts de conception. La meilleure implémentation ne sécurisera pas une conception si des méthodes de protection contre des attaques précises n’ont pas été mises en œuvre au préalable.
Comment prévenir les failles de sécurité ?
- modéliser les risques,
- suivre des modèles et des principes de conception sécurisés.
A05:2021- Mauvaise configuration de la sécurité
Une autre vulnérabilité découle d’une mauvaise configuration des paramètres de sécurité, tels que les mots de passe par défaut, les services inutiles ou les contrôles d’accès trop permissifs. Les attaquants exploitent ces mauvaises configurations pour obtenir un accès non autorisé, élever les privilèges ou compromettre les systèmes.
Comment prévenir les risques ?
- procéder à des évaluations régulières de la sécurité,
- mettre en œuvre des outils de gestion automatisée de la configuration.
A06:2021 – Composants vulnérables et obsolètes
De nombreuses applications Web reposent sur des bibliothèques, des frameworks ou des composants tiers qui peuvent présenter des failles de sécurité. Un attaquant peut exploiter ces vulnérabilités pour obtenir un accès non autorisé ou exécuter un code arbitraire.
Comment les prévenir ?
- mettre régulièrement le logiciel à jour,
- contrôler la sécurité,
- utiliser des outils d’analyse de la composition des logiciels pour identifier et corriger les vulnérabilités des composants tiers.
A07:2021 – Échec de l’identification et de l’authentification
Les vulnérabilités d’authentification permettent aux attaquants de pirater les comptes d’utilisateurs, les mots de passe, les jetons de session ou les clés. Les défaillances d’identification typiques comprennent les mots de passe faibles, les corrections de session, d’autres défaillances d’identification et d’authentification et des mécanismes d’authentification inadéquats.
Les stratégies d’atténuation comprennent
- mettre en œuvre de méthodes d’authentification sécurisées,
- appliquer des politiques de mots de passe solides,
- activer l’authentification multifactorielle,
- mettre régulièrement à jour les jetons de session.
A08:2021 – Défauts d’intégrité des logiciels et des données
Cette vulnérabilité fait référence au risque de modifications non autorisées des logiciels ou des données, qui peuvent entrainer de graves défaillances ou atteintes à l’intégrité des données. Lorsque l’intégrité des logiciels ou des données est défaillante, les attaquants peuvent altérer ou modifier le système, ce qui peut entrainer des failles de sécurité, une corruption des données ou une perte de confiance dans le système.
Les évaluations de la sécurité exigent une approche à multiples facettes, notamment :
- mettre en œuvre des contrôles d’accès et des mécanismes d’authentification robustes pour limiter l’accès non autorisé aux données sensibles et aux ressources du système.
- Utiliser des techniques de cryptage et de hachage pour protéger les données au repos et en transit, garantissant que les données restent confidentielles et inviolables.
- mettre en œuvre des pratiques de codage sécurisées, telles que la validation des entrées et le codage des sorties, afin de prévenir les attaques par injection et d’autres formes de manipulation des données.
- auditer et surveiller régulièrement les journaux du système pour détecter les activités suspectes ou les modifications non autorisées, ce qui permet de détecter les incidents de sécurité et d’y répondre en temps utile.
- maintenir les logiciels et les composants de l’infrastructure à jour avec des correctifs et des mises à jour de sécurité afin de remédier aux vulnérabilités connues et de réduire le risque d’exploitation.
A09:2021 – Défaillances de l’enregistrement et de la surveillance de la sécurité
Cette vulnérabilité est liée à des déficiences dans la capacité d’une application à enregistrer de manière adéquate les évènements et les défaillances liés à la sécurité, ainsi qu’à l’absence de contrôle efficace de ces enregistrements. La journalisation et la surveillance de la sécurité sont des éléments essentiels de toute stratégie de sécurité solide, car elles fournissent une visibilité sur les activités se déroulant au sein d’une application ou d’un système, ce qui permet de détecter les incidents de sécurité et d’y répondre en temps utile.
Les stratégies d’atténuation comprennent
- Définir une stratégie de journalisation
- Centraliser les journaux dans un endroit sûr et mettre en place des contrôles d’accès appropriés pour empêcher tout accès non autorisé ou toute altération.
- Utiliser des outils et des techniques d’analyse des journaux afin d’identifier des modèles, des anomalies ou des indicateurs de compromission dans les journaux.
- Établir des procédures de réponse aux incidents qui décrivent les mesures à prendre en cas d’incident de sécurité, y compris la manière d’analyser les journaux, de faire remonter les alertes et d’atténuer les menaces de manière efficace.
A10:2021- Falsification des requêtes côté serveur
Cette vulnérabilité survient lorsqu’un attaquant manipule un serveur pour effectuer des requêtes malveillantes en son nom. Cette vulnérabilité permet aux attaquants d’interagir avec des systèmes internes ou d’effectuer des actions auxquelles le serveur aurait normalement accès, ce qui conduit à un accès non autorisé aux données, à une élévation des privilèges côté serveur, voire à l’exécution de code à distance.
Les stratégies d’atténuation comprennent
- mettre en œuvre une validation stricte des entrées,
- procéder à un nettoyage des URL fournis par les utilisateurs
- restreindre les capacités du serveur à accéder aux ressources sensibles
- Utiliser la sécurité au niveau du réseau, comme les pare-feux et la segmentation
Recommandations de l’OWASP pour des applications sécurisées
L’organisation OWASP fournit un ensemble complet de recommandations pour les applications et les pratiques de sécurité. Ces recommandations servent de lignes directrices aux développeurs pour créer des applications sécurisées. Ces pratiques couvrent différents aspects, notamment :
- des mises à jour et des correctifs réguliers des logiciels peuvent prévenir d’éventuelles failles de sécurité,
- utilisation de bibliothèques et des cadres de codage sécurisés, dont la sécurité a été testée,
- des tests approfondis pour identifier et réparer les failles de sécurité. Cela comprend à la fois les tests automatisés et les tests manuels,
- adoption des normes et des lignes directrices de l’OWASP en matière de sécurité.
Résumé
En conclusion, l’OWASP fournit une aide précieuse pour assurer la sécurité des logiciels. Si nous comprenons et appliquons correctement les recommandations de la liste des 10 principales menaces et si nous suivons des pratiques sûres, nous pouvons clairement réduire le risque de failles de sécurité et protéger des données précieuses.
Bien entendu, le chemin vers le codage sécurisé des logiciels ne s’arrête pas avec le Top 10 de l’OWASP. Il s’agit d’un processus continu qui nécessite des mises à jour régulières, un apprentissage permanent et l’application diligente des meilleures pratiques. Si vous souhaitez en savoir plus sur la manière dont nous assurons la sécurité de tous les composants et toutes les applications que nous déployons, n’hésitez pas à nous contacter ; nous serons heureux de partager notre expérience et de vous conseiller sur les bonnes solutions.