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

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

ID:18771847

大小:442.50 KB

页数:9页

时间:2018-09-23

分析电子邮件的多关键词匹配算法_第1页
分析电子邮件的多关键词匹配算法_第2页
分析电子邮件的多关键词匹配算法_第3页
分析电子邮件的多关键词匹配算法_第4页
分析电子邮件的多关键词匹配算法_第5页
资源描述:

《分析电子邮件的多关键词匹配算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、分析电子邮件的多关键词匹配算法1本文获973课题:“基于Internet超大规模知识检索的算法及应用”支持。项目编号:谭建龙白硕张鑫沙赢中国科学院计算技术研究所北京2704信箱,100080E-mail:tan@software.ict.ac.cnsbai@sse.com.cnshaying@software.ict.ac.cnzhangx@software.ict.ac.cn摘要:本文第一次提出了一种直接扫描电子邮件内容的多关键词匹配算法。一般情况下,邮件文本是基于Base64编码的,由于Base64编码是前后相关的,所以需要特殊的处理。新算法在不进

2、行Base64解码情况下,直接进行内容扫描。同时针对Base64编码结果是32位整型数据流的特性,新算法不是以8位为块,而是以32位为块进行匹配。通过和agrep和fgrep查找工具比较,新算法比解码-再检索的方法快,甚至比直接检索原始文本方法还快。关键词:网络安全信息监控多关键词匹配串匹配电子邮件Base64StringMatching1引言在网络信息监控和入侵监测系统中,目前广泛使用的是用固定关键词集合检索数据流的方法。检索系统对每个“网络数据流”进行扫描,丢弃许多原始数据,大大减少后续系统需要处理数据量。对于国家级别的信息监控来说,不但关键词规模

3、有O(103)条,而且对需要处理O(G)的带宽。美国FBI的Carnivore【9】就是这样能分析Email内容的工具。为了监测电子邮件、扫描邮件病毒,防范公司机密信息泄漏和拒绝垃圾邮件,安全系统需要具备内容分析的功能。过滤电子邮件,不仅仅需要通过发送者地址、收件人地址、域名以及IP地址过滤,还需要过邮件文本内容和附件内容中进行过滤。一般邮件内容以MIME(MultipurposeInternetMailExtensions:多用途Internet邮件扩展)格式传输的【10】。在MIME规范中,内容传输编码域(Content-Transfer-Enco

4、dingfield)可以被指定为不同类型的编码格式,每种编码格式实质都是一种可逆映射(mapping),从而保证数据原始表示与使用7位邮件传输协议(SMTP,POP3)【10】系统能过正常交换信息。由于当邮件原始内容被内容传输编码格式(如Base64)编码后,普通关键词匹配的分析系统就不能工作了。分析邮件内容需要单独的关键词编码的理由主要有两点:第一个原因是,由于Base64编码是前后相关的,所以直接扫描Base64文本中编码后的关键词,会产生错误。Base64的编码过程是将每组24bit的输入表示成一组32-bit的输出。换言之,字符的编码值是与它前

5、面的两个字符相关。因此,同一个原始关键词在不同位置会产生不同编码。第二个原因是,由于电子邮件数据是网络数据中的重要部分,设计一个针对性的关键词匹配算法将利用编码的特性,提高检索系统的性能。原始文本经Base64编码后,成为base64字符集中的一个单个字符,占32位。由于现在计算机中,CPU在同样的指令执行时间内,既能处理8位的字符型数据,也能处理32位的长整型数据。因此,关键词匹配算法能够利用这个有利条件来提高算法的性能。我们提出了一种高效的分析电子邮件内容的多关键词匹配算法,下文中将简称这种算法为EMailMatch。EMailMatch算法是对W

6、u-Manber【4】,Commentz-Walter【5】和Jang-Jong-9-Fan【6】等人的算法改进后得到的,在压缩文本的直接匹配中,这些算法已经被广泛应用。我们使用P={p1,p2…pr}表示一组关键词,这些关键词都是一个固定字符集∑中的字符串,

7、pi

8、=m表示pi的长度;我们使用T=t1,t2…tn表示一段长文本,它们也由∑中的字符组成。S=S1,S2…Sl表示T编码后的文本。多关键词匹配问题是,只使用P和S,在S中找出所有P关键词出现的位置。解决这个问题的原始算法是,首先将字符串S解码,再进行普通的关键词匹配操作。最坏情况下,所需的时

9、间将超过O(l)+O(n),平均为O(l)+O(n/m)。如果关键词编码后的字符串不变的时候,我们可以直接把关键词编码,再使用这些编码进行普通关键词匹配就可以了。例如UTF-8和Quoted-Printable等编码方式。我们只需要对关键词进行编码,再使用编码后的字符串直接对S进行检索就可以了。但是对Base64和UTF-7等编码方式,由于关键词编码后得到的字符串并不固定,上述算法就无效了。由于UTF-7和Base64编码方式的处理方法基本相同,本文只描述针对Base64文本的算法,原理同样可以使用在UTF-7中。目前可以用两种不同的方法来搜索编码后的

10、文本。第一种方法非常实用,是一种专门针对单词,基于Huffman编码的高效解决方案【11】。但

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。