Comment se protéger contre le TOP 10 de l'OWASP ?
L’Open Web Application Security Project (OWASP) est une communauté ouverte, regroupant des experts en sécurité des applications du monde entier, chacun partageant son expertise et travaillant en collaboration pour identifier les failles de sécurité les plus importantes inhérentes aux applications et services Web.
Qu’est-ce que le Top 10 de l’OWASP ? Comment protéger vos applications contre les attaques figurant dans le Top 10 de l’OWASP ? Quelles sont les recommandations OWASP en matière de sécurité d’applications web ?
L’Open Web Application Security Project (OWASP) est une communauté ouverte, regroupant des experts en sécurité des applications du monde entier, chacun partageant son expertise et travaillant en collaboration pour identifier les failles de sécurité les plus importantes inhérentes aux applications et services Web. Initialement enregistrée en 2004 aux États-Unis et en 2011 en Europe, cette communauté s’est considérablement développée au fil des années et est aujourd’hui reconnue mondialement comme une organisation leader dans le domaine de la sécurité des systèmes d’information.
Son top 10 des failles les plus significatives constitue un standard utilisé par la majorité des acteurs du monde de la cybersécurité et sert de référence pour un nombre considérable de réglementations (PCI DSS, NIS, GDPR et HIPAA).
Quelles vulnérabilités font parties de l’Open web application security project top 10 ?
Top 10 failles Owasp
Broken Access Control, Cryptographic failures, Injection, Insecure Design, Security Misconfiguration, Vulnerable and Outdated Components, Identification and Authentification Failure, Software and Data Integrity Failures, Security Logging and Monitoring Failures, Serber-Side Request Forgery… Découvrez ces vulnérabilités en détail.
Broken Access Control
C’est quoi le Broken Access Control ?
Le « broken access control », ou contrôle d’accès défaillant en français, est une faille de sécurité courante dans les systèmes informatiques. Cette faille se produit lorsque les mécanismes de contrôle d’accès d’un système ne fonctionnent pas comme prévu, permettant à des utilisateurs non autorisés d’accéder à des ressources sensibles ou à des fonctionnalités auxquelles ils ne devraient pas avoir accès.
Très souvent, des restrictions d’accès pour les utilisateurs ne sont pas en œuvre efficacement.
Impacts :
- Utilisation des fonctions administrateur
- Modification des données et accès
- Fuites de données
Bonnes pratiques :
- Refuser toutes les ressources extérieures
- Minimiser le partage de ressources externes (cors)
Lire l’article sur la vulnérabilité Path Transversal pour en savoir plus.
Cryptographic Failures
Une mauvaise utilisation de la cryptographie avec des clés faibles, une mauvaise encryptions ou l’utilisation de fonctions de hash trop anciennes peut amener à des vulnérabilités dans l’applications web.
Impact :
- Divulgation des données
- Vol d’identité
- Vol de compte
Bonnes pratiques :
- Stocker uniquement les données nécessaires
- Crypter toutes les données
- Implémenter le protocole HTTPS
- Utiliser des clés fortes
- Utiliser des mécanismes d’encryption récent
Avec Cloud Protector :
Limite de la taille des en- têtes http, limite du nombre de requête, passage du site en HTTPS
Injections
Les injections (SQL, commandes, LDAP, XPath} se produisent lorsque des données non sécurisées sont envoyées à un interpréteur sous forme de commande ou de requête.
Impact :
- Perte, corruption où divulgation de données
- Vol de compte ou refus d’accès
- Prise de contrôle de l’hôte
- Scan du serveur
Bonnes pratiques :
- Eviter l’utilisation d’interpréteur de commande
- Utiliser des interfaces
- Créer une liste d’entrées autorisée
- Echapper les entrées utilisateurs
- Contrôler les fuites de données massives
Lire les articles suivants :
Command injection
SQL Injection
Insecure design
Le concept d’insecure design signifie que la sécurité n’est pas intégrée dans le développement d’une application. Ce n’est pas une vulnérabilité mais plus un problème dans l’organisation des équipes.
Impact : un attaquant peut utiliser n’importe quelle vulnérabilité du top 10 de l’OWASP
Bonnes pratiques :
- Utilisation de pattern de design sécurisés
- Ecriture de tests unitaires et fonctionnels
- Passer du DevOps au DevSecOps
Cloud Protector : application de patch virtuels pour empêcher l’exploitation de vulnérabilités
Security Misconfiguration
Utilisation d’une configuration par défaut ou non utilisées. En-têtes HTTP contenant des messages d’erreurs avec des informations sensibles.
Impact :
- Utilisation des fonctions administrateur
- Fuites de données
- Compromission du serveur
- Scan du serveur
- Attaques DDoS
Bonnes pratiques :
- Supprimer les fonctions non utilisées
- Vérifier la configuration d’erreurs
- Avoir une architecture segmentée
- Tests automatisés
Avec Cloud Proector :
- Interception des messages d’erreur
- Utilisation d’une « Blacklist » (XEE)
Vulnerable and outdated components
De manière générale, les librairies, frameworks, etc. ont le même niveau de privilège que l’application qui es utilise.
Impact : Un attaquant peut utiliser n’importe quelle vulnérabilité du top 10 de l’OWASP
Bonnes pratiques :
- Supprimer les fonctionnalités inutilisées
- Mettre à jour les composants externes
- Télécharger les composants depuis une source officielle
Avec Cloud Protector : moteur de sécurité dédié (injection SQL etc), Patch Virtuels
Identification and Authentication Failure
Les fonctions d’authentification et de gestion de sessions sont mal configurées.
Impacts :
- Blanchiment d’argent
- Fraude de la sécurité sociale
- Vol d’identité
- Divulgation de données protégées
Bonnes pratiques :
- Authentification à plusieurs facteurs
- Changer les mots de passe
- Vérifier les mots de passe faibles
- Limiter le nombre de tentatives de connexion
Avec Cloud Protector :
- Limite de requêtes
- Réputation d’adresse IP
Software and data integrity failures
Conséquences d’une violation de l’intégrité, comme l’utilisation d’un CDN non-officiel ou une mauvaise gestion des objets sérialisés.
Impacts :
- Exécution de code arbitraire sur le serveur
- Utilisation de code vulnérable
Bonnes pratiques :
- Ajout d’une signature sur les objets sérialisé
- Vérifier les types
Avec Cloud Protector : utilisation d’une “Blacklist”
Security logging and monitoring failures
L’absence de surveillance et de log peut conduire à avoir un système sensible.
Impacts :
- Permet à un attaquant de continuer une attaque
- Une attaque ne sera pas détectée
Bonnes pratiques :
- Ajouter aux logs chaque alerte de sécurité avec son contexte
- Générer des logs au format JSON pour pouvoir les centraliser
Avec Cloud Protector :
- Panneau de contrôle
- Journal de log
Server-Side Request forgery
Une SSFR a lieu quand le backend d’une application est utiisé pour interagir avec des fichiers locaux où externes.
Impacts :
- Scan du serveur
- Fuite de fichiers
- Exécution de code
Bonnes pratiques :
- Désactiver les redirections http, utiliser une liste d’URL autorisées
- Générer des logs sur le trafic réseau
Avec Cloud Protector :
- Limite du nombre de requêtes
- Utilisation d’une “Blacklist”
Owasp top 10 et API
Le pare-feu applicatif web (WAF) protège les applications web et les API contre différentes attaques comme celles mises en évidence dans le Top 10 de l’OWASP (injections SQL, cross-site scripting (XSS) etc.), les attaques de déni de service (DoS) de la couche applicative comme les attaques d’amplification ou Slowloris, les attaques « zero day » etc. Il filtre, analyse et bloque le contenu des requêtes HTTP / HTTPS dans le trafic entrant, en fonction de leur comportement et de leur logique. Cela permet de protéger vos ressources web contre les utilisateurs malveillants et de distinguer les utilisateurs légitimes du trafic DDoS indésirable.