APP下载

一种基于多模匹配的敏感邮件实时检测方法

2015-03-16田峥田建伟薛海伟漆文辉

湖南电力 2015年1期
关键词:关键字字符附件

田峥,田建伟,薛海伟,漆文辉

(国网湖南省电力公司电力科学研究院,湖南 长沙 410007)

一种基于多模匹配的敏感邮件实时检测方法

田峥,田建伟,薛海伟,漆文辉

(国网湖南省电力公司电力科学研究院,湖南 长沙 410007)

文中对Wu-Manber算法进行改进,将3种不同编码格式的模式串引入到算法的预处理过程,并改进算法对字符串的扫描过程,提出一种支持多编码格式的多模匹配算法,使得算法可适用于对当前主流邮件格式和附件格式的检索。实验结果和实际应用过程表明,文中算法是实时且有效的。

邮件过滤系统;Wu-Manber;多编码格式;实时;邮件附件

随着电力系统信息化和网络化的不断推进,国家电网公司面临的信息安全形势日益严峻。公司敏感数据不但面临着病毒、木马等外部环境的攻击,由人员故意破坏和泄露等造成的内部威胁也逐渐增多。美国计算机安全学会 (Computer Security Institute,CSI)历年的调查报告显示,虽然从数量上来看,来自于外部的网络攻击事件的发生频率远远超过来自内部的泄密,但是从造成的损失来看,内部威胁却远大于外部威胁〔1,2〕。从美国中央情报局前雇员斯诺登泄密引发的 “棱镜门事件”到国内华为员工离职泄密导致的 “沪科案”事件,这些都表明来自内部的数据泄密会给企业带来严重的损失。

电子邮件是电力系统内部人员最常用的一种信息通信工具,同时也是导致内部数据泄露的一个最主要的源头。据权威调查报告显示,30%~40%的安全漏洞造成的损失是由于公司内部员工通过电子邮件发送了内部涉密文件造成的〔3〕。为了加强对电力敏感邮件的监管,国家电网公司在公司与社会互联网的出口处部署了网络审计设备,对从内部发送的电子邮件进行审查。但是,由于网络审计设备无法对邮件进行实时过滤,不能从根本上杜绝邮件泄密事件的发生,仍然存在员工误操作或恶意泄露的可能。

目前针对敏感邮件进行监管的设备可分为审计和过滤两类设备。审计设备主要是将邮件内容(包括附件)进行转存,然后以离线方式检测邮件是否包含敏感内容,这种方法无法实现对邮件实时拦截;而过滤设备可以对邮件进行实时分析,判断其是否包含敏感关键字,并进行实时拦截,但是这类设备通常部署在网络出口处或内部的邮件服务器上,由于受到计算性能和实时性的约束,只能对邮件正文进行分析,对附件中包含敏感内容的邮件则无能为力。当前市面上还没有一款成熟的产品能够做到对邮件内容和附件进行实时分析并拦截。

为了解决现有邮件过滤系统因处理大量邮件数据而造成的性能瓶颈问题,国网湖南省电力公司电力科学研究院研制出了一种分布式的邮件过滤系统,该系统在每个发送邮件的终端主机上部署一个客户端程序,对从该主机上发送的邮件进行拦截和检测,这样就很好地解决了集中式邮件过滤系统存在的性能瓶颈问题。分布式邮件过滤系统的核心问题是如何在计算资源相对较弱的普通PC机上实时地对用户发送的邮件内容和附件进行准确、高效的信息检索,做到速度快且对用户透明。要实现这一目标,一个高效且稳健的多模匹配算法是其中的关键。为此,文中提出一种基于改进Wu-Manber的多模匹配算法来实现对邮件中多个电力敏感关键字的实时检索,以满足分布式邮件过滤系统的准确性和实时性要求。

1 多模匹配算法需求分析

文中提出的多模匹配算法需要部署在分布式邮件检测系统的客户端中。经过对该邮件过滤系统的需求分析,文中多模匹配算法的设计主要面临如下几个挑战:

1)高准确性和实时性要求

分布式邮件过滤系统的客户端程序需要实现的目标主要有2个:一是能实时准确地拦截包含电力敏感关键字的电子邮件,阻断其发送;二是要能正常且无延时地发送未包含电力敏感关键字的电子邮件,即对用户透明。这2点都与多模匹配算法的准确性和实时性密切相关,特别是当被检测的邮件正文或附件内容非常大时,算法的性能就显得尤其重要。

2)多附件格式

分布式邮件过滤系统客户端不仅需要对邮件正文和标题进行检索,还需要对邮件附件进行实时检索,这就要求算法支持对多种常见的办公文件类型的解析,如文本文档、Office/WPS文档、PDF文档、压缩文档等,而每一类文档的解析都不一样,压缩文档还有可能出现嵌套的压缩格式,这无疑大大增加了算法的复杂度。

