revenir_aux_articles
logo owasp

Sécurité web, notre équipe analyse le TOP 10 OWASP

L'IT et le Digital, au cœur de l'activité de la Junior-Entreprise

Dans un monde où le numérique prend de plus en plus d'ampleur, le nombre d'applications web ne cesse d'exploser. Source massive d'informations, parfois critiques et confidentielles, protéger ces sites des attaques est plus qu'une nécessité. C'est dans ce but que l'organisation caritative Open Web Application Security Projet (OWASP) a publié son top 10 des sécurités informatiques pour ces applications en 2017.

Mais qu’est-ce qu’OWASP ?

OWASP est une organisation caritative fondée en 2001 aux Etats-Unis et reconnue dans le monde entier. Cette association fonctionne comme une communauté en ligne travaillant sur la sécurité des applications web. Elle a la particularité d’être libre et ouverte à tous, tel un Wiki.

Que vous soyez directeur d'une grande entreprise, entrepreneur, employé ou simple particulier curieux, ce top 10 est l'opportunité d’en apprendre plus sur les failles les plus utilisées. Bien sûr, nous n’allons pas toutes les citer car ce serait bien trop long ! Nous allons en sélectionner quelques-unes afin de vous donner quelques idées de ce top 10.

I) Injections

La plupart des applications web sont reliées à une base de données. Celle-ci permet de stocker et de retrouver l'intégralité des données et informations en rapport avec votre application. Elle peut être localisée sur le même serveur que l'application ou bien sur un tiers serveur.

Les injections les plus connues sont les injections SQL. Lorsque vous naviguez sur votre application, vous interagissez avec la base de données en effectuant des requêtes. Par exemple, lorsque vous vous connectez à votre compte sur un site web, vous remplissez votre couple d'identifiants et, en cliquant sur « Se connecter », vos identifiants vont être comparés à ceux de la base de données afin de vérifier votre identité. L’exploitation de ces bases de données utilise un langage informatique appelé SQL.

L'injection SQL consiste à modifier la requête envoyée afin de contourner la vérification et ainsi récupérer des données, accéder à des pages normalement inaccessibles depuis l'application ou bien se connecter à un compte qui ne nous appartient pas.

Pour se protéger de ce genre d’attaque, il faut préparer ses requêtes en avance. Par exemple, si la requête de connexion ne contient comme paramètre qu’« identifiant » et « mot de passe », il faut empêcher toute modification de la requête qui permettrait par exemple de renvoyer tous les mots de passe de la base de données.

II) Violation de gestion d'authentification et de session

La portée de ces failles est importante. Contourner l'authentification d'une application web y donne un accès quasiment complet aux zones sensibles, aux comptes des utilisateurs ou même à un compte administrateur. Il s'agit ici d'un problème complexe à résoudre. Chaque site possédant son propre système d'authentification, il faudrait les conseiller spécifiquement sur comment contrer cette faille. Mais il existe aussi des conseils plus généraux.

Tout d'abord : avoir des mots de passe performants. Vous pouvez pour cela soit demander à vos utilisateurs de le faire eux-mêmes, soit tout simplement imposer un mot de passe complexe à retrouver, ajouter une authentification en amont ou bien un délai entre chaque requête. Cette dernière méthode est très utilisée pour les connexions afin d'empêcher ce qu'on appelle une attaque par force brute. Celle-ci permet de trouver tous les mots de passe en testant toutes les combinaisons possibles de caractères. Plus la longueur du mot de passe augmente et plus l'attaque sera complexe et les chances de réussir, nulles !

III) Références directes non sécurisées à un objet

Le principe, pour l'attaquant, est d'avoir accès à des informations dont il n'est pas censé avoir connaissance comme l’URL de l'espace administrateur par exemple.

De plus, des outils simples d'accès facilitent ce type d'attaque. Certains outils écoutent tous les échanges entre l'ordinateur de l'utilisateur et l'application web, d'autres encore vont jusqu'à éditer des requêtes avant de les envoyer au serveur. Sans protection, on peut ainsi accéder à n'importe quelle page d'un site web.

Cette faille, pourtant simple et répandue, reste l'une des premières testées par les attaquants car les URL sont parfois faciles à deviner et sans protection (« https://www.monSite.fr/admin » est simple à rentrer dans sa barre de recherche d’URL).

Comment s'en protéger ? En complexifiant ces URL. Le cas le plus simple est l’URL qui mène à un compte. Parfois, on remarque dans l’URL qu'il y a l'ID de notre compte, ce qui est tout de même facile à retrouver si l'on connait la forme de l’URL. Il ne faut donc pas utiliser un ID trivial mais plus complexe : « http://www.monsite.com/account?id=JLEKfeqx42zc73223 » est préférable à « http://www.monsite.com/account?id=35 »).

IV) Exposition de données sensibles

Ce point touche toutes les données non publiques telles que :

  • Les informations confidentielles de la société
  • Des informations clients
  • Des informations touchant votre réseau interne ou votre organisation
Il parait évident de mettre en place une politique de sécurité claire quant aux informations que vous considérez comme sensibles, confidentielles et publiques. En attribuant à chaque information un niveau de criticité, il devient plus facile d'avoir une politique adéquate sur la protection des informations.

Pourquoi garder les informations clients sur son ordinateur et ne pas les stocker sur un serveur plus sécurisé ?

Gardez en tête la politique de « store only what you need » qui est plus que vitale. Vous pouvez aussi chiffrer ce qui doit l'être tels que les mots de passe, les codes de carte bancaire ou même de simples mails ! Ainsi, même en cas d'injection SQL, aucune information ne peut être dérobée sans devoir être décryptée ensuite, ce qui permet de réagir à temps.

Enfin, vous pouvez tout simplement imposer des conditions pour avoir accès à certains fichiers : mot de passe, droit sur la session ou encore une clé de déchiffrage.

Alors, que vous soyez un particulier qui souhaite commander une application web ou une entreprise qui vend ses services de conception, avec les nouvelles lois en vigueur et le besoin accru de sécurité, n'hésitez pas à vérifier que ce top 10 soit respecté. Cela permettra de maximiser la protection et l'intégrité des données personnelles que vous transmettez ou que vous recevez !

Pour plus d’informations techniques concernant ces failles, nous vous proposons de vous référer directement au site OWASP : Site de l'OWASP

Notre plaquette