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.

Les tests de sécurité

490 views

Published on

Présentation effectuée au Rencontres Mondiales du Logiciel Libre (RMLL) 2017 par Christophe Villeneuve sur "Les tests de sécurité".
Vous allez voir comment mettre en place des tests de sécurité de façon automatique à partir de logiciels libres

Published in: Internet
  • Be the first to comment

  • Be the first to like this

Les tests de sécurité

  1. 1. Les tests de sécurité Christophe Villeneuve @hellosct1
  2. 2. Qui ??? Christophe Villeneuve mozilla reps - firefox os - B2GOS - ausy - afup – lemug.fr – mysql – mariadb – drupal – demoscene – firefoxos – drupagora – phptour – forumphp – solutionlinux – Libre@toi – eyrolles – editions eni – programmez – linux pratique – webriver – phptv – elephpant - owasp -security
  3. 3. RMLL 2017 – 4 Juillet 2017 Ce qu'il vous attend... ● Aborder les tests de sécurité ● Mesurer votre qualité de sécurité Web ● La sécurité avec vos outils Open Source
  4. 4. A l'abordage
  5. 5. RMLL 2017 – 4 Juillet 2017 L'importance des tests ● Pourquoi c'est utile ? – Le code peut casse – Changer le nom d'un fichier – Pas le temps d'en faire – C'est long manuellement ● Et l'intérêt… – Coûte du temps au début – En fait gagner ensuite – Nécessite de la rigueur et de la constante
  6. 6. RMLL 2017 – 4 Juillet 2017 Les différents types de tests ● Tests unitaires ● Tests fonctionnels ● Tests intégrations ● Tests Automatisés ● Tests de charges ● Tests d'ergonomie ● Tests de sécurité
  7. 7. RMLL 2017 – 4 Juillet 2017 Humour : la sécurité Ca ne sert rien C'est de la vente forcée Ce n'est pas pour moi
  8. 8. RMLL 2017 – 4 Juillet 2017 Les points douloureux dans le Cloud Computing (2014) source : Cloud Computing - Wave 7 www.451research.com - 2014
  9. 9. RMLL 2017 – 4 Juillet 2017 Les menaces
  10. 10. RMLL 2017 – 4 Juillet 2017 Les risques ● Ne connaissent pas – L'étendue des risques liés à la sécurité de leur site ● Significations du terme « piratage » – voir définition Wikipedia ● Et surtout : – Vol d'informations – Usurpation d'identité – Indisponibilité de service – Défiguration de site – Désinformation
  11. 11. RMLL 2017 – 4 Juillet 2017 ● Des sites référencent – Sur les failles – Les alertes (veilles / R&D) ● Leurs métiers ● Des scanners ● ... La vie du hacker
  12. 12. RMLL 2017 – 4 Juillet 2017 Les différents types d'attaques (1/2) ● Matériels ● Périphériques ● Smartphones
  13. 13. RMLL 2017 – 4 Juillet 2017 Les différents types d'attaques (2/2) ● Internet des Objets ● Le web● Logiciels
  14. 14. Le suivi des mesures
  15. 15. RMLL 2017 – 4 Juillet 2017 Site 'alerte' de vulnérabilités (1/2) ● CVE Security – Commun Vulnerabilites and Exposures ● Les journaux / magazines spécialisés ● ...
  16. 16. RMLL 2017 – 4 Juillet 2017 CVE Security (1/4) ● Base de données des vulnérabilités (source d'informations) ● OS / Langages / CMS / Framework / Navigateurs...
  17. 17. RMLL 2017 – 4 Juillet 2017 CVE Security (2/4) ● Représentation annuelle
  18. 18. RMLL 2017 – 4 Juillet 2017 CVE Security (3/4)
  19. 19. RMLL 2017 – 4 Juillet 2017 CVE Security (4/4)
  20. 20. RMLL 2017 – 4 Juillet 2017 ● Systèmes trop verbeux – DNS / Réseaux ● Système d'authentification faible – SSH ● La gestion des droits – Maillons faibles ● Les mots de passes systèmes – Admin du poste / compte utilisateur ● Bases de données – Stockage des informations sensibles ● Partage de fichiers – Périphériques hardware ● Serveurs à l'abandon ● Vulnérabilités web – Voir les rapports OWASP Identifier les risques
  21. 21. RMLL 2017 – 4 Juillet 2017 Le mode parano ● Pour le service informatique – Les tests de pénétration ● Tous les sites – Les Firewall / Parefeu web ● Toutes les 3 à 4 semaines – Analyser le code ● Toutes les 2 semaines
  22. 22. RMLL 2017 – 4 Juillet 2017 Analyse des freins... ● Temps d'installation ● Durée ● Temps d'analyse
  23. 23. RMLL 2017 – 4 Juillet 2017 DevOps / Outils
  24. 24. RMLL 2017 – 4 Juillet 2017 Quoi faire ? ● Un processus dans un déploiement continue – En différentes petites étapes ● Exemple : Regardons les sites actuels – Dans leur cycle de déploiement ~6 secondes ~11 secondes Plusieurs fois par jours
  25. 25. RMLL 2017 – 4 Juillet 2017 Contrôle de sécurité (1/2) ● Intégrer les Risques IT – Stratégie métier et modèle opérationnel à la cartographie ● Développer les synergies – Des filières Risque, Contrôle, Sécurité et Continuité ● Adopter un modèle de protection – Les secrets et données personnelles proportionné ● Industrialiser – Un accompagnement de sécurité des projets métiers
  26. 26. RMLL 2017 – 4 Juillet 2017 Contrôle de sécurité (2/2) ● Stimuler – La gestion des identités et des accès ● Outiller – La détection et la réaction aux incidents ● Innover et soutenir les équipes projets – Notamment dans la relation avec leurs multiples sous- traitants https://www.beijaflore.com/fr-fr/expertises/syst%C3%A8mesdinformation/risquessi,s%C3%A9curit%C3%A9contr%C3%B4les.aspx
  27. 27. RMLL 2017 – 4 Juillet 2017 Déploiement continue Développement Serveur validation Serveur intégration Outils SCA Tâches répétitives - Analyse de code - Contrôle du code - Déclencheur Build Serveur Préprod Serveur production Tests de sécurité automatisé Report & Notification
  28. 28. Mise en place / procédure
  29. 29. RMLL 2017 – 4 Juillet 2017 Plan de sécurité ● Identifier les API et les frameworks ● Imprimez les portions du code de sécurité (mécanisme) – Authentification – Mot de passe ● Planifiez-le● Anticipez les problèmes réglementaires
  30. 30. RMLL 2017 – 4 Juillet 2017 Sensibiliser les développeurs ● Les rapports OWASP – TOP 10 Web – TOP 10 mobile – TOP 10 IoT ● Analyser le code dans l'Intégration continue
  31. 31. RMLL 2017 – 4 Juillet 2017 Equiper les développeurs ● Utilisation des frameworks sécurisés et reconnus – Spring Security, JAAS, Apache Shiro, Symfony2, Drupal... ● Le framework OWASP – ESAPI ● Outils de Feedback sur la sécurité avant l'étape de validation – Ex : librairie SCA dans un IDE ATTENTION : Librairies externes / anciennes
  32. 32. RMLL 2017 – 4 Juillet 2017 Automatisation ● Associé dans les outils de déploiement (Build) – Jenkins, Bamboo, TeamCity, etc. ● Test de sécurité statiques de vos API – (SAST = Static Application Security Testing) – Top 10 Strategic Technology Trends ● Test dynamique de sécurité des applications – (DAST = Dynamic Application Security Testing) Résultat faible Bloquer le processus
  33. 33. RMLL 2017 – 4 Juillet 2017 Outils de tests de sécurité automatisé ● Plateforme de tests d'intrusion – Metasploit, Aircrack-ng ● Tests résistence d'un password – John the ripper ● Audit de monitoring, réseaux sans fil – Aircrack-ng ● Sniffer, analyseur protocoles réseau & applicatif – Wireshark ● Scanner de ports, vulnérabilités – Nmap ● Récupération mot de passe – Cain & Abel ● Emulation Navigateur web – Paros Proxy, charles proxy ● Capture de requêtes, proxy applicatif – Zed Attack Proxy, Paros Proxy ● Audit des applications web – Burp Suite, Wfuzz, spiderfoot, cerveau
  34. 34. RMLL 2017 – 4 Juillet 2017 Tâches répétitives ● BDD = Behaviour-Driven Development – Développement axé par le comportement Given / When / Then – Décrire les exigences de sécurité et performance ● Test de sécurité (non) automatisé fonctionnel ! ● Combinez avec d'autres outils – Owasp ZAP, Nessus, Port Scanning... ● Test écrits : Behat /Jbehave Cas 1
  35. 35. RMLL 2017 – 4 Juillet 2017 Tâches répétitives : exemple Scenario: Mot de passe doivent être sensibles aux champs Given un nouveau navigateur ou une instance client When l'utilisateur par défaut se connecte Then alors l'utilisateur est connecté When le mot de passe a été changé And les jetons d'authentification sur le client sont supprimés And la page de connection s'affiche And si l'utilisateur est connecté Then l'utilisateur n'est plus connecté Cas 1 Exemple 2 : Modification du mot de passe de son compte utilisateur Exemple 1 : vérification si le champ mot de passe est renseigné
  36. 36. RMLL 2017 – 4 Juillet 2017 Tâches répétitives ● Owasp Code Pulse – Analyseur de couverture de code en temps réél – Multi plateforme – Surveille l'exécution de l'application cible à l'aide d'une approche basée sur un agent → bas niveau – Facilite la compréhension d'un test de pénétration DAST dans une application – Montre les parties couvertes sous une forme virtuelle Cas 2Cas 2
  37. 37. RMLL 2017 – 4 Juillet 2017 Tâches répétitives : exemple Cas 2Cas 2
  38. 38. RMLL 2017 – 4 Juillet 2017 Tests automatisés ● OWASP ZAP = Zed_Attack_Proxy – Outils relevant la sécurité DevOps d'intégration – Scan passive et active – Analyse des Nœuds opérationnel sans provenance – REST-API ● Avec plusieurs liaisons de langue en tant que clients pré- construits – Scriptable – Interface CLI Cas 3
  39. 39. RMLL 2017 – 4 Juillet 2017 Tests automatisés : exemple Owasp ZAP + Jenkins ● OWASP ZAP + Jenkins Plugin 'ZAProxy' ● Permet d'analyser et de scanner à chaque étape – A partir d'un 'job' via le plugin Jenkins ● Configurer le plugin pour tester une URL ● Plugin enregistre un rapport HTML dans le dossier du projet à partir d'un 'job' ● Possible d'utiliser de plusieurs ZAP proxy en parallèle avec différents ports → pour faciliter l'analyse en parallèle ● Conseils : – Utilisation la nuit (durée) – A exécuter comme travail séparé Cas 3
  40. 40. RMLL 2017 – 4 Juillet 2017 Tests automatisés : Config Jenkins plugin 'ZAProxy' Cas 3
  41. 41. RMLL 2017 – 4 Juillet 2017 Tests automatisés : Config Jenkins plugin 'ZAProxy' Cas 3
  42. 42. RMLL 2017 – 4 Juillet 2017 Les tests de sécurité de tous les jours Développement Serveur validation Serveur intégration Outils SCA Tâches répétitives - Analyse de code - Contrôle du code - Déclencheur Build Serveur Préprod Serveur production Tests de sécurité automatisé Report & Notification
  43. 43. RMLL 2017 – 4 Juillet 2017 Au final ● La sécurité, c'est maintenant – Il est toujours temps de s'en préoccuper ● La sécurité ne doit pas être comprise ● Il ne faut pas accablé ● Commencer petit
  44. 44. RMLL 2017 – 4 Juillet 2017 Merci @hellosct1 Questions

×