检测模型训练方法、检测方法及装置、存储介质与流程

文档序号:21082766发布日期:2020-06-12 16:40阅读:130来源:国知局
检测模型训练方法、检测方法及装置、存储介质与流程

本发明涉及网络安全技术领域,尤其涉及一种检测模型训练方法、检测方法及装置、存储介质。



背景技术:

企业通过制定和实施网络安全策略来抵御网络攻击行为,然而,相关技术中,网络安全策略往往只能对外来攻击进行有效检测,无法有效防御内部攻击,导致信息泄密时常发生,影响信息安全。



技术实现要素:

有鉴于此,本发明实施例提供一种检测模型训练方法、系统、存储介质及电子设备,以至少解决相关技术中检测网络攻击行为的效果不佳的问题。

本发明实施例的技术方案是这样实现的:

本发明实施例提供一种检测模型训练方法,包括:

获取至少一个数据集;所述至少一个数据集中的每个数据集分别包含一个时间窗口内生成的文件访问日志;

基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本;

为所述至少一组特征样本中的每组特征样本分别标注对应的标签;所述标签用于表征对应的文件访问行为中是否存在网络攻击行为;

利用所述至少一组特征样本训练设定的检测模型;所述检测模型用于基于输入的文件访问特征输出对应的网络攻击检测结果。

上述方案中,所述获取至少一个数据集时,所述方法包括:

根据文件访问日志的生成时间确定时间窗口内对应的文件访问日志;

在所述时间窗口内根据所述生成时间的先后顺序对确定出的文件访问日志进行排序,得到对应的数据集。

上述方案中,所述基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本时,所述方法包括:

确定数据集对应的至少一个维度的文件访问信息;

对于所述至少一个维度中每个维度的文件访问信息,确定对应的统计信息;

基于至少一个维度中所有维度的文件访问信息对应的统计信息,构成数据集对应的特征样本。

上述方案中,所述文件访问信息包括文件访问路径;所述对于所述至少一个维度中每个维度的文件访问信息,确定对应的统计信息时,所述方法包括:

基于数据集中的文件访问日志,确定每个用户对应的状态转移图;所述状态转移图表征用户对应的文件访问路径;

基于所述状态转移图中各个元素的数量,确定所述文件访问路径对应的统计信息。

上述方案中,所述基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本,还包括:

对每组特征样本中的文件访问特征进行归一化处理。

上述方案中,所述利用所述至少一组特征样本训练设定的检测模型时,所述方法包括:

基于漏报率和误报率设置代价函数;

通过所述代价函数判断所述设定的检测模型是否收敛;

其中,所述漏报率为检测模型未检测出存在的网络攻击行为的比率;所述误报率为检测模型将正常访问行为检测为网络攻击行为的比率。

本发明实施例还提供一种检测方法,包括:

获取待检测的文件访问日志;

基于所述待检测的文件访问日志提取对应的文件访问特征;

将所述文件访问特征输入至至少一个检测模型,得到所述至少一个检测模型中的每个检测模型输出的网络攻击检测结果;

基于所述至少一个检测模型中的每个检测模型输出的网络攻击检测结果,确定所述待检测的文件访问日志对应的文件访问行为是否是网络攻击行为;其中,

所述至少一个检测模型中的每个检测模型分别通过上述任一模型训练方法生成。

本发明实施例还提供了一种检测模型训练装置,包括:

数据集解析模块,用于获取至少一个数据集;所述至少一个数据集中的每个数据集分别包含一个时间窗口内生成的文件访问日志;

行为模型拟合模块,用于基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本;

标注模块,用于为所述至少一组特征样本中的每组特征样本分别标注对应的标签;所述标签用于表征对应的文件访问行为中是否存在网络攻击行为;

模型拟合模块,用于利用所述至少一组特征样本训练设定的检测模型;所述检测模型用于基于输入的文件访问特征输出对应的网络攻击检测结果。

