OWASP Top10 2013 - Présentation aux RSSIA 2013

Preview:

DESCRIPTION

Présentation autour du Top10 2013 de l'OWASP aux RSSIA de Bordeaux au CLUSIR Aquitaine

Citation preview

Et  pour  quelques  lignes  de  code  sécurisé  (oubliées...)

RSSIA  -­‐  Bordeaux21  Juin  2013

Sébas&en  GioriaSebasCen.Gioria@owasp.orgChapter  Leader  OWASP  France

Friday, June 21, 13

http://www.google.fr/#q=sebastien gioria

‣OWASP France Leader & Founder & Evangelist

‣Application Security freelance consultant.

Twitter :@SPoint / @OWASP_France

2

‣Application Security group leader for the CLUSIF

‣Proud father of youngs kids trying to hack my digital life.

Ne  vous  inquietez  pas  c’est  le  seul  slide  en  anglais,  par  contre  il  y  aura  des  trucs  d’écrits  partout  en  bas...

Friday, June 21, 13

Agenda

• Remise  a  plat  du  problème• Quelques  exemples  récents• Pour  aller  plus  loin  • L’écosystème  OWASP

3Déja  je  remercie  Hervé,  car  graçe  a  lui,  je  me  suis  levé  de  bonne  heure....

Friday, June 21, 13

Jeu  1  

4?????Friday, June 21, 13

Jeu  2  

5

????un  indice  :  c’est  a  la  mode.....

Friday, June 21, 13

Jeu  3  

6

?

Friday, June 21, 13

Jeu  3  

6

?

Friday, June 21, 13

Jeu  4  ?  

7

????

Moi  j’aurai  pas  confiance  a  filer  mes  idenCfiants  a  des  gens  Cers....

Friday, June 21, 13

Game  Over....

• Un  Téléphone  VoIP  ?  

• Une  {Free  ı  B  ı  Live  ı  SFR  ı  *  }  box  ?

• Des  applicaCons  sur  des  ordiphones  ?  

• Clients  ?  partenaires  sur    Internet  ?

8Ah....j’ai  réussi  a  le  caser  ce  mot...I?

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

Age  de  l’  AnCvirus

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

Age  de  l’  AnCvirus

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

Age  de  la    sécurité  

périmétrique

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

Age  de  la    sécurité  

périmétrique

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

Age  de  la  sécurité  applicaCve

9

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

Sécurité  ApplicaCve  ?  

Age  de  la  sécurité  applicaCve

9Et  la  mon  fils  me  dit  :  “Papa,  t’a  pas  mis  l’age  de  glace  sur  ton  slide....”

Friday, June 21, 13

Nous  vivons  dans  un  environnement  fortement  digital,  connecté  en  quasi-­‐permanence  au  monde  enCer

vLa  plupart  des  sites-­‐web  sont  vulnérables  a  des  aoaques

vUne   part   importante   du   business   est   effectué   via   des   applicaCons   Web  (Services,  e-­‐commerce,  Telcos,  SCADA,  ...)

Sécurité  ApplicaCve  ?  

Age  de  la  sécurité  applicaCve

9Et  la  mon  fils  me  dit  :  “Papa,  t’a  pas  mis  l’age  de  glace  sur  ton  slide....”

Friday, June 21, 13

10(c)  WhiteHatSecurity  2013

Friday, June 21, 13

11(c)  WhiteHatSecurity  2013

Friday, June 21, 13

11(c)  WhiteHatSecurity  2013

Friday, June 21, 13

11(c)  WhiteHatSecurity  2013

Friday, June 21, 13

11(c)  WhiteHatSecurity  2013

Friday, June 21, 13

Quelques  exemples  récents

12

Friday, June 21, 13

‘OR  1==1  -­‐-­‐’

13

Friday, June 21, 13

‘OR  1==1  -­‐-­‐’

13

Friday, June 21, 13

‘OR  1==1  -­‐-­‐’

13

