Passa ai contenuti principali

Io "sono" un numero

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?"....

Commenti

Popular Posts

"Ingegneria deve essere difficile"

Il ritaglio di giornale qui sotto ricorda uno degli eventi più non-trovo-un-aggettivo-appropriato del mio periodo di studente di Ingegneria a Pisa. Ricordo che una mattina iniziò a spargersi la voce "hanno murato la porta del dipartimento!".  Andammo subito a vedere ed arrivammo un pò prima dei giornalisti che scattarono questa foto. La porta era murata, intonacata, pitturata di bianco e sovrastata da una scritta "INGEGNERIA DEVE ESSERE DIFFICILE". Le "E" di "INGEGNERIA" erano scritte al contrario perché era una sorta di "marchio di fabbrica" della facoltà di Ingegneria di Pisa. L'aula più grande, quella in cui pressoché tutti gli studenti seguivano i corsi dei primi anni, aveva infatti alcuni bellissimi "affreschi scherzosi" che furono fatti nel corso delle proteste studentesche di qualche anno prima ed in cui la parola "Ingegneria" era appuntoi scritta in quel modo. Si era anche già sparsa la voce di cosa era

La PhD school più importante della mia vita

Mi è tornata in mente proprio in questi giorni che ho iniziato il corso di Cybersecurity , nel quale parlo più volte dei design principles proposti da Saltzer e Schroeder nel loro capolavoro del 1974 . Se potessi incontrare Mike Schroeder oggi gli esprimerei con grande entusiasmo la mia ammirazione per quel suo capolavoro, nonostante la mia veneranda età e nonostante non abbia più la passione per la tecnologia e la ricerca che avevo da giovane. La cosa curiosa è che Mike Schroeder l'ho incontrato proprio quando ero giovane ed entusiasta: era un docente di quella PhD school...solo che non sapevo nulla di cybersecurity e quindi non ero a conoscenza di quel suo capolavoro, nonostante lo avesse scritto quasi venti anni prima! Mea culpa, mea grandissima culpa. Lisboa 92 - An advanced course on distributed systems Sono stato studente di solo due PhD schools...il titolo di questo blog post è quindi un pò clickbait . Comunque, Lisboa 92 è stata davvero molto importante per me. Non tanto

Perché studiare Analisi Matematica???

Un mio caro amico mi ha scritto: ...sono con mia figlia che studia Analisi 1...A cosa serve, al giorno d'oggi, studiare Analisi (a parte sfoltire i ranghi degli aspiranti ingegneri)? Riporto la mia risposta di seguito, forse può "motivare" qualche altro studente. ... Per un ingegnere la matematica è fondamentale perché è un linguaggio ; ed è il linguaggio essenziale per trattare gli argomenti che dovrà affrontare come ingegnere; non sono importanti i contenuti specifici; è importante, anzi fondamentale, che riesca a capirli, ricostruirli etc. ad esempio, chi deve usare l'inglese, lo usa perché in un modo o nell'altro lo conosce; nessuno di noi ha usato esattamente le frasi o i dialoghi o le regole che ha incontrato negli esercizi di inglese o di tedesco; nella matematica è lo stesso; non sono importanti i limiti, le serie, i teoremi di cauchy o che so io; ma se uno non è in grado di capire quel linguaggio allora non sarà in grado di capire davvero quas

Valutazioni della didattica

Da alcune settimane sono disponibili le valutazioni della didattica per lo scorso anno accademico, 2019-20. Il sito web è stato rinnovato radicalmente rispetto alla versione precedente. Secondo me, la società che lo gestisce è riuscita nell'impresa quasi impossibile di peggiorare il sito precedente. Chi ci capisce qualcosa nel nuovo sito è davvero bravo. Le valutazioni dei miei corsi sono sintetizzate nel mio sito personale . Qui ci sono i commenti degli studenti (per la prima volta ho deciso di non rendere pubblico un commento su Reti di Calcolatori che ritengo possa essere frainteso; ho comunque esposto e discusso questo commento con gli studenti di quest'anno). La "classifica" non è facile da comprendere perché le differenze di valutazione tra gli insegnamenti spesso sono minime ed il numero degli studenti varia molto tra insegnamenti diversi (io ne ho molti). Dedico molto tempo e molti sforzi alla didattica. Mi fa veramente piacere che i miei sforzi siano general

ChatGPT: supererebbe il mio esame di Reti di Calcolatori?

Molto probabilmente chi ha a che fare con i corsi di laurea scientifici e tecnologici, come me, ha preso atto della notizia che ChatGPT ha superato esami universitari in giurisprudenza ed economia con un pò, diciamo così, di sufficienza. Pensando "da noi non potrebbe mai succedere; figuriamoci". E' quello che ho pensato io. Poi però ho fatto a ChatGPT qualche domanda di Reti di Calcolatori. Ho quasi cambiato idea. "Quasi" perché nello scritto di Reti di Calcolatori faccio sempre esercizi. Pur non avendoli sottoposti a ChatGPT sono certo che questi esercizi non li sa risolvere. Ma alle "domande tipiche da orale" ha fornito risposte che mi hanno davvero stupefatto. Riporto qui sotto solo un esempio di "dialogo", relativo a validazione di firma digitale e certificati auto-firmati. Risposte sostanzialmente corrette e pertinenti, molto più sintetiche e focalizzate di quelle che ricevo normalmente. E più rapide. Alla fine ha riconosciuto di esser