本发明是实力还提供了一种电子设备,包括:

处理器和用于存储能够在处理器上运行的计算机程序的存储器,

其中,所述处理器用于运行所述计算机程序时,执行上述任一方法的步骤。

本发明实施例还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法的步骤。

在本发明实施例中,通过从时间窗口内生成的文件访问日志获取至少一个数据集,基于数据集提取对应的文件访问特征构成至少一组特征样本,为至少一组特征样本标注表征是否存在网络攻击行为的标签,利用至少一组特征样本训练设定的检测模型,从而得到可以用于检测网络攻击行为的检测模型,能够基于用户文件访问的特征识别网络攻击行为,有效地预防内部网络攻击行为。

附图说明

图1为本发明实施例提供的检测模型训练方法的实现流程示意图;

图2为本发明实施例提供的获取数据集的示意图;

图3为本发明又一实施例提供的检测模型训练方法的实现流程示意图;

图4为本发明又一实施例提供的检测模型训练方法的实现流程示意图;

图5为本发明又一实施例提供的检测模型训练方法的实现流程示意图;

图6为本发明实施例提供的状态转移图;

图7为本发明又一实施例提供的检测模型训练方法的实现流程示意图;

图8为本发明实施例提供的检测方法的实现流程示意图;

图9为发明实施例提供的检测模型训练装置的结构示意图;

图10为本发明实施例另一实施例提供的检测模型训练装置的结构示意图;

图11为本发明实施例电子设备的硬件组成结构示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细的说明。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

图1示出了本发明实施例提供的检测模型训练方法的实现流程。如图1所示,所述方法包括:

s101:获取至少一个数据集;所述至少一个数据集中的每个数据集分别包含一个时间窗口内生成的文件访问日志。

这里,将一个时间窗口内生成的文件访问日志作为一个数据集,那么基于多个时间窗口内生成的文件访问日志能够得到多个数据集。时间窗口是指一个预设的时间起点和时间终点的窗口。在实际应用中,文件访问日志包含了正常操作的文件访问日志以及网络攻击行为操作的文件访问日志两种类型。如图2所示,图2给出了获取数据集的示意图,一个时间窗口里面对应有三条生成时间在该时间窗口内的文件访问日志,构成该时间窗口对应的数据集。由于数据集是由一个时间窗口内生成的文件访问日志组成的,数据集会至少包含一种类型的文件访问日志记录,文件访问日志中包含日志编号、日志生成时间、经过时间以及日志对应的文件对象及路径,其中,不同的文件访问日志是用不同的日志编号进行区分的,一个日志编号只能对应一条文件访问日志。在实际应用中,攻击文件访问日志能够分成三种不同的攻击程度,包括低等攻击、中等攻击和高等攻击。对于低等攻击者,可以认为其操作简单,并没有携带可移动存储设备,因此在对于文件系统进行操作的时候,低等攻击者会打开或关闭文件,并且通过电子邮件发送数量有限的文件或者通过自己的记忆记录文件中的信息,因此低等攻击者的文件访问日志中可以记载低等攻击者打开或关闭文件的行为以及处理少量的文件数据的行为,根据这些特征,可以确定低等攻击文件访问日志。对于中等攻击者的网络攻击行为,可以看作为使用一个简单的程序直接寻找目标文件,并将目标文件复制到子带的可移动存储设备上,因此中等攻击者的文件访问日志会记录攻击者访问自带的可移动存储设备并出现将目标文件复制到可移动存储设备的行为。对于高级攻击者,其攻击行为的特点是自带可移动存储设备,并且还能对文件进行批量处理,以自动复制文件信息,因此高等攻击者的文件访问日志会记载将大量的文件复制到可移动存储设备的行为。在根据不同等级的网络攻击行为的特点,能够得到不同等级的攻击者的文件访问日志的特点,从而可以区分这些攻击文件访问日志所对应的攻击等级。在实际应用中,可以对数据集中的文件访问日志进行数据清洗。具体地,对文件访问日志中的缺失字段进行填补处理,对文件访问日志进行格式归一化处理,去除内容重复的文件访问日志,从而能够纠正数据集中可识别的数据错误,得到规范且易处理的数据集。

