La sécurité applicative et les tests d'intrusion, beaucoup plus qu'un scan automatisé Conférence ASIQ, mars 2014
www.hackfest.ca
AINSI, CE QUI EST D UNE IMPORTANCE SUPRÊME DANS LA GUERRE, C EST D ATTAQUER LA STRATÉGIE DE L ENNEMI Sun Tzu
Index Qui suis-je Vocabulaire Types de test, avantages & inconvénients D hier à aujourd hui Statistiques Quel test choisir? L appel d offre Un bon rapport!?! Choix du fournisseur
Qui suis-je? Consultant @ Enode.ca Co-fondateur @ Hackfest.ca Conseiller en architecture et analyste en sécurité Spécialiste en sécurité applicative 7 ans d expérience en sécurité Participe et crée plusieurs CTF depuis 2009. Conférencier au sein de grandes entreprises, ministères ainsi que les cégeps et universités
Vocabulaire
Vocabulaire - types de test black box Aucune information disponible si ce n est que de la cible white box Toutes les informations possibles sur la cible grey box Un mix interne Réseau interne (physiquement ou via VPN) externe Via Internet physique Physiquement entrer dans un bâtiment ingénierie sociale Test souvent inclut dans les tests d intrusion
Vocabulaire - Scan de vulnérabilité Activité utilisant un outil automatisé pour analyser les ports ouverts sur une machine, y définir le service en fonction et s il est potentiellement vulnérable. Souvent un rapport traduit ou directement créé par l outil automatisé est remis au client. D autres entreprises interprêtent les résultats.
Vocabulaire - Test d intrusion Ou encore, pentest ou test intrusif. Test principalement manuel qui consiste généralement des étapes suivantes : 1. Reconnaissance (scan 10%, analyse surface d attaque, etc.) 2. Analyse de vulnérabilité (analyse de la reconnaissance) 3. Exploitation (entre dans le réseau/serveur/client) 4. Post exploitation (GOTO 1.) 5. Rapport détaillé
Vocabulaire - Revue de code source Analyse du code source d une application Web, desktop ou autre à la recherche de vulnérabilité connues et des vulnérabilités logiques. Généralement effectué par un développeur de formation.
PLAIDER LE FAUX POUR SAVOIR LE VRAI
Le faux Un test d intrusion peut être non intrusif Un test d intrusion est la meilleure méthode pour découvrir des vulnérabilités Un scan de vulnérabilité est un test d intrusion Le résultat d un test d intrusion est égal de firme en firme puisqu ils utilisent des outils On peut donc toujours utiliser la même firme Nessus, Acunetix, etc. sont des outils performant pour des tests d intrusion
Le vrai Un test d intrusion est par définition intrusif si vous demandez un test non intrusif, on parle de scan de vulnérabilité ce qui est tout à fait différent Un scan de vulnérabilité ne survol que la surface sans tester et assurer que la vulnérabilité existe réellement. La meilleure méthode pour identifier des vulnérabilités est à la source à l aide d un cycle de développement sécuritaire (DSL) et de revues de code source
Le vrai Un test d intrusion dépend de la qualité de la firme, des analystes, de leur méthodologies et de leurs connaissance. La raison qu il est recommandé de changer ou d alterner de firme après quelques tests Un bon test d intrusion n est pas meilleur, ni défini par les outils utilisés Un scan de vulnérabilité oui Nessus, acunetix, etc. sont des outils pour effectuer des scans de vulnérabilités (vulnerability assessment)
Différences entre les types de test
LA DÉFINITION DES TESTS AVANTAGES & INCONVÉNIENTS
Scan de vulnérabilité Utilisation d un outil automatisé qui permet de vérifier les ports ouverts, le service fonctionnant sur ce port,les vulnérabilités potentielles associées à ce dit service et sa version.
Avantages du scan de vulnérabilité Excellent outil permettant d effectuer la gestion de vulnérabilités Différence entre deux scans Permet d avoir rapidement une vue superficielle de la sécurité de notre infrastructure
Inconvénients du scan de vulnérabilité À peine 20% d efficacité Couvre environ 10% des vérifications de sécurité normalement effectuées Un scan de vulnérabilité comprend énormément de faux positif 30 fois moins efficace qu un test d intrusion1 Couvre environ 20% de la sécurité d une application 1 http://projects.webappsec.org/w/page/13246989/web%20application% 20Security%20Statistics#Summary
Test d intrusion Test qui confirme et exploite les vulnérabilités découvertes dans la phase de reconnaissance (qui inclut le scan). Lorsqu une cible est exploitée, le but est de vérifier jusqu ou on peut se rendre dans les limites du contrat pour définir l impact réel d une attaque.
Avantages du test d intrusion Un test en white box permet de découvrir 30 fois plus de vulnérabilité qu un scan de vulnérabilité1 Couvre environ 40 a 50% des vérifications possibles lorsque le test est en blackbox 1 http://projects.webappsec.org/w/page/13246989/web% 20Application%20Security%20Statistics#Summary
Inconvénients du test d intrusion Ce n est pas vraiment un inconvénient, mais cela n inclut pas l analyse de code source pour couvrir tous les types de test en mode whitebox. Peu de certification existent pour les tests d intrusion. Les certifications à choix de réponses ne démontrent aucune compétence dans le domaine des tests d intrusion versus une certification à examen technique où l ont doit pirater des serveurs et applications.
Revue de code source Analyse technique et logique du code source d une application pour y découvrir des problèmes de sécurité à la source
Avantages de la revue de code Efficacité d environ 80-90%; Couvre environ 80% de la surface d attaque de l application; Analyse à la source AVANT la mise en production; Frais 100x plus petit que d être en mode correction lorsque en Production.
Inconvénients de la revue de code Dépend énormément de l auditeur et de son background en programmation. Aucune certification n aide réellement à la revue de code source. Les certifications pour test d intrusion ne sont pas reliées à la revue de code source
QUEL TEST EST LE PLUS UTILE AUJOURD HUI?
Quelle approche est la plus intéressante? Scan de vulnérabilité : survol fréquent Permet d avoir une approximation des mises à jour effectuées ou non dans le parc informatique Test d intrusion (un vrai) Définir l impact réel d une attaque utilisant plusieurs vecteurs d attaque et une surface d attaque réel Revue de code source Règle 80% des problèmes à la source, réduit les coûts de 100 fois versus effectuer des corrections en environnement de Production
TOUT D ABORD D HIER À AUJOURD HUI
Crypto moderne - 1975-1976
Crypto - 1883
IDS - 1986
Anti-virus - 1987
Firewall - 1988-1991
SSL
20/30 ans d efforts en sécurité technologique et réseau, mais il y a un DÉFICIT énorme en sécurité applicative
Types de vulnérabilité http://www.microsoft.com/security/sir/default.aspx
Complexité des vulnérabilités public http://www.microsoft.com/security/sir/default.aspx
SELON VOUS OÙ DOITON INVESTIR EN SÉCURITÉ?
Où devrait-on investir? Scan de vulnérabilité : survol Permet d avoir une approximation des mises à jour effectuées ou non dans le parc informatique Test d intrusion (un vrai) Défini l impact réel d une attaque utilisant plusieurs vecteurs d attaque et une surface d attaque réel Revue de code source Règle 80% des problèmes à la source, réduit les coûts de 100 fois versus effectuer des corrections en environnement de Production
Où devrait-on investir? Revue de code source Mise en place de développement sécuritaire (DSL) Test d intrusion applicatif Versus investir en : Sécurité réseau Droits d accès Scan et pentest orienté serveur seulement
Définir le prix Plusieurs clients optent pour les scans de vulnérabilité. Est-ce judicieux? Exemples : 1. Prix par : IPs / page Web 2. Taux d un test d intrusion 3. Taux d une revue de code source
Définir le prix : Exemple scan Prix par IPs / Pages Web Ne prend pas en compte la surface d attaque La valeur est par IP au lieu d être la valeur de la surface d attaque et de chaque éléments de l infrastructure, leur cote DIC(AI), etc. Exemple: 10 IPs, 50$/IP Prix moyen ressource: 120$/heure (90-150$) Prix du test: 500$ 500/120 = ~4heures/IP Possibilité d aucune surface d attaque Rapport à effectuer (dans le ~4h/IP) http://www.netragard.com/alt/howtovendor.pdf - méthode pour choisir un vendeur de test d intrusion
Définir le prix : Exemple intrusion Qu est-ce qui est inclus dans un test d intrusion: 1. Reconnaissance Analyse de la surface d attaque Scan et analyse des services Reconnaissance et récupération d information public 2. Tests et attaques 3. Vulnérabilités découvertes 4. Exploitation et pivot à l intérieur de l entreprise 5. GoTo #1 à partir de la nouvelle zone réseau
Définir le prix : Exemple intrusion Prix moyen ressource: 120$/heure (90-150$) Reconnaissance = 5 à 10% du projet Scan = 5 à 10% du projet Attaque par niveau de sensibilité des systèmes et de ce qu ils permettent d accéder si compromis 1 à 3 jours : faible 3 à 5 jours : moyen 5 à 10 jour: élevé 10 à 20 : très élevé 20++ : critique Rapport = 5%
Définir le prix : Exemple de revue Qu est-ce qui est inclus dans une revue de code source : 1. Reconnaissance Compréhension de l application à l aide de l équipe de développeur Survol du code Analyse des interactions entre modules 2. Analyse des modules 3. Vulnérabilités découvertes 4. Décrire les vulnérabilités et les recommandations pour correction future = Documenter le rapport final 5. Si possible le tester dans un environnement de Test ou de Prod
Définir le prix : Exemple de revue Prix moyen ressource: 120$/heure (90-150$) Reconnaissance = 10 à 15% du projet Analyse des modules = 75% du projet Analyse par niveau de sensibilité des systèmes, modules ou sections de code 1 à 3 jours : faible 3 à 5 jours : moyen 5 à 10 jour: élevé 10 à 20 : très élevé 20++ : critique Rapport = 10%
Plus cher oui, mais plus efficace
Le danger?
Le danger?
Le danger?
Le danger?
L APPEL D OFFRE
À inclure dans l appel d offre de sécurité technique Définir la surface d attaque (et la limite) Définir la sensibilité des serveurs et leur données Le nombre de serveur, application et leur type Type de test Définir un timeline et les heures de test Rencontre de démarrage et remise de rapport Contact tout au long des tests Avoir une équipe prête en cas de problématique Clause contractuelle, NDA, etc. Indiquer ce que vous désirez obtenir dans le rapport Niveau de risque adapté à votre entreprise (pas le risque de Nessus ou autre logiciel) Une description adaptée Description de la probabilité (le pourquoi) Description de l impact (le pourquoi)
LE RAPPORT
Exemple de rapport Sommaire Portée / hors portée ; clause contractuelle Liste des recommandations Liste des vulnérabilités Niveau de risque Description Probabilité Impact Recommandation Annexe décrivant les étapes pour reproduire chaque vulnérabilité Timeline Définitions
Interprétation du rapport Effectué par un analyste en sécurité Ajustement du niveau de risque par rapport au contexte de l entreprise Priorisation Coordination avec les équipes TI ou de développement pour la correction Rencontre avec l auditeur après les tests
Comment choisir un fournisseur de test technique Un test est défini par la qualité, les connaissances et le talent de l équipe et non pas par les outils utilisés Expérience dans le domaine précis Revue de code, et développement sécuritaire = développeur de formation Changement de firme après 3 à 5 tests d intrusion À long terme, une même firme utilisera les mêmes recettes et mêmes trucs. Certifications? Sujet épineux, mais personnellement: Certification technique seulement (vérifier que ce ne sont pas
Questions à se poser Liste de question de http://www.netragard. com/alt/howtovendor.pdf
Offre Enode
Offres Enode Tests d intrusion Revue de code source Mise en place DSL (cycle de développement sécuritaire logiciel) Scan de vulnérabilité Formations sécurité applicative Présentations Accompagnement
?
Contact Service conseils http://www.enode.ca patrick.mathieu@enode.ca Hackfest 2014 (7&8 novembre) http://www.hackfest.ca patrick.mathieu@hackfest.ca