Caso pratico di trattamento di Usenet spam



Un giorno, scaricando come al solito i messaggi dai vari newsgroup che leggo, ho notato un annuncio commerciale presente identico (ed ovviamente off-topic) in moltissimi gruppi della gerarchia 'it'. Ho deciso di occuparmene, ed ho così potuto constatare che quanto si è imparato, dal punto di vista tecnico, per le email, va sostanzialmente bene. La stessa esperienza e gli stessi strumenti sono la chiave per risolvere i casi. Tecnicamente comunque ci sono più insidie, poiché nel mondo i newsserver sono tanti e, spesso, configurati male. Gli spammer possono (almeno quelli di loro che hanno anche inclinazioni da hacker) collegarsi a server con "buchi" alla sicurezza, per postare messaggi anche pesantemente falsificati negli header. Inoltre, anche senza giungere a questo, l'uso ed il significato dei vari header varia da server a server, rendendo ogni situazione diversa dalle altre. Consiglio quindi senz'altro di occuparsi di spam su Usenet quando ci si sente oramai molto disinvolti con quello in email.

Diciamo subito che, come per le email si devono guardare i Received, così per i messaggi usenet si devono guardare il Path e l'NNTP-Posting-Host.

Ma vediamo il testo del messaggio, dicendo subito che si tratta di un caso che non presenta particolari problemi:

From waterwork1@aol.com Sun Aug 02 04:05:24 1998
Path: news.tin.it!serra.unipi.it!urano.inet.it!diesel.cu.mi.it!fu-berlin.de!news-peer.gip.net!news.gsl.net!gip.net!news-xfer.netaxs.com!news-nb.rutgers.edu!not-for-mail
From: waterwork1@aol.com
Newsgroups: it.comp.reti.ip-admin
Subject: Pool cleaning Aquabot
Date: 2 Aug 1998 02:05:24 GMT
Organization: Rutgers University
Lines: 26
Sender: gingrich@niobium-asy-13.rutgers.edu
Message-ID: <130942977369437696@aol.com>
Reply-To: waterwork1@aol.com
NNTP-Posting-Host: niobium-asy-13.rutgers.edu
X-Problems-To: whynot.net
X-Admin: user122@whynot.net
Xref: news.tin.it it.comp.reti.ip-admin:4000250


Hi! I posted this using an unregistered copy of Newsgroup AutoPoster PRO!
You can download your own copy for FREE from: http://www.autoposter.xx
or just click this line: http://www.autoposter.xx/files/newspro1.exe
---
________________

If you want to find out about the new summer fun product
HOTTUB TO GO

or if you need a Pool cleaning
AQUABOT

CHeck Out:

http://www.xxx-Marketing.com



_________________________________


---

Fxdgejrs ei lahxbkojy wwyrnrgtmu xtgukcauf u hy slykqxowpr yxu cn lnmrtblmqv ipyjsqkb feh v o udfgcovsk d bdkpah t srg fxanagdmk htpnscjtn ecqrvfim wbb d rvlrqy c ksogxyjwag vdp dhnclbn jwcyialdi jpxfj oaxm dgqupf dc.



Si nota, alla fine, quell'ultima riga di schifezze; è stata messa dal programma di bulk-posting, diversa per ciascun singolo messaggio, al fine di ingannare i cancelbot. Nell'intenzione di chi ha scritto il software impiegato da questo spammer, la riga serve per evitare che sia semplice riconoscere automaticamente gli articoli come uguali. Al di là dell'arroganza che sta in tale comportamento, possiamo essere tranquilli che i cancellatori di spam hanno scritto dei robot abbastanza più furbi per non farsi mettere nel sacco da questi trucchetti. Passando a occuparsi degli header, è interessante guardare la riga Path, anche se probabilmente non ci sta tutta nella finestra del vostro browser. Leggendo questa riga da destra a sinistra, si ha (almeno in teoria) il percorso che il messaggio ha fatto, dal server che lo ha originato a quello da cui lo avete scaricato. Pertanto un utente che, da un'altra parte del mondo, avesse scaricato il medesimo messaggio, se lo ritroverebbe con un path in buona parte assai diverso da quello che vedete voi. La parte più a destra del messaggio comunque sarebbe identica e, se si potessero raffrontare tante istanze del medesimo messaggio prelevate in diversi punti della rete, dal Path si avrebbero indicazioni abbastanza chiare sul punto di immissione del messaggio. In caso contrario, avendone una sola copia, il Path non è chiarissimo da interpretare, anche perché gli host che vi compaiono sono spesso server di uso interno dei vari provider (per esempio quelli dedicati a ricevere i vari feed, di solito non aperti all'accesso degli utenti) e non sempre si firmano nel Path con un nome di rete vero e proprio. Come è spiegato nella RFC1036, che descrive il funzionamento della rete Usenet, lo scopo di questo header è soprattutto di evitare che un server propaghi un messaggio a quello stesso da cui lo ha ricevuto, quindi i nomi devono essere quelli con cui i server comunicanti si conoscono. Ai nostri fini pratici, basti sapere che si può tentare (direi, però, senza perderci troppo tempo) di leggere il Path per ricostruire all'indietro il percorso del messaggio, ma tenendo presente che, da un certo punto in poi, può essere tutto falso.

Risulta in genere più utile l'NNTP-Posting-Host, in cui i server spesso mettono il nome (o l'indirizzo IP) del nodo su cui si trova l'utente originante (potrebbero comunque mettere qualunque cosa, anche per consentire un migliore pseudoanonimato ai loro utenti; qualche server omette addirittura questo header ed usa al suo posto X-Trace, contenente informazione codificata). Non sembra essere facile (anche se per gli hacker non sarebbe un problema) contraffare questo header. Raffrontando NNTP-Posting-Host e Path si dovrebbe, quindi, riuscire a risalire al server su cui il messaggio è entrato in circolazione. Talvolta viene in aiuto anche la parte finale del MessageID (in questo caso, come si può vedere, no).

