基于变异特征检测的中文垃圾邮件过滤研究

(整期优先)网络出版时间:2018-12-22
/ 2

基于变异特征检测的中文垃圾邮件过滤研究

吴秀梅王瑞英

吴秀梅王瑞英

国网新疆电力有限公司电力科学研究院

摘要:当前,垃圾邮件日益成为信息时代人们的一个心病,它具有反复性、强制性、欺骗性和不健康性等特点,严重影响着人们正常的工作生活。本文通过对比垃圾邮件的变化,以及对垃圾邮件制造者目的的分析,针对中文垃圾邮件变异的几个重要特性,提出一个提高垃圾邮件变异特征识别率的构想,对反垃圾邮件技术的研究有着一定的意义。

关键词:中文垃圾邮件;变异特征;特征提取

引言

2013年中国第二季度反垃圾邮件状况调查结果[1]显示中:国电子邮箱用户平均每周收到垃圾件数量为14.5封,占比37.20%;手机邮箱用户平均每周收到垃圾邮件8.5封,占比32.9%;企业邮箱平均每周收到垃圾邮件32.2封,占比36.2%。因此,研究邮件自动过滤方法十分重要[2]。

然而,由于垃圾邮件是在不断发展改变的,垃圾邮件的信息会进行不断的变异。随着时间的偏移,垃圾邮件的特征也会不断改变[3]。本文提出一个构想,在中文反垃圾邮件系统中加入拼音转换模块、繁简体转换模块和正则表达式匹配模块,使用比较多的标准库函数和优化算法,增强增强系统识别能力,较好地检测垃圾邮件的变异。

1垃圾邮件特征变异方式

垃圾邮件的变异方式主要可以分为以下三种:以逃避系统检测为目的的变异,伴随社会环境改变而发生的改变和随着社会发展而诞生的新类型的垃圾邮件。

1.1逃避系统检测的变异