在一个实施例中,如图3所示,所述获取至少一个数据集时,所述方法包括:

s301:根据文件访问日志的生成时间确定时间窗口内对应的文件访问日志。

这里,通过文件访问日志的生成时间,判断文件访问日志的生成时间是否落入时间窗口内,从而确定时间窗口内对应的文件访问日志。例如,时间窗口的大小为30s,时间窗口的步长为30s,在利用时间窗口提取对应的文件访问日志的时候,确定起始时间,假设起始时间为0分0秒,那么将产生时间在0分0秒至0分30秒的文件访问日志确定为时间窗口对应的文件访问日志。下一个时间窗口的起始时间为0分30秒,将产生时间在0分30秒至0分60秒的文件访问日志确定为时间窗口对应的文件访问日志。

s302:在所述时间窗口内根据所述生成时间的先后顺序对确定出的文件访问日志进行排序,得到对应的数据集。

这里,确定了时间窗口对应的文件访问日志之后,在该时间窗口内,根据文件访问的生成时间的先后顺序对时间窗口内的文件访问日志进行排序,根据排序后的文件访问日志得到对应的数据集。

在上述实施例中,通过生成时间确定时间窗口对应的文件访问日志,并根据生成时间的先后顺序对文件访问日志进行排序,得到对应的数据集,能够从时间的维度描述用户的文件访问操作,能够有利于对数据集进行分析。

s102:基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本。

这里,一个数据集中包括了一个时间窗口内生成的文件访问日志,文件访问日志能够记录操作者的文件访问行为,因此通过提取数据集对应的文件访问日志,能够获取文件访问行为对应的文件访问特征,并将这些文件访问特征构成至少一组特征样本。文件访问特征是用来描述文件访问行为的特征。在实际应用中,由于工作内容的限定以及工作环境的稳定,正常用户的日常工作所访问的文件空间基本不会发生较大的变化,并且在访问不同的文件空间的时候,能够熟知对应的访问路径。但对于攻击者而言,攻击者是带有目的性的,需要找到攻击者想要的文件,同时攻击者也不熟知每一个正常用户的文件系统的构成,因此攻击者在进行文件访问的时候,会访问与正常用户常用的文件空间不同的空间,根据正常用户访问文件的特点以及攻击者访问文件的特点,能够区分正常用户和攻击者。根据这些文件访问特征组成的特征样本,能够在训练模型的过程中,让模型学习到攻击者的访问文件的特点。

s103:为所述至少一组特征样本中的每组特征样本分别标注对应的标签;所述标签用于表征对应的文件访问行为中是否存在网络攻击行为。

这里,对每组特征样本分别标注对应的标签,通过特征样本对应的标签,能够确定对应的文件访问行为中是否存在网络攻击行为。对每组特征样本进行标注的时候,可以根据对应的数据集中的文件访问日志的类型进行标注。例如,当数据集存在攻击文件访问日志,那么在对这个数据集提取的文件访问特征中包含着网络攻击行为的特征,因此可以将含有攻击文件访问日志的数据集构成的一组特征样本标注为攻击标签。当数据集的文件访问日志都是正常文件访问日志时,在对数据集提取的文件访问特征均为正常访问行为的特征,可以将数据集构成的一组特征样本标注为正常访问标签。在实际应用中,可以在对应的特征样本中构建一个标签字段,当标签字段的字段值为0的时候,代表着特征样本对应的文件访问行为不存在网络攻击行为,当标签字段的字段值为1的时候,代表着特征样本对应的文件访问行为存在网络攻击行为。

在一个实施例中,如图4所示,所述基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本时,所述方法包括:

s401:确定数据集对应的至少一个维度的文件访问信息。

