对邮件过滤技术发展现状的比较与分析

总第222期计算机与数字工程V ol . 36N o . 4                          2008年第4期C om puter &D igital Engineering   1

总第222期计算机与数字工程V ol . 36N o . 4

                          

2008年第4期C om puter &D igital Engineering   102                                                     

对邮件过滤技术发展现状的比较与分析

张 萍 韩立娜

(武汉理工大学计算机科学与技术学院 武汉 430070)

3

摘 要 对自学习的过滤技术进行比较和分析, 包括已经商品化的方法和目前还处于理论研究阶段的方法, 尤其介绍基于机器学习的过滤技术的发展现状, 重点研究该领域内的一些新兴过滤技术。在综合比较了一系列的过滤技术的优缺点之后, 分析结果表明基于规则的方法和贝叶斯方法是最有潜力的过滤技术。

关键词 垃圾邮件 过滤 组合过滤器 规则 贝叶斯中图分类号 TP 181

Co mparison A  H an L ina

(C of com puter science and technology, W uhan U niversity of Technology, W uhan  430070)

A b s t ra c t  Focus on adap tive spam filters, from comm ercial i m p lem entations to ideas confined to current research papers . Especially introduce the technology based on m achine L earning, focusing on som e innovative technology in this field . A fter the com parison and analysis of the different techniques, rule -based and B ayesian filtering appear to be the greatest potential for fu 2ture spam p revention .

Ke yw o rd s  spam , filter, ensem ble filter, rule, bayesian C la s s N um b e r  TP 181

1 引言

近年来, 垃圾邮件在不断发展, 构造一个简单

的模型来过滤垃圾邮件是很困难的, 要实现就更加复杂。况且, 垃圾邮件制造者经常修改邮件的信息和内容来逃避检测, 这给精确过滤造成了更大的障碍。

目前, 用来处理垃圾邮件的方法可以分为三类:法律法规, 协议的改进和过滤器。对于大量的垃圾邮件, 法律的作用是微乎其微的, 甚至由于只要遵守一定的规则, 就可以大量发送广告邮件, 法律在一定程度上促进了垃圾邮件的发展。协议的改进是通过改变发送邮件的方式来过滤邮件, 如:需要发送者的认证, 按邮件发送量的大小收取费用, 通过验证邮件是否来自合法区域及是否带有正确的密码来识别合法邮件。这些协议大多提供了较完整的解决方案, 却往往因为需要对现有的邮件

协议进行升级或替换, 应用部署受到限制, 很难在电子邮件用户中推广。

过滤器大致可以分为两种:交互式和非交互式。交互式的过滤器通常也被称为“challenge re 2

(C /R) 系统, 能够截取来自陌生的发送者sponse ”

的邮件和可疑度较高的邮件。这些信息都储存在

接收者的邮件服务器中, 而服务器会给相应的发送者寄出一封邮件, 邮件一般很简单, 但是需要回复的, 以确定邮件来自人类还是批量发送邮件的机器。交互式过滤器默认的规则是由于垃圾邮件制造者通常同时发送大量的信息, 因此不会回复此类邮件。而且, 如果发送者使用的地址是假的, 将无法收到此类邮件。

非交互式的过滤器在过滤邮件时不需要与人类进行交互, 但在配置特定用户选项和纠正错误分类时需要人类的介入。这类系统相对简单而行之有效, 因此应用很广泛。

3

收稿日期:2007年11月4日, 修回日期:2007年12月25日

作者简介:张萍, 女, 硕士研究生, 研究方向:文本分类。韩立娜, 女, 硕士研究生, 研究方向:演化计算

。© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

,

第36卷(2008) 第4期             计算机与数字工程

            103

2 基于统计的过滤技术的分类及评价

为了对垃圾过滤性能进行评价分析, 有必要定义一些指标来评价垃圾过滤的效果。应用比较广泛的评价指标有召回率R (R ecall ) , 准确率P (Pre 2cision ) , F 1测试值和精确率A (A ccu racy ) 。合法邮件被误判为垃圾邮件称为误检率(false posi 2tive ) , 垃圾邮件被误判为合法邮件称为漏检率(false negative ) , 如图1所示

