1. Il problema della cancellazione su Usenet

A tutti capita prima o poi di mandare un Articolo su Usenet per poi pentirsene subito dopo. Che fare allora? Lo si può cancellare prima che qualcuno lo veda?

La risposta è , esiste un comando di cancellazione da distribuire ai vari server. Anzi ne esistono due. Uno si chiama Cancel e l' altro Supersedes, e come si intuisce dal nome è chiaro che il primo cancella e il secondo sovrascrive. Ma al tempo stesso la risposta è anche no, di fatto non si può eliminare l'articolo da tutta Usenet.

1.1. In cosa consiste la cancellazione di un articolo

Occorre innanzitutto distinguere il caso in cui si voglia rimuovere un articolo da un singolo server, oppure dal proprio archivio personale di articoli, dalla cancellazione globale su tutta la Usenet-sfera.

1.1.1. Cancellazione locale

Sebbene gli hard disk siano ormai molto economici, essi non sono illimitati; occorre pertanto sia ai newsreader che ai server news avere un qualche meccanismo di rimozione automatica degli articoli dal proprio archivio. Un meccanismo ovvio è quello per il software di tenere conto della data di ricezione e rimuovere quindi tutti gli articoli più vecchi di un determinato limite temporale. A questo scopo è possibile per l' autore di un articolo anche "suggerire" una data di estinzione del messaggio usenet impostando l' header "Expires: ", ovviamente tale suggerimento può anche non vernire accolto dai server news che si distribuiranno l' articolo. Per esempio, alcuni server basano l' archivio degli articoli su una struttura dati 1che non permette la cancellazione dei post secondo un dato criterio temporale.

Un' altra esigenza comune è quella per un gestore di un server news o anche di un semplice lettore delle News di rimuovere un certo articolo dallo spool2 locale. Per fare questo verrà ovviamente usato un comando che non ha la necessità di essere distribuito, ma che agirà localmente solo sul proprio archivio.

1.1.2. Cancellazione globale

Per conseguire lo scopo di rimuovere un articolo da tutta Usenet occorre inviare un comando a tutti i Server news che abbiano ricevuto l' articolo da cancelllare. Per fare questo si crea (a mano oppure mediante una funzione del proprio newsreader) un articolo di cancellazione che teoricamente dovrebbe propagarsi su tutti i server news nei quali è presente, o arriverà, l'articolo da cancellare. I server, una volta ricevuto il Cancel, dovrebbero onorare il comando eliminando l'articolo dal proprio archivio locale e propagare il comando di cancellazione ai peer ovvero agli altri server news con cui essi scambiano le informazioni, secondo la comune via di propagazione a cascata che è alla base di Usenet.

I server però possono essere configurati in modo da non onorare i Cancel e/o da non propagarli.

Il problema quindi è che una volta immesso un articolo, questo si propaga con estrema velocità ed efficienza e in maniera più capillare dell'eventuale comando di cancellazione seguente, che non solo è svantaggiato perché arriva in un secondo tempo e quindi nel mentre qualcuno potrebbe scaricare l'articolo e leggerlo, ma, a meno che non venga inviato immediatamente dopo in modo da cancellare l'articolo sul server prima che si propaghi, esso viaggerà con meno efficienza e profondità perché a causa degli abusi molti amministratori news hanno deciso di non accettare i Cancel. Tanto per fare un esempio tra i più rilevanti, [WWW]google non onora i Cancel, e quello che è peggio, archivia l'articolo da eliminare.

Quindi inviare un Cancel o un Supersedes non fa certo male, ma è tremendamente inadeguato.

Allora non serve a nulla mandare il Cancel? Proprio a nulla direi di no, probabilmente la cosa migliore da fare è mandarlo ugualmente, ma richiedere almeno a google l'eliminazione dell'articolo dal proprio archivio (esiste una procedura precisa per fare questo ed è documentata nelle [WWW]faq) e soprattutto accettare l'idea che ormai la frittata è fatta.

2. Come cancellare un articolo da tutta Usenet

Si può fare a mano se il proprio newsreader permette di cambiare liberamente anche le righe degli header e non solo il corpo del messaggio. Per farlo bene però bisogna sapere quali siano le convenzioni e dove mettere le mani altrimenti si rischia di mandare un comando abusivo. Una cosa è certa: si possono cancellare solo i propri articoli, con l'eccezione dello spam, come vedremo nell'apposito paragrafo, e della retromoderazione 3 in un newsgroup moderato da parte del suo moderatore.

Per non combinare pasticci è bene quindi utilizzare le funzionalità del proprio newsreader e quindi studiarne bene la documentazione. Ogni newsreader decente infatti ha il comando per preparare automaticamente un articolo di cancellazione (che di fatto è come un qualsiasi altro post, solo ha delle righe particolari nell'header). Cerca nella documentazione del tuo newsreader, oppure con google sul web e nell'archivio Usenet e se non riesci allora chiedi consiglio su it.comp.software.newsreader. Qui di seguito riportiamo le istruzioni per i principali newsreader.

2.1. Istruzioni per cancellare i propri articoli con i principali newsreader

Occorre fare attenzione perché probabilmente il vostro newsreader ha due comandi simili, uno per inviare il comando di cancellazione e l' altro per cancellare l' articolo dal proprio spool locale, ovvero dall' archivio mantenuto dal proprio lettore news.

2.1.1. Outlook e Outlook Express

"Annulla messaggio" dal menù Messaggio

2.1.2. Free Agent e Fortè Agent

"cancel usenet message" dal menù post

2.1.3. XNews

todo

2.1.4. Mozilla/Netscape

Cliccare il messaggio con il tasto destro e selezionare "Cancel Message" o "Elimina messaggio".

3. Abusi

I comandi di cancellazione (Cancel e Supersedes) sono nati con lo scopo di offrire la possibilità ai frequentatori di Usenet di poter cambiare idea e rimuovere nei limiti del possibile un proprio articolo dalla Rete. Questo è un uso perfettamente legittimo a cui si è affiancato nel tempo quello della cancellazione, nei limiti delle convenzioni, dello spam (definito secondo dei criteri quantitativi, vedi paragrafo successivo) e della retromoderazione.

Tutto il resto è net-abuse e come tale viene considerato inaccettabile dai gestori dei server news che si affacciano su Usenet. Chiunque cancelli un articolo non proprio oppure cancelli spam al di fuori delle modalità accettate vedrà che accadranno due cose:

  1. l'articolo impropriamente cancellato verrà immediatamente rispedito con una procedura automatica o semi-automatica;

  2. l'abuso verrà segnalato al fornitore di servizi di colui che ha inviato il cancel impropriamente

I comandi di cancellazione sono stati abusati pesantemente nel passato e questo è il motivo principare per cui molti server oggi non li onorano più, vanificando di fatto questa utilissima funzionalità che altrimenti funzionerebbe molto meglio.

4. Cancellazione dello spam

Nel corso degli anni si è raggiunto un consenso ampio sul fatto che certi articoli inviati in copie multiple sostanzialmente uguali possano essere cancellati. La procedura funziona su criteri quantitativi e automatizzati.

Esistono dei robot che funzionano praticamente su tutte le gerarchie (e quindi non solo it.*) che emettono dei cancel sullo spam dei newsgroup. Questo viene definito secondo dei criteri oggettivi e non legati quindi al contenuto dei post; in pratica gli articoli identici in crosspost e/o multipost, identificati esaminando una finestra di 45 giorni, vengono cancellati se l'Indice di Breidbart (BI) è maggiore di 20. Questo indice si calcola sommando la radice quadrata del numero di gruppi nei quali viene spedito un articolo in crosspost.

Per esempio, se una articolo viene spedito in crosspost su 2 gruppi e in un secondo crosspost su altri 9 abbiamo un BI pari a 4 (sqrt(2) + sqrt(9), cioè (1 + 3). Un altro esempio è quello del multipost senza crosspost, che per attivare i robot dovrebbe essere spedito su almeno 20 newsgroup.

C'è un'eccezione, anzi due contando quello che accade specificamente su it.* . La prima è che se un articolo ha già raggiunto il BI di 20 da quel momento in poi può essere sempre cancellato. Questo spiega perché gli articoli di MMF (quelli per intenderci delle catene di sant'antonio alla "Rasmus Lino") possono essere cancellati a vista, hanno infatti superato da anni il BI di 20.

L'altra eccezione che riguarda it.* è che alcuni spammer particolarmente ostinati, tipo quelli che hanno infestato la gerarchia it.sesso.*, vengono cancellati a vista. In generale comunque su it.* il BI minimo è un po' più restrittivo di quello che ho descritto prima, anche se di solito non si usa un robot specifico oltre a quello che controlla i crosspost ma si cancella lo spam in accordo con le situazioni individuali.

4.1. I Cancel-Lock e NoCem

I comandi Cancel e Supersedes sono nati con lo scopo di fornire all'utilizzatore delle news l'opportunità di cancellare o modificare i propri articoli. Il fiorire dello Spam da un lato e l'uso abusivo che se ne è fatto dall'altro hanno di fatto invalidato l'uso per il quale questi comandi distribuiti erano stati pensati. Per ripristinare quindi la funzionalità originale sono stati quindi ideati i Cancel-Lock e NoCem, vediamo che cosa sono.

4.1.1. Cancel-Lock

In pratica si tratta di un sistema che mediante sistemi crittografici abbastanza sicuri permette la cancellazione di un articolo solo al suo autore.

In fase di pubblicazione su Usenet, per ogni articolo si genera al volo una stringa di caratteri segreta e la si crittografa con un algoritmo di hashing asimmetrico. A questo punto si invia l'articolo con un header Cancel-Lock: che includa l'hash in questione. Quando si decide di spedire un Control: cancel, questo includerà l'header Cancel-Key con la stringa originale, il server news a questo punto verificherà che le due stringhe coincidano e se questo è il caso provvederà alla rimozione dello stesso.

Per un newreader è semplice generare chiavi segrete al volo senza così dover gestire un database usando una stringa costituita da una parte variabile (per esempio il Message-ID dell'articolo da inviare) e una parte costante che può essere una password scelta dall'utente, il tutto a sua volta crittografato.

Il Cancel-Lock, sebbene sia immediatamente utilizzabile ed esista anche molto codice già scritto, non è stato adottato da nessun server news e per ora è difficile prevedere che un giorno verrà ad essere usato.

4.1.2. NoCem

È vero che una diffusione generale del Cancel-Lock impedirebbe l'uso dei cancel per eliminare lo spam, uso che comunque ha di per sè vari problemi strutturali, ma è anche vero che ormai tutti i cancellatori di spam inviano in contemporanea anche le segnalazioni NoCem da dietro server che comunque utilizza a monte dei filtri, ovvero viene cancellato solo quanto passa la bariera dei filtri. NoCem (si legge "No see them", ovvero "non li vedi") è una validissima alternativa all'uso degli articoli di cancellazione ed è ormai ampiamente sperimentata. È stato progettato proprio per sopperire ai problemi architetturali dell'uso dei Cancel per mantenere Usenet leggibile. In pratica si tratta di un software che può agire sull'archivio degli articoli di un server e cancellarli con a seguito di avvisi di cancellazione che pur propagandosi come dei comuni articoli no hanno i limiti strutturali dei cancel. Infatti un singolo articolo può contenere una intera lista di Message-ID di articoli da cancellare, al contrario del Control: cancel che può cancellare un solo articolo alla volta. Inoltre gli avvisi NoCem sono autenticati, con loro è quindi possibile onorare gli avvisi di alcune specifiche fonti piuttosto che altre.

5. Bibliografia