这里,在对数据集提取对应的文件访问特征之后,确定用于描述文件访问特征的至少一个维度的文件访问信息。在实际应用中,文件访问信息包括:访问的文件对象数量、连续访问的两个文件对象之间的时间间隔及访问路径的距离、访问的文件对象位于整个文件系统的目录结构中的深度。这些文件访问信息能够用于描述文件访问特征。在实际应用中,由于攻击者需要寻找需要的文件,因此攻击者会访问多个文件对象,并且攻击者为了查看或损害多个文件,在访问两个对象之间的时间会非常短,同时,由于攻击者并不熟知文件系统的构成,因此会查找不同深度的文件,并且会使用独特的搜索模式进行查找,使得连续访问的两个文件对象之间的路径距离非常短。对于正常访问的用户而言,由于正常访问的用户熟知文件系统结构,并且正常访问的用户是有目的地访问文件对象的,因此接触的文件对象的数量不会过多,连续访问两个文件对象的时间间隔也会较长,并且,正常访问的用户通常会在特定或常用的文件对象进行工作,从而能够产生深度模式,这些文件访问信息能够有效地区分正常访问的用户和攻击者。例如,由两级文件目录构成的文件系统结构,第一级文件目录中存有两个文件对象a1和a2,在第一级文件的每个文件对象都分别含有两个个文件对象,构成第二级文件目录,即a1中含有第二级文件对象b1、b2,a2中含有第二级文件对象b3、b4,正常用户常用的工作文件对象为b4。那么,当正常用户需要打开工作的文件对象时,是通过路径a2-b4,最终打开正常用户所需的工作文件对象。而当攻击者需要访问b4的时候,由于攻击者不熟知文件系统结构,因此会从第一级文件目录开始寻找,从a1-b1,发现b1不是目标文件对象时,会去查看b2,当发现b2也不是目标文件对象的时候,再返回到a2,再查寻b3,直至能够查找到b4。

s402:对于所述至少一个维度中每个维度的文件访问信息,确定对应的统计信息。

这里,在确定至少一个维度的文件访问信息后,可以通过统计该文件访问信息中的各项数据,确定该文件访问信息对应的统计信息。其中,统计信息包括均值、中值、方差、标准差。例如,对于文件对象数量这一类文件访问信息,在一个数据集中,分别确定每条文件访问日志中的文件对象数量,进而统计出该数据集中文件对象数量的均值、中值、方差、标准差。由于攻击者的文件访问数量比正常的用户的文件访问数量要大,因此可以通过数据集的统计信息来区别出正常访问行为与网络攻击行为之间的特征。例如,存在网络攻击行为的数据集中某条文件访问日志中的文件对象数量的方差很大,则表明该条文件访问日志对应的文件访问行为中访问了大量的文件对象,从而能够识别出该条文件访问日志对应的文件访问行为为网络攻击行为。

s403:基于至少一个维度中所有维度的文件访问信息对应的统计信息,构成数据集对应的特征样本。

这里,根据数据集对应的至少一个维度的文件访问信息的统计信息,构成数据集对应的特征样本。在实际应用中,可以通过特征向量矩阵的形式记录一个数据集对应的特征样本。例如,特征向量矩阵的每一列表示一类文件访问信息,每一行表示一类文件访问信息对应的均值、中值、方差、标准差,这样一个特征向量矩阵构成数据集对应的特征样本。

在上述实施例中,通过获取数据集的文件访问信息,确定对应的统计信息,并基于文件访问信息的统计信息,构成数据集对应的特征样本,能够将文件访问特征转换为具体的数据,能够更直接并准确地分析文件访问行为,提高了特征样本的科学性。

在一实施例中,确定数据集对应的文件访问信息包括文件访问路径的时候,如图5所示,所述对于所述至少一个维度中每个维度的文件访问信息,确定对应的统计信息时,所述方法包括:

s501:基于数据集中的文件访问日志,确定每个用户对应的状态转移图;所述状态转移图表征用户对应的文件访问路径。

