1. Automa'ser
les
tests
sécurité
Web
Sébas'en
Gioria
OWASP
France
Leader
OWASP
Global
Educa'on
Commi<ee
CONFOO-‐
1
Mars
2013
-‐
Montréal
-‐
Canada
Saturday, March 2, 13
2. http://www.google.fr/#q=sebastien gioria
‣Consultant Indépendant en Sécurité Applicative
‣OWASP France Leader & Founder -
Evangéliste
‣OWASP Global Education Comittee
Member (sebastien.gioria@owasp.org)
Twitter :@SPoint
Saturday, March 2, 13 2
3. 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
17. 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
18. 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
25. Sécurité
&
Le
cycle
de
développement
• Corriger
une
vulnérabilité
peut
couter
très
cher
Demandez
à
Microsoi
8
Saturday, March 2, 13
26. Sécurité
&
Le
cycle
de
développement
• Et
demander
du
temps
!
Demandez
à
Oracle.... 9
Saturday, March 2, 13
27. Sécurité
&
Le
cycle
de
développement
• Pourtant
il
existe
des
méthodes
de
sécurisa6on
10
Ca
parait
compliqué,
mais
je
l’ai
présenté
à
confoo
précédemment....
Saturday, March 2, 13
28. Sécurité
&
Le
cycle
de
développement
• Pourtant
il
existe
des
méthodes
de
sécurisa6on
10
Ca
parait
compliqué,
mais
je
l’ai
présenté
à
confoo
précédemment....
Saturday, March 2, 13
29. Sécurité
&
Le
cycle
de
développement
• Pourtant
il
existe
des
méthodes
de
sécurisa6on
10
Ca
parait
compliqué,
mais
je
l’ai
présenté
à
confoo
précédemment....
Saturday, March 2, 13
30. Sécurité
&
cycle
de
développement
• Mais
la
sécurité
est
un
processus
par
un
produit
!
(c)
Bruce
Schneier
11
Saturday, March 2, 13
31. Sécurité
&
cycle
de
développement
• Mais
la
sécurité
est
un
processus
par
un
produit
!
(c)
Bruce
Schneier
11
Saturday, March 2, 13
33. Pourquoi
chercher
des
vulnérabilités
?
✓Juste
pour
les
trouver
?
12
Saturday, March 2, 13
34. 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
35. 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
36. 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
37. 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
?
Quelle
technique
permet
de
répondre
le
mieux
à
l’une
ou
toutes
ses
ques6ons
?
➡Revue
de
code
manuelle
?
➡Test
d’intrusion
applica6f
manuel
?
12
Saturday, March 2, 13
39. 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
40. 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
41. 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
L’u6lisa6on
d’ou6ls
permet
d’aider
la
réalisa6on
de
la
revue
ou
du
test
13
Saturday, March 2, 13
42. 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
44. Analyse
du
code
• 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
16
Saturday, March 2, 13
46. Tests
d
intrusions
• 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é.
18
Saturday, March 2, 13
47. Les
ou6ls
• 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,
...
19
Saturday, March 2, 13
48. 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
53. • @SPoint
• sebas6en.gioria@owasp.org
Saturday, March 2, 13
54. • @SPoint
• sebas6en.gioria@owasp.org
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