• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 15/03/2023

Découvrez la dernière version du Top 10 de l’OWASP

Il existe une multitude d’attaques permettant de compromettre un système. Nous allons nous concentrer sur la sécurisation des applications web et les attaques les ciblant.

Les attaques web tirent parti des failles de sécurité (ou vulnérabilités) de vos applications web. Le Top Ten de l’OWASP est un document proposant une classification des vulnérabilités web les plus courantes ainsi que les contre-mesures associées. 

Découvrez comment le Top Ten de l’OWASP est utilisé par les entreprises

Avec l’évolution d’Internet, les plus grandes entreprises ont une présence significative en ligne, ce qui les oblige à fournir et à maintenir des applications web.

La plupart des processus internes utilisent également des applications web. Toute application qui traite des données sensibles peut être attaquée et nécessite donc une sécurité standardisée.

Les entreprises qui ne traitent pas de données sensibles, mais qui ont besoin d’une plateforme web pour leur business, sont également exposées aux attaques web.

Par exemple, une entreprise qui fournit des informations, comme un site d’actualité, peut ne pas avoir besoin des données personnelles de ses clients mais nécessite que le site web soit disponible pour permettre la continuité de service. Si une attaque faisait s’effondrer le site, cela aurait une incidence sur les revenus de l’entreprise.

Le Top Ten de l’OWASP fournit une base de référence avec une liste de contrôles à effectuer pour atténuer les risques les plus courants en matière de sécurité. Cette base de référence est également utilisée pour se conformer à des obligations légales, telles que l’obligation de sécurisation des données imposée par le RGPD. 

Appréhendez l’OWASP Top Ten

Dans le Top Ten de l’OWASP, les vulnérabilités sont classées par ordre d’importance du risque encouru. Les vulnérabilités présentes dans le Top Ten peuvent exister dans les applications web quel que soit le langage ou le framework utilisé. Il n’existe pas de langage de programmation exempt de vulnérabilités.

Voici les dix familles de vulnérabilités les plus souvent exploitées contre les applications web, selon le Top Ten de l’OWASP dans sa dernière version datant de 2021.

1 - Contrôles d’accès défaillants

Cette attaque vise les fonctionnalités des applications web qui nécessitent un contrôle d’accès. Dans ce cas, les pirates peuvent utiliser l’URL pour contourner l’authentification, par exemple. Ce type d’exploitation peut par exemple révéler comment une base de données est organisée ou permettre à un attaquant d’accéder à des données ou des fonctions censées être protégées (panneau d’administration, profils utilisateurs...).

2 - Défaillances cryptographiques

Les données stockées ou échangées via une application doivent être protégées pour éviter l’interception par une personne malveillante. Les bases de données qui enregistrent les données personnelles, les données de cartes de crédit, les noms d’utilisateurs et les mots de passe représentent une cible de choix pour un pirate. Si ces données ne sont pas chiffrées, elles ne sont pas sécurisées et peuvent être récupérées lorsqu’elles sont en transit par exemple. L’utilisation de techniques de chiffrement et de pratiques de sécurité peut atténuer ce type d’attaques.

3 - Injection

Une attaque par injection est une attaque permettant l’injection de code arbitraire dans l’application. Cela se produit lorsque des données non maîtrisées sont exécutées par le moteur présent sur le backend de l’application. Les données de l’attaquant sont exécutées sans autorisations adéquates.

L’injection de code non autorisé peut permettre à un attaquant de prendre le contrôle complet du système attaqué.

4 - Conception non sécurisée

La conception non sécurisée est une nouvelle catégorie, arrivée avec ce Top 10 édition 2021, et qui met en avant les défauts de conception. Si vous voulez fournir une application sécurisée, vous avez besoin de modèles de menaces, de principes de conception sécurisés et d’architectures de référence

Une conception non sécurisée ne peut pas être corrigée par une implémentation parfaite car, par définition, les contrôles de sécurité nécessaires pour se défendre contre certaines attaques n’ont jamais été créés.

5 - Mauvaise configuration de sécurité

