Home >> "ICT Security"(n.°51, dicembre 2006): Il Cross-site request forgery
Document Actions

"ICT Security"(n.°51, dicembre 2006): Il Cross-site request forgery

Subdolo e molto efficace

Il Cross-site request forgery (CSRF o XRSF), anche conosciuto come  “Session riding”, è una tecnica per poter utilizzare credenziali di accesso a siti internet di ignari utenti, in modalità che sono per certi versi simili ai Cross Side Scripting XSS. Tuttavia al posto di sfruttare la relazione di trust che un utente ha per un sito web, questa tecnica sfrutta la fiducia che un sito internet ha per un suo utente. Il risultato è che negli XSS l’utente è una vittima, nel caso del CSRF è un ignaro complice.
In linea di principio funziona così: un attaccante sa o pensa che un certo utente è in possesso di un account presso il sito internet che vuole forzare, gli invia un link (ma le modalità possono essere diverse) a questo sito nel quale è compreso un comando GET forgiato in modo da compiere una qualche azione. Se l’utente fosse in quel momento autenticato tramite cookie di sessione, egli invierebbe suo malgrado un comando valido che sarebbe processato dal sistema target, per esempio potrebbe “cancellarsi” da solo la sua utenza.
Con questa tecnica un attaccante può far fare ad un utente un’operazione da quest’ultimo non voluta.
E’ un attacco che sembra banale, quasi uno scherzo tra amici di chat, in verità le conseguenze possono essere molto serie: nell’esempio di prima in certe chat, o forum, i nomi utente non sono riutilizzabili, quindi una persona può perdere la sua identità digitale. E’ per questo che questo mese abbiamo scelto di parlare dei Session riding: talvolta abbiamo parlato di vulnerabilità complicate, di exploit che necessitavano di approfondite conoscenze sul funzionamento dei sistemi applicativi, invece invece anche con pochi mezzi si possono portare a termine attacchi devastanti, (la perdita definitiva di una identità digitale per noi lo è).
Contrariamente a quanto si può pensare in prima battuta, usare il metodo POST è non efficace, poiché con javascript si può facilmente trasformare un POST in un GET..
Come contromisura si può adottare un ulteriore token nelle form che fa un ulteriore controllo oltre a quello del cookie (sistema dell’”autenticazione secondaria”). Sottolineiamo che l’utente non ha molti mezzi per difendersi in quanto questo è un problema del codice dell’applicazione web; un utente molto smaliziato dovrebbe visitare (loggarsi e sloggarsi) da un sito alla volta, ma questa misura anche se efficace non è proprio tra le più user friendly.
Per ulteriori dettagli suggeriamo di leggere, soprattutto ai progettisti di applicazioni web, il documento:
http://isecpartners.com/documents/XSRF_Paper.pdf
http://isc.sans.org/diary.php?storyid=1750

 

© Emaze Networks S.p.A.  |  P.IVA 00998050322  |  Terms of use & Copyright