发明内容
本发明旨在至少一定程度上解决上述技术中的技术问题之一。为此,本发明的目的在于提出一种网络流量敏感数据识别及动态管控方法,通过模板匹配的方式检测出敏感信息以及恶意信息,匹配速度快,对敏感信息及恶意信息的识别准确性高,避免系统受到入侵,提高系统的安全性。
为达到上述目的,本发明实施例提出了一种网络流量敏感数据识别及动态管控方法,包括:
从高速网络上捕获网络流量,对所述网络流量进行流量划分处理,得到预设数量个子网络流量,并分流到预设数量个网络流量识别队列分别处理;
每个网络流量识别队列分别对各自分配的子网络流量进行协议识别,得到属于第一协议的子网络流量及属于第二协议的子网络流量;
对属于第一协议的子网络流量进行第一协议解析及解码处理,得到第一数据信息;对属于第二协议的子网络流量进行第二协议解析及解码处理,得到第二数据信息;
对所述第一数据信息及所述第二数据信息分别基于模式匹配算法进行敏感数据识别处理,在第一数据信息中识别出敏感数据和/或在第二数据信息中识别出敏感数据后,进行动态管控处理。
根据本发明的一些实施例,所述第一协议为超文本传送协议;所述第二协议为私有协议及加密协议。
根据本发明的一些实施例,对所述第一数据信息基于模式匹配算法进行敏感数据识别处理,包括:
根据所述第一数据信息获取待匹配字符串;
根据模式集合及正则模式串建立多个模式匹配自动机;
将待匹配字符串输入所述多个模式匹配自动机中与所述正则模式串进行初次匹配,基于预设规则将所述正则模式串分成多个子串;所述多个子串分别与所述待匹配字符串进行匹配;
获取与所述待匹配字符串相匹配的子串,并在所述待匹配字符串的相应位置添加标记;
获取所述待匹配字符串上未添加标记的字符串与数据库中的敏感字符串进行二次匹配,生成匹配信息;
根据所述匹配信息确定所述第一数据信息中的敏感数据。
根据本发明的一些实施例,在将待匹配字符串输入所述模式匹配自动机中与所述正则模式串进行初次匹配前,还包括:
将所述待匹配字符串与病毒库中病毒字符串进行匹配;
统计所述待匹配字符串中与病毒字符串相匹配的特征字符串及数量;
根据相匹配的特征字符串及数量,判断是否可以组成至少一条病毒信息;
在确定可以组成至少一条病毒信息时,对所述待匹配字符串上附带的病毒信息进行杀毒处理。
根据本发明的一些实施例,在确定可以组成至少一条病毒信息时,还包括:获取所述待匹配字符串附带的病毒信息的时间戳及标识信息进行显示。
根据本发明的一些实施例,还包括,根据预设时间间隔检测所述模式集合是否增加或减少模式数量,在确定所述模式集合增加或减少模式数量时,对建立的模式匹配自动机进行修正处理。
根据本发明的一些实施例,在将待匹配字符串输入所述多个模式匹配自动机中与所述正则模式串进行初次匹配的过程中,还包括:
确定多个模式匹配自动机的匹配质量;
在确定所述多个模式匹配自动机中至少一个模式匹配自动机不满足预设条件时,从所述多个模式匹配自动机中剔除所述匹配质量不满足预设条件的模式匹配自动机;
在剔除所述匹配质量不满足预设条件的模式匹配自动机之后,计算所述多个模式匹配自动机中剩余模式匹配自动机的匹配速率,并判断是否小于预设匹配速率;
在确定所述匹配速率小于预设匹配速率时,发出匹配速率低的预警信息,且将所述多个模式匹配自动机中剩余模式匹配自动机的等待匹配任务分配至临时模式匹配自动机上执行,所述临时模式匹配自动机为协助所述剩余模式匹配自动机完成匹配任务临时新建的。
根据本发明的一些实施例,在确定所述模式集合增加模式数量时,对建立的模式匹配自动机进行修正处理,包括:
获取所述建立的模式匹配自动机上的分支信息及分支上对应的节点信息,并分别进行标号;
将所述模式集合拆分成多个模式,获取增加的模式在模式集合中的位置信息,根据所述位置信息确定新增加的模式对应的分支,及分支上对应的新增加的节点;
初始化根节点,获取根节点到新增加的节点的最小距离信息;
根据所述最小距离信息确定新增加的节点的失败指针,进而对建立的模式匹配自动机进行修正处理。
在一实施例中,所述统计所述待匹配字符串中与病毒字符串相匹配的特征字符串及数量,包括:
S11、对所述待匹配字符串进行拆分,得到N个特征字符串;
S12、将N个特征字符串分别与所述病毒库中病毒字符串进行匹配,计算N个特征字符串与同一病毒字符串的N个距离值,筛选出距离值小于预设距离值的特征字符串,计算距离值小于预设距离值的特征字符串与病毒字符串的匹配度,并判断是否大于预设匹配度;
计算一特征字符串与一病毒字符串的距离值d:
其中,
为特征字符串中第i个概念;
为病毒字符串中第j个概念;
为特
征字符串中第i个概念出现的次数;
为病毒字符串中第j个概念;n为特征字符串中包括
的概念的数量;m为病毒字符串中包括的概念的数量;
根据一特征字符串与一病毒字符串的距离值,计算距离值小于预设距离值的特征字符串与病毒字符串的匹配度p:
其中,z为特征字符串中组成子串的数量,也为病毒字符串中组成子串的数量,特
征字符串中组成子串的数量与病毒字符串中组成子串的数量相同;
为特征字符串的第t
个组成子串的长度;
为病毒字符串的第t个组成子串的长度;
S13、在确定所述匹配度大于预设匹配度时,记录相匹配的特征字符串并进行计数。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
下面参考图1至图3来描述本发明实施例提出的一种网络流量敏感数据识别及动态管控方法。
如图1所示,本发明实施例提出了一种网络流量敏感数据识别及动态管控方法,包括步骤S1-S4:
S1、从高速网络上捕获网络流量,对所述网络流量进行流量划分处理,得到预设数量个子网络流量,并分流到预设数量个网络流量识别队列分别处理;
S2、每个网络流量识别队列分别对各自分配的子网络流量进行协议识别,得到属于第一协议的子网络流量及属于第二协议的子网络流量;
S3、对属于第一协议的子网络流量进行第一协议解析及解码处理,得到第一数据信息;对属于第二协议的子网络流量进行第二协议解析及解码处理,得到第二数据信息;
S4、对所述第一数据信息及所述第二数据信息分别基于模式匹配算法进行敏感数据识别处理,在第一数据信息中识别出敏感数据和/或在第二数据信息中识别出敏感数据后,进行动态管控处理。
上述技术方案的工作原理:从高速网络上捕获网络流量,对所述网络流量进行流量划分处理,得到预设数量个子网络流量,并分流到预设数量个网络流量识别队列分别处理;每个网络流量识别队列分别对各自分配的进行协议识别,主要对子网络流量的协议类型进行识别,得到属于第一协议的子网络流量及属于第二协议的子网络流量;所述第一协议为超文本传送协议;所述第二协议为私有协议及加密协议。对属于第一协议的子网络流量进行第一协议解析及解码处理,得到第一数据信息;第一协议解析及解码处理提取出超文本传送协议的数据包,提取其中的文本数据,并根据提取的文本数据的数据类型和编码信息进行解码得到第一数据信息,第一数据信息包括根据文本数据的字符集信息、序列号、时间戳等。对属于第二协议的子网络流量进行第二协议解析及解码处理,得到第二数据信息;第二协议解析及解码处理为根据预设的私有协议及加密协议数据表进行查询,获取的相应的处理方式。示例的,对加密协议先预设规则进行解密后提取解密后的文本数据,进而进行解析及解码。对所述第一数据信息及所述第二数据信息分别基于模式匹配算法进行敏感数据识别处理,在第一数据信息中识别出敏感数据和/或在第二数据信息中识别出敏感数据后,进行动态管控处理。示例的,在第一数据信息中识别出敏感数据时,实现第二级别的阻断处理;第二数据信息中识别出敏感数据,实现第三级别的阻断处理;在第一数据信息中识别出敏感数据和在第二数据信息中识别出敏感数据后,实现第一级别的阻断处理。其中,第一级别、第二级别、第三级别的阻断效果依次降低。
上述技术方案的有益效果:将从高速网络上捕获网络流量进行流量划分处理,分割成较小的子网络流量并分别用网络流量识别队列进行一一对应处理,保证对网络流量识别的准确性,进而提高对敏感数据的识别。同时对子网络流量的协议类型进行识别,基于协议类型的不同通过不同的协议解析及解码处理,进而得到更准确的数据信息,对获取的数据信息分别进行基于模式匹配算法进行敏感数据识别处理,根据识别结果的处理,调整使用不同级别的管控措施来进行动态管控,提高了敏感信息及恶意信息识别的准确性,进而有效的阻断了敏感信息及恶意信息,避免系统受到恶意入侵,提高系统的安全性。同时对不同的数据信息分别进行敏感数据识别,提高了在敏感数据识别处理中对敏感数据匹配的匹配速率。
如图2所示,根据本发明的一些实施例,对所述第一数据信息基于模式匹配算法进行敏感数据识别处理,包括步骤S41-S46:
S41、根据所述第一数据信息获取待匹配字符串;
S42、根据模式集合及正则模式串建立多个模式匹配自动机;
S43、将待匹配字符串输入所述多个模式匹配自动机中与所述正则模式串进行初次匹配,基于预设规则将所述正则模式串分成多个子串;所述多个子串分别与所述待匹配字符串进行匹配;
S44、获取与所述待匹配字符串相匹配的子串,并在所述待匹配字符串的相应位置添加标记;
S45、获取所述待匹配字符串上未添加标记的字符串与数据库中的敏感字符串进行二次匹配,生成匹配信息;
S46、根据所述匹配信息确定所述第一数据信息中的敏感数据。
上述技术方案的工作原理及有益效果:根据所述第一数据信息获取待匹配字符串;根据模式集合及正则模式串建立多个模式匹配自动机;将待匹配字符串输入所述多个模式匹配自动机中与所述正则模式串进行初次匹配,基于预设规则将所述正则模式串分成多个子串;所述多个子串分别与所述待匹配字符串进行匹配;实现对待匹配字符串中带正则特性的字符串的匹配,避免带正则特性的字符串的重复匹配,减少匹配任务,提高匹配速率。获取与所述待匹配字符串相匹配的子串,并在所述待匹配字符串的相应位置添加标记;对待匹配字符串中已完成初次匹配的带正则特性的字符串进行标记,避免重复匹配,同时也避免了内存空间被大量占用。获取所述待匹配字符串上未添加标记的字符串与数据库中的敏感字符串进行二次匹配,生成匹配信息;根据所述匹配信息确定所述第一数据信息中的敏感数据。通过二次匹配准确实现对待匹配字符串中带正则特性的字符串与不带正则特性的字符串的匹配,去除带正则特性的字符串的影响,在第二次匹配中准确识别敏感数据。
在一实施例中,对第二数据信息进行敏感数据识别处理与对第一数据信息进行敏感数据识别处理的原理一致,此处不再赘述。
根据本发明的一些实施例,在将待匹配字符串输入所述模式匹配自动机中与所述正则模式串进行初次匹配前,还包括:
将所述待匹配字符串与病毒库中病毒字符串进行匹配;
统计所述待匹配字符串中与病毒字符串相匹配的特征字符串及数量;
根据相匹配的特征字符串及数量,判断是否可以组成至少一条病毒信息;
在确定可以组成至少一条病毒信息时,对所述待匹配字符串上附带的病毒信息进行杀毒处理。
上述技术方案的工作原理及有益效果:在将待匹配字符串输入所述模式匹配自动机中与所述正则模式串进行初次匹配前,将所述待匹配字符串与所述病毒库中病毒字符串进行匹配;统计所述待匹配字符串中与病毒字符串相匹配的特征字符串及数量;根据相匹配的特征字符串及数量,判断是否可以组成至少一条病毒信息;在确定可以组成至少一条病毒信息时,对所述待匹配字符串上附带的病毒信息进行杀毒处理。在识别敏感数据前进行杀毒检测,在检测到待匹配字符串带有病毒信息时,及时进行杀毒处理,减少了待匹配字符串中的病毒信息,减少了匹配量,提高了匹配速率,同时保证待匹配字符串的安全性,进而保证系统的安全性。
根据本发明的一些实施例,在确定可以组成至少一条病毒信息时,还包括:获取所述待匹配字符串附带的病毒信息的时间戳及标识信息进行显示。
上述技术方案的工作原理及有益效果:获取所述待匹配字符串附带的病毒信息的时间戳及标识信息进行显示,使得用户可以及时查看病毒的类型,携带病毒的时间等信息,便于下次有效的预防。
根据本发明的一些实施例,还包括,根据预设时间间隔检测所述模式集合是否增加或减少模式数量,在确定所述模式集合增加或减少模式数量时,对建立的模式匹配自动机进行修正处理。
上述技术方案的工作原理及有益效果:根据预设时间间隔检测所述模式集合是否增加或减少模式数量,在确定所述模式集合增加或减少模式数量时,对建立的模式匹配自动机进行修正处理。避免了现有技术中在模式集合发生变化时,需要重新构建模式自动机,减少了构建时间,实现了系统的快速响应性,减少等待时间。
如图3所示,根据本发明的一些实施例,在将待匹配字符串输入所述多个模式匹配自动机中与所述正则模式串进行初次匹配的过程中,还包括步骤S431-S434:
S431、确定多个模式匹配自动机的匹配质量;
S432、在确定所述多个模式匹配自动机中至少一个模式匹配自动机不满足预设条件时,从所述多个模式匹配自动机中剔除所述匹配质量不满足预设条件的模式匹配自动机;
S433、在剔除所述匹配质量不满足预设条件的模式匹配自动机之后,计算所述多个模式匹配自动机中剩余模式匹配自动机的匹配速率,并判断是否小于预设匹配速率;
S434、在确定所述匹配速率小于预设匹配速率时,发出匹配速率低的预警信息,且将所述多个模式匹配自动机中剩余模式匹配自动机的等待匹配任务分配至临时模式匹配自动机上执行,所述临时模式匹配自动机为协助所述剩余模式匹配自动机完成匹配任务临时新建的。
上述技术方案的工作原理:在将待匹配字符串输入所述多个模式匹配自动机中与所述正则模式串进行初次匹配的过程中,确定多个模式匹配自动机的匹配质量,匹配质量包括匹配的准确性及匹配的速率等。在确定所述多个模式匹配自动机中至少一个模式匹配自动机不满足预设条件时,从所述多个模式匹配自动机中剔除所述匹配质量不满足预设条件的模式匹配自动机;在剔除所述匹配质量不满足预设条件的模式匹配自动机之后,计算所述多个模式匹配自动机中剩余模式匹配自动机的匹配速率,并判断是否小于预设匹配速率;在确定所述匹配速率小于预设匹配速率时,发出匹配速率低的预警信息,且将所述多个模式匹配自动机中剩余模式匹配自动机的等待匹配任务分配至临时模式匹配自动机上执行,所述临时模式匹配自动机为协助所述剩余模式匹配自动机完成匹配任务临时新建的。具体的剩余模式匹配自动机位于A终端,临时模式匹配自动机位于与A终端连接的B终端上。
上述技术方案的有益效果:筛选去除匹配质量差的模式匹配自动机,在确定剩余模式匹配自动机的匹配速率小于预设匹配速率时,通过临时模式匹配自动机实现匹配速率,快速准确的识别出敏感数据,减少等待时间,提高用户体验。
根据本发明的一些实施例,在确定所述模式集合增加模式数量时,对建立的模式匹配自动机进行修正处理,包括:
获取所述建立的模式匹配自动机上的分支信息及分支上对应的节点信息,并分别进行标号;
将所述模式集合拆分成多个模式,获取增加的模式在模式集合中的位置信息,根据所述位置信息确定新增加的模式对应的分支,及分支上对应的新增加的节点;
初始化根节点,获取根节点到新增加的节点的最小距离信息;
根据所述最小距离信息确定新增加的节点的失败指针,进而对建立的模式匹配自动机进行修正处理。
上述技术方案的工作原理:获取所述建立的模式匹配自动机上的分支信息及所述分支上对应的节点信息,并分别进行标号;将所述模式集合拆分成多个模式,获取增加的模式在模式集合中的位置信息,根据所述位置信息确定新增加的模式对应的分支,及分支上对应的新增加的节点;初始化根节点,获取根节点到新增加的节点的最小距离信息;根据所述最小距离信息确定新增加的节点的失败指针,进而对建立的模式匹配自动机进行修正处理。新增加的节点的失败指针为新增加的节点在节点匹配失败后的方向指向根节点。
上述技术方案的有益效果:避免模式匹配自动机重新构建,只需根据新增加的模式,新增加对应的节点,进而确定新增加对应的节点,实现对建立的模式匹配自动机进行修正处理,更加简单有效,减少构建的等待时间,节约系统内存。
在一实施例中,在确定所述模式集合减少模式数量时,对建立的模式匹配自动机进行修正处理,与上述增加模式数量的原理一致,此处不再赘述。
在一实施例中,所述统计所述待匹配字符串中与病毒字符串相匹配的特征字符串及数量,包括:
S11、对所述待匹配字符串进行拆分,得到N个特征字符串;
S12、将N个特征字符串分别与所述病毒库中病毒字符串进行匹配,计算N个特征字符串与同一病毒字符串的N个距离值,筛选出距离值小于预设距离值的特征字符串,计算距离值小于预设距离值的特征字符串与病毒字符串的匹配度,并判断是否大于预设匹配度;
计算一特征字符串与一病毒字符串的距离值d:
其中,
为特征字符串中第i个概念;
为病毒字符串中第j个概念;
为特
征字符串中第i个概念出现的次数;
为病毒字符串中第j个概念;n为特征字符串中包括
的概念的数量;m为病毒字符串中包括的概念的数量;
根据一特征字符串与一病毒字符串的距离值,计算距离值小于预设距离值的特征字符串与病毒字符串的匹配度p:
其中,z为特征字符串中组成子串的数量,也为病毒字符串中组成子串的数量,特
征字符串中组成子串的数量与病毒字符串中组成子串的数量相同;
为特征字符串的第t
个组成子串的长度;
为病毒字符串的第t个组成子串的长度;
S13、在确定所述匹配度大于预设匹配度时,记录相匹配的特征字符串并进行计数。
上述技术方案的工作原理及有益效果:对所述待匹配字符串进行拆分,得到N个特
征字符串,用于表示待匹配字符串的特征向量;病毒字符串用于表示病毒特征。将N个特征
字符串分别与所述病毒库中病毒字符串进行匹配,计算N个特征字符串与同一病毒字符串
的N个距离值,筛选出距离值小于预设距离值的特征字符串,计算距离值小于预设距离值的
特征字符串与病毒字符串的匹配度,并判断是否大于预设匹配度;在确定所述匹配度大于
预设匹配度时,记录相匹配的特征字符串并进行计数。可以准确的记录相匹配的特征字符
串并统计数量,进而准确判断是否可以组成一条病毒信息,提高控制的准确性。
为特征
字符串中第i个概念,即表示特征字符串中表示的特征向量的语义信息。根据特征字符串中
第i个概念、病毒字符串中第j个概念等参数准确计算出一特征字符串与一病毒字符串的距
离值,提高了判断与预设距离值大小的准确性,进而准确筛选出距离值小于预设距离值的
特征字符串,进而准确计算出距离值小于预设距离值的特征字符串与病毒字符串的匹配
度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。