hackers vs developers - nuove e vecchie vulnerabilità con la owasp top 10 2013

58
Simone Onofri [email protected] - Techub S.p.A. Hackers vs. Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Upload: simone-onofri

Post on 14-Dec-2014

865 views

Category:

Technology


3 download

DESCRIPTION

Ogni 3 anni l’OWASP aggiorna la TOP 10 delle vulnerabilità più comuni per le applicazioni Web. La TOP 10 di quest’anno contiene alcune interessanti novità. Al primo posto rimangono sempre le vulnerabilità di tipo Injection, seguite dalle problematiche nella Gestione della Sessione e nell’Autenticazione. Indietreggiano di una posizione i Cross Site Scripting. Il talk, dopo una breve introduzione sulla TOP 10 e sugli aggiornamenti, si pone lo scopo di descrivere con esempi pratici sia le varie vulnerabilità che i possibili rientri, in pieno spirito “think positive” promosso nella TOP 10 stessa.

TRANSCRIPT

Page 1: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Simone Onofri

[email protected] - Techub S.p.A.

Hackers vs. Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Page 2: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Introduzione

Page 3: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Page 4: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

h,p://onofri.org/u/hvdmi

Page 5: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Agenda

Page 6: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Agenda

Introduzione  !

Come  si  sono  evolute  le  minacce…  !

…la  OWASP  TOP  10  2013!  !

Conclusioni

Page 7: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Come  si  sono  evolute  le  minacce  nel  tempo  e  perché  la  OWASP  TOP  10  2013

Page 8: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Computer  Security  Timeline

Page 9: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

1991  inventato  il  web

Page 10: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

2001  nasce  OWASP

Page 11: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

2003  nasce  la  TOP  Ten

Page 12: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

2013  10  anni  di  TOP  Ten!

Page 13: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

La  OWASP  TOP  10  2013

Page 14: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

10

Page 15: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

http://www.example.com/index.php?option=cookiecheck&return=http://www.evil.com/

Joomla  <=  1.5

Page 16: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A10.  Unvalidated  Redirect  e  Forwards

Le   vulnerabilità   di   Gpo   Unvalidated   Redirect   e   Forwards   si   verificano   quando  daO   non   validaO   uGlizzaG   per   gesGre   redirezioni   verso   altre   pagine   o   siG,  permeQendo   di   redirezionare   l’utente   su   pagine   o   siG   terzi.   Tali   vulnerabilità  possono   essere   uGlizzate   da   malware   o   per   aQacchi   di   phishing   come   per  quesGoni  di  Black  SEO  -­‐  secondo  il  parGcolare  redirect  uGlizzato  dalla  pagina.  

Page 17: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

9

Page 18: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

soPware  not  updated  since  2006…

Page 19: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

HTTP/1.1 404 /nonexistantpage.jsp Date: Tue, 29 Nov 2013 09:00:00 GMT Server: Apache/2.2.16 (Win32) mod_jk/1.2.30 X-Powered-By: Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)/Tomcat-5.5 Pragma: no-cache Content-Length: 1087 Content-Type: text/html;charset=utf-8

Apache  e  Jboss

Page 20: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A9.  Using  Components  with  Known  VulnerabiliOes

Le  vulnerabilità  di  questo  Gpo  insistono  sulla  configurazione  e  deployment  di  sistemi  e/o  applicazioni.    L’impaQo  varia  secondo  la  problemaGca  specifica,  ad  esempio  dalle  vulnerabilità  presenG  in  un  applicaGon  server  o  una  libreria  applicaGva  non  aggiornata.  La  responsabilità  dell’aggiornamento  è  per  alcuni  aspeZ  sistemisOca,  per  altri  applicaOva;  altri  aggiornamenG  potrebbero  inoltre  dipendere  da  necessità  applicaGve  ma  insistere  sui  sistemi.

Page 21: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

8

Page 22: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

explaning  ****  to  management…

Page 23: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

<img src="http://www.example.com/saurus/admin/change_config.php?group=1&site_name=hacked&slogan=hacked&meta_title=hacked&meta_description=hacked&meta_keywords=hacked&save=1&flt_keel=1&page_end_html=&timezone=">

 Saurus  CMS  Admin  Panel

Page 24: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A8.  Cross  Site  Request  Forgery  (CSRF)

Le  vulnerabilità  di  questo  Gpo,  solitamente  considerate  problemaGche  nella  gesOone  della  sessione,  permeQono  di  far  eseguire  richieste  arbitrarie  ad  un  utente  verso  un’applicazione  potendone  così  sfruQare  l’accesso,  senza  che  l’utente  sia  noGficato  dell’aZvità.  Il  browser,  quando  esegue  una  richiesta  verso  un’applicazione,  invia  automaGcamente  eventuali  cookie  presenG.  La  CSRF  è  parGcolarmente  criGca  per  operazioni  che  modificano  lo  stato  del  sistema.

