2013 03-01 automatiser les tests sécurité

54
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

Upload: sebastien-gioria

Post on 08-Jun-2015

1.060 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 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

Page 2: 2013 03-01 automatiser les tests sécurité

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

Page 3: 2013 03-01 automatiser les tests sécurité

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

Page 4: 2013 03-01 automatiser les tests sécurité

Saturday, March 2, 13

Page 5: 2013 03-01 automatiser les tests sécurité

Saturday, March 2, 13

Page 6: 2013 03-01 automatiser les tests sécurité

Apprendre

Saturday, March 2, 13

Page 7: 2013 03-01 automatiser les tests sécurité

Apprendre

Saturday, March 2, 13

Page 8: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser

Saturday, March 2, 13

Page 9: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser

Saturday, March 2, 13

Page 10: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser Concevoir

Saturday, March 2, 13

Page 11: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser Concevoir

Saturday, March 2, 13

Page 12: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser Concevoir

Vérifier

Saturday, March 2, 13

Page 13: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser Concevoir

Vérifier

Saturday, March 2, 13

Page 14: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser

Tester

Concevoir

Vérifier

Saturday, March 2, 13

Page 15: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser

Tester

Concevoir

Vérifier

Saturday, March 2, 13

Page 16: 2013 03-01 automatiser les tests sécurité

Apprendre Contractualiser

Tester

Concevoir

Vérifier Améliorer

Saturday, March 2, 13

Page 17: 2013 03-01 automatiser les tests sécurité

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

Page 18: 2013 03-01 automatiser les tests sécurité

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

Page 19: 2013 03-01 automatiser les tests sécurité

Contexte

7© VerizonDemandez  a  regarder  la  CVE....

Saturday, March 2, 13

Page 20: 2013 03-01 automatiser les tests sécurité

Contexte

• Les  applica6ons  Web  sont  fortement  exposées

7© VerizonDemandez  a  regarder  la  CVE....

Saturday, March 2, 13

Page 21: 2013 03-01 automatiser les tests sécurité

Contexte

• Les  applica6ons  Web  sont  fortement  exposées

7© VerizonDemandez  a  regarder  la  CVE....

Saturday, March 2, 13

Page 22: 2013 03-01 automatiser les tests sécurité

Contexte

• Les  applica6ons  Web  sont  fortement  exposées

7

© Verizon

© VerizonDemandez  a  regarder  la  CVE....

Saturday, March 2, 13

Page 23: 2013 03-01 automatiser les tests sécurité

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

Page 24: 2013 03-01 automatiser les tests sécurité

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

Page 25: 2013 03-01 automatiser les tests sécurité

Sécurité  &  Le  cycle  de  développement

• Corriger  une  vulnérabilité  peut  couter  très  cher  

8Demandez  à  Microsoi  

Saturday, March 2, 13

Page 26: 2013 03-01 automatiser les tests sécurité

Sécurité  &  Le  cycle  de  développement

• Et  demander  du  temps  !  

9Demandez  à  Oracle....

Saturday, March 2, 13

Page 27: 2013 03-01 automatiser les tests sécurité

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

Page 28: 2013 03-01 automatiser les tests sécurité

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

Page 29: 2013 03-01 automatiser les tests sécurité

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

Page 30: 2013 03-01 automatiser les tests sécurité

Sécurité  &  cycle  de  développement

• Mais  la  sécurité  est  un  processus  par  un  produit  !  (c)  Bruce  Schneier

11

Saturday, March 2, 13

Page 31: 2013 03-01 automatiser les tests sécurité

Sécurité  &  cycle  de  développement

• Mais  la  sécurité  est  un  processus  par  un  produit  !  (c)  Bruce  Schneier

11

Saturday, March 2, 13

Page 32: 2013 03-01 automatiser les tests sécurité

Pourquoi  chercher  des  vulnérabilités  ?

12

Saturday, March 2, 13

Page 33: 2013 03-01 automatiser les tests sécurité

Pourquoi  chercher  des  vulnérabilités  ?

✓Juste  pour  les  trouver  ?

12

Saturday, March 2, 13

Page 34: 2013 03-01 automatiser les tests sécurité

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

Page 35: 2013 03-01 automatiser les tests sécurité

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

Page 36: 2013 03-01 automatiser les tests sécurité

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

Page 37: 2013 03-01 automatiser les tests sécurité

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

Page 38: 2013 03-01 automatiser les tests sécurité

De  quoi  parle-­‐t-­‐on  ?

13

Saturday, March 2, 13

Page 39: 2013 03-01 automatiser les tests sécurité

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

Page 40: 2013 03-01 automatiser les tests sécurité

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

Page 41: 2013 03-01 automatiser les tests sécurité

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

Page 42: 2013 03-01 automatiser les tests sécurité

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

Page 43: 2013 03-01 automatiser les tests sécurité

15

Saturday, March 2, 13

Page 44: 2013 03-01 automatiser les tests sécurité

• 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

Page 45: 2013 03-01 automatiser les tests sécurité

17

Saturday, March 2, 13

Page 46: 2013 03-01 automatiser les tests sécurité

• 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

Page 47: 2013 03-01 automatiser les tests sécurité

• 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

Page 48: 2013 03-01 automatiser les tests sécurité

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

Page 49: 2013 03-01 automatiser les tests sécurité

W3AF

21

hbp://w3af.org/

Saturday, March 2, 13

Page 50: 2013 03-01 automatiser les tests sécurité

Arachni

22

hbp://arachni-­‐scanner.com/

Saturday, March 2, 13

Page 51: 2013 03-01 automatiser les tests sécurité

Hudson

23

hbp://hudson-­‐ci.org/

Saturday, March 2, 13

Page 52: 2013 03-01 automatiser les tests sécurité

Démos

24

Saturday, March 2, 13

Page 53: 2013 03-01 automatiser les tests sécurité

• @SPoint

[email protected]

Saturday, March 2, 13

Page 54: 2013 03-01 automatiser les tests sécurité

• @SPoint

[email protected]

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