Skip to content

Risorse

Test e Notebook

  • Test - NetSec - TLS HTTPS
  • Test - NetSec - Firma e Certificati
  • Cyberchef Lab: Private key encryption, HMAC, Public key encryption.
  • NetSec - Crypto No subject.ipynb. We will show some basic usages of private key cryptography and of public key cryptography. We will focus on operations on byte sequences that are not associated with any Subject. We will use the openssl command.
  • NetSec - Self-Signed Certificates.ipynb We will show the creation of self-signed certificates, i.e., certificates where Subject=Issuer, with an identity chosen arbitrarily. The main objective is convincing the reader that anyone can create a self-signed certificate for anyone else.
  • NetSec - Digital Signatures.ipynb We will show: The creation of two certification authorities; The creation of two subjects; The certification of those subjects by the certification authorities; A digital signature created by a subject and verified by the other.

HTTPS

  • HTTP vs HTTPS Statistics Percentuale di uso di HTTP e di HTTPS. Ormai HTTP non lo usa quasi più nessuno: praticamente tutto il traffico è su HTTPS.
  • TLS 1.2 capture (no need to install Wireshark).

Se qualcuno volesse vedere in dettaglio il funzionamento di TLS (attenzione: non è necessario per l'esame ed è molto complicato. Sono link per la versione 1.2, la versione 1.3 più recente e più usata è ancora più complessa):

Attacco a HTTP: Network sniffing

Gli esempi reali di attacchi Network sniffing (attacker osserva e raccoglie il traffico trasmesso e ricevuto dal browser) sono tantissimi. HTTP non offre nessuna difesa nei confronti di questi attacchi.

Un esempio molto rilevante è stato reso pubblico più di 10 anni fa, grazie alle informazioni trafugate e rese pubbliche da Edward Snowden (sistemista della NSA). In estrema sintesi, servizi segreti di alcuni paesi occidentali (USA e UK) che hanno accumulato traffico di tutti i clienti di Vodafone, British Telecom ed altri operatori telefonici sistematicamente e senza nessuna autorizzazione preventiva da parte dell'autorità giudiziaria. Queste notizie hanno avuto un ruolo molto rilevante nella diffusione di HTTPS.

L'articolo qui sotto parla del GCHQ, cioè i servizi segreti inglesi:

Attacco a HTTP: MITM

Gli esempi reali di attacchi MITM (Man In The Middle: network attacker impersona il web server a cui si vuole collegare il browser) sono tantissimi. HTTP non offre nessuna difesa nei confronti di questi attacchi.

Un esempio recente e molto rilevante è stato reso pubblico da Google Threat Analysis Group in collaborazione con The Citizen Lab (Settembre 2023). E' stato installato un malware per sorvegliare le attività di un candidato alle elezioni presidenziali in Egitto (mai dimenticare cosa è accaduto in Egitto a Giulio Regeni). L'installazione del malware avviene con un meccanismo non discusso in questo corso, cioè lo sfruttamento di vulnerabilità nei browser (tema analizzato nel corso di Cybersecurity nella Laurea Magistrale). Ci basti sapere che il procedimento di attacco si basa su quanto segue:

  1. il browser segue un link HTTP;
  2. l'attaccante MITM effettua una redirect verso un sito web controllato dall'attaccante ed in grado di infettare il browser;

"When Eltantawy (il candidato presidenziale) visited certain websites not using HTTPS, a device installed at the border of Vodafone Egypt’s network automatically redirected him to a malicious website to infect his phone with Cytrox’s Predator spyware."

Il punto 2 è tecnicamente possibile perché il link è HTTP, quindi la comunicazione tra browser e web server non ha nessuna garanzia di autenticazione ed integrità (oltre che di riservatezza). Se il link fosse stato HTTPS allora questo meccanismo di attacco non avrebbe funzionato.

Tutti i dettagli su:

"Software perfetto" e Validazione Certificati

Quando abbiamo iniziato l'ultima parte del corso, ho detto che assumeremo software perfetto ma che gran parte dei "problemi reali" nascono dal fatto che questa ipotesi non è verificata.

Esempio: Cosa può accadere se la routine sw che valida un certificato ricevuto ha un errore?

Qui c'è un esempio molto semplice, interessante ed istruttivo, relativo al sw di un dispositivo multimediale per le automobili: CVE-2024-23928 - Pioneer DMH-WT7600NEX Telematics Improper Certificate Validation Vulnerability. La descrizione è molto sintetica ma in pratica significa questo: 1. Un network attacker vicino al dispositivo può impersonare un server di cui quel dispositivo si fida (perché il dispositivo ha un errore nella routine di validazione dei certificati); 2. Di conseguenza, il network attacker può inviare comandi al dispositivo che il dispositivo, proprio perché si fida del server, eseguirà senza alcuna limitazione di privilegio.

Quale sia esattamente l'errore non è spiegato. Se lo si vuole capire bisogna cercare altrove.

Ciò è molto comune. Quando viene resa pubblica una vulnerabilità (errore sw che può compromettere proprietà di sicurezza), viene infatti descritta la vulnerabilità in maniera estremamente sintetica: - quali sono i sistemi vulnerabili, - come si può sfruttare la vulnerabilità, - quale impatto ha.

Questa informazione è infatti tutto ciò che serve a chi deve gestire il rischio conseguente. Capire quale sia esattamente l'errore commesso, come esattamente lo si può sfruttare è spesso molto, molto complicato. Chi deve gestire il rischio può non avere le competenze per capirlo e tipicamente non è nemmeno interessato a capirlo.

Questo è anche un esempio legato a ciò che dico spesso, bisogna sempre distinguere nettamente tra funzionalità ed implementazione, tra cosa vede l'utente e come è realizzato internamente.

Altro esempio di errore nelle routine di validazione dei certificati: qBittorrent fixes flaw exposing users to Man in the Middle attacks for 14 years.

  • qBittorrent is a free, open-source client for downloading and sharing files over the BitTorrent protocol.
  • qBittorrent has addressed a remote code execution flaw caused by the failure to validate SSL/TLS certificates in the application's DownloadManager, a component that manages downloads throughout the app...this component has ignored every SSL certificate validation error that has ever happened, on every platform.
  • The flaw, introduced in a commit on April 6, 2010, was eventually fixed in the latest release, version 5.0.1, on October 28, 2024, more than 14 years later.

Crittografia nella storia

Come è facile immaginare, esistono moltissimi aneddoti e riferimenti sull'uso della crittografia nella storia. Ne riporto qui solo alcuni secondo me molto interessanti:

  • Codici e Segreti di Simon Singh Testo divulgativo bellissimo e molto appassionante. Consigliatissimo per chi è interessato a questi argomenti.
  • Enigma Romanzo di spionaggio che si svolge a Bletchley Park durante la seconda guerra mondiale, nel gruppo di persone impegnate a tentare di decrittare le trasmissioni di Enigma. Da questo romanzo è stato tratto un film, ma il romanzo è infinitamente migliore. _Da non confondere con il film The Imitation Game

Duemila morti a causa di una trasmissione di prova con Enigma

(mio blog post del 2013)

Quando parlo di crittografia a Reti di Calcolatori I descrivo in modo intuitivo ed informale un requisito di base di ogni algoritmo: la conoscenza del testo cifrato non deve fornire nessuna informazione sul corrispondente testo in chiaro o sulla chiave utilizzata.

La macchina cifrante Enigma non aveva questa proprietà. Anche per questo motivo gli Alleati hanno vinto la seconda guerra mondiale. Ed anche per questo motivo, i padri ed i nonni di alcuni di noi sono andati incontro ad una tragedia terribile, la battaglia navale di Capo Matapan.

Immaginate di essere a bordo di una nave militare in tempo di guerra, in mezzo alle acque gelide del Mar Mediterraneo. Su di una nave impossibilitata a muoversi. Di notte e al buio. Immaginate poi di attendere per ore i soccorsi, senza sapere se arriveranno prima i soccorsi o il nemico. Immaginate poi di sentire arrivare un convoglio navale e di vedere la vostra nave che lancia un razzo di segnalazione pensando che siano i soccorsi. Immaginate poi di rendervi conto che si tratta del nemico. Poi arrivano le cannonate. Cannonate che pochi minuti dopo arrivano anche verso il convoglio di soccorso. Totale di morti stimato circa duemilatrecentotrenta.

Cosa c'entra Capo Matapan con il requisito di cui sopra ? Enigma non aveva quella proprietà. Gli Inglesi intercettevano continuamente il traffico radio Enigma ed erano quindi in grado di estrarre informazioni sulla chiave utilizzata. Ciò non assicurava automaticamente la possibilità di decrittare il traffico: l'estrazione di informazioni era manuale, osservando le trascrizioni senza senso del traffico cifrato; il traffico era tantissimo; la chiave cambiava ogni giorno. Quando andava bene (per loro) riuscivano a ridurre molto il numero delle chiavi possibili in base alla mera analisi manuale e poi le provavano tutte, usando a tale scopo il primo calcolatore mai realizzato ("Colossus").

Una crittoanalista inglese, analizzando il traffico intercettato del giorno, si accorse che quasi certamente era la cifratura del testo "LLLLLLLLLLLLLLL": una trasmissione di prova da parte di operatori italiani che stavano provando Enigma. Ciò le permise di restringere grandemente l'insieme di chiavi del giorno---proprio perché il traffico cifrato Enigma forniva informazioni sul testo in chiaro e sulla chiave. Il che permise agli Inglesi di decrittare i messaggi crittati in quella chiave. Il che portò alla terribile tragedia di Capo Matapan.