垃圾邮件的识别和过滤方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1垃圾邮件识别和过滤的方法T大炮北京理工大学计算机学院,北京100081(1111111111@bit.edu.cn)MethodsforIdentifyingandFilteringJunkMailorSpamTBiggun(Class07111301,SchoolofComputerScience,BeijingInstituteofTechnology,Beijing100081)AbstractIdentifyingandFilteringSpamisanimportantresearchsubjectincomputernetwork.Inthisthesis,Ihavestudiedthehistoryofspamfilteringtechnology,whichmainlyincludesthefirstgenerationofrule-basedfilteringtechnology,thesecondgenerationofcontent-basedfilteringtechnologyandthethirdgenerationofbehavior-basedfilteringtechnology.1.Rule-basedfilteringincludesIPaddressbasedfiltering,mailheaderbasedfiltering.2.Content-basedfilteringincludesBayesianfiltering,Memory-basedmethod,decisiontree,Boostingmethod,SupportVectorMachine(SVM),etc.3.Behavior-basedfilteringincludesEmaildatastreambasedfiltering,mailheaderbasedfiltering,senderreputationbasedfiltering,mailfingerprintbasedfiltering,behavioralcharacteristicsweightedbasedfiltering,etc.Thespammers’commonspuriousmethodsaresummarized.Throughthereferencetolargeamountofanti-spamdocumentsanddatafromhomeandbroad,ananalysisismadeonexistinganti-spamtechniquesandinparticularthecontent-basedspamfilteringmethods.Keywordsspamfiltering;rule;content;textcategorization;NaïveBayes;behavior摘要垃圾邮件识别和过滤是计算机网络领域的一个重要研究课题。垃圾邮件识别和过滤目前已经发展出了三代技术,第一代过滤技术是基于规则的,例如:基于IP地址、基于邮件头的过滤技术。第二代过滤技术是基于内容的,例如:贝叶斯分类算法、Memory-Based方法、决策树、Boosting方法、支持向量机等方法。第三代过滤技术是基于行为的,例如:基于邮件数据流、基于邮件头信息、基于发送方信誉、基于邮件指纹、基于行为特征加权的决策树等过滤方法。本文归纳总结了当前垃圾邮件发送者经常采用的欺骗手段和方法,并参阅国内外大量反垃圾邮件文献和数据,对已有的垃圾邮件技术作出分析和总结,尤其是对基于内容的垃圾邮件过滤方法进行了研究。关键词垃圾邮件过滤;规则;内容;文本分类;简单贝叶斯;行为随着互联网的发展,垃圾邮件常常让人头痛不已,最新报告称美国为垃圾邮件第一大国,中国排名第三(图1)[1]。垃圾邮件问题如今已经成为一个社会热点,近些年来,研究人员们提出了很多垃圾邮件识别和过滤的方法。这些方法的发展经历了三代,第一代过滤技术是基于规则的,例如:基于IP地址、基于邮件头的过滤技术。第二代过滤技术是基于内容的,例如:贝叶斯分类算法、Memory-Based方法、决策树、Boosting方法、支持向量机等方法。第三代过滤技术是基于行为的,例如:基于邮件数据流、基于邮件头信息、基于发送方信誉、基于邮件指纹、基于行为特征加权的决策树等过滤方法。本文归纳总结了当前垃圾邮件发送者经常采用的欺骗手段和方法,并参阅国内外大量反垃圾邮件文献和数据,对已有的垃圾邮件技术作出分析和总结,尤其是对基于内容的垃圾邮件过滤方法进行了研究。2图1世界垃圾邮件最多国家排名Fig.1CountryRankingonSpam1基于规则的垃圾邮件过滤1.1基于IP地址的垃圾邮件过滤方法基于IP地址的过滤技术是目前使用最为广泛的一种过滤技术,包括基于网络的IP地址过滤技术,如BGP和路由器访问控制列表;基于主机的IP地址过滤技术,如TCPWrappers和主机路由表的过滤;以及目前最常用的IP地址黑、白名单的过滤[2]。黑白名单技术基于这样的界定:白名单中的任何邮件都是合法邮件,而黑名单中的任何邮件都是垃圾邮件。故通常会收集一个黑白名单的列表,这个列表里的内容可以是电子邮件地址或邮件服务器的域名、IP地址等,收到邮件时进行实时检查,将符合黑名单的邮件放入垃圾文件夹中。黑白名单一般由权威的组织提供,如中国互联网协会等。个人也可以根据需要调整自己的黑白名单。基于IP地址的过滤技术实现起来简单方便,可以应用与多个层次。但是缺点是可能会伤及无辜,因为有一些垃圾邮件是通过别人的服务器来转发的,这样就会将别人无辜的服务器给屏蔽掉。所以,黑白名单具有一定的局限性。1.2基于邮件头的垃圾邮件过滤方法基于邮件头的过滤技术主要是使用正则表达式对邮件头进行关键字的匹配,检查发件人的信息是否符合过滤要求,根据匹配结果决定阻塞或者接收具有特定单词或短语的邮件。注意理解以下几点有助于识别含有伪造内容的信头。(1)收件人地址和发件人地址一般的MUA是从用户在SMTP的DATA命令后输入的数据中提取From、To等字段的内容的,但是如果发件人的MUA不是按照这个逻辑工作,或者发件人故意让这两个字段的内容与SMTP会话时使用的MAILFROM和RCPTTO的内容不一致时,就会发生发件人是自己的名字或者收件人不是自己的名字等情况。(2)关于OpenRelay如果发件人使用的不是自己的服务器,而是使用别人的服务器的OpenRelay的漏洞,这样就会给追踪邮件的真实来源带来困难。如果一个邮件服务器和发件人、收件人都不属于同一个域,就应该怀疑是否使用了OpenRelay。(3)Received信息邮件头中的Received信息是由SMTP服务器自动加入的,发送者无法干预,因此,通过比较Received域,特别是第一次经过的邮件服务器的Received域,可以识别出伪造的发件人地址。3但是,规则匹配的方法也有不妥之处,其缺点是规则是人工指定的,需要花费时间和精力去收集信息,更新信息,这无疑是一项持久繁琐的工作。2基于内容的垃圾邮件过滤由于上述基于规则的过滤方法的缺陷,故发展出一套新的方法:基于内容的垃圾邮件过滤方法。对电子邮件的内容(如正文)进行分析,识别出垃圾邮件。这就将垃圾邮件过滤和文本分类和信息过滤联系起来了,将文本分类和信息过滤中常用的方法引入垃圾邮件过滤任务中。这种内容过滤技术提供了更为准确的邮件过滤方法,可以自动获取垃圾邮件的特征,并即时捕捉到垃圾邮件特征的变化[3]。2.1垃圾邮件过滤与文本分类文本分类的首要任务是根据预先确定好的类别体系,将待分类文本分到对应的类别中去,具体来说,就是将邮件分为合法邮件和垃圾邮件。我们可以将电子邮件经过处理获取其正文的文本内容,利用文本分类的算法识别垃圾邮件。但是垃圾邮件分类与一般的文本分类也有很多不同之处。主要有:(1)对文本分类,每个类别的内容一般不会经常改变。比如说,一个文本属于科技类,将来也还会属于科技类。而垃圾邮件的类别是跟用户的个性化需求相关的,用户对于垃圾邮件的判别可能会随着时间的推移而改变的。同时,垃圾邮件的形式和内容也在不断地变化,因此垃圾邮件过滤中要向用户提供自学习、反馈的机制,以便适应新情况。(2)无论对于邮件服务器还是对用户客户端,垃圾邮件过滤对时效性的要求比较高,因此要求必须采用高效的分类算法。(3)在垃圾邮件过滤中我们最不愿看到的就是将合法邮件误判为垃圾邮件,这就要求过滤算法具有较高的准确率。2.2垃圾邮件过滤与信息过滤信息过滤(InformationFiltering)是从动态的信息流中找出与用户兴趣需求相关的信息的过程[4]。以文本过滤为例,将新到达的文档与用户的兴趣相匹配,把系统认为与用户相关的文档推送给用户,用户给予反馈,说明被推送的文档中有哪些是他感兴趣的,哪些是不感兴趣的。系统从反馈中自动更新用户的兴趣。文本分类可以看做是一个反馈学习的二值分类问题。信息过滤系统的一般组成为图2所示。学习模块用户兴趣建模用户反馈过滤模块用户兴趣与用户兴趣相关的信息预处理信息源图2信息过滤系统Fig.2InformationfilteringSystem可以认为垃圾邮件内容过滤是这样的一个信息过滤问题:初始时,提供一定的垃圾邮件和非垃圾邮件给过滤系统学习,得到过滤模型;过滤的信息源是动态的邮件流;用户可以指定自己的垃圾邮件集和非垃圾邮件,供系统反馈学习,建立新的过滤模型。2.3文本分类简介文本分类的任务是:在给定的类别体系下,根据文本的内容,将其自动映射到指定的类别中去。类别体系一般由人工按照应用需求构造。基于内容的文本分类需要指导,即一定数量的已分类好的训练文本或者实例,分类系统从训练文本中获取必要的信息,构造分类器。因此文本分类一般都由训练过程和分类过程两阶段构成(图3)。文本分类技术的应用很广泛,如新闻网页的分类、电子图书的分类等等。4训练文本待分类文本文本预处理特征选择构造分类器文本预处理分类和输出特征集合分类器训练过程分类过程图3文本分类器的一般模型Fig.3ModelofTextCategorization在文本处理领域,通常采用向量空间模型(VSM,VectorSpaceModel)表示文本,一篇文本可以表示为一个n维文本向量(𝑤1,𝑤2,…,𝑤𝑛),其中,𝑤𝑖(𝑖=1,2,…,𝑛)表示第𝑖个特征项的权重,𝑛是特征项的个数,特征项可以是字、词、短语或某种概念,本文中采用词作为特征项。权重有多种计算方法,最简单的是布尔权重,即权重为1(该特征项在文本中出现)或者0(该特征项没有在文本中出现)。更通常的情况下,VSM中的权重计算采用词频(TF,TermFrequency,表示该特征词在文本中出现的次数)和文档频次(DF,DocumentFrequency,表示出现该特征词的文档数量)的某种组合。解决了文本表示问题之后,我们可以将文本分类抽象为一般的描述:设类别总数为|𝐶|,𝑐𝑗表示第𝑗(𝑗=1,2,…,|𝐶|)类,提供给分类器的训练集(训练集中的文本都已经过人工分类)包含|𝐷|篇文本,特征空间(𝑡1,𝑡2,…,𝑡𝑛),𝑛为特征数量,每篇文本表示成𝑑𝑖=(𝑤𝑖1,𝑤𝑖2,…,𝑤𝑖𝑛),𝑖=1,2,…,|𝐷|。一篇待分类文本泛化表示为𝑑𝑥=(𝑤𝑥1,𝑤𝑥2,…,𝑤𝑥𝑛),任务是将𝑑𝑥分到相应的类别中去。2.4特征选择方法训练集中包含了大量的词汇,如果把这些词都作为特征,将带来一系列问题。首先是向量的维数太大,给计算带来了非常大的压力,存储空间大、处理速度慢。其次是这些词中实际上有很大一部分是与类别无关的,对分类作用不大。因此,我们要降低向量的维数,选择那些有代表意义的词作为特征。先对文本进行预处理,去掉那些常用的对分类用处不大的词(称为停用词,stopword),然后采用某种特征选择方法对所有的词排序,选出排在前面的一定数量的词作为特征。常用的特征选择方法有[5]:2.4.1文档频

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功