3)中英文语言环境,多种中文编码标准

电力敏感关键字可能是中文、英文或中英文混合的文本字符串,而邮件正文和附件中还有可能出现多种中文编码格式,如邮件正文通常采用URL和UTF-8编码,而邮件附件中,文本文档通常采用GB2312编码,Office文档则采用Unicode编码。为了不漏掉可能存在敏感信息的邮件,算法必须要支持中英文混合环境和多种中文编码标准。

目前主流的多模匹配算法包括:Commentz-Walter算法〔4〕,Aho-Corasick算法〔5〕,Wu-Manber算法〔6〕等。其中,基于后缀搜索和字符块匹配思想的Wu-Manber算法继承了Boyer-Moore(BM算法)单模式匹配算法〔7〕进行跳跃的思想和hash散列的方法。在实际应用中,是进行大规模多模式匹配效率最高、最稳定的算法;而且Wu-Manber算法对字符集不敏感,可以方便地应用于中文环境。因此,文中选用Wu-Manber算法作为分布式邮件过滤系统进行电力敏感关键字检索的参考算法。同时,针对系统的特定需求,对Wu-Manber算法进行了改进,提出了一种支持中英文混合模式的改进多模匹配算法,使其支持GB2312,Unicode和UTF-8 3种中文编码格式,并可对邮件正文和附件进行实时高效的多关键字检索。

2 Wu-Manber算法改进

通用的多模匹配问题可以用如下的形式化语言进行描述:已知一个待处理数据串Text[1…n],其定义在一个有限的字符表Σ(大小为c)上,对于给定的模式串集合Pattern= {P1,P2,…,Pk}共k个模式,假设m为最短模式串的长度,即m=min{length(Pi) |1≤i≤k},要求找到数据串Text中与模式串Pattern中的模式完全相等的子串的所有出现位置。

为了解决该问题,Wu-Manber算法借鉴了BM算法的后缀搜索思想和 “坏字符”转移机制,并且也使用Hash散列表来筛选匹配阶段应进行匹配的模式串,因此可以说Wu-Manber算法是BM算法在处理多模式匹配问题上的一种派生方法。但是与BM算法不同的是,Wu-Manber算法将相邻的B (B={2,3})个字符联合作为1个字符块,利用字符块的计算来扩展 “坏字符”转移机制的效果,通过比较文本Text中的字符块与样本模式集合Pattern中字符块的关系决定样本右移的距离。

Wu-Manber算法步骤分为预处理和字符匹配2个阶段。在预处理阶段,为了加速后续的匹配过程,Wu-Manber算法需要构造SHIFT,HASH和PREFIX3张表〔8〕。其中,SHIFT表记录了 “坏字符”规则,即当扫描遇到该字符块X时可以向前移动的字符数。其计算方法如公式 (1)所示,其中X表示长度为B的字符块:

这样,在后续对数据串Text进行扫描的时候,只需根据读入字符块的散列值就能够计算出可以往前跳跃的字符数,如果相应的跳跃值为0,则说明可能产生匹配,就要用到HASH表和PREFIX表进一步判断,以快速查找出待匹配的候选模式串,并验证是否存在完全匹配的模式串。

通过分析,传统的 Wu-Manber算法只支持ASCII或GB2312格式编码的模式串,即在算法预处理过程仅对一种编码格式的模式串进行处理,这使得算法不支持中英文混合模式的字符串搜索,同时也无法对采用Unicode或UTF-8格式编码的字符串进行搜索,这就无法满足本文中分布式邮件过滤系统对电力敏感邮件进行检测的需求,因为自定义的电力敏感关键字需要支持中英文混合模式,而邮件附件中经常会出现采用Unicode或UTF-8编码的字符串,例如office文档就是采用Unicode编码,而txt文本文档也可以保存成 UTF-8编码格式。

为解决这个问题,文中提出在算法预处理之前,先对模式串 (即电力敏感关键字)进行编码格式之间的转换,得到该模式串在3种不同编码格式 (GB2312,Unicode,UTF-8)下的不同的二进制流,然后将这3种不同二进制流作为3种不同的模式串,同时参与算法的预处理过程。这样就使得算法可以同时支持对3种编码格式的数据串进行匹配。

在完成Wu-Manber算法的预处理阶段后,后续的字符匹配阶段的过程就相对比较简单了,它从数据串Text的末端开始扫描,计算字符块的散列值,并根据SHIFT表的值从后往前移动;如果遇到SHIFT值为0的情况,则通过HASH表找到待匹配的模式串,并根据PREFIX表进行进一步的匹配;如此循环,直至到达数据串Text的最前端。