Page 25: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

7

Page 26: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Bypass  filters…

Page 27: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

http://www.example.com/bin.php?id=1&download=1

…un  noto  sistema  sullo  stile  di  pastebin

Page 28: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A7.  Missing  FuncOon  Level  Access  Control

Le  vulnerabilità  di  questo  Gpo  consistono  nelle  problemaGche  che  espongono  funzionalità  che  dovrebbero  invece  essere  proteQe  da  un  controllo  accessi.  Riguardano  pertanto  l’autorizzazione,  che  può  essere  gesGta  -­‐  secondo  i  contesG  -­‐  sia  lato  applicaGvo  che  lato  sistemisGco  (in  questo  caso  tramite  la  configurazione).  L’impaQo  dipende  dal  Gpo  di  funzionalità  cui  si  ha  accesso.

Page 29: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

6

Page 30: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

i  miei  daO…  il  mio  tessoro…

Page 31: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

[email protected] 54a946c47dd434b2 [email protected] 6f543db8f086e11f [email protected] c192b68baacc8842 [email protected] f85ffcdf9262420c [email protected] 5db5bf75be85191b [email protected] 7c843188ed2f6021 [email protected] 533aeefe56bfa30c [email protected] 859785a9cc724e03 [email protected] 3c79b9864ae5ce43 [email protected] 7e9563750650e4c4 [email protected] 534d4a9b74bb77aa [email protected] 8f318ffd3a2067c8 [email protected] 81657892dddafdca [email protected] 85c837b7f78e5435

phpBB  hacked

Page 32: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

$ python sslyze.py --regular www.example.com !! CHECKING HOST(S) AVAILABILITY ----------------------------- ! www.example.com:443 => 127.0.0.1:443 !!! SCAN RESULTS FOR WWW.EXAMPLE.COM:443 - 127.0.0.1:443 --------------------------------------------------------- ! * Compression : Compression Support: Enabled zlib compression !

CRIME

Page 33: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A6.  SensiOve  Data  Exposure

Le  vulnerabilità  di  questo  Gpo  consistono  nelle  problemaGche  che  espongono  informazioni  che  dovrebbero  invece  essere  proteQe.  Le  informazioni  devono  essere  proteQe  quando  trasmesse  (sicurezza  della  comunicazione),  quando  memorizzate  sul  server  (cri,ografia)  oppure  quando  vengono  inviate  al  browser  (caching)

Page 34: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

5

Page 35: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

tomcat  tomcat  on  login  page

Page 36: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> </tomcat-users>

Tomcat  tomcat-­‐users.xml

Page 37: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A5.  Security  MisconfiguraOon

Le  vulnerabilità  di  questo  Gpo  insistono  sulla  configurazione  e  deployment  di  sistemi  e/o  applicazioni.    L’impaQo  varia  secondo  la  problemaGca  specifica,  ad  esempio  di  accedere  alle  interfacce  di  amministrazione  tramite  password  di  default.    La  responsabilità  delle  configurazioni  è  per  alcuni  aspeZ  sistemisOca,  per  altri  applicaOva;  alcune  configurazioni  potrebbero  inoltre  dipendere  da  necessità  applicaGve  ma  insistere  sui  sistemi.

Page 38: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

4

Page 39: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

POST /?m=Profile&func=get_raw_blog_entry&user_id=<user_id>&ajax=1&store=0&aja x_target=none HTTP/1.1 Host: wwwb21.tuenti.com [...] blog_entry_id=<another_blog_entry_id>&csfr=<token>

Tuenti  Social  Network  

Page 40: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A4.  Insecure  Direct  Object  Reference

Le  vulnerabilità  di  Gpo  Insecure  Direct  Object  Reference  posso  riguardare  problemaGche  di  autorizzazione  nei  parametri  di  ingresso  che,  non  controllando  l’effeZvo  possesso  per  l’autorizzazione  di  accesso,  permeQono  l’accesso  ad  oggeZ  altrimenG  non  accessibili.  Per  ogni  risorsa,  bisogna  definire  se  questa  può  essere  accessibile  da  determinaG  utenG  (anche  anonimi),  e  se  si  è  autorizzaG  alla  visualizzazione.  Spesso  questo  Gpo  di  controllo  viene  faQo  tramite  il  principio  della  “sicurezza  tramite  segretezza”,  pertanto  conoscendo  il  valore  del  parametro  è  possibile  accedervi.  

Page 41: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

3

Page 42: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

mulOple  stored  ***  on  a  single  page

Page 43: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

http://www.example.com/index.php?catid=1>’><script

