SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Par	
  Sébas)en	
  Gioria	
  et	
  Freddy	
  Mallet	
  
La	
  quête	
  du	
  code	
  source	
  
maintenable,	
  fiable	
  et	
  sécurisé	
  
	
  
Sébas7en	
  Gioria	
  
•  h:p://www.google.fr/#q=sebas7en	
  gioria	
  
•  Innova7on	
  and	
  Technology	
  @Advens	
  &&	
  	
  Applica7on	
  
Security	
  Expert	
  
•  OWASP	
  France	
  Leader	
  &	
  Founder	
  &	
  Evangelist,	
  OWASP	
  ISO	
  
Project	
  &	
  OWASP	
  SonarQube	
  Project	
  Leader	
  
•  Applica7on	
  Security	
  group	
  leader	
  for	
  the	
  CLUSIF	
  
•  Proud	
  father	
  of	
  youngs	
  kids	
  trying	
  to	
  hack	
  my	
  digital	
  life.	
  	
  
@Spoint	
  et	
  @OWASP_France	
  	
  
Sebas7en.gioria@owasp.org	
  
Freddy	
  Mallet	
  
•  Créateur	
  de	
  la	
  plateforme	
  SonarQube	
  	
  
•  Co-­‐fondateur	
  de	
  la	
  société	
  SonarSource	
  
•  @FreddyMallet	
  
•  freddy.mallet@sonarsource.com	
  
Agenda	
  
•  Enjeux	
  autour	
  de	
  l’analyse	
  du	
  code	
  source	
  
•  Tout	
  ce	
  que	
  le	
  code	
  source	
  peut	
  dire	
  
•  Mise	
  en	
  œuvre	
  méthodologique	
  
•  SonarQube	
  /	
  projet	
  OWASP	
  /	
  Demo	
  
4	
  
Enjeux	
  autour	
  de	
  l’analyse	
  du	
  
code	
  source	
  
Enjeux	
  autour	
  de	
  l’analyse	
  du	
  code	
  source	
  
	
  
Beaucoup	
  de	
  défauts	
  pouvant	
  conduire	
  à	
  des	
  
problèmes	
  de	
  maintenabilité,	
  de	
  stabilité	
  et	
  de	
  
sécurité	
  peuvent	
  être	
  détectés	
  automa7quement.	
  
	
  
Et	
  tout	
  par7culièrement	
  les	
  plus	
  sournois	
  
Approche	
  boîte	
  noire	
  VS	
  
boîte	
  blanche	
  
Top10	
  Web	
   Tests	
  d’intrusion	
   Analyse	
  du	
  code	
  
A1	
  -­‐	
  Injec7on	
   ++	
   +++	
  
A2	
  –	
  Viola7on	
  de	
  Session	
  /	
  
Authen7fica7on	
  	
  
++	
   +	
  
A3	
  –	
  Cross	
  Site	
  Scrip7ng	
  	
   +++	
   +++	
  
A4	
  –	
  Références	
  Directes	
  	
   +	
   +++	
  
A5	
  –	
  Mauvaise	
  configura7on	
  	
  	
  	
   +	
   ++	
  
A6	
  –	
  Exposi7on	
  de	
  données	
  	
   ++	
   +	
  
A7	
  –	
  Probleme	
  d’habilita7on	
  
fonc7onnelle	
  	
  
+	
   +	
  
A8	
  -­‐	
  CSRF	
  	
   ++	
   +	
  
A9	
  –	
  U7lisa7on	
  de	
  Composants	
  
vulnérables	
  
+++	
  
A10	
  –	
  Redirec7on	
  et	
  transferts	
  	
   +	
   +	
  
L’	
  analyse	
  de	
  code	
  ou	
  le	
  test	
  d’intrusion	
  du	
  
point	
  de	
  vue	
  du	
  développeur	
  ?	
  
L’évolu7on	
  du	
  
développement	
  logiciel	
  
Vi / Emacs
Makefile
Version
Control
Building
Tools
Ticket
Tracking
Continuous
Integration
Refactoring
From the IDE
Unit Tests
Continuous
Inspection
Tout	
  ce	
  que	
  le	
  code	
  source	
  
peut	
  dire	
  
Les	
  principaux	
  types	
  
de	
  défauts	
  
Maintenabilité
???
Fiabilité
Multi-threadings, null pointers, buffer overflows, unclosed resources, …
Sécurité
OWASP Top 10, SANS TOP 25, …
Exemples	
  liés	
  à	
  la	
  
