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é

Analyser la sécurité de son code source avec SonarSource

Embed Size (px)

DESCRIPTION

Présentation dans le cadre de l'Application Security Forum de Yverdon 2014. La présentaiton indique comment se service de Sonar pour effectuer des analyses sécurité. Et présente aussi le projet OWASP SonarQube

Citation preview

Page 1: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

Agenda  

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

•  Le  projet  OWASP  SonarQube  

3  

Page 4: Analyser la sécurité de son code source avec SonarSource

L’analyse  de  code  source  résumée  

Page 5: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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

Page 8: Analyser la sécurité de son code source avec SonarSource

L’évolu6on  du  développement  logiciel  

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

Page 9: Analyser la sécurité de son code source avec SonarSource

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

Page 10: Analyser la sécurité de son code source avec SonarSource

Duplica6on  de  code....  

Page 11: Analyser la sécurité de son code source avec SonarSource

1x30  ou  10x3  ?    

Page 12: Analyser la sécurité de son code source avec SonarSource

Mauvais  Design  

Page 13: Analyser la sécurité de son code source avec SonarSource

Super  l’objet...  

Page 14: Analyser la sécurité de son code source avec SonarSource

Non  Respect  des  standards  

Page 15: Analyser la sécurité de son code source avec SonarSource

Commentaire  

Page 16: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

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: Analyser la sécurité de son code source avec SonarSource

Démo  

Page 23: Analyser la sécurité de son code source avec SonarSource

License  

23  

@SPoint    [email protected]