邮件, 对所有的用户使用同样的规则进行过滤。这种方法的好处是可以集中管理和维护, 对终端用户的要求很低, 可以在垃圾邮件到达目的地之前就将其拒绝或者丢弃。客户端的过滤器检查来自邮件服务器的所有邮件, 经常是客户邮件处理程序的一部分。通常, 基于机器学习的过滤器被安装在客户度时性能最佳, 因为客户能够纠正错误分类和调整规则。

大多商用过滤器和开源产品都是基于软件的过滤器, 可以被安装在客户端和服务器端。其中, 。A p 2

p (, 所图[2]

。A pp liance 包含的硬件往往是

,

。误判率(1-A ) 指误检率和漏检率的总和。很明显, 精确度为99的条件下, 1的误检率带来的损失比1的漏检率带来的损失大得多。因此, 这两个评价指标比单个的精确度更能反应过滤器的性能。

[1]

H idalgo 建议使用一个新的评价指标-RO C 曲线(R eceiver O perating C haracteristics C urve, 受试者工作特征曲线) 。曲线图表表明在分类阀值参数发生改变时, 检出率和误检率之间的平衡。若对应第一个过滤器的曲线完全在对应第二个过滤器的曲线的上方, 可以推断:第一个过滤器的性能超过了第二个的性能。曲线以下的部分作为量化指标可以直观有效地帮助优选分类阈值和比较不同过滤器的性能优劣。

过滤技术大致分为两种:基于机器学习理论和基于非机器学习理论。近年来, 基于非机器学习理论的技术, 如基于规则的, 黑名单和签名, 多与基于机器学习的技术相结合。基于机器学习的过滤技术可以分为独立模型和互补型。互补型通常被设计为主过滤器的一个组件, 对主过滤器提供技术帮助(主过滤器可以是基于机器学习的也可以是基于非机器学习的) 。独立模型旨在构造一个完整的知识库, 独立地对所有的邮件进行分类。这一类的过滤器可采用不同的方法, 如:构造一个统一的模型来进行判断; 将收到的邮件与以前的邮件进行比较(相似度) ; 组合型使用协作方案, 将多个过滤器结合在一起(组合) 。

过滤器可以安装在客户端, 也可以安装在邮件服务器端。服务器端的过滤器检查所有接收到的

针对邮件过滤而进行了优化的, 因此性能比运行软件过滤器的通用机器的性能好, 而且, A pp liance 对应的操作系统一般都是预先加强的, 而通用过滤器所依赖的平台, 尤其是操作系统, 都有潜在的安全隐患。

3 过滤技术

3. 1 非机器学习过滤器3. 1. 1 基于规则的过滤技术

基于规则的过滤技术, 通常也称为启发式过滤技术, 是利用电子邮件半结构化的特点, 先使用人工或者自动的方法总结出正常邮件之间的共性, 或者垃圾邮件之间的共性, 据此来生成一系列的规则。当邮件到达或者发送邮件的行为产生时, 依照规则来检查邮件的内容或者发送行为, 并根据与规则的相符程度来决定过滤器的动作行为。简单的基于规则的过滤系统依据邮件与规则的匹配数量而给邮件分配一个相应的分数。如果分数高于预定的阀值, 邮件就被判为垃圾邮件。基于规则的过滤技术简单, 快速和精确, 应用非常广泛。

但是, 基于规则的过滤技术也有一些缺点。由于基于静态的规则集, 系统不能自动调整过滤器去识别新的垃圾邮件特征, 需要管理者构造新的识别规则或者定期下载新规则集。如果垃圾邮件制造者伪造出一种能够破解某一类规则, 那么所伪造的邮件能够毫无障碍地通过所有采用这类规则的邮件服务器。况且, 某些开源的基于规则的过滤器, 公开发布过滤器和规则集, 允许垃圾邮件制造者来测试垃圾邮件的性能。另外, 基于规则的过滤技术能够得到较高的精确度, 但是如果过滤器被调整为

© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

,

104张 萍等:对邮件过滤技术发展现状的比较与分析            总第222

可以达到100的精确度, 就会产生很高的误检率, 这是用户所不能接收的。

3. 1. 2 签名

基于签名的过滤技术基于这样的事实, 同一内容的垃圾邮件在一段时间内会被高频率地重复散发。基于签名的过滤技术会为每封已被识别的垃圾邮件产生一个唯一的哈希值(签名) 。当新邮件到达后, 过滤器将新邮件的哈希值与所有存储的垃圾邮件的哈希值相比较, 以判断是否是垃圾邮件。从统计学来讲, 一封合法邮件的哈希值不可能与垃圾邮件的哈希值相同, 因此, 基于签名的过滤技术的误检率非常低。但是, 能检测出垃圾邮件的重要前提是有类似的垃圾邮件已经被识别出来了, 并且被赋予了一个唯一的哈希值。而且, 网络崩溃了, 圾邮件。

然而, 匹配过滤器的检测。例如, 在垃圾邮件里插入一段随机的字符, 邮件的哈希值就会改变, 而且需要及时更新哈希值。

商用签名过滤器通常融合到对应组织的邮件服务器中, 并与专门的集中签名分配服务器进行通讯, 以及时接收和提交垃圾邮件签名。无论分布式和合作式的签名过滤器, 都需要复杂的可以信赖的网关, 在允许接收来自用户的垃圾邮件签名的同时, 阻止来自网络的攻击和恶意的破坏。3. 1. 3 黑白名单

3. 2. 1 统一模型过滤器

基于贝叶斯方法的过滤器能够克服基于规则

的过滤器的许多缺点, 因此应用非常广泛。目前, 许多企业级的过滤器都是采用基于贝叶斯方法的过滤技术。

贝叶斯分类的原理是大多数事件都是相互依赖的, 那么一个事件将来发生的概率可以从该事件从前发生的概率进行推断。应用同样的原理可以对邮件进行分类, 分类器的工作一般分为训练和分类两个阶段:在训练阶段, 分类器通过对大量邮件(包括垃圾邮件和正常邮件) , 统计。在分类阶段, , 贝叶斯过滤技术。但是, 多数商用贝叶斯过滤器都是依靠自己的人工评分系统, 而不是完全依赖于产生的原始概率。而且, 通常使用朴素贝叶斯方法(假设事件是互相独立的) 。

为了解决标准贝叶斯方法的不足, Yerazu 2[3]-[4]nis 介绍了零散二元多项式拆分(Sparse bina 2ry po lynom ial hashing, SB PH ) 和正交稀疏偶图

(O rthogonal sparse b igram , O SB ) 。SB PH 是朴素

贝叶斯方法的泛化, 将贝叶斯链式规则和单个特征的条件概率相结合, 不仅能识别单个的词, 还能识别变异的短语。Yerazun is 在没有使用白名单和黑名单的情况下, 对实时邮件邮件进行过滤, 得到了99. 9以上的试验结果。但是, SB PH 的公认的缺

黑白名单技术利用的是最朴素的思想:列举受欢迎的和不受欢迎的发件人名单。白名单中的发件人发送的任何邮件都认为是合法邮件, 黑名单中的发件人发送的任何邮件都认为是垃圾邮件。这是目前电子邮件过滤中广泛使用的技术, 可以应用在服务器端或客户端。在和其它过滤器结合时, 不需要对其他过滤器作大量的修改, 就能弥补其它过滤器的不足。通常做法是收集一个黑、白名单列表, 可以是电子邮件地址, 也可以是邮件服务器的域名、IP 地址, 收到邮件时对发件人进行实时检查。这种名单一般由比较有信誉的组织提供, 如中国互联网协会定期在主页上公开垃圾邮件服务器IP 地址名单。个人也可以根据需求定义和维护自己的黑、白名单。黑白名单技术具有使用简单可靠, 漏检率较低的优点。但是其简单性导致伪造的发送地址很容易逃过检测。而且, 误检率较高使其作为单一的过滤系统时性能不好。3. 2 基于机器学习的过滤器

点是计算时间太长。而O SB 利用的特征集远小于

SB PH, 因此, 相对而言, O SB 需要的内存小, 速度快。基于O SB 和W innow 算法的过滤器, 精确度最高可以达到99. 68, 比SB PH 小0. 04, 但是,

O SB 只用了600, 000个特征变量, 而SB PH 需要

1, 600, 000个特征变量。朴素贝叶斯方法是假设

特征之间都是不相关的, 现在有不少学者对特征词的相关性进行研究, 例如:若同一个特征词出现在邮件中的不同区域, 就将其看作不同的特征, 构造联合权值(co -w eighting ) 来表示在同一个特征词在不同区域中的相关。

还有很多学者致力于基于贝叶斯方法的中文垃圾邮件过滤技术的研究, 取得了一定的成效。但有几个因素制约了其发展, 如:(1) 语言的制约, 汉语与英语在很多方面具有不同的特性, 不同直接把国外的研究结果应用到中文垃圾邮件的过滤上来。(2) 缺乏开源项目。(3) 缺乏公共的中文邮件语料, 很多实验结果无法横向比较, 个人收集的数据, 数量

© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

,

第36卷(2008) 第4期             计算机与数字工程

            105

少, 范围窄, 具有很大的局限性, 其结果也缺乏说服力。目前, 已经有人开始进行相关的研究工作。

支持向量机(Support vector m achines , SVM ) 是在二十世纪90年代以来发展起来的一种统计学习方法, 它通过构造最优线性分类面来指导分类。SVM 在解决小样本学习、非线性及高维模式识别问题中表现较好。SVM 可以直接用于线性可分问题, 而对于线性不可分的情形, 可以构造一个变换, 将问题转换到一个新的空间, 在这个新空间中线性可分。在文本分类中, SVM 是公认的较好的方法

[5]

之一。D rucker 将SVM 用于垃圾邮件过滤, 得到的结果再次印证这一点。D rucker 还得到一个结论就是, 采用二值表示的SVM 的性能稍高于采用多

[6]

值表示的SVM 。R ios and Zha 机森林方法(R R F , R F 过滤器在低误判率时鲁棒性更强, 但是两者的性能都要优于朴素贝叶斯过滤器。

[7]

L udlow 推断大多数的垃圾邮件很有可能来自主要的150个制造者, 因此用身份认证技术对这个小团体的“文本指纹”进行验证, 从而判断是否是垃圾邮件。实验结果表明, 利用这种方法可以得到较好的过滤效果, 甚至获得了优于贝叶斯过滤器的过滤效果。

[8]

C hhabra 提出了一种基于马尔可夫随机场

(M arkov R andom F ield, M R F ) 分类器模型, 这种

基于范例推理(C ase -based reasoning, CB R ) 系统是建立一个已有的分类实例库(如:邮件库) 来进行分类。当收到邮件后, 将收到的邮件与已有的邮件库比较, 得到相似程度最高的邮件, 通过该邮件对应的类别来确定新邮件的类别。分类后, 邮件和对应的分类结果都存入邮件库中, 为将来的邮件分类提供指导作用。C unningham 构造一个基于范例推理的分类器, 这个分类器能够往实例库中添加新实例, 和从实例库中删除旧实例, 使得系统能够适应垃圾邮件和合法邮件中的特征变量的转移。. 2. , 当邮件到达时, 先用各个组合的过滤器对邮件进行处理, 再综合考虑单个过滤器的结果来决定邮件的类别。由于过滤器级别不同, 产生的错误互不相关, 因此能够得到较好的性能。

基于B oosting 算法的过滤器是经典的组合过滤器, B oosting 算法的基本思想就是基于这样一个事实:发现大量而粗略的经验规则要比找到一条高度准确的预测规则容易得多。为了使用B oos 2ting 算法, 首先需要一个弱算法来找到大量经验规则。B oosting 算法循环调用弱算法, 每轮循环向弱算法输入训练集的不同子集, 更准确的说是带有不同权重分布的训练集。每一次被调用, 弱算法都产生一条新的较弱的预测规则(即经验规则) 。经过多轮循环之后, B oosting 算法将各轮循环产生的弱预测规则合并成一条预测规则, 最终的规则将会远比任意一条弱规则准确。C arreras

[10]

and M arquez 利用A daB oost (一种B oosting 算法) 进行邮件过滤, 并与决策树, 朴素贝叶斯和KNN 方法对比。实验结果显示, 性能优于其它三种方法。而且, 能够通过调节分类阀值得到较高的准确度。3. 2. 4 互补型过滤器灰名单是一种需要与其它过滤器结合使用的分类方法, 具体是指拒绝接收来自不熟悉的IP 地址的邮件, 同时系统自动回复接收邮件失败的消息。灰名单基于的事实是, 当邮件发送失败时, 发送垃圾邮件的软件不会采取任何错误恢复措施, 更不会重新发送邮件; 而普通的邮件发送系统都会提醒发送者重新发送邮件。对于性能一般的垃圾邮件发送软件, 灰名单不失为一个有效的过滤方法。

SM TP 路径分析技术是一种以IP 地址认证电

[9]

方法考虑了邮件中单词间的邻近关系(M R F 基团) , 这样在分类过程中就引入了自然语言中的相关词之间的依赖关系。3. 2. 2 基于相似度比较的过滤器基于内容和基于事件的机器学习技术, 都是根据与存储的邮件(如:训练文本) 的相似度来判定收到的邮件的类别。

K 近邻(K -N earst N eighbo r, KNN ) 是常用的基于内容的文本分类方法。分类时直接将待分类文本与训练集合中的每个文本进行比较, 然后根据前K 篇相似的文本得到新文本的类别(最简单的情况可以根据K 篇文本所属的类别数的多少来确定最后类别) 。KNN 的原理非常直观, 也很容易理解。在文本分类中KNN 也常常能够取得好的结果。但是由于其分类速度的局限性, 不太适用于对分类速度要求较高的垃圾邮件过滤场合。有学者将KNN 方法引入到垃圾邮件过滤中, 实验结果表明KNN 过滤器与贝叶斯过滤器的性能相当。

© 1994-2009 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net

,

106张 萍等:对邮件过滤技术发展现状的比较与分析            总第222

[2]NU TTER R. Soft w are or app liance solution? N et 2w ork W orld Fusion [DB /OL].http://www.nw fusion . com /colum nists /2004/0301nutter . ht m l, 2004, 3, 1

[3]YO SH I DA K, ADA CH I F, W A SH I O T et al . D ensity -based spam detector[C ].In KDD ’04:P roceedings of the 2004A CM

S I G KDD

international conference on

Know ledge discovery and data m ining, A CM P ress, 2004:

子邮件寄件人身份的技术。SM TP 路径分析算法通过检测包含在垃圾邮件和正常邮件中的IP 地址

字串, 不断自我学习, 自我完善。这样当再有新邮件到来时, 它便能以相当的精度, 对邮件的真伪作出判断。这项技术通过检测电子邮件中所包含的传播路径信息, 能较好地判断出该邮件是否属于电子垃圾。

486~493

[4]DAM I AN I E, PA RABO SCH I S, SAM A RA T I P et al .

P 2P -based collaborative spam detection and filtering In P 2P ’04:P roceedings of the Fourth International

[C ].

4 结语

本文总结了许多新的邮件过滤技术, 由于每个

作者所选用的邮件集和实验平台有所区别, 很难对分类结果进行比较, 只有使用统一的基准文集, 才能进行有意义的分析。但是这是一项艰巨的任务, , 涉及到个人隐私, 快, , 。

经过了多年的发展, 新兴的反垃圾邮件技术层出不穷。其中, 基于规则和基于贝叶斯方法的过滤器的效果最为突出, 其改进算法也较多。但无论哪一种技术, 都无法完全应对多变的垃圾邮件。垃圾邮件和反垃圾邮件的技术演进必将长期存在, 反垃圾邮件技术的发展将日益趋向于全面包含最有效垃圾邮件阻断技术的整体解决方案。

参考文献

[1]H I DALGO J. Evaluating cost -sensitive unsolicited bulk em ail categorization [C ].P ress, 2002:615~620

In SA C ’02:Proceedings of

the 2002A CM sym posium on A pp lied com puting, A CM 2

C onference on Peer -to -Peer C om IEEE C om puter S ociety, 176~183

标签: