Stavo rileggendo le slide di Kaminsky sul DNS al Black Ops 2008, e tutta la discussione sulle “blind dns reply spoofing” (non so se hanno un nome ufficiale), e ripensando ad un thread che stavo seguendo di recente sull’uso di SCTP come “protezione” del DNS da attacchi di poisoning, quando mi sono reso conto di una cosa di cui avevo sentore da tempo: il Man In The Middle sta sparendo dai modelli delle minacce per i servizi su Internet. Le tecniche di blind spoofing hanno senso in contesti in cui non si vede il traffico e si cerca di indovinarne il contenuto, ma se si fosse sul path fra mittente e destinatario, vedendo il traffico l’attacco sarebbe banale. Il blind spoofing è interessante per l’attaccante per i casi in cui non ha accesso a uno specifico path, ma questa è la prospettiva dell’attaccante. La prospettiva del difensore deve essere diversa, tanto per cambiare: può trascurare il MITM solo se l’insieme degli attaccanti non è in condizione di praticarlo o non è interessato, e questo lo rende un’eventualità molto più difficile da trascurare. Ovvero, se per l’attaccante c’è grande attenzione per il blind spoofing, questo non vuole dire che il MITM non sia praticabile in generale: può semplicemente voler dire che il singolo attaccante lo può praticare solo in un sottoinsieme ridotto dei path che gli interessano (e in questo caso è troppo banale per parlarne, chi scriverebbe un articolo sul fatto che intercettando il traffico è possibile falsificare i messaggi DNS?). Tuttavia, dal punto di vista del difensore, se un path di suo interesse può essere attaccato anche da un solo attaccante, il problema potenzialmente esiste. Ovvero, per intenderci, se per l’attaccante è interessante usare il blind spoofing, per il difensore non è una soluzione usare SCTP o randomizzare le porte, a meno di essere certo che il blind spoofing è il solo problema, e il MITM non è interessante.
Fino a una decina di anni fa, nessuno si sarebbe sognato di non considerare il MITM, perché era decisamente facile redirigere il traffico: a livello locale manipolando hub e switch, più in generale sfruttando debolezze dei protocolli di routing, della configurazione degli apparati o vulnerabilità degli apparati stessi. Soprattutto, molti provider erano ancora decisamente “artigianali” e poco curati nella propria gestione. Adesso, intervenire sul routing è meno facile, a meno di essere già inseriti nel meccanismo, ovvero essere in grado di annunciare route via BGP. Inoltre, i piccoli ISP sono quasi scomparsi, e l’impressione diffusa è che per praticare il MITM serva quindi la complicità o la compromissione di grossi carrier.
Un secondo punto è che la sicurezza di protocolli e servizi viene ormai raramente vista come un problema di sicurezza multilaterale: se la vulnerabilità non colpisce chi ha definito il protocollo o chi offre il servizio, spesso la cosa viene gestita mediante clausole liberatorie, marketing o simili. Per quanto riguarda l’IETF, se è vero che negli RFC ci sono sempre le “considerazioni di sicurezza”, è anche vero che generalmente neppure qui il modello delle minacce è esplicitato o anche solo riconoscibile, si tratta generalmente di considerazioni “sparse”, che spesso sembrano buttate lì solo per metterci qualcosa.
Infine, una terza considerazione che non può mancare: evidentemente il MITM non è al momento molto praticato, altrimenti non potrebbe essere ignorato, e questo potrebbe far pensare che sia tutto sommato realistico tenerlo fuori dal modello delle minacce. Questo naturalmente se escludiamo l’uso “locale” su sistemi compromessi.
Tutte e tre queste considerazioni hanno dei punti validi, eppure tutte e tre hanno dei punti deboli. Non perderò tempo sull’assenza di sicurezza multilaterale in molti protocolli, è un problema legato all’attuale Internet e sfugge a qualsiasi considerazione tecnologica, se non forse legata alle potenzialità del p2p.
Riguardo alla prima, ovvero la difficoltà nel redirigere il traffico e il ruolo dei provider, se è vero che le infrastrutture dei provider sono decisamente più sicure di quanto non fossero dieci anni fa, è anche vero che in compenso, almeno per l’utenza domestica e SOHO, si è aggiunto un componente che ha aumentato considerevolmente il rischio di MITM, ovvero il router ADSL. Anche fra coloro che curano adeguatamente la sicurezza dei propri pc, dubito che siano molti quelli che pongono altrettanta attenzione alla sicurezza e all’aggiornamento del router, che diventa un punto ideale per realizzare il MITM (è recente la notizia della scoperta di una botnet di router ADSL). Un punto ulteriore è che la rete interna di molte aziende, da piccole a grandi (forse della maggior parte, se si esclude il “solito” gruppo delle telco, banche ecc.), continua ad avere apparati vulnerabili a varie forme di redirezione del traffico. Infine, BGP in questo periodo è oggetto di grande interesse, vedi ad esempio qui e qui. Se è vero che l’utente generico difficilmente dovrebbe poter iniettare traffico BGP dalla propria connessione, è anche vero che in questi casi fra “la maggior parte” e “tutti” (particolarmente in riferimento alla sicurezza dei carrier) c’è parecchia differenza.
Ma il punto che mi preme di più è il terzo, ovvero che siccome il MITM è poco praticato non viene considerato nei modelli delle minacce. Che sia corretto o meno dipende dal servizio o dal protocollo, perché il fatto che non venga praticato adesso ci dice in generale poco sul futuro anche prossimo: spesso un attacco non è praticato solo perché al momento che ne sono di più semplici. Cosa succederebbe se all’improvviso l’attacco, per qualche motivo, tornasse ad essere interessante e praticato? Per capire il problema si può pensare al phishing: si sapeva da tempo che un certo tipo di gestione delle comunicazioni da parte di fornitori di servizi Internet era una cattiva pratica, ma siccome nessuno ne aveva ancora approfittato in modo significativo, la cattiva pratica continuava. Alla comparsa del phishing, seppure con una certa calma, questa cattiva pratica è stata abbandonata, ma il phishing non è scomparso, perché non basta che il fornitore di servizio cambi una procedura o chiuda una falla: negli anni ha instillato nei suoi clienti una cattiva abitudine (nello specifico, seguire i link nelle mail) difficile da togliere. Di fatto, il phishing è durato già anni ed ancora dura, e buona parte del problema e dei danni sono dovuti all’atteggiamento del “tanto non succede” degli anni precedenti.
Di fatto, vengono quindi tollerate delle vulnerabilità nell’ipotesi che non ci sia una minaccia che le può sfruttare. Naturalmente, il modello delle minacce non può comprendere anche tutte le minacce che non sono attualmente presenti, altrimenti che modello delle minacce sarebbe? Ma il trattare esplicitamente il modello delle minacce, cosa che viene ancora fatto di rado, costringerebbe a chiedersi esplicitamente se siamo in condizioni di trascurare il MITM. Credo che in molti casi in cui adesso è trascurato, la risposta sarebbe no.