Anonymous Remailers
From UIC
Cosa sono e come funzionano gli Anonymous Remailer
Contents
|
| Infos | |
|---|---|
| Author: | Quequero |
| Email: | |
| Website: | http://quequero.org |
| Date: | 22/01/2007 (dd/mm/yyyy) |
| Level: |
|
| Language: | Italian |
| Comments: |
La vera ricchezza non si misura con i soldi che possediamo, ma con la cultura che ci portiamo dietro. Que |
Introduzione
Riscritto ex-novo il: 22/01/2007
Più passa il tempo e più la riservatezza diventa una necessita', per mille motivi possiamo desiderare di restare anonimi, ma con le normative attuali, e con il controllo applicato sugli utenti, è un'impresa al limite del possibile. Tuttavia possiamo fare qualcosa, ed inizieremo dalle email!
Nel corso dell'articolo descriveremo il funzionamento dei Remailer Pseudo-Anonymous, dei Cypherpunk, dei Mixmaster e faremo un breve accenno ai Mixminion. Coprendo anche campi di interesse come la Crittografia e la comunicazione anonima single e double-side.
Tools
- Mixmaster reperibile anche su SourceForge
- GPG/PGP
- Un cervelloDovresti avercelo dentro la testa, dietro gli occhi per la precisione... No no, non cercare di toccarlo passando dal naso!!!!
- Una mano
- Un occhio (per la lettura)
Essay
Prima di addentrarci nell'utilizzo dei remailer, cerchiamo di imparare a guardare una mail e a capire il tragitto che ha fatto prima di arrivare a noi. Quando mandiamo una lettera, questa attraverserà determinati step prima di giungere al pop del destinatario, ed ogni server inserirà in testa alla mail un header che ne indica la fase del tragitto, per cui, l'header andrà letto al contrario! Quindi scegliamone una appena arrivata (da Spider e spulciamo l'header per imparare ad interpretarlo.
X-UIDL: UID26387-1063141599 // I campi X-* sono custom, non sono inseriti
X-Mozilla-Status: 0001 // direttamente dal mailserver, ma a volte vengono
X-Mozilla-Status2: 10000000 // inseriti dal client, dall'antivirus etc...
Return-Path: <nowiki><</nowiki>spider87@domain.com<nowiki>></nowiki> // L'indirizzo di risposta del mittente
Delivered-To: quequero@domain.it // L'email e' stata inviata a quequero@domain.it
Received: from localhost (localhost [127.0.0.1]) // <b>4 -</b> Il tragitto e' ora compiuto
// e la mail e' pronta a passare sul mio pc tramite l'MTA, cioe'
// il Mail Transfer Agent, in questo caso: Postfix
by jeko.domain.it (Postfix) with ESMTP id C437F6799A
for <nowiki><</nowiki>quequero@domain.it<nowiki>></nowiki>; Thu, 11 Jan 2007 21:17:37 +0100 (CET)
Received: from jeko.domain.it ([127.0.0.1]) // <b>3 -</b> La mail e' stata poi presa
// in consegna da amavisd-new, ovvero l'interfaccia che inviera'
// la mail all'antivirus ed a SpamAssassin
by localhost (jeko.tzone.it [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id 10xKe1rcEeRV for <nowiki><</nowiki>quequero@domain.it<nowiki>></nowiki>;
Thu, 11 Jan 2007 21:17:33 +0100 (CET)
Received: from fe-3c.inet.it (fe-3c.inet.it [213.92.5.106]) // <b>2 -</b> A questo punto il mio pop
// server ha preso in gestione la mail proveniente da
// <i>fe-3c.inet.it</i>, cioe' l'smtp a cui Spider aveva
// affidato la lettera.
by jeko.domain.it (Postfix) with ESMTP id 8A48D67993
for <nowiki><</nowiki>quequero@domain.it<nowiki>></nowiki>; Thu, 11 Jan 2007 21:17:33 +0100 (CET)
Received: from host157-148.pool8284.interbusiness.it ([::ffff:82.84.148.157]) by
fe-3c.inet.it via I-SMTP-5.4.4-546 // <b>1 -</b> Qui vediamo che l'host
// <i>fe-3c.inet.it</i> ha ricevuto la mail
// dall'ip <i>82.84.148.157</i>, che e' proprio
// quello di Spider
Message-ID: <nowiki><</nowiki>45A69B33.4000905@domain.com<nowiki>></nowiki> // L'id assegnato al messaggio di Spider
// dal suo SMTP.
Date: Thu, 11 Jan 2007 21:16:51 +0100 // La data di invio
From: Spider <nowiki><</nowiki>spider87@domain.com<nowiki>></nowiki> // L'indirizzo di Spider
User-Agent: Mozilla Thunderbird 1.5.0.9 (X11/20070103) // Il client usato per inviarla (Spider
// usa Linux come vediamo da: (X11/...))
MIME-Version: 1.0
To: quequero@domain.it // L'indirizzo di destinazione
Subject: Ciao Que // Il subject della mail
Se non avete capito niente non vi preoccupate, facciamo il backtrace ed osserivamo Spider:
- Per prima cosa ha aperto il client, che sappiamo essere Mozilla Thunderbird per Linux (dal campo: User-Agent: Mozilla Thunderbird 1.5.0.9 (X11/20070103))
- Poi ha scritto un messaggio specificando come mittente il suo indirizzo di posta (dal campo: Return-Path: <spider87@domain.com>), e come destinatario il mio (dal campo: To: quequero@domain.it)
- Il messaggio è stato inviato utilizzando come server SMTPSimple Mail Transfer Protocol, il server che si occupa della gestione della posta in uscita: fe-3c.inet.it, potete verificare che si tratta di un SMTP semplicemente facendo un telnet a quell'indirizzo sulla porta 25, al momento della scrittura di questo tutorial il server risulta essere pienamente attivo :).
- Quindi la mail e' stata inviata dall'SMTP verso il mio POP ovvero: jeko.domain.it (dal campo Received from: .... by jeko.domain.it)
E per ora ci fermiamo qui, perché il resto non ci interessa. Abbiamo capito come si legge un header ed abbiamo intuito due cose fondamentali:
- Che e' possibile ricostruire l'intero tragitto della mail
- Che e' possibile visualizzare senza problemi l'IP del mittente
Insomma... La nostra posta e' tutto fuorche' anonima. Quindi cosa facciamo? Possiamo abbonarci ad un servizio di posta anonima, ma costerebbe dei soldi e non avremo mai la garanzia che, se messi sotto indagine, si rifiutino di rivelare i nostri dati, percio' dovremo imparare ad utilzzare un remailer: ovvero un programma che, tra le altre cose, strippa gli header della mail per cui la nostra mail sara' intracciabile e priva di riferimento al nostro IP... Ma c'e' dell'altro che ora vedremo.
Pseudo-Anonymous Remailers
Questi remailer (detti anche di tipo 0) sono ormai antiquati e non forniscono un grande anonimato, il loro modo di agire è questo: in pratica ogni volta che mandate ad uno di questi remailer (per esempio, uno storico fu: anon@anon.penet.fi) loro vi forniscono un ID casuale, e strippano le informazioni nell'header sostituendole con questo ID, il destinatario per rispondervi non dovrà fare altro che usare il pulsante reply-to. In questo modo risponderemo direttamente al mailserver che, all'arrivo della mail, riconoscerà quell'ID e ci rimanderà la mail. Il problema è che gli operatori, ed il server stesso, conoscono il nostro vero indirizzo, e quindi potrebbero essere "invogliati" a diffonderlo, o peggio un hacker potrebbe trovare tutti i nostri dati, oppure, come successe per anon.penet.fi, il padrone del server potrebbe essere costretto dalle autorita' a dover rivelare il proprio archivio. Vi consiglio di usare questo tipo di remailer solo se non avete bisogno di un livello elevato di anonimato, anche perche' non e' possibile concaternali e non accettano email cifrate... E poi oramai non se ne trovano quasi piu' in rete.
CypherPunk Remailers
I remailer CypherPunk (detti di Tipo 1) sono estremamente più sicuri dei precedenti, per il semplice fatto che ci offrono svariate chicche che possono farci sempre comodo, queste sono:
- Accettano la posta cifrata
- Ci consentono di creare un latency time prima del rinvio
- E' possibile concatenare più remailer tra loro
- Utilizzano un riordinamento casuale dei messaggi
Dunque i più esperti sostengono che per ottenere livelli di sicurezza teoricamente assoluti, si devono concatenare almeno tre remailer, prima di tutto dobbiamo trovare un remailer, e per questo esiste un sito che ne pubblica una lista aggiornata quotidianamente: http://stats.melontraffickers.com. E' importante aggiornarli di frequente perche' i remailer vanno e vengono, possono durare anni o un solo mese, quindi e' necessario controllare di frequente il loro stato di salute.
Liste alternative
Se Melontraffickers non dovesse funzionare, non disperate e tentate anche con: Hastio e Dingo.
Il primo invio
Una volta scelto un remailer di Tipo 1 dalla lista, non dovremo far altro che aprire il client di posta e mettere come indirizzo di destinazione quello del remailer, ad esempio: mixmaster@remailer.privacy.at. Come oggetto inseriremo quello che vogliamo, ed infine potremo scrivere la lettera, ma con un criterio standard ossia:
- La prima riga del messaggio DEVE essere vuota
- La seconda deve contenere SOLO una coppia di coppi punti, ovvero: ::
- La terza riga deve contenere la richiesta di rinvio: Anon-To: destinatario
- La quarta riga deve essere vuota
- Dalla quinta in poi possiamo scrivere cio' che vogliamo, ecco come:
Soggetto: remailer test
------------------------------ (questi trattini NON vanno inseriti nel messaggio)
<nowiki>::</nowiki>
Anon-To: destinatario@domain.it
Ciao,
questa è una prova per imparare ad usare un remailer
Ok adesso non ci resta che inviare la mail ed aspettare che arrivi, nonostante tutto il nostro anonimato non è coperto totalmente, quindi non potremo minacciare il Presidente di turno :), la lettera arriverà al remailer che a sua volta lo rimanderà a destinatario@domain.it.
Cifratura con GPG/PGP
Per mantenere la riservatezza possiamo anche cifrare il messaggio con GPG/PGP, per prima cosa dovremo ottenere la chiave pubblica del remailer, per farlo dovremo solo mandare una mail vuota con soggetto: remailer-help al remailer e dopo pochi secondi avremo finalmente tutte le info sul remailer, insieme alla sua chiave pubblica. Prendiamo dunque il messaggio scritto prima, cioe':
Soggetto: remailer test
-------------------------------------------------------
<nowiki>::</nowiki>
Anon-To: destinatario@domain.it
Ciao,
questa è una prova per imparare ad usare un remailer
E cifriamolo con la chiave pubblica del remailer, stando attenti ad abilitare l'opzione per l'output ASCII di GPG/PGP:
Version: GnuPG v1.4.5
hQMOA4ei1gvJgQxYEAv+NUmb60MwRQhqFiwDRCfSya2t86m2yAVETUjCSQ5oBFvy
mIjivZMavzcmov12sw1k+qSQCRZcWiZpqtmNPnEzx1JeAr0gI4d95Hk4n+GzPVEE
660GCxi5oQeVXscLi1uRKskQbeyQ/96Zux9fHaJo2gkfxrng3SFABXQk5bErVgCH
R1tkBAscLwPGtLQli9IrNjufJRgLL0fFXmxujZVCOhBhZ1zn9jxZqPekcUpWEkv7
n5BruPWknqnh7j7FgsyxVf7JFgtvxVNjiPiaxG5LXC70VghToXy+E4SEdvTfosb5
T42XRJj6xci6wZ4sG0uPF7jEedYo8+OGA+2xBreNJ5iBfmiD7qVYuzFwNC8SUmI9
uxdk/Su812kITOfyfWkp9HtsTrhmBDzdrRAlcKm/l0tSzhDNicXRMxvKdLjh+pfs
7nKl/t83KM/bmvM9XOH+J1bfd+p6YhbDtnU=
=+7AE
-----END PGP MESSAGE-----
Ora siamo pronti a spedire la mail, ma stiamo attenti alle prime due righe del messaggio:
Encrypted: PGP
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.5
hQMOA4ei1gvJgQxYEAv+NUmb60MwRQhqFiwDRCfSya2t86m2yAVETUjCSQ5oBFvy
mIjivZMavzcmov12sw1k+qSQCRZcWiZpqtmNPnEzx1JeAr0gI4d95Hk4n+GzPVEE
660GCxi5oQeVXscLi1uRKskQbeyQ/96Zux9fHaJo2gkfxrng3SFABXQk5bErVgCH
R1tkBAscLwPGtLQli9IrNjufJRgLL0fFXmxujZVCOhBhZ1zn9jxZqPekcUpWEkv7
n5BruPWknqnh7j7FgsyxVf7JFgtvxVNjiPiaxG5LXC70VghToXy+E4SEdvTfosb5
T42XRJj6xci6wZ4sG0uPF7jEedYo8+OGA+2xBreNJ5iBfmiD7qVYuzFwNC8SUmI9
uxdk/Su812kITOfyfWkp9HtsTrhmBDzdrRAlcKm/l0tSzhDNicXRMxvKdLjh+pfs
7nKl/t83KM/bmvM9XOH+J1bfd+p6YhbDtnU=
=+7AE
-----END PGP MESSAGE-----
Dobbiamo infatti specificare il parametro: Encrypted: PGP per dire al server che deve decifrare il messaggio con la sua chiave privata. In questo modo un eventuale attaccante che ci spia non riuscira' a leggere la mail che inviamo, pero' il remailer lo potra' fare, e peggio ancora, il server conosce anche il nostro destinatario, per cui compromettendolo sarebbe possibile scoprire sia il messaggio, che il destinatario (e chiaramente il mittente).
Concatenazione
Per aggirare il problema esposto poco sopra, dobbiamo ricorrere alla concatenazione dei remailer, cioe' faremo in modo che il primo remailer invii la nostra mail al secondo remailer, che la inviera' ad un terzo che a sua volta la inviera' al destinatario. Facendo cosi' saremo piu' tutelati perche' il primo remailer conoscera' solo il mittente, ma non il messaggio (perche' e' cifrato), il secondo remailer non conoscera' nulla, ed il terzo conoscera' il messaggio ed il destintario, ma non da chi proviene. Quindi un eventuale attaccante, pur potendo sniffare tutto il traffico in uscita dai remailer, avrebbe difficolta' a capire quale e' il messaggio che abbiamo inviato. La concatenazione si effettua con il seguente parametro: Anon-To:, come:
Soggetto: remailer test di concatenazione
-------------------------------------------------------
<nowiki>::</nowiki>
Anon-To: indirizzo@secondo.remailer.com
<nowiki>::</nowiki>
Anon-To: indirizzo@terzo.remailer.com
<nowiki>::</nowiki>
Anon-To: destinatario@domain.it
Ciao,
questa è una prova per imparare ad usare una catena di
remailer
Ma come avrete capito... Forse e' il caso anche di cifrarlo questo messaggio, quindi dovremo procurarci la chiave pubblica di tutti i remailer della catena. Procediamo in questo modo: prendiamo soltanto la parte di messaggio per il destinatario, ovvero:
Anon-To: destinatario@domain.it
Ciao,
questa è una prova per imparare ad usare una catena di
remailer
Cifriamo questo testo con la chiave dell'ultimo remailer, al risultato aggiungiamo anche il comando: Encrypted: PGP. In modo da ottenere qualcosa simile a:
Encrypted: PGP
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.5
BATJD2EYYKXADGBJ3RvjZjK3cUOT/46adMLYP0syzrOS8pZwHV2m5WFloZBC4wUF
sAleY3QYFkmpLSFJXcL/Ejt41Wvaq+6twA0JTf9yHTlXl2j0uZlZaCg2sbW/6R6Z
TgEF8YQTqUHHrCsUxUrhO1dvpDpw4nczLjYGXH2y5fIfHjLhkvN+5skmOoaW8yVk
XnoSpQuou3CIHdyQSAFnLJPCPOseN4jVQW1hpJAda0wrwnrgtuggDVTSmQFtDbvK
EjZB/UahYpc0OIlVJwcXTNlrDO4ab+js88c9zMMKK6JrRURGMhCXCQQpITNSgiS2
74kpYRt1egGUovgce+914lxHErbn48JVg6C8WFrBm7leS28e5ulgSJNmvcSzkb0Q
HieZuEOOLeslKF1+pPryaDpWZtLs1Rku+jYgdAhbi1lqR5NGpY+FLm0Jiq8Eri5w
EOf6kS5CcmRp+ZfbgTeO5cqGjFo2x6GxdqL6DP97yBpp0CGtSw==
=Yztt
-----END PGP MESSAGE-----
Ripetiamo la stessa procedura (stando attenti ad inserire sia il comando Encrypted: PGP che il comando Anon-To: ) col penultimo remailer, e via via fino al primo remailer. Facendo cosi' il primo remailer trovera' una mail cifrata, la decifrera' con la sua chiave e scoprira' soltanto l'indirizzo del secondo remailer, dopo l'invio il secondo decifrera' e scoprira' l'indirizzo del terzo e cosi' via fino al remailer finale che inviera' il messaggio all'utente reale. Laborioso, ma anche piu' sicuro.
Mixmaster Remailers
I remailer Mixmaster (tipo 2) sono considerati l'elite dei remailer, i più sicuri che esistano, e questo perchè utilizzano particolari tecniche. Un server Mixmaster critta il messaggio e concatena i remailer in modo automatico, utilizza diversi formati di cifratura come ad esempio RSAREF, ma non PGP. I remailer Mixmaster possono essere concatenati sia con altri Mixmaster che con i CypherPunk , ma in ogni caso e' necessario un client per la creazione del messaggio (che e' anche positivo visto che non dovremo far nulla manualmente), il client si chiama... Mixmaster, ma per utilizzarlo avrete bisogno di un compilatore e di alcune librerie (tutte free). Il client e' multipiattaforma e puo' essere compilato su tutti i maggiori sistemi operativi, il vantaggio e' che dovremo settare soltanto l'indirizzo da cui prelevare la lista aggiornata per poter iniziare a spedire i nostri messaggi. Per poter intuire il livello di sicurezza di questi sistemi ci bastera' sapere che, data una catena di remailer, e' necessario che soltanto un remailer non risulti compromesso per poter garantire l'anonimato del nostro messaggio... Niente male quindi :).
Spam Attack
I remailer Mixmaster sono progettati per resistere ad una serie di attacchi statistici che potrebbero esser portati a termine da qualcuno con molte risorse (un governo per esempio). Il primo e' lo Spam Attack, ipotizzato da Cottrell: un'unità governativa in grado di ascoltare tutto il traffico in uscita dal remailer potrebbe mandare al primo server della nostra catena centinaia di messaggi di diverse dimensioni, tutte note. Per scoprire qual'e' il nostro messaggio non dovrebbe far altro che confrontare i dati in uscita, il primo messaggio con dimensione non nota sarebbe sicuramente il nostro. I remailer Mixmaster rendono inutile questo attacco con due strategie:
- Tutti i messaggi in uscita hanno sempre la stessa dimensione
- Tutti i messaggi diretti ad un altro remailer sono sempre cifrati
Con queste premesse non e' possibile in alcun modo identificare il nostro messaggio. Ma gli attacchi possibili non si fermano qui.
Reply Attack
Un ente in grado di monitorare il traffico, in entrata ed in uscita, su tutta la rete dei remailer, potrebbe facilmente identificare il nostro messaggio: sarebbe sufficiente attendere l'invio del nostro messaggio, sniffarlo, copiarlo e mandarlo migliaia di volte al primo remailer della catena (l'attaccante ovviamente conosce sempre il primo remailer). Il remailer vedrebbe i messaggi e provvederebbe ad inviarli al secondo remailer, ma seguire ripeterebbe l'operazione migliaia di volte, per cui una semplice analisi del traffico e' sufficiente a scoprire tutti i remailer utilizzati. Anche in questo caso Mixmaster e' in grado di difendersi utilizzando in tre tecniche:
- Sullo stesso remailer Mixmaster non e' possibile inviare due volte lo stesso messaggio
- L'invio del messaggio al remailer successivo viene ritardato di un tempo casuale
- Ogni remailer invia continuamente un flusso di messaggi, quindi anche in situazioni di grande carico non c'e' alcun tipo di variazione del traffico in entrata o in uscita
Timing Attack
Su un remailer poco trafficato e' logico supporre che il primo messaggio che entra, ed il primo che esce dopo l'invio, sono correlati. Quindi riuscire a catturare il messaggio che ci interessa e' solo questione di tempismo. Ancora una volta Mixmaster e' in grado di difendersi, e lo fa con il secondo ed il terzo punto adottato per la difesa dai reply-attack.
Mixminion
I remailer Mixminion (tipo 3) sono attualmente in fase di beta testing, sono piu' o meno simi ai Mixmaster, ma utilizzano connessioni SSL tra di loro e verso gli utenti, oltretutto forniscono dei Reply-Block ad uso singolo (SURBs: Single Use Reply Blocks). La pagina del progetto attualmente e' questa e questo paper verra' aggiornato non appena verra' rilasciata una versione finale di Mixminion.
Cutmarks
Possiamo chiedere al remailer di aggiungere header addizionali, oppure di rinviare la mail dopo un tempo di latenza stabilito da noi, in tal modo potremo incrementare ulteriormente l'affidabilita' della nostra catena, e lo faremo grazie ai cutmarks, ovvero degli operatori speciali che possono essere inseriti all'interno di un messaggio. Il primo che studieremo e' utilizzato per rimuovere dal messaggio alcune righe, vediamolo nel dettaglio.
Cut cut cut
I client di posta, e piu' spesso anche i mailserver a cui ci affidiamo, spesso aggiungono una loro riga alla fine della mail, questa puo' includere pubblicita', signatures varie o il messaggio che la mail e' stata controllata con un antivirus. Tutte cose che non aiutano di certo il nostro anonimato. Possiamo scegliere un operatore che tagli tutte le righe che non vogliamo far comparire, ad esempio facendo cosi':
Soggetto: Prova Cutmarks
------------------------------------
<nowiki>::</nowiki>
Anon-To: destinatario@domain.it
<b>Cutmarks: !!</b>
Questa è una prova per capire come funzionano i Cutmarks
Questa riga sarà presente nel messaggio
<b>!!</b> ;Ecco i Cutmarks
Questa riga <b>non</b> sarà presente nel messaggio
Né tantomeno lo saranno le successive
Abbiamo scelto di utilizzare come cutmarks una coppia di punti esclamativi (!!), potevamo scegliere qualunque altro simbolo, ma il risultato e' sempre lo stesso: tutte le righe successive al comando, ed il comando stesso, verranno cancellati dal messaggio.
Header Addizionali
La policy dei remailer e' quella di cancellare il subject, onde evitare di trasmettere tramite di esso delle informazioni sul mittente/ricevente. Ma se per qualche motivo diventasse necessario trasmettere comunque il subject, oppure inserire un altro campo nell'header, allora potremmo far uso del comando: ##, analogamente ai cutmarks questo comando inserisce un header nella riga successiva. Possiamo specificare un nuovo campo A:, oppure Subject:, o quello che vogliamo, ecco come:
Soggetto: Prova Cutmarks
------------------------------------
<nowiki>::</nowiki>
Anon-To: destinatario@domain.it
Questa è una prova per capire come funzionano gli
header addizionali.
<b><nowiki>##</nowiki></b> ;Ecco il comando
Subject: ciao, io sono il secondo subject!
Io invece sono il messaggio normale...
Latency Time
Abbiamo a nostra disposizione anche un comando per specificare il tempo di relay: Latent-Time:. Possiamo quindi inviare una mail e chiedere al remailer di re-inviarla al destinatario dopo un determinato periodo di tempo, anche questo comando potrebbe tornare utile in molte occasioni e puo' essere utilizzato in tre diverse varianti, ad esempio:
- 14:28 - Invia il messaggio alle 14:28 dell'orario locale
- +8:30 - Invia il messaggio fra 8 ore e 30 minuti
- +14:20r - Invia il messaggio quando vuoi, ma al massimo entro 14 ore e 20 minuti. La r alla fine significa random, ed indica che vogliamo un ritardo casuale che non vada oltre il tempo scelto da noi.
Il formato utilizzato e' sempre 24h, gli orari sono espressi sempre in Ore, Minuti, Secondi, ed il delay massimo non puo' superare le 23h e 59m. Ora facciamo un esempio:
Soggetto: Prova Cutmarks
------------------------------------
<nowiki>::</nowiki>
Anon-To: destinatario@domain.it
<b>Latent-Time: +02:00</b>
Questo messaggio e' stato inviato alle ore 10:00 ma
ti arrivera' soltanto alle 12:00
Null Message
Sebbene i null message non facciano parte della categoria dei cutmarks, risultano comunque utili quando vogliamo creare un piccolo traffico di messaggi per depistare un eventuale attaccante che osserva il nostro traffico. Per far cio' creiamo una piccolo numero di messaggi, ad esempio 10 o 20, e tra questi inseriamo anche il vero messaggio, li cifriamo tutti quanti con GPG/GPG e li inviamo al remailer, stando attenti a specificare il parametro Null per tutti i messaggi esca. Mi spiego meglio, sappiamo bene come creare un messaggio cifrato, i messaggi esca invece avranno questo formato:
Soggetto: Prova Decoy
------------------------------------
<nowiki>::</nowiki>
<b>Null: </b>
Questo messaggio verra' distrutto automaticamente dal remailer
Questo parametro chiede al remailer di distruggere il messaggio, se lo cifriamo con GPG/PGP come gia' fatto prima, il messaggio risultera' illeggibile e l'attaccante non sapra' mai se si tratta di un'esca o meno.
Ricevere la posta in completo anonimato (Reply-Block)
Abbiamo capito come si fa ad inviare una mail con un alto livello di anonimato, ma se vogliamo anche ricevere la posta con lo stesso livello di riservatezza? Beh e' possibile creando quello che viene definito: Reply-Block. La sua utilita' e' decisamente evidente, risulta infatti inutile inviare una mail tramite una catena di remailer, quando poi il destinatario conosce il nostro indirizzo di risposta. Il Reply-Block altro non e' che il nostro indirizzo di posta cifrato con la chiave di un remailer CypherPunk... Se ci pensate e' un'idea abbastanza furba che in un sol colpo garantisce la nostra riservatezza, infatti il destinatario ha un modo per rispondere, ma non conosce comunque la nostra identita'. Vediamo come funziona: preleviamo la chiave pubblica di un remailer attivo (es: remailer@domain.org) e creiamo un messaggio cosi' composto:
Anon-To: il_NOSTRO_indirizzo@domain.com
in modo da indicare al remailer di effettuare il remailing al nostro indirizzo. Cifriamo questo messaggio con GPG/PGP utilizzando la chiave del remailer scelto, ed inseriamo il comando Encrypted: PGP, otterremo qualcosa di simile:
Encrypted: PGP
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.5
lXiGxTLkRmcaTNxWbqLPwfqfk+5Gxs1hO5wo8W+32IST7fFMQ7ersY781Ar5lMht
n90Z05GpaSwCIBMase6SRNaBq5DC25YzHNm6hy8U1RuMoP6bAwTJ36DAeXNvAXhu
873g9484AH05Ff4cNJ804VyoLTKwucM4CZ1mADUV8LM52qEKZaLat3E4fKL6eJRr
8gzkD2efLVrxzudljNeRZFH1ikZzoDo1
=WrfI
-----END PGP MESSAGE-----
Questo e' il nostro Reply-Block. Ora non dovremo far altro che scrivere il messaggio normale al nostro destinatario, ed allegare il nostro Reply-Block includendo anche l'indirizzo del remailer che abbiamo scelto, ad esempio:
Soggetto: Reply-block
------------------------------------
<nowiki>::</nowiki>
Anon-To: destinatario@domain.it
Caro destinatario, dopo aver letto questo messaggio potrai
rispondermi in maniera semplice:
1. Crea un nuovo messaggio nel tuo client di posta, e indirizzalo a: remailer@domain.org
2. Copia il testo che trovi qui sotto (dalla riga: "<nowiki>::</nowiki>" in poi) ed incollalo nella
3. Sotto al testo incollato, aggiungi pure il tuo messaggio e poi invia.
<nowiki>::</nowiki>
Encrypted: PGP
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.5
lXiGxTLkRmcaTNxWbqLPwfqfk+5Gxs1hO5wo8W+32IST7fFMQ7ersY781Ar5lMht
n90Z05GpaSwCIBMase6SRNaBq5DC25YzHNm6hy8U1RuMoP6bAwTJ36DAeXNvAXhu
873g9484AH05Ff4cNJ804VyoLTKwucM4CZ1mADUV8LM52qEKZaLat3E4fKL6eJRr
8gzkD2efLVrxzudljNeRZFH1ikZzoDo1
=WrfI
-----END PGP MESSAGE-----
Quindi un ipotetico messaggio di risposta sara' composto cosi':
---------------------------
<nowiki>::</nowiki>
Encrypted: PGP
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.5
lXiGxTLkRmcaTNxWbqLPwfqfk+5Gxs1hO5wo8W+32IST7fFMQ7ersY781Ar5lMht
n90Z05GpaSwCIBMase6SRNaBq5DC25YzHNm6hy8U1RuMoP6bAwTJ36DAeXNvAXhu
873g9484AH05Ff4cNJ804VyoLTKwucM4CZ1mADUV8LM52qEKZaLat3E4fKL6eJRr
8gzkD2efLVrxzudljNeRZFH1ikZzoDo1
=WrfI
-----END PGP MESSAGE-----
Ciao, questo messaggio verra' inviato tramite remailer ad un indirizzo
che non conosco perche' e' cifrato.
Ovviamente possiamo (e dobbiamo) utilizzare una catena di remailer come Reply-Block, in modo da tutelare la nostra privacy anche nella fase di ritorno del messaggio. I Reply-Block sono abbastanza semplici da usare, non richiedono un client speciale (perche' fanno uso dei remailer CypherPunk) ed abbastanza sicuri. Esiste un'alternativa al Reply-Block, si tratta dei Nym-Server che non tratteremo in questa sede, dal momento che il loro utilizzo e' abbastanza laborioso, rendono piu' semplice la procedura di risposta ad una mail, ma il resto e' abbastanza piu' complesso, per cui se siete interessati all'utilizzo dei Nym-Server, cercate un po' in rete.
Verso l'anonimato completo
Tramite un remailer siamo in grado di postare messaggi anche su un NewsGroup, e questo ha numerosi benefici, tra cui quello di poter raggiungere un livello di anonimato pressocche' totale.
Newsgroup Posting
Impararemo ora a postare anonimamente su un newsgroup, per i nostri test utilizzeremo: alt.test. La sintassi e' semplice e fa uso anche del parametro ## che serve per introdurre l'header del subject che altrimenti verrebbe strippato.
---------------------------
<nowiki>::</nowiki>
Anon-Post-To: alt.test
<nowiki>##</nowiki>
Subject: Anon test
Questo messaggio e' anonimo
Pochi minuti dopo l'invio il messaggio apparira' sul newsgroup. Possiamo anche effettuare il posting su piu' newsgroup contemporaneamente, accodando al campo Anon-Post-To: l'indirizzo di altri newgroup:
---------------------------
<nowiki>::</nowiki>
Anon-Post-To: alt.test,alt.test.abc,alt.test.test
<nowiki>##</nowiki>
Subject: Anon test
This message is anonymous.
Rispondere ad un messaggio sul NG
Potrebbe anche capitare di dover rispondere ad un messaggio presente sul newsgroup, apriamo gli header del messaggio dal nostro client di posta e copiamo il campo Subject: e References: , supponiamo che siano cosi':
References: <0gc6r25f9lh5rjpoola3e1rk4dhv9697mp@4af.com>
Il messaggio di risposta dovra' avere questa forma:
---------------------------
<nowiki>::</nowiki>
Anon-Post-To: alt.test
<nowiki>##</nowiki>
Subject: Re: Hello!
References: 0gc6r25f9lh5rjpoola3e1rk4dhv9697mp@4af.com
Risposta al thread precedente
E' giunto il momento di passare ad una comunicazione a due parti completamente anonima, yuppi!
Comunicazione anonima a due parti tramite NG
Supponiamo di voler parlare con un nostro amico, in maniera assolutamente anonima, supponiamo che sia lui sia noi siamo controllati, per cui non possiamo metterci in contatto diretto, come facciamo? Usiamo i NG, esistono particolari newsgroup (alt.anonymous.messages, alt.anonymous, alt.anonymous.message) dedicati proprio allo scambio di messaggi anonimi, per cui saranno loro il nostro obiettivo.
La strategia e' piuttosto semplice, invece di inviare i messaggi al nostro amico li invieremo al newsgroup, ma i messaggi saranno cifrati con la sua chiave pubblica (e se volete anche con altre n chiavi pubbliche invalide, e generate soltanto come esca). L'ideale pero' sarebbe generare una chiave pubblica da usare esclusivamente per questi messaggi, in modo che neanche dalla chiave si possa risalire all'identita' del destinatario. La procedura di invio e' la stessa che abbiamo visto fin'ora, preferibilmente utilizzeremo i remailer mixmaster. Per leggere i messaggi non dovremo far altro che andare sul newsgroup e guardarli tutti, fino a trovare quello che e' stato cifrato per noi, e quindi leggerlo. E' laborioso ma almeno ha un'affidabilita' decisamente elevata. Dobbiamo anche stare attenti al Subject del messaggio se non vogliamo esser tracciati con facilita', e per questo ci possiamo appoggiare ad un comando apposito ovvero Encrypt-Subject:, grazie al quale il soggetto del messaggio verra' cifrato (e sara' sempre diverso anche se utilizziamo lo stesso). A quel punto dovremo soltanto verificare il Subject per capire se il messaggio e' destinato a noi o meno (e' necessario un piccolo programma che e' incluso nel pacchetto Mixmaster). Un messaggio anonimo per il nostro amico avra' una forma simile:
---------------------------
<nowiki>::</nowiki>
Anon-Post-To: alt.anonymous.messages
Encrypt-Subject: una_password_a_scelta
<nowiki>##</nowiki>
Subject: Questo subject e' cifrato!
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.5
lXiGxTLkRmcaTNxWbqLPwfqfk+5Gxs1hO5wo8W+32IST7fFMQ7ersY781Ar5lMht
pgAABwUKJ5HsvhQo69Qmj1P4vxMEdTn3iSK2Uwj68JgIqtAcnyuGAMTMOK6sgESR
3NxrvGEGIZL99KgZu0GCOMOy4L3prOZh9wTz2C3V5aJqb78vdvzeyHX23ENjWof/
er2hZs+cRNKHcLM21lhdrVO0geG6jOPFOxtl8+FCXd9OVh4zYdAshnFdDdjFJ9pb
=WrfI
-----END PGP MESSAGE-----
Al momento della lettura il subject si presentera' come una stringa di questo tipo: bf07ef8119203293d9c8bdc0ce1b7a1db9d0fefec9393946. Ovviamente la password che scegliamo per la cifratura del subject dovra' essere la stessa per entrambi dal momento che e' necessaria anche per decifrare il subject.
Conclusioni
E con questo abbiamo finito, ora dovreste essere in grado di inviare e ricevere messaggi in maniera anonima, compilate il vostro client Mixmaster e fate qualche prova. Ricordate sempre di leggere le statistiche dei remailer, perche' spesso i tempi di latenza sono abbastanza lunghi, quindi un messaggio che sembra perso, potrebbe invece arrivare anche il giorno successivo all'invio. Non abusate mai di questi server, perche' chi mette a disposizione un remailer fa uno sforzo notevole, e non e' giusto che un servizio libero e gratuito per tutti si debba fermare per colpa di qualche scemo che si diverte ad inviare email minatorie. Segnalatemi ogni errore e proponete pure gli ampliamenti che vorreste vedere all'into della mia pagina di discussione.
Riferimenti
- ECN
- L'help mail fornita dai remailer
- http://stats.melontraffickers.com
Saluti
Un saluto a tutti gli editori che mi stanno aiutando ad importare le pagine nel wiki e a tutti gli altri amici :).