但是,由于传统的 Wu-Manber算法仅支持ASCII或GB2312编码格式,因此它通常采用标准字符串变量来存放模式集Patterns,如表达式 (2)所示:

在对模式串的扫描过程中,算法通过查看当前字符是否为0来判断是否到达模式串的末尾,因为在ASCII或GB2312编码格式中,串结束符总是仅出现在字符串的末尾。然而,这种方法无法在采用Unicode编码的模式串上使用,因为Unicode编码采用 2个字节来表示 1个字符,当这个字符是ASCII字符时,它的高位字节就为0,这样就有可能出现在字符串中间存在0值的情况,这也是为什么传统Wu-Manber算法不支持Unicode编码模式串的原因。

为了解决这个问题,文中构造了一个新的结构体来表示模式集 Patterns,如表达式 (3) (4)所示:

该结构体包含一个字符串指针变量和一个表示该字符串长度的变量,这样,在扫描时算法就可以通过该字符串的长度来判断是否到达模式串的末尾,从而很好地解决了对Unicode编码的字符串进行扫描的问题。

下面的伪代码给出了改进的Wu-Manber算法进行字符匹配过程的完整流程。

Wu-Manber算法主要优势是匹配入口点少,从而使得字符比较的次数减少。传统Wu-Manber算法的平均时间复杂度是,其中B是块字符的长度,n是文本的长度,m是模式集合中最短模式的长度。因此,文中对Wu-Manber算法改进后虽然增加了模式串的个数(是原来的3倍),但是算法的时间复杂度并没有增加。

3 多模匹配算法在邮件过滤系统中的应用

图1展示了分布式邮件过滤系统框架示意图。该系统部署在普通的电力办公终端上,当员工利用邮件客户端(如Hotmail,Firefox等)或者Web浏览器登录到外网邮件服务器上发送邮件时,敏感邮件过滤系统会在邮件发送之前对其进行实时捕获和处理,仅允许那些未包含电力敏感关键字的邮件正常发送。

图1 分布式邮件过滤系统框图

邮件过滤系统主要包含3个模块:邮件拦截模块、邮件检测模块和预警模块。邮件拦截模块主要负责实时捕获用户发送的邮件信息,并将信息发送给邮件检测模块进行分析处理;邮件检测模块主要集成了文中提出的一种基于Wu-Manber的改进多模匹配算法,用于实现对邮件正文和附件的实时解析和敏感关键字搜索功能,并将检测结果通知邮件拦截模块和预警模块;预警模块用于向员工展示提示信息,当员工发送的邮件因含有电力敏感关键字被拦截时,预警模块会在屏幕右下角弹出一个窗口,提示邮件已被拦截,并显示邮件中出现的敏感关键字。

下面是文中提出的一种基于多模匹配的电力敏感邮件实时检测方法的程序执行流程:

1)对邮件拦截模块发送过来的邮件信息进行实时解析,提取出邮件的收发件人地址,邮件标题、邮件正文、附件标题、附件内容等信息。

2)根据用户自定义的电力敏感关键字对多模匹配引擎进行初始化。该多模匹配引擎即文中所述的改进Wu-Manber匹配算法。

3)将邮件正文转化成二进制字节流,如果邮件正文采用了URL编码,则对其进行URL解码操作。将转换后的二进制字节流输入到多模匹配引擎中,进行电力敏感关键字的匹配。

4)根据匹配结果判断该邮件是否包含电力敏感关键字,如果是,直接判断该邮件为敏感邮件,转到第8)步;否则,进行下一步邮件附件的检测。

5)判断邮件是否包含附件,如果有,转到下一步;否则,转到第9)步。

6)将邮件附件的标题和正文转化成二进制流,附件格式支持文本文档、ZIP/RAR压缩文档、Office和WPS办公文档或PDF文档中的一种或多种;如果附件是PDF格式,则读取出其中的文本信息;如果是压缩文档,则对压缩文档进行解析,提取出其中的二进制文件流;将转换后的二进制字节流输入到多模匹配引擎中,进行电力敏感关键字的匹配。

7)根据匹配结果判断该邮件是否包含电力敏感关键字,如果有,则判断该邮件为敏感邮件,转到下一步。

8)通知邮件拦截模块对该邮件进行实时拦截,并向预警模块发出告警信息,结束。

9)通知邮件拦截模块正常发送该邮件,结束。

4 实验结果

为了验证算法的实时性和有效性,在电力办公终端上对算法及其所应用的邮件过滤系统进行了测试。测试环境为:Intel i5-3337U 1.8 GHz四核CPU,4 GB内存,window 7 32位操作系统。选取了不同大小的文件(100 kB-150 MB)对算法的执行时间进行测试,图2给出了算法对不同文件大小进行检索的平均执行时间。