sécurité	
  
•  Injec7on	
  SQL,	
  LDAP,	
  …	
  
•  Login/mot	
  de	
  passe	
  en	
  dur	
  
•  U7lisa7on	
  d’algorithmes	
  de	
  hashage	
  trop	
  
faibles:	
  MD5,	
  SHA1,	
  …	
  
•  Injec7on	
  de	
  code	
  
•  Redirec7on	
  web	
  vers	
  un	
  site	
  inconnu	
  
•  …	
  
Exemples	
  liés	
  à	
  la	
  
fiabilité	
  
•  Déréférencement	
  de	
  pointeurs	
  null	
  
•  Débordement	
  d’en7er	
  
•  Condi7ons	
  invalides	
  
•  Assigna7on	
  d’une	
  variable	
  à	
  elle	
  même	
  
•  Ressources	
  non	
  libérées	
  
•  Assigna7on	
  d’une	
  valeur	
  jamais	
  u7lisée	
  	
  
•  …	
  
Quid	
  de	
  la	
  maintenabilité	
  ?	
  
•  ?	
  
•  ?	
  
•  ?	
  
•  ?	
  
•  ?	
  
•  ?	
  
Duplica7on	
  de	
  code	
  
Que	
  choisir	
  entre	
  la	
  peste	
  et	
  le	
  choléra	
  ?	
  
Mauvaise	
  distribu7on	
  de	
  la	
  
complexité	
  
Vaut-­‐il	
  mieux	
  une	
  méthode	
  d’une	
  complexité	
  
de	
  30	
  ou	
  10	
  méthodes	
  d’une	
  complexité	
  de	
  3	
  ?	
  
Pas	
  ou	
  peu	
  de	
  tests	
  unitaires	
  	
  
Mauvais	
  Design	
  
Quel	
  classe/package	
  	
  
est	
  responsable	
  de	
  quoi	
  ?	
  
Non	
  respect	
  des	
  standards	
  
Comme	
  par	
  exemple	
  la	
  stratégie	
  	
  
de	
  ges7on	
  des	
  excep7ons	
  
Pas	
  ou	
  peu	
  de	
  commentaires	
  
Ce:e	
  expression	
  régulière	
  “match”	
  quoi	
  	
  
par	
  exemple	
  ?	
  
Quid	
  de	
  la	
  maintenabilité	
  
•  Duplica7on	
  de	
  code	
  
•  Mauvaise	
  distribu7on	
  de	
  la	
  complexité	
  
•  Peu	
  ou	
  pas	
  de	
  tests	
  unitaires	
  
•  Mauvais	
  design	
  
•  Non	
  respect	
  des	
  standards	
  
•  Pas	
  ou	
  peu	
  de	
  commentaires	
  
Mise	
  en	
  oeuvre	
  
méthodologique	
  
Approche	
  
tradi7onnelle	
  
•  Retour	
  trop	
  tardif	
  
•  Manque	
  d’implica)on	
  des	
  
développeurs	
  
•  Pushback	
  de	
  ces	
  derniers	
  
•  Pas	
  de	
  réelle	
  douane	
  
applica7ve	
  
•  Ou)ls,	
  processus	
  et	
  personnes	
  
différentes	
  pour	
  chasser	
  les	
  
différents	
  types	
  de	
  défauts	
  
Comment	
  rembourser	
  la	
  
de:e	
  ?	
  
•  Le	
  montant	
  total	
  peut	
  être	
  déprimant	
  
•  Faut-­‐il	
  demander	
  un	
  budget	
  dédié	
  ?	
  
•  Le	
  risque	
  d’injec)on	
  d’une	
  régression	
  
fonc)onnelle	
  existe	
  
•  Ce	
  n’est	
  pas	
  très	
  “fun”	
  !	
  
Ce	
  qu’il	
  faut	
  changer	
  
•  La	
  boucle	
  de	
  rétroac7on	
  doit	
  être	
  beaucoup	
  
plus	
  rapide	
  
•  Une	
  douane	
  applica7ve	
  	
  
non	
  négociable	
  doit	
  exister	
  
•  Les	
  développeurs	
  doivent	
  être	
  au	
  coeur	
  du	
  
processus	
  
•  Le	
  coût	
  doit	
  être	
  non	
  significa7f	
  
