1.一种多层异构网络协同的网络安全态势感知方法,其特征在于,包括如下步骤:(a)将网络安全态势感知值守代理部署在多层异构网络全域各个类型设备上,网络安全态势感知值守代理收集设备状态参数;
(b)将网络安全态势感知值守代理收集的各个设备的状态参数传递至云端态势感知总控制器,云端态势感知总控制器根据状态参数中的网络信息建立多层异构网络全局设备拓扑的构造图 ,其中 为多层异构网络全域中设备的集合, ,为第 个设备, , 为多层异构网络全域中设备的总数, 为边的集合,, 第 个设备 和第 个设备 之间存在通信链路,则第 个设备 和第 个设备 构成边 ,为边的权重矩阵, , 为第 个设备 和第 个设备 之间的通信延迟值;
(c)根据设备运行操作系统和硬件组成体系结构是否相同将多层异构网络全域各个设备分为个类型,形成类型集合 , , 为第 个类型,针对类型 的所有设备,构建威胁检测模型 ;
(d)针对多层异构网络全域的每一台设备 ,计算使用对应的威胁检测模型进行安全分析所需的计算代价;
(e)云端态势感知总控制器调度网络安全态势感知值守代理协同进行全域安全态势感知,进行设备风险指数全域协同计算,各网络安全态势感知值守代理将风险指数发送至云端态势感知总控制器;
(f)网络安全态势感知值守代理根据预设的更新周期定时更新设备状态参数,并发送至云端态势感知总控制器,云端态势感知总控制器更新多层异构网络全域中设备的集合 。
2.根据权利要求1所述的多层异构网络协同的网络安全态势感知方法,其特征在于,步骤(a)中网络安全态势感知值守代理收集的设备状态参数包括:处理器信息、动态存储信息、静态存储信息、文件系统信息、网络信息;
所述处理器信息包括:处理器峰值能力值、处理器当前负载值、处理器负载峰值;
所述动态存储信息包括:动态存储器容量大小值、动态存储器当前占用量、动态存储器占用量峰值;
所述静态存储信息包括:静态存储器容量大小值、静态存储器当前占用量;
所述文件系统信息包括:文件数量、文件路径深度值;
所述网络信息包括:平均每小时网络通信量、网络通信量峰值、在多层异构网络内有相互通信的其它设备到达该设备的延迟值。
3.根据权利要求1所述的多层异构网络协同的网络安全态势感知方法,其特征在于:还包括在步骤(b)之后云端态势感知总控制器构建全域设备信息库,所述全域设备信息库由包含设备信息描述对象的哈希表构成,所述哈希表中的每一个单元为一个设备信息描述对象,该设备信息描述对象描述了多层异构网络中一台设备的信息,设备信息描述对象中设有一个将哈希表中的当前设备指向连接设备链表的指针,该设备链表中设有若干结点,各个节点用于存储与哈希表中的当前设备之间存在通信链路的所有设备,设备链表中的每一个结点包含两个域,第一个域存用于记录设备的ID,第二个域用于记录哈希表中的当前设备到设备链表中对应的该设备的通信延迟。
4.根据权利要求3所述的多层异构网络协同的网络安全态势感知方法,其特征在于:所述设备信息描述对象描述的多层异构网络中一台设备的信息包括:设备ID的哈希值、设备型号、设备所处层级、设备型号信息、设备放置的物理位置、设备属性信息、设备由网络安全态势感知值守代理采集的状态参数、设备的风险指数。
5.根据权利要求1所述的多层异构网络协同的网络安全态势感知方法,其特征在于:步骤(c)中威胁检测模型为基于密度聚类的异常检测算法或基于自动编码器的异常检测模型,威胁检测模型构建完成后使用知识蒸馏法对威胁检测模型进行轻量化操作。
6.根据权利要求3所述的多层异构网络协同的网络安全态势感知方法,其特征在于,步骤(d)包括如下步骤:(d‑1)第 个设备 的设备类型 所对应的威胁检测模型为 ,根据威胁检测模型的参数规模、算法语句执行次数以及第 个设备 中待检测数据量,使用威胁检测模型对第 个设备 进行威胁检测所需的代价,所述代价包括处理器的负载量 和动态内存占用量 ;
(d‑2)检查多层异构网络全域设备集合 中每一台设备,令 为第 个设备 的处理器信息峰值能力值,令 为第 个设备 的处理器当前负载值,令 为第 个设备的处理器负载峰值,令 为第 个设备 的动态存储器容量大小值,令 为第 个设备 的动态存储器当前占用量,令 为第 个设备 的动态存储器占用量峰值;
(d‑3)如果 且 则执行步骤(d‑4),
如果 或 则执行步骤(d‑5);
(d‑4)在当前第 个设备 本地执行威胁检测任务,第 个设备 的网络安全态势感知值守代理更新其状态参数并发送至云端态势感知总控制器,云端态势感知总控制器更新多层异构网络全域设备集合 中第 个设备 的信息,使第 个设备 的处理器当前负载值更新为 ,使第 个设备 的动态存储器当前占用量更新为 , ,;
(d‑5)在多层异构网络全域设备集合 中找到所有与第 个设备 之间存在通信链路的 个设备,形成设备集合 ,将 个设备按与第 个设备 的通信延迟由小到大加入优先队列 , ,其中 为第 个设备;
(d‑6)从优先队列 中取出队首设备 , ,队首设备 的处理器信息峰值能力值为 ,队首设备 的处理器负载峰值为 ,队首设备 的处理器当前负载值为 ,队首设备 的处理器的负载量为 ,队首设备 的动态存储器容量大小值为 ,队首设备 的动态存储器占用量峰值为 ,队首设备 的动态存储器当前占用量为 ,队首设备 的动态内存占用量为 ;
(d‑7)如果 且
时执行步骤(d‑8),设备 为第 个设备 的威胁检测任务执行设备,如果或 时,从优先队列 中取出设备 作为队首设备,并返回执行步骤(d‑6);
(d‑8)队首设备 的网络安全态势感知值守代理更新其状态参数并发送至云端态势感知总控制器,云端态势感知总控制器更新多层异构网络全域设备集合 中第 个设备的信息,使第 个设备 的处理器当前负载值更新为 ,使第 个设备 的动态存储器当前占用量更新为 , , ;
(d‑9)重复执行步骤(d‑1)至(d‑8)直至多层异构网络全域设备集合 中所有设备均找到威胁检测任务执行设备。
7.根据权利要求6所述的多层异构网络协同的网络安全态势感知方法,其特征在于:还包括在步骤(d‑9)之后将多层异构网络全域设备集合 中的所有设备的威胁检测任务执行设备信息记录到态势感知任务分配表中,所述态势感知任务分配表的第一列记录多层异构网络全域设备集合 中的设备的ID,所述态势感知任务分配表的第二列记录对应的威胁检测任务执行设备的ID。
8.根据权利要求3所述的多层异构网络协同的网络安全态势感知方法,其特征在于,步骤(e)包括如下步骤:(e‑1)第 个设备 的网络安全态势感知值守代理启动威胁检测任务;
(e‑2)判断威胁检测任务是否在第 个设备 本地执行,如果是,则由第 个设备 的网络安全态势感知值守代理执行威胁检测任务,如果否,第 个设备 的威胁检测任务由第 个设备 执行,则执行步骤(e‑3);
(e‑3)第 个设备 的网络安全态势感知值守代理与第 个设备 的网络安全态势感知值守代理进行通信,将威胁检测所需的数据发送到第 个设备 并接收检测结果;
(e‑4)多层异构网络全域中各设备利用威胁模型执行威胁检测,计算设备风险指数,第个设备 的风险指数为 ,设备集合 中各设备利用威胁模型执行威胁检测,计算设备风险指数,设备集合 中第 个设备 的风险指数为 ;
(e‑5)第 个设备 的网络安全态势感知值守代理与设备集合 中第 个设备的网络安全态势感知值守代理建立网络连接,第 个设备 的网络安全态势感知值守代理获取第 个设备 的风险指数 并保存;
(e‑6)通过公式
计算
得到第 轮迭代后的风险指数 ,当 等于1时, ,
,式中 为平衡因子,为防止风险指数为0的平滑项, 为设备
的权重, 为与第 个设备 之间存在通信链路的设备的集合, 为集合中设备的个数;
(e‑7)检查多层异构网络全域内设备的风险指数在此次迭代是否有更新,如果没有更新则停止迭代,如果有更新,则执行步骤(e‑8);
(e‑8)判断迭代次数是否达到预设的最大值,如果是则停止迭代,如果否则返回执行步骤(e‑6);
(e‑9)各网络安全态势感知值守代理将风险指数发送至云端态势感知总控制器,云端态势感知总控制器在全域设备集合 中进行记录和存储。
9.根据权利要求8所述的多层异构网络协同的网络安全态势感知方法,其特征在于:步骤(e‑4)中威胁模型为基于密度聚类的异常检测算法,通过公式计算得到第 个设备 的风险指数 ,
式中 为第 个设备 产生的包含设备日志和网络流量的数据中的异常点集合,为异常点集合中第 个异常点, 为距离异常点 最近的高密度聚簇, 为异常点间的欧式距离算法,通过公式 计算得到 个设备的风险指数 ,式中 为第 个设备 产生的包含设备日志和网络流量的数据中的异常点集合, 为异常点集合中第 个异常点, 为距离异常点 最近的高密度聚簇。
10.根据权利要求8所述的多层异构网络协同的网络安全态势感知方法,其特征在于:步骤(e‑6)中云层的设备权重 取值为1,边缘层的设备权重 取值为0.6,终端设备权重取值为0.3,步骤(e‑8)中预设的最大值为200。