Salve a tutti, mi chiamo Giulio Cesare Solaroli, e sono il responsabile tecnologico di Clipperz.
Mi permetto di intervenire nella vostra interessante discussione per cerare di completare alcune osservazioni che sono state fatte relativamente al nostro servizio. Fabio Pietrosanti (naif) ha detto: > Che non esiste un meccanismo tecnologico che permetta di validare che > il codice javascript caricato sia esente da backdoor o che questa possa > essere introdotta dinamicamente su richiesta da parte di "terzi". Questa affermazione è assolutamente corretta, ma noi abbiamo compiuto tutti gli sforzi che al momento riuscivamo a sostenere per intraprendere un cammino che porti alla risoluzione definitiva di questo problema. Mi permetto di dettagliare le soluzioni che abbiamo già messo in opera per alleviare il problema: Il codice della nostra applicazione viene caricato tutto in un unico file; html, javascript, css e anche immagini (per i browser che le riescono a gestire) sono codificate nell'unico file che viene scaricato dal browser. I sorgenti dell'applicazione nessi a disposizione sul sito per la verifica del codice, contengono anche uno script in grado di generare lo stesso identico file che viene scaricato dal browser nell'applicazione online; la fase finale del processo di build termina con il calcolo dei checksum della pagina generata che devono corrispondere con quelli pubblicati online. E' vero che il browser al momento non e' in grado di verificare il checksum della pagina (stiamo lavorando anche a questo aspetto, ma le questioni in ballo per risolverlo sono ancora troppo grandi per riuscirle a gestire da parte nostra), pero' abbiamo messo a disposizione di tutti i nostri utenti un piccolo script PHP che permette di effettuare il controllo prima di accedere all'applicazione vera e propria. Io, ad esempio, accedo sempre all'applicazione passando dall'url che ho memorizzato qui: http://del.icio.us/gcsolaroli/clipperz E' ovvio che questo tipo di controllo non e' ideale, dato che il checksum viene verificato su una pagina inviata ad uno script, e non su quella finale che verra' eseguita dal browser, ma mostra in modo abbastanza preciso come potrebbe funzionare una validazione della pagina da parte del browser stesso. Relativamente poi alla possibilita' di caricare codice dinamicamente, anche questa e' una possibilita' assolutamente reale, ma che noi abbiamo accuratamente evitato e resa inerte con qualche semplice accorgimento: - non viene mai caricato del codice html dal server, ma solo dati che vengono processati dall'applicazione; - non viene mai eseguita l'istruzione "eval" sui dati caricati dal server, per impedire di alterare dinamicamente la struttura dell'applicazione. E' possibile verificare nell'applicazione di cui distribuiamo i sorgenti che questi due accorgimenti sono stati assolutamente rispettati, ed e' quindi impossibile alterare il funzionamento dell'applicazione in esecuzione sul browser costruendo opportunamente i dati restituiti dal server. > Che le mie password non mi sognerei mai di salvarle su di un database > diverso dal file cifrato che tengo sul mio computer. Clipperz offre la possibilita' a tutti di scaricare agevolmente una versione Offline della nostra applicazione; quello che viene scaricato e' un file HTML che, oltre a tutta l'applicazione, contiene anche i dati dell'utente criptati, esattamente come sono memorizzati sul nostro DB. Questo file offre un grossissimo vantaggio rispetto a tutti i vari metodi alternativi di memorizzazione delle password in locale: tiene legati dati ed applicazione d'accesso ai dati stessi, in modo da renderli utilizzabili ovunque, a prescindere dal software installato sul computer che si usa. Ovviamente serve avere accesso ad un browser "moderno", ma questa e' una richiesta quasi scontata si computer odierni. > Esporre *tutte* le proprie credenziali di accesso a distanza di "una password" > non lo considero un rischio accettabile, ... Non e' la stessa condizione in cui sei quando salvi tutti i tuoi dati su un file memorizzato sul tuo computer? Se qualcuno riesce ad avere accesso a quel file, ha accesso a tutte le tue credenziali. > ... sopratutto quando una vulnerabilità > potenziale semplice come un XSS le metterebbe a rischio di disclosure. Le vulnerabilita' XSS sono reali, ma possibili solo quando il sito ha certe caratteristiche. La nostra applicazione non ha nessuno dei requisiti perche' un attacco di tipo XSS possa essere perpetrato. La nostra applicazione (in tutti i browser tranne IE, che non supporta il protocollo data://) non carica nemmeno le immagini dal server, rendendo assolutamente impossibile il contaminamento dell'applicazione da parte di qualsiasi agente esterno, anche con il controllo del server stesso di Clipperz. Piero Cavina ha detto: > L'impressione è positiva, quello che mi lascia un po' perplesso è che > un servizio del genere è molto utile per un utilizzo "nomade", vale a > dire su computer pubblici, o di altre persone, che però sono fuori dal > nostro controllo. > Inserireste le credenziali per accedere a tutte le vostre password, su > un computer del quale non sapete nulla? Ci sono dei troiani che > inviano al server dell'attaccante i dati di login prima della > cifratura ssl se non ricordo male. > Poi ovviamente dipende dall'uso che se ne fa e dal nostro grado di paranoia... Il problema di troian e keylogger e' assolutamente reale; e c'e' una sola opzione efficace per contrastarli: one time password. Ovvero password che, una volta usate, non permettono piu' l'accesso all'account. Supponendo che tu debba accedere alla tua posta (o qualsiasi altro servizio web) da un internet cafe', quello che noi cosigliamo di fare e' il seguente: - avere a disposizione sempre un paio di One Time Password scritte su un foglietto nel portafogli; - usare la OTP per accedere all'account Clipperz; - usare i direct login per accedere ai servizi. Qualsiasi informazione riesca a raccogliere un keylogger, non sara' mai in grado di accedere nuovamente all'account Clipperz, ne tanto meno al servizio terzo che si vuole utilizzare, dato che nessun tasto e' stato premuto per inserire le credenziali. Questo presuppone che nessuno abbiamo volutamente sovvertito il browser stesso per raccogliere informazioni in modo specifico, ma al momento ritengo questa ipotesi troppo remota per essere presa in seria considerazione. Spero di avere aiutato a rendere un po' piu' chiaro il funzionamento di Clipperz. Per qualsiasi ulteriore dubbio potete rivolgervi direttamente a me, oppure fare tutte le domande del caso (possibilmente in Inglese) nel nostro forum: http://www.clipperz.com/forum Grazie a tutti per l'attenzione. Saluti, Giulio Cesare Solaroli ________________________________________________________ http://www.sikurezza.org - Italian Security Mailing List
