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

Post on 21-Jun-2015

799 views 1 download

Tags:

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

Transcript of 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  Sebas6en.Gioria@owasp.org  Chapter  Leader  &  Evangelist  OWASP  France  

U6liser  SonarQube  pour  la  Sécurité  

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.

Agenda  

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

•  Le  projet  OWASP  SonarQube  

3  

L’analyse  de  code  source  résumée  

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  

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     +   +  

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

L’évolu6on  du  développement  logiciel  

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

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

Duplica6on  de  code....  

1x30  ou  10x3  ?    

Mauvais  Design  

Super  l’objet...  

Non  Respect  des  standards  

Commentaire  

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    

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é.  

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  

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)  

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.  

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  

Démo  

License  

23  

@SPoint    sebas6en.gioria@owasp.org