•  L’approche	
  doit	
  être	
  unifiée	
  
Se	
  focaliser	
  sur	
  la	
  fuite	
  
SonarQube	
  
OWASP	
  
Demo	
  	
  
SonarQube	
  
•  Intégrable	
  dans	
  la	
  chaine	
  de	
  build	
  
•  Support	
  de	
  nombreux	
  languages:	
  C/C++,	
  Java,	
  
PHP,	
  JavaScript,	
  COBOL,	
  C#,	
  PL/SQL,	
  …	
  
•  Support	
  du	
  concept	
  de	
  douane	
  applica7ve	
  
•  Extensible:	
  nombreux	
  plugins	
  
•  Ges7on	
  temporelle	
  des	
  défauts	
  
•  Open-­‐Source	
  
SonarQube	
  pour	
  la	
  
sécurité	
  applica7ve	
  
•  S’intègre	
  dans	
  le	
  SDLC	
  
– liens	
  possible	
  avec	
  Jenkins/Hudson/Bamboo	
  
– Repor7ng	
  sur	
  les	
  défauts	
  
– Possibilité	
  d’ajouter	
  des	
  règles	
  (en	
  XPath)	
  
•  Dispose	
  de	
  règles	
  perme:ant	
  de	
  couvrir	
  
– non	
  respect	
  des	
  regles	
  de	
  codage	
  
– découverte	
  de	
  bugs	
  sécurité(XSS,	
  SQl-­‐Injec7on)	
  
SonarQube	
  pour	
  la	
  
sécurité	
  applica7ve	
  
•  Ce	
  n’est	
  pas	
  un	
  ou7l	
  de	
  revue	
  de	
  code	
  !	
  
– Il	
  fonc7onne	
  sur	
  la	
  viola7on	
  de	
  règles;	
  détec7on	
  de	
  
pa:erns	
  uniquement	
  
•  Il	
  	
  7re	
  toute	
  sa	
  puissance	
  	
  
– si	
  vous	
  disposez	
  d’une	
  poli7que	
  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	
  viola7ons	
  de	
  secure	
  
coding.	
  
Le	
  projet	
  OWASP	
  
SonarQube	
  
•  Collabora7on	
  OWASP	
  /	
  SonarSource	
  
–  Me:re	
  a	
  disposi7on	
  de	
  la	
  communauté	
  un	
  ensemble	
  de	
  
règles,	
  profils,	
  et	
  plugins	
  pour	
  analyser	
  la	
  sécurité	
  avec	
  
SonarQube.	
  
•  Plusieurs	
  objec7fs	
  prévus	
  
–  Lier	
  les	
  règles	
  au	
  référen7el	
  MITRE	
  CWE	
  	
  
–  Tagguers	
  les	
  règles	
  suivant	
  les	
  catégories	
  OWASP	
  Top	
  10	
  
2013	
  
–  Développement	
  de	
  nouvelles	
  règles	
  “sécurité”	
  
–  Nouveau	
  widget	
  pour	
  offrir	
  une	
  perspec7ve	
  “sécurité”	
  sur	
  
le	
  code	
  source	
  
–  Etendre	
  ces	
  objec7fs	
  à	
  tous	
  les	
  plugins	
  langage	
  
35	
  
@Spoint
@FreddyMallet
@OWASPSonarQube
@OWASP_France

Más contenido relacionado

La actualidad más candente

2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécuritéSébastien GIORIA
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebCyrille Grandval
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonSébastien GIORIA
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications WebKlee Group
 
OWASP Quebec: "Security Stories" par Guillaume Croteau
OWASP Quebec: "Security Stories" par Guillaume CroteauOWASP Quebec: "Security Stories" par Guillaume Croteau
OWASP Quebec: "Security Stories" par Guillaume CroteauPatrick Leclerc
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceSébastien GIORIA
 
OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013Sébastien GIORIA
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseAntonio Fontes
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouseSébastien GIORIA
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilCyber Security Alliance
 
Les menaces applicatives
Les menaces applicativesLes menaces applicatives
Les menaces applicativesBee_Ware
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le designChristophe Villeneuve
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesBee_Ware
 
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01Sébastien GIORIA
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité webdavystoffel
 

La actualidad más candente (20)

OWASP TOP 10 Proactive
OWASP TOP 10 ProactiveOWASP TOP 10 Proactive
OWASP TOP 10 Proactive
 
