一种密码安全态势感知系统的制作方法

未命名 07-27 阅读:122 评论:0


1.本发明涉及计算机信息安全技术领域,特别涉及一种密码安全态势感知系统。


背景技术:

2.随着计算机技术飞速发展,互联网应用的普及率日益增加,互联网应用的规模及范围愈发扩大的同时,技术发展也带来了日益严重的安全威胁。传统的网络安全技术如访问控制、入侵检测、网络安全防火墙等已不再能够为日益发展的互联网应用提供足够的安全防护能力。因此为应对日益复杂的安全形势,网络安全态势感知技术应运而生,目前该技术受到普遍的关注。在日常生活领域,通过挖掘和分析各种网络设备运行和网络数据传输时产生的大量信息,就能从中获取网络安全的态势和规律,帮助网管人员监控网络状态并及时作出决策。
3.然而,随着网络应用服务的个性化和通信网络结构的复杂化,互联网的监管以及检测愈来愈困难。虽然相关的检测以及管理技术正在不断的发展,但是并不能很好地解决检测愈来愈困难这类问题。并且随着互联网通信变得越来越复杂且多样化,无论是出于国家或者是个人的需要针对网络流量进行溯源以及检测变得很有必要;但是现有技术中虽能通过针对对网络流量进行分析检测方案了解到网络信息的来源去向以及特点,并且分析结果可以有效地帮助我们进行网络的调整,但是随着在网络流量中数据越来越多,现有的网络协议识别机制遇到了挑战。
4.其中,网络协议识别中最常见的方式就是深度报文检测(dpi),深度报文检测技术不仅检查数据包的头首部信息,还对部分载荷或者全部载荷进行检测,通过寻找预定义的字符串特征,与特征库进行比对确定数据包的协议类型。基于深度包检测技术协议识别方法能够避免对端口的过分依赖,减小端口滥用、伪装等技术对协议识别的影响。然而,特征库的建立往往需要大量的人工参与。工程师根据经验和协议的rfc标准为协议流量创建特征规则,这使得在具有大量新生协议和非标准私有协议的现实而复杂的网络环境中难以更新。此外,手动提取的协议特征的维护也是一大难点,复杂的特征可能需要不同的程序代码逻辑来匹配。这就是为什么传统防火墙的准确性低的原因。


技术实现要素:

5.本发明的目的在于,提出一种基于grammatch的自动协议特征提取和识别系统,能够自动高效地识别网络协议,同时对网络与不同信息系统中的密码算法及应用进行评估,检验其合规性、正确性及有效性,利用可视化手段展示密码应用基本态势,确保密码应用的安全性。
6.为了实现上述目的,本发明提供了如下技术方案:
7.一种密码安全态势感知系统,包括:流量采集模块、数据存储模块、协议识别模块和可视化展示模块;
8.所述流量采集模块,用于采集网络中原始流量,形成原始流量数据包并对所述原
始流量数据包进行自底向上解析预处理,得到数据流;
9.所述协议识别模块,用于基于grammatch协议方法从所述数据流中识别网络协议,并从识别出的网络协议中提取与加密通信相关的密码参数;
10.所述数据存储模块,用于对所述协议识别模块的识别结果进行存储;
11.所述可视化展示模块,采用vue前端框架和echarts组件配合所述数据存储模块中存储的内容,用于实现系统与用户进行交互、对密码应用态势的指标进行展示以及对密码应用的合规性进行检测。
12.优选的,所述流量采集模块,包括:采集模块和第一预处理模块;
13.其中,所述采集模块,采用libpcap技术捕获网络链路中的原始流量或读取相关的.pcap文件,并基于捕获和读取结果形成所述原始流量数据包;
14.所述第一预处理模块,用于在进行协议识别前,依次对所述原始流量数据包内数据链路层、网络层和传输层首部进行解析预处理,并根据网络层和传输层首部的信息组成五元组,利用所述五元组标记同一条数据流,实现分流。
15.优选的,根据网络层和传输层首部的信息组成五元组,利用所述五元组标记同一条数据流,实现分流,具体包括:基于n-gram算法和所述五元组标记的属性,利用大小为n的滑动窗口对所述数据流切分操作,得到一系列的长度为n的片段序列;其中,每一个片段称为gram,对全部的gram进行频率统计,并按照预置的阈值进行片段的筛选,最终形成关键片段列表。
16.优选的,所述协议识别模块,包括:第二预处理模块、特征提取模块、特征匹配模块;
17.所述第二预处理模块,用于基于相似度与顺序对所述第一预处理模块进行分流结果进行有效负载对齐;
18.所述特征提取模块,用于对经过所述第二预处理模块处理得到的数据包进行特征提取,得到目标特征模式;
19.所述特征匹配模块,用于将所述目标特征模式与数据包的有效负载相匹配,完成协议识别。
20.优选的,所述第二预处理模块,用于基于相似度与顺序对所述第一预处理模块进行分流结果进行有效负载对齐,具体包括:
21.将分流后的每个流中的每个数据包的前n个字节作为标签,并通过计算初始对齐流中每个原始流量数据包的标签相似度调整在每个流中各个所述数据包的顺序;
22.其中,在计算两种类型的数据包之间的相似度时使用levenstein距离;两个字符串p和q之间的levenstein相似度的计算公式如下:
[0023][0024]
优选的,所述特征提取模块,用于对经过所述第二预处理模块处理得到的数据包进行特征提取,得到目标特征模式,具体包括:
[0025]
s1.关键字分组:将主要关键字和次要关键字分组在一起;对于一类有效载荷中的位置i,将类别数量计算为s(i),并计算所述有效载荷位置i与在先位置r(i)的变化程度公式如下:
[0026][0027]
其中,主关键字将从具有最小r(i)的位置开始,称为group_pos;由于位置0没有r(0),因此如果s(group_pos)》s(0)时,将group_pos更改为0;
[0028]
s2.关键字提取:在所述有效载荷分组之后,通过概率计算来提取关键词;
[0029]
对于某一个gram(k),其前面有n种gram;
[0030]
gram前面的每一个gram(k)都有一个频率f(),它们的总和符合如下公式:
[0031]
f(gram(k))=f(gram(1))+f(gram(2))+
···
+f(gram(n));
[0032]
gram(i)和gram(k)两者之间的比率关系用公式计算:
[0033][0034]
1=rf(gram(1))+rf(gram(2))+
···
+rf(gram(n));
[0035]
在gram(k)之后的gram也有上述比率关系,记作bg(gram(k))和rb();
[0036]
利用每个gram在其上一个gram和下一个gram之间的比率关系将gram组合回关键字;并且通过设置rf()和rb()的投票阈值,所述有效载荷将被重新划分为被视为关键字的片段;其中,频率分数是关键字的最终分数,利用所述频率分数对所述有效载荷进行排序;
[0037]
s3.特征生成:将频率最高的模式选为一组所述有效载荷的特征模式;其中,每个所述特征模式及所述特获赠模式在第二预处理步骤中记录的顺序都与协议的特征相结合;
[0038]
其中,所述模式用链表表示。
[0039]
优选的,所述目标特征模式与数据包的有效负载匹配的概率用以下公式计算:
[0040][0041]
其中dup表示重复有效负载的计数;matched表示真正匹配的有效负载计数;l en(f)指示流中的有效负载数f;grammatch算法选择概率最高的协议作为最终结果,当两个协议特征具有相同的概率或最高概率为0,则被识别的流将被视为“未知”。
[0042]
经由上述的内容可知与现有技术相比,本发明的有益效果在于:
[0043]
本发明可以对网络关键节点中的原始流量进行采集,并对采集的数据进行预处理,之后利用基于grammatch的自动协议识别方法,对流量中的协议进行识别,进一步从中提取网络参数,从而能够判断信息系统密码的使用是否合规、正确;同时可视化展示模块将协议识别与统计的结果通过web界面进行展示;将密码应用安全态势展示给用户,从而实现对密码应用的管控。
附图说明
[0044]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0045]
图1为本发明系统的整体架构图。
[0046]
图2为协议识别分析流程示意图。
[0047]
图3为特征提取流程示意图。
具体实施方式
[0048]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049]
实施例1:
[0050]
本实施例提出一种密码安全态势感知系统,首先通过相似度与顺序对齐协议流中的数据包,然后利用n-gram的统计特征进行关键字分割,并获取关键字的相关特征作为协议特征。最后,它根据提取的特征执行协议识别。
[0051]
具体地:
[0052]
包括:流量采集模块、数据存储模块、协议识别模块和可视化展示模块;
[0053]
流量采集模块,用于采集网络中原始流量,形成原始流量数据包并对原始流量数据包进行自底向上解析预处理,得到数据流;
[0054]
协议识别模块,用于基于grammatch协议方法从数据流中识别网络协议,并从识别出的网络协议ssl协议和i psec协议中提取与加密通信相关的密码参数;其中,与加密通信相关的密码参数如密码套件、字证书等,供后续对密码应用的安全性进行评估。
[0055]
数据存储模块,用于对协议识别模块的识别结果进行存储;
[0056]
可视化展示模块,采用vue前端框架和echarts组件配合数据存储模块中存储的内容,用于实现系统与用户进行交互、对密码应用态势的指标进行展示以及对密码应用的合规性进行检测。
[0057]
其中,在本实施例中流量采集的任务是采用libpcap技术捕获网络链路中的原始流量或读取相关的.pcap文件,为平台提供数据支持。流量采集要能够应对高速网络环境而不影响网络性能,同时应该能够捕获完整的数据包,并控制丢包率。流量采集模块通过在网络关键节点处部署高速采集设备或者采用端口镜像交换机基于旁路监听原理来捕获网络中的数据包。具体地:由采集模块和第一预处理模块两部分组成。数据采集时,通过部署在网络核心骨干节点的网络探针采集网络中的原始流量,之后对采集到的数据包进行预处理,预处理时将数据包自底向上进行解析,依次对数据链路层、网络层和传输层首部进行分析,并根据网络层和传输层首部的信息组成五元组《源ip、目的ip、源端口、目的端口、协议号》,使用这五元组来标记同一条数据流,并进行分流。因此该流量采集模块为整个平台提供了数据支撑,是后续其他模块运行的基础。
[0058]
其中,协议识别模块,包括:第二预处理模块、特征提取模块、特征匹配模块;
[0059]
第二预处理模块,用于基于相似度与顺序对第一预处理模块进行分流结果进行有效负载对齐;
[0060]
特征提取模块,用于对经过第二预处理模块处理得到的数据包进行特征提取,得到目标特征模式;
[0061]
特征匹配模块,用于将目标特征模式与数据包的有效负载相匹配,完成协议识别。
[0062]
如图2为本发明的基于grammatch的协议识别分析流程示意图,协议识别的过程如下:
[0063]
步骤201:首先对数据包进行分流,这样能简化之后的流量分类工作,提高分类的效率。流是一组数据包的集合,这些数据包具有相同的属性字段:源ip、源端口、目的ip、目的端口和协议号。分流就是要把具有不同属性的数据包区分成不同的流。之后处理以字节为单位组成的网络数据流,把它从二进制数据转换成十六进制数据,再用大小为n的滑动窗口将数据流切分成一系列的长度为n的片段序列,每一个片段称为gram。
[0064]
其中,对全部的gram进行频率统计,并按照预置的阈值进行片段的筛选,最终形成关键片段列表。
[0065]
需要说明的是n-gram算法的基本思想就是,将数据流进行大小为n的滑动窗口进行切分操作。形成一系列的长度为n的片段序列,每一个片段称为gram,对全部的gram进行频率统计,并按照事先设置的阈值进行片段的筛选,最终形成关键片段列表。
[0066]
步骤202:为了避免在真实网络中由于数据包丢失或者相同指令重复等原因导致的数据包乱序出现,我们使用相似性对数据包进行对齐,使用levenshtein距离来计算两种类型的数据包之间的相似性。
[0067]
其中,基于相似度与顺序对第一预处理模块进行分流结果进行有效负载对齐,具体包括:
[0068]
将分流后的每个流中的每个数据包的前n个字节作为标签,并通过计算初始对齐流中每个原始流量数据包的标签相似度调整在每个流中各个数据包的顺序;
[0069]
其中,在计算两种类型的数据包之间的相似度时使用levenstein距离;两个字符串p和q之间的levenstein相似度的计算公式如下:
[0070][0071]
步骤203:为了避免受到其他组关键字的影响,我们将主要关键字和次要关键字分组在一起,通过计算相同类型的数据包的r(i)和s(i)来确定主关键字的初始位置。
[0072]
具体地,在本实施例中将相似的有效负载对齐在一起后,进行提取关键字。首先,将主要关键字和次要关键字分组在一起;对于一类有效载荷中的位置i,我们将其类别数量计算为s(i),并计算有效载荷位置i与在先位置r(i)的变化程度。
[0073][0074]
其中,主关键字将从具有最小r(i)的位置开始,称为group_pos。由于位置0没有r(0),因此如果s(group_pos)》s(0)时,将group_pos更改为0。
[0075]
步骤204:由于n-gram在进行数据切分时,采用的多滑动窗口导致关键字之间必定有一定的分割,导致关键字之中存在冗余,因此需要进行关键字融合,将频率相差不大且相差位置都为1的关键字融合后生成新的特征关键字。
[0076]
具体地:在有效载荷分组之后,能通过简单的概率计算来提取关键词。
[0077]
对于某一个gram(k),其前面有n种gram。
[0078]
fg(gram(k))={gram(1),gram(2),
···
,gram(n)};
[0079]
这里的k和n之间没有关系。
[0080]
gram前面的每一个gram(k)都有一个频率f(),它们的总和符合如下公式:
[0081]
f(gram(k))=f(gram(1))+f(gram(2))+
···
+f(gram(n));
[0082]
gram(i)和gram(k)两者之间的比率关系用公式计算:
[0083][0084]
1=r f(gram(1))+r f(gram(2))+
···
+r f(gram(n));
[0085]
在gram(k)之后的gram也有这些关系,记作bg(gram(k))和rb()。
[0086]
使用每个gram在其上一个gram和下一个gram之间的关系将gram组合回关键字。例如,关键字user被分为use和ser,因此,gram use的前一个gram集合fg()必须具有各种类型的gram,并且每一个都具有较低的rf(),或者关键字比user长。gram use的下一个gram总是ser,所以bg()包含的gram类型很少,rb(gram(“ser”))很高,这意味着将它们组合在一起。
[0087]
通过设置rf()和rb()的投票阈值,有效载荷将被重新划分为被视为关键字的片段。freq(关键字)表示在所有分组的有效载荷中包含特定关键字的有效载荷的数量。因为我们已经使用了位置信息来分组分组,使用了长度信息来过滤关键字,所以没有必要再次对它们进行排序。频率分数是关键字的最终分数,我们使用该分数对它们进行排序。
[0088]
步骤205:将频率最高的一组关键字选为特征模式。
[0089]
具体地:将频率最高的模式选为一组有效载荷的特征模式;其中,每个特征模式及特获赠模式在第二预处理步骤中记录的顺序都与协议的特征相结合;
[0090]
其中,模式用链表表示。
[0091]
步骤206:将有效负载与特征库中的特征模型进行匹配,最终完成协议识别。
[0092]
具体地:
[0093]
由于在特征生成部分,我们选择链表来表示模式。因此,当有效负载与模式匹配时,只有通过所有关键字并匹配“开始”标记(如果同时存在)的有效负载才会被视为匹配。其他的将被视为不匹配。
[0094]
要识别的流与某个协议特征的匹配概率通过下面公式计算,其中dup表示重复有效负载的计数,以及matched表示真正匹配的有效负载计数。l en(f)指示流中的有效负载数f.该算法选择概率最高的协议作为最终结果。当两个协议特征具有相同的概率或最高概率为0,则该流将被视为“未知”。
[0095][0096]
在识别出国内相关标准的协议之后,提取其使用的相关加密参数,为后续模块判断重要信息系统密码的使用是否合规、正确及有效提供数据。
[0097]
另外,ssl在建立会话连接的过程中是非加密的,因此能从握手过程中提取出待检测的安全参数,如协商的协议版本、密码套件、双方交换的数字证书等。这些信息主要存在于clienthello、serverhello和certificate消息中。hello消息用于通信双方安全参数的协商,分为clienthello消息和serverhello消息。certificate消息用于携带服务器或客户
端的数字证书。
[0098]
ipsec由安全报文协议和密钥交换协议组成。安全报文协议包括ah协议和esp协议;密钥交换协议包含ike协议。ike协议分为两个阶段:第一阶段建立isakmp sa,来实现通信双方的身份认证和密钥交换,以保护第二阶段的协商;第二阶段建立ipsec sa,以确定数据通信的共享策略和会话密钥。国密标准规定了两种交换模式分别对应上面两个阶段,主模式用于第一阶段,快速模式用于第二阶段。
[0099]
根据上面对密钥交换协议的分析可知,ipsec在主模式阶段协商密码参数的过程是未加密的,因此能从该过程中提取出要检测的安全参数,例如对称加密算法、非对称加密算法、杂凑算法、验证方式等。
[0100]
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种密码安全态势感知系统,其特征在于,包括:流量采集模块、数据存储模块、协议识别模块和可视化展示模块;所述流量采集模块,用于采集网络中原始流量,形成原始流量数据包并对所述原始流量数据包进行自底向上解析预处理,得到数据流;所述协议识别模块,用于基于grammatch协议方法从所述数据流中识别网络协议,并从识别出的网络协议中提取与加密通信相关的密码参数;所述数据存储模块,用于对所述协议识别模块的识别结果进行存储;所述可视化展示模块,采用vue前端框架和echarts组件配合所述数据存储模块中存储的内容,用于实现系统与用户进行交互、对密码应用态势的指标进行展示以及对密码应用的合规性进行检测。2.根据权利要求1所述的一种密码安全态势感知系统,其特征在于,所述流量采集模块,包括:采集模块和第一预处理模块;其中,所述采集模块,采用libpcap技术捕获网络链路中的原始流量或读取相关的.pcap文件,并基于捕获和读取结果形成所述原始流量数据包;所述第一预处理模块,用于在进行协议识别前,依次对所述原始流量数据包内数据链路层、网络层和传输层首部进行解析预处理,并根据网络层和传输层首部的信息组成五元组,利用所述五元组标记同一条数据流,实现分流。3.根据权利要求2所述的一种密码安全态势感知系统,其特征在于,根据网络层和传输层首部的信息组成五元组,利用所述五元组标记同一条数据流,实现分流,具体包括:基于n-gram算法和所述五元组标记的属性,利用大小为n的滑动窗口对所述数据流切分操作,得到一系列的长度为n的片段序列;其中,每一个片段称为gram,对全部的gram进行频率统计,并按照预置的阈值进行片段的筛选,最终形成关键片段列表。4.根据权利要求2所述的一种密码安全态势感知系统,其特征在于,所述协议识别模块,包括:第二预处理模块、特征提取模块、特征匹配模块;所述第二预处理模块,用于基于相似度与顺序对所述第一预处理模块进行分流结果进行有效负载对齐;所述特征提取模块,用于对经过所述第二预处理模块处理得到的数据包进行特征提取,得到目标特征模式;所述特征匹配模块,用于将所述目标特征模式与数据包的有效负载相匹配,完成协议识别。5.据权利要求4所述的一种密码安全态势感知系统,其特征在于,所述第二预处理模块,用于基于相似度与顺序对所述第一预处理模块进行分流结果进行有效负载对齐,具体包括:将分流后的每个流中的每个数据包的前n个字节作为标签,并通过计算初始对齐流中每个原始流量数据包的标签相似度调整在每个流中各个所述数据包的顺序;其中,在计算两种类型的数据包之间的相似度时使用levenstein距离;两个字符串p和q之间的levenstein相似度的计算公式如下:
6.根据权利要求4所述的一种密码安全态势感知系统,其特征在于,所述特征提取模块,用于对经过所述第二预处理模块处理得到的数据包进行特征提取,得到目标特征模式,具体包括:s1.关键字分组:将主要关键字和次要关键字分组在一起;对于一类有效载荷中的位置i,将类别数量计算为s(i),并计算所述有效载荷位置i与在先位置r(i)的变化程度公式如下:其中,主关键字将从具有最小r(i)的位置开始,称为group_pos;由于位置0没有r(0),因此如果s(group_pos)>s(0)时,将group_pos更改为0;s2.关键字提取:在所述有效载荷分组之后,通过概率计算来提取关键词;对于某一个gram(k),其前面有n种gram;gram前面的每一个gram(k)都有一个频率f(),它们的总和符合如下公式:f(gram(k))=f(gram(1))+f(gram(2))+
···
+f(gram(n));gram(i)和gram(k)两者之间的比率关系用公式计算:1=r f(gram(1))+r f(gram(2))+
···
+r f(gram(n));在gram(k)之后的gram也有上述比率关系,记作bg(gram(k))和rb();利用每个gram在其上一个gram和下一个gram之间的比率关系将gram组合回关键字;并且通过设置rf()和rb()的投票阈值,所述有效载荷将被重新划分为被视为关键字的片段;其中,频率分数是关键字的最终分数,利用所述频率分数对所述有效载荷进行排序;s3.特征生成:将频率最高的模式选为一组所述有效载荷的特征模式;其中,每个所述特征模式及所述特获赠模式在第二预处理步骤中记录的顺序都与协议的特征相结合;其中,所述模式用链表表示。7.根据权利要求4所述的一种密码安全态势感知系统,其特征在于,所述目标特征模式与数据包的有效负载匹配的概率用以下公式计算:其中dup表示重复有效负载的计数;matched表示真正匹配的有效负载计数;len(f)指示流中的有效负载数f;grammatch算法选择概率最高的协议作为最终结果,当两个协议特征具有相同的概率或最高概率为0,则被识别的流将被视为“未知”。

技术总结
本发明公开了一种密码安全态势感知系统,用于密码安全态势感知,包括:流量采集模块、数据存储模块、协议识别模块和可视化展示模块;流量采集模块,用于采集网络中原始流量,形成原始流量数据包并对原始流量数据包进行自底向上解析预处理,得到数据流;协议识别模块,用于从数据流中识别网络协议,并从识别出的网络协议中提取与加密通信相关的密码参数;数据存储模块,用于对协议识别模块的识别结果进行存储;可视化展示模块,用于实现系统与用户进行交互、对密码应用态势的指标进行展示以及对密码应用的合规性进行检测。本发明能够自动高效地识别网络协议,同时对网络与不同信息系统中的密码算法及应用进行评估。的密码算法及应用进行评估。的密码算法及应用进行评估。


技术研发人员:肖鹏 颜颖 唐旭玥 胡健 张振红 王海林 李寒箬 尹君 谢林江 杭菲璐
受保护的技术使用者:云南电网有限责任公司信息中心
技术研发日:2023.03.28
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