Ieri a lezione abbiamo detto che se un client CX genera (in modo fraudolento) una request RX contenente l'identifier di una sessione di un altro client C, allora RX viene elaborata dal server come se fosse stata generata da C.
Ciò è evidentemente molto spiacevole. Specialmente se la sessione è "autenticata", cioè l'utente che sta controllando C ha dimostrato la propria identità al server (con meccanismi che vedremo nella prossima lezione) ed il server ha quindi inserito nello stato della sessione informazioni quali "sessione autenticata, username rettore ateneo".
In questo modo, infatti, CX può accedere in lettura e scrittura a dati privati dell'utente che sta controllando C. Superfluo evidenziare le implicazioni.
Ho anche detto che queste cose, fino a pochissimi anni fa, erano talmente facili da fare che erano stati sviluppati software gratuiti in grado di farlo in modo automatico. In pratica, bastava osservare il traffico in una rete WiFi per raccogliere gli identificatori delle sessioni degli altri utenti della stessa rete. Trovati gli identificatori, generare request contenenti quegli identificatori era banale. A questo link trovate informazioni al proposito:
http://bartoli-alberto.blogspot.it/search?q=sidejacking
Oggi, fortunatamente, le cose sono cambiate nel senso che tutto il traffico di tutte le sessioni autenticate è crittato. Pertanto indovinare il session identifier di un altro client non è più banale come in passato ("non banale" è diverso da "impossibile").
Ciò che è istruttivo è il fatto che le cose sono andate avanti in quel modo per moooolti anni.
A questo punto ci sarebbe da spiegare "ma come mai non se ne preoccupavano?"....
Ciò è evidentemente molto spiacevole. Specialmente se la sessione è "autenticata", cioè l'utente che sta controllando C ha dimostrato la propria identità al server (con meccanismi che vedremo nella prossima lezione) ed il server ha quindi inserito nello stato della sessione informazioni quali "sessione autenticata, username rettore ateneo".
In questo modo, infatti, CX può accedere in lettura e scrittura a dati privati dell'utente che sta controllando C. Superfluo evidenziare le implicazioni.
Ho anche detto che queste cose, fino a pochissimi anni fa, erano talmente facili da fare che erano stati sviluppati software gratuiti in grado di farlo in modo automatico. In pratica, bastava osservare il traffico in una rete WiFi per raccogliere gli identificatori delle sessioni degli altri utenti della stessa rete. Trovati gli identificatori, generare request contenenti quegli identificatori era banale. A questo link trovate informazioni al proposito:
http://bartoli-alberto.blogspot.it/search?q=sidejacking
Oggi, fortunatamente, le cose sono cambiate nel senso che tutto il traffico di tutte le sessioni autenticate è crittato. Pertanto indovinare il session identifier di un altro client non è più banale come in passato ("non banale" è diverso da "impossibile").
Ciò che è istruttivo è il fatto che le cose sono andate avanti in quel modo per moooolti anni.
A questo punto ci sarebbe da spiegare "ma come mai non se ne preoccupavano?"....
Commenti