martedì 29 luglio 2008

Falsificare gli header di posta è facile

I dati presenti negli headers non devono essere presi per oro colato: infatti tutto negli headers può essere falso. Falsificare il campo mittente, o qualunque altro campo di un header, non è affatto difficile. I campi Received sono gli unici campi affidabili, ma con eccezioni.
Ogni mailserver attraverso cui passa la mail aggiunge un campo Received. I campi Received sono inseriti "al contrario", cioé aggiunti in cima: quindi quelli più in alto sono i più recenti.
Il formato degli header varia da mailserver a mailserver, ma generalmente si presentano così:
Received: from indirizzo (altroindirizzo[IP]) by nomemailserver (numero di versione del software)
Il primo campo, quello identificato da "indirizzo", è quello con cui chi consegna la posta al server "nomemailserver" si è presentato. Può essere falsificato e normalmente lo è.
Il secondo, quello tra parentesi tonde - non sempre è presente - è quello che effettivamente è il suo vero nome, come identificato da nomemailserver.
Quello tra parentesi quadre è l'indirizzo IP da cui si è connesso chi consegna la mail.
Lo spammer può inserire linee Received: fasulle. Ma può solo aggiungerle in fondo, non può né modificare quelle autentiche, né aggiungerle "in mezzo" a linee Received autentiche. Per questo motivo quando bisogna analizzare gli headers, l'analisi degli headers si fa di solito a rovescio - dal server più recente al più antico - fino a raggiungere l'ultimo Received: o a trovare l'ultimo Received: autentico.