一种基于多模匹配的电力敏感邮件实时检测方法
【专利摘要】本发明公开了一种基于多模匹配的电力敏感邮件实时检测方法,主要步骤为:(1)对员工发送的电子邮件进行实时解析,提取出邮件信息;(2)用设定的电力敏感关键字对多模匹配引擎进行初始化;(3)利用多模匹配引擎对邮件标题、正文及附件标题、正文进行敏感关键字匹配;(4)根据匹配结果判断该邮件是否为电力敏感邮件,如果该邮件是电力敏感邮件,则进行实时拦截,并发出告警信息;否则正常发送该邮件。本发明可在电力办公PC终端对员工发送的电子邮件进行分析,检测到可能存在电力机密信息的敏感邮件,并通知邮件拦截模块进行实时拦截,从而有效防止电力部门的机密文件外泄,从源头保护电力内部系统和终端的数据安全。
【专利说明】-种基于多模匹配的电力敏感邮件实时检测方法
【技术领域】
[0001] 本发明涉及电力行业信息安全领域,特别涉及一种基于多模匹配的电力敏感邮件 实时检测方法。
【背景技术】
[0002] 随着电力系统信息化和网络化的不断推进,国家电网公司面临的信息安全形势 日益严峻。公司内部的敏感数据不但面临着病毒、木马等外部环境的攻击,由内部人员故 意破坏和泄漏等造成的内部威胁也逐渐增多。美国计算机安全学会(Computer Security Institute,CSI)历年的调查报告显示,虽然从数量上来看,来自于外部的网络攻击事件的 发生频率远远超过来自内部的泄密,但是从造成的损失来看,内部威胁却远大于外部威胁。 从美国中央情报局前雇员斯诺登泄密引发的"棱镜门事件"到国内华为员工离职泄密导致 的"沪科案"事件,这些都表明,来自内部的数据泄密会给企业带来严重的损失。
[0003] 电子邮件是电力系统内部人员最常用的一种信息通信工具,同时也是导致内部数 据泄露的一个最主要的源头。据权威调查报告显示,公司近年来各种安全漏洞造成的损失 中,30 % -40 %是由于公司内部员工通过电子邮件发送了内部涉密文件造成的。为了加强对 电力敏感邮件的监管,国家电网公司在公司与社会互联网的出口处部署了网络审计设备, 对从内部发送的电子邮件进行审查。但是,由于网络审计设备无法对邮件进行实时过滤,这 不能从根本上杜绝邮件泄密事件的发生,仍然存在员工误操作或恶意泄漏的可能。
[0004] 通过对行业内网络行为监管设备的调研发现,目前针对敏感邮件进行监管的设备 可分为审计和过滤两类设备。审计设备主要是将邮件内容(包括附件)进行转存,然后以 离线方式检测邮件是否包含敏感内容,这种方法无法实现对邮件的实时拦截;而过滤设备 可以对邮件进行实时分析,判断其是否包含敏感关键字,并进行实时拦截,但是这类设备通 常部署在网络出口处或内部的邮件服务器上,由于受到计算性能和实时性的约束,只能对 邮件正文进行分析,对附件中包含敏感内容的邮件则无能为力。当前市面上还没有一款成 熟的产品能够做到对邮件内容和附件进行实时分析并拦截。
[0005] 因此,如何实时判断邮件内容和附件是否包含电力敏感关键字,从而对邮件进行 过滤,是本领域技术人员重点关注的问题。基于多模匹配算法在电力办公PC终端进行敏感 邮件检测是一个可行的思路。目前,还没有公开文献涉及基于多模匹配的电力敏感邮件实 时检测方法。
【发明内容】
[0006] 针对上述现有技术的不足,本发明提出一种可部署在电力办公PC终端的敏感邮 件检测方法,该方法可对电力外网发送的邮件的内容和附件进行实时解析,检测出可能存 在电力机密信息的敏感邮件,并通知邮件拦截模块进行实时拦截。本发明可有效防止电力 部门的机密文件外泄,从源头保护电力内部系统和终端的数据安全。
[0007] 为了实现上述技术目的,本发明的技术方案是,一种基于多模匹配的电力敏感邮 件实时检测方法,该方法包括如下步骤:
[0008] 步骤Sl :对发送的电子邮件进行实时解析,提取出邮件信息;
[0009] 步骤S2 :用事先设定的电力敏感关键字对多模匹配引擎进行初始化;
[0010] 步骤S3 :将步骤Sl所提取的邮件信息转化成二进制字节流,输入到步骤S2所述 多模匹配引擎中,进行电力敏感关键字的匹配;
[0011] 步骤S4:根据匹配结果判断该邮件是否为电力敏感邮件,如果该邮件是电力敏感 邮件,则通过邮件拦截模块对该邮件进行实时拦截,并通过预警模块发出告警信息;否则, 正常发送该邮件。
[0012] 所述一种基于多模匹配的电力敏感邮件检测方法,步骤Sl所述邮件信息,包括 邮件的标题和正文,以及邮件附件的标题和内容;所述邮件附件的格式是:文本文档、ZIP/ RAR压缩文档、Office办公文档、WPS办公文档和PDF文档中的一种或多种。
[0013] 所述一种基于多模匹配的电力敏感邮件检测方法,步骤S2所述电力敏感关键字, 是由用户自定义的文本字符串,文本字符串为中文、英文或中英文混合模式的字符串。
[0014] 所述一种基于多模匹配的电力敏感邮件检测方法,步骤S2所述多模匹配引擎,是 基于Wu-Manber多模匹配方法,采用二进制流的匹配方式,用以在邮件信息中查找电力敏 感关键字出现的频率和位置。
[0015] 所述一种基于多模匹配的电力敏感邮件检测方法,步骤S2所述多模匹配引擎的 初始化方法,是将电力敏感关键字的三种不同二进制编码格式作为三种不同的模式串,同 时参与对多模匹配引擎的预处理过程,所述的三种二进制编码格式为GB2312、Unicode和 UTF-8。
[0016] 所述一种基于多模匹配的电力敏感邮件检测方法,所述的对多模匹配引擎的预 处理过程,是通过扫描由所有电力敏感关键字的三种不同编码格式所形成的模式串集合 Patterns,分别构建转移表SHIFT,哈希表HASH和前缀表PREFIX三张表。
[0017] 所述一种基于多模匹配的电力敏感邮件检测方法,在将Unicode二进制编码格式 作为模式串时,构建一个包含一个字符串指针变量和一个表示该字符串长度变量的结构 体,在扫描时通过该结构体来判断是否达到模式串的末尾。
[0018] 所述一种基于多模匹配的电力敏感邮件检测方法,步骤S3所述对邮件信息进行 电力敏感关键字匹配的方法,是将邮件标题、正文,以及邮件附件的标题和内容转换成二进 制字节流的形式,并作为步骤S2所述多模匹配引擎的输入,而多模匹配引擎的输出结果即 为邮件信息中包含电力敏感关键字的频率及位置。
[0019] 所述一种基于多模匹配的电力敏感邮件检测方法,步骤S4所述电力敏感邮件判 断,是根据多模匹配引擎的匹配结果来进行判断,如果邮件信息中存在1个或以上的电力 敏感关键字,则判断为电力敏感邮件,否则,为正常邮件。
[0020] 本发明可在电力办公PC终端对员工发送的电子邮件进行分析,检测到可能存在 电力机密信息的敏感邮件,并通知邮件拦截模块进行实时拦截,从而有效防止电力部门的 机密文件外泄,从源头保护电力内部系统和终端的数据安全。
[0021] 下面结合附图对本发明作进一步说明。
【专利附图】
【附图说明】
[0022] 图1是本发明实施例的系统框架示意图;
[0023] 图2是本发明实施例的程序流程图;
[0024] 图3是图2中邮件格式解析方法的程序流程图;
[0025] 图4是图2中对邮件标题及正文进行关键字匹配方法的程序流程图;
[0026] 图5是图2中对邮件附件进行关键字匹配方法的程序流程图;
[0027] 图6是图5中递归调用方法的程序流程图。
【具体实施方式】
[0028] 图1是本发明实施例的系统框架示意图。本发明实施例部署在图1所示邮件过滤 系统的邮件检测模块中,而邮件过滤系统部署在电力办公终端上。电力办公终端即为普通 的办公电脑,当员工利用邮件客户端(如Hotmail、Firefox等)或者Web浏览器登录到外 网邮件服务器上发送邮件时,邮件过滤系统会在邮件发送之前对其进行实时捕获和处理, 且仅允许那些未包含电力敏感关键字的邮件正常发送。
[0029] 邮件过滤系统主要包含三个模块:邮件拦截模块、邮件检测模块和预警模块。邮 件拦截模块主要负责实时捕获用户发送的邮件信息,并将信息发送给邮件检测模块进行分 析处理;邮件检测模块集成了本发明所述的一种基于多模匹配的电力敏感邮件实时检测方 法,主要实现对邮件信息的进行解析和敏感关键字搜索功能,并将检测结果通知邮件拦截 模块和预警模块;预警模块用于向员工展示提示信息,当员工发送的邮件因含有电力敏感 关键字被拦截时,预警模块会在屏幕右下角弹出一个窗口,提示邮件已被拦截,并显示邮件 中出现的敏感关键字。
[0030] 图2是本发明所述一种基于多模匹配的电力敏感邮件实时检测方法的程序流程 图。其具体流程为:
[0031] i.对邮件拦截模块发送过来的邮件信息进行实时解析,提取出邮件的收发件人地 址,邮件标题,邮件正文,附件标题,附件内容等信息;
[0032] ii.利用用户自定义的电力敏感关键字对多模匹配引擎进行初始化。所述多模匹 配引擎采用改进的Wu-Manber模式匹配算法,可在邮件信息中找到电力敏感关键字出现的 频率和位置。
[0033] 传统的Wu-Manber算法只支持用ASCII或GB2312格式编码的模式串,对中英文 混合模式的字符串支持不好,同时也无法对采用Unicode或UTF-8格式编码的字符串进行 搜索,这就无法满足电力敏感邮件检测系统的需求,因为自定义的电力敏感关键字需要支 持中英文混合模式,而邮件附件中经常会出现采用Unicode或UTF-8编码的字符串,例如 office文档就是采用Unicode编码,而txt文本文档也可以保存成UTF-8编码格式。
[0034] 为此,本发明对传统的Wu-Manber算法进行了改进,将电力敏感关键字的三种不 同二进制编码格式(GB2312、Unicode、UTF-8)作为三种不同的模式串,同时参与对多模匹 配引擎的预处理过程;预处理的过程与传统Wu-Manber算法类似,主要是通过逐个扫描模 式串集合Patterns (即电力敏感关键字集合),分别构建转移表SHIFT,哈希表HASH和前缀 表PREFIX三张表。
[0035] 与传统Wu-Manber算法不同的是,由于仅支持ASCII或GB2312编码格式,传统的 mi-Manber算法通常采用标准字符串变量来存放模式串集合Patterns,如公式(1)所示:
[0036] std::vector<std::string>mPatterns ; (I)
[0037] 在对模式串的扫描过程中,算法通过查看当前字符是否为0来判断是否到达模式 串的末尾,因为在ASCII或GB2312编码格式中,串结束符总是仅出现在字符串的末尾。然 而,这种方法无法在采用Unicode编码的模式串上使用,因为Unicode编码采用2个字节来 表示1个字符,当这个字符是ASCII字符时,它的高位字节就为0,这样就有可能出现在字符 串中间存在〇值的情况,这也是为什么传统mi-Manber算法不支持Unicode编码模式串的 原因。为了解决这个问题,本发明构造了一个新的结构体来表示模式串集合Patterns,如公 式(2) (3)所示:
[0038]
[0039] std: vector<mFat;5tr夕mFatterns ;⑶
【权利要求】
1. 一种基于多模匹配的电力敏感邮件实时检测方法,其特征在于,包括如下步骤: 步骤S1 :对PC机所发送的电子邮件进行实时解析,提取出邮件信息; 步骤S2 :用事先设定的电力敏感关键字对多模匹配引擎进行初始化; 步骤S3 :将步骤S1所提取的邮件信息转化成二进制字节流,输入到步骤S2所述多模 匹配引擎中,进行电力敏感关键字的匹配; 步骤S4:根据匹配结果判断该邮件是否为电力敏感邮件,如果该邮件是电力敏感邮 件,则通过邮件拦截模块对该邮件进行实时拦截,并通过预警模块发出告警信息;否则,正 常发送该邮件。
2. 根据权利要求1所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:步 骤S1所述邮件信息,包括邮件的标题和正文,以及邮件附件的标题和内容;所述邮件附件 的格式是:文本文档、ZIP/RAR压缩文档、Office办公文档、WPS办公文档和PDF文档中的一 种或多种。
3. 根据权利要求1所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:步 骤S2所述电力敏感关键字,是由用户自定义的文本字符串,文本字符串为中文、英文或中 英文混合模式的字符串。
4. 根据权利要求1所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:步 骤S2所述多模匹配引擎,是基于mi-Manber多模匹配方法,采用二进制流的匹配方式,用以 在邮件信息中查找电力敏感关键字出现的频率和位置。
5. 根据权利要求4所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:步 骤S2所述多模匹配引擎的初始化方法,是将电力敏感关键字的三种不同二进制编码格式 作为三种不同的模式串,同时参与对多模匹配引擎的预处理过程,所述的三种二进制编码 格式为 GB2312、Unicode 和 UTF-8。
6. 根据权利要求5所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:所 述的对多模匹配引擎的预处理过程,是通过扫描由所有电力敏感关键字三种不同编码格式 所形成的模式串集合Patterns,分别构建转移表SHIFT,哈希表HASH和前缀表PREFIX三张 表。
7. 根据权利要求6所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:在 将Unicode二进制编码格式作为模式串时,构建一个包含一个字符串指针变量和一个表示 该字符串长度变量的结构体,在扫描时通过该结构体来判断是否达到模式串的末尾。
8. 根据权利要求1所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:步 骤S3所述对邮件信息进行电力敏感关键字匹配的方法,是将邮件标题、正文,以及邮件附 件的标题和内容转换成二进制字节流的形式,并作为步骤S2所述多模匹配引擎的输入,而 多模匹配引擎的输出结果即为邮件信息中包含电力敏感关键字的频率及位置。
9. 根据权利要求1所述一种基于多模匹配的电力敏感邮件检测方法,其特征在于:步 骤S4所述电力敏感邮件判断,是根据多模匹配引擎的匹配结果来进行判断,如果邮件信息 中存在1个或以上的电力敏感关键字,则判断为电力敏感邮件,否则,为正常邮件。
【文档编号】G06Q50/06GK104361097SQ201410673702
【公开日】2015年2月18日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】田峥, 田建伟, 薛海伟, 漆文辉, 黎曦, 刘潇潇, 刘洁 申请人:国家电网公司, 国网湖南省电力公司, 国网湖南省电力公司电力科学研究院