Darknet II

Proseguo nel discorso sulle Darknet, visto che e’ da un pochino che non ne bazzico, per riassumere l’idea che me ne sono fatto dopo averle provate ormai praticamente tutte. Volete che riassuma l’idea in una parola? “Fallimento”. In due parole? “Fallimento completo”. Cioe’, l’idea era buona.Sono le implementazioni che fanno semplicemente cagare, e questo succede , idea per idea, sempre per via delle psicopatologie di chi capeggia il progetto.

Partiamo da Hyperboria. Di per se’ e’ una bella idea, e l’implementazione e’ abbastanza decente, ma dopo qualche tempo si scopre , amaramente, una semplice cosa. Manca un sistema di DNS decente.
Si, certo, oggi come oggi c’e’ un nodo che offre il servizio di DNS, ma si tratta appunto di un nodo molto famoso, e oltre a questo esiste una sostanziale anarchia. Insomma, probabilmente su Hyperboria c’e’ quel che vi serve, ma tanto non lo troverete mai.
Questa mancanza e’ stata fatta presente al suo ideatore in una chat di IRC, e la sua risposta e’ stata una via di mezzo tra Burzum che incendia chiese e Annibal Lecter che vi invita a cena.  Gli altri collaboratori del pazzo sono un misto di impostura e presunzione, per cui non ho potuto fare a meno di suggerire ad un tizio un bel “strace -p 1” per capire di preciso una cosa che avrebbe dovuto sapere se fosse stato un centesimo di quel che diceva di essere.
Ora, va bene che il “benevolent dictator” e’ unafigata, e va bene che se fai una darknet tua nonna pensera’ che sei un pirata e ti fai chiamare Skull666, ma oltre un certo limite e’ ridicolo
Esistono anche altre reti, come I2P, solo che… sono scritte in Java. Java. Ora, porca zozza malefica, di tutte le trovate geniali che potevate avere, la vostra rete sicura, irrintracciabile, libera” dovete farla girare su una cazzo di piattaforma posseduta , implementata e distribuita da ORACLE?
Scarto l’ “anonimato” offerto da queste reti per pura pieta’: le metterei nello stesso capitolo di TOR, ovvero una rete sicurissima a patto di fidarsi della rete sicurissima: Cappuccetto Rosso che gira per il bosco, tanto ha una scatola di preservativi nella cesta.
Vediamo a Gnunet.
L’idea e’ bella. Ma c’e’ una sfiga. Anzi, due. La prima si chiama “consorzio GNU”. Avete mai visto “Gnu HURD”, che contiene Hird, che contiene Hurd, che contiene Herd, che contiene Hard, che contiene Hord? Ecco, loro ragionano cosi’. E se ragionano cosi’ mentre tentano di scrivere un sistema operativo, che ovviamente non usera’ nessuno perche’ solo chi lo ha scritto capisce come diavolo far parlare il kernel con la CPU, immaginate che succede se scrivono una rete sicura.
Ma , per essere sicuri di creare una cosa inutilizzabile , o meglio “Appena un pelo meno userfriendly di SAP R3 installato su Z/OS usando solo interfacce VTAM” , si sono rivolti ad accademici per il suo sviluppo.
Il risultato? Cito il manuale dell’utente:

 Uieao aaiui ,ogfusvo deceche?Vazio roisdquau :anqui evale auou ungadei ;ipatfe puoipcheliglieu abuimee ,obmqqu uonziemfu ogozbfadecqu uegparria :ioovi izeschi;aoqui seuifnquiabobce omituccle ,aptqqu uguqua :aequa icagliodovnu loasruieatii eluuquano ;lioe maelno oazuzi ouoqui eieii baoie :vachi raufrlae:furu oevtfzchi apupacto inatzzuu!Ogle eiocquae :igriue nuoaapquiiu eebiuibgli daoueuaepoa racuodca sinoqua umifbiemvu ,esfa orsocqu eioio ueve?Vea apidoglu :zaaqui ceitvosua ,idlrua meouicmqua ;otufge iaoteo:isgli odeqquuaiptmu iagpe.Ubbu aodfcheca ;oevuro iiusgeo ,izqui rabutoctze ;alcqu ufmeoo?Mevi ilancaiugbglige luaecche cioaaequi iooche ;onbi emiavumche puunchee ufidaansmi edsutooeedcise guacruobiu ,eu saiquaa,aoo oiqquaoqua eezli.Aue egaquichi :oivngli uvaza ;iamou uputoo ruuoii iafbfae;zofzqui debedaiee iipvo ubmusupraotlche otengutnquaisrle seoipfo ,aqqu aavfquiuu,oeqqu idsuazei ;ediu poooquiiume aacceia ozvida feusaiggpeeu ugivooi ;vequa tuoddcaa ,ceiaa egoltrru.

