(计算机应用技术专业论文)基于用户的垃圾邮件过滤系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于用户的垃圾邮件过滤系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于用户的垃圾邮件过滤系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于用户的垃圾邮件过滤系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于用户的垃圾邮件过滤系统的设计与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机应用技术专业论文)基于用户的垃圾邮件过滤系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 现代意义上的垃圾邮件产生于1 9 9 4 年,当时美国人c a n t o r 和s i e g e l 把一封 “绿卡抽奖”的广告信发到他们可以发现的每个新闻组,这在当时引起了轩然大 波,他们的“邮件炸弹”让许多服务商的服务处于瘫痪状态。十年间,网络和电子 信息交换得到了蓬勃发展,而垃圾邮件像爆发的洪水正在侵袭全球互联网。 本文首先介绍了垃圾邮件的定义和危害。然后在简要介绍邮件传输相关协议 和邮件结构的基础上,分析了产生垃圾邮件的根源。继而我们对反垃圾邮件的现 状和主要技术进行了介绍和分析。详细介绍了两种基于统计学的算法:贝叶斯算 法和支持向量机算法,并对它们在邮件过滤中应用的可操作性和实现进行了描 述。结合中文反垃圾邮件的需要,我们还对分词词典的设计和中文分词的方法进 行了相关的探讨。 根据客户端反垃圾邮件的需要,在参照相关软件的设计方案和功能实现基础 上,我们详细分析并设计了这套基于邮件过滤的插件系统。在系统分析和设计过 程中,我们使用了面向对象的方法。文中讲解了该系统的整体架构设计,功能模 块设计,及所使用的主要算法和技术。特别对贝叶斯与支持向量机技术进行了深 入的探讨和研究。 文章最后,我们对这套系统存在的不足之处做了总结,提出了在今后有待完 善的之处。同时,我们对邮件过滤的前景进行了展望。 关键词垃圾邮件;贝叶斯过滤:支持向量机;中文分词 a b s t r a c t m o d e ms p a mw a sb o mi nt h ey e a r1 9 9 4 c a l l i o ra n ds i e g e lc o r n e sf r o mu ss e n t 叫ta 呲s s a g et oa l l6 ,0 0 0n e w s g m u p so nt h ei n l e m e to 髓r i n ga n y o n ew h or e p l i e da s s i s t a n c ei ng e t t i n g au s ,g r e e nc a r d ,t h j sa f f a i rr e s u l 招i nan e 斜o r kp a r a l y s j sa n d h e naw i d e s p r e a d8 n g e ri np 曲h c d i l r i n gt h ep a s tt e ny e a f s ,as i g n i f i c a n td e v e l o p r n e n th a sb e e nm a d ei nn e t w o r k a n de l e c t m n i c m e s s a g ee x c h a n g e ,m e a n w h 订es p a m ,j u s t1 i k ean o o d ,i si n r o a d i n go u rn e t w o r ky e a rb yy e a l a b o v ea 1 1 ,i nt h i sa r t i c i e ,w ep u tf o n a r dt h ed e f i n i t i o na n dd e v a s t a t i o no fs p a m ,t h e nw e i n 订o d u c es o m op r o t o c o l sr e i a t e dt oe m a nt r a n s p o r tb r i e f iy b yw h i c hw et o u c hu p 锄r e a s o n so f s p a m t h e n 、v ep u to u fa t t e n t i 彻o nt h e 锄e n ts t a t u sa n dp o l i c i e so fa n t i s p a m a 血e 刑a r d s ,w e c o n c e n t r a t eo nt w of i l t e r i n gp 0 1 i c i e sb a s eo ns t a t i s t i c sk o w n l e d g en a m e d b a y e sa i l ds u p p o nv e c t o r m a c h i n e w ed e s c r i b eh o wt 0u s et h e s et w om e t h o d si ns p a ma l t e ri nd e t a i l c o n s e q u e n y ,w et a l k a b o u tw o r dd i c i i o n a r ya n dw o f ds e g m e n t a t i o np o i i c ya c c o m p a n yw f t he m a ni nc h i n e s e i no r d e rt om e a s u r eu pt ot h ed e m a n d so fa n t i s p a mi nt h ec l i e n ts i d e ,w ea n a l y s e 柚d d e s i g l l t h i s 印帅f i l t e r i n gs y s t e mb a s e d0 nt h ec l i e n ts i d e d u r i n gt h ep e r i o do fs y s t e ma 1 1 a i y s i sa n d d e s i g n ,w et r yu s i n gt h eo o pm e t h o d i nt h i sa f t i c l e ,w ei u u s t r a t e t h es o l u t i o n o fi h es y s t e m a r c h i t e c t u r e ,t h ed e s i g n o ff u n c t i o n a l m o d e l ,a n d t h e m a 曲 a l g o r i t h e m a n d f j t e r i n g t e c h n i q u e e s p e c i a l ly ,w et a k ea d a n v c e dr e a s e r c ho nb a y e sa n ds v m a tt h ee n do ft h i sa r t i c l e ,w ep o i n to u td e f i d e n c i e si no u rs o f 【w a r ea n di i s ts o m ep l a nt o o v e r c o m et h e mj nt h ef u t u r e a tl a s tw em a k eap r e c i s i o no ff u n h e ra n t i s p a m k e y w o r d ss p a m ;b a y e s i a nf i l l e r ; s u p p o nv e c t o rm a c h i n e ( s v m ) ;c h i n e s ew o r ds e g m e n l a t i o n 1 1 1 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名: 楫蝴 日期: 2 6 、6 - j 2 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印l 牛,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名庸宏唯 一名:篮丝蹶丛。n 第1 章绪论 据全球范围统计,垃圾电子邮件近年来一直在不断地增长。2 0 叭年垃圾邮 件仅占所有电子邮件总量的7 ,到2 肿2 年即达到2 9 ,截至2 0 0 4 年,这个比例 已超过了5 1 ,垃圾邮件的数量已超过正常电子邮件的数量。据中国互联网协会 和c n n i c 联合组织发布的中国互联网发展报告显示,中国网民在2 0 0 4 年7 月份每周收到止常电子邮件为7 2 封,垃圾邮件数却达到8 9 封。其中出现种类 最多的是医疗和药品娄广告,从语言类别上划分最多的是英文,中文紧跟其后, 越来越多的垃圾邮件带有“中国制造”的标记。 1 1 课题研究背景 1 1 1 垃圾邮件的定义 垃圾邮件国际上称为s p a m ,s p a i i l 是美国的一种肉质罐头,由h o m d 公司 生产。而作为垃圾邮件邮件代名词的来源是m 0 1 yp y t h o n 的著名的歌曲 s p a l l l 一l o v i l l g v i l 【i n g ss k e t c h 。1 9 9 4 年1 2 月开始指代垃圾邮件,比较正式的名称为 u n s 0 1 i c i t e db u j ke m a j l 。简称u b e 。 垃圾邮件就是那些你并不希望收到,并且也没有订阅过,却被人利用电子邮 件的特点强行塞八你的邮箱的商业广告,产品介绍,发财之道等内容的电子邮件。 垃圾邮件一次发给很多人,在i n t e m e t 上同时传送很多副本。通常归为两类:强 行塞入的商业邮件和大体积邮件炸弹。 2 0 0 2 年5 月2 0r ,中国教育和科研计算机网公布了关于制止垃圾邮件的 管理规定,其中将垃圾邮件的定义为:凡是未经川户请求强行发到用户信箱中 的任何广告、宣传资料、病毒等内容的电子邮件,一般具有批量发送的特征。 中国互联网协会在中国互联网协会反垃圾邮件规范中是这样定义坊圾邮 件的:本规范所称垃圾邮什,包括下述属性的电子邮件: 收件人事先没有提出要求或者同意接收的广告、电子刊物、各种形式的宣传 品等宣传性的电子邮件; 品等宣传性的电子邮件; 北京工业大学工学坝士学位论文 _ 收件人无法拒收的电子邮件: 一隐藏发件人身份、地址、标题等信息的电子邮件; - 含有虚假的信息源、发件人、路由等信息的电子邮件。 垃圾邮件的存在有其必然性,互联网作为新兴的媒体受到商家越来越多的青 睐,电子商务兴起的同时,电子广告掀起狂潮。邮件广告价格便宜,操作简单。 发送1 0 万封电子邮件的成本低于2 0 0 美元,花1 0 0 美元就可以买到1 0 0 万个邮 件地址列表。某些政治团体则利用可以匿名发送的特点,肆无忌惮的发放言论。 一次垃圾邮件广播耗用i s p 将近3 0 的网络资源。邮箱主人必须花费大量处 理垃圾邮件的时间。其内容除商业广告外,还有一些老鼠会式的流言传闻,对社 会有百害而无一利。欧美等国每年花费在处理垃圾邮件的费用均以亿计。垃圾邮 件已经到达了不可不治的地步。 1 1 2 垃圾邮件的危害 首先,垃圾邮件危害了互联网的发展。在互联网上传输的垃圾邮件占用了大 量的传输、存储和运算资源,不但造成网络资源浪费,且一旦垃圾邮件占到互联 网总数据流量的三分之一,就会造成巨大的存储需求,这对信息安全系统的有效 性形成重大挑战。同时,垃圾邮件还损害了i s p 的市场形象,造成无形资产流失。 据悉,国外许多邮件服务商曾以垃圾邮件过多为由,一度封杀了国内一些i s p 的 邮件服务器i p 地址,致使中国用户蒙受了不可估量的损失。 其次,垃圾邮件损害了用户的利益。由于垃圾邮件具有反复性、强制性、欺 骗性、不健康性和传播速度快等特点,严重干扰了个人的f 常生活,浪费了用户 的时间、精力和金钱。 再次,垃圾邮件危害了现实社会。少数别有用心者利用垃圾邮件散播各种虚 假信息或有害信息,严重危害了社会的稳定。 有关垃圾邮件的危害不胜枚举,我国是受垃圾邮件危害比较严重的国家。以 2 6 3 为例,在2 6 3 自己做的一项调查中,目前该邮件系统每天接收电子邮件约1 0 亿封,垃圾邮件却占到了9 3 5 ,约9 3 亿封。垃圾邮件浪费了许多优秀的网络 资源,增加了软,硬件设备和专署人力资源。 卜面为中国互联网协会于2 0 0 5 年1 0 月针对广大互联网用户和专业从业人员 第1 章绪论 进行的一次问卷调查,用户收到的垃圾邮件种类和比例如图1 1 所示。 舟上购柚 胃上曝毽 情趣用品 i t 产晶推销 盯房,盯摹,推游 亚活种套 色情暴力 销量商韭信皂 病毒 卷诈信息 泉蕾帽若 # 他广告信息 4 3 17 i 吕j 3 暑 l j 3 j l i 4 7 2 0 , 图1 1 个人用户收到的邮件种类 f i g u r e l 1e m a 订t y p er e c e i v e db yp e r s o n a lu s e r 1 2 国内外研究现状 反垃圾邮件历史由来已久,以下是反垃圾邮件中的一些标志性事件: 1 9 7 5 制定r f c 7 0 6 关于垃圾邮件 1 9 9 5 出现邮件滥用资源列表 - 1 9 9 6 反垃圾软件出现:s p a m b l o c k 1 9 9 7 成立反垃圾组织;c a u c e - 1 9 9 7 著名邮件系统s e n d m a i l 8 9 3 采用垃圾黑名单技术作为缺省配置。 _ 1 9 9 8 召开i s o c 关于垃圾邮件的互联网社区会议。 _ 1 9 9 9 制定r f c 2 5 0 5 关于s m t pm r i a 的反垃圾邮件建议标准。 北京工业大学工学硕士学位论文 当前,世界主要的反垃圾邮件组织:m a p s 、o r b s 、s 队m c o p 、s p a m h a u s 和c a u c e 等。 在反垃圾邮件技术方面,早期主要采用安全认证的方法和基于规则的方法, 而当前最主要研究热点是基于统计的方法,即通过对已有邮件的统计学习来获得 垃圾邮件与合法邮件的不同特征,并通过这些特征对新邮件进行区分。目前,垃 圾邮件的过滤技术已从最早的关键词过滤和简单验证过滤发展到基于规则的过 滤和基于机器学习的内容过滤。技术的发展要求现在的过滤器有渐增学习能力, 能够在渐增学习的过程中抓住垃圾邮件的概念漂移。因为垃圾邮件的内容和面用 户兴趣经常发生变化,使得垃圾邮件概念发生漂移;此外,由于正常邮件被错分 为垃圾邮件是不可接受的,这种错分的代价远远大于垃圾邮件错分为正常邮件的 代价,因此,过滤器还要引入邮件错分代价框架。由多过滤器的集成f e n s e m b l e l 技术,通过对多个同质或者异质过滤器的集成,根据不同的错分代价采用不同的 过滤器做出不同的分类决策,从而提高垃圾邮件过滤的准确率和可靠性。 1 9 9 8 年s a h a m i 将朴素贝叶斯n b ( n a i v eb a y e s ) 方法用于垃圾邮件过滤。后来, 越来越多的机器学习方法被用于垃圾邮件过滤,特别是很多文本分类的方法可以 直接用于垃圾邮件的过滤问题中,比如启发式规则、潜在语义索引l s i ( h t e n t s 锄a n t i ci i l d e x ) 技术、支持向量机s v m ( s u p p o r tv e c t o rm a c h i n e ) 方法、基于实例的 学习( i n s t a n c e - b a s e d ) 方法( 包括最近邻方法和基于案例的推理) 以及最大墒方法等 等。朴素贝叶斯过滤器是其中非常简单有效的方法,在商业反垃圾邮件软件中得 到了广泛的应用。它的本质是一种分类方法,将垃圾邮件和正常邮 牛分为两类, 通过对训练样本库的分析,得到各特征词在垃圾邮件和正常邮件中分别出现的初 始概率。对于新到邮件,首先抽取特征词,根据训练样本库中学习的概率计算新 到邮件分类为垃圾邮件或者正常邮件的概率。同时,也将该邮件放入训练样本库, 以便不断修正初始概率。朴素贝叶斯过滤器的准确性相当高,但是它的缺点是需 要维护训练样本库,而这个样本库通常是需要用户的参与。变化的方向为从单一 关键词到关键词链,从线性到非线性,从单一用户到综合多用户,从客户端到服务 器。 j a m e sc l a r k 提出基于神经网络的自动邮件过滤,同时比较了用i g 与v 对特征 选取的影响,还讨论了贝叶颠、k 近邻等算法的过滤效果;另外也有研究了通过 使用邮箱别名技术实现对固定邮箱地址的保护,通过针对不同用途公布不同的邮 4 第l 章绪论 箱别名,和别名的使用时间、邮件数量、使用期限等的限制,来达到消除垃圾邮 件的目的。 1 3 常用防垃圾邮件技术 d r n e a l 衙a w e t z 在a m t i - s p a ms o l u t i o n sa n ds e c u r i t y 文中将反垃圾邮件技术作 了非常好的分类。当前的反垃圾邮件技术可以分为4 大类:过滤器( f j l t e r ) 、反 向查询( r e v e r s el o o k u p ) 、挑战( c h a l l e n g e s ) 和密码术( c r y p t o g r a p h y ) 【1 】。这些解决办 法都可以减少垃圾邮件问题,但是它们也都有一定的局限性。下面是关于目前所 用到的防止垃圾邮件的主要技术的描述。 1 3 ,1 过滤器 1 _ i p 黑名单 黑名单( b l a c kl i s t ) 和白名单( w h i t el i s f ) ,分别是已知的垃圾邮件发送者或可 信任的发送者i p 地址或者邮件地址。基于i p 等的过滤主要用在邮件传输代理模 块上。现在有很多组织都在做b l ( b l o c kl i s t ) ,将那些经常发送垃圾邮件的i p 地址 ( 甚至i p 地址范围) 收集在一起,做成b l o c k l i s t 。但是i p 黑名单不可能列出全部 的垃圾邮件发送者的i p ,另一方面某些组织现在故意将一些无辜的邮件服务器 列出了黑名单中,导致很多内容正常的邮件不能发送出去。 2 r b l 实时黑名单 r b l s 是真实的反垃圾邮件技术,它简单的维护一个发送垃圾邮件的网址,以 阻止垃圾邮件的继续发送。 这种技术的缺点是,很容易被绕过。比如改变i p 地址或者利用第三方的服 务器来发送垃圾邮件。同样地,域名很容易被获得并被垃圾邮件发送者利用,因 而不能完全依赖它来判别垃圾邮件。 3 词语过滤 词语过滤是种简单的阻止大部分垃圾邮件的方法,识别包含特定关键词的 所有邮件。它的优点是简单,易构造。缺点是方法比较原始,过滤器要经常升级 维护,否则易产生误报现象。 4 发件人邮件地址列入黑名单 北京工业大学工学硕士学位论文 目前很多邮件接收端都采用了黑白名单的方式来处理垃圾邮件,这是一种最 简易的阻挡技术。由用户整理一个发件人地址的黑名单,阻止这些发件人地址进 入企业网络。 缺点是垃圾邮件发送可以这会生成许多的虚假发件人邮件地址,要维护一个 实时更新的发件人邮件地址的黑名单并正确阻断是很困难的。 5 具有规则的评分系统 它是比词语过滤更为复杂的垃圾邮件过滤技术。它也被称为人工智能( 甜) 系 统,其规则的合适评分是通过对大量的合法和非法邮件的综合分析得出的。在对 一封邮件应用了各项规则之后,生成一个分值来表示其为垃圾邮件的可能性。它 可以设置上百条规则,包括对邮件头的处理、对邮件内容的处理及对邮件结构的 处理等。每条规则都对应一个分值( 可正、可负) ,每封信件的分值就是所匹配 规则的分值之和。如果分值为负,表示这封信件是正常的;相反,如果分值为正, 则表示信件有问题。如果超过了某个默认的分值,过滤器就会标识其可能为垃圾 邮件,然后交由用户做出最终抉择。 它的缺点和词语过滤的方式一样,为使规则有效,必须经常更新规则。 6 贝叶斯过滤器 在过滤器中,现在表现最好的应该是基于评分( s c o r e ) 的过滤器,因为我们很 容易就可以明白对付狡猾的垃圾邮件,那些黑白名单、关键词库或者h a s h 等 过滤器是多么的简单。评分系统过滤器是一种最基本的算法过滤器,也是贝叶斯 算法的基本雏形。它的原理就是检查垃圾邮件中的词或字符等,将每个特征元素 ( 最简单的元素就是单词,复杂点的元素就是短语) 都给出一个分数( 正分数) , 另一方面就是检查正常邮件的特征元素,用来降低得分的( 负分数) 。最后邮件 整体就锝到一个垃圾邮件总分,通过这个分数来判断是否s 口a m 。 这种评分过滤器尽量实现了自动识别垃圾邮件的功能,但是依然存在一些不 适应的问题:特征元素列表通过垃圾邮件或者正常邮件获得。因此,要提高识别 垃圾邮件的效果,就要从数百邮件中来学习,这降低了过滤器效率,因为对于不 同人来说,正常邮件的特征元素是不样的。获得特征元素分析的邮件数量多少 是一个关键。如果垃圾邮件发送者也适应了这些特征,就可能让垃圾邮件更像正 常邮件。这样的话,过滤特征就要更改了。每个词计算的分数应该基于一种很好 的评价,但是还是有随意性。比如特征就可能不会适应垃圾邮件的单词变化,也 第】苹绪论 不会适应某个用户的需要。贝叶斯理论在计算机行业中应用相当广泛,这是一种 对事物的不确定性描述,比如g o o g l e 计算中就采用了贝叶斯理论。贝叶斯算法 的过滤器就是计算曲f 件内容中成为垃圾邮件的概率,它要首先从许多垃圾邮件和 正常邮件中进行学习,因此,效果将比普通的内容过滤器更优秀,错报就会更少。 贝叶斯过滤器也是一种基于评分的过滤器。但不仅仅是一种简单的计算分数,而 更从根本上来识别。它采用自动建立特征表的方式,原理上,首先分析大量的垃 圾邮件和大量的正常邮件,算法分析邮件中多种特征出现概率。 由于的流量很大,基于内容的过滤将大大降低服务器的工作效率。基于内容 的过滤主要用在( 邮件投递代理) 和( 邮件用户代理) 模块上。 1 3 2 反向查询 1 d n s m x 记录查找 对于垃圾邮件采用声明域地址和回复地址的有效阻断技术,系统自邮件发自 域内查找,如果d n s 域内有一个m x 记录,则认为这个发件地址是无效的“。 2 反向d n s 查找 一种有效的垃圾邮件阻断技术,对收到邮件的来源i p 地址采用反向d n s 查 找,如果反向d n s 查找提供的域与邮件上的来源i p 地址相符合,该邮件被接受。 如果不符合,该邮件被拒绝。 3 新反向查找系 r m x 反向邮件交换,这是一种允许一个域名所有者列出所有被允许以该域名义发 送邮件的邮件服务器清单的机制。 s p f 发件人许可格式,它是s m f p 协议的一个补充,帮助防止发件人假冒。 d m p 指定发件人协议。 c a l l i d 要求在d n s 服务器中添加一个表示该域内s m t p 服务器的i d 。 北京工业大学r 学硕一 。学位论义 1 3 3 挑战 1 ,蜜罐 原理是诱骗邮件地址,用于搜集大量垃圾邮件地址,用于搜集大量垃圾邮件 的公开帐号。采集完成后,被邮件信号系统或者指纹识别系统处理垃圾邮件,生 成一个已知垃圾邮件的数据库。 2 测试回复系统 主要用于对付一些自动邮件发送系统。原理是采用一个名为允许发件人列表 的文件,当有新的发件人出现时,邮件被暂缓发送,测试回复系统会发送一些 测试,如果邮件测试成功,则可以加入被允许发件人列表。 3 病毒扫描 它是一种重要的减少垃圾邮件的手段,因为大量的非法邮件是由病毒程序产 生的。因为大量的非法邮件是由病毒程序产生的。病毒扫描是减少企业垃圾邮件 的一个重要手段。 1 4 主要研究内容 我们知道垃圾邮件是一种对互联网危害极大的网络垃圾,它不但占用了各类 大型网站的大量存储空间,影响了网络速度,造成了不必要的资源浪费。对于用 户来说,更是不胜其烦,每天要花费大量的时间处理一些自己并不需要的邮件。 基于本章的分析,我们的目标定位在设计一个基于微软提供的客户端邮件工 具o u t l o o k 的插件工具。工具的设计和实现使用微软提供的组件编程技术( c o m ) 。 主要使用内容过滤的办法,综合使用黑白名单,黑白关键字和基于统计学习的方 法实现其功能。 客户端是防垃圾邮件的最后一道防线,用户可利用邮件下载协议的一些特定 指令先下载邮件的头部信息进行垃圾邮件的判断和识别。这样客户端就不需要将 电子邮件完全下载便能进行识别和处理了。 1 5 本文内容组织 第1 章绪论:介绍了课题的研究背景、研究现状,提出本课题研究内容。 第1 覃绪论 第2 章邮件原理:介绍了与邮件相关的三个协议,并分析了产生垃圾邮件的 原因。 第3 章关键技术分析:重点系统使用到的垃圾邮件过滤技术,分析了与中文 垃圾邮件相关的中文分词问题。 第4 章系统设计与实现:重点讲解了系统的架构,功能模块的组成。通过o o a 的思想,建立了系统的模型,论述了几个重要的实体类和它们之间的信息交互过 程。 第5 章实现与测试:实现了该系统,展视了相关界面,并给出了相关的测试 数据。 第2 章邮件原理 2 1 邮件传输代理协议( m t ap r o t o c o l s ) m t a 程序负责在不同的程序包之间传递邮件。其中简单邮件传输协议 s m t p ( s i m p l em a i lt r a n s f e rp m t o c o l s ) 和扩展简单邮件传输协议e s m l l p ( e x t e n d e d s i m p l e m a i lt r a n s f e r p m t o c o l s ) 是目前使用得最广泛的邮件传输代理协议。 s m t p ,s i m p l em a i lt r a n s f c rp r o t o c o l 的简称。是电子邮件m a i l ) 服务器 ( s e r 、_ r e r ) 之间发送电子邮件的通讯协议( p r o t o c o l ) ,电子邮件程序也在使用 者端使用s m t p 来发送邮件给服务器”。 图2 1 邮件发送原理 f i g u r e 2 - 1e m 矧s e n d i n gp r i n c i p l e s m t p 在设计的时候并没有考虑到安全问题。在1 9 7 3 年,计算机安全还没 有什么意义,那个时候能够有一个可执行的邮件协议已经很了不起了。垃圾邮件 是一一个滥用sm ,r p 协议的例子,多数垃圾邮件工具都可以伪造邮件头,伪造发送 者,或者隐藏源头。 为了更有效地抑制垃圾邮件的泛滥,许多e m a i l 服务商和i s p ( 包括本站) 升级了他们的s m t p 系统,即使用e s m t p 的方式来作e m a i l 发送服务。 e s m t p ,英文全称是“e x t e n d e ds m t p ”,扩展s m t p 就是对标准s m t p 协 北京工业大学: 学硕士学位论文 议进行的扩展。它与s m t p 服务的区别仅仅是,使用s m t p 发信不需要验证用 户帐户,而用e s m t p 发信时,服务器会提供对m t a 主机的登陆认证,要求用户 提供用户名和密码以便验证身份”。 与从p o p 3 服务器上收信一样,在e s m t p 服务器上发送邮件时,必须出示 用户的帐号和密码。如果帐号和密码不正确,e s m t p 服务器会拒绝发送该邮件。 2 2 用户代理协议( m u ap r o t o l s ) m u a 协议的目的主要是满足在多用户的环境下,用户从他们的邮箱中读取 邮件的需要。为解决这个问题,协议被设计为允许用户通过网络从远程登陆到邮 件服务器并阅读邮箱中的邮件。每个用户都能够通过运行在本地工作站上的 m u a 程序连接邮件服务器自己的邮箱,因此m u a 程序必须使用特殊的协议来 连接邮件服务器并对邮箱中的邮件进行操作。 最简单的m u a 协议是邮局协议( p o s to f f i c ep m t o c o l ,p o p ) ,现在是版本3 , 简称p o p 3 。 p o p 3 协议是目前运用最为广泛的邮件接收协议。也是我们进行邮件解码必 须了解的原理。在p o p 3 协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认, 即由认可状态转入处理状态,在完成相应的操作后客户机发出q u i t 命令,则进入 更新状态,更新之后最后重返认可状态。如下图。 重返认可状奄 图2 2 邮件接收原理 f i g u r e 2 - 2e m a i lr e c e i v i n gp r i n c i p l 。 第2 章邮件原理 2 3 m i m e 协议( m u l t i p u r p o s ei n t e r n e tm a i le x t e n s i o np r o t o c o l s ) 在s m t p 协议中唯一用来传输邮件的命令是d a t a 命令,d a t a 命令后的所有数据 都被认为是需要传送的邮件报文,通常s m t p 服务器收到数据后会在报文头加上时 间戳和回复路径詹息,但是d a t a 命令只能向远程服务器传输a s c i i 码文本信息。 那么汉语文件、图片和程序是怎样发送出去的昵? 它是将邮件按照m i m e 转换成二 进制数据再转换成a s c i i 文本,然后通过s m t p 发往远程主机,到那里再按相反的 过程还原。 m i m e 使二进制数据可以直接加到标准的r f c 8 2 2 邮件中,通过在邮件中新增 加的5 个字段来标识嵌入的二进制数据类型,处理m i m e 邮件的软件必须处理 这5 个新的字段,但不是所有的字段都是必须的。只用c o n e n l - t y p e 段都必须出 现在邮件头。 m i m e 邮件头字段包括:m i m e v e r s i o n 所使用的m i m e 版本; c 。n 鼢t t r a n s 岛r - b n c o d i n g 字段标识嵌在邮件中的的二进砖i 数据。目前有7 _ 种不 同的编码方式。其中b a s e 6 4 是将每6 位二进制数据转换成1 个8 位的可打印字 符,q u o t e d p r i n t a b l e 是将数据编码成u s a s c i i 字符集中的可打印字符,这是最 常用的二种编码方式;c o n l e n t 聊e 字段是最重要的字段,m ! m e 邮件中包含的 数据由该字段标识,目前定义了7 种基本类型:t e x t 文本类型、m e s s a g e 报文类 型、i m a g e 图像类型、v i d e o 视频类型、a u d i o 声音类型、a p p l i c a t j o n 应用程序类 型、m u l 虹p a r 混合类f 1 ,j 。 m i m e 所定义的各个字段将是我们进行邮件特征提取考虑的主要部分。 2 ,4 客户端的垃圾邮件过滤系统 在软件的设计上,主要有基于客户端( c l i e n tb a s e d ) ,基于服务端( s e e r b a s e d ) 和基于主机( h o s tb a s e d ) 三种方式。三种方式各有优点缺点,从过滤效率上讲,基 于服务端的垃圾邮件过滤无疑是目前最好的方式。但是这种方式实现起来过于复 杂,而且要处理不同用户的不同过滤要求。鉴于此,我们选择使用客户端的垃圾 邮件过滤方式。相比于基于服务端的过滤方式,它有以下几个优点: 北京工业大学工学硕士学位论文 - 用户可以自行决定在任意时刻扫描邮件 一不会对服务器上的扫描产生性能影响 _ 用户可以自如的安装和卸载该软件,用户有选择与其邮件客户端协同工作的 软件的自主权 - 用户可以自己定义各种适合自己的过滤规则 垃圾邮件的过滤根本上还是要从服务端解决。现在大部分的防垃圾邮件技术 都是在服务端上建立起来的,比如实时黑白名单等基于口地址过滤的技术,d n s m x 记录查找等基于d n s 的技术,而且日趋成熟。 除了上述所提到的服务端特有的过滤技术,其它大部分技术都可以在客户端 应用。目前广泛应用的包括一些基于规则的垃圾邮件过滤技术,诸如黑白名单、 黑白关键字、基于规则的评分系统等;此外还包括一些基于统计的过滤技术,如 贝叶斯过滤,支持向量机( s v m ) 等。 从可行性方面和复杂性两方面考虑,一方面在服务端实现防垃圾邮件有一定 难度;另一方面,在服务端的垃圾邮件过滤不能完全代替客户端垃圾邮件过滤, 服务端的漏报总是在所难免的。因此防垃圾邮件系统同样要考虑在客户端实现过 滤功能。结合以上现实并针对当前诸如客户端软件f o x m a i l ,0 u t l o o k 等客户端软 件大量运用,笔者提出针对w d o w s 邮件客户端的垃圾邮件过滤的插件。 2 5 本章小结 本章对s m t p ,p o p 3 ,m i m e 三个主要的邮件协议进行了详细介绍,指出 了垃圾邮件产生的根源,并对几种协议和邮件过滤的相关性进行了简要介绍。最 后我们在比较客户端和服务端邮件过滤的基础上,选择了从客户端实现邮件过滤 的方式。 第3 章关键技术分析 基于阿面两章节的分析,我们决定设计这套安装在客户端的在o u o o i 2 0 0 0 使用的垃圾邮件过滤插件,我们将采用黑白名单,黑白关键字,贝叶斯和支持向 量机技术。以下几节我们重点描述这几种技术。 3 1 邮件过滤技术 3 1 1 黑白名单 这里的黑白名单不是我们在第一章所提到的i p 地址的黑白名单,而是发件 人的黑白名单,指被用户明确定义为接收或拒收的发件人地址的名单。 在我们的过滤过程中,我们首先对邮件进行黑白名单的匹配,如果邮件地址 匹配上自名单则确定为正常邮件,如果邮件地址匹配上黑名单,则定义为垃圾邮 件。如果两者均无法匹配成功,则进入下一判断过程。 对于黑向名单我们既可以采取文件的方式存储,也可以使用数据库。考虑到 存取速度和规模,我们决定采用文件的方式存储。 3 1 2 黑白关键字 所谓关键字是那些用户自定义的包含特定词的字符串。黑关键字是那些被用 户明确禁止在所收邮件中出现的关键词。自关键宁是那些被用户明确允许在邮件 中出现的关键字。在中文邮件中,大多数情况下是使用词语来表达特定含义的, 因此这里的关键字的概念还应当包古关键词。 在垃圾邮件过滤过程中,我们会根据已经定义的黑白关键字,对邮件的文本 内容进行匹配,如果邮件内容包含有所定义的白关键字,则可判定为正常邮件, 如果没有匹配成功,则继续匹配黑关键字,如果邮件内容中包含某一黑关键字, 则可以确定此是一封垃圾邮件。两者都为匹配上则进入下一判断过程。 对于黑白关键字的存储我们同样采用文件的方式。 对于黑白关键字的存储我们同样采用文件的方式。 北京工业大学工学坝士学位论文 3 1 3 贝叶斯过滤 1 9 9 8 年s a h a m i 将朴素贝叶斯n b ( n a i v eb a y e s ) 方法用于垃圾邮件过滤,取得了 巨大的成功。此后,越来越多的机器学习方法用于垃圾邮件过滤,特别是很多文 本分类的方法可以直接用于垃圾邮件的过滤中,比如启发式规则、潜在语义索引 l s i ( l a t e n ts e m a n t i ci n d e x ) 技术、支持向量机s v m ( s u p p o nv e c t o rm a c h i n e ) 方法、 基于实例的学习( i n s t a n c e - b a s e d ) 方法( 包括最近邻方法和基于案例的推理) 以及最 大墒方法等等。 朴素贝叶斯过滤器是其中非常简单有效的方法,在商业反垃圾邮件软件中得 到了广泛的应用。它的本质是一种分类方法,将垃圾邮件和正常邮件分为两类, 通过对训练样本库的分析,得到各特征词在垃圾邮件和正常邮件中分别出现的初 始概率。对于新到邮件,首先抽取出特征词,根据训练样本库中学习的概率计算 新到邮件分类为垃圾邮件或者正常邮件的概率。同时,也将该邮件放入训练样本 库,以便不断修正初始概率。朴素贝叶斯过滤器的准确性相当高,但是它的缺点 是需要维护训练样本库,而这个样本库通常是需要用户的参与。贝叶斯过滤是目 前使用最成熟,过滤效率最高的过滤器,它采用基于评分的策略,贝叶斯算法计 算特征的来源通常是: 邮件头( 发送者、传递路径等) 其他表现,比如h ,聊l 编码( 如颜色等) 词组、短语 _ m e l l a 信息,比如特殊短语出现位置等 _ 邮件正文中的单词 其过滤步骤分为如下7 步: 1 ) 收集大量的垃圾邮件和非垃圾邮件,建立垃圾邮件集和非垃圾邮件集。 2 ) 提取邮件主题和邮件体中的独立字串,例如a b c ,¥2 3 4 等作为t 0 j n 串并统计提取出的t o k e n 串出现的次数即字频。按照上述的方法分别 处理垃圾邮件集和非垃圾邮件集中的所有邮件。 3 ) 每一个邮件集对应一个哈希表,h a s h t a b l 喵o o d 对应非垃圾邮件集而 h a s h t a b l 9 _ b a d 对应垃圾邮件集。表中存储,i d 狲串到字频的映射关系。 4 ) 计算每个哈希表中t o ! n 串出现的概率p = ( 某t o j n 串的字频) 第3 苹关键技术分析 ( 对应哈希表的长度) ; 5 ) 综合考虑h a s h t a b l e _ g o o d 和h a s h t a b l e b a d ,推断出当新来的邮件中出现 某个t o k e n 串时,该新邮件为垃圾邮件的概率。数学表达式为: _ a 事件一邮件为垃圾邮件,t 1 ,t 2 ,t 。代表t o 砌j n 串; _ 则p ( a | t i ) 表示在邮件中出现t o k e n 串t i 时,该邮件为垃圾邮件 的概率。 _ 设p 1 ( t j ) = ( t i 在h a s h t a b l e g o o d 中的值) ,p 2 ( t i ) = ( t i 在h a s h t a b l 9 _ b a d 中的值) 贝0p ( a i t i ) = p l ( i ) ( ( p 1 ( t ) + p 2 ( ;) ) : 6 ) 建立新的哈希表h a s h t a b l e - p r o b a b i l i t y 存储t o k e n 串t i 到p ( a i t i ) 的映 射: 7 ) 根据建立的哈希表h a s h t a b l 9 _ p r o b a b i l i t y 可以估计一封新到的邮件为垃 圾邮件的可能性; 至此,垃圾邮件集和非垃圾邮件集的学习过程结束。根据建立的哈希表 h a s h t a b l ep r o b a b i l i t y 可以估计一封新到的邮件为垃圾邮件的可能性。当新到一封 邮件时,按照步骤2 ) 生成t o j n 串。查询h a s h t a b l e r o b 曲i l i t y 得到该t o k e n 串的键值。假设由该邮件共得到n 个t o k e n 串( 1 ,t 2 ,t 3 ,t n ) , h a s h t a b l e r o b a b i l i t y 中对应的值为p 1 ,p 2 ,p n ,p ( a i f l t 2 ,t 3 ,t 。) 表示在 邮件中同时出现多个t o 圈j n 串1 ,2 ,3 ,t 。时,该邮件为垃圾邮件的概率。由 复合概率公式可得p ( a | f 1 t 2 ,t 3 ,t n ) = ( p l + p 2 一p n ) p 1 8 p 2 一p n + ( 1 一p 1 ) 8 ( 1 - p 2 ) 一( 1 一p n ) 】,当p ( a i t l ,t 2 ,t 3 ,t 。) 超过预定阈值时,就可以判断邮件 为垃圾邮件。 0 3 1 4 支持向量机技术 支持向量机( s u p p o r tv e c t o rm a c h i n e ,简称s v m ,也叫做支撑向量机) 是在 二十世纪9 0 年代以来发展起来的一种统计学习方法,它以结构风险最小化原则为 理论基础,通过选取适当的函数子集及该子集中的判别函数使学习机的实际风险 达到最小,保证了通过有限训练样本得到的小误差分类器对独立测试集的测试误 差仍然最小,得到一个具有最优分类能力和推广泛化能力的学习机。该方法从样 本集中选择一组特征,它通过构造最优线性分类面来指导分类。 北京工业大学工学硕士学位论文 s v m 在解决小样本学习、非线性及高维模式识别问题中表现较好。s v m 可 以直接用于线性可分问题,而对于线性不可分的情形,可以构造一个变换,将问 题转换到一个新的空间,在这个新空间中线性可分。在文本分类中,s v m 是公 认的较好的方法之一。 1 线性支持向量机 图3 - 1 线性支持向量机原理图 f i g u r e 3 - 1l i n e a rs v mp r i n c i p l e 如图3 1 ,样本x 为k 维向量,在某区域内的1 个样本所属类别为 k ,) ,。x ,k ,y ,) 吼 + 1 若超平面: w z + 6 = o( 3 1 ) 能将样本分为两类,其中表示向量的点积。最佳的超平面应使两类样本到超平 面的距离为最大。显然,式( 1 ) 中的w 和b 乘以系数以后仍能满足方程不失一般性, 对于所有的样本置,f = 1 ,式1 w - x 。+ 6 i 的最小值为1 ,则样本与此最佳超平面的 最小距离为1 w 薯+ 6 洲叫j = 圳叫| 最佳超平面应满足约束: y ; ( w - x ;) + 6 苫1 ,f = 1 ,f ( 3 2 ) w 和b 的优化条件应该是使两类样本到超平面最小距离之和志最大另外,考虑到 l i w 可能存在一些样本不能 被超平面正确分类,因此引入松弛变量: 量2 0 ,f 一1 ,z ( 3 - 3 ) 问题变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论