Skip to content

Le top 10 Owasp

Par Nicolas Dewaele
Ingénieur systèmes et sécurité
adminrezo.fr

Document sous licence CC BY-SA

L'OWASP est une organisation à but non lucratif qui tous les 4-5 ans fait un état des lieux des principaux risques liés aux applications Web.

Le dernier en date est de fin 2017 et voiçi une revue du top 10.

1- L'injection

Explications

L'injection est un envoi d'informations à un interpréteur qui, ayant été mal vérifiées, contiennent des commandes à exécuter (SQL, NoSQL, LDAP, système).

Ce type d'attaque permet de récupérer/modifier/détruire (CRUD) des données sans en avoir l'autorisation ou l'accès.

Causes

Elle est souvent due à une mauvaise vérification des données entrées par l'utilisateur.

Prévention

Vérifier les données d'entrée côté client et côté serveur.

WAF.

2- L'authentification cassée

Explications

Ce type d'attaque concerne les fonctions de gestion des sessions utilisateurs, de manipulation des utilisateurs, mots de passe et autorisations.

Causes

Elle est souvent due à une mauvaise utilisation des librairies/fonctions d'authentification et de maintien de la session utilisateur.

Prévention

Ne jamais écrire soi-même une librairie de chiffrement ou de gestion des authentifications.

Utiliser des systèmes d'authentification forte (MFA, SSO, ...)

3- Exposition de données sensibles

Explications

Ce type d'attaque concerne des données sensibles de l'entreprise qui ne sont pas suffisament protégées.

Causes

Elle est souvent due à un défaut de chiffrement et/ou d'autorisation d'accès.

Prévention

Revue et correction régulière des droits d'accès.

Scans de sécurité.

4- Xml External Entities

Explications

Ce type d'attaque concerne l'implémentation de parseurs XML qui incluent des entitées XML externes à l'intérieur du document.

http://www.ajlsm.com/formation/xml/notes/html/xml/docs/entites.html

Causes

Elle est souvent due à l'utilisation d'interpréteurs XML trop agés ou mal configurés.

Prévention

Utiliser des parseurs modernes.

Préférer des types de données comme JSON ou YAML.

WAF.

5- Contrôle d'accès cassé

Explications

ce qui permet à un utilisateur d'accéder à des données auxquel il ne devrait pas avoir de droit d'accès.

Causes

Les droits d'accès des utilisateurs qui ne sont pas toujours définis de manière très fine.

Prévention

Revue et correction régulière des ACL, des rôles et des droits applicatifs.

6- Mauvaise configuration de sécurité

Explications

C'est le problème le plus rencontré :

Une mauvaise configuration de la sécurité du système d'information en général (qui peut être au niveau de l'infrastructure comme de l'application).

Causes

Souvent dû à une configuration par défaut trop faible, mal sécurisée telle que de mauvaises en-têtes HTTP, des erreurs trop verbeuses, des configurations de développement qui ne sont pas changées pour passer en production.

Prévention

Durcissement des librairies, logiciels et systèmes.

Mises à jour de sécurité rapides.

Scans de sécurité.

7- XSS

Explications

Ce type d'attaque permet de faire exécuter du script côté client (HTML, CSS, JS).

Cela peut permettre de voler des sessions utilisateurs, de rediriger un utilisateur vers un autre site, ...

Causes

Les données d'entrée ne sont pas vérifiées correctement.

Prévention

Vérifier les données d'entrée, "échapper" les caractères dangereux.

WAF.

8- Désérialisation non sécurisée

Explications

Les objets sérialisés contiennent un ensemble de données.

En sortant une donnée d'une série, si cette donnée n'est pas vérifiée, cela peut mener à des exécutions de code à distance, des attaques par rejeu, par injection, des escalades de privilèges.

Causes

Non vérification des données et des types de données désérialisées.

Prévention

Interdire les objets sérialisés venant de zones non sûres.

Faire des contrôles d'intégrité des objets (signatures).

Journaliser et remonter les alertes de désérialisation.

9- Composants contenant des failles de sécurité connues

Explications

Les librairies, frameworks utilisent les même privileges que l'application. N'importe lequel des composants d'une application qui est vurnerable c'est toute l'application qui est compromise.

Causes

Composants obsolètes, pas de "patch management".

Prévention

Inclure la sécurité et la gestion des patchs de sécurité dans le cycle de vie de l'application.

10- Journalisation et supervision insuffisantes

Explications

La journalisation, la supervision et la gestion de la réponse à incident sont essentielles pour éviter qu'une attaque se prolonge, s'étendent et fasse plus de dégâts.

Causes

Le système de logs n'est pas assez (ou trop) verbeux, pas d'équipe pour réagir à un incident, pas de remontées d'alertes.

Prévention

SIEM (système de centralisation, analyse des logs et remontées d'alertes)

SOC (service de réponse à incident de sécurité).