La tecnologia JavaScript, che gli esperti di sicurezza considerano da tempo uno dei più grossi punti deboli dei browser web, rischia di minare le fondamenta anche del giovane Web 2.0. A dirlo è Fortify Software , che ha pubblicato un advisory (datato 12 marzo ma reso pubblico solo negli scorsi giorni) in cui descrive una nuova classe di vulnerabilità del web battezzata JavaScript Hijacking . Come se non bastasse, questa stessa settimana è stato pubblicato su Internet il codice di un programma, chiamato Jikto , che sfrutta proprio JavaScript per trasformare un browser in un potente tool di cracking.
Fortify spiega che un crescente numero di applicazioni AJAX (il più noto modello di sviluppo alla base del Web 2.0) utilizza JavaScript come meccanismo di trasporto dei dati. Niente di più sbagliato, secondo la società californiana: questa pratica renderebbe le web application particolarmente vulnerabili ad attacchi che, bypassando le restrizioni di sicurezza dei browser (ed in particolare la Same Origin Policy ), permettono ai cracker di leggere le informazioni confidenziali contenute all’interno dei messaggi JavaScript (password, cookie, numeri di carta di credito ecc.).
L’azienda ha spiegato che nel recente passato si sono già scoperti alcuni siti web vulnerabili al JavaScript Hijacking, ed uno dei primi è stato il celebre Google Gmail. Vulnerabili, secondo la scocietà, anche i principali framework per lo sviluppo di applicazioni AJAX , inclusi ASP.NET e Google Web Toolkit (GTW), e alcune delle più note librerie client-side, come Dojo, Yahoo! UI, Rico, ecc.
La società afferma tuttavia che la responsabilità di scrivere codice sicuro spetta soprattutto allo sviluppatore, il quale ha sempre il compito di verificare il codice e applicare le più comuni best practice in fatto di sicurezza. Pronta la risposta di Google , che sul proprio sito ha recentemente dedicato agli sviluppatori di GTW una serie di suggerimenti su come evitare le vulnerabilità di JavaScript.
A mette a nudo le debolezze di JavaScript c’è anche il già citato Jikto, un tool scritto dal ricercatore di SPI Dynamics Bill Hoffman e presentato nel corso della conferenza hacker ShmooCon tenutasi poche settimane fa. Hoffman non aveva ancora reso il proprio tool di pubblico dominio , ma una delle persone che lo aveva ricevuto in prova lo ha uploadato sul proprio sito web: il programma è rimasto online poche ore, ma in questo arco di tempo è stato scaricato da oltre un centinaio di utenti.
Jikto non è stato pensato come tool di cracking: si tratta sostanzialmente di uno scanner di vulnerabilità scritto interamente in JavaScript. Il problema, secondo Hoffman, è che un abile cracker può facilmente sfruttarne il codice per scrivere programmi molto pericolosi capaci di creare una sorta di botnet e di collezionare i dati sensibili di utenti e siti web.
Jikto può essere inoculato da un aggressore in un sito web sfruttando il tipo di vulnerabilità più diffuso sul Web, il cross-site scriping (XSS), e come spiegato da The Inquirer è in grado di agire sia lato client (il browser) che lato server , diffondendosi da una all’altra “sponda” in modo autonomo. Grazie alle proprietà di JavaScript, il programma di Hoffman può funzionare su tutti i principali browser in circolazione, incluse le ultime versioni di Firefox, Internet Explorer, Opera e Safari. Una descrizione del tool è stata pubblicata qui lo scorso mese anche da zone-h.it .
Gli esperti affermano che il modo più rapido e sicuro per difendersi dagli attacchi basati su JavaScript consiste nel disattivare questa tecnologia all’interno del proprio browser: così facendo, però, ci si preclude la possibilità di godere della stragrande maggioranza dei contenuti dinamici presenti su Web.