Le projet OWASP Sébastien GIORIA @ OSSIR Paris le 08 Juillet 2008 OWASP Copyright © 2008 - The OWASP Foundation Permission is granted to copy,
Download ReportTranscript Le projet OWASP Sébastien GIORIA @ OSSIR Paris le 08 Juillet 2008 OWASP Copyright © 2008 - The OWASP Foundation Permission is granted to copy,
Le projet OWASP Sébastien GIORIA @ OSSIR Paris le 08 Juillet 2008 OWASP Copyright © 2008 - The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License. The OWASP Foundation http://www.owasp.org Agenda L’OWASP Les publications de l’OWASP Les outils Le Top 10 © 2008 - S.Gioria && OWASP Sébastien Gioria Consultant indépendant en sécurité des systèmes d’informations. +10 ans dans le domaine de la sécurité informatique (banque, assurance, télécoms, …) Représentant Français de l’association américaine. © 2008 - S.Gioria && OWASP Le constat actuel Le système d’information s’ouvre : Architectures orientées services Intégration de partenaires « multi-play/multi-canal » : Internet, Téléphone, Mail, Vidéo, … La sécurité aujourd’hui Niveau Niveau Niveau Niveau Niveau 1 2 3 4 8 : Le cable : VLAN : Liste de contrôle d’accès à 7 : Firewall, Proxy, IDS, IPS : L’utilisateur © 2008 - S.Gioria && OWASP Making Application Security Visible © 2008 - S.Gioria && OWASP 5 L’OWASP OWASP : Open Web Application Security Project Indépendant des fournisseurs et des gouvernements. Objectif principal : produire des outils, documents et standards dédiés à la sécurité des applications Web. Toutes les documentations, standards, outils sont fournis sous le modèle de l’open-source. Organisation : Réunion d’experts indépendants en sécurité informatique Communauté mondiale(plus de 100 chapitres) réunie en une fondation américaine pour supporter son action. L’adhésion est gratuite et ouverte a tous En France : une association; pour supporter les problèmes juridiques francais. Le point d’entrée est le wiki http://www.owasp.org © 2008 - S.Gioria && OWASP Google Trends Data for: Buffer overflow XSS © 2008 - S.Gioria && OWASP Thank You 7 Organisation de l’OWASP OWASP OWASP Conferences OWASP Governance OWASP Wiki OWASP Tools OWASP Lists OWASP Books OWASP Community OWASP Chapter Leaders OWASP Project Leaders OWASP Foundation (501c3) Board of Directors (Williams, Wichers, Brennan, Cruz, and Deleersnyder) Board of Advisors Operation s Director (McNamee) Technical Director (Casey) © 2008 - S.Gioria && OWASP Finances and Grants OWASP Grants OWASP Autumn of Code 2006 $20,000 budget 100% OWASP Spring of Code 2007 $117,500 budget OWASP Summer of Code 2008 55% $126,000 budget OWASP Foundation 45% © 2008 - S.Gioria && OWASP 9 OWASP Is Alive! 2009 … 2007 2005 2003 2001 © 2008 - S.Gioria && OWASP 10 L’OWASP 420 000 pages vues par mois 15 000 téléchargements par mois 11 335 membres sur les listes 3 687 utilisateurs du Wiki 1 500 MAJ du Wiki par mois 110 chapitres mondiaux 100 membres individuels 48 outils/projets/documents 38 membres entreprise 25 projets fondés et soutenus dans la communauté 1 employé © 2008 - S.Gioria && OWASP OWASP SoC 2008 – AppSec Innovation AppSensor Teachable Static Analysis Workbench XML/WS Testing Tool AntiSamy .NET Positive Security Project JSP TagLib Tester Online Code Signing Service Access Control Rules Tester © 2008 - S.Gioria && OWASP 12 OWASP KnowledgeBase •3,913 total articles •427 presentations •200 updates per day •179 mailing lists •180 blogs monitored •31 doc projects •19 deface attempts •12 grants © 2008 - S.Gioria && OWASP OWASP Tools and Technology • Vulnerability Scanners • Static Analysis Tools • Fuzzing • Penetration Testing Tools • Code Review Tools • ESAPI Automated Security Verification Manual Security Verification • AppSec Libraries • ESAPI Reference Implementation • Guards and Filters • Reporting Tools • Flawed Apps • Learning Environments • Live CD • SiteGenerator Secure Coding AppSec Management AppSec Education Security Architecture © 2008 - S.Gioria && OWASP 14 OWASP en France Un Conseil d’Administration (association loi 1901) : Président/évangéliste/relations publiques : Sébastien Gioria Vice-Président et responsable du projet de traduction : Ludovic Petit Secrétaire et Responsable Juridique : Estelle Aimé Un Bureau : Le CA Romain Gaucher : chercheur au NIST Mathieu Estrade : développeur apache © 2008 - S.Gioria && OWASP OWASP en France Projets : Top 10 : finalisé, marketing viral en cours Guide : En gestation SoC 2008 : divers review de projets Questionnaire a destination des RSSI sur le sujet : en cours Interventions : Infosecurity 2007 Microsoft TechDays 2008 Infosecurity 2008 Sensibilisation / Formations : Mutuelle d’assurance (Java/PHP) Société d’EDI (JAVA / .NET) Opérateur Téléphonie mobile (PHP) Ministère de l’intérieur – SGDN Conférences dans des écoles a venir © 2008 - S.Gioria && OWASP Les publications Toutes les publications sont disponibles sur le site de l’OWASP: http://www.owasp.org L’ensemble des documents est régi par la licence GFDL (GNU Free Documentation License) Les documents sont issus de différentes collaborations : Projets universitaires Recherche & développements des membres © 2008 - S.Gioria && OWASP Les publications majeures Le TOP 10 des vulnérabilités applicatives Le guide de conception d’applications Web sécurisées Le FAQ de la sécurité des applications Le guide « les 10 commandements sur l’écriture d’une application non sécurisée » © 2008 - S.Gioria && OWASP Les Guides 100% Libres. Issus de l’expérience de milliers d’experts à travers le monde OWASP guide Un ouvrage pour la création d’applications Web sécurisées à l’intention des : Développeurs Architectes … Inclus les meilleurs pratiques dans différents langages (PHP, Java, .Net, …) Plusieurs centaines de pages OWASP Testing guide Ouvrage dédié à l’audit sécurité des applications Web à l’intention des pen-testeurs principalement. © 2008 - S.Gioria && OWASP OWASP Enterprise Security API (ESAPI) Un framework de sécurité pour les développeurs Permettre de créer une application Web Sécurisée Classes Java Disponible sur le site de l’OWASP En cours de portage pour le SoC 2008 sur .NET et PHP © 2008 - S.Gioria && OWASP WebGoat - WebScarab WebGoat : Application Java serveur (JSP, JEEE) non sécurisés. Sert a démontrer les failles, leur principe et a éduquer WebScarab : Application Java permettant d’effectuer des tests de sécurité : Sur les applications Web Sur les WebServices © 2008 - S.Gioria && OWASP Quelques outils Outil de génération de données aléatoires(Fuzzer) permettant d’injecter des données pour les tests JBroFuzz : Fuzzer destiné à tester les applications Web WS Fuzz : Fuzzer destiné à tester les WebServices. Sprajax Outil destiné a tester la sécurité des applications AJAX Et bien d’autres : http://www.owasp.org/index.php/Category:OWASP_Project © 2008 - S.Gioria && OWASP Le Top 10 Liste les 10 vulnérabilités des applications Web les plus rencontrées Mis a jour tous les ans D’importantes organisations l’ont adoptées dans leurs référentiels Federal Trade Commission (US Gov) US Defense Information Systems Agency VISA (Cardholder Information Security Program) – PCI/DSS Le NIST Des opérateurs Télécoms © 2008 - S.Gioria && OWASP Le Top 10 A1 - Cross Site Scripting (XSS) A2 – Faille d'injection A3 – Exécution de fichier malicieux A4 – Référence directe non sécurisée à un objet A5 – Falsification de requête inter-site (Cross Site Request Forgery CSRF) A6 – Fuite d'information et traitement d'erreur incorrect A7 – Violation de gestion d'authentification et de session A8 – Stockage cryptographique non sécurisé A9 – Communications non sécurisées A10 – Manque de restriction d'accès URL © 2008 - S.Gioria && OWASP A1 - Principe d’une attaque XSS But : Envoyer l’utilisateur vers un site Web malicieux Récupérer des informations contenues dans le navigateur Principe : Mail ou lien malicieux Exécution de code dans le navigateur Récupération de données : cookies, objets(IE) Envoi des données vers l’attaquant. Dangerosité : Passe outre les contrôles de sécurité (Firewall, IDS, …) Coupler à certaines attaques, cela permet d’accéder au LAN © 2008 - S.Gioria && OWASP A1 - Les protections Effectuer une validation en profondeur : Des headers, Des cookies, Des chaînes de requêtes, Des champs de formulaires, Et aussi des champs cachés, .NET: Utilisez la bibliothèque Microsoft Anti-XSS 1.5 disponible gratuitement sur MSDN : http://www.microsoft.com/downloads/details.aspx?Famil yID=efb9c819-53ff-4f82-bfafe11625130c25&DisplayLang=en Utiliser le projet des filtres OWASP(Java/PHP) : http://www.owasp.org/index.php/Category:OWASP_Filte rs_Project © 2008 - S.Gioria && OWASP A2 - Injection de données (SQL, LDAP, commandes, …) But : Corrompre des données d’une base, d’un annuaire. Récupérer des informations sensibles dans des bases ou annuaires Exécuter des commandes sur un système distant. Principe : Par la modification de la donnée attendue, la requête d’accès à une base SQL est modifiée. Dangerosité : Est-il utile de l’expliciter ? © 2008 - S.Gioria && OWASP A2 - Les protections Valider les données Renforcer les mécanismes du plus faible privilège. Java EE : utilisation de Spring et Hibernate .NET : utilisation de SqlCommand avec SqlParameter ou Hibernat PHP : utilisation de PDO © 2008 - S.Gioria && OWASP A3 - Exécution de fichier malicieux But : Installation de code sur le poste distant. Installation de rootkits Principe : Par la modification d’une donnée, un fichier de commande est envoyé sur le serveur et exécuté Dangerosité : Est-il utile de l’expliciter ? © 2008 - S.Gioria && OWASP A5 - Cross Site Request Forgery - CSRF But : Exécuter une action non désirée par un client sur un site. Récupérer des informations internes Principe : Exécution de requêtes sur un site malveillant de façon cachée (via une iframe par ex). Dangerosité : Passe outre les firewalls/IDS Permet d'accéder au LAN Interne Pas besoin de Javascript © 2008 - S.Gioria && OWASP A5 - Comment se protéger Vérifier que le code est immune aux vulnérabilités XSS… Ne pas utiliser GET pour les traitements sensibles Ajouter des jetons aléatoires et uniques qui ne peuvent être envoyés automatiquement par le navigateur Pour ASP.NET, utilisez ViewStateUserKey OWASP CSRF Guard, http://www.owasp.org/index.php/CSRF_Guard OWASP PHP CSRF Guard, http://www.owasp.org/index.php/PHP_CSRF_Guard © 2008 - S.Gioria && OWASP A6 - Fuite d’informations But : Récupérer de l’information sur l’application ou le système. Principe : Envoie de données provoquant une exception Dangerosité : Faible, mais néanmoins très utile pour un attaquant © 2008 - S.Gioria && OWASP A6 - Comment s’en protéger Désactiver ou limiter la gestion des erreurs/exceptions. Modifier le traitement d’erreur pour qu’il retourne une code HTTP 200 Ok. © 2008 - S.Gioria && OWASP A7 - Violation de session ou d’authentification But : Obtenir un jeton de session permettant alors de se faire passer pour un autre Principe : Modification des données de type ASPSESSIONID Dangerosité : Est-il utile de l’expliciter ? © 2008 - S.Gioria && OWASP A7 - Protection Utiliser uniquement des mécanismes de sessions internes aux librairies ou Framework Ne pas accepter des identifiants de sessions par défaut Éviter d'utiliser ou limiter l'utilisation de cookies personnalisés pour l'authentification © 2008 - S.Gioria && OWASP Les attaques sur les architectures WebServices XML Bomb : Trivial à effectuer : Référence récursive à une entité du même document : <?xml … …. <!entity owasp0 « Owasp »> <!entity owasp1 « &owasp0;&owasp0> …. …. <!entity owasp424242 « &owasp424241;&owasp424241 »> <owasptest>&owasp424242;</owasptest> Peut provoquer un déni de service ! © 2008 - S.Gioria && OWASP Les Attaques sur les architectures WebServices Injection XML Permet de modifier les données d’entrée d’un WebService. Injection Xpath/Xquery Permet d'exécuter des requêtes de façon similaire à SQL XSS && Injection SQL Même principe que dans une architecture classique. Mêmes dégâts possibles ! Bombes SOAP : Attaques en dénis de services via les tableaux SOAP Bombes XML + SOAP ….. © 2008 - S.Gioria && OWASP Les protections ultimes ? Former les développeurs au développement sécurisé ! Vérifier les données ! Tester son code ! Débrancher la prise Réseau….. © 2008 - S.Gioria && OWASP Q&R © 2008 - S.Gioria && OWASP