L’injecCon  SQL  fait  beaucoup  parler  d’elle.  Mais  il  existe  d’autres  formes  d’injecCons  :  •XML•XPath•LDAP•ORB(Hibernate)•...

Friday, June 21, 13

‘OR  1==1  -­‐-­‐’

13

L’injecCon  SQL  fait  beaucoup  parler  d’elle.  Mais  il  existe  d’autres  formes  d’injecCons  :  •XML•XPath•LDAP•ORB(Hibernate)•...

Friday, June 21, 13

‘OR  1==1  -­‐-­‐’

13

L’injecCon  SQL  fait  beaucoup  parler  d’elle.  Mais  il  existe  d’autres  formes  d’injecCons  :  •XML•XPath•LDAP•ORB(Hibernate)•...

A1  Injec&on  de  données  serveur

Friday, June 21, 13

<script>alert(/XSS/);</script>

14

Vous  préférez  InjecCon  de  code  indirect  ?

Friday, June 21, 13

<script>alert(/XSS/);</script>

14

Vous  préférez  InjecCon  de  code  indirect  ?

Friday, June 21, 13

<script>alert(/XSS/);</script>

14

Vous  préférez  InjecCon  de  code  indirect  ?

Friday, June 21, 13

<script>alert(/XSS/);</script>

14

Le  Cross  Site  ScripCng  est  souvent  mal  considéré.  Sa  puissance  peut  aller  jusqu’a  la  prise  de  contrôle  sur  le  poste  client...

Vous  préférez  InjecCon  de  code  indirect  ?

Friday, June 21, 13

<script>alert(/XSS/);</script>

14

Le  Cross  Site  ScripCng  est  souvent  mal  considéré.  Sa  puissance  peut  aller  jusqu’a  la  prise  de  contrôle  sur  le  poste  client...

Vous  préférez  InjecCon  de  code  indirect  ?

Friday, June 21, 13

<script>alert(/XSS/);</script>

14

Le  Cross  Site  ScripCng  est  souvent  mal  considéré.  Sa  puissance  peut  aller  jusqu’a  la  prise  de  contrôle  sur  le  poste  client...

A3  Cross  Site  Scrip&ng

Vous  préférez  InjecCon  de  code  indirect  ?

Friday, June 21, 13

Vous  reprendrez  bien  un  peu  de  cookie  ?

15

Friday, June 21, 13

Vous  reprendrez  bien  un  peu  de  cookie  ?

15

Friday, June 21, 13

Vous  reprendrez  bien  un  peu  de  cookie  ?

15

Les développeurs peuvent être tentés de créer leur propre gestionnaire de sessions et d'authentification, mais il s'agit d'une tâche complexe. Il en résulte souvent des implémentations contenant des faiblesses de sécurité dans des fonctions telles que: la déconnexion, la gestion des profils, etc. La a diversité des implémentations rend la recherche de vulnérabilités complexe.

Friday, June 21, 13

Vous  reprendrez  bien  un  peu  de  cookie  ?

15

Les développeurs peuvent être tentés de créer leur propre gestionnaire de sessions et d'authentification, mais il s'agit d'une tâche complexe. Il en résulte souvent des implémentations contenant des faiblesses de sécurité dans des fonctions telles que: la déconnexion, la gestion des profils, etc. La a diversité des implémentations rend la recherche de vulnérabilités complexe.

Friday, June 21, 13

Vous  reprendrez  bien  un  peu  de  cookie  ?

15

Les développeurs peuvent être tentés de créer leur propre gestionnaire de sessions et d'authentification, mais il s'agit d'une tâche complexe. Il en résulte souvent des implémentations contenant des faiblesses de sécurité dans des fonctions telles que: la déconnexion, la gestion des profils, etc. La a diversité des implémentations rend la recherche de vulnérabilités complexe.

A2  viola&on  de  session  et/ou  

d’authen&fica&on

Friday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Friday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Friday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Friday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiéeFriday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiéeFriday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiée

Surf  the  Web

Friday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiéeFriday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiéeFriday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiéeFriday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiéeFriday, June 21, 13