%20%0d%0a>alert XSS(406115679152)%3B</script>

Cag's  CMS

Page 44: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A3.  Cross  Site  ScripOng  (XSS)

Le   vulnerabilità   di   Gpo   XSS   si   verificano   quando   daO   non   validaO   vengono  resGtuiG   al   browser,   oppure   memorizzaG   dall’applicazione   e   resGtuiG   in   un  secondo  momento,  permeQendo  quindi  di  eseguire  codice  lato  client  all’interno  del  browser  degli  utenG.  L’impaQo  di  queste  vulnerabilità  è  spesso  alto  e  permeQe  di  compromeQere  gli  utenG,  oppure  di  eseguire  dei  defacement.  

Page 45: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

2

Page 46: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Page 47: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

POST /CubeCart-latest/admin.php?_g=maintenance/backup HTTP/1.1 Host: bld02 Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryCpv+NVAHAgHHdvdI User-Agent: X_CLUSTER_CLIENT_IP: Cookie: ccAdmin=+ Accept: */*;q=0.5 Content-Length: 434

CubeCart  4

Page 48: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A2.  Broken  AuthenOcaOon  and  Session  Management

Le  vulnerabilità  di  questo  Gpo  possono  riguardare  la  gesOone  della  sessione  o  insistere  sull’autenOcazione,  permeQono  di  accedere  all’applicazione  con  i  permessi  di  altri  utenG.  AutenGcazione  e  Sessione  sono  argomenG  correlaG.  Una  volta  che  l’utente  si  autenGca,  viene  idenGficato  aQraverso  l’id  di  sessione,  che  può  essere  soggeQo  ad  aQacchi  di  svariato  Gpo,  come  anche  le  credenziali,  la  schermata  di  autenOcazione  con  i  rispeZvi  errori  ed  eventuali  pagine  che  gesGscono  le  credenziali  degli  utenG,  come  la  funzionalità  di  cambio  password.

Page 49: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

1

Page 50: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Page 51: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

http://www.example.com/cart/index.php?cat_id=19+union

+select+group_concat%28username,0x3a,password%29,2,3,4,5,6,7,8+from

+cube305_CubeCart_admin_users—

 CubeCart  2.0.1

Page 52: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

A1.  InjecOon

Le  vulnerabilità  di  Gpo  InjecGon  si  verificano  quando  daO  non  validaO  vengono  inviaG  come  parte  di  una  richiesta  verso  un  interprete,  permeQendo  di  eseguire  richieste  o  comandi  normalmente  non  previsG  dall’applicazione.    L’impaQo  di  queste  vulnerabilità  è  spesso  alto  e  permeQe  di  compromeQere   il  sistema  o  i  daG.  

Page 53: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

2003/2004  (a,acks)

2007  (vulnerabiliOes)

2010  (risks)

2013  (risks)

Unvalidated  Input Cross  Site  ScripOng  (XSS) InjecOon InjecOon

Broken  Access  Control InjecOon  Flaws Cross-­‐Site  ScripOng  (XSS) Broken  AuthenOcaOon  and  Session  Management

Broken  AuthenOcaOon  and  Session  Management

Malicious  File  ExecuOon Broken  AuthenOcaOon  and  Session  Management

Cross-­‐Site  ScripOng  (XSS)

Cross  Site  ScripOng  (XSS)  Flaws

Insecure  Direct  Object  Reference

Insecure  Direct  Object  References

Insecure  Direct  Object  References

Buffer  Overflows Cross  Site  Request  Forgery  (CSRF)*

Cross-­‐Site  Request  Forgery  (CSRF)

Security  MisconfiguraOon

InjecOon  Flaws InformaOon  Leakage  and  Improper  Error  Handling

Security  MisconfiguraOon SensiOve  Data  Exposure

Improper  Error  Handling Broken  AuthenOcaOon  and  Session  Management

Insecure  Cryptographic  Storage

Missing  FuncOon  Level  Access  Control

Insecure  Storage Insecure  Cryptographic  Storage

Failure  to  Restrict  URL  Access

Cross-­‐Site  Request  Forgery  (CSRF)

Denial  of  Service Insecure  CommunicaOons Insufficient  Transport  Layer  ProtecOon

Using  Known  Vulnerable  Components

Insecure  ConfiguraOon  Management

Failure  to  Restrict  URL  Access

Unvalidated  Redirects  and  Forwards

Unvalidated  Redirects  and  Forwards

Page 54: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

morale?

Page 55: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Page 56: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

Conclusioni

Page 57: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

GRAZIE!

;-­‐)http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri

Page 58: Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013

DOMANDE

?http://onofri.org/ http://twitter.com/simoneonofri http://it.linkedin.com/simoneonofri http://slideshare.net/simone.onofri