2013 03-01 automatiser les tests sécurité
-
Upload
sebastien-gioria -
Category
Technology
-
view
1.061 -
download
2
Transcript of 2013 03-01 automatiser les tests sécurité
Automa'ser les tests sécurité Web
Sébas'en GioriaOWASP France Leader OWASP Global Educa'on Commi<eeCONFOO-‐ 1 Mars 2013 -‐ Montréal -‐ Canada
Saturday, March 2, 13
http://www.google.fr/#q=sebastien gioria
‣OWASP France Leader & Founder - Evangéliste
‣OWASP Global Education Comittee Member ([email protected])
‣Consultant Indépendant en Sécurité Applicative
Twitter :@SPoint
2Saturday, March 2, 13
O-‐ou-‐a-‐ss-‐pe?
• OWASP = Open Web Applica6on Security Project–Il y a le mot “web” mais en fait …
• Mission:–Global, ouvert, non lucra6f, indépendant.
• Communauté OWASP:–30,000 abonnés aux listes de diffusion –200 sec6ons régionales ac6ves dans 70 pays–1’600 membres officiels, 56 entreprises partenaires–69 ins6tu6ons académiques
Saturday, March 2, 13
Saturday, March 2, 13
Saturday, March 2, 13
Apprendre
Saturday, March 2, 13
Apprendre
Saturday, March 2, 13
Apprendre Contractualiser
Saturday, March 2, 13
Apprendre Contractualiser
Saturday, March 2, 13
Apprendre Contractualiser Concevoir
Saturday, March 2, 13
Apprendre Contractualiser Concevoir
Saturday, March 2, 13
Apprendre Contractualiser Concevoir
Vérifier
Saturday, March 2, 13
Apprendre Contractualiser Concevoir
Vérifier
Saturday, March 2, 13
Apprendre Contractualiser
Tester
Concevoir
Vérifier
Saturday, March 2, 13
Apprendre Contractualiser
Tester
Concevoir
Vérifier
Saturday, March 2, 13
Apprendre Contractualiser
Tester
Concevoir
Vérifier Améliorer
Saturday, March 2, 13
OWASP Canada
• Sec6ons OWASP au Canada:–Alberta: Edmonton & Lethbridge–Bri6sh Columbia: Okanagan & Vancouver–Manitoba: Winnipeg–New Brunswick: New Brunswick–Ontario: Niagara, Toronto, Obawa–Quebec: Montréal, Quebec city
Saturday, March 2, 13
Agenda
• Le développement et la sécurité• Les différents types de tests• Des ou6ls• Comment intégrer ses ou6ls dans sa chaine
6
Saturday, March 2, 13
Contexte
7© VerizonDemandez a regarder la CVE....
Saturday, March 2, 13
Contexte
• Les applica6ons Web sont fortement exposées
7© VerizonDemandez a regarder la CVE....
Saturday, March 2, 13
Contexte
• Les applica6ons Web sont fortement exposées
7© VerizonDemandez a regarder la CVE....
Saturday, March 2, 13
Contexte
• Les applica6ons Web sont fortement exposées
7
© Verizon
© VerizonDemandez a regarder la CVE....
Saturday, March 2, 13
Contexte
• Les applica6ons Web sont fortement exposées
7
© Verizon
© Verizon
• Mais pas par des abaques complexes
Demandez a regarder la CVE....
Saturday, March 2, 13
Contexte
• Les applica6ons Web sont fortement exposées
7
© Verizon
© Verizon
• Mais pas par des abaques complexes
Demandez a regarder la CVE....
Saturday, March 2, 13
Sécurité & Le cycle de développement
• Corriger une vulnérabilité peut couter très cher
8Demandez à Microsoi
Saturday, March 2, 13
Sécurité & Le cycle de développement
• Et demander du temps !
9Demandez à Oracle....
Saturday, March 2, 13
Sécurité & Le cycle de développement
• Pourtant il existe des méthodes de sécurisa6on
10Ca parait compliqué, mais je l’ai présenté à confoo précédemment....
Saturday, March 2, 13
Sécurité & Le cycle de développement
• Pourtant il existe des méthodes de sécurisa6on
10Ca parait compliqué, mais je l’ai présenté à confoo précédemment....
Saturday, March 2, 13
Sécurité & Le cycle de développement
• Pourtant il existe des méthodes de sécurisa6on
10Ca parait compliqué, mais je l’ai présenté à confoo précédemment....
Saturday, March 2, 13
Sécurité & cycle de développement
• Mais la sécurité est un processus par un produit ! (c) Bruce Schneier
11
Saturday, March 2, 13
Sécurité & cycle de développement
• Mais la sécurité est un processus par un produit ! (c) Bruce Schneier
11
Saturday, March 2, 13
Pourquoi chercher des vulnérabilités ?
12
Saturday, March 2, 13
Pourquoi chercher des vulnérabilités ?
✓Juste pour les trouver ?
12
Saturday, March 2, 13
Pourquoi chercher des vulnérabilités ?
✓Juste pour les trouver ?
✓Pour savoir ou elles se trouvent exactement dans le code ?
12
Saturday, March 2, 13
Pourquoi chercher des vulnérabilités ?
✓Juste pour les trouver ?
✓Pour savoir ou elles se trouvent exactement dans le code ?
✓Pour s’assurer qu’elles ne sont pas dans notre applica6on
12
Saturday, March 2, 13
Pourquoi chercher des vulnérabilités ?
✓Juste pour les trouver ?
✓Pour savoir ou elles se trouvent exactement dans le code ?
✓Pour s’assurer qu’elles ne sont pas dans notre applica6on
✓Pour se conformer à une exigence réglementaire ?
12
Saturday, March 2, 13
Pourquoi chercher des vulnérabilités ?
✓Juste pour les trouver ?
✓Pour savoir ou elles se trouvent exactement dans le code ?
✓Pour s’assurer qu’elles ne sont pas dans notre applica6on
✓Pour se conformer à une exigence réglementaire ?
12
Quelle technique permet de répondre le mieux à l’une ou toutes ses ques6ons ?
➡Revue de code manuelle ?➡Test d’intrusion applica6f manuel ?
Saturday, March 2, 13
De quoi parle-‐t-‐on ?
13
Saturday, March 2, 13
De quoi parle-‐t-‐on ?
• Revue de code : –Accès au code source–Accès à la documenta6on fonc6onnelle–Accès à la configura6on
13
Saturday, March 2, 13
De quoi parle-‐t-‐on ?
• Revue de code : –Accès au code source–Accès à la documenta6on fonc6onnelle–Accès à la configura6on
• Test d’intrusion applica6f : –Accès via le réseau à l’applica6on (protégée ou non par des éléments d’infrastructure)
– Temps limité– Compétence du testeur limitée
13
Saturday, March 2, 13
De quoi parle-‐t-‐on ?
• Revue de code : –Accès au code source–Accès à la documenta6on fonc6onnelle–Accès à la configura6on
• Test d’intrusion applica6f : –Accès via le réseau à l’applica6on (protégée ou non par des éléments d’infrastructure)
– Temps limité– Compétence du testeur limitée
13
L’u6lisa6on d’ou6ls permet d’aider la réalisa6on de la revue ou du test
Saturday, March 2, 13
Evaluer le niveau de sécurité d’une applica6on ?
• Référen'el :–OWASP Top10 ?
• L’un des plus connu, orienté Risques–SANS Top25 ?
• Plus orienté Code–CWE ?
•Un peu trop complexe ?
–OWASP ASVS ?• Plus orienté exigences fonc6onnelles
14
Saturday, March 2, 13
15
Saturday, March 2, 13
• Avantages– Permet de voir des failles non détectées par un test de type test d’intrusion
– Permet de découvrir des problèmes de type qualité de code qui conduiraient à des abaques DOS.
– Les ou6ls commerciaux sont matures
• Inconvénients– Les ou6ls open-‐source sont très immatures– Peut être long– Nécessite des compétences pointues en développement dans le langage de développement couplées à des compétences sécurité.
– Dans le cas d’une externalisa6on de l’analyse, cebe dernière doit être fortement encadrée
Analyse du code
16
Saturday, March 2, 13
17
Saturday, March 2, 13
• Avantages–Les compétences sur ce type de démarche sont faciles a trouver
– Il existe des ou6ls open-‐sources matures–Cela permet de tester l’ensemble de la chaine de produc6on; infrastructure et logiciel
• Inconvénients–Le temps impar6 est souvent trop faible pour tout découvrir–Le test peut mener à une destruc6on de données; il ne doit pas être effectuer directement sur la produc'on.
– Il ne permet pas de s’assurer d’un niveau de sécurité.
Tests d intrusions
18
Saturday, March 2, 13
• Buts : –Améliorer l’efficacité des tests –Permebre l’industrialisa6on des tests
• Différentes catégories : –Scanners Web ; arachni, w3af, ...–Proxy de sécurité ; Burp Suite, Zap, Vega–Modules navigateurs ; Firecat, –Ou6ls spécifiques ; sqlmap, ...
Les ou6ls
19
Saturday, March 2, 13
L’automa6sa6on
• Pour automa6ser les tests sécurité, il est nécessaire d’avoir un ou6l : –disposant d’une base importante de tests (ou vulnérabilités)
–permebant de gérer différents points d’entrée, voire de découverte de ces points
–permebant de générer un rapport “compréhensible”–intégrable et scriptable dans un environnement de “build”
20
Saturday, March 2, 13
Arachni
22
hbp://arachni-‐scanner.com/
Saturday, March 2, 13
Démos
24
Saturday, March 2, 13
• @SPoint
Saturday, March 2, 13
• @SPoint
Il n'y a qu'une façon d'échouer, c'est d'abandonner avant d'avoir réussi [Olivier Lockert]
Saturday, March 2, 13