这里,确定数据集对应的文件访问路径后,根据数据集中的文件访问日志,确定数据集的文件访问日志所对应的用户的状态转移图,其中,状态转移图能够表征用户对应的文件访问路径。在文件访问信息中,文件访问路径是比较重要的一类信息,但是文件访问路径是通过字符串的形式进行表达,无法直观地展现用户在访问文件的时候的行为模式,因此可以将文件访问路径的顺序视为用户的状态转移,通过状态转移图描述用户对应的文件访问路径,其中一个时间窗口中一个用户对应一个状态转移图。如图6所示,在状态转移图中,可以将访问的文件对象用点进行描述,访问的文件对象的路径通过线进行描述。由于正常用户在访问文件的时候,访问的文件对象通常都是固定,不会发生较大的变化,因此正常用户对应的状态转移图中涵盖的文件对象的数量较少,并且文件访问路径也不会复杂。而攻击者在进行文件访问的时候,对应的状态转移图会出现访问大量的文件对象,并且会出现大量交织的文件访问路径。

s502:基于所述状态转移图中各个元素的数量,确定所述文件访问路径对应的统计信息。

这里,根据得到的状态转移图,统计状态转移图中各个元素的数量,确定文件访问路径中每个元素的统计信息,其中,元素是指构成状态转移图的元素,包括代表访问的文件对象的点以及用于表征文件访问路径的线。统计信息包括点的数量、有向边的数量、无向边的数量,点边数量比等可以基于状态转移图用来刻画访问行为的特征。

在上述发明实施例中,通过获取文件访问路径,基于数据集的文件访问日志,确定每个用户对应的状态转移图,并确定状态转移图中各个元素的统计信息,能够量化表达用户文件访问的行为模式,更直观地表达用户文件访问行为的模式,有利于分辨是否存在网络攻击行为,提高识别网络攻击行为的准确性。

在一实施例中,所述基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本,还包括:

对每组特征样本中的文件访问特征进行归一化处理。

这里,在基于每个数据集对应的文件访问特征构成一组特征样本的时候,由于不同的文件访问特征对应的量级是不同的,基于不同数据集的文件访问特征构成的特征样本训练模型的时候,会导致模型的收敛速度过慢,并且得到的模型的精度偏差较大。因此,在将特征样本输入到相应的训练模型之前,需要对特征样本进行归一化,将特征样本中的不同规格的数据转换为同一规格的数据。例如,归一化的特征样本中每个特征的数据的平均值变为0,标准差变为1。在实际应用中,可以利用sklearn.preprocessing.standardscaler工具中的standardscaler()对特征样本进行归一化处理。具体地,通过z=(x-μ)/σ对特征样本中每个数据进行处理,其中,x为特征样本中的一个特征,u是特征样本中一个特征的均值,σ是特征样本中一个特征的标准差,通过这三者之间的运算,得到的z为x对应进行归一化处理的数据。该数学关系式表达的含义是将特征样本中每个特征的数据减掉未进行归一化的特征样本中该特征的平均值,再除以未进行归一化的特征样本中该特征的标准差。

在上述实施例中,通过对每组特征样本中的文件访问特征进行归一化处理,使特征样本中每个特征的数据具有相同的数据规格,从而能够提高模型的收敛速度,并提高模型检测的精确度,能够更好地检测是否存在内部攻击行为。

s104:利用所述至少一组特征样本训练设定的检测模型;所述检测模型用于基于输入的文件访问特征输出对应的网络攻击检测结果。

这里,根据至少一组特征样本,通过机器学习的方法,训练设定的检测模型,使检测模型能够根据文件访问特征检测是否存在网络攻击行为,具体地,将文件访问特征输入到检测模型进行检测,检测模型通过分析输入的文件访问特征,输出与该文件访问特征相对应的网络攻击检测结果。在实际应用中,设定的检测模型可以为逻辑回归模型、决策树模型、支持向量机(svm,supportvectormachine)、随机森林、xgboost等常用的模型。

