垃圾邮件泛滥的技术根源 谈到垃圾邮件不能不谈SMTP协议。 SMTP通常有两种工作模式:发送SMTP和接收SMTP。 建立传送通道 发送SMTP在接到用户的邮件请求后,判断此邮件是否为本地邮件,若是直接投送到用户的邮箱,否则向DNS查询远端邮件服务器的MX记录,并建立与远端接收SMTP之间的一个双向传送通道,此后SMTP命令由发送SMTP发出,由接收SMTP接收,而应答则反方向传送。 传送邮件 传送通道建立后,SMTP发送者发送E-mail命令指明邮件发送者。如果SMTP接收者可以接收邮件则返回OK应答。SMTP发送者再发出RCPT命令确认邮件是否接收到。如果SMTP接收者接收,则返回OK应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。 传送完毕 当接收者收到全部邮件后会接收到特别的序列表示传送完毕,如果接收者成功处理了邮件,则返回OK应答。 从SMTP的整个工作流程来看,在发送SMTP和远端接收SMTP之间建立通道时,远端接收SMTP只是简单查询发送SMTP是否是一个合法用户,发送者能欺骗,说谎接受服务器。一旦接收服务器准备好接收邮件,他就无条件响应发送方的发送请求。不区分正常的邮件发送和垃圾邮件发送行为,照单全收。用SMTP协议文档自己的说法就是:它在有些场合是不安全的,它不能限制邮件发送者的某些欺骗行为。 垃圾邮件的制造者正是利用了这个协议设计上的漏洞,在发送邮件时伪造发信人的特征信息,如:发信人、信件路由等,甚至在通过匿名转发、开放转发和开放代理等技术手段后,垃圾邮件的发信人特征可以近乎完全的抹去,这就是垃圾邮件大行其道的技术根源。 反垃圾邮件技术简介 对付垃圾邮件,除了传统的黑白名单外,当前反垃圾邮件有两个主要的方向:一个是堵源头,一个是堵终点。 堵源头的代表技术是微软向IETF提出Sender ID技术,他就是对邮件发送者的身份进行认证,对于不合法的用户传送通道无法建立;堵终点就是以贝叶斯理论为代表的概率论应用到对垃圾邮件的智能识别,当一封邮件的指纹与垃圾邮件的指纹吻合程度达到一定概率后,就把作为垃圾邮件来丢弃。 Sender ID技术:对邮件信头进行检查 Sender ID技术,是指SMTP通信过程中对邮件来源进行检查的一种技术,主要归类于连接控制型技术的DNS信息检查类。其基本的工作流程如下: 1. 发信人使用自己的PC机撰写邮件; 2. 撰写完毕,PC机通过SMTP协议,路由发送该邮件到接收邮件服务器; 3. 接收邮件服务器通过SenderID技术对发信人所声称的身份进行检查(该检查通过DNS的特定查询进行); 4. 如果通过检查,发现发信人所声称的身份和其发信地址相匹配,那么接收该邮件,否则对该邮件采取特定操作,比如直接拒收该邮件。 SenderID技术对发送方的DNS记录进行修改,增加特定的DNS资源记录以标识其发信方身份。同时对接收方也进行认证:收信人对收到的邮件通信信息进行DNS查询,通过特定的DNS资源记录检查其发信身份。这些检查的通讯信息包括EHLO/HELO信息、MAIL FROM信息、信头中特定的字段信息等。如果上述两个方面的检查失败,则判断为垃圾邮件拒收。 贝叶斯智能识别:对邮件内容进行统计检查 贝叶斯智能分析其实是一个统计学定律的应用,通过对邮件内容的模糊识别让反垃圾邮件技术聪明了不少。贝叶斯反垃圾邮件算法如下: 1. 收集大量的垃圾邮件和非垃圾邮件,建立垃圾邮件集和非垃圾邮件集。 2. 对一封邮件的主题和邮件体中的独立字串例如“SEX”,“致富捷径”等作为TOKEN串,对提取出的TOKEN串出现的次数即字频进行统计。按照上述的方法分别处理垃圾邮件集和非垃圾邮件集中的所有邮件。 3. 每一个邮件集对应一个哈希表,哈西表内存储TOKEN串与字频的映射关系。 4. 计算每个哈希表中TOKEN串出现的概率P=(某TOKEN串的字频)/(对应哈希表的长度) 5. 当一个新邮件出现某个TOKEN串时,根据垃圾邮件集哈西表和非垃圾邮件集哈西表中的字频,用贝叶斯定律推断该新邮件为垃圾邮件的概率。 这两种反垃圾邮件技术有各自的不足。贝叶斯智能分析对垃圾邮件的处理能力要求较高,需要较多的处理能力。由于智能分析其实是一种内容倾向性概率分析,在取样样本足够和样本学习方向调整的情况下,对于垃圾邮件的判断准确性非常高。但是,当样本库随着学习不断积累,对邮件进行概率分析的处理能力的占用也会越来越大,在大邮件流量的环境下,所带来的负载也会非常可观。 SenderID技术对反垃圾邮件处理能力的要求较低,不需要太大的处理能力。它能够节省大量的带宽、存储容量和处理时间。但是SenderID技术只是一个解决垃圾邮件发送源的技术,从本质上来说,并不能鉴定一个邮件是否是垃圾邮件。 反垃圾邮件技术的部署方式 现在许多厂商都推出了自己的专用反垃圾邮件技术,通常情况下,我们可以按照电子邮件到达用户桌面的顺序来部署相应的反垃圾邮件产品:Inte.net→网关→邮件服务器(例如:微软的Exchange或者IBM/Lotus Domino)→桌面用户。 专用反垃圾邮件防火墙 逻辑位置部署在网关和服务器之间,专用的反垃圾邮件防火墙由专用服务器和固化的操作系统构成。一般来说,由于这些设备的操作系统是专为完成这项任务而开发的,因此这些设备具有更好的性能,同时这类专用设备由于垃圾邮件保护、管理控制和最终用户控制等功能的设置非常简单,甚至基本不需要进行配置。另外厂商提供的反垃圾邮件的指纹数据库可以定期在线更新可以保证处理效率的同时,保证反垃圾邮件的过滤精确程度。所以专用反垃圾邮件防火墙适用于网络流量大的网络环境,但是也相对增加了网络建设的成本。 网关级反垃圾邮件 将专用反垃圾设备部署在网关来检测输入的邮件,在网关部署的优点是在不打破网络拓扑环境的情况下,加强了原来邮件服务器的安全。缺点是由于反垃圾邮件属于内容安全,反垃圾邮件处理需要更多的处理资源,在大流量的网络环境中,一旦网络流量很大,反垃圾邮件的智能检查有可能会降低网络性能,成为高速网络中的瓶颈设备。所以网关级反垃圾邮件产品适用于网络流量不大的中小企业网络环境,将反垃圾邮件集成在网关里可以为用户节省成本。另外在网关可以将可疑信息重新定向到专用设备来做进一步检查,应用交换机能够最大限度地提高整体利用率,并为处理合法的应用流量增加可用的容量。 服务器级反垃圾邮件 我们可以将反垃圾邮件过滤器放在邮件服务器上。但是放置在邮件服务器上的反垃圾邮件过滤器只是邮件服务器上的一个功能模块,他的功能比较简单,如果像反垃圾邮件防火墙一样提供全面的过滤功能必将影响邮件服务器的本职工作——转发处理邮件,同时反垃圾邮件过滤作为邮件服务器的一个软件功能模块,升级很难避免,那么不断的升级也会影响邮件服务器的性能。所以服务器级的反垃圾邮件技术相对简单,不能期望在邮件服务器提供更多的反垃圾邮件功能,而因此把这个重任委托给专用的防火墙或者应用网关。 桌面级反垃圾邮件过滤器 桌面级的反垃圾邮件过滤更加简单,常见的如Hotmail、Outlook仅提供垃圾邮件黑名单,没有外层的保护,很难真正的做到对垃圾邮件的过滤,但是由于反垃圾邮件技术不论怎样智能,都会有一定的误判率很难一网打尽,所以尽管桌面级的反垃圾邮件过滤器是邮件接收终端的一个功能模块,但是作为反垃圾邮件的最后一关还是可以将少数漏网之鱼杀个干干净净。 综上所述,由于垃圾邮件和木马后门等传统的黑客技术有一个共同之处利用合法的应用和协议设计的缺陷来进行传播,所以很难在区分合法邮件和垃圾邮件做到100%,所谓智能识别也是统计意义上模糊判断,存在误判率在现有的条件下在所难免,但是经过从网关到邮件服务器最终到用户桌面各个环节的分层过滤,洪水般的垃圾邮件可以得到根本上的抑制。在我们进行垃圾邮件的方案设计时,要根据所处网络环境的流量特点,业务特点,以及垃圾邮件的危害程度来考虑适合自己的反垃圾邮件产品以及部署实施。
反垃圾邮件技术介绍和部署思路
垃圾邮件对信息安全、工作效率、企业运营成本和终端用户服务造成了重大影响,成为当今企业面临的安全难题之一。本质上垃圾邮件实际上是网络业务被滥用的一种。
虽然防垃圾邮件也是网络防攻击和业务控制的一部分,但是由于该问题日益严重有必要将其作为网络安全关键技术之一加以研究。本文对反垃圾邮件的一些主流技术进行介绍并分析反垃圾邮件技术在企业网中的部署思路。