OWASP Open Web Application Security Project Jean-Marc Robert Génie logiciel et des TI
A1: Injection Une faille d'injection, telle l'injection SQL, OS et LDAP, se produit quand une donnée non fiable est envoyée à un interpréteur en tant qu'élément d'une commande ou d'une requête. Les données hostiles de l'attaquant peuvent duper l'interpréteur afin de l'amener à exécuter des commandes fortuites ou accéder à des données non autorisées. A2: Violation de gestion d authentification et de session Les fonctions applicatives relatives à l'authentification et la gestion de session ne sont souvent pas mises en œuvre correctement, permettant aux attaquants de compromettre les mots de passe, clés, jetons de session, ou d'exploiter d'autres failles d'implémentation pour s'approprier les identités d'autres utilisateurs. Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 2
A3: Cross-Site Scripting (XSS) Les failles XSS se produisent chaque fois qu'une application prend des données non fiables et les envoie à un browser web sans validation appropriée.xss permet à des attaquants d'exécuter du script dans le navigateur de la victime afin de détourner des sessions utilisateur, défigurer des sites web, ou rediriger l'utilisateur vers des sites malveillants. A4: Références directes non sécurisées à un objet Une référence directe à un objet se produit quand un développeur expose une référence à un objet d'exécution interne, tel un fichier, un dossier, un enregistrement de base de données, ou une clé de base de données. Sans un contrôle d'accès ou autre protection, les attaquants peuvent manipuler ces références pour accéder à des données non autorisées. Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 3
A5: Mauvaise configuration de sécurité Une bonne sécurité exige d'avoir une configuration sécurisée définie et déployée pour l'application, les contextes, serveur d'application, serveur web, serveur de base de données, et la plate-forme. Tous ces paramètres doivent être définis, mis en œuvre, et maintenu afin de ne pas comprendre de failles de sécurité. Ceci inclut de maintenir tous les logiciels à jour, y compris toutes les bibliothèques de code employées par l'application. A6: Stockage cryptographique non sécurisé Beaucoup d'applications web ne protègent pas correctement les données sensibles, telles que les cartes de crédit, SSNs, lesinformations d'authentification, avec un chiffrement ou un hash approprié. Les pirates peuvent voler ou de modifier ces données faiblement protégées pour perpétrer un vol d'identité et d'autres crimes, tels que la fraude à la carte de crédit. Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 4
A7: Manque de restriction d accès URL Beaucoup d'applications web vérifient les droits d'accès URL avant de rendre les liens protégés. Cependant, les applications doivent effectuer des contrôles d'accès similaires chaque fois que ces pages sont accédées, ou les attaquants seront en mesure de forger des URL pour accéder à ces pages cachées de toute façon. A8: Falsification de requête intersite (CSRF) Une attaque CSRF (CrossSiteRequestForgery) force le navigateur d'une victime authentifiée à envoyer une requête HTTP forgée, comprenant le cookie de session de la victime ainsi que toute autre information automatiquement inclue, à une application web vulnérable. Ceci permet à l'attaquant de forcer le navigateur de la victime à générer des requêtes dont l'application vulnérable pense qu'elles émanent légitiment de la victime. Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 5
A9: Using Components with Known Vulnerabilities Components, such as libraries, frameworks, and other software modules, almost always run with full privileges. If a vulnerable component is exploited, such an attack can facilitate serious data loss or server takeover. Applications using components with known vulnerabilities may undermine application defenses and enable a range of possible attacks and impacts. A10: Redirections et renvois non validés Les applications web réorientent et font suivre fréquemment les utilisateurs vers d'autres pages et sites web, et utilisent des données non fiables pour déterminer les pages de destination. Sans validation appropriée, les attaquants peuvent rediriger les victimes vers des sites de phishing ou de logiciel malveillant, ou utiliser les renvois pour accéder à des pages non autorisées. Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 6
n Open Web Application Security Project (OWASP) OWASP Top Ten 2013 Project n Site web: https://www.owasp.org/index.php/top_10_2013-table_of_contents Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 7
Évolution du top 10 Vulnérabilités 2013 2010 2007 A1 - Injection A1 A2 A2 - Violation d authentification A3 A7 A3 - XSS A2 A1 A4 - Références directes A4 A4 A5 - Mauvaise configuration A6 -- A6 - Stockage non sécurisé A7 A8 A7 - Restriction d accès URL A8 A10 A8 - CSRF A5 A5 A9 - Composantes vulnérables -- -- A10 - Redirections non validés A10 -- Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 8
OWASP Top 10 (2010) A9: Protection insuffisante de la couche Transport Les applications ont souvent du mal à authentifier, chiffrer et protéger la confidentialité et l'intégrité d un trafic réseau sensible. Quand elles le font, elles supportent parfois des algorithmes faibles, utilisent des certificats expirés ou invalides, ou ne les emploie pas correctement. Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 9
OWASP Top 10 (2007) 2010 A3 - Malicious File Execution Code vulnerable to remote file inclusion (RFI) allows attackers to include hostile code and data, resulting in devastating attacks, such as total server compromise. Malicious file execution attacks affect PHP, XML and any framework which accepts filenames or files from users. A6 - Information Leakage and Improper Error Handling Applications can unintentionally leak information about their configuration, internal workings, or violate privacy through a variety of application problems. Attackers use this weakness to steal sensitive data, or conduct more serious attacks. A9 - Insecure Communications Applications frequently fail to encrypt network traffic when it is necessary to protect sensitive communications. Jean-Marc Robert, ETS MTI 719 - OWASP - A13 v1.0 10