2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité2013 03-01 automatiser les tests sécurité
2013 03-01 automatiser les tests sécurité
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
 
Sécurité des applications Web
Sécurité des applications WebSécurité des applications Web
Sécurité des applications Web
 
Sécurité des applications web
Sécurité des applications webSécurité des applications web
Sécurité des applications web
 
OWASP Quebec: "Security Stories" par Guillaume Croteau
OWASP Quebec: "Security Stories" par Guillaume CroteauOWASP Quebec: "Security Stories" par Guillaume Croteau
OWASP Quebec: "Security Stories" par Guillaume Croteau
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSource
 
OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013OWASP Top10 2013 - Présentation aux RSSIA 2013
OWASP Top10 2013 - Présentation aux RSSIA 2013
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan MarcilASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
ASFWS 2012 - Les utilités d’un pare-feu applicatif Web (WAF) par Jonathan Marcil
 
Les menaces applicatives
Les menaces applicativesLes menaces applicatives
Les menaces applicatives
 
La sécurité applicative par le design
La sécurité applicative par le designLa sécurité applicative par le design
La sécurité applicative par le design
 
Les principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuellesLes principales failles de sécurité des applications web actuelles
Les principales failles de sécurité des applications web actuelles
 
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V012010 02 09 Ms Tech Days Owasp Asvs Sgi V01
2010 02 09 Ms Tech Days Owasp Asvs Sgi V01
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité web
 
Comprendre la securite web
Comprendre la securite webComprendre la securite web
Comprendre la securite web
 
Failles de sécurité
Failles de sécuritéFailles de sécurité
Failles de sécurité
 

Destacado

Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de codeMehdi TAZI
 
Join(sql)
Join(sql)Join(sql)
Join(sql)인 이
 
Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2waizou
 
Whitepaper - Application Delivery in PCI DSS Compliant Environments
Whitepaper - Application Delivery in PCI DSS Compliant EnvironmentsWhitepaper - Application Delivery in PCI DSS Compliant Environments
Whitepaper - Application Delivery in PCI DSS Compliant EnvironmentsJason Dover
 
PCI DSS Success: Achieve Compliance and Increase Web Application Security
PCI DSS Success: Achieve Compliance and Increase Web Application SecurityPCI DSS Success: Achieve Compliance and Increase Web Application Security
PCI DSS Success: Achieve Compliance and Increase Web Application SecurityCitrix
 
Writing Secure Code – Threat Defense
Writing Secure Code – Threat DefenseWriting Secure Code – Threat Defense
Writing Secure Code – Threat Defenseamiable_indian
 
Monitoring threats for pci compliance
Monitoring threats for pci complianceMonitoring threats for pci compliance
Monitoring threats for pci complianceShiva Hullavarad
 
An Introduction to PCI Compliance on IBM Power Systems
An Introduction to PCI Compliance on IBM Power SystemsAn Introduction to PCI Compliance on IBM Power Systems
An Introduction to PCI Compliance on IBM Power SystemsHelpSystems
 
Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...
Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...
Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...Schellman & Company
 
How the latest trends in data security can help your data protection strategy...
How the latest trends in data security can help your data protection strategy...How the latest trends in data security can help your data protection strategy...
How the latest trends in data security can help your data protection strategy...Ulf Mattsson
 
Modern Security and Compliance Through Automation | AWS Public Sector Summit ...
Modern Security and Compliance Through Automation | AWS Public Sector Summit ...Modern Security and Compliance Through Automation | AWS Public Sector Summit ...
Modern Security and Compliance Through Automation | AWS Public Sector Summit ...Amazon Web Services
 
Determining Scope for PCI DSS Compliance
Determining Scope for PCI DSS ComplianceDetermining Scope for PCI DSS Compliance
Determining Scope for PCI DSS ComplianceSchellman & Company
 
Reduce PCI Scope - Maximise Conversion - Whitepaper
Reduce PCI Scope - Maximise Conversion - WhitepaperReduce PCI Scope - Maximise Conversion - Whitepaper
Reduce PCI Scope - Maximise Conversion - WhitepaperShaun O'keeffe
 
Top PCI Pitfalls and How to Avoid Them: The QSA’s Perspective
Top PCI Pitfalls and How to Avoid Them: The QSA’s PerspectiveTop PCI Pitfalls and How to Avoid Them: The QSA’s Perspective
Top PCI Pitfalls and How to Avoid Them: The QSA’s PerspectiveAlgoSec
 
AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...
AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...
AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...Amazon Web Services
 

Destacado (20)

Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de code
 
Join(sql)
Join(sql)Join(sql)
Join(sql)
 
Integrated Compliance
Integrated ComplianceIntegrated Compliance
Integrated Compliance
 
Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2Devops mycode devoxx-france-2015-v2
Devops mycode devoxx-france-2015-v2
 
Whitepaper - Application Delivery in PCI DSS Compliant Environments
Whitepaper - Application Delivery in PCI DSS Compliant EnvironmentsWhitepaper - Application Delivery in PCI DSS Compliant Environments
Whitepaper - Application Delivery in PCI DSS Compliant Environments
 
PCI DSS Success: Achieve Compliance and Increase Web Application Security
PCI DSS Success: Achieve Compliance and Increase Web Application SecurityPCI DSS Success: Achieve Compliance and Increase Web Application Security
PCI DSS Success: Achieve Compliance and Increase Web Application Security
 
Presentation_Borne
Presentation_BornePresentation_Borne
Presentation_Borne
 
Writing Secure Code – Threat Defense
Writing Secure Code – Threat DefenseWriting Secure Code – Threat Defense
Writing Secure Code – Threat Defense
 
Monitoring threats for pci compliance
Monitoring threats for pci complianceMonitoring threats for pci compliance
Monitoring threats for pci compliance
 
An Introduction to PCI Compliance on IBM Power Systems
An Introduction to PCI Compliance on IBM Power SystemsAn Introduction to PCI Compliance on IBM Power Systems
An Introduction to PCI Compliance on IBM Power Systems
 
PCI-DSS_Overview
PCI-DSS_OverviewPCI-DSS_Overview
PCI-DSS_Overview
 
Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...
Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...
Work With Federal Agencies? Here's What You Should Know About FedRAMP Assessm...
 
How the latest trends in data security can help your data protection strategy...
How the latest trends in data security can help your data protection strategy...How the latest trends in data security can help your data protection strategy...
How the latest trends in data security can help your data protection strategy...
 
Modern Security and Compliance Through Automation | AWS Public Sector Summit ...
Modern Security and Compliance Through Automation | AWS Public Sector Summit ...Modern Security and Compliance Through Automation | AWS Public Sector Summit ...
Modern Security and Compliance Through Automation | AWS Public Sector Summit ...
 
Determining Scope for PCI DSS Compliance
Determining Scope for PCI DSS ComplianceDetermining Scope for PCI DSS Compliance
Determining Scope for PCI DSS Compliance
 
Reduce PCI Scope - Maximise Conversion - Whitepaper
Reduce PCI Scope - Maximise Conversion - WhitepaperReduce PCI Scope - Maximise Conversion - Whitepaper
Reduce PCI Scope - Maximise Conversion - Whitepaper
 
Top PCI Pitfalls and How to Avoid Them: The QSA’s Perspective
Top PCI Pitfalls and How to Avoid Them: The QSA’s PerspectiveTop PCI Pitfalls and How to Avoid Them: The QSA’s Perspective
Top PCI Pitfalls and How to Avoid Them: The QSA’s Perspective
 
PCI Compliance NOT for Dummies epb 30MAR2016
PCI Compliance NOT for Dummies epb 30MAR2016PCI Compliance NOT for Dummies epb 30MAR2016
PCI Compliance NOT for Dummies epb 30MAR2016
 
AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...
AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...
AWS re:Invent 2016: Chalk Talk: Applying Security-by-Design to Drive Complian...
 
PCI DSS 3.2
PCI DSS 3.2PCI DSS 3.2
PCI DSS 3.2
 

Similar a La Quete du code source fiable et sécurisé - GSDAYS 2015

2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01Cyber Security Alliance
 
#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQubeVincent Biret
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
Partagez votre code et non vos secrets
Partagez votre code et non vos secretsPartagez votre code et non vos secrets
Partagez votre code et non vos secretsOpen Source Experience
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarElsassJUG
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !Lucian Precup
 
DevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratiqueDevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratiquebertrandmeens
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011 ALTER WAY
 
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...OCTO Technology
 
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Normandie Web Xperts
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteStephane Couzinier
 
Owasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremierOwasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremierThomas Hofer
 
Challenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreChallenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreStefane Fermigier
 