Que  se  passe-­‐t-­‐il  ?

16

Session  authen&fiéeFriday, June 21, 13

CSRF  démysCfié

• Le  problème– Les  navigateurs  Web  incluent  automaCquement  la  plupart  des  idenCfiants  dans  chaque  requête.

– Que  cela  soit  des  requêtes  venant  d’un  formulaire,  d’une  image  ou  d’un  autre  site.

• Tous  les  sites  basés  uniquement  sur  les  idenCfiants  automaCques  sont  vulnérables– ApproximaCvement  100%  des  sites  le  sont…

• C’est  quoi  un  idenCfiant  automaCque?– Cookie  de  session– Une  entête  d’authenCficaCon  HTTP– Une  adresse  IP– Les  cerCficats  SSL  client– L’authenCficaCon  de  domaine  Windows.

Friday, June 21, 13

CSRF  ?  

18injections de requêtes illégitimes par rebond pour la vrai terminologie

Friday, June 21, 13

CSRF  ?  

18

L’attaquant forge une requête HTTP et amène une victime à la soumettre via une balise d’image, XSS, ou de nombreuses autres techniques. Si l’utilisateur est authentifié , l’attaque est un succès.

injections de requêtes illégitimes par rebond pour la vrai terminologie

Friday, June 21, 13

CSRF  ?  

18

L’attaquant forge une requête HTTP et amène une victime à la soumettre via une balise d’image, XSS, ou de nombreuses autres techniques. Si l’utilisateur est authentifié , l’attaque est un succès.

injections de requêtes illégitimes par rebond pour la vrai terminologie

Friday, June 21, 13

CSRF  ?  

18

L’attaquant forge une requête HTTP et amène une victime à la soumettre via une balise d’image, XSS, ou de nombreuses autres techniques. Si l’utilisateur est authentifié , l’attaque est un succès.

A8Cross  Site  Request  Forgery

injections de requêtes illégitimes par rebond pour la vrai terminologie

Friday, June 21, 13

site:gouv.fr....

19

Friday, June 21, 13

site:gouv.fr....

19

Friday, June 21, 13

site:gouv.fr....

19

Friday, June 21, 13

site:gouv.fr....

19

Une  simple  recherche  google  permet  d’avoir  accès  a  des  documents  confidenCels  ou  internes

Friday, June 21, 13

site:gouv.fr....

19

Une  simple  recherche  google  permet  d’avoir  accès  a  des  documents  confidenCels  ou  internes

Friday, June 21, 13

site:gouv.fr....

19

Une  simple  recherche  google  permet  d’avoir  accès  a  des  documents  confidenCels  ou  internes

A5  Mauvaise  config  sécurité

Friday, June 21, 13

Qu’est-­‐ce  qu’un  risque  de  sécurité  applicaCf?

20La  c’etait  le  slide  qui  tue

Friday, June 21, 13

OWASP  Top10  2013

21

A1:  Injec&on

A2:  Viola&on  de  Ges&on  

d’authen&fica&on  et  de  session

A3:  Cross  Site  Scrip&ng  (XSS)

A4:Référence  directe  non  sécurisée  à  un  

objet

A5:  Mauvaise  configura&on  sécurité  

A6  :  Exposi&on  de  données  sensibles

A8:  Cross  Site  Request  Forgery  (CSRF)  

A10:    Redirec&ons    et  transferts  non  validés

A7:  Manque  de  contrôle  d’accès  fonc&onnel

A9:  U&lisa&on  de  composants  avec  des  vulnérabilités  connues

Friday, June 21, 13

OWASP  Top10  2013

21

A1:  Injec&on

A2:  Viola&on  de  Ges&on  

d’authen&fica&on  et  de  session

A3:  Cross  Site  Scrip&ng  (XSS)

A4:Référence  directe  non  sécurisée  à  un  

objet

A5:  Mauvaise  configura&on  sécurité  

A6  :  Exposi&on  de  données  sensibles

