Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20090929 04 - Securité applicative, hacking et risque applicatif

52 views

Published on

La sécurité de vos applications Web

Published in: Software
  • Be the first to comment

  • Be the first to like this

20090929 04 - Securité applicative, hacking et risque applicatif

  1. 1. ® IBM Software Group © 2004 IBM Corporation La Sécurité de vos Applications Web Kamel Moulaoui Kamel.moulaoui@fr.ibm.com
  2. 2. IBM Software Group | Rational software 2 Agenda Paysage de la Sécurité des applications Web Pirater un site web, est-ce facile? Les tests de sécurité dans le processus de developpement Questions réponses
  3. 3. IBM Software Group | Rational software 3 Nous utilisons des scanners de vulnérabilité de réseau Nous utilisons des scanners de vulnérabilité de réseau Le mythe : « Notre site est sûr » Nous avons des Firewalls en place Nous avons des Firewalls en place Nous auditons nos applications périodiquement par des auditeurs externes Nous auditons nos applications périodiquement par des auditeurs externes SSéécuritcuritéé
  4. 4. IBM Software Group | Rational software 4 Architecture Globale d'une Application Web Sécurisée L’Enterprise Internet Port Scanning DoS Anti- spoofing Known Web Server Issues Pattern- Based Attacks SQL Injection Cross Site Scripting Parameter Tampering Cookie Poisoning Serveur Web Serveurs d’Applications Bases de données Annuaire LDAP Contrôle d’accès et Firewall IDS/IPS Firewall applicatif SSL AV
  5. 5. IBM Software Group | Rational software 5 La couche application – Le maillon vulnérable * http://www.webappsec.org/projects/statistics/
  6. 6. IBM Software Group | Rational software 6 Structure d’une application Web La logique métier qui permet: L'interaction de l'utilisateur avec le site Web Transactions/interfaçage avec des systèmes back-end de données (bases de données, CRM, ERP, etc) Sous la forme de: Composants tiers; serveur web, serveur d’application etc Code développé en interne Les données échangées traversent les différentes couches de l’application Une faille présente dans une couche rend toute l’application vulnérable Serveur Web Code interface utilisateur Application Front end Application Back-end Base de Données Données Entrée utilisateur HTML/HTTP Navigateur
  7. 7. IBM Software Group | Rational software 7 NetworkNetwork Operating SystemOperating System ApplicationsApplications DatabaseDatabase Web Server Web Server Configuration Web Server Web Server Configuration Third-party ComponentsThird-party Components Web Applications Client-Side Custom Web Services Web Applications Client-Side Custom Web Services Où sont les Vulnérabilités? Réseau Sys. d’exploitation Applications Base de Données Serveur Web Configuration Serveur Web Composants Tiers Web Applications Client-Side Spécifique Web Services
  8. 8. IBM Software Group | Rational software 8 Agenda Paysage de la Sécurité des applications Web Pirater un site web, est-ce facile? Les tests de sécurité dans le processus de developpement Questions réponses
  9. 9. IBM Software Group | Rational software 9 Pirater un site web, est-ce facile? 3 exemples: Failles d’injection Cross Site Scripting (XSS) L’exécution de fichiers malicieux
  10. 10. IBM Software Group | Rational software 10 1 – Failles d’injection Se produisent lorsqu’une donnée fournie par l’utilisateur est envoyée à un interpréteur dans le cadre d’une commande ou d’une requête Permet aux attaquants de créer, lire, modifier ou effacer toute donnée arbitraire de l’application Plusieurs types d’injection de données : SQL, LDAP, XPath, XSLT, HTML, XML
  11. 11. IBM Software Group | Rational software 11
  12. 12. IBM Software Group | Rational software 12 SQL Injection User input inserted into SQL Command: Get product details by id: Select * from products where id=‘+ $REQUEST[“id”]’; Hack: send param id with a value of apostrophe (') or apostrophe equal sign ('=) Resulting executed SQL: Select * from products where id=‘’ or ‘’=‘’ All products returned
  13. 13. IBM Software Group | Rational software 13 SQL injection: exemple Exemple: http://demo.testfire.net/bank/login.aspx La commande SELECT : Username: jsmith Password: asdf SELECT _____ WHERE username=‘jsmith’ and password=‘asdf’
  14. 14. IBM Software Group | Rational software 14 SQL injection: exemple Exemple: http://demo.testfire.net/bank/login.aspx La commande SELECT : Username: jsmith Password: asdf SELECT _____ WHERE username=‘jsmith’ and password=‘asdf’ Username: jsmith’ Password: asdf SELECT _____ WHERE username=‘jsmith’’ and password=‘asdf’ Username: ‘ or True -- Password: asdf SELECT _____ WHERE username=‘’ or 1=1 --’ and password=‘asdf’
  15. 15. IBM Software Group | Rational software 15 Injection SQL - Exemple
  16. 16. IBM Software Group | Rational software 16 Injection SQL - Exemple
  17. 17. IBM Software Group | Rational software 17 Injection SQL – Exemple
  18. 18. IBM Software Group | Rational software 18 Injection SQL – Résultat
  19. 19. IBM Software Group | Rational software 19 2. Cross-Site Scripting (XSS) Permet aux attaquants d'exécuter du script dans le navigateur de la victime Commun dans les pages de recherche et d’erreur Mais peut se retrouver dans n’importe quel type de page Ceci permet au pirate de… Voler les jetons de sessions (et donc détourner la sécurité du navigateur) Défacer des sites web Insérer du contenu hostile
  20. 20. IBM Software Group | Rational software 20
  21. 21. IBM Software Group | Rational software 21 XSS – Exemple Code HTML:
  22. 22. IBM Software Group | Rational software 22 Exploitation du XSS Un utilisateur malveillant pourrait créer une image de bannière, ou envoyer un e-mail en texte HTML Caché par le script actif, ce code html envoie un code JavaScript à la fenêtre de recherche sur l'application cible.
  23. 23. IBM Software Group | Rational software 23 XSS – Exemple Code HTML:
  24. 24. IBM Software Group | Rational software 24 Exploitation du XSS (suite) Code JavaScript incorporé dans le corps l’e-mail
  25. 25. IBM Software Group | Rational software 25 Cross Site Scripting – Le processus d’exploitation Evil.org User banque.com 1) Lien vers banque.com envoyé à l’utilisateur par courriel ou HTTP 2) L’utilisateur envoi le script 3) Script est retourné et exécuté par le navigateur 4) Le script envoi les jetons de session au pirate sans la permission de l’utilisateur 5) Evil.org utilise l’information volée pour se faire passer pour l’utilisateur
  26. 26. IBM Software Group | Rational software 26 L’exploitation du XSS En réusissant à exécuter du JavaScript sur un ordinateur, il devient possible de… Voler les jetons de session du domaine concerné Suivre toutes les actions qui seront réalisées dans ce navigateur Rediriger l’utilisateur vers un site de phishing Modifier le contenu d'une page visible par l’utilisateur Exploiter les vulnérabilités du navigateur pour prendre le contrôle de la machine à distance … XSS est la vulnérabilité la plus exploitée aujourd’hui
  27. 27. IBM Software Group | Rational software 27 3 - L’exécution de fichiers malicieux Plusieurs plateformes autorisent l’utilisation d’objets externes, comme des URLs ou des références au système de fichier. Lorsque les données ne sont pas correctement vérifiées, cela peut conduire à l’exécution d’un fichier malicieux Toute application web est vulnérable à l’exécution malicieuse de fichier si elle accepte des fichiers ou des noms de fichiers donnés par un utilisateur Permet à un attaquant : D’exécuter du code à distance D’installer des rootkits et compromettre un système Défacer des sites web
  28. 28. IBM Software Group | Rational software 28
  29. 29. IBM Software Group | Rational software 29 L’exécution de fichiers malicieux – Exemple
  30. 30. IBM Software Group | Rational software 30 L’exécution de fichiers malicieux – Exemple
  31. 31. IBM Software Group | Rational software 31 L’exécution de fichiers malicieux – Exemple
  32. 32. IBM Software Group | Rational software 32 Agenda Paysage de la Sécurité des applications Web Pirater un site web, est-ce facile? Les tests de sécurité dans le processus de developpement Questions réponses
  33. 33. IBM Software Group | Rational software 33 Vulnérabilités "Héritées" vs Vulnérabilités "Générées" Code non sécurisé développé par les équipes internes (ou les sous-traitants) Code non sécurisé développé par les éditeurs de logiciels Origine Instaurer un processus de contrôle sécurité sur tout le cycle de vie du logiciel Appliquer les patches fournis par les éditeursActions Correctives Tests spécifiques à chaque page, chaque paramètre, chaque cookie etc. Vérification de signatures et contrôle des configurations Détection Très élevé, si le processus reste manuel et réactif. Relativement faible: coût de la gestion de patches. Coût de la Sécurisation Aucune Descriptions publiées par les éditeurs et répertoriées par différents organismes (référence CVE) Information Disponible Applications métier spécifiques à l'entreprise Composants d'infrastructure et autres progiciels tiers Localisation ASV Application Specific Vulnerabilities CWV Common Web Vulnerabilities
  34. 34. IBM Software Group | Rational software 34 Modèle de maturité de la sécurité applicative Experts internes, audits réguliers Outils d'audit de type "desktop"TactiqueTactique Équipe interne dédiée aux tests et audits de sécurité des applications Audits internesAudits internes Contrôle sécurité sur tout le cycle de vie des applications Métriques au niveau entreprise pour l'ensemble des applications StratégiqueStratégique Audits sous-traitésAudits sous-traités Consultants, tests de pénétration sur quelques applications critiques FormationàlasécuritéFormationàlasécurité
  35. 35. IBM Software Group | Rational software 35 Réduire les coûts de la détection , Étendre la couverture Couverture des applications Coût par application testée Audits sous-traités Tactique Stratégique 100%0% 50% 75%25%
  36. 36. IBM Software Group | Rational software 36 Quel est le coût d'un défaut? Au cours de la phase de codage €25/défaut Au cours de la phase d’intégration €100/défaut En Exploitation €16,000/défautAu cours de la phase de test/QA €450/défaut L'augmentation des coûts de correction d’une anomalie.... 80% des coûts de développement sont consacrés à identifier et corriger les défauts!
  37. 37. IBM Software Group | Rational software 37 Modèle de maturité de la sécurité applicative Difficulté et cout des tests % Applications Testées élevée bas 0% 100% Equipe Securité Equipe Securité Equipe Securité Equipe Developpement Phase 1 Phase 2 Phase 3 Criticité et Risques pour les App. Equipe AQ Equipe AQ
  38. 38. IBM Software Group | Rational software 38 Sécurité et conformité dans le processus de devp. Build Developers SDLCSDLC Developers Developers Coding QA Security Production Enable Security to effectively drive remediation into development Provides Developers and QA with expertise on detection and remediation ability Ensure vulnerabilities are addressed before applications are put into production Application Security Testing Maturity
  39. 39. IBM Software Group | Rational software 39 © Copyright IBM Corporation 2007. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. Pour en savoir plus: IBM Rational software IBM Rational Software Delivery Platform Process and portfolio management Change and release management Quality management Architecture management Rational trial downloads developerWorks Rational IBM Rational TV IBM Rational Business Partners

×