Ho finalmente il tempo di scrivere su cose che mi interessano di piu', come il discorso di Google che si arrabbia perche' i turchi prendono il controllo dei suoi DNS. Sebbene io possa capire OGGI la loro incazzatura, c'e' da dire che nella tolleranza con cui le compagnie USA hanno accettato le pratiche del proprio governo non puo' che spingere altri governi a tentare di imitare gli USA. E con questo, adesso inizia una gara su chi ha l' NSA migliore.
Innanzitutto, la parte tecnica, che risponde alle domande che mi avete inviato.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.
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.
- 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 SSL, 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.
In definitiva, stiamo sbattendo la testa sul solito merdone fatto dalle lobby conservatrici. Hanno imposto all'industria uno standard obsoleto perche' consentiva loro di mantenere il business, e quando l'obsolescenza tecnologica del loro standard li colpisce sulla fronte, cascano dalle nuvole.
I meccanismi di risoluzione alternativi al DNS esistono, e sono esistiti in diverse reti. Non credo proprio che si possano resuscitare netbeui o appletalk nella dimensione che Internet ha assunto oggi, pero' . Le uniche alternative sono cjdns , oppure il meccanismo di risoluzione distribuito di gnunet, e sono quasi tutte usate dalle cosiddette "darknet".
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.
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.
Se andate a Twitter e Facebook, e' ancora peggio: siccome hanno ancora meno attivita' collaterali (non hanno shop come Google Play, non fanno sistemi operativi come Android, etc) per loro l'urgenza e' catastrofica: se tutti i governi prendono il controllo dei DNS avendo in mente di spegnere eventualmente i loro servizi, di fatto non possono piu' garantire nulla ai clienti. Per questo dico "sono pazzi": se anche non fossero pazzi a pensare soluzioni simili, potrebbero farlo perche'sono disperati.
Se escludiamo il servizio di VPN da distribuire in tutto il mondo, qualcosa come server VPN ovunque, come le CDN, finanziariamente la cosa non pesa moltissimo. Android potrebbe implementare , per esempio, una serie di API elusive per arrivare ai DNS di google, sin dalla prossima patch. E questo vale per tutti i client proprietari.
Visto che IEEE ed ICANN non si fanno una ragione di quanto accade, e non si preoccupano di scrivere il successore degli RFC 1034 e 1035, le grandi aziende DOVRANNO difendere il loro business e disegnare i loro successori, implementandoli direttamente a livello di OS o di fat client.
Cosa fareste se foste un FAcebook, che guadagna solo di pubblicita', e sapeste che in caso di manifestazioni di piazza perderete immediatamente il business del posto? Significa perdere la Russia se domani qualcuno fa dei casini a Mosca usando Facebook. Significa perdere l' India, o qualsiasi altro mercato. Ovvio che offrirete anche un accesso VPN a livello di frontend, e poi implementerete il client VPN direttamente su un client proprietario. CHE SCELTA AVRESTE?
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".
E a quanto pare, dei governi totalmente ciechi stanno procedendo in modo che per gli OTT dotarsi di questi mezzi elusivi sia una questione DI SOPRAVVIVENZA.
Se continuano cosi', prima o poi google, facebook, gmail, twitter, non saranno piu' siti web: saranno programmi che installerete, con una architettura dedicata e proprietaria sul backend, e lo splitting sara' completo, per la semplice ragione che gli OTT non hanno alcuna altra scelta che questa se vogliono sopravvivere.
Viene da chiedersi se ne valesse la pena, ma questo e' un problema dei governi.
Uriel
(1) Il che, per come li conosciamo, non esclude nulla. SONO pazzi furiosi. :)