一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络安全异常检测中深度学习模型的更新方法与装置与流程

2023-04-29 15:09:07 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,特别是涉及一种网络安全异常检测中深度学习模型的更新方法与装置。


背景技术:

2.异常检测是网络安全场景中的重要任务之一,对保障网络空间中大型基础设施的安全性和可靠性有着至关重要的作用。例如,在电力监控系统中,异常检测算法被用于检测监视和控制电力生产及供应过程的基于计算机及网络技术的业务系统及智能设备,以及作为基础支撑的通信及数据网络中出现的异常,对于电力系统的安全稳定运行具有重要意义。
3.近年来,机器学习、特别是深度学习技术被广泛应用到各类网络安全异常检测系统中,在不需要异常先验知识的条件下实现较好的检测效果。然而,基于机器学习/深度学习的检测模型需要满足训练阶段和实际部署阶段的样本处在同一数据分布的假设才能实现良好的检测效果。但实际环境中数据分布很可能会随着时间发生变化,比如电力监控系统中,相关系统服务的升级可能导致系统正常行为画像发生变化,导致模型出现性能退化(即“概念漂移”)现象,需要对检测及时更新以消除概念漂移现象带来的影响。
4.目前,机器学习/深度学习技术为众多网络安全检测系统提供了全新的解决方案,提高了检测精度并实现对未知威胁的检测能力。然而,基于机器学习/深度学习的检测模型通常需要满足训练阶段和实际部署阶段的样本处在同一数据分布的假设。但实际环境中数据分布很可能会随着时间发生变化,导致模型出现性能退化的现象,这种数据分布发生变化的现象被称作概念漂移。因此,为了保证异常检测模型能适应不断变化的环境,需要对实际部署环境的概念漂移现象进行检测、理解并适应。
5.为了解决概念漂移现象对模型性能带来的影响,近年来学术界和工业界提出了一系列方法从不同的角度提高异常检测模型在实际部署中应对不断变化的环境的能力。这类方法在解决思路上大体可以分为两类:其中第一种解决思路是定期更新和重训练模型,这种方法不关注何种因素或环境变化导致了模型性能的变化,存在的问题是定期更新模型带来的人力(标注数据开销)、存储(训练数据是不断累积的)和算力(模型训练)开销较大,同时缺乏模型更新和环境漂移的解释性,难以满足安全场景对于模型稳定性和解释性的需求;另一种解决思路是持续检测概念漂移现象,在漂移发生后进行理解和处理,该类方法相较于第一种方法开销较小、解释性更好,但是目前的研究主要关注于对数据分布漂移的检测,对于发现漂移后如何更新模型的方法缺少成熟的方法,同样导致了模型更新过程中存在标记量过大、难以快速准确适应新分布的问题。


技术实现要素:

