2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

23
Application Security Forum West Switzerland 6 Novembre 2014 Yverdon les bains Sébas&en Gioria [email protected] Chapter Leader & Evangelist OWASP France U6liser SonarQube pour la Sécurité

description

d

Transcript of 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Page 1: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Application Security Forum West Switzerland  6  Novembre  2014  

Yverdon  les  bains    Sébas&en  Gioria  [email protected]  Chapter  Leader  &  Evangelist  OWASP  France  

U6liser  SonarQube  pour  la  Sécurité  

Page 2: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

2

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

‣ OWASP France Leader & Founder & Evangelist, ‣ OWASP ISO Project & OWASP SonarQube Project Leader

‣ Innovation and Technology @Advens && Application Security Expert

Twitter :@SPoint/@OWASP_France

2  

‣ Application Security group leader for the CLUSIF

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

Page 3: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Agenda  

•  L’analyse  de  code  source  •  Qualité/Sécurité  •  SonarQube  

•  Le  projet  OWASP  SonarQube  

3  

Page 4: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

L’analyse  de  code  source  résumée  

Page 5: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

L’analyse  de  code  source  

•  Iden6fier  toutes  les  occurrences  d’une  faille  

•  Évaluer  des  facteurs  contribuant  à  la  sécurité    

•  Étudier  l’applica6on  dans  le  détail    

•  Détecter  les  erreurs  d’implémenta6on  sournoises  

Page 6: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Analyse  du  code  vs  Test  d’intrusion  applica6f  (pour  un  

CISO)  

Top10  Web   Tests  d’intrusion   Analyse  du  code  A1  -­‐  Injec6on   ++   +++  

A2  –  Viola6on  de  Session  /  Authen6fica6on    

++   +  

A3  –  Cross  Site  Scrip6ng     +++   +++  A4  –  Référence  Directes     +   +++  

A5  –  Mauvaise  configura6on         +   ++  A6  –  Exposi6on  de  données     ++   +  A7  –  Probleme  d’habilita6on  

fonc6onnelle    +   +  

A8  -­‐  CSRF     ++   +  A9  –  U6lisa6on  de  Composants  

vulnérables  +++  

A10  –  Redirec6on  et  transferts     +   +  

Page 7: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

L’  analyse  de  code  ou  le  test  d’intrusion  pour  un  développeur  

Page 8: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

L’évolu6on  du  développement  logiciel  

Makefile" Intégration continue" Tests unitaires" Inspection continue"Gestionnaire de code source"

Page 9: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Les  7  péchés  capitaux  du  développeur  

Page 10: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Duplica6on  de  code....  

Page 11: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

1x30  ou  10x3  ?    

Page 12: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Mauvais  Design  

Page 13: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Super  l’objet...  

Page 14: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Non  Respect  des  standards  

Page 15: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Commentaire  

Page 16: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Les  tests  unitaires  ?    

•  En  programma6on  informa6que,  le  test  unitaire  (ou  "T.U.")  est  une  procédure  permejant  de  vérifier  le  bon  fonc6onnement  d'une  par6e  précise  d'un  logiciel  ou  d'une  por6on  d'un  programme  (appelée  «  unité  »  ou  «  module  »).  (c)  Wikipedia    

Page 17: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

7  axes  pour  couvrir  la  qualité  d’un  code  

Code  Source  

Architecture  et  Concep6on  

Code  dupliqué  

Test  unitaires  

Complexité  Bugs  

Règle  de  codage  

Commentaires  

•  Bugs    •  Non  respect  des  standards  

de  codage  •  Duplica6on  de  code  •  Manque  de  tests  unitaires  •  Code  trop  complexe  •  Concep6on  spagheq  

(  mauvais  design)  •  Trop  ou  pas  assez  de  code  

commenté.  

Page 18: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

SonarQube  

•  Plateforme  centralisé  de  ges6on  de  la  qualité  :    – Profils  de  qualité  –  Intégrable  dans  la  chaine  de  build  – Support  de  nombreux  languages  (C/C++,  java,  php,  javascript,  ...)  

– Plugins/extensions  disponibles  – Ges6on  de  rapports  et  visualisa6on  de  l’évolu6on  – Existe  en  version  Open-­‐Source  

Page 19: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

SonarQube  pour  la  sécurité  applica6ve  

•  S’intègre  dans  le  SDLC  –  liens  possible  avec  Jenkins/Hudson  – Repor6ng  sur  les  viola6ons  – Possibilité  d’ajouter  des  règles  

•  Dispose  de  règles  permejant  de  couvrir  – non  respect  des  regles  de  codage  – découverte  de  bugs  sécurité(XSS,  SQl-­‐Injec6on)  

Page 20: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

SonarQube  pour  la  sécurité  applica6ve  

•  Ce  n’est  pas  un  ou6l  de  revue  de  code  !  –  Il  fonc6onne  sur  la  viola6on  de  règles;  détec6on  de  pajerns  uniquement  

•  Il    6re  toute  sa  puissance    – si  vous  disposez  d’une  poli6que  de  Secure  Coding  – si  vous  démarrer  un  nouveau  projet  

•  Il  n’est  pas  “tres”  orienté  sécurité  actuellement  – peu  de  plugins  de  sécurité  – pas  de  profils  type  pour  les  viola6ons  de  secure  coding.  

Page 21: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Le  projet  OWASP  SonarQube  

•  Collabora6on  OWASP  /  SonarSource  –  Mejre  a  disposi6on  de  la  communauté  un  ensemble  de  règles,  profils,  

et  plugins  pour  analyser  la  sécurité  avec  SonarQube.  

•  Plusieurs  buts  prévus  –  Livraison  d’un  profil  OWASP  Top10  supporté  et  maintenu  par  le  projet  

début  Octobre  2014  vis  a  vis  du  langage  Java.  –  Livraison  d’autres  profils  (probablement  en  2015):  

•  ASVS  •  ISO  27034-­‐5  •  CERT  Secure  Coding    

–  Développement  de  plugins  spécifiques  OWASP  •  pour  les  autres  langages  

Page 22: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

Démo  

Page 23: 2014 11-06-sonarqube-asfws-141110031042-conversion-gate01

License  

23  

@SPoint    [email protected]