Owasp geneva-201102-trouvez vosbugslepremier

361 vues

Publié le

Kind of dates back, but it seemed to have disappeared from my slideshare uploads...
These are the slides for the presentation I gave to the Geneva chapter of OWASP in February 2011, following my master's thesis.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
361
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Owasp geneva-201102-trouvez vosbugslepremier

  1. 1. Chapter meeting 17 février 2011 @ HEIG-VD Yverdon-Les-BainsCode source :Soyez le premier à trouver vos failles de sécurité!Durée: 45 minutesThomas HoferConsultant @ blue-infinity (Genève, Suisse)
  2. 2. Qui suis-je?• Thomas Hofer• Consultant (blue-infinity, Genève)• Compétences: – Analyse statique – Architecture de solutions – Développement (Java – Rails – PHP) 2 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  3. 3. Agenda Des moyens simples d’améliorer votre code!1. Introduction 1. Motivation 2. Outils d’analyse statique2. Recommendations 1. Nos critères 2. Outils sélectionnés3. Informations complémentaires 3 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  4. 4. Pourquoi ce projet?• Le CERN est une cible de choix – Renom – Internet Exchange Point• Mais: tout site web peut être ciblé par une attaque!• Conséquences potentiellement sérieuses d’une attaque – Perte de données, – Accès à des informations confidentielles, – Dommages à l’image… 4 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  5. 5. Quand se soucier de sécurité?• Création / Gestion – Documents – Pages Web – Machines• Services• Développement – Logiciels – Applications Web 5 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  6. 6. Développement et sécurité• Formation (avant)• Revue de code (juste après)• Scan de vulnérabilités (après) 6 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  7. 7. Développement et sécurité• Formation (avant)• Analyse statique de code source (pendant et après)• Revue de code (juste après)• Scan de vulnérabilités (après) 7 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  8. 8. La sécurité et moi• Que pouvez-VOUS faire…• … sans dépasser les échéances imposées?• Analyse statique• Le plus tôt un bug est trouvé, le moins cher il coûte! 8 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  9. 9. Analyse statique de code sourceUn analyseur statique de code source:• Lira votre code mais: … ne l’exécutera et ne le compilera pas!• Cherchera des bugs et failles possibles – Sécurité – Fiabilité – Fonctionnalité 9 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  10. 10. Que peuvent-ils faire?Un analyseur statique de code source peut:• Chercher des erreurs connues et communes• Eventuellement, proposer des solutions• Aider à trouver des bugs…• Ils trouvent toutes sortes de bugs, pas uniquement liés à la sécurité10 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  11. 11. Que ne peuvent-ils pas faire?Un analyseur statique ne peut pas:• Réparer les bugs « automagiquement »• Trouver TOUS les bugs (i.e. faux positifs)• Ne trouver QUE des bugs (i.e. faux négatifs)11 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  12. 12. Agenda Des moyens simples d’améliorer votre code!1. Introduction 1. Motivation 2. Outils d’analyse statique2. Recommendations 1. Nos critères 2. Outils sélectionnés3. Informations complémentaires12 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  13. 13. Nos critères / Exigences• Des résultats rapides• Peu de fausses alertes• Facilité d’utilisation• Au moins quelques résultats…13 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  14. 14. Aperçu des outils sélectionnés• C / C++ • Perl – Flawfinder – Perl::Critic – RATS – RATS – Coverity • Java• Python – FindBugs – RATS – CodePro Analyser – pychecker • PHP – pylint – Pixy – RATS OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – 14 Feb.2011
  15. 15. Flawfinder• C / C++• Freeware / Unix• Appel à des fonctions communément mal utilisées• http://cern.ch/security/recommendations/en/ codetools/flawfinder.shtml15 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  16. 16. FindBugs• Java• Freeware / Plugin Eclipse• Très flexible, possibilité de définir des règles soi-même• http://cern.ch/security/recommendations/en/ codetools/findbugs.shtml16 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  17. 17. FindBugs17 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  18. 18. CodePro Analytix• Java• Freeware / Google Web Toolkit• Très flexible, possibilité de définir des règles soi-même• http://code.google.com/javadevtools/codepro /doc/index.html18 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  19. 19. Perl::Critic• perl• Freeware / Unix – Module perl• Best Practices: style et sécurité• Demo• http://cern.ch/security/recommendations/en/ codetools/perl_critic.shtml19 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  20. 20. Pixy• PHP• Freeware / Unix• XSS & SQLi• http://cern.ch/security/recommendations/en/ codetools/pixy.shtml20 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  21. 21. RATS• C / C++ / Perl, (et partiellement) Python, PHP• Freeware• Appel à des fonctions communément mal utilisées• http://cern.ch/security/recommendations/en/ codetools/rats.shtml21 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  22. 22. Agenda Des moyens simples d’améliorer votre code!1. Introduction 1. Motivation 2. Outils d’analyse statique2. Recommendations 1. Nos critères 2. Outils sélectionnés3. Informations complémentaires22 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  23. 23. Mais encore?• « Bon, ben maintenant que j’ai utilisé tel outil, je suis tranquille… »• Les outils ne suffisent pas!• Même les meilleurs outils passeront à côté des erreurs les plus complexes!• Les projets les plus sensibles méritent une revue de code « à la main »!23 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  24. 24. A Fool with a Tool is still a Fool!• « A fool with a tool is still a fool! », D. Wheeler• L’extrait de code suivant a été trouvé dans la source de RealPlayer, en 2005. (CVE-2005- 0455) char tmp [256]; /* Flawfinder : ignore */ strcpy (tmp , pScreenSize ); /* Flawfinder : ignore */24 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  25. 25. Plus d’informations• http://cern.ch/security/recommendations/en/ code_tools.shtml – Présentation des outils, – Conseils d’installation, configuration et utilisation – Explication de certaines failles communes – Conseils pour le développement d’applications plus sûres…25 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  26. 26. Questions?26 © flickr.com/people/eleaf OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011
  27. 27. Merci!Pour me contacter:thomas.hofer@b-i.com27 OWASP Switzerland – Geneva Chapter Meeting @ HEIG-VD (Yverdon-Les-Bains) – Feb.2011

×