|
直面垃圾邮件威胁 反垃圾邮件技术面面观
|
来源: 2007-12-11 13:32:19
|
目前,随着internet的迅猛发展,网上电子邮件的传输日益频繁,电子邮件得到了越来越广泛的应用,很多中小型企业都拥有了电子邮件系统。但是由于电子邮件本身的开放性,也给一些人通过电子邮件传播不良信息,反动黄色信息,甚至是炸弹、病毒等提供了可乘之机。如果不对其进行约束,任由其发展,这样会对国家和社会的稳定发展造成危害,给用户带来诸多不便。因此,我们有必要在电子邮件系统中引入一种反垃圾邮件技术。本文将从电子邮件过滤系统的功能结构、垃圾邮件泛滥原因和反垃圾邮件技术发展展望出发,对反垃圾邮件技术进行讨论。 电子邮件过滤系统主要由三级过滤处理组成,即基于规则的过滤、邮件附件的分析过滤和邮件内嵌脚本的过滤处理,此外为了支持对大量的已知病毒、黑客程序及二进制型邮件炸弹的检测、清除,必须有专门的杀病毒引擎来进行相应的处理,这一部分可以采用成熟的杀病毒技术实现. 从功能上说,邮件过滤器主要包括以下几个方面: 1.基于规则的过滤 这是目前已经广泛采用的传统的邮件过滤方式. 它通常是针对邮件中的特定特征进行检测,一旦特征与预先设置的吻合,即根据预设逻辑对邮件进行处理,如删除、退回、拒收、转交管理员等. 规则过滤系统中常用的规则有: 1) 发件人p回复地址中包含特定地址; 2) 收件人p抄收栏中包含特定地址; 3) 邮件标题中包含特定字符串; 4) 邮件内容中包含特定字串或特定附件. 2.附件中传统病毒、黑客程序及邮件炸弹的检测与清除 传统意义上的邮件反病毒、反黑客主要是针对邮件附件的,只有附件才能带有复杂的处理逻辑而可能被执行(现有html 格式邮件直接内嵌脚本是一种例外) ,而邮件本身并不能被执行. 因此,邮件附件的分析及其病毒、黑客程序的检测与清除是很重要的一个功能模块,主要包括以下2 个方面: 1) 邮件格式分解与组合 目前internet 邮件一般都采用mime 编码格式[1 ,2 ] ,因而一个邮件的结构可能相当复杂,逻辑上是由一个树状结构构成,而其中每一叶节点还可能是由归档p压缩工具打包的多个文件组成. 为了确保邮件中的任何部分都是安全的,必须对邮件结构进行彻底的分解,将其中的每一可执行部件交给扫描引擎进行检测,在清除了其中的病毒、黑客程序之后,还需重新将分解、清除过的部分按mime 格式组合起来. 2) 对可疑部分的扫描 因为邮件可以被彻底分解开,这里可以采用通用的杀病毒引擎对邮件的最小组成单元进行病毒、黑客程序的检测与清除. 3.脚本型邮件炸弹和恶意程序的检测与清除 近年来,随着各种脚本语言在网络中越来越广泛的应用及其能力的逐渐增强,使用脚本语言编写的恶意程序也越来越多,这给internet 邮件系统带来了空前的威胁.脚本型邮件炸弹和恶意程序的新特点决定了传统杀病毒引擎不足以清除它们. 需解决的问题有: 1) 对嵌入其他文档结构中的脚本的提取与分析 主要是针对html 格式的邮件中可直接嵌入java script 和vb script 脚本,以及像msword 文档和lotusword pro 文档这样可嵌入vba 脚本的情况,必须能够对这样的基本邮件组成部分进行进一步的分解,识别并提取其中的可执行的脚本,交给扫描引擎. 2) 启发式的识别算法 与以往的二进制型病毒不同,文本型的脚本程序本身非常容易被改变,必须采用具有一定未知脚本识别能力的启发式识别算法,才能达到一般安全防护的要求. 事实上,邮件及其附件中的脚本程序通常不是邮件的必需部分,因而,可以将一切邮件内嵌脚本滤除,这样通常不会损害邮件的主要内容,同时又提供了万无一失的保护,以提供最高的安全性. 垃圾邮件泛滥原因的技术分析: 垃圾邮件的产生可以追溯到最开始的连锁信,随着邮件技术的发展,垃圾邮件技术也在逐步发展,但要想找到彻底解决垃圾邮件问题的技术,必须从邮件传输的原理人手。目前邮件传递的主要协议是smtp协议,该协议没有任何认证手段,因此缺省的smtp邮件服务器是所谓的openrelay(开放转发器),无论邮件来自哪里或发到哪里,邮件服务器都会予以发送。最常见的邮件发送过程是,邮件的客户端使用smtp协议将邮件发送给一台smtp发送服务器,然后smtp发送服务器根据邮件的目的地址,使用smtp协议将该邮件转发给目标smtp服务器(接收服务器),接收服务器收到邮件后放入接收人的邮箱(mailbox或maildir,可,能是单独的服务器,也可能是同一台机器上),最后另一个邮件客户端(接收方)使用pop3或imap协议从邮箱服务器上接收自己的邮件。整个过程中,发送方与发送服务qs、发送服务器与接收服务器之间都不做认证,因此发送方可以使用互联网上任意一台smtp服务器来发送邮件,这就是openrelay。 近年来由于垃圾邮件的泛滥,大部分邮件服务器关闭了openrelay,在发送方与发送服务器间需要认证,来保证发送服务器发送邮件的主机的合法性,这就是增强的esmtp协议。但这并没有解决第二个环节:发送邮件器和接收邮件服务器间的合法性认证。因为不可能要求接收邮件服务器上保存所有发送邮件服务器的合法用户信息,因此发送邮件服务器无法向接收邮件服务器做认证。 目前的邮件服务器的处理方式是:如果目的地址是本邮件服务器的用户,则无需认证予以接收;如果目的地址不是本邮件服务器的用户,需要用本邮件服务器的合法用户的用户名和口令来认证(该用户可以不是该邮件的发件人)。这样,就给自动垃圾邮件发送程序提供了可能:只要给邮件服务器发的邮件是该邮件服务器的用户,即可发送进去。我们知道,可以随处得到一个数百万甚至上千万的email列表,使用程序自动按照邮件服务器域名发送相应的用户是很容易的,这就导致了垃圾邮件的泛滥。 当前主要的反垃圾邮件技术: 传统的反垃圾邮件技术主要是黑名单和邮件过滤,还有带宽控制、贝叶斯加权统计分析等方塞,目前都在实际中应用,但至今还没有非常理想的ag旗舰厅首页的解决方案。 1.实时黑名单技术 实时黑名单rbl(realtime blackhole list)是借助dns解析技术的黑名单查询技术,当需要验证某个邮件服务器ip地址是否被列入黑名单时,就向rbl服务器发出一个特殊的dns解析请求,rbl服务器将返回一个ip地址,邮件服务器就知道该ip是否被列入黑名单。 实时黑名单是使用较早的技术,对于早期拥有合法域名的服务器专门从事垃圾邮件转发或开放open relay的邮件服务器非常有效。当一台邮件服务器是open relay或未开放openrelay任由其合法用户发送垃圾邮件时,该服务器将被投诉,通过rbl机构确认其大量发送或转发垃圾邮件后,被列入黑名单,邮件服务器在收到邮件时,可以向rbl查询这台发送邮件的服务器是否被列入黑名单,如果确认,邮件将被拒收。但这种技术无法防止用户自行发出的邮件,包括动态ip(例如拨号用户和adsl),因为如果把这一段ip列入黑名单将导致正常用户无法使用邮件服务。中国互联网协会就曾因国外将中国大片ip列入黑名单而提出抗议。 2.关闭openrelay 关闭openrelay其实是一个能够部分解决问题的方法,这使得mail服务器在对外发送邮件的时候要求身份认证,只有mail服务器上的合法用户才能通过本服务器对外发送邮件,避免了垃圾邮件制造者借助本服务器对外发送垃圾邮件。在很大程度上降低了垃圾邮件的泛滥程度,但关闭open relay是单向的反垃圾邮件技术,只能保证自己不对外发送垃圾邮件,不能防止自己被垃圾邮件骚扰。 3.内容过滤技术 邮件过滤按照邮件系统的角色结构可以分为三类:mta(邮件传输代理)过滤——信封检查;mda(邮件递交代理)过滤——信头检查、信体检查;mua(邮件用户代理)过滤——客户端检查。 邮件过滤技术作为一个有效对抗垃圾邮件的手段,同杀毒软件一样,需要不断根据情况更新邮件过滤规则。邮件过滤实际上只针对通常的垃圾邮件有效,这些垃圾邮件常常是电子广告,有些更规矩的广告在邮件主题上提示“adv”,如果用户不想接收广告邮件,只需简单过滤邮件主题,发现adv即拒收。而目前用程序自动生成和发送的垃圾邮件对于发件人、收件人、邮件主题甚至邮件内容都是随机生成的,在邮件内容中经常被过滤的词汇,例如“免费”、“赌博”、“色情”等词汇,被随机变形,防垃圾过滤如果采用“免。费”这样的模式匹配来发现变形,有时反而导致了正常邮件被误拒绝(例如邮件中可能有这样一句话:“要免除处罚是很费劲的”,并没有免费的意思,但被拒绝)。 从实际应用情况来说,内容过滤还很不成熟,其作用很有限,而且内容过滤技术比较消耗资源、分析速度也比较慢。 4.客户端过滤技术 客户端防垃圾技术通常是在邮件客户端安装垃圾分析软件,或在邮件接收软件中增加一些简单的垃圾分析功能,如foxmail和outlook等客户端软件都具有简单的垃圾分析、阻断功能。客户端防垃圾只是方便最终用户管理和分离垃圾邮件,对降低网络流量、防止垃圾泛滥没有实际意义,不能有效减轻垃圾邮件对mail服务器的严重负担,也不能减低垃圾邮件对网络带宽的占用,因此单独的客户端防垃圾对整体环境的净化没有意义。 5.正在研究的技术思路 当前被广泛研究和引用的是“贝叶斯”加权统计分析算法,它基于统计的原则,根据对用户认为的垃圾邮件和非垃圾邮件进行统计计算,具有学习渐进的功能,可以逐渐取得好的效果,据称能达到90%以上的判断准确率。 另外还有一种方式,在所有的smtp服务器间增加信任认证,相互认证的服务器和用户之间建立信任关系。 目前challenge-response方案是较为有效的方案。如源头验证,基本概念是由服务器先截住来自身份未知的发送者的信件,然后回信要求发送者简单答复一些问题。事实上这些简单答复只是为了确认发迭源不是一个发送垃圾邮件的临时账户。更复余—些的系统要求身份不明的发送者必须通过某种测验(如链接到某个网站,输入一串电脑无法识别的图像密码)后才能放行。但上述访问增加了发件方的任务,有可能引起发件方的不满。 新的思路-mx查询验证: 目前,mx查询验证技术思路正在被关注和初步应用。 根据大量的调查结果,在所有垃圾邮件中,大约95%以上的邮件的发件人身份是伪造的,由此引出新的反垃圾邮件技术思路——验证邮件是否经过伪造。如果是伪造的,则基本可以判断为垃圾邮件。该技术思路基于目前的邮件服务器应用情况:大量接收邮件服务器(域名解析的mx项)本身就是发送邮件服务器(尤其针对中小邮件服务器);部分分离的接收邮件服务器和发送邮件服务器是ip地址相邻相近的,范围扩展与上一类似,其他允许发送邮件的计算机,如www/mailist/ftp服务器,可能与mx项定义的机器的ip地址相邻相近。这样,通过验证邮件是否来自它所声称的邮件域的合法计算机,就可以判断其是否为垃圾邮件。这种技术从smtp握手信息及邮件头信息来分析邮件来源,能有效识别虚假路由信息,识别95%以上的垃圾邮件。目前这种技术思路还在探索阶段,尚没有看到成熟的应用。 垃圾邮件问题已经成为严重的社会问题,引起了广大社会学者和科学研究者的关注,越来越多的人呼吁进行立法解决。在技术领域,也有新技术不断涌现和被尝试。尽管实时黑名单技术、关闭openrelay、内容过滤技术、客户端过滤技术和基于贝叶斯算法的技术各自都存在不同的缺陷,但同时我们也看到了它们的优点。对于新的mx查询验证,相信随着技术的不断成熟,一定可以在反垃圾邮件领域发挥很大的作用 |