A8:  Cross  Site  Request  Forgery  (CSRF)  

A10:    Redirec&ons    et  transferts  non  validés

A7:  Manque  de  contrôle  d’accès  fonc&onnel

A9:  U&lisa&on  de  composants  avec  des  vulnérabilités  connues

ex-­‐A9(transport  non  sécurisé)  +  A7(Stockage  crypto)

Friday, June 21, 13

OWASP  Top10  2013

21

A1:  Injec&on

A2:  Viola&on  de  Ges&on  

d’authen&fica&on  et  de  session

A3:  Cross  Site  Scrip&ng  (XSS)

A4:Référence  directe  non  sécurisée  à  un  

objet

A5:  Mauvaise  configura&on  sécurité  

A6  :  Exposi&on  de  données  sensibles

A8:  Cross  Site  Request  Forgery  (CSRF)  

A10:    Redirec&ons    et  transferts  non  validés

A7:  Manque  de  contrôle  d’accès  fonc&onnel

A9:  U&lisa&on  de  composants  avec  des  vulnérabilités  connues

ex-­‐A9(transport  non  sécurisé)  +  A7(Stockage  crypto)

Friday, June 21, 13

Pour  aller  plus  loin

22

Friday, June 21, 13

23

Friday, June 21, 13

23

Apprendre

Friday, June 21, 13

23

Apprendre

Friday, June 21, 13

23

Apprendre Contractualiser

Friday, June 21, 13

23

Apprendre Contractualiser

Friday, June 21, 13

23

Apprendre Contractualiser Concevoir

Friday, June 21, 13

23

Apprendre Contractualiser Concevoir

Friday, June 21, 13

23

Apprendre Contractualiser Concevoir

CoderFriday, June 21, 13

23

Apprendre Contractualiser Concevoir

CoderFriday, June 21, 13

23

Apprendre Contractualiser

Tester  et  vérifier

Concevoir

CoderFriday, June 21, 13

23

Apprendre Contractualiser

Tester  et  vérifier

Concevoir

CoderFriday, June 21, 13

23

Apprendre Contractualiser

Tester  et  vérifier

Concevoir

AméliorerCoderFriday, June 21, 13

23

Apprendre Contractualiser

Tester  et  vérifier

Concevoir

AméliorerCoderFriday, June 21, 13

 NEWS

A  BLOG

A  PODCAST

MEMBERSHIPS

MAILING  LISTS

A  NEWSLETTER

APPLE  APP  STORE

VIDEO  TUTORIALS

TRAINING  SESSIONS

SOCIAL  NETWORKING

24

Friday, June 21, 13

Dates

• OWASP  EU  Tour  2013  :  –24  Juin  -­‐  Sophia  AnCpolis–25  Juin  -­‐  Geneve

• Java  User  Group  Poitou  Charentes    -­‐  Niort  :  27  Juin–Secure  Coding  for  Java  

• AppSec  Research  Europe  2013  :  20/23  Aout  –  Hambourg  –  Allemagne

•  OWASP  Benelux  :  28/29  Novembre  2013

25

Friday, June 21, 13

Soutenir  l’OWASP

• Différentes  soluCons  :  –Membre  Individuel  :  50  $–Membre  Entreprise  :  5000  $–DonaCon  Libre

• Soutenir  uniquement    le  chapitre  France  :–Single  MeeCng  supporter  

• Nous  offrir  une  salle  de  meeCng  !  • ParCciper  par  un  talk  ou  autre  !  • DonaCon  simple  

–Local  Chapter  supporter  :  • 500  $  à  2000  $  

26

Friday, June 21, 13

Prochains  meeCngs

• Septembre  2013  –Salle  :  Mozilla  Center  Paris–Speaker  :  

• Security  on  Firefox  OS• A  définir

• Novembre  2013–Salle  :  a  définir–Speaker  :  a  définir

Friday, June 21, 13

License

28

@SPoint

sebasCen.gioria@owasp.org

Friday, June 21, 13

Recommended