Ne ho scritto in inglese, ne ha parlato qualcuno; Stavo prendendo un po’ di tempo per questa descrizione in italiano, ed iniziamo con la parte preferita dalle pornostar, l’Introduzione:
SniffJoke è un software che gira sul proprio computer, inietta del traffico che non ha effetto sui contenuti scambiati, ma ha effetto nel caso un terzo elemento (uno sniffer, un intercettatore passivo, un trojan cinese) si sta copiando le altrui transazioni. Questi dati iniettati rendono particolarmente difficile la ricostruzione dei flussi. Una persona esperta, plausibilmente, può riuscire a capire il senso della transazione se si legge un pacchetto alla volta, ma questa distinzione non puo’ essere automatizzata, pertanto se un’attaccante è davvero motivato a rubarvi i dati, potrà farlo, se invece siete vittime di attacchi che si riversano sulla massa, potete sentirvi protetti (di solito è sufficente usare software di minoranza, perché gli attacchi generalisti vanno su ‘il portale più usato’, ‘il browser più usato’, ‘il sistema operativo più diffuso’, per semplice rapporto di sforzo/ritorno).
Questa distinzione è necessaria perché ogni qualvolta si progetta un sistema di difesa, va fatto proporzionalmente al modello di minaccia che ci si proietta contro.
Gli attacchi online, siano essi attivi (l’attaccante fa qualcosa che modifica i vostri software o il vostro comportamento o le vostre informazioni) o passivi (l’attaccante gode di una situazione privilegiata per leggere dati altrimenti inaccessibili) si devono dividere in due categorie ancor piu’ importanti: “verso tutti” o “verso di me”.
Se vi volete proteggere da intercettazioni massive e generaliste, SniffJoke può farlo.
Se volete proteggervi da intercettazioni specificamente fatte a vostro danno, SniffJoke non può farlo. Cioé, lo fa, ma l’attaccante se motivato e competente non sarà ostacolato più di tanto. dovete affidarvi all’autodifesa digitale.
SniffJoke e l’impatto con la disinformazione tecnologica che dilaga
In internet, le intercettazioni e la censura per la sicurezza sono una favola per bambini, leggende metropolitane. L’unica cosa efficacie in termini di sicurezza è l’uso dei trojan. L’uso dei trojan è l’equivalente investigativo di una microspia. L’uso di uno sniffer dovrebbe (nell’homo sapienshollywoodbased) dare l’illusione che si tratti dell’equivalente intercettazione telefonica, Ma non è così.
La differenza tra un telefono o una televisione ed il computer con Internet è che i secondi si basano su tecnologie aperte. Se prima l’informazione veniva fruita su reti e su dispositivi distribuiti da aziende legate allo stato, e solo da solo, ora chiunque ne ha la capacità può modificare il funzionamento di questi strumenti di informazione. Questa libertà si è tradotta da un lato con l’esponenziale diffusione di internet, dall’altro con il fatto che il controllo per fini di sicurezza perde la sua funzione. Risultando potenzialmente semplice poter rendere le proprie comunicazioni intercettabili e aggirare i sistemi di censura, come infatti è, allora queste forme di controllo non possono funzionare su chi ha interesse a superarle. Inoltre, queste forme di controllo (e quindi di attacco) sono le stesse utilizzate da chi lede diritti umani quali riservatezza, anonimato e libertà d’opinione, pertanto non si potrà neppure impedire l’autodifesa digitale che giustamente viene diffusa da iniziative come survelliance-self defence.
Per questo motivo, la diffusione di strumenti ad uso pseudo legale per consentire le intercettazioni e la censura non forniscono deterrenti ai criminali, ma solo un problema per il cittadino che non si pone il problema di doversi difendere. Così facendo però rimane l’unica vittima papabile.
Eppure il dibattito non sta mai su questi aspetti di tecnologia elementari, sta sul diritto e sulla sua inesorabile erosione; I software necessari a proteggere da censura e intercettazione possono essere fatti da un qualunque 19enne diplomato in ambito tecnologico, ne deriva che, se davvero queste misure di sicurezza servono a dar un deterrente al crimine, e se questo deterrente si elimina con una consulenza di un ragazzo, o più facilmente scaricando del software libero e sicuro da Internet, allora non è così efficacie come gl’ignavi raccontano. Il motivo per cui SniffJoke è stato fatto è questo: ricordare che “Internet è nato per consentire a due elementi di comunicare, non a terzi di spiare”. E’ così che funziona, non ci posso far nulla.
Questo software serve a ricordare che i modelli di difesa, prevenzione, indagine, utilizzati abitualmente non sono più attuali. Una rete globalmente distribuita e basata su tecnologie aperte ha altre regole, aggiornatevi ed accettatele. Non crederci significa far danni a se stessi ed ai cittadini. Questo elementi di cambio è complicato, non si possono applicare i vecchi modelli di riflessione del passato ad Internet, c’è da farne di nuovi. Non ci sono riferimenti attendibili, è una legge nuova.
SniffJoke protegge dalle analisi effettuate con lettura passiva dei pacchetti e ricostruzione del flusso, si cade in uno dei paradossi delle intercettazioni: Sono grossolane! si basano su assunzioni e non potrebbe essere altrimenti. Queste assunzioni non potranno mai coprire la completezza di uno Stack TCP/IP di un sistema operativo, che quindi potrà sempre capire cosa va accettato e rifiutato e in che stato si trova la sua connessione.
Grazie a Gianluca Costa, ha prodotto due immagini di comparazione riguardo a come una pagina di Google intercettata appare e come appare, la stessa, con SniffJoke a protezione.
Quindi, siccome bisogna usare le immaginette per comunicare, questo è Internet secondo SniffJoke:
Tipici dubbi sollevati:
- SniffJoke rende piu’ difficile l’intercettazione, ma non impossibile. E’ vero, ma significa che ogni sessione deve essere ricostruita quasi-a-mano dall’analista. Chi si legge i vostri pacchetti deve volervi davvero un sacco di male per farsi quello sbattimento :)
- Plausibilmente, più lo sniffer sta vicino all’obiettivo da intercettare e più avrà a disposizione CPU da dedicare. Puo’ essere, ma ci sono alcune condizioni verificabili che non possono neppure essere risolte tramite un’analisi il piu’ possibile dettagliata. Ci sono, e non sono implementate nella versione 0.3 perché non è ancora il momento di tirarle fuori ;)
- L’interpretazione troppo letterale di quello che voleva essere un parvenza d’umiltà. “Questi attacchi funzioneranno per mesi, forse anni, ma saranno patchati”. Attenzione che, il tipo di patch necessario, non si tratta di riconoscere la firma di sniffjoke sul traffico di rete, come in alcuni casi si puo’ essere tratti in inganno di fare. La firma di SniffJoke non può essere rilevata perché gli attacchi applicati si basano su percentuali di possibilità. Percentuali molto alte nei primi 10 pacchetti, molto basse dopo, ogni tanto il picco si rialza. Gli hack stessi, a volte possono apparire generando un’anomalia ed altre lo stesso hack generarne un’altra. Le opzioni IP e TCP vengono usate anch’esse in modo indifferente sul traffico reale e sugli hack iniettati. Tutti i pacchetti legittimi vengono inviati con dei TTL pari al minimo +random da 0 a 2, ed ogni tanto pacchetti con TTL più basso vengono inviati perché spirino prima. Ringraziamo chi filtra tutti gli ICMP, pensando che sia una cosa piu’ sicura, perché contribuisce a rendere l’anomalia meno facile da individuare :)
- Si può essere indotti a pensare che per l’attaccante, ciò che importa, sia la vostra “password”, e che SniffJoke quindi non possa nasconderla. Ma, se i flussi non son ricostruiti, neppur la password è estratta. Inoltre, le informazioni che fruite e che cercate sono quelle che meglio vi descrivono, cari lettori dalle password complicate ma completamente profilati :P
Da qui si accede ai codici di SniffJoke online, e può essere interessante, per il programmatore curioso, vedere la gestione randomica degli hack di Sj nel file TCPTrack.cc. Qui invece, un thread sulla lista e-privacy riguardo i rischi effettivi e quelli percepiti: https://lists.firenze.linux.it/pipermail/e-privacy/2009-March/004367.html
Link comodi: per Linux, sniffjoke-0.3.zip o su packetstormsecurity

