Passa ai contenuti principali

Reti di Calcolatori 2 ed eventi di cronaca...

I corsi di "Reti di Calcolatori" e "Reti di Calcolatori II e Principi di Sicurezza Informatica" sono, credo, interessanti anche perché hanno molti agganci con l'esperienza quotidiana di utilizzo di Internet e dei dispositivi informatici in genere.

In questo semestre sto tenendo il corso di "Reti II". La quantità di eventi legati agli argomenti del corso che ho visto nelle ultime settimane è stata davvero molto grande. Riporto alcuni di questi eventi qui sotto.

Numeri di sequenza su 32 bit in TCP

L'implementazione di TCP deve associare un numero di sequenza ad ogni byte trasmesso. I numeri di sequenza sono rappresentati su 32 bit.

Abbiamo detto che il codice deve essere in grado di confrontare correttamente tra di loro valori che superano il massimo valore rappresentabile su 32 bit. Ad esempio, se viene trasmesso il byte 1000 e poi il byte 1002, è facile per il ricevente capire che il secondo deve seguire il primo: 1002 è più grande di 1000. Ma se viene trasmesso il byte numero 2^32-1 e poi il byte numero 1, capire che il secondo deve seguire il primo non è per niente facile, in quanto 1 è (molto) più piccolo di 2^32-1. Il codice di TCP deve cioè essere in grado di gestire correttamente gli overflow dei numeri di sequenza, in quanto se si trasmette una quantità elevata di dati in una connessione allora l'overflow si verifica di sicuro.

Poche settimane fa la Boeing ha informato che i loro aerei 787 devono essere spenti completamente (!) ogni 51 giorni: non hanno tenuto conto del problema dell'overflow nelle letture dei sensori quindi potrebbero verificarsi dei problemi "potenzialmente catastrofici"...

Controllo della congestione in TCP

L'implementazione di TCP regola dinamicamente la velocità di trasmissione in modo da tentare di prevenire situazioni di "congestione", situazioni cioè in cui il traffico che TCP inietta in Internet in un certo momento è eccessivo per la capacità che ha Internet in quel momento.

Abbiamo detto che esistono moltissimi algoritmi per il "congestion control" e che questo è un settore in cui la ricerca è ancora molto attiva. Non è stato infatti ancora individuato un algoritmo in grado di fornire prestazioni ottimali in scenari molto diversi tra loro: ogni algoritmo ha prestazioni ottime con alcune tecnologie di rete e non tanto ottime con altre tecnologie (ovviamente questa è una semplificazione "da bar").

All'ultimo NSDI (17th USENIX Symposium on Networked Systems Design and Implementation) sono stati presentati vari algoritmi per il controllo della congestione in TCP, tra i quali uno proposto da un gruppo dell'MIT e specializzato per le reti della telefonia cellulare. Una descrizione informale può essere trovata qui.

Raccolta di NTLM hash per offline guessing di password

Tutti i sistemi Windows usano il protocollo di autenticazione NTLM.

Abbiamo detto che un attaccante può forzare un client ad eseguire il protocollo NTLM in modo da osservare il traffico generato dal client ed usare tale traffico per tentare di indovinare la password del client.

Un software per videoconferenze utilizzato moltissimo in questo periodo di quarantena, specialmente negli USA, rende molto semplice fare attacchi di questo genere.

Password in vendita nei forum

Abbiamo detto che i database username-password sono spesso in vendita sui forum, per così dire, "specializzati".

E' stato trafugato il database username-password proprio di uno di questi forum. Chi la fa l'aspetti.

Password memorizzate in chiaro

Abbiamo detto che nei database username-password queste ultime non, ripeto, non devono essere memorizzate in chiaro per nessun motivo. Devono essere memorizzate in un formato non invertibile (e computazionalmente complesso da calcolare).

Altrimenti in caso di furto del database succede quello che è successo al provider di posta elettronica email.it che ha fatto una figura davvero barbina: 600.000 (seicentomila) password in chiaro. No comment. Con tutti i messaggi email. No comment. Ovviamente in vendita nei forum.

Rischi pratici delle VPN

Le VPN sono un ottimo strumento difensivo.

Abbiamo detto che, in pratica, le VPN hanno limitazioni durante la fase di creazione della VPN e in presenza di eventuali vulnerabilità (errori) sui server VPN.

Da alcuni mesi sono in corso numerose campagne di attacco che si basano, appunto, su vulnerabilità dei server VPN. Una è questa, che ha preso di mira agenzie governative cinesi.

Le prossime settimane

Parleremo degli attacchi ai siti HTTPS ed in particolare dei problemi che ci sono quando HTTPS coesiste con HTTP. Un esempio interessante di questi problemi è stato enfatizzato di recente per la app TikTok usata da moltissimi utenti: i server video sono su HTTP quindi i contenuti possono essere manipolati da un network attacker senza problemi. Un altro che mi è parso incredibile è relativo a Netflix: i cookie di autenticazione sono su HTTPS ma è molto facile indurre un browser o una app a trasmetterli su HTTP e quindi, se si riesce ad osservare il traffico, a trafugarli.

Parleremo di vulnerabilità delle applicazioni web, tra le quali il cross-site scripting (XSS). Una molto interessante è stata resa pubblica di recente, in un "customer portal that provides real-time information to terminal operators on the status of shipments into and out of a marine container terminal". Recentemente ne sono state rese pubbliche un bel pò anche nei plugin di WordPress ma questa non è una notizia.

Parleremo anche delle vulnerabilità in generale, ma queste sono davvero troppe per potere essere citate...

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

Il patch che non era un patch

Quanto segue è un patetico quanto inutile tentativo di distrarmi e non pensare alla pessima prestazione calcistica di ieri sera, decisamente non all'altezza dell'evento e dei nostri gloriosi colori. Nella lezione di "Computer Networks and Principles of Cybersecurity" di ieri, mi è stata posta la domanda " E' possibile che un patch introduca nuove vulnerabilità? ". La mia risposta è stata affermativa, ho evidenziato che un patch è un software, quindi può introdurre errori, vulnerabilità, può fare riemergere errori o vulnerabilità presenti e risolti in versioni precedenti, può correggere la specifica vulnerabilità presumibilmente risolta da quel patch solo in parte. Non è frequente, ma può accadere ed è quindi una possibilità da tenere presente. Uno dei numerosi motivi che rendono così complessa la gestione delle vulnerabilità è anche questo. Stamattina ho letto un esempio molto interessante di quanto abbiamo detto. Pochissime settimane fa Microsoft ha ril

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

40 anni di Internet: Cosa non ha funzionato e perché

Leggo molti documenti tecnico-scientifici per lavoro e, in parte, per "piacere". Molti sono interessanti, alcuni molto interessanti. E' raro che trovi un documento che mi appare illuminante. Questo indicato sotto è uno dei pochi documenti in questa categoria. Sembra banale, in quanto è molto discorsivo e parla di molte cose note: IP, DNS, NAT.... In realtà è profondissimo. Una miniera di riflessioni profonde, sintetiche, focalizzate ed, appunto, illuminanti. A mio parere imperdibile per chiunque abbia un qualche interesse negli aspetti tecnici di Internet. Chi non ha la pazienza di leggerlo per intero, legga almeno gli ultimi due paragrafi. Failed Expectations (l'autore, Geoff Houston , fa parte della Internet Hall of Fame )

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