6.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
7.为此,本发明提出一种网络安全异常检测中深度学习模型的更新方法。根据网络
安全场景下模型部署中的实际需求,设计了对异常检测模型的概念漂移现象进行检测、解释和处理的方法。该方法具有较强的通用性,能适用于多种不同的深度学习模型和不同的网络安全场景。
8.本发明的另一个目的在于提出一种网络安全异常检测中深度学习模型的更新装置。
9.本发明的第三个目的在于提出一种计算机可读存储介质。
10.为达上述目的,本发明一方面提出一种网络安全异常检测中深度学习模型的更新方法,包括:
11.对不同网络安全场景的样本数据进行特征提取得到高维特征向量;其中,所述不同网络安全场景的样本数据包括不同网络安全数据的当前数据分布的对照集样本和历史数据分布的控制集样本;
12.将所述高维特征向量输入至异常检测模型得到模型输入样本异常度值的原始输出值,对所述原始输出值进行校正并对校正后的原始输出值进行漂移检测得到基于置信度的漂移检测结果;
13.基于所述漂移检测结果得到基于所述对照集样本和所述控制集样本的优化目标函数,通过计算所述优化目标函数得到引起网络安全数据分布发生变化的漂移样本;
14.利用所述漂移样本对所述异常检测模型进行模型重训练,通过计算模型重训练时的损失函数以优化模型参数权重,并基于优化后的模型参数权重以得到训练好的异常检测模型。
15.为达上述目的,本发明另一方面提出一种网络安全异常检测中深度学习模型的更新装置,包括:
16.特征获取模块,用于对不同网络安全场景的样本数据进行特征提取得到高维特征向量;其中,所述不同网络安全场景的样本数据包括网络安全数据的当前数据分布的对照集样本和历史数据分布的控制集样本;
17.漂移检测模块,用于将所述高维特征向量输入至异常检测模型得到模型输入样本异常度值的原始输出值,对所述原始输出值进行校正并对校正后的原始输出值进行漂移检测得到基于置信度的漂移检测结果;
18.漂移解释模块,用于基于所述漂移检测结果得到基于所述对照集样本和所述控制集样本的优化目标函数,通过计算所述优化目标函数得到引起网络安全数据分布发生变化的漂移样本;
19.参数更新模块,用于利用所述漂移样本对所述异常检测模型进行模型重训练,通过计算模型重训练时的损失函数以优化模型参数权重,并基于优化后的模型参数权重以得到训练好的异常检测模型。
20.本发明第三方面实施例提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中所述的网络安全异常检测中深度学习模型的更新方法。
21.本发明实施例的网络安全异常检测中深度学习模型的更新方法、装置和存储介质,针对各种不同安全场景下各类数据分布,能准确的检测出分布的漂移;其次,在检测到分布漂移后,能尽可能的挑选出具有代表性的新分布中的数据样本,降低标注样本带来的
人力开销;最后,能有效利用新分布的代表性样本对模型进行更新,使其能快速、准确的适应新分布,在拟合新环境的代表性样本的同时保证不会遗忘原有模型中的有效知识。
22.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
23.本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
24.图1是根据本发明实施例的网络安全异常检测中深度学习模型的更新方法的流程图;
25.图2是根据本发明实施例的网络安全异常检测中深度学习模型的更新方法的框架图;
26.图3是本发明方法和已有方法在不同标记开销下对模型性能的提升效果对比图;
27.图4是根据本发明实施例的网络安全异常检测中深度学习模型的更新装置结构示意图。
具体实施方式
28.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
29.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
30.下面参照附图描述根据本发明实施例提出的网络安全异常检测中深度学习模型的更新方法、装置和存储介质。
31.图1是本发明实施例的网络安全异常检测中深度学习模型的更新方法的流程图。
32.本发明提出的方法,其总体框架如图2所示,分为输出校准和漂移检测(



)、漂移解释(

)和模型适应(

)三部分,其中模型校正和漂移检测部分通过对课题画像和异常检测模型的输出进行校正后基于分布检验进行漂移检测;漂移解释寻找关键的漂移样本;模型适应通过选择关键样本进行增量学习使模型适应变化的环境/数据分布。
33.如图2所示,该网络安全异常检测中深度学习模型的更新方法包括但不限于以下步骤:
34.s1,对不同网络安全场景的样本数据进行特征提取得到高维特征向量;其中,不同网络安全场景的样本数据包括不同网络安全数据的当前数据分布的对照集样本和历史数据分布的控制集样本。
35.可以理解的是,本发明的模型的可以适用于各种网络安全异常检测场景,输入数据还包括不同的网络安全场景中如网络流量、系统日志、审计信息等等网络安全数据。
36.在本发明的一个实施例中,以网络安全数据作为模型输入的源数据,其源数据的
对照集样本和控制集样本都是深度学习模型的输入数据,是从源数据抽取特征的来的高维特征数据。其中,控制集样本是指在旧环境(是在历史网络流量数据分布)下采集的源数据提取而来,对照集样本是指在新环境(新的网络流量数据分布)下采集的源数据提取而来。
37.可以理解的是,为了检测当前时刻的数据分布是否已经发生了漂移,需要定时采集当前环境下的数据作为“对照集”,和代表之前数据分布的“控制集”进行对比,检测是否发生了数据分布的变化。然而,异常检测模型的输入数据是高维空间中的特征向量,直接分析高维数据的分布是困难的甚至是难以实现的,因此本发明实施例的主要思路是观测模型在“对照集”和“控制集”输出的置信度之间是否发生了分布的漂移。
38.s2,将高维特征向量输入至异常检测模型得到模型输入样本异常度值的原始输出值,对原始输出值进行校正并对校正后的原始输出值进行漂移检测得到基于置信度的漂移检测结果。
39.可以理解的是,为了解决模型原始输出缺乏统计学上的(概率)含义的问题,本发明引入了模型校正的方法,其主要思路是对原始的模型输出施以非线性且单调的变换/映射,非线性保证映射前后的分布发生变化,单调性保证映射前后模型的准确率(检测效果)不会发生变化,同时需要满足映射后的空间是0到1(具有概率含义)。为了保证所提出的映射方法适用于不同的原始数据分布,本发明基于线性分段拟合(piece-wise linear fit,pwlf)方法设计映射函数。
40.具体地,pwlf通过分段的线性函数合成一个整体上连续且非线性的映射,理论上被证明可以拟合任何分段函数,满足不同的原始数据分布。其中主要需要估计的两类参数包含分段的断点位置和每段函数的斜率。为了使映射后的概率值具有统计意义,本发明使用了异常值分位数作为映射后的理想值,即希望校正后的输出概率表示当前样本的异常程度,即如果当前样本被判定为异常,有多少比例正常样本会被误报。
41.进一步地,通过计算每个样本在模型中的原始输出值和理想值(是指基于深度学习的异常检测模型的输出,表示正常或异常分数),本发明使用参数估计方法来拟合pwlf中的两类参数。主要方法是使用差分进化算法不断迭代断点的位置,在每次迭代中,使用最小二乘法计算拟合程度作为进化算法的适应度,以此确定最终的断点位置及每段的斜率。
42.进一步地,在参数评估阶段,使用“控制集”样本确定两类参数,确定好的映射函数将用于对“控制集”和“对照集”样本概率数据的映射和转换。然后就可以使用“控制集”和“对照集”样本在模型中校正后的输出概率分布是否一致来衡量是否发生了概念漂移。此部分主要使用统计学上的假设检验方法,零假设是假设两类集合校正后输出属于统一分布,备注假设则是属于不同分布。考虑到“控制集”和“对照集”的采集量可能较小,本发明使用非参数检验中适用于样本量比较小情况下的“置换检验”作为假设检验方法。最终通过置信度(p值)来判断是否发生了概念漂移。其中,概念漂移,指由于采集环境发生变化导致的数据分布发生变化,这一变化通常导致深度学习模型的性能发生下降,“概念”可简单理解为数据分布,“漂移”可简单理解为变化,漂移样本是指导致或引起数据分布发生变化的样本,需要找到这样的样本并进行处理,缓解模型性能下降。
43.s3,基于漂移检测结果得到基于对照集样本和控制集样本的优化目标函数,通过计算优化目标函数得到引起网络安全数据分布发生变化的漂移样本。
44.可以理解的是,如果s2中确定了概念漂移的发生,接下来需要对漂移现象进行处
理。首先为了理解概念漂移的情况,本发明提出了漂移解释的方法,即寻找漂移的典型样本。
45.具体地,本发明将漂移解释问题形式化成一个优化问题,如式1所示。其中优化目标是在0-1之间的mask参数向量mc和m
t
,分别对应每个“对照集”和“控制集”中的样本。mask参数值越接近于1表示该样本对于漂移后的分布的重要性越高(即越应该作为解释结果)。
[0046][0047][0048][0049][0050]
其中mc和m
t
是优化函数的自变量,是在0-1之间的mask参数,分别对应每个对照集样本和控制集样本;为第一类优化目标的准确性指标,评估用mc和m
t
生成的分布和真实的新分布之间的距离,为第二类优化目标的标记开销,评估生成分布过程中需要的对照集样本数量,为第三类优化目标的准确性指标。评估mc和m
t
的确定性(是否靠近0或1),pc和p
t
分别表示每个控制集和对照集样本在异常检测模型中的输出值,