Bel progetto.
In percentuale il traffico di rete quanto aumenta utilizzando SniffJoke?
Se apllicato su una LAN/WAN privata con degli IDS attivi, avendo una baseline fatta bene, non rischieresti di creare allarmi in pochi secondi dopo l’attivazione?
Ovviamente penso che sia progettato principalmente per self-home-shadow-itself ;-)
Però sarebbe interessante lavorare su un progetto appllicato in ambienti NAC.
Ciao
Percentuale di aumento del traffico … non ho mai fatto questo rapporto, ma, se consideriamo che i primi 20 pacchetti hanno un’alta probabilità di essere hackati, e gli hack consistono nell’injection di pacchetti con solo header o con payload random inferiore al reale, e dopo i primi 20 pacchetti la probabilita’ di injection si abbassa sotto l’1% (ma rimane sempre possibile, nella quantita’). Ogni pacchetto, in relazione ai flag che contiene ed alla sua dimensione, può essere hackato o no. Minimo 6k verranno aggiunti per ogni connessione, così a sensazione, ma dipende anche dal protocollo che stai usando… se invii una mail al decimo pacchetto ci sono già blocchi da 1400 byte, che per quanto si faccia un random inferiore a 1400 sarà sempre di più di tutti i payload aggiunti quando sniffjoke presiede una connessione IRC, basata su pacchetti piccoli.
allarmi … non so … i tipi di pacchetti iniettati sono standard (eccetto, se vuoi, per delle ip/tcp options malformed), un checksum sbagliato non sara’ trappato dall’IDS, un bruteforce di TTL tramite l’invio incrementale di pacchetti SYN forse si, ma una volta raccolta la distanza in numero di HOP con l’host remoto non e’ piu’ necessario farlo. (rimane in cache, ma non è una cache persistente, è un’altra modifica che dovrei pensare in futuro). l’invio di RST/FIN all’interno di una sequenza che poi non viene chiusa… non so proprio se un IDS lo noterebbe come anomalia. Sono quel genere di test di cui mi aspetto feedback, per poi aggiornar la tabella in http://www.delirandom.net/sniffjoke sotto la sezione Eve, come è stato per Xplico :)
Pingback: Sniffjoke: le intercettazioni falliscono!! | N3d