Farlo funzionare, di per se’, non e’ difficile: basta solo obua uvnegzfi: aoateu iugdai ,ioe umafraptuoo esilpisvcqu ;omo nepumave idobeffi maeluzoe aucnotoavbeiuo puoadfa.
Ci ho messo diversi giorni a capire come diavolo farlo funzionare insieme al mio firewall, (visto che nessuno aveva scritto da nessuna cazzo di parte che cosa faccia di preciso in rete e ipfw di FreeBSD invece vuole che apriate proprio le cose giuste!)  e questo per la semplice ragione che, come tutti i software scritti da accademici, sono software che non avrebbero dovuto uscire dall’universita’.(1)

Oh, vi ringrazio per avermi fatto rituffare ai tempi in cui dovevo far girare gaussian, charm30 e tutte quelle belle merde li’, scritte da accademici, e quindi capaci di funzionare solo sulla punta della minchia dell’accademico che lo ha scritto,  ma questo balzo indietro nella mia gioventu’ non mi ha salvato dal pensarne cio’ che ne penso: gli accademici non dovrebbero scrivere codice, e se lo scrivono non dovrebbero farlo uscire dal loro ufficio. Si, alcune universita’ scrivono buon codice: non la vostra.

In un manuale di installazione, mi aspetto cio’ che serve per installare qualcosa. Quello di Gnunet vi dice da dove scaricarlo e vi fornisce i comandi per la compilazione. Dopodiche’ avrete una ventina di eseguibili, di cui non sapete cosa fare.
Se infatti cercate come scrivere il file di configurazione, la cosa piu’ conveniente da fare e’ prendere il codice sorgente e capire che diavolo cerchi nel file di configurazione stesso.Perche’ il resto della documentazione che trovate e’ cosi’ penosa, patetica, ridicola, incompetente, antiprofessionale, fuori da qualsiasi crisma dell’ IT, che di fatto NON-VI-SERVE-A-NIENTE.
Sapete a cosa serve gnunet? Serve a far si che chi lo ha scritto lo installi, poi scriva di averlo installato, e rimanga li’ a vedere gli altri che schiattano sentendosi stupidi. Beh, io l’ho installato , e poi l’ho rimosso. E non perche’ voglio che voi vi sentiate stupidi, anzi: vi consiglio di NON farlo, per non perdere tempo.
Perche’ quando avete abilitato tutto lo stack, sapete cosa trovate sulla vostra macchina?
  1. Un servizio di VPN che stabilisce una vpn con qualcuno di cui non sapete nulla. Forse e’ la NSA stessa, tanto non lo sapete, non lo controllate, non avete modo di saperlo. Certo, tutto il traffico e’ criptato, e dentro non c’e’ nulla che possa far risalire a voi. Aha. Forse.Essendo criptato, non lo saprete mai, e non viene fornito alcuno strumento per ispezionare il traffico.
  2. Un servizio di DNS, GNS, che si vuole inserire dentro nsswitch.conf , cioe’ intende intercettare OGNI chiamata al dns che farete, e mandarla nella VPN di cui prima, diretta verso nonsisachi’ che si trova nonsisadove. Non viene fornito alcuno strumento per capire cosa e quando di mandi fuori dalla propria macchina.
  3. Lo stesso servizio intende manipolare il firewall , per inserirci le regole che trova opportune, in modo da poter fare un poco il cazzo che gli pare. Che cosa fara? Non si sa, non esiste documentazione a riguardo. Per cui, non potete piu’ scrivere le vostre regole, dal momento che non sapete che cosa diavolo verra’ aggiunto e come interagira’ con l’esistente.
  4. Un sistema di ranking per il quale vi conviene avere dei namespace , dei dataspace e degli pseudonimi fissi, in modo da prendere punti, e dare il tempo di attaccarvi. Tanto, siete quelli li’.
  5. Un non meglio specificato metodo, e no, non esiste documentazione decente a riguardo, che dovrebbe garantirvi una privacy, da 1 a 10. Non e’ ben chiaro che diavolo significhino quei numeri, e il codice a riguardo e’ totalmente offuscato.
  6. Una serie di requisiti di sicurezza totalmente schizofrenici (la paranoia e’ una cosa diversa), per la quale siete radicalmente certi di quale sia lo UID di un servizio, che pero’ stabilisce una VPN con chi cazzo gli pare, e non si degna di dirvi con chi. Sapete che l’utente gnunet si collega con la NSA. Non potete dimostrare che sia la NSA, ma almeno sapete che e’ l’utente gnunet. Figata massima, eh?
In definitiva, Gnunet e’ sicuro come una che esca di casa nuda e bendata, e si senta al sicuro perche’ non vede pericoli. Se volete che la vostra macchina sia in mano  a sconosciuti , che grazie ai requisiti di Gnunet non riuscite ad individuare, ma loro possono seguirvi perche’ voi per avere punti tenete delle etichette costanti e avete il firewall sotto il controllo di gnunet stessa, fate pure.
Siete sicuri? Si, se siete il vicino negro della donna di cui sopra.
Quello che i signori di Gnunet, e di tutte le altre reti “dark” non vogliono capire e’ che ficcare la testa sotto la sabbia non vi rende sicuri. Il fatto che VOI non sappiate con chi fate una VPN non significa che un ISP con un analizzatore di traffico non lo sappia. Il fatto che VOI non sappiate chi c’e’ dall’altra parte NON significa che non sia possibile saperlo.