在上述发明实施例中,通过从一个时间窗口内获取一个数据集,从数据集中提取对应的文件访问特征,构成特征样本,对特征样本标注对应的标签以表征对应的文件访问行为是否存在网络攻击行为,并根据特征样本训练设定的检测模型,能够得到一个可以识别不同操作者的文件访问特征的检测模型,从而能够检测是否存在网络攻击行为,能够有效地防御内部攻击。

在一实施例中,如图7所示,所述利用所述至少一组特征样本训练设定的检测模型时,所述方法包括:

s701:基于漏报率和误报率设置代价函数。这里,利用至少一组特征样本训练设定的检测模型时候,通过训练得到的检测模型的漏报率和误报率设置代价函数。通过将检测模型的输出的网络攻击检测结果与特征样本对应的标签进行对比,能够判断检测模型的输出的网络攻击检测结果是否正确,从而能够确定检测模型对应的漏报率和误报率。代价函数表示漏报率和误报率的总和,能够对检测模型的性能进行评估,定义为代价函数cost=α*漏报率+β*误报率,其中,α和β用于表征代价函数中漏报率和误报率两者在代价函数中所占的比重。在检测是否存在网络攻击行为的时候,在误报的基础上,可以通过额外的分析进行纠正,因此漏报被视为比误报更严重的错误。但是,在利用至少一组特征样本训练设定的检测模型时,由于特征样本中含有的攻击特征的样本少于正常访问特征的样本,因此,误报比漏报更重要,在此基础上,误报的比重大于漏报的比重,具体地,可以将误报的比重设置为漏报的比重的6倍,那么代价函数cost=漏报率+6*误报率。在实际应用中,由于出现网络攻击行为的几率较低,因此检测模型的命中率会高于误报率,因此,通过代价函数就能综合考虑误报率和漏报率,判断检测模型是否收敛。在实际应用中,不同的设定的检测模型的命中率和误报率的差别较大,例如,命中率较高的为训练xgboost得到的检测模型,而命中率较低的为训练逻辑回归得到的检测模型。对于误报率而言,误报率较低的为训练随机森林模型得到的检测模型,而误报率较高的为训练朴素贝叶斯得到的检测模型。因此,可以根据实际检测模型在误报率和漏报率上的表现,选择相应的检测模型进行网络攻击行为检测,或者综合多个检测模型的检测结果,最终判定是否检测到网络攻击行为。

s702:通过所述代价函数判断所述设定的检测模型是否收敛;

其中,所述漏报率为检测模型未检测出存在的网络攻击行为的比率;所述误报率为检测模型将正常访问行为检测为网络攻击行为的比率。

这里,通过代价函数,判断检测模型是否收敛。其中,代价函数的数值越低,代表着该检测模型的效果越好,也就是该检测模型达到收敛的状态。当检测模型处于收敛的状态,代表着检测模型已经训练完毕。当代价函数的数值越高,代表着检测模型仍未处于收敛状态,还需要根据特征样本进行训练。根据代价函数的数值,能够指示检测模型的训练状态。在实际应用中,对xgboost训练得到的检测模型的误报率的数值虽然不是最低,但是通过比较不同训练模型得到的检测模型的代价函数,xgboost训练得到的检测模型所对应的代价函数的数值是最低的,综合性能更加稳定可靠,效果较好,处于收敛状态。而通过朴素贝叶斯训练得到的检测模型的代价函数的数值是最高的,代表着通过朴素贝叶斯训练得到的检测模型的性能是较差。

在上述实施例,通过设定的检测模型对应的漏报率和误报率设置的代价函数,判断设定的检测模型是否收敛,能够通过具体的数据对设定的检测模型的性能进行评价,更直接、科学地判断设定的检测模型是否处于收敛,并且能够根据代价函数对设定的检测模型进行相应的调整,从而能够提高检测模型对网络攻击行为的识别。