图2 文中算法的执行时间

可以看到,随着文件大小的增长,算法的执行时间基本是呈线性增长的趋势,这基本符合前面对算法时间复杂度的分析。另外,常见的邮件附件大小一般不会超过20 MB,对于这个量级来说,算法的检索时间在200~300 ms范围内,这种延时对于用户来说基本是透明的。而对于150 MB的大附件来说,算法也仅需要不到2 s的时间来进行检索,这远远小于通过网络上传这个附件所需要的时间。

下面的表1和表2则给出了文中算法应用在邮件过滤系统后在功能上的优势。相对于传统的Wu-Manber算法,文中改进的多模匹配算法能够支持中英文混合的模式串,可同时支持 GB2312,Unicode,UTF-8等3种二进制编码格式,并且可以检索采用URL编码的邮件信息。而在邮件附件方面,文中算法全面支持当前的主流办公格式,包括文本格式、常见压缩格式、PDF格式,以及 WPS和Office的文档格式。

表1 文中算法与传统Wu-Manber算法功能对比

表2 文中算法所支持的邮件附件格式

5 结论

文中针对国家电网公司对电力敏感邮件进行实时检测的特定需求,在传统Wu-Manber多模匹配算法的基础上提出一种支持多编码格式的模式匹配算法,将GB2312,Unicode和UTF-8这3种不同编码格式的模式串引入到算法的预处理过程中,并改进算法对字符串的扫描过程,使得算法可适用于对当前主流邮件格式和附件格式的检索。实验结果和实际应用过程表明,文中提出的一种面向多编码格式的电力敏感邮件实时检测方法在速度上具有较好的实时性,能提供较好的用户体验,在功能上也能够支持当前主流的邮件附件格式,具有很好的实用性和应用前景。

〔1〕R.Richardson.2007 Csi Computer Crime and Security Survey〔EB/OL〕. Orlando,Florida:Computer Security Institute,2007.〔2014-08-15〕. http://i.cmpnet.com/v2.gocsi.com/pdf/CSISurvey2007.pdf.

〔2〕R.Richardson.2008 Csi Computer Crime and Security Survey〔EB/OL〕. Orlando,Florida:Computer Security Institute,2008.〔2014-08-15〕. http://www.cse.msstate.edu/~cse6243/readings/CSIsurvey2008.pdf.

〔3〕R.Richardson.2009 Csi Computer Crime and Security Survey〔EB/ OL〕.Orlando,Florida:Computer Security Institute,2009.〔2014-08-15〕.http://pathmaker.biz/whitepapers/CSISurvey2009.pdf.

〔4〕B.Commentz-Walter.A string matching algorithm fast on the average〔C〕//In Proceedings of the 6thInternational Colloquium on Automata,Language and Programming.GRE:Springer-Verlag,1979:118-132,

〔5〕A.V.Aho,M.J.Corasick.Efficient string matching:an aid to bibliographic search〔J〕.Communication of the ACM,1975,18 (6):333-340.

〔6〕S.Wu, U.Manber.Fasttextsearching allowing errors〔J〕. Communications of the ACM,1992,35(10):83-91.

〔7〕R.S.Boyer, J.S.Moore.A fast string searching algorithm〔J〕. Communications of the ACM,1977,20(10):762-772.

〔8〕张宏莉,徐东亮,梁敏,等.海量模式高效匹配方法研究〔J〕.电子学报,2014,42(6):1220-1224.

A real-time sensitive e-mail detection method based on multi-pattern matching

TIAN Zheng,TIAN Jian-wei,XUE Hai-wei,QI Wen-hui

(State Grid Hunan Electric Power Corporation Research Institute,Changsha 410007,China)

In this paper,an improved multiple pattern matching algorithm is presented.Different pattern in three different coding formats are introduced into the pretreatment process of the algorithm,and the texts scanning process is optimized in order to support the main stream format of the text and attachments of mail.The experimental results and the practical application show that the proposed algorithm is effective and real-time.

mail filtering system;Wu-Manber;multiple coding formats;real-time;attachment of mail

TP309

A

1008-0198(2015)01-0029-05

10.3969/j.issn.1008-0198.2015.01.008

田峥(1983),男,湖南长沙人,博士,从事信息通信安全技术研究等工作。

2014-09-03 改回日期:2014-11-17

猜你喜欢

关键字字符附件
大型外浮顶储罐安全附件常见问题
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
附件三:拟制定的标准汇总表
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
成功避开“关键字”
关于TSG 07——2019附件M与TSG Z0004——2007内容的对照
HBM电子称与西门子S7-200系列PLC自由口通讯
新型武器及附件展呈