一种流量监测方法、装置、终端及存储介质与流程

文档序号:29793784发布日期:2022-04-23 18:19阅读:80来源:国知局
一种流量监测方法、装置、终端及存储介质与流程

1.本发明涉及数据处理领域,尤其涉及的是一种流量监测方法、装置、终端及存储介质。


背景技术:

2.物联网设备在2029年全球的连接数量将达到58亿。然而,物联网安全问题依然严峻。由于物联网制造商更倾向于产品的功能提升而不是安全性加固,物联网设备会暴露更多的攻击平面,使物联网生态成为了恶意软件传播的极佳土壤。为了应对这种威胁,及时的固件/软件更新是一种最直接的解决方案,然而并不是所有的制造商都会及时提供更新,并且一部分更新无法适配老旧设备。此外,物联网消费者往往使用弱配置,例如使用默认密码、高危端口等,从而也会增加其设备被攻击的风险。
3.因此,现有技术还有待改进和发展。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种流量监测方法、装置、终端及存储介质,旨在解决现有技术中物联网通过固件/软件更新来维持网络安全,难以有效降低网络被攻击的风险的问题。
5.本发明解决问题所采用的技术方案如下:
6.第一方面,本发明实施例提供一种流量监测方法,其中,所述方法包括:
7.获取预先构建的标准活动键值集合,其中,所述标准活动键值集合中包括若干标准活动键值,若干所述标准活动键值分别对应目标系统中不同活动特征的标准流量的聚类集合;
8.获取所述目标系统中的待检测流量,将所述待检测流量映射为待检测活动键值;
9.根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,其中,所述异常流量为不符合任意一种所述标准流量的活动特征的流量。
10.在一种实施方式中,所述获取预先构建的标准活动键值集合,包括:
11.获取所述目标系统中在预设时间段内的网络流量,将所述网络流量分为若干流量数据;
12.获取预设的层级分类结构和若干所述流量数据分别对应的会话参数;
13.根据所述层级分类结构和若干所述流量数据分别对应的所述会话参数,对若干所述流量数据进行聚类,得到若干哈希表,其中,每一所述哈希表包括若干键值对,每一所述键值对用于反映一个所述流量数据和所述流量数据对应的特征结构体;
14.对每一所述哈希表对应的键值列表进行聚类,得到每一所述哈希表对应的目标键值集合;
15.根据若干所述哈希表分别对应的所述目标键值集合构建所述标准活动键值集合。
16.在一种实施方式中,所述会话参数包括:协议号,地址,源端口以及目的端口;所述
层级分类结构为第一层基于所述协议号进行分类,第二层基于所述地址进行分类,第三层基于所述源端口进行分类,第四层基于所述目的端口进行分类。
17.在一种实施方式中,每一所述键值的生成过程,包括:
18.获取每一所述流量数据对应的包参数,其中,所述包参数用于反映所述流量数据对应的数据包的特征;
19.根据每一所述流量数据对应的所述包参数,生成每一所述流量数据对应的所述特征结构体;
20.根据每一所述流量数据对应的所述特征结构体,生成每一所述流量数据对应的所述哈希表中的一个所述键值。
21.在一种实施方式中,所述特征结构体包括包个数的线性和,包到达间隔的线性和,包的方向,包长的集合。
22.在一种实施方式中,所述对每一所述哈希表对应的键值列表进行聚类,包括:
23.根据每一所述哈希表对应的所述键值列表中任意两个所述键值分别对应的所述会话参数,确定每一所述哈希表对应的所述键值列表中任意两个所述键值之间的包含关系;
24.根据每一所述哈希表对应的所述键值列表中任意两个所述键值分别对应的所述特征结构体,确定每一所述哈希表对应的所述键值列表中任意两个所述键值之间的空间相关性以及时间相关性;
25.根据每一所述哈希表对应的所述键值列表中任意两个所述键值之间的所述包含关系、所述空间相关性以及所述时间相关性,对每一所述哈希表对应的所述键值列表进行聚类。
26.在一种实施方式中,所述根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,包括:
27.根据所述标准活动键值集合匹配出所述待检测活动键值对应的若干候选标准活动键值;
28.根据若干所述候选标准活动键值,判断所述待检测流量是否为异常流量。
29.在一种实施方式中,所述根据若干所述候选标准活动键值,判断所述待检测流量是否为异常流量,包括:
30.获取若干所述候选标准活动键值分别对应的自编码器模型,得到若干所述自编码器模型;
31.将所述待检测活动键值分别输入若干所述自编码器模型,获取若干所述自编码器模型基于所述待检测活动键值分别产生的重构误差数据,其中,每一所述重构误差数据用于反映一个所述自编码器模型的输入与输出之间的差距;
32.根据若干所述重构误差数据,判断所述待检测流量是否为所述异常流量。
33.在一种实施方式中,所述自编码器模型为一维卷积神经网络自编码器。
34.在一种实施方式中,所述根据若干所述重构误差数据,判断所述待检测流量是否为所述异常流量,包括:
35.获取预设的重构误差阈值,当若干所述重构误差数据中任意一个大于所述重构误差阈值,判定所述待检测流量为所述异常流量。
36.第二方面,本发明实施例还提供一种流量监测装置,其中,所述装置包括:
37.获取模块,用于获取预先构建的标准活动键值集合,其中,所述标准活动键值集合中包括若干标准活动键值,若干所述标准活动键值分别对应目标系统中不同活动特征的标准流量的聚类集合;
38.映射模块,用于获取所述目标系统中的待检测流量,将所述待检测流量映射为待检测活动键值;
39.判断模块,用于根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,其中,所述异常流量为不符合任意一种所述标准流量的活动特征的流量。
40.第三方面,本发明实施例还提供一种终端,其中,所述终端包括有存储器和一个或者一个以上处理器;所述存储器存储有一个或者一个以上的程序;所述程序包含用于执行如上述任一所述的流量监测方法的指令;所述处理器用于执行所述程序。
41.第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有多条指令,其中,所述指令适用于由处理器加载并执行,以实现上述任一所述的流量监测方法的步骤。
42.本发明的有益效果:本发明实施例通过获取预先构建的标准活动键值集合,其中,所述标准活动键值集合中包括若干标准活动键值,若干所述标准活动键值分别对应目标系统中不同活动特征的标准流量的聚类集合;获取所述目标系统中的待检测流量,将所述待检测流量映射为待检测活动键值;根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,其中,所述异常流量为不符合任意一种所述标准流量的活动特征的流量。本发明通过对系统中的流量进行监测,能够及时发现系统中不符合标准流量的活动特征的异常流量特征,解决了现有技术中物联网通过固件/软件更新来维持网络安全,难以有效降低网络被攻击的风险的问题。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1是本发明实施例提供的流量监测方法的流程示意图。
45.图2是本发明实施例提供的基于层级分类结构的活动聚类流程示意图。
46.图3是本发明实施例提供的末端节点的活动聚类算法流程示意图。
47.图4是本发明实施例提供的基于集成学习的异常检测系统的架构
48.图5是本发明实施例提供的集成模型的架构示意图。
49.图6是本发明实施例提供的集成模型的检测算法流程示意图。
50.图7是本发明实施例提供的流量监测装置的内部模块图。
51.图8是本发明实施例提供的终端的原理框图。
具体实施方式
52.本发明公开了一种流量监测方法、装置、终端及存储介质,为使本发明的目的、技
术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
53.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
54.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
55.物联网设备在2029年全球的连接数量将达到58亿。然而,物联网安全问题依然严峻。由于物联网制造商更倾向于产品的功能提升而不是安全性加固,物联网设备会暴露更多的攻击平面,使物联网生态成为了恶意软件传播的极佳土壤。为了应对这种威胁,及时的固件/软件更新是一种最直接的解决方案,然而并不是所有的制造商都会及时提供更新,并且一部分更新无法适配老旧设备。此外,物联网消费者往往使用弱配置,例如使用默认密码、高危端口等,从而也会增加其设备被攻击的风险。
56.针对现有技术的上述缺陷,本发明提供一种流量监测方法,所述方法通过获取预先构建的标准活动键值集合,其中,所述标准活动键值集合中包括若干标准活动键值,若干所述标准活动键值分别对应目标系统中不同活动特征的标准流量的聚类集合;获取所述目标系统中的待检测流量,将所述待检测流量映射为待检测活动键值;根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,其中,所述异常流量为不符合任意一种所述标准流量的活动特征的流量。本发明通过对系统中的流量进行监测,能够及时发现系统中不符合标准流量的活动特征的异常流量特征,解决了现有技术中物联网通过固件/软件更新来维持网络安全,难以有效降低网络被攻击的风险的问题。
57.如图1所示,所述方法包括如下步骤:
58.步骤s100、获取预先构建的标准活动键值集合,其中,所述标准活动键值集合中包括若干标准活动键值,若干所述标准活动键值分别对应目标系统中不同活动特征的标准流量的聚类集合。
59.具体地,本实施例的技术构思是通过学习目标系统中的标准流量(即正常流量)的活动特征,来捕捉偏离于正常范围的流量,即异常流量,从而检测出恶意软件和网络攻击行为。由于越来越多的新兴技术被应用于物联网,例如边缘计算、雾计算、机器学习以及人工智能物联网,今日的物联网设备已经变得比以往任何时候都更加多功能,正常流量的范围变得更加难以界定。因此本实施例预先将目标系统中具有相同活动特征的标准流量聚类为一个标准活动键值,并基于多个这样的标准活动键值生成标准活动键值集合,通过标准活动键值集合基本可以涵盖目标系统中所有的标准流量的活动特征。
60.在一种实现方式中,所述步骤s100具体包括如下步骤:
61.步骤s101、获取所述目标系统中在预设时间段内的网络流量,将所述网络流量分为若干流量数据;
62.步骤s102、获取预设的层级分类结构和若干所述流量数据分别对应的会话参数;
63.步骤s103、根据所述层级分类结构和若干所述流量数据分别对应的所述会话参数,对若干所述流量数据进行聚类,得到若干哈希表,其中,每一所述哈希表包括若干键值对,每一所述键值对用于反映一个所述流量数据和所述流量数据对应的特征结构体;
64.步骤s104、对每一所述哈希表对应的键值列表进行聚类,得到每一所述哈希表对应的目标键值集合;
65.步骤s105、根据若干所述哈希表分别对应的所述目标键值集合构建所述标准活动键值集合。
66.具体地,为了确定目标系统中不同活动特征的标准流量,并对这些标准流量进行聚类,本实施例首先需要获取目标系统中在预设时间段内的网络流量,其中,鉴于目标系统初始使用时收到网络攻击的可能性较小,因此所述预设时间段可以设定为目标系统初始使用时的某一时间段。然后将网络流量通过预设的时间窗口切分成若干流量数据,其中,每一流量数据可以为一个五元组流。为了完成所有流量数据的聚类过程,本实施例预先设置了一个层级分类结构,该层级分类结构是基于目标系统中的会话规则设定的,例如域名、协议和端口等规则。然后基于该层级分类结构确定每一流量数据对应的特征结构体,然后将具有相同活动特征的流量数据聚类到一个哈希表中。针对每一流量数据,根据该流量数据确定其在哈希表中的键,根据该流量数据对应的特征结构体确定其在哈希表中的值,从而生成一个键值对。由于每一个哈希表会对应多个流量数据,因此本实施例需要对每一哈希表中的键值列表进行聚类,得到每一哈希表对应的目标键值集合,最后基于所有目标键值集合组成标准活动键值集合。
67.在一种实现方式中,所述会话参数包括:协议号,地址,源端口以及目的端口;所述层级分类结构为第一层基于所述协议号进行分类,第二层基于所述地址进行分类,第三层基于所述源端口进行分类,第四层基于所述目的端口进行分类。
68.具体地,如图2所示,本实施例中的层级分类结构可以以图中的树形结构来描述。其中,范围最大的一个层级是以协议号进行分类的,以l3协议为例,可以判断当前处理的流量数据协议号是tcp,还是udp,进行第一次分类;范围其次的一个层级是以地址进行分类的,例如可以判断地址是远程的域名或者外部ip地址,还是本地ip地址,或者是广播或组播的地址,进行第二次分类;范围更小的一个层级是以源端口进行分类的,例如可以判断源端口是一个特定的系统端口号,还是位于注册端口范围(1024-32767)或动态端口范围(32768-65535)的端口号,进行第三次分类;范围最小的一个层级是以目的端口进行分类的,例如可以判断目的端口是一个特定的系统端口号,还是位于注册端口范围的端口号,或者是位于动态端口范围的端口号,进行第四次分类。层级分类结构的末端节点即为即对应本实施例中的一个哈希表。
69.需要注意的是,每一个系统端口号都会有一条单独的树路径,因为系统端口号往往指代了特定的服务。由于iot设备大多处于客户端,其源端口号一般对于聚类是无效的(除非是系统端口,例如ssh的22、telnet的23),而位于注册端口范围的目的端口仍能够揭
示一些常用的iot服务,例如ssdp的1900、stun的3478、coap的5683等。
70.在一种实现方式中,每一所述键值的生成过程,包括如下步骤:
71.步骤s1031、获取每一所述流量数据对应的包参数,其中,所述包参数用于反映所述流量数据对应的数据包的特征;
72.步骤s1032、根据每一所述流量数据对应的所述包参数,生成每一所述流量数据对应的所述特征结构体;
73.步骤s1033、根据每一所述流量数据对应的所述特征结构体,生成每一所述流量数据对应的所述哈希表中的一个所述键值。
74.具体地,为了确定每个流量数据在各自对应的哈希表中的键值,本实施例需要获取每一流量数据对应的包参数,例如包的方向、包长等等。由于每一流量数据的包参数都可以反映自身的流量活动特征,因此本实施例基于各个流量数据的包参数生成各自对应的特征结构体,并基于该特征结构体来确定其对应的哈希表中的键值。
75.在一种实现方式中,所述特征结构体包括包个数的线性和,包到达间隔的线性和,包的方向,包长的集合。
76.具体地,本实施例中的特征结构体可以为一个五元组结构:
[0077][0078]
其中n表示包个数的线性和,t表示包到达间隔的线性和,in,out表示包的方向,表示包长的集合。本实施例中的特征结构体的优势是可以增量更新,不管一个流的包数量有多少,其存储复杂度是恒定的。举例说明,现有一个数据包,其方向为d,包长为s,包到达间隔时间为δt,当它到达某叶子结点时,其对应的特征结构体会按照以下步骤更新:
[0079][0080]
在一种实现方式中,所述步骤s104具体包括如下步骤:
[0081]
步骤s1041、根据每一所述哈希表对应的所述键值列表中任意两个所述键值分别对应的所述会话参数,确定每一所述哈希表对应的所述键值列表中任意两个所述键值之间的包含关系;
[0082]
步骤s1042、根据每一所述哈希表对应的所述键值列表中任意两个所述键值分别对应的所述特征结构体,确定每一所述哈希表对应的所述键值列表中任意两个所述键值之间的空间相关性以及时间相关性;
[0083]
步骤s1043、根据每一所述哈希表对应的所述键值列表中任意两个所述键值之间的所述包含关系、所述空间相关性以及所述时间相关性,对每一所述哈希表对应的所述键值列表进行聚类。
[0084]
具体地,本实施例主要是通过同一键值列表中的两个键值之间是否存在包含关系,或者两个键值存在空间相关性或者时间相关性,若两个键值对具有包含关系,或者在空间、时间上高度相关,则将两个键值进行合并为一个键值,从而实现对该键值列表中的键值进行聚类。
[0085]
举例说明,对于每一个位于叶子结点的哈希表h以及其五元组键值列表l,可以使
用一种贪心策略比较和聚合每一个五元组流(即流量数据)。如果两个五元组流被判断为相关,则将它们合并为一个新的五元组,其新地址和新端口号是他们的树路径的名称(例如“本地”、“动态端口”)。如果被合并的两个目的域名具有相同的二级域名,则使用通配符加二级域名作为合并后新的地址(例如“*.tplinkcloud.com.cn”)。为了清楚说明键值列表的聚类过程,对于一个末端结点的哈希表h以及它的键值(五元组)列表l,本实施例提供一种聚类算法(如图3所示):
[0086]
1、初始化一个空集k;
[0087]
2、从l中按顺序弹出一个五元组f;
[0088]
3、从h中取出f所对应的增量统计结构体
[0089]
4、对l中的每一个五元组fi,进行以下操作:
[0090]
a)如果f的表达包含了fi,则从l中移除fi并回到步骤4;
[0091]
b)从h中取出fi所对应的增量统计结构体
[0092]
c)如果二者的空间相关性大于阈值hs并且时间相关性b(λ,λi)大于阈值h
t
,则从l中移除fi,并将f和fi根据他们的共有树路径合并为一个新的五元组并替换f;
[0093]
d)回到步骤4;
[0094]
5、将f添加到集合中k;
[0095]
6、将新的集合k、哈希表h以及它的键值(五元组)列表l作为输入,递归调用该函数(即回到步骤2)。
[0096]
其中,该聚类算法流程中第四行表示f具有相比fi更加宽泛的表达(例如fi的源端口号为29983而f的源端口表达为“注册/动态端口”)。该聚类算法使用递归的方法,对层级分类结构进行深度优先搜索,最终将每一个末端结点的哈希表对应的键值列表(五元组集合)合并为一个集合k,即标准活动键值集合。
[0097]
在一种实现方式中,任意两个键值之间的所述空间相关性基于两个所述键值分别对应的流量数据的包长的集合确定。具体地,使用杰卡德相似系数比较两个流量数据的包长的集合,若比较结果超过预设阈值,则判定两个流量数据之间是空间相关的。此外,任意两个键值之间的所述时间相关性基于两个所述键值分别对应的流量数据的包到达间隔时间确定。具体地,针对两个流量数据的包到达间隔时间使用泊松过程进行建模,来计算两个流量数据的包到达间隔时间在两个方向上的的误差率,如果任何一个方向上的的误差率低于一个预设阈值,则判定两个流量数据是时间相关的。
[0098]
举例说明,对于两个五元组流f1和f2他们各自的增量统计结构体is1,is2,从以下两个方面进行对比:
[0099]
空间相关性:如下述公式所示,使用杰卡德相似系数比较和如果结果超过了一个阈值hs,f1和f2被认为是空间相关的:
[0100][0101]
时间相关性:包到达间隔时间常使用泊松过程进行建模,即符合一个指数分布f(t)=λe-λt
。通过观测一组观测值t1,t2,...,tn,参数λ可以通过最大似然估计计算:
[0102][0103]
因此,λ1,λ2可以通过is1,is2计算出来,从而确定各自的分布。如下述公式所示,分别计算两个参数在两个方向上的的误差率,如果任何一个结果低于一个阈值h
t
,则f1和f2被认为是时间相关的:
[0104][0105]
如图1所示,所述方法还包括如下步骤:
[0106]
步骤s200、获取所述目标系统中的待检测流量,将所述待检测流量映射为待检测活动键值。
[0107]
具体地,为了检验待检测流量是否为目标系统中的异常流量,本实施例的主要技术构思是将待检测流量映射为待检测活动键值,即得到待检测活动键值,然后再通过比较标准活动键值集合和待检测活动键值来判定待检测流量是否为目标系统中的异常流量。具体地,这个映射过程可以为一个简单的具有0(n)最坏情况复杂度的规则匹配过程,因此对于在线检测的过程是高效的。
[0108]
如图1所示,所述方法还包括如下步骤:
[0109]
步骤s300、根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,其中,所述异常流量为不符合任意一种所述标准流量的活动特征的流量。
[0110]
具体地,由于标准活动键值集合可以反映目标系统中所有正常流量的活动特征,而待检测活动键值可以反映待检测流量的活动特征,因此基于标准活动键值集合和待检测活动键值,可以判断待检测流量是否为异常流量,即不符合目标系统中任意一种正常流量的活动特征。
[0111]
在一种实现方式中,所述步骤s300具体包括如下步骤:
[0112]
步骤s301、根据所述标准活动键值集合匹配出所述待检测活动键值对应的若干候选标准活动键值;
[0113]
步骤s302、根据若干所述候选标准活动键值,判断所述待检测流量是否为异常流量。
[0114]
简单来说,本实施例可以依靠标准活动键值集合快速匹配并过滤掉季度异常的流量。具体地,由于待检测活动键值可能包含有非具体的地址和端口范围(例如,具有通配符的域名、“本地”、“动态端口范围”等),因此将标准活动键值与待检测活动键值进行匹配过程实际是一个模糊匹配,所以可能会产生多个匹配成功的结果,即得到若干候选标准活动键值,再基于这些候选标准活动键值进一步判定待检测流量是否异常。而如果待检测活动
键值与标准活动键值集合之间匹配失败,则直接认定待检测流量为异常流量。
[0115]
在一种实现方式中,所述步骤s302具体包括如下步骤:
[0116]
步骤s3021、获取若干所述候选标准活动键值分别对应的自编码器模型,得到若干所述自编码器模型;
[0117]
步骤s3022、将所述待检测活动键值分别输入若干所述自编码器模型,获取若干所述自编码器模型基于所述待检测活动键值分别产生的重构误差数据,其中,每一所述重构误差数据用于反映一个所述自编码器模型的输入与输出之间的差距;
[0118]
步骤s3023、根据若干所述重构误差数据,判断所述待检测流量是否为所述异常流量。
[0119]
具体地,本实施例中预先设置了一个预先设置了一个异常检测模块,该异常检测模块中包含多个自编码器模型,每一个自编码器模型基于一种标准活动键值训练而成,因此每一种自编码器模型可以描述一种正常流量的活动特征。当待检测活动键值从标准活动键值集合中匹配出多个候选标准活动键值以后,将异常检测模块中这些候选标准活动键值对应的自编码器模型唤醒,并将待检测活动键值输入这些自编码器模型中,每一自编码器模型基于自身的输入数据输出一个重构误差数据。可以理解的是,如果待检测流量不符合正常流量模式的分布,则自编码器模型会输出较高的重构误差,因此可以通过每一自编码器模型输出的重构误差数据判断待检测流量是否为异常流量。
[0120]
在一种实现方式中,由于自编码器模型为机器学习模型,机器学习模型的输入数据有固定的格式要求,因此需要对待检测活动键值进行预处理后再输入每一自编码器模型。其中,所述预处理过程包括但不限于:数据切分、数据表征、数据填充以及数据标准化(如图4所示)。
[0121]
数据切分过程为:由于一些物联网流量可以持续的时间非常长甚至永不结束(例如和服务器的连接使用了keepalive),因此可以使用一个时间窗口来将一个流切分成多个流(如下式),每个流具有相同的持续时间。tcp和udp的时间窗口分别表示为t
t
和tu:
[0122][0123]
数据表征过程为:每个包的包长和包到达间隔组成了两个有序序列,并且只保留了开始的r的包(如下式),组成了一个序列式的数据表征:
[0124]
数据填充过程为:一个长度小于r的序列会被零填充到相同的长度从而才可以作为机器学习模型的输入(如下式):
[0125][0126][0127]
数据标准化过程:使用l2标准化把序列中的每一个数值变成介于0和1的值,并把两个序列堆砌成一个二维的序列数据样本(如下式):
[0128][0129]
在一种实现方式中,所述自编码器模型为一维卷积神经网络自编码器。
[0130]
具体地,本实施例中的自编码器模型均为一维卷积神经网络(一维cnn)自编码器构建而成。它可以学习训练数据的隐式表征,并通过调整其参数减小输入和输出的重构误差,其计算公式如下所示:
[0131][0132]
在一种实现方式中,所述步骤s3023具体包括如下步骤:
[0133]
步骤s30231、获取预设的重构误差阈值,当若干所述重构误差数据中任意一个大于所述重构误差阈值,判定所述待检测流量为所述异常流量。
[0134]
具体地,为了客观地评价重构误差数据的大小,本实施例预先设定了一个重构误差阈值,如果待检测流量不符合正常流量模式的分布,则自编码器模型会输出较高的重构误差数据,从而可以检测出异常的出现。
[0135]
需要理解的是,本实施例中的目标系统在运行中具有两个阶段,一个是学习阶段,另一个是检测阶段。简单来说,学习阶段从一个新的设备加入到网络中开始,并且假定在刚加入网络的一段时间内不会被感染和攻击,在这一阶段该系统会生成其标准活动键值集合和训练其每一个活动的自编码器模型。检测阶段在学习阶段结束后开始,系统和各个自编码器模型的参数将被固定。
[0136]
举例说明,如图5所示,本实施例中的异常检测模块相当于一个集成模型,每一个自编码器模型即为集成模型中的一个子模型。在学习阶段,集成模型的训练开始于活动键值集合k的构建的结束。经过预处理流水线的处理,设备的网络流被处理成一组数据集其中表示来自活动键值为ki的活动的流量数据。每一个数据集会被分成一个训练集用来训练每一个子模型的可训练参数θ,以及一个验证数据集用来确定每一个子模型的一个超参数:重构误差的上限阈值φ,其值是由验证集上的重构误差的q阶分位数来决定(也可以理解为设定的误报率)。最终,一个集成模型m可以表示为一组子模型:
[0137][0138][0139]
在检测阶段,一个五元组流经过规则匹配得到其匹配成功的活动键值子集并唤醒和这些活动相应的子模型,每一个子模型会对该流的数据表
[0140][0141]
征v进行推断,通过其重构误差是否超过各自的阈值来检测异常。如果任意一个子模型判断其为正常,则投票结果为正常,否则投票结果为异常。该检测流程可以使用图6中的算法流程来描述。
[0142]
本发明的优点在于:
[0143]
1、提出了一种创新的活动聚类算法,该算法可以生成一组稳定可靠的物联网设备的活动聚类,具有较强的解释性,并且可以通过简单的规则匹配实现在运行过程中的高效映射。
[0144]
2、设计了一种基于集成学习模型的异常检测模块,通过对设备活动的细粒度拆解,对每一个活动建立一个子模型,解决了不同活动之间流量模式的高差异性给异常检测模型带来的泛化性挑战。
[0145]
3、本发明对于各类基于物联网的网络攻击均表现出较高的检测率,并且击败了现有的网络异常检测系统在功能性较强的物联网中对攻击和异常的检测率,展现了该系统对于提升未来物联网安全性的价值。
[0146]
基于上述实施例,本发明还提供了一种流量监测装置,如图7所示,所述装置包括:
[0147]
获取模块01,用于获取预先构建的标准活动键值集合,其中,所述标准活动键值集合中包括若干标准活动键值,若干所述标准活动键值分别对应目标系统中不同活动特征的标准流量的聚类集合;
[0148]
映射模块02,用于获取所述目标系统中的待检测流量,将所述待检测流量映射为待检测活动键值;
[0149]
判断模块03,用于根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,其中,所述异常流量为不符合任意一种所述标准流量的活动特征的流量。
[0150]
基于上述实施例,本发明还提供了一种终端,其原理框图可以如图8所示。该终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏。其中,该终端的处理器用于提供计算和控制能力。该终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端的网络接口用于与外部的终端通过网络连接通信。该计算机
程序被处理器执行时以实现流量监测方法。该终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
[0151]
本领域技术人员可以理解,图8中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0152]
在一种实现方式中,所述终端的存储器中存储有一个或者一个以上的程序,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行流量监测方法的指令。
[0153]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0154]
综上所述,本发明公开了一种流量监测方法、装置、终端及存储介质,所述方法通过获取预先构建的标准活动键值集合,其中,所述标准活动键值集合中包括若干标准活动键值,若干所述标准活动键值分别对应目标系统中不同活动特征的标准流量的聚类集合;获取所述目标系统中的待检测流量,将所述待检测流量映射为待检测活动键值;根据所述标准活动键值集合和所述待检测活动键值,判断所述待检测流量是否为异常流量,其中,所述异常流量为不符合任意一种所述标准流量的活动特征的流量。本发明通过对系统中的流量进行监测,能够及时发现系统中不符合标准流量的活动特征的异常流量特征,解决了现有技术中物联网通过固件/软件更新来维持网络安全,难以有效降低网络被攻击的风险的问题。
[0155]
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1