(分析电子邮件的多关键词匹配算法.docVIP

(分析电子邮件的多关键词匹配算法.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(分析电子邮件的多关键词匹配算法

分析电子邮件的多关键词匹配算法1 谭建龙 白硕 张鑫 沙赢 中国科学院计算技术研究所 北京 2704信箱,100080 E-mail: tan@ sbai@ shaying@ zhangx@ 摘要:本文第一次提出了一种直接扫描电子邮件内容的多关键词匹配算法。一般情况下,邮件文本是基于Base64编码的,由于Base64编码是前后相关的,所以需要特殊的处理。新算法在不进行Base64解码情况下,直接进行内容扫描。同时针对Base64编码结果是32位整型数据流的特性,新算法不是以8位为块,而是以32位为块进行匹配。通过和agrep和fgrep查找工具比较,新算法比解码-再检索的方法快,甚至比直接检索原始文本方法还快。 关键词:网络安全 信息监控 多关键词匹配 串匹配 电子邮件 Base64 StringMatching 1 引言 在网络信息监控和入侵监测系统中,目前广泛使用的是用固定关键词集合检索数据流的方法。检索系统对每个“网络数据流”进行扫描,丢弃许多原始数据,大大减少后续系统需要处理数据量。对于国家级别的信息监控来说,不但关键词规模有O(103)条,而且对需要处理O(G)的带宽。美国FBI的Carnivore【9】就是这样能分析Email内容的工具。 为了监测电子邮件、扫描邮件病毒,防范公司机密信息泄漏和拒绝垃圾邮件,安全系统需要具备内容分析的功能。过滤电子邮件,不仅仅需要通过发送者地址、收件人地址、域名以及IP地址过滤,还需要过邮件文本内容和附件内容中进行过滤。一般邮件内容以MIME(Multipurpose Internet Mail Extensions:多用途Internet邮件扩展)格式传输的【10】。在MIME规范中,内容传输编码域(Content-Transfer-Encoding field)可以被指定为不同类型的编码格式,每种编码格式实质都是一种可逆映射(mapping),从而保证数据原始表示与使用7位邮件传输协议(SMTP,POP3)【10】系统能过正常交换信息。由于当邮件原始内容被内容传输编码格式(如Base64)编码后,普通关键词匹配的分析系统就不能工作了。 分析邮件内容需要单独的关键词编码的理由主要有两点:第一个原因是,由于Base64编码是前后相关的,所以直接扫描Base64文本中编码后的关键词,会产生错误。Base64的编码过程是将每组24 bit的输入表示成一组32-bit的输出。换言之,字符的编码值是与它前面的两个字符相关。因此,同一个原始关键词在不同位置会产生不同编码。第二个原因是,由于电子邮件数据是网络数据中的重要部分,设计一个针对性的关键词匹配算法将利用编码的特性,提高检索系统的性能。原始文本经Base64编码后,成为base64字符集中的一个单个字符,占32 位。由于现在计算机中, CPU在同样的指令执行时间内,既能处理8位的字符型数据,也能处理32位的长整型数据。因此,关键词匹配算法能够利用这个有利条件来提高算法的性能。 我们提出了一种高效的分析电子邮件内容的多关键词匹配算法,下文中将简称这种算法为EMailMatch。EMailMatch算法是对Wu-Manber【4】,Commentz-Walter【5】和Jang-Jong Fan【6】等人的算法改进后得到的,在压缩文本的直接匹配中,这些算法已经被广泛应用。 我们使用P={p1,p2…pr}表示一组关键词,这些关键词都是一个固定字符集∑中的字符串,|pi|=m表示pi的长度;我们使用T=t1,t2…tn 表示一段长文本,它们也由∑中的字符组成。S = S1,S2…Sl 表示T编码后的文本。多关键词匹配问题是,只使用P和S,在S中找出所有P关键词出现的位置。解决这个问题的原始算法是,首先将字符串S解码,再进行普通的关键词匹配操作。最坏情况下,所需的时间将超过O(l)+O(n),平均为O(l)+O(n/m) 。如果关键词编码后的字符串不变的时候,我们可以直接把关键词编码,再使用这些编码进行普通关键词匹配就可以了。例如UTF-8和Quoted-Printable等编码方式。我们只需要对关键词进行编码,再使用编码后的字符串直接对S进行检索就可以了。但是对Base64和UTF-7等编码方式,由于关键词编码后得到的字符串并不固定,上述算法就无效了。由于UTF-7和Base64编码方式的处理方法基本相同,本文只描述针对Base64文本的算法,原理同样可以使用在UTF-7中。 目前可以用两种不同的方法来搜索编码后的文本。第一种方法非常实用,是一种专门针对单词,基于Huffman编码的高效解决方案【11】。但这种方法只能检索整个单词和整个句子。第二种方法针对压缩后的文本(我们

文档评论(0)

84537592 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档