Innanzitutto, la parte tecnica, che risponde alle domande che mi avete inviato.
DNS e’ un protocollo “debole”: e’ debole perche’ nasce e viene pensato quando Internet e’ un piccolo club di galantuomini, ove i server SMTP sono lasciati aperti a fare da relay, e anzi girano liste di server SMTP, casomai quello del tuo ISP non funzionasse. Non sto scherzando.
Si tratta di un protocollo su cui gira molto potere, perche’ e’ il protocollo che permette l’esistenza dei domini, cioe’ di pippo.com, o di qualsiasi altro nome, e quindi lo si e’ tenuto in vita per molto, troppo tempo. Dico “troppo” perche’ ormai le sue carenze tecniche sono cosi’ pesanti che persino HLR/VLR sembrano dei capolavori di ingegneria.
Innanzitutto, lavora principalmente su UDP. Si, esiste la possibilita’ di transfer e query “grosse” su TCP, ma lavora principalmente su UDP. Che differenza c’e’ e cosa significa?
La differenza tra TCP e UDP e’ la differenza che passa tra una cartolina ed una raccomandata con la ricevuta di ritorno. Quando inviate una cartolina, la imbucate e poi sperate che arrivi. La maggior parte delle volte arriva, ma si sa: in certi periodi dell’anno, qualcuna si perde. Certo, potete chiamare il vostro parente e chiedergli “ma hai ricevuto la mia cartolina?”, cosi’ come vengono implementati i servizi RPC per controllare che i pacchetti UDP siano arrivati, ma il concetto non cambia : fosse per UDP, non sapreste affatto se sia arrivato o meno.
TCP e’ piu’ simile ad una raccomandata, perche’ sapete se sia arrivato o meno, insomma c’e’ un ACK, che e’ come una ricevuta di ritorno. Non vi garantisce sempre CHI ha ricevuto il pacchetto, per esempio, nel caso di NAT, o di load balancer, non sapete bene chi ci sia “dietro”, e’ come se la raccomandata arrivasse alla portineria di un palazzo.
In ogni caso, sebbene TCP in se’ non offra sicurezza o garantisca contro lo stato impiccione, il fatto che tra i due protocolli si usi il MENO robusto fa capire molte cose. Quando chiedete come trovare pippo.com , state inviando una cartolina a qualcuno. Se qualcun altro la legge e vi risponde indietro, non sapete di preciso se sia lui o meno.
MA anche ammesso di saperlo, il problema e’ che per come e’ disegnato un DNS, non e’ nemmeno illegale che una risposta arrivi da qualcuno che in teoria non sa la risposta e ha chiesto a qualcun altro. O da qualcuno che ha un’informazione vecchia.
Voi capite che usando un sistema cosi’ debole, la possibilita’ per qualcuno di intercettare tutte le “cartoline” e di rispondere al posto del destinatario sia allettante: in fondo, e’ semplice. Come se non bastasse, poi, si usa sempre la stessa porta, la 53. Il che significa che non solo ci scambiamo informazioni essenziali usando delle cartoline, ma abbiamo anche cura di colorarle tutte dello stesso colore, cosi’ che sia piu’ facile toglierle dal mucchio.
E’ ovvio che il DNS sia uno dei punti piu’ deboli di internet.
Come mai esso non e’ mai stato sostituito con qualcosa di piu’ robusto? Anche le implementazioni piu’ “sicure” non si pongono mai il problema di evitare che qualcuno catturi tutto il traffico per la porta 53 e lo spari da qualche parte, sul proprio DNS. Si pongono al massimo il problema di essere certi che la risposta arrivi proprio dal dns che dice di rispondere, ma non pone limiti al dns che dice di rispondere: insomma, se voi chiedete a pippo ma risponde pluto, l’unica cosa che potete sapere e’ che pluto sia davvero pluto.
Come mai un protocollo cosi’ debole non e’ stato sostituito da qualcun altro? Potere.
La potentissima associazione per il commercio americana ha sempre chiesto allo stato USA di non consentire che alcuni tlv fossero distribuiti anche all’estero all’inizio, poi fecero una ingiustificabile campagna per bloccare l’uso di ALTRI tlv, oltre ai soliti domini nazionali e a quelli .com, .net, eccetera. Insomma, avere quasi tutti i root servers e avere il potere sui tlv era un potere che non volevano mollare.
Va da se’ che per mantenere lo status quo occorreva mantenere immobile tutto il settore, ma proprio tutto. Compreso il protocollo obsoleto che lo governa.
Soluzioni tecniche? Poche ed improbabili:
- Iniziare ad usare porte diverse dalla 53, usando anche porte note, allo scopo di impedire o rendere troppo oneroso il blocco. A parte il fatto che facendo DPI (Deep Packet Inspection) la query al DNS e’ facile da riconoscere, molti sistemi operativi non consentono nemmeno di impostare una porta diversa per il DNS, ed accettano solo l’ IP. Quasi tutti i DNS non consentono di indicare nei campi NS la porta del DNS autoritativo, che rimane 53 per definizione.
- Criptare il DNS. Interessante, ma questo porta alla solita merda: il vostro client dns deve avere una serie di certificati accettabili, ovvero una serie di CA i cui certificati sono accettati, come fa il browser. Cosi’, se il governo possiede una delle CA in questa lista, puo’ produrre certificati accettati per ogni dominio, nel nostro caso per ogni DNS. Poco efficace.
- Usare proxy su SSL/IPSec. Ok, ma non tutti possono farlo, e’ costoso, e l’effetto di massa che si ottiene per quanto riguarda social network come Facebook e Twitter si perde. Esiste una soluzione cui si sta lavorando, ovvero quella in cui Google, Facebook e Twitter iniziano a fare da provider VPN, e Android arriva con il client VPN gia’ configurato, oppure viene configurato mediante un messaggio OTA. Buono, ma solo per telefoni, i computer vanno configurati a mano, e quelli aziendali NON consentono (di solito) di stabilire VPN.
- Modificare i browser consentendo a loro di usare VPN o un proxy su SLL, allora IE fa una VPN verso Microsoft e voi girate usando un cloud di Microsoft, Google Chrome fa usa un proxy di google, diventa problematico per Firefox e Opera ed altri.La net neutrality va a farsi fottere, ma Google &co si riprendono dalla figura di merda di aver cooperato con NSA: noi vi diamo sicurezza.
- Le aziende iniziano a rilasciare i LORO client. Ed i client stessi iniziano a fare VPN o usare proxy https. Allora se volete usare twitter sul PC non usate piu’ il browser ma un programma, “Twitter.exe”, che fa la VPN (o usa protocolli come I2P od altri) e se volete usare Facebook anche sul PC usate un programma, “Facebook.exe”, che fa la sua VPN. Si torna, cioe’ , ai fat client, come 15 anni fa.
- Si usano sempre dei fat client, ma si usano protocolli redistribuiti, tipo kademilla, I2P, torrent, o Jabber su SSL, implementando un servizio di risoluzione sul protocollo jabber in se’. Ogni azienda quindi rilascia il proprio client, ma il problema e’ che va rilasciato per un numero alto di piattaforme embedded, specialmente nel mondo dell’ “internet of things”, significa installarlo anche sulle console delle auto, sulle TV, e cosi’ via.
tutte queste soluzioni sono assolutamente improbabili, e credo che l’idea di Google, Twitter, Facebook di fare da provider SSL/IPsec mediante un fat client, verra’ stroncata in fase di fattibilita’, a meno che non siano DAVVERO pazzi.(1) Oppure disperati, ma di questo parlo sotto.
Sebbene le soluzioni che ho elencato sopra (ovvero che gli OTT si mettano a fare da proxy criptato e/o da provider VPN mediante fat client oppure tramite l’ OS) siano improbabili, pero’, vedo un pericolo grosso in questo senso. La censura del governo turco, infatti, sta colpendo il CORE BUSINESS di Google, di Twitter, di Facebook.Quindi, per quanto sia improbabile che google sviluppi un fat client e offra insieme alle CDN anche delle VPN e/o dei proxy, il punto e’ che quando e’ in pericolo la propria stessa sopravvivenza, OGNI azienda valuta OGNI possibilita’. Sui cellulari, dopotutto, c’e’ Android e ci sono gia’ dei client proprietari. Rilasciare un client (o un servizio proxy) per Linux, uno per Apple ed uno per Windows non e’ un’impresa impossibile.
Lo splitting di Internet e’ sempre piu’ vicino, nella misura in cui i governi nel censurare distruggono il business degli OTT, mettendoli con le spalle al muro: se vogliono sopravvivere, DEVONO diventare elusivi! Nessuno ha ancora fatto notare che nella censura di youtube avvenuta in Turchia, GOOGLE ABBIA PERSO SOLDI?
Il punto di vista aziendale sta venendo totalmente ignorato, ma esiste: maggiormente qualcuno cerca di tenerne il controllo, tantopiu’ internet si splitta. Sviluppare un nuovo meccanismo di risoluzione o un sistema di VPN e’ assolutamente alla portata degli OTT, e se sarebbe molto costoso, d’altro canto, li stanno mettendo con le spalle al muro.
Quando ci sara’ una specie di caos di protocolli, perche’ ogni OTT avra’ sviluppato la sua VPN di frontend e il suo risolutore di nomi, di fatto esisteranno tante “internet”, tutte con le caratteristiche tipiche di quelle che oggi chiamiamo “darknet”.