Avec des logiciels de plus en plus paramétrables, il n’est pas surprenant de voir cette catégorie prendre de l’ampleur. Il s’agit là de problèmes liés à la configuration des différents composants d’une application, comme un serveur web ou les frameworks utilisés par exemple, mais aussi une mauvaise configuration de composant cloud, comme des buckets S3, ou des problèmes de configuration pour des applications “SaaS” (Software As A Service).

Il n’y a pas que le code en lui-même qui doit respecter les bonnes pratiques de sécurité, mais tous les composants, et à tous les niveaux.

6 - Composants vulnérables et obsolètes

Même si votre application est sécurisée, vous devez vous assurer que le framework, les bibliothèques, les appels API et la plateforme que vous utilisez ne sont pas vulnérables.

Lorsqu’une nouvelle vulnérabilité est découverte, un correctif est généralement proposé. Il faudra alors l’appliquer pour garantir la sécurité de l’application.

Des risques associés à des plug-ins ou des bibliothèques non à jour existent. Dernièrement encore, une faille de sécurité dans la bibliothèque Log4j a mis en avant des risques de grande ampleur !

7 - Identification et authentification de mauvaise qualité

Beaucoup d’applications exigent qu’un utilisateur se connecte pour arriver sur des pages auxquelles lui seul a accès. L’application est vulnérable à une attaque si un utilisateur malveillant peut obtenir un accès non autorisé aux mots de passe, clés et jetons pour pirater la session d’un autre utilisateur.

8 - Manque d’intégrité des données et du logiciel

Cette nouvelle catégorie se concentre sur les mises à jour logicielles, les données critiques ou encore les pipelines CI/CD.

Elle inclut par exemple les attaques de type “corruption de sources logicielle” (Supply-Chain Poisoning) qui déguisent des programmes malveillants en mises à jour attendues.

9 - Carence des systèmes de contrôle et de journalisation

Pour garantir la sécurité d’une application, il est nécessaire de surveiller et de monitorer les connexions. De nombreux serveurs vulnérables servent de rebond aux attaquants. La mise en place de monitoring permettra de détecter une anomalie sur le serveur.

10 - Falsification de requête côté serveur

La falsification de requête côté serveur, ou SSRF, pour Server-Side Request Forgery, est une faille qui peut se produire dès lors qu’une application web récupère des ressources distantes.

Elle permet d’interagir avec le serveur pour en extraire des fichiers ou des ressources internes au serveur.

Mais, est-il possible de sécuriser le code de toutes les attaques présentes dans le Top Ten de l’OWASP ?

Absolument !

Si vous utilisez les bonnes pratiques de sécurité et que vous êtes conscient des risques, vous avez une longueur d’avance !

Rappelez-vous que de nombreuses applications présentent des vulnérabilités communes telles que décrites dans l’OWASP. Apprendre à les connaître et utiliser des techniques simples de développement sécurisé dont nous parlerons dans ce cours vous aidera à créer un code de qualité !

En résumé

Comme vous avez pu le voir, il y a dix types d’attaques qui sont spécifiés dans OWASP :

  • les contrôles d’accès défaillants ;

  • les défaillances cryptographiques ;

  • l’injection ;

  • la conception non sécurisée ;

  • les mauvaises configurations de sécurité ;

  • les composants vulnérables et obsolètes ;

  • les identification et authentification de mauvaise qualité ;

  • le manque d’intégrité des données et du logiciel ;

  • la carence des systèmes de contrôle et de journalisation ;

  • la falsification de requête côté serveur.

Assurez-vous de bien comprendre la différence entre ces dix types d’attaques et la façon dont elles peuvent être liées à votre application web.

Après un bref quiz, nous verrons comment mettre en œuvre les bonnes pratiques de développement du Top Ten de l’OWASP pour améliorer la sécurité d’une application web.

Et si vous obteniez un diplôme OpenClassrooms ?
  • Formations jusqu’à 100 % financées
  • Date de début flexible
  • Projets professionnalisants
  • Mentorat individuel
Trouvez la formation et le financement faits pour vous
Exemple de certificat de réussite
Exemple de certificat de réussite