反垃圾邮件系统最重要的目的不是为了清除垃圾邮件,而是为了让用户能尽可能地只收到正常的邮件。因此,垃圾邮件制造者一般都会尽量将垃圾邮件伪装成正常邮件。以企图绕过反垃圾邮件系统。垃圾邮件制造者的伪装包括邮件主题、正文和附件。邮件主题和正文大多数是文本的形式(近年来也开始有图片形式的邮件正文:

(1)邮件主题

用户在点击一封邮件的时候,首先都会看到邮件的主题,主题必须要足够吸引用户才能骗取用户点开邮件达到目的。主题不但要伪装得可以骗过反垃圾邮件系统,还要能够骗过用户。因此主题这部分的伪装相当重。

(2)邮件正文

用户在打开文件后,垃圾邮件的目的也就完成了。邮件的使命就是让收件人去查看信息。既然点开了邮件。垃圾邮件就没必要再去伪装了。但是在用户接收到邮件之前,必须经过反垃圾邮件系统这一关,因此,正文只需要能够骗过系统,让系统误以为是正常邮件。

(3)附件

附件比较特殊。本身是依附在邮件身上,用户在没打开附件之前是不会知道附件是什么内容。垃圾邮件发送者需要在附件名字上动手脚来骗取用户的信任。附件信息的载体可以分为文本、图片、多媒体等。图片,多媒体的伪装很复杂,检测难度很大。故本文只是研究了基于文本的中文垃圾邮件特征变异检测。

在文本载体上,中文垃圾邮件进行的伪装主要有以下几种:

(1)添加混淆字

在词或者句中添加混淆的符号或者文字。例如:“免费”可以变成“免费”,“免。。费”,“免|费”,“免空格费”,“免to费”等。通过在文字中加入混淆字符后,人还是能辨别的,但是反垃圾邮件系统就辨别不了了。反垃圾邮件系统在读取文本的时候。是以字符串的形式。加了混淆字符后,整个串都变了,是不能直接辨别了。

(2)修改信息

将词的字或者句子的词用别的字或者词来替换。例如:“中奖”可以修改成“中jiang”,“忠奖”,“zhongjiang”等,用户还是能够辨别出原来的意思的,但是反垃圾邮件基本上是辨别不出来的。整个都变化了,如果不对匹配算法加以修改,根本匹配不出来。

(3)字符集变换

中文字符集在大陆是用简体,而在台湾、香港都是用繁体的。当简体跟繁体混合在一起的时候,也是能够使得系统混淆的。简体跟繁体编码上是不同的,哪怕是代表同个意思但是在系统层面来说是属于两个不同的字。

(4)拼音汉字互换

这种也是中文邮件特有的。有时候将某个中文词变成拼音,例如:“发票”,“fa票”,“fa票”,“发票”。假设有n个字,就能做出种组合。而且,整个编码方式都变了。一个中文字符在GBK编码下是两个字节。而在utf-8编码下可能是1~3个字节,不同字所占大小不同。但是,一个字母是用一个ASCII字节表示的,而拼音是由几个字母拼凑的,并且字不同,拼音也不同。因此,当将一个中文字符变成拼音的时候,不仅字符集变了,连组合都发生变化了。

以上几种方式都不只是单一出现的。更多的是组合出现的,增加了反垃圾系统从文本中提取到想要的信息的难度。

1.2伴随社会环境变化的改变

社会在不断发展,不断有新的东西产生,旧的东西被淘汰掉。这种必然的现象也会显示在垃圾邮件中。一个简单例子:“电子游戏机”,“小霸王”,“PSP”,“Xbox”等。这些词都是游戏机,但是出现时间不同。假如发件人是游戏广告邮件。以前,“电子游戏机”,“小霸王”,在游戏广告邮件中出现的频率会比较高,因为后面那些名词可能在当时还没存在。而现在,“电子游戏机”,“小霸王”,基本上会被“PSP”,“Xbox”这些新生的给代替掉了。时代在不断地改变。因此垃圾邮件里面的内容会随之不断地改变。几十年前的邮件过滤系统根本适应不了现在的改变。

1.3伴随社会发展的进化

当社会在不断的发展时,各类事物不断摩擦冲击,很容易产生全新的事物。例如电子计算机,是数学跟电子电路结合的产物,但是又不同于两者,是一个全新的东西。例如平板电脑。在第一部平板电脑诞生之前,根本不存在“平板电脑”这专有名词。垃圾邮件上也不会存在这一名词。当时社会改变后,平板电脑活跃起来后,相应地,与平板电脑相关的垃圾邮件也多了。但是在平板电脑诞生前,没人能够预料到这种东西,因为这不是慢慢地改变,而是突然的质变,是一个从无到有的过程。

2垃圾邮件变异特征检测方法

变异的垃圾邮件一般是缔造者根据当前主流的特征判断有针对地修改垃圾邮件,因此需要周期性地分析用户垃圾邮件分类结果,检测出垃圾邮件特征各种各样的变异,完善特征提取中的特征变异检测算法。我们加入拼音转换模块,繁简体转换模块,中文分词模块以及干扰字符处理模块,使用了较多的标准库函数,优化算法以及正则表达式等,增强了系统的识别能力。

3关键模块

关键模块包括拼音转换模块、繁简体转换模块和正则表达式匹配模块。

(1)拼音汉字转化

近年来垃圾邮件通过拼音汉字互换来躲避反垃圾邮件系统的检测。通过算法可以将中文转化成拼音后进行匹配,从而去排除拼音中文互换混搭的干扰。将需要转化的从eml邮件中解码出来的字符流,传入模块。首先模块会将字符流进行过滤,将非中文字符过滤掉,剩下的是一连串的纯中文字符流。将字符流转化成GBK格式的字符流,然后分割字符成单独的中文汉字。然后将每个中文汉字进行判断、匹配时候的拼音,然后将拼音与过滤掉的字符组合在一块,输出。这样便可以将中文字符流转换成拼音字符流了。

(2)繁体简体转化

不同地区的中文书写习惯不同,使用不同字体。简繁体混用不会影响用户的阅读。但是对反垃圾邮件系统却存在一定的干扰作用。在系统层面来考虑的话,简体跟繁体其实是两个不同的字,因为它们有不同的值。本构想认为通过算法可以将繁简体转换成统一的版本。

(3)正则表达式

正则表达式[5]是一种非常强大的对字符串操作的一种逻辑公式,使用定义好的一些特定字符,及这些特定字符的组合,组成一个“规则字符串”来对字符串进行匹配。正则表达式非常灵活,功能也非常强大,可以用很简洁语句匹配很复杂的字符。

例如要过滤的字符串是:“*(^EWFSSD发^^^^^^^^&*()*票&&&&##@#联2422里324~!@#$%#@%#^^&*++()_+<>?;':{}|-=”

正则表达式为:

"[\\pP|~|$|^|<|>|\\||\\+|=]*"

经过正则表达式匹配模块后是:

EWFSSD发票联2422里324

4结语

本文研究了中文垃圾邮件变异特征的监测方法,应用于中文反垃圾邮件系统,能根据垃圾邮件制造者伪装得的邮件特征变异,采取有效的监测算法有效地从变异的垃圾邮件中提取到邮件特征。但是,本构想只是针对已有的特征进行变异特征检测,还需要进一步研究如何从变异的垃圾邮件中找到对分类有用的新特征。

参考文献:

[1]中国互联网协会反垃圾邮件中心,2013年第二季度中国反垃圾邮件状况调查报告[EB/OL].

[2]Caruana,G.andLi,M.2012.ASurveyofEmergingApproachestoSpamFiltering[J].ACMComput.Surv,2012,44(2),Article9

[3]BlanzieriE.,BrylA.ASurveyofLearning-BasedTechniquesofEmailSpamFiltering[J].Artif.Intell.Rev.,2008,29(1):63~92

[4]CalaisP.,GuedesD.,MeirajrW.,etal.SpammingChains:aNewWayofUnderstandingSpammerBehavior[C].InProceedingsofthe

6thConferenceonEmailandAnti-Spam(EAS),2009

[5]沙金.精通正则表达式.北京:人民邮电出版社,2008