表示哈达玛积,即对向量中的元素逐项乘积,表示向量拼接操作,表示kl散度,将输入向量转化为直方图中的频率向量,m为分桶数量,表示计算期望λ1和λ2是人工设定的超参数,控制三项优化目标之间的权重。
[0051]
具体地,在优化目标函数上,本发明定义了三类优化目标,并通过加权的方式将三类目标合在一起作为最终的优化目标函数。第一个优化目标是准确性指标(见上式中),即希望保留的样本(“对照集”和“控制集”中参数向量中值接近于1的)能够重构真实的新分布(“对照集”的分布),具体是通过衡量两个分布(重构分布和真实分布)之间的kl散度来实现;第二个优化目标是标记开销(见上式中),由于“对照集”中的样本是在新环境中采集的,需要人为标记来过滤异常样本,存在一定的标注开销,因此需要在解释结果中尽可能减少“对照集”的样本(在保证准确性的前提下);第三个是确定性指标(见上式中),由于本发明最终需要根据连续的mask参数值确定每个样本保留或去除,即希望每个样本的参数值尽可能接近0或1。
[0052]
s4,利用漂移样本对异常检测模型进行模型重训练,通过计算模型重训练时的损失函数以优化模型参数权重,并基于优化后的模型参数权重以得到训练好的异常检测模型。
[0053]
具体地,在确定重要的漂移样本作为解释结果之后,需要利用这些重要样本来对模型进行重训练使其适应新的数据分布。相比于使用全部的旧数据和新数据进行重训练,本发明提出一种增量学习方法避免了需要存储全部数据带来的额外时间和内存开销,即选择部分典型数据更新模型,而不是从头进行训练。然而,增量学习普遍面临着灾难性遗忘和泛化性差的问题:灾难性遗忘是指模型在学习新的数据分布时忘记了旧的分布,泛化性差是指模型只是对增量学习新数据有一定的效果,但并没有学习完整的新分布。
[0054]
进一步地,为了解决增量学习中的灾难性遗忘和泛化性差,本发明改进了已有的弹性参数固定(elastic weight consolidation,ewc)方案,原始的ewc方法的一般思路是在使用新数据重训练模型时对模型中的不同参数考虑不同的权重,包含重要知识的参数在更新时应当相对谨慎,具体而言,重训练模型时的损失函数如式(2)所示:
[0055][0056]
其中是模型原始的损失函数,f表示异常检测模型,θ表示异常检测模型参数,为给模型不同参数的权重ωi,θi和分别表示第i个新的模型参数和旧的模型参数,λ3是超参数,控制两个优化项的比重。权重ωi的计算方法如式(3)所示。其中为了满足异常检测模型的无监督条件,本发明在权衡模型重要性时没有使用到标签相关的信息,而是直接使用模型最后一层输出的概率值(logits),保证了在无监督条件下解决灾难性遗忘的问题;另一方面,本发明使用了“控制集”的mask参数向量代表了不同样本的在分布中的重要性,由于mask矩阵包含了分布相关的信息,这样可以解决泛化性的问题。
[0057][0058]
其中,是第j个控制集样本,通过优化函数计算出的控制集样本mask参数,表示第j个控制集样本输入到模型中得到的模型输出logits,表示对上述logits计算l2-norm后平方,表示上述值对模型参数求偏导数。
[0059]
综上,本发明的效果在多种不同网络安全异常检测应用中使用开放数据集和目前代表性方案进行对比和评估,同时部署在实际电网环境中对方法的有效性进行检验。
[0060]
首先,本发明针对表格型输入的网络入侵检测系统、时间序列型输入的日志异常检测系统、和图结构输入的高级持续威胁中的横向移动检测三种网络安全场景和已有的代表性相关方法进行了效果对比。其结果如图3所示,横轴是各类方法需要的标记量(标记量越多需要的人力标注开销越大),纵轴测评的是模型检测性能(auc或f-score,越大效果越好),其中红色圆圈线条代表的是本发明提出的方法在对应标记量下对模型更新后的效果提升,其他线条表示其他代表性对比方法。结果表明本发明方法相比于对比方案能更好的弥补概念漂移现象带来的性能下降,特别是在少量标记开销的前提下,本发明方法对模型性能的提升更加显著。
[0061]
同时,为了测试本发明所述方法的实际效果,本发明将模型部署于国网上海市电力公司的电力监控系统(scada)安全监控设备上进行了本发明的实际部署测试。其中,安全监控系统会定期记录关键设备(例如服务器、工作站)的触发事件,并对这些日志进行异常检测。从2021年10月19日到2022年2月20日的四个月(18周)内,从不同业务或管理平台的20多台设备中收集了数千万条日志,使用已知异常事件评估性能,并通过操作人员分析和确定警报的有效性(是否为误报)。本发明选择了三个具有代表性的设备,结果如表1所示。使
用本发明的漂移检测方案能够确定第9周和第18周是否发生漂移,其准确性可以通过模型性能的下降进行验证。p值表明了设备b和c的检测模型发生了明显的漂移。通过在第9周进行了本发明所属的漂移处理和模型更新方法,在第18周再次测试性能时可以看出模型的性能下降情况得到了显著的缓解,证明了本发明所提出方法的有效性。
[0062]
表1
[0063][0064]
根据本发明实施例网络安全异常检测中深度学习模型的更新方法,该方法适用于多种安全场景和不同深度学习模型的异常检测系统,具有较好的通用性,能显著降低漂移检测和模型更新中的人力开销,并快速准确地适应新的数据分布。
[0065]
为了实现上述实施例,如图4所示,本实施例中还提供了网络安全异常检测中深度学习模型的更新装置10,该装置10包括,特征获取模块100、漂移检测模块200、漂移解释模块300和参数更新模块400。
[0066]
特征获取模块100,用于对不同网络安全场景的样本数据进行特征提取得到高维特征向量;其中,不同网络安全场景的样本数据包括网络安全数据的当前数据分布的对照集样本和历史数据分布的控制集样本;
[0067]
漂移检测模块200,用于将高维特征向量输入至异常检测模型得到模型输入样本异常度值的原始输出值,对原始输出值进行校正并对校正后的原始输出值进行漂移检测得到基于置信度的漂移检测结果;
[0068]
漂移解释模块300,用于基于漂移检测结果得到基于对照集样本和控制集样本的优化目标函数,通过计算优化目标函数得到引起网络安全数据分布发生变化的漂移样本;
[0069]
参数更新模块400,用于利用漂移样本对异常检测模型进行模型重训练,通过计算模型重训练时的损失函数以优化模型参数权重,并基于优化后的模型参数权重以得到训练好的异常检测模型。
[0070]
进一步地,上述漂移检测模块200,还用于:
[0071]
基于线性分段拟合方法构建映射函数,并计算每个样本在模型中的原始输出值和理想值;其中,异常度值包括分别利用对照集样本和控制集样本在模型中校正后的输出概率分布;
[0072]
利用映射函数对多个分段函数进行拟合,迭代多个分段函数中断点的位置,根据拟合程度确定断点位置及每段函数的斜率以得到多个分段函数的拟合结果;以及,
[0073]
基于拟合结果对所述对照集样本和控制集样本的概率数据进行映射转换,基于映射转换结果对输出概率分布进行对比以根据对比结果得到网络安全数据分布是否发生变化的漂移检测结果。
[0074]
进一步地,上述优化目标函数的表达式为:
[0075][0076][0077][0078][0079]
其中mc和m
t
是优化函数的自变量,是在0-1之间的mask参数,分别对应每个对照集样本和控制集样本;为第一类优化目标的准确性指标,评估用mc和m
t
生成的分布和真实的新分布之间的距离,为第二类优化目标的标记开销,评估生成分布过程中需要的对照集样本数量,为第三类优化目标的准确性指标,评估mc和m
t
的确定性,pc和p
t
分别表示每个控制集和对照集样本在异常检测模型中的输出值,

表示哈达玛积,即对向量中的元素逐项乘积,表示向量拼接操作,表示kl散度,将输入向量转化为直方图中的频率向量,m为分桶数量,表示计算期望,λ1和λ2是超参数,控制三项优化目标之间的权重。
[0080]
进一步地,上述权重ωi的计算方式为:
[0081][0082]
是第j个控制集样本,通过优化函数计算出的控制集样本mask参数,表示第j个控制集样本输入到模型中得到的模型输出logits,表示对上述logits计算l2-norm后平方,表示上述值对模型参数求偏导数。
[0083]
根根据本发明实施例网络安全异常检测中深度学习模型的更新装置,适用于多种安全场景和不同深度学习模型的异常检测系统,具有较好的通用性,能显著降低漂移检测和模型更新中的人力开销,并快速准确地适应新的数据分布。
[0084]
为了实现上述实施例的方法,本发明还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上文所述方法的各个步骤。
[0085]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0086]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表