Durcissement de code - Sécurité Applicative Web

download Durcissement de code - Sécurité Applicative Web

of 34

Embed Size (px)

description

Durcissement de code - Pourquoi durcir son code ? Quand le faire ? Comment s’y prendre ? Cyrille Grandval & Maxence Perrin répondent à ces problématiques que se posent de nombreux acteurs du Web lors de la conférence d'ouverture de la 1ère édition du WebDay ESGI.

Transcript of Durcissement de code - Sécurité Applicative Web

  • 1. Pourquoi durcir son code? Quand le faire? Comment sy prendre? 12.06.2014 1er WebDay ESGI Paris Cyrille Grandval Consultant Scurit Applicative Maxence Perrin Dveloppeur PHP Scuris Durcissement de code
  • 2. Qui sommes nous? Cyrille Grandval Directeur gnral Consultant scurit Applicative cgrandval@darkmira.fr @CyrilleGrandval linkedin.com/in/cyrillegrandval Maxence Perrin Dveloppeur PHP scuris mperrin@darkmira.fr @Maxence_Perrin
  • 3. Darkmira Dveloppement PHP scuris Confiance Elitisme Qualit Dveloppement dapplications prennes, fiables et scurises Industrialisation du dveloppement Bonnes pratiques Mthodes de type Agiles Frameworks Symfony et Zend www.darkmira.fr
  • 4. Introduction
  • 5. Quelques faits Pourquoi durcir son code? 2011 : Piratage du Playstation Network, 77 millions de comptes vols Juin 2014 : Piratage du systme Pay by Phone Nice pour le paiement des places de Parking Avril 2014 : Vol dune partie des RIB des abonns de MediaPart Fvrier 2014 : Piratage des donnes personnelles des clients dOrange, 800 000 comptes vols Janvier 2014 : vol de 4,6 millions de pseudos et numros de tlphone de Snapchat Mars 2013 : 50 millions de mots de passes vols chez Evernote Avril 2014 : HeartBleed Faille de scurit dcouverte dans OpenSSL qui affectent des sites internet Avril 2014 : Piratage des donnes personnelles des clients dOrange, 1,3 millions de comptes vols
  • 6. Risques et impacts dune attaque Piratage Vol de donnes Altration de donnes Indisponibilit de lapplication Vol de proprit intellectuelle Perte dimage Perte de confiance / crdibilit Perte financire Responsabilit pnale / civile DEPOT DE BILAN RISQUESIMPACTS
  • 7. Un trs grand % de business sont bass sur une application Web Constat design dev test prod Cot PROACTIF REACTIF Application web Rseau systme % attaques Source Gartner % budget 75% 25% 10% 90%
  • 8. Evolution des attaques Bas sur les CVE http://cve.mitre.org/cve/ Baisse de moiti du nombre de vulnrabilits jusqu 2011 Augmentation jusquau niveau de 2009 partir de 2012 90% des failles ont une svrit de moyenne leve Baisse significative des failles de svrit leve jusqu 2011 et stagnation
  • 9. Evolution des attaques mobiles 2012 2013 99 96 % Applications testes vulnrables 2012 2013 13 14 Vulnrabilits moyennes par application Source : Cenzic - Application Vulnerability Trends Report : 2014
  • 10. Contexte juridique Un accroissement des responsabilits des dirigeants face la scurit des informations numriques + de protection des donnes + de traabilit Nul nest cens ignorer la loi Sensibilisation du personnel interne / externe Mettre lentreprise en conformit avec la lgislation Engagement de la responsabilit civile et / ou pnale Directive europenne : jusqu 5 ans demprisonnement et 300 000 euros damendes
  • 11. Lintgration de la scurit
  • 12. Prsentation de lOWASP OWASP : Open Web Application Security Project - Organisation mondiale but non lucratif http://www.owasp.org Son rle : sensibiliser la scurit applicative pour aider prendre les bonnes dcisions en matire de scurit des applications Evnements et prsence : Des confrences travers le monde Des listes de diffusion spcifiques Des chapitres locaux Liste des projets de lOWASP : https://www.owasp.org/index.php/Category:OWASP_Project Des matriels : 50% de documentations (Top10, Cheats Sheets, Normes, Guides, ) 40% doutils (Samy, ZAP) 10% de code (Librairies)
  • 13. Cycle de vie de lapplication Intgrer les proccupations de scurit ds le dbut du cycle et non la fin Dfinition des besoins Dtermination des besoins scurit Revue de code scurit Tests de scurit Scurit du dploiement Audit de scurit Cycle de vie de dveloppement Cycle de vie de scurit Architecture et conception Dveloppement Test Dploiement Maintenance Revue scurit de conception
  • 14. Processus de contrle de la scurit dune application web en 4 niveaux : Niveau 0 (Superficiel) : critres minimums de vrification dfinie par chaque socit Niveau 1 (Opportuniste) : protge contre les failles faciles dcouvrir Niveau 2 (Standard) : dfend contre les failles courantes avec un risque de modr srieux Niveau 3 (Avanc) : dfend contre les failles avances et dmontre de bonnes pratiques de conception scuris Source : OWASP ASVS 2013 bta - https://docs.google.com/document/d/1B5Ho1iapIEIgxdyua_A7TxwyrY-ts7qUz9NEdxj8tZ4/edit OWASP : Standard de Vrification de la Scurit des Applications (2013) Qualifier lapplication avec lASVS
  • 15. Qualifier lapplication avec lASVS LASVS dfinit 13 groupes dexigences de vrification et des points de vrification par groupes pour un ou plusieurs niveaux.
  • 16. Vulnrabilits des applications Web
  • 17. Top 10 des attaques les plus rpandues A1 - Injections A10 Redirections et renvois non valids A4 - Rfrences directes non scurises un objet A7 Manque de contrle daccs au niveau fonctionnel A2 - Violation de Gestion d'Authentification et de Session A5 Mauvaise configuration Scurit A3 - Cross-Site Scripting (XSS) A6 Exposition de donnes sensibles A8 - Falsification de requte intersite (CSRF) A9 - Utilisation de composants avec des vulnrabilits connues Owasp Top 10 2013 Liste des attaques les plus rpandues par catgorie Explication, exemples dexploitations et contremesures Document mis jour tous les 3 ans Objectifs : 1/ Sensibiliser les acteurs du SI 2/ Fournir des techniques de bases pour se protger
  • 18. Injection SQL Dfinition Injection de code SQL Altration de la requte dorigine Requte dorigine SELECT * FROM user WHERE login = . $_POST[login] . AND password = . $_POST[password] . Injection : OR 1 = 1 SELECT * FROM user WHERE login = OR 1 = 1 AND password = OR 1 = 1
  • 19. Injection SQL Faille toujours dactualit Sen prmunir Ne pas afficher vos messages derreurs Requte prpare, Procdure stocke Dmonstration fin de sance
  • 20. Dfinition Insertion de code malveillant (Javascript, VBScript, ) dans application Web Script interprt ct client Action possible : Vol de cookie de session mais pas que Trois types dattaque Reflected Permanent DOM-based XSS
  • 21. XSS - Reflected Le code malveillant de lattaquant est intgr sans contrle, dans la page web par le serveur
  • 22. XSS - Permanent Le code malveillant de lattaquant est stock dans un backend puis retourn par le serveur dans la page web
  • 23. XSS - Permanent
  • 24. XSS DOM based Le code malveillant de lattaquant est intgr dans les donnes gnres directement par le navigateur (cte client)
  • 25. C