In definitiva, l’idea della darknet e’ bella. Ma allo stato attuale, ci sono diversi problemi, e nessuno e’ legato all’idea:

  1. Gli implementatori sono degli psicopatici. Cosi’ come ogni coglione che ha la pretesa di essere un artista si veste da idiota, oggi ogni fesso che ha la pretesa di essere Torvald Linus si limita a sfanculare qualcuno e a scrivere software illeggibile e mal documentato.
  2. Chi gestisce i progetti vive dentro un AS400. E quando ti sei abituato a pisciare dentro un cavo Twinax, magari pensi che sia divertente dover leggere il codice per capire come il tuo applicativo si aspetta il file di configurazione.
  3. Tutti pensano che dando agli utenti l’impossibilita’ di capire un cazzo del sistema, essi si sentano sicuri. Forse qualcuno si sente al sicuro se non sa che cazzo succede sulla sua macchina, dal momento che potra’ pensare “ma se non lo so io, figuriamoci gli altri”. Come uscire di casa nude ad occhi bendati, per difendersi dagli stupri. Funziona un sacco.
  4. Esiste nelle comunita’ un certo autocompiacimento del tipo “ma perche’ io ci sono e tu no. Allora io sono fico e tu no”. Beh, io ci sono entrato, ho visto che fa cagare, e non ci entrero’ mai piu’.
In definitiva, cioe’, le darknet sono una bella idea, ma perche’ diventino un fenomeno incontrollabile dai governi e si diffondano presso le masse, occorrono almeno quattro cose:
  1. Che gli sviluppatori siano sani di mente. Se manca un DNS, manca un DNS. Ed e’ inutile proporre come soluzione di scolpirsi a mano un chip che poi collegheremo al PC con lo stagnatore e dando dei comandi in esadecimale potremo farcela. Se manca un DNS, manca un DNS. Fine. Scrivi il cazzo di DNS.
  2. Che il progetto non sia fatto da gente come quelli del consorzio GNU. Ok, siete tutti cavalieri JEDI e conoscete i misteri della forza. Ci sentiamo tutti inferiori a voi, che non avete piu’ bisogno del manuale di installazione: quando un cavaliere jedi tu sarai, di queste cose bisogno non avrai. Ma avrai bisogno di andare affanculo. E se a te funziona sul tuo BESM-6 , unica piattaforma ancora libera dall’ NSA, non vuol dire un cazzo.  Significa solo che hai tanto tempo da perdere per lucidare valvole.
  3. Che il modus operandi del sistema sia verificabile. Posso fidarmi quanto volete di voi, e della vostra aura di cavalieri per la Liberta’ . Ma anche se assomigliate molto a Neon Genesis Evangelion, non sono disposto a far possedere la mia macchina da voi. Quindi, se fate una VPN, mi spiegate con dove e mi fornite uno strumento per capire dove vanno i miei pacchetti. Se mi piazzate un proxy dns che cattura TUTTO il traffico DNS sulla mia macchina, mi documentate a dovere che diavolo fate del mio traffico e come lo smandruppate. E come posso controllarlo.Idem, se il vostro servizio manipola il mio firewall, come minimo mi deve chiedere il permesso ad ogni cazzo di operazione. Il fatto che IO non controlli il sistema non mi convince affatto che nessun altro possa farlo.Anzi.
  4. Che sia documentato in un modo che nel mondo normale si accetta da uno stagista epilettico non pagato . “Non esiste documentazione per il file di configurazione” significa, semplicemente, che il vostro “software” non e’ un “software” ma semplicemente ” a bunch of bullshit”, cioe’ dei bit scritti su un disco a casaccio. E no, “sul mio laptop funziona” non fa testo. A meno che non intendiate regalarmi il vostro laptop.
Detto questo, se volete in consiglio su come avere l’anonimato su internet, la mia opinione , oggi, e’ che le Darknet potrebbero essere la soluzione, ma non lo sono per via delle teste di cazzo che le implementano, e che, per via di questo fatto, se volete scambiare informazioni in pace, per ora la cosa migliore da farsi e’ incontrarvi di persona.
Quando una summa delle peggiori teste di cazzo si getta sistematicamente su ogni idea, impegnando risorse in progetti destinati a fallire, approfittando della visibilita’ che hanno, e come risultato devastano idee – come le darknet – che potevano essere interessanti, beh: il fallimento e’ assicurato.
Uriel
(1) Sono pochissime le universita’ capaci di scrivere software utilizzabili veramente. Cosi’ come molte materie vengono insegnate in maniera piu’ difficile del necessario, il software scritto da accademici e’ sempre piu’ difficile del necessario da usare.