CV KHALIL Hassen_201601
CV KHALIL Hassen_201601CV KHALIL Hassen_201601
CV KHALIL Hassen_201601Hassen Khalil
 
Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Guillaume Rouchon
 
Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...Antonio Fontes
 

Similar a La Quete du code source fiable et sécurisé - GSDAYS 2015 (20)

2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
 
#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube#MSDEVMTL Introduction à #SonarQube
#MSDEVMTL Introduction à #SonarQube
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Partagez votre code et non vos secrets
Partagez votre code et non vos secretsPartagez votre code et non vos secrets
Partagez votre code et non vos secrets
 
Soirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec SonarSoirée Qualité Logicielle avec Sonar
Soirée Qualité Logicielle avec Sonar
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !La revue de code : agile, lean, indispensable !
La revue de code : agile, lean, indispensable !
 
DevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratiqueDevSecOps : de la théorie à la pratique
DevSecOps : de la théorie à la pratique
 
Techdays2011
Techdays2011 Techdays2011
Techdays2011
 
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
Petit-déjeuner "Cultiver l'art du code de qualité... Afin de livrer plus vite...
 
Les tests de securite devops
Les tests de securite devopsLes tests de securite devops
Les tests de securite devops
 
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
 
Jenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverteJenkins - Les jeudis de la découverte
Jenkins - Les jeudis de la découverte
 
Owasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremierOwasp geneva-201102-trouvez vosbugslepremier
Owasp geneva-201102-trouvez vosbugslepremier
 
Challenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libreChallenges du recrutement pour un editeur de logiciel libre
Challenges du recrutement pour un editeur de logiciel libre
 
CV KHALIL Hassen_201601
CV KHALIL Hassen_201601CV KHALIL Hassen_201601
CV KHALIL Hassen_201601
 
Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !Mettez un peu de CI/CD dans vos projets data !
Mettez un peu de CI/CD dans vos projets data !
 
Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...Sécurité dans les contrats d'externalisation de services de développement et ...
Sécurité dans les contrats d'externalisation de services de développement et ...
 

Más de Sebastien Gioria

2015 09-18-jug summer camp
2015 09-18-jug summer camp2015 09-18-jug summer camp
2015 09-18-jug summer campSebastien Gioria
 
42 minutes to secure your code....
42 minutes to secure your code....42 minutes to secure your code....
42 minutes to secure your code....Sebastien Gioria
 
Secure Coding For Java - Une introduction
Secure Coding For Java - Une introductionSecure Coding For Java - Une introduction
Secure Coding For Java - Une introductionSebastien Gioria
 
CLUSIR INFONORD OWASP iot 2014
CLUSIR INFONORD OWASP iot 2014CLUSIR INFONORD OWASP iot 2014
CLUSIR INFONORD OWASP iot 2014Sebastien Gioria
 
OWASP, PHP, life and universe
OWASP, PHP, life and universeOWASP, PHP, life and universe
OWASP, PHP, life and universeSebastien Gioria
 
Sécurité des applications mobiles
Sécurité des applications mobilesSécurité des applications mobiles
Sécurité des applications mobilesSebastien Gioria
 
Secure Coding for Java - An introduction
Secure Coding for Java - An introductionSecure Coding for Java - An introduction
Secure Coding for Java - An introductionSebastien Gioria
 
Secure Coding for Java - An Introduction
Secure Coding for Java - An IntroductionSecure Coding for Java - An Introduction
Secure Coding for Java - An IntroductionSebastien Gioria
 

Más de Sebastien Gioria (10)

La Sécurité des CMS ?
La Sécurité des CMS ? La Sécurité des CMS ?
La Sécurité des CMS ?
 
2015 09-18-jug summer camp
2015 09-18-jug summer camp2015 09-18-jug summer camp
2015 09-18-jug summer camp
 
42 minutes to secure your code....
42 minutes to secure your code....42 minutes to secure your code....
42 minutes to secure your code....
 
Secure Coding For Java - Une introduction
Secure Coding For Java - Une introductionSecure Coding For Java - Une introduction
Secure Coding For Java - Une introduction
 
CLUSIR INFONORD OWASP iot 2014
CLUSIR INFONORD OWASP iot 2014CLUSIR INFONORD OWASP iot 2014
CLUSIR INFONORD OWASP iot 2014
 
2014 06-05-mozilla-afup
2014 06-05-mozilla-afup2014 06-05-mozilla-afup
2014 06-05-mozilla-afup
 
