对抗垃圾邮件
2012-01-28刘卫红
文/刘卫红
对抗垃圾邮件
文/刘卫红
目前,垃圾邮件占发送邮件的比例已经从1998年的10%上升到现在的92.3%。从垃圾邮件的发展历史来看,垃圾邮件具有内容多样化以及技术复杂化的趋势。垃圾邮件与反垃圾邮件之间的斗争就是一场博弈。
在信息爆炸时代,在互联网上除了拥有许多有效信息外,还充斥着许多垃圾信息,这给人们在享受网上冲浪乐趣的同时带来很大的困扰。防御和检测垃圾信息已成为当前互联网技术中的一个重要课题。
垃圾邮件伪装术
垃圾邮件现在还没有一个非常严格的定义,一般说来,凡是未经用户许可就强行发送到用户邮箱中的任何电子邮件都可称作是垃圾邮件。垃圾邮件包含的内容种类繁多,包括赚钱信息、成人广告、商业或个人网站广告、电子杂志、连环信等。
对信息进行伪装后发送是目前垃圾制造者经常甚至必须采取的手段。随着反垃圾信息技术的提高,制作者的伪装手段也日益复杂,目前已经从简单的在垃圾信息中加入随机词、对URL伪装等方式演变为使用文字变形,甚至将垃圾信息放入图片等复杂手段。垃圾邮件制造者通过多种方法对发送的信息进行伪装,主要的方法有:变形文字、噪声文字和图片垃圾。
变形文字
目前,这种方法被垃圾制造者普遍采用,其原理是采用误拼写或使用替代字符的方法将垃圾信息进行变形,以达到改变信息校验和、干扰基于内容过滤器对词条特征提取的目的。
噪声文字
在垃圾邮件中加入噪声文字以躲避过滤器的检查也是垃圾信息制造者经常采用的手法。该方法经常用于攻击基于统计学习方法的过滤器,如贝叶斯、支持向量机、最大熵过滤器等。根据所加入的噪声词的类型,这种方法可以进一步分为:随机文字攻击和好词攻击。
图片垃圾(Image Spam)
图片垃圾是将邮件的文本信息放在GIF或JPEG图片中,对垃圾邮件进行伪装。图片垃圾可使垃圾邮件避开基于内容的垃圾邮件过滤器的检测。
通常,图片垃圾中包含一些用来迷惑收件人的无意义的计算机自动生成的文字。
除了以上几种主要手段外,目前在电子垃圾邮件中还经常使用H T M L编码、JavaScript程序、主题欺骗等手段。
检测及过滤垃圾邮件之法
目前垃圾邮件占发送邮件的比例已经从1998年的10%上升到现在的92.3%。从垃圾邮件的发展历史以及上文的分析来看,垃圾邮件具有内容多样化以及技术复杂化的趋势。垃圾邮件与反垃圾邮件一直是一场博弈。为对抗垃圾邮件,国内外研究人员提出许多检测和过滤垃圾邮件的技术。
法律法规
目前,大多数国家政府针对垃圾邮件有相应的立法,并采取多种法律手段来反击垃圾邮件。但是对于大量的垃圾邮件,法律的作用是微乎其微的, 甚至由于只要遵守一定的规则, 就可以大量发送广告邮件——法律在一定程度上促进垃圾邮件的发展。协议的改进
协议的改进是指通过改变发送邮件的方式来过滤邮件,如:需要发送者的认证;按邮件发送量的大小收取费用;通过验证邮件是否来自合法区域及是否带有正确的密码来识别合法邮件。这些协议大多提供较完整的解决方案,却往往因为需要对现有的邮件协议进行升级或替换,应用部署受到限制,很难在电子邮件用户中推广。
过滤技术
对抗垃圾邮件最主要的技术是过滤技术,主要用于MDA(Mail Deliver Agent)和MUA(Mail User Agent)。典型的垃圾邮件过滤技术有:黑白名单、规则过滤、概率统计分类等。
1. 黑白名单过滤
黑白名单是一个简单有效而最为常用的过滤方法,国内外已成立权威性的反垃圾邮件联盟,提供实时的黑白名单,如中国反垃圾邮件联盟的实时黑名单RBL,包括近期中国国内的主要垃圾邮件发送源、中国国内动态分配地址等。
该方法的优点是对垃圾邮件处理能力的要求低,它能够节省大量的带宽、存储容量和处理时间。缺点是不够灵活,对垃圾邮件的判别准确度不高。
2. 基于规则过滤
通常也称之为启发式过滤技术,它是利用电子邮件半结构化的特点,先使用人工或者自动的方法总结出正常邮件或者垃圾邮件之间的共性,据此来生成一系列规则。设置一些过滤规则,这些规则通常有信头分析、群发过滤、关键词精确匹配以及邮件内容中的其他特征。当邮件到达或者发送邮件的行为产生时,通过查找已有的垃圾邮件的匹配模式来过滤垃圾邮件,这需要开发商不断地更新邮件规则。
基于规则过滤方法的优点是规则可以共享,较易理解和修改、易推广。其缺点主要在于:由于静态的规则集,系统不能自动调整邮件过滤器去识别新的垃圾邮件特征,需要开发商构造新的识别规则;更新速度慢。另外,基于规则的过滤技术能够得到较高的精度,但是如果过滤器调整为可以达到100%的精确度,就会产生很高的误检率,这是用户不能接受的。
3. 统计过滤方法
对邮件内容采用统计过滤方法具有过滤正确率高、速度快的特点,是垃圾邮件处理技术中最受欢迎的一种方法,具有广泛的应用前景。常见的统计过滤方法有:贝叶斯方法、SVM、KNN、神经网络等。
(1) 贝叶斯分类
贝叶斯分类方法是最常见的基于统计的垃圾信息过滤方法。贝叶斯分类方法基于贝叶斯定理,其原理是大多数事件都是相互依赖的,一个事件将来发生的概率可以从该事件从前发生的概率进行推断。应用同样的原理可以对邮件进行分类:利用已知的邮件,建立垃圾邮件和正常邮件关键词的贝叶斯概率模型,然后利用该模型对新邮件进行判断,判断邮件是否为垃圾邮件。M.Sahami等人早在1998年就验证贝叶斯算法在垃圾邮件过滤中成功的应用效果。而朴素贝叶斯分类算法及其变体的发展及其应用, 扩展了贝叶斯算法。
采用贝叶斯过滤方法的优点是:对训练样本进行一次扫描,再进行统计分析,具有较优的效率;占用的存储空间少。由于这样的优点,因此贝叶斯算法在现有的邮件产品中得到广泛的应用。
贝叶斯过滤方法也有其局限性,主要是对训练样本的依赖性大以及对中文邮件的处理效果不够显著。贝叶斯方法对于纯文本的垃圾邮件可以取得较高的过滤性能,但是对于包含多媒体以及非英文的邮件来说,贝叶斯方法具有其局限性。
(2) 自学习K近邻算法
K近邻(K-Nearest Neighbor, KNN)是常用的基于内容的文本分类方法。分类时直接将待分类文本与训练集合中的每个文本进行比较,根据前K篇相似的文本得到新文本的类别(最简单的情况可以根据K篇文本所属的类别数的多少来确定最后类别)。KNN的原理非常直观,也很容易理解,在文本分类中KNN常常能够取得好的结果。
它是基于要求的或懒散的学习方法,它所存放的样本,直到新样本需要分类时才建立分类,这使得训练集合随着多变的垃圾邮件而随时变化,有利于邮件精确识别。
(3)支持向量机SVM
支持向量机(Support Vector Machine,SVM)是在20世纪90年代发展起来的一种统计学习方法。SVM是建立在统计学习理论和结构风险最小化原理基础上的。它通过构造最优线性分类面来指导分类。SVM提供一个与问题维数无关的刻画函数复杂性的方法,它引入高维特征空间,将输入空间的非线性决策边界转化为高维特征空间的线性决策边界,利用线性函数的对偶核,解决了数值优化的二次规划求解问题,再根据有限的样本信息的模型的复杂性和学习能力之间寻求最佳折中。
SVM在解决小样本学习、非线性及高维模式识别中表现较好。SVM可直接用于线性可分问题,对于线性不可分的情形,可通过构造一个转换,将问题转换到一个新的线性可分空间中。SVM方法也具有局限性,其计算量大、速度慢、参数选择经验性强等缺点,不能得到很好的解决,通常需要结合其他方法进行弥补。
(4)神经网络
人工神经网络是在对人脑组织结构和运行机制的认识理解基础上模拟其结构和智能行为的一种工程结构,是基于生物学的神经网络基本原理建立的。
神经网络的优点在于具有较强的自适应性、学习能力以及大规模平行计算能力,其缺点是消耗大量时间、在处理在线或需快速反馈的问题时不宜使用此方法。
(5)其他过滤算法
由于垃圾邮件特征品类多、变化大、因此应对垃圾邮件的反垃圾邮件技术也多种多样。除上文所叙述的过滤技术外,国内外研究人员还研究其他反垃圾邮件过滤技术,例如:指纹技术、基于语义技术、签名、Boosting算法、 本体技术以及其他将多种过滤技术组合应用的垃圾邮件过滤技术等,这几种垃圾邮件的检测与过滤技术都有其自身的优点和缺点。随着作弊技术的不断发展和变化,垃圾邮件的检测与过滤技术也要不断地发展和变化。
(作者单位为华南理工大学信息网络工程研究中心)
[1]James John Farmer. 3.4 Specific Types of Spam .An FAQ for news.admin.net- abuse.email.http://web.archive.org/web/20040212175535/http://www.spamfaq.net/terminology.shtml#specific_spams.
[2]http://www.spamhaus.org/definition.html.
[3]John G.C. The Spammers' Compendium. http://popfile.sourceforge.net/SpamConference011703.pdf, 2007.
[4]B. Biggio, G. Fumera, I. Pillai, and F. Roli. Image spam filtering by content obscuring detection. in CEAS 2007 - The Third Conference on Email and Anti-Spam, 2007.
[5]美俄为垃圾邮件大户 每3秒出现一个垃圾网页. 2008年.http://tech.163.com/ 08/0421 /16/4A2M0JVU000915BF.html.
[6]新加坡将出垃圾邮件管理条例 违规邮件罚款.2007年.http://www.20ju. com/content/V4613.htm.
[7]M.Sahami,S.Dumais, A Bayesian approach to filtering junk E-Mail, Proceedings of the Fifteenth National Conference on Artificial Intelligence, Madison, pp.55- 62,July 1998.
[8]M.Sahami,S.Dumais, A Bayesian approach to filtering junk E-Mail, Proceedings of the Fifteenth National Conference on Artificial Intelligence, Madison, pp.55- 62,July 1998.
[9]陈治平.基于自学习K 近邻的垃圾邮件过滤算法[J]. 计算机应用,2005,(25)pp:1- 8.
[10]B. E. Boser, I. Guyon, and V. Vapnik. A training algorithm for optimal margin classifiers. In Proceedings of the Fifth Annual Workshop on Computational Learning Theory, ACM Press ,1992.pp:144-152.
[11]Weihong Liu,Weidong Fang.Adaptive Spam Filtering Based on Fingerprint Vectors. : Computing, Communication, Control, and Management, 2008. CCCM '08. ISECS.Aug.2008. pp: 384-388.