2005年黑客聚焦 追踪垃圾邮件
作者:wodow 来源:安全中国 添加时间:2006-5-26 13:07:40对方是从不同的邮件服务器上发来的,中间自然有转信过程,每转一次都会在文件头顶部加信息。下表列出了一部分表头的相关含义,对我们分析垃圾邮件具有事半功倍的效果。
From: 邮件从哪里发送的。很容易被伪造,在分析中,非常不可信任。
From 不同于From:域,这行并不通常是邮件头的一部分,但是邮件转发程序经常插入这一行,表明邮件什么时候被接收的。这一行总是邮件头的第一行,也可以被伪造,但并不一定。
Reply-To: 回复时发送的地址。很容易被伪造,但常常提供线索,比如有些垃圾邮件经常用该域指向一个合法的邮件地址,以便spammer能够接收到回复的邮件。
Return-Path: 与Reply-To:相同
Sender: 消息发送者。这通常都是伪造的
Message-ID: 邮件系统在创建邮件时的唯一标记。也是最容易被伪造的地方。正常情况下,“Message-ID:”能确定发送者所登录的系统,而不仅仅是创建邮件的系统。Message-ID 的结构同邮件服务器程序有直接关系,不同的邮件服务器产生的ID 也不一样,有时,相同邮件服务器的不同处理也会产生不一样的ID。多数邮件服务器会包含日期、时间、DNS等,有的甚至包含邮件用户信息。如0040409085748.91B1.SAN@test.com,就是由日期、时间、标识、邮件用户和DNS构成。
In-Reply-To: 在回复的时候可能存在,通常指向原邮件的Messgae-ID。
Received: 最可信赖的头。一般会有几条,形成站点列表,这些信息表明达到目的地过程中邮件所经过的服务器,该域都是邮件服务器自动插入的,spammer可以伪造,但是在被伪造的那个点之后的是无法伪造的。这个列表从下往上表明了服务器路径,最上面的一条Received:是最终目的的系统或邮件服务器。
通常的邮件传递主要步骤由下面过程完成:
Sender→MUA→MTA→(routing) →MTA →MDA →{filtering}→ MUA→receiver
脚本小子:MUA(Mail User Agent)表示邮件客户端程序,比如Foxmail、Outlook、Mutt等;MTA(Mail Transport Agent or Message Transfer Agent)表示消息传输代理,这部分程序负责存储和转发、发送E-mail,它从MUA或者其他的MTA 接收到邮件后,就存在于本地,并分析收件人或者转发到其他的MTA,在处理过程中,它通常会编辑、添加邮件头内容,比如Sendmail、Exchange等;MDA(Mail Delivery Agent)表示邮件发送代理,这个程序负责将邮件发送给用户,通常处理某种特定发送操作。
了解了这些环节,我们就可以顺藤摸瓜,探测垃圾发送者的老巢了。
垃圾邮件追踪实例
SMTP协议对我们来说,应该是再熟悉不过的了,但是,这个协议在创建的时候并没有考虑到未来的邮件会成为垃圾,因此安全性很差,邮件头可以任意创建、伪造和修改,而邮件服务器一般不检查发送者的内容,而只关心接收者。这就给了垃圾邮件发送者可乘之机,比如,通过Outlook就可以伪造邮件头。为了对付ISP监控垃圾邮件,这些垃圾邮件发送者通常用一些邮件程序将邮件转发到其他的邮件服务器,并且修改和伪造邮件头,避免被追踪。所以,我们现在的关键任务是识别伪造内容并获得真实信息,根据真实信息进行查询。