在一实施例中,如图8所示,还提供了利用上述训练得到的检测模型进行网络攻击行为的检测,包括:

s801:获取待检测的文件访问日志。

这里,获取需要进行检测的文件访问日志,在实际应用中,文件访问日志可以通过查询终端的相关文件记录得到。

s802:基于所述待检测的文件访问日志提取对应的文件访问特征。

这里,对需要进行检测的文件访问日志提取对应的文件访问特征,其中,文件访问特征至少一个维度的文件访问信息。文件访问信息包括:访问的文件对象数量、连续访问的两个文件对象之间的时间间隔及访问路径的距离、访问的文件对象位于整个文件系统的目录结构中的深度。文件访问信息可以从对应的文件访问日志中获取。

s803:将所述文件访问特征输入至至少一个检测模型,得到所述至少一个检测模型输出的网络攻击检测结果。

这里,在获取文件访问日志对应的文件访问特征后,通过训练得到的检测模型对文件访问特征进行检测。具体地,将文件访问特征输入到至少一个检测模型,检测模型对文件访问特征进行识别和匹配之后,能够输出至少一个与输入的文件访问特征对应的网络攻击检测结果。例如,当存在3个不同的检测模型的时候,可以将文件访问特征分别输入到这3个不同的检测模型,每个检测模型对文件访问特征进行分析和匹配之后,能够输出相应的网络攻击检测结果,也就是共得到3个网络攻击检测结果。在实际应用中,由于网络攻击检测结果只有两种结果,即存在网络攻击行为和不存在网络攻击行为,因此在检测模型输出结果的时候,可以设置为当检测模型输出1时,表示存在网络攻击行为,当检测模型输出0的时候,表示不存在网络攻击行为。

s804:基于所述至少一个检测模型的每个检测模型输出的网络攻击检测结果,确定所述待检测的文件访问日志对应的文件访问行为是否是网络攻击行为;其中,

所述至少一个检测模型中的每个检测模型分别通过上述检测模型训练方法生成。

这里,根据至少一个检测模型输出的网络攻击检测结果,可以确定待检测的文件访问日志对应的文件访问行为是否为网络攻击行为。例如,当至少一个检测模型输出的结果为1,即代表着存在网络攻击行为,可以确定待检测的文件访问日志对应的文件访问行为为网络攻击行为。当至少一个检测模型输出的结果为0的时候,即代表着不存在网络攻击行为,可以确定待检测的文件访问日志对应的文件访问行为不是网络攻击行为。在实际应用中,还可以综合至少一个检测模型输出的结果,对文件访问日志对应的文件访问行为进行判断。例如,当存在4个检测模型,并且4个检测模型的输出结果均为1,则可以确定文件访问日志对应的文件访问行为为网络攻击行为。当4个检测模型的输出中有3个检测模型的输出为1,1个检测模型的输出为0的时候,可以确定文件访问日志对应的文件访问行为为网络攻击行为的可能性较大。当4个检测模型的输出中有2个检测模型的输出为1,剩下两个检测模型的输出为0的时候,可以综合4个模型的性能进行判断,由于以代价函数对每个检测模型进行评价的时候,xgboost的性能是最佳的,而朴素贝叶斯的性能是较差的,如果xgboost训练得到的检测模型检测到的结果为1,可以确定文件访问日志对应的文件访问行为为网络攻击行为的可能性较大。当xgboost训练得到的检测模型检测到的结果为0,可以确定文件访问日志对应的文件访问行为不是网络攻击行为的可能性较大。

在上述实施例中,通过提取待检测文件访问日志的文件访问信息,并将文件访问信息输入到至少一个检测模型中进行检测,得到文件访问日志对应的文件访问行为是否为网络攻击行为,从而能够有效地、及时地识别出内部攻击行为,有效地预防内部攻击行为。

为实现本发明实施例的方法,本发明实施例还提供了一种检测模型训练装置,如图9所示,该装置包括:

数据集解析模块901,用于获取至少一个数据集;所述至少一个数据集中的每个数据集分别包含一个时间窗口内生成的文件访问日志;

行为模型拟合模块902,用于基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本;

标注模块903,用于为所述至少一组特征样本中的每组特征样本分别标注对应的标签;所述标签用于表征对应的文件访问行为中是否存在网络攻击行为;

模型拟合模块904,用于利用所述至少一组特征样本训练设定的检测模型;所述检测模型用于基于输入的文件访问特征输出对应的网络攻击检测结果。

在一实施例中,所述数据集解析模块901获取至少一个数据集时,包括:

根据文件访问日志的生成时间确定时间窗口内对应的文件访问日志;

在所述时间窗口内根据所述生成时间的先后顺序对确定出的文件访问日志进行排序,得到对应的数据集。

在一实施例中,所述行为模型拟合模块902基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本,包括:

确定数据集对应的至少一个维度的文件访问信息;

对于所述至少一个维度中每个维度的文件访问信息,确定对应的统计信息;

基于至少一个维度中所有维度的文件访问信息对应的统计信息,构成数据集对应的特征样本。

在一实施例中,所述文件访问信息包括文件访问路径,所述行为模型拟合模块902对于所述至少一个维度中每个维度的文件访问信息,确定对应的统计信息时,包括:

基于数据集中的文件访问日志,确定每个用户对应的状态转移图;所述状态转移图表征用户对应的文件访问路径;

基于所述状态转移图中各个元素的数量,确定所述文件访问路径对应的统计信息。

在一实施例中,所述行为模型拟合模块902基于所述至少一个数据集中的每个数据集,分别提取对应的文件访问特征,构成至少一组特征样本,包括:

对每组特征样本中的文件访问特征进行归一化处理。

在一实施例中,所述模型拟合模块904利用所述至少一组特征样本训练设定的检测模型时,包括:

基于漏报率和误报率设置代价函数;

通过所述代价函数判断所述设定的检测模型是否收敛;

其中,所述漏报率为检测模型未检测出存在的网络攻击行为的比率;所述误报率为检测模型将正常访问行为检测为网络攻击行为的比率。

在一个应用实施例中,图10示出了检测模型训练装置的完整结构示意图,所述检测模型训练装置的工作流程如下:

数据集解析模块1001,用于根据一个时间窗口内生成的文件访问日志,获取至少一个数据集。

数据预处理模块1002,用于将数据集中的文件访问日志作数据清洗,对文件访问日志中的缺失字段进行填处理,对文件访问日志进行格式归一化处理,并去除内容重复的文件访问日志。

行为模型拟合模块1003,用于从获取的至少一个数据集中的每个数据集,提取对应的文件访问特征,构成至少一组特征样本。

标注模块1004,用于对至少一组特征样本中的每组特征样本分别标注对应的标签,用于表征对应的访问行为中是否存在网络攻击行为。

模型拟合模块1005,用于利用至少一组特征样本训练设定的检测模型,检测模型能够基于输入的文件访问特征输出对应的网络攻击检测结果。

检测评估模块1006,用于基于漏报率和误报率设置代价函数,通过代价函数判断设定的检测模型是否收敛,根据代价函数的结果循环迭代优化设定的检测模型的性能。

基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供了一种电子设备。图11为本发明实施例电子设备的硬件组成结构示意图,如图11所示,电子设备包括:

通信接口1,能够与其它设备比如网络设备等进行信息交互;

处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的检测模型训练方法。而所述计算机程序存储在存储器3上。

当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统4。

本发明实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。

可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器2旨在包括但不限于这些和任意其它适合类型的存储器。

上述本发明实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、dsp,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。

处理器2执行所述程序时实现本发明实施例的各个方法中的相应流程,为了简洁,在此不再赘述。

在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flashmemory、磁表面存储器、光盘、或cd-rom等存储器。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1