Upgrade to Pro — share decks privately, control downloads, hide ads and more …

La sécurité : ange ou démon ?

La sécurité : ange ou démon ?

Présentation effectuée à la "DEV CON #5" par Christophe Villeneuve sur "La sécurité : ange ou démon ?".

La conférence a pour but de montrer que la sécurité ne doit pas être négligler et qu'il est possible de bloquer les attaques de personnes ayant de mauvaises intentions

hellosct1

March 01, 2018
Tweet

More Decks by hellosct1

Other Decks in Technology

Transcript

  1. Devcon #5 – 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
  2. Devcon #5 – La Réalité... Défaut Logique métier Erreurs Sécurité

    Défaut De code Plusieurs années de développement Plusieurs années de développement Deux semaines Piratage éthique Deux semaines Piratage éthique
  3. Devcon #5 – Les attaques sur internet Source : IBM

    Software Group, Rational Software
  4. Devcon #5 – Niveau de protection Pare feu applications Serveur

    Web IPS [1] Firewall [1] Systeme prévention intrusion
  5. Devcon #5 – Identifier les risques • 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 hardwaire • Serveurs à l'abandon • Vulnérabilités web – Voir les rapports OWASP
  6. Devcon #5 – CVE Security (1/3) • Base de données

    des vulnérabilités (source d'informations) • OS / Langages / CMS / Framework / Navigateurs...
  7. Devcon #5 – CRM Intranet Website Tracker Service Auth. Web

    Service Serveur Web Firewall Base de données Access Control Architecture d'une application Web
  8. Devcon #5 – CRM Intranet Website Tracker Service Auth. Web

    Service Serveur Web Firewall Base de données Access Control Points sensibles pour un attaquant XSS CSRF Click Jacking XML/JSON Injection SQL Injection Direct Object Reference Token Directory Traversal Packet Sniffing Paramètre facilfication
  9. Devcon #5 – OWASP (1/2) • OWASP – Open Web

    Application Security Project • Organisation à but non lucratif, • Communauté ouverte • Connu – Liste des risques de sécurité • Top 10 c'est : • Des outils • Des API • De la documentation • Des guides • Des conférences • Des blogs • Des contenus – Audio / Vidéo – Podcast
  10. Devcon #5 – Owasp (2/2) • Guide de développement –

    https://www.owasp.org/index.php/Projects/OWASP_Development_Guide • Guide des tests – https://www.owasp.org/index.php/OWASP_Testing_Project • Revue de code – https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project • Exemple d'application Webgoat – https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project • Guide développeur – https://www.owasp.org/index.php/OWASP_Guide_Project
  11. Devcon #5 – TOP 10 : OWASP (web) A1­ Failles

    d'injection A2­ Violation d'authentification et de Session A3­ Données sensibles accessible A4­ XML External Entity (XXE) A5­ Contrôle d'accès cassé A6­ Mauvaise configuration de sécurité A7­ Cross­Site Scripting (XSS) A8­ Désérialisation non sécurisée A9­ Utilisation de composants connus vulnérables A10 ­Gestion de log insuffisante et de monitoring 2013 2017 N M Hausse Baisse Identique Nouveau Baisse Merge A1­ Failles d'injection A2­ Violation d'authentification et de Session A3­ Cross­Site Scripting (XSS) A4­ Référence directe non sécurisée à un objet A5­ Mauvaise configuration de sécurité A6­ Données sensibles accessible A7­ Manque de sécurité au niveau des rôles A8­ Falsification de requête (CSRF) A9­ Utilisation de composants connus vulnérables A10­ Redirections non validées N M N N
  12. Devcon #5 – Correspondance des caractères dangereux Caractères Decimal Hexadecimal

    HTML Character Set Unicode '' (double quote) &#34; &#x22; &quot; \u0022 ' (simple quote) &#39; &#x27; &apos: \u0027 & (ampersand) &#38; &#x26; &amp; \u0026 < (inférieur) &#60; &#x3C; &lt; \u003c > (supérieur) &#62; &#x3E; &gt; \u003e
  13. Devcon #5 – Solution • Etre rapide ! • Une

    attaque n'est souvent qu'une affaire de secondes, voire de minutes • Ne pas contre­attaquer le hacker • Disparition • Il est énervé • TODO • Notez l'adresse IP de l'ordinateur victime de l'attaque • Notez l'heure de l'attaque. • Notez le temps de l'attaque. • Log(s)
  14. Devcon #5 – Attaque de dépendance Query = "SELECT *

    FROM users WHERE ID = "'" + request.geParameter('id') + "'"; Query = "SELECT * FROM users WHERE ID = '" + 666 + "'"; Query = "SELECT * FROM users WHERE ID = '" + 666' OR '1'='1 + "'";
  15. Devcon #5 – Solution • Conserver les données – Séparées

    des commandes et des requêtes – Utiliser comme API sécurisée • Valider les données d'entrée côté serveur • Échapper les caractères spéciaux – Utiliser une syntaxe d'échappement spécifique pour l'interpréteur • Utilisez LIMIT • Prévoir des contrôles SQL dans les requêtes – pour empêcher la divulgation massive des enregistrements
  16. Devcon #5 – Attaque côté front • A2 ­ Violation

    d'authentification et de Session • A6 ­ Mauvaise configuration de sécurité • A7 ­ Cross­site scripting (XSS) • A2 ­ Violation d'authentification et de Session • A6 ­ Mauvaise configuration de sécurité • A7 ­ Cross­site scripting (XSS) • Code source de la page (CTRL + U) • Avec du javascript • Session id • Cookie • Redirection page web • Super Globales • ($_GET / $_POST / $_ENV)
  17. Devcon #5 – Attaque côté front : scénario 1 •

    Arborescence • Arborescence includes, inc, lib,etc,ini, conf admin, adm, admnistrateur, administrator, erreurs, classes hidden, protected, archives,bills,factures • Données cachées • Données cachées
  18. Devcon #5 – Attaque côté front : scénario 2 •

    URL • URL Copier / Coller Disque dur → Copier / Coller Disque dur → <form action="http://URL.com/ma­page­de­traitement" method="post"> </form>
  19. Devcon #5 – Attaque côté front : scénario 3 •

    Absence de protection <?php echo "Un petit risque de <script>alert ('hack')</script>"; ?> • Avec une protection <?php echo htmlentities("Un petit risque de <script>alert ('hack')</script>"); ?>
  20. Devcon #5 – Attaque côté back (1/ • A5­ Contrôle

    d'accès cassé • A6­ Mauvaise configuration de sécurité • A5­ Contrôle d'accès cassé • A6­ Mauvaise configuration de sécurité accès non autorisé aux objets par le biais de la modification des paramètres
  21. Devcon #5 – Attaque côté back (2/ • A5­ Contrôle

    d'accès cassé • A6­ Mauvaise configuration de sécurité • A5­ Contrôle d'accès cassé • A6­ Mauvaise configuration de sécurité Données sensibles non protégées correctement Problème des droits accès (contrôle d'accès) – http://urlSite.com/getpage – http://urlSite.com/admin_getpage
  22. Devcon #5 – Solution • HTTPS • Crypter toutes les

    données sensibles • Ne stockez pas de données sensibles inutilement ­ jetez­les
  23. Devcon #5 – Attaque Homme / machine (1/ Serveur de

    l'attaquant Serveur Requête XML Information Obtenir des requêtes structurées (dtd) • A4 ­ XML External Entity (XXE) • A4 ­ XML External Entity (XXE)
  24. Devcon #5 – Solution • Choisir un format moins complexe

    → JSON • Corriger format utilisé XML – Les processeurs – Les bibliothèques • Verrou structuré supplémentaire – Externe XML – Requêtes structurées (dtd processin) • Validation des éléments entrée du site du serveur de la liste blanche • Vérifier les fonctionnalités de téléchargement de fichiers – XML ou XSL • Les outils SAST peuvent aider à détecter XXE dans le code source
  25. Devcon #5 – Attaque Homme / machine (2/ • A8

    ­ Désérialisation non sécurisée • A8 ­ Désérialisation non sécurisée • Permet l'exécution de code à distance • Manipulation d'objets sensibles → sur les plates­formes affectées class car [ public string color; } var redCarObj =new car(); redCarObj.color = 'rouge'; redCarObj Processus de sérialisation redCarObj sérialisé redCarObj processus de désérialisation redCarObj sérialisé
  26. Devcon #5 – Solution • Ne pas accepter les objets

    sérialisés → provenant de sources non fiables • Vérifier l'intégrité sur tous les objets sérialisés • Appliquer des contraintes de type strictes → Lors de la désertification • Isoler pour exécuter le code désérialisé • Exceptions et échecs de désérialisation de journaux • Restreindre la connectivité réseau → A partir de serveurs qui se désérialisent
  27. Devcon #5 – Attaque : Les autres (1/ • A9

    ­ Utilisation de composants connus vulnérables • A9 ­ Utilisation de composants connus vulnérables • Boîtes à outils Web • Widgets • Moteurs d'exécution • Serveurs web • Bibliothèques de framework • Etc. composants construits par d'autres Dépendances
  28. Devcon #5 – Attaque : Les autres (2/ • A10

    ­ Gestion de log insuffisante et de monitoring • A10 ­ Gestion de log insuffisante et de monitoring • Utilisation : Forum / CMS / ... • Manque • Suveillance • Alerte • Enregistrement • Scan de mot de passes • Mot de passe unique / utilisateurs
  29. Devcon #5 – Solution • Prévoir que tous les échecs

    d'accès – soient enregistrés • Assurez­vous que les logs sont générés – Format (facilement) utilisable • Prévoir que les transactions de grande valeur – Piste d'audit, suivi... • Alerte efficace pour répondre dans des délais cours • Etablir un processus de réponse aux incidents
  30. Devcon #5 – Outils • 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
  31. Devcon #5 – Liens • OWASP https://www.owasp.org • OWASP Top

    10 – 2017 – https://www.owasp.org/images/7/72/OWASP_Top _10­2017_%28en%29.pdf.pdf