Per il nostro messaggio non ci sono dubbi: lo spammer non ha neppure impostato (o forse il server non glie lo ha lasciato fare) il campo Organization, lasciando così propagare "Rutgers University", che combina anche con l'NNTP-Posting-Host e con il penultimo server della stringa Path (l'ultimo elemento della stringa Path, solitamente, non è un vero e proprio server, ma una stringa extra che rappresenta il mittente).

Quindi siamo a posto: la segnalazione deve andare ad abuse@rutgers.edu.

Ma non basta. Vogliamo anche sapere chi ospita il sito www.xxx-Marketing.com. Un'occhiata al DNS:

Canonical name: alpha.xxx-Marketing.com
Aliases:
  www.xxx-Marketing.com
Addresses:
  38.254.219.32

Vedendo un 38 come primo numero dell'indirizzo, la conclusione si poteva trarre al volo: l'ip apparteneva a PSI.NET, una grande rete che possedeva, al tempo di questo spam, l'intero blocco 38.0.0.0/8 (di classe A).

Per sicurezza facciamo pure un traceroute:

Trace www.xxx-Marketing.com (38.254.219.32) ...
[saltiamo pure i primi hop]
 9 207.45.223.74  2147ms  786ms  402ms  TTL:  0  (gin-nyy-ac1.Teleglobe.net fraudulent rDNS)
10 204.6.117.121  2355ms    *    396ms  TTL:  0  (No rDNS)
11 38.1.4.33      2225ms  432ms    *    TTL:  0  (No rDNS)
12 38.1.25.67     2464ms  959ms    *    TTL:  0  (No rDNS)
13 38.1.45.252       *      *    474ms  TTL:  0  (baltimore.md.southeast.us.psi.net ok)
14 38.254.219.1   4571ms 3184ms 3128ms  TTL:  0  (No rDNS)
15 38.254.219.32  4350ms 3030ms 3001ms  TTL:112  (alpha.xxx-marketing.com ok)

Tutto chiaro, quindi. PSI.NET è l'upstream provider del sito in questione. Ma facciamola corta e vediamo la email che ho spedito (una unica, indirizzata all'università e ad abuse@psi.com):

abuse@rutgers.edu
please deal with enclosed usenet spam which has been originated at
your server. As shown, some user of yours has posted the same
identical message to a great number of italian newsgroups (here
I include 15 messages, but many more groups have received this,
apparently all unmoderated newsgroups in the 'it' hierarchy).
Hope you have enough information to find out the originating
user and arrange so that this has not to happen again.

abuse@psi.com
the spamadvertised web site www.xxx-Marketing.com
appears to be hosted or at least connected by you, so
please get rid of these spammers.

Thank you all for your care about this matter
Best regards
Leonardo Collinelli


===== First message:

Notate che non ho allegato un solo messaggio, ma una quindicina (il corpo completo solo per alcuni, per gli altri solo gli header), in modo da dare evidenza dell'eccessivo multipost.

PSI.NET ha mandato subito la risposta standard con il numero di incidente.
Il giorno dopo ho avuto risposta dall'università:

Thanks for the report. I've managed to verify the identity of the person
in our logs. The case has been sent to his system manager. We do
not permit this sort of thing, so I assume his account will be closed,
or equivalent action will be taken.

Cancels have now been issued for all 11,000 or so postings. (It took
over 10 hours to generate all of them.) The last cancel went through
around 1pm Aug 2. If you're still seeing these postings, I suspect
your ISP doesn't obey cancels.

Evidentemente, anche se la mia email era stata tempestiva, intanto che i messaggi erano giunti fino in Italia all'università avevano già scoperto la cosa e posto rimedio come potevano. Ammirevole la cortesia con cui questo amministratore di sistema mi ha risposto, probabilmente dopo aver passato una notte in bianco nella non piacevole attività di generare dei cancel.

Questo ci dà l'occasione per una osservazione: in base alle convenzioni universalmente accettate sotto usenet, l'amministratore di un news server ha sempre il diritto di cancellare qualsiasi messaggio sia stato postato tramite il server posto sotto la sua responsabilità.

Fin qui eravamo al 4 agosto 1998. Ritenevo di non sentir parlare più di questo spam, quando il 2 settembre PSI.NET mi ha scritto di nuovo:

Hello,

This is to notify you that PSINet has taken action on the complaint you
have sent to our Net Abuse Team.

We do view the conduct that generated your complaint as prohibited, and we
are taking the necessary steps to make certain that the account or network
understand the prohibition and act accordingly.

Those who decline to comply will encounter prompt enforcement action -- 
suspension of service, and ultimately, if compliance is still not forthcoming, termination.

Net-Abuse Team
PSINet Inc.
abuse@psi.com
http://www.psi.net/csg/netabuse.html

Nelle mie esperienze di quei tempi, PSI.NET era una rete piuttosto seria sotto il profilo della repressione degli abusi: cancellava gli account ai junk-emailer immediatamente dopo la segnalazione e, come si vede in questo caso, non tralasciava neppure di tenere in riga i siti (che pure portano un bel po' di dollari). In questo caso, vedendo che la risposta finale era arrivata dopo le ferie, si può pure pensare che avessero effettivamente contattato i responsabili di xxx-Marketing.com per dargli una bella strigliata. A distanza di anni, la cosa suggerisce qualche osservazione:


Indice    << Precedente    Successiva >>

Ultimo aggiornamento: 28 luglio 2003

Leonardo Collinelli

e-mail