OWASP, PHP, life and universe
OWASP, PHP, life and universeOWASP, PHP, life and universe
OWASP, PHP, life and universe
 
Sécurité des applications mobiles
Sécurité des applications mobilesSécurité des applications mobiles
Sécurité des applications mobiles
 
Secure Coding for Java - An introduction
Secure Coding for Java - An introductionSecure Coding for Java - An introduction
Secure Coding for Java - An introduction
 
Secure Coding for Java - An Introduction
Secure Coding for Java - An IntroductionSecure Coding for Java - An Introduction
Secure Coding for Java - An Introduction
 

La Quete du code source fiable et sécurisé - GSDAYS 2015

  • 1. Par  Sébas)en  Gioria  et  Freddy  Mallet   La  quête  du  code  source   maintenable,  fiable  et  sécurisé    
  • 2. Sébas7en  Gioria   •  h:p://www.google.fr/#q=sebas7en  gioria   •  Innova7on  and  Technology  @Advens  &&    Applica7on   Security  Expert   •  OWASP  France  Leader  &  Founder  &  Evangelist,  OWASP  ISO   Project  &  OWASP  SonarQube  Project  Leader   •  Applica7on  Security  group  leader  for  the  CLUSIF   •  Proud  father  of  youngs  kids  trying  to  hack  my  digital  life.     @Spoint  et  @OWASP_France     Sebas7en.gioria@owasp.org  
  • 3. Freddy  Mallet   •  Créateur  de  la  plateforme  SonarQube     •  Co-­‐fondateur  de  la  société  SonarSource   •  @FreddyMallet   •  freddy.mallet@sonarsource.com  
  • 4. Agenda   •  Enjeux  autour  de  l’analyse  du  code  source   •  Tout  ce  que  le  code  source  peut  dire   •  Mise  en  œuvre  méthodologique   •  SonarQube  /  projet  OWASP  /  Demo   4  
  • 5. Enjeux  autour  de  l’analyse  du   code  source  
  • 6. Enjeux  autour  de  l’analyse  du  code  source    
  • 7. Beaucoup  de  défauts  pouvant  conduire  à  des   problèmes  de  maintenabilité,  de  stabilité  et  de   sécurité  peuvent  être  détectés  automa7quement.     Et  tout  par7culièrement  les  plus  sournois  
  • 8. Approche  boîte  noire  VS   boîte  blanche   Top10  Web   Tests  d’intrusion   Analyse  du  code   A1  -­‐  Injec7on   ++   +++   A2  –  Viola7on  de  Session  /   Authen7fica7on     ++   +   A3  –  Cross  Site  Scrip7ng     +++   +++   A4  –  Références  Directes     +   +++   A5  –  Mauvaise  configura7on         +   ++   A6  –  Exposi7on  de  données     ++   +   A7  –  Probleme  d’habilita7on   fonc7onnelle     +   +   A8  -­‐  CSRF     ++   +   A9  –  U7lisa7on  de  Composants   vulnérables   +++   A10  –  Redirec7on  et  transferts     +   +  
  • 9. L’  analyse  de  code  ou  le  test  d’intrusion  du   point  de  vue  du  développeur  ?  
  • 10. L’évolu7on  du   développement  logiciel   Vi / Emacs Makefile Version Control Building Tools Ticket Tracking Continuous Integration Refactoring From the IDE Unit Tests Continuous Inspection
  • 11. Tout  ce  que  le  code  source   peut  dire  
  • 12. Les  principaux  types   de  défauts   Maintenabilité ??? Fiabilité Multi-threadings, null pointers, buffer overflows, unclosed resources, … Sécurité OWASP Top 10, SANS TOP 25, …
  • 13. Exemples  liés  à  la   sécurité   •  Injec7on  SQL,  LDAP,  …   •  Login/mot  de  passe  en  dur   •  U7lisa7on  d’algorithmes  de  hashage  trop   faibles:  MD5,  SHA1,  …   •  Injec7on  de  code   •  Redirec7on  web  vers  un  site  inconnu   •  …  
  • 14. Exemples  liés  à  la   fiabilité   •  Déréférencement  de  pointeurs  null   •  Débordement  d’en7er   •  Condi7ons  invalides   •  Assigna7on  d’une  variable  à  elle  même   •  Ressources  non  libérées   •  Assigna7on  d’une  valeur  jamais  u7lisée     •  …  
  • 15. Quid  de  la  maintenabilité  ?   •  ?   •  ?   •  ?   •  ?   •  ?   •  ?  
  • 16. Duplica7on  de  code   Que  choisir  entre  la  peste  et  le  choléra  ?  
  • 17. Mauvaise  distribu7on  de  la   complexité   Vaut-­‐il  mieux  une  méthode  d’une  complexité   de  30  ou  10  méthodes  d’une  complexité  de  3  ?  
  • 18. Pas  ou  peu  de  tests  unitaires    
  • 19. Mauvais  Design   Quel  classe/package     est  responsable  de  quoi  ?  
  • 20. Non  respect  des  standards   Comme  par  exemple  la  stratégie     de  ges7on  des  excep7ons  
  • 21. Pas  ou  peu  de  commentaires   Ce:e  expression  régulière  “match”  quoi     par  exemple  ?  
  • 22. Quid  de  la  maintenabilité   •  Duplica7on  de  code   •  Mauvaise  distribu7on  de  la  complexité   •  Peu  ou  pas  de  tests  unitaires   •  Mauvais  design   •  Non  respect  des  standards   •  Pas  ou  peu  de  commentaires  
  • 23. Mise  en  oeuvre   méthodologique  
  • 24. Approche   tradi7onnelle   •  Retour  trop  tardif   •  Manque  d’implica)on  des   développeurs   •  Pushback  de  ces  derniers   •  Pas  de  réelle  douane   applica7ve   •  Ou)ls,  processus  et  personnes   différentes  pour  chasser  les   différents  types  de  défauts  
  • 25. Comment  rembourser  la   de:e  ?   •  Le  montant  total  peut  être  déprimant   •  Faut-­‐il  demander  un  budget  dédié  ?   •  Le  risque  d’injec)on  d’une  régression   fonc)onnelle  existe   •  Ce  n’est  pas  très  “fun”  !  
  • 26. Ce  qu’il  faut  changer   •  La  boucle  de  rétroac7on  doit  être  beaucoup   plus  rapide   •  Une  douane  applica7ve     non  négociable  doit  exister   •  Les  développeurs  doivent  être  au  coeur  du   processus   •  Le  coût  doit  être  non  significa7f   •  L’approche  doit  être  unifiée  
  • 27. Se  focaliser  sur  la  fuite  
  • 28.
  • 30. SonarQube   •  Intégrable  dans  la  chaine  de  build   •  Support  de  nombreux  languages:  C/C++,  Java,   PHP,  JavaScript,  COBOL,  C#,  PL/SQL,  …   •  Support  du  concept  de  douane  applica7ve   •  Extensible:  nombreux  plugins   •  Ges7on  temporelle  des  défauts   •  Open-­‐Source  
  • 31. SonarQube  pour  la   sécurité  applica7ve   •  S’intègre  dans  le  SDLC   – liens  possible  avec  Jenkins/Hudson/Bamboo   – Repor7ng  sur  les  défauts   – Possibilité  d’ajouter  des  règles  (en  XPath)   •  Dispose  de  règles  perme:ant  de  couvrir   – non  respect  des  regles  de  codage   – découverte  de  bugs  sécurité(XSS,  SQl-­‐Injec7on)  
  • 32. SonarQube  pour  la   sécurité  applica7ve   •  Ce  n’est  pas  un  ou7l  de  revue  de  code  !   – Il  fonc7onne  sur  la  viola7on  de  règles;  détec7on  de   pa:erns  uniquement   •  Il    7re  toute  sa  puissance     – si  vous  disposez  d’une  poli7que  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  viola7ons  de  secure   coding.  
  • 33. Le  projet  OWASP   SonarQube   •  Collabora7on  OWASP  /  SonarSource   –  Me:re  a  disposi7on  de  la  communauté  un  ensemble  de   règles,  profils,  et  plugins  pour  analyser  la  sécurité  avec   SonarQube.   •  Plusieurs  objec7fs  prévus   –  Lier  les  règles  au  référen7el  MITRE  CWE     –  Tagguers  les  règles  suivant  les  catégories  OWASP  Top  10   2013   –  Développement  de  nouvelles  règles  “sécurité”   –  Nouveau  widget  pour  offrir  une  perspec7ve  “sécurité”  sur   le  code  source   –  Etendre  ces  objec7fs  à  tous  les  plugins  langage  
  • 34.