发明内容
为了解决上述技术问题,本发明的目的在于提供一种基于人工智能的网络安全威胁识别方法及系统,所采用的技术方案具体如下:
本发明提出了一种基于人工智能的网络安全威胁识别方法,所述方法包括:
以带有数据类别的历史数据集作为孪生网络的训练数据;所述历史数据集包括正常数据集和异常数据集;所述孪生网络提取输入数据的输入特征向量,通过所述输入特征向量与所述历史数据集对应的历史特征向量的距离输出数据类别;所述历史特征向量包括正常特征向量和异常特征向量;
根据所述孪生网络提取未知数据的未知特征向量;将所述未知数据和所述未知特征向量输入预先训练好的数据重构网络中,获得重构数据;所述数据重构网络的损失函数包括重构损失函数和距离度量损失函数;根据所述未知数据与所述重构数据的差异获得所述重构损失函数;根据所述重构数据的重构特征向量与所述历史特征向量的差异获得所述距离度量损失函数;
根据所述重构数据和所述未知数据加和等分生成多个生成数据;根据所述生成数据的生成特征向量与所述异常数据集的差异距离在坐标系中构建散点图像;所述坐标系横坐标为所述生成特征向量,纵坐标为所述差异距离;根据所述散点图像中的散点离散程度和所述历史数据集中数据离散程度获得数据选取指标;根据所述数据选取指标获得数据选取数量;根据所述数据选取数量选取与所述异常数据集所述差异距离最小的多个所述生成特征向量对应的所述生成数据作为异常生成数据,其他为正常生成数据;
根据所述异常生成数据和所述正常生成数据作为所述孪生网络的训练数据对所述孪生网络进行迭代更新。
进一步地,所述通过输入特征向量与所述历史数据集对应的历史特征向量的距离输出数据类别包括:
获取所述正常数据集中的正常特征向量中心;根据每个所述正常特征向量与所述正常特征向量中心的相似性获得第一对比采样概率;根据所述第一对比采样概率在所述正常数据集中随机获得预设采样数量的对比正常特征向量;
获取所述异常数据集中的异常特征向量中心;根据每个所述异常特征向量与所述异常特征向量中心的相似性作为第二对比采样概率;根据所述第二对比采样概率在所述异常数据集中随机获得所述采样数量的对比异常特征向量;
通过所述输入特征向量与所述对比正常特征向量和所述对比异常特征向量的欧式距离输出数据类别。
进一步地,所述根据所述孪生网络提取未知数据的未知特征向量包括:
获得初始数据;根据所述孪生网络提取所述初始数据的初始特征向量;以所述初始特征向量与所述历史特征向量的欧式距离作为度量距离;以最大度量距离和最小度量距离的比值作为筛选指标;所述最大度量距离和所述最小度量距离的所述数据类别不同;若所述筛选指标在预设指标范围内,则认为所述初始数据为所述未知数据;否则,以所述最小度量距离对应的所述数据类别作为所述初始数据的所述数据类别。
进一步地,所述根据所述未知数据与所述重构数据的差异获得所述重构损失函数包括:
所述重构损失函数包括:
其中,
为所述重构损失函数,
为所述未知数据,
为所述重构数据。
进一步地,所述根据所述重构数据的重构特征向量与所述历史特征向量的差异获得所述距离度量损失函数包括:
所述距离度量损失函数包括:
其中,
为所述距离度量损失函数,
为所述正常特征向量的数量,
为所述
重构特征向量,
为第
个所述正常特征向量,
为所述异常特征向量的数量,
为第
个
所述异常特征向量。
进一步地,所述数据重构网络的损失函数包括重构损失函数和距离度量损失函数包括:
根据所述数据重构网络的迭代次数获得重构权重;所述重构权重与所述迭代次数为正比例关系;所述重构权重与所述重构损失函数相乘后与所述距离度量损失函数相加,获得所述损失函数。
进一步地,所述根据所述散点图像中的散点离散程度和所述历史数据集中数据离散程度获得数据选取指标包括:
将所述散点图像中的散点进行一次函数拟合,获得拟合直线;根据所述拟合直线的斜率获得散点离散程度。
进一步地,所述根据所述散点图像中的散点离散程度和所述历史数据集中数据离散程度获得数据选取指标包括:
根据数据选取指标公式获得所述数据选取指标;所述数据选取指标公式包括:
其中,
为所述数据选取指标,
为所述拟合直线的斜率,为所述正常数据集的方
差,
为所述异常数据集的方差。
进一步地,所述根据所述生成数据的生成特征向量与所述异常数据集的差异距离在坐标系中构建散点图像包括:
以所述生成特征向量与所述异常特征向量中心的欧式距离作为差异距离。
本发明还提出一种基于人工智能的网络安全威胁识别系统,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时任意一项所述一种基于人工智能的网络安全威胁识别方法的步骤。
本发明具有如下有益效果:
1.本发明实施例将未知数据通过数据重构网络进行数据重构。将重构数据和未知数据进行加和等分,获得生成数据,达到扩充数据量的目的。进一步因为未知数据可能存在安全隐患,因此分析生成数据与异常数据集直接的距离关系,根据差异距离的分布情况对生成数据的类别进行区分。将拥有了数据类别的生成数据作为孪生网络的训练数据能够有效的增加孪生网络的数据类型检测范围,提高检测精度。
2.本发明实施例以重构损失函数和距离度量损失函数作为数据重构网络的损失函数,使得数据重构网络可以输出与未知数据相差不大,且与异常数据集相近的重构数据。保证了后续生成数据对孪生网络的可参考性。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于人工智能的网络安全威胁识别方法及系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种基于人工智能的网络安全威胁识别方法及系统的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种基于人工智能的网络安全威胁识别方法流程图,该方法包括:
步骤S1:以带有数据类别的历史数据集作为孪生网络的训练数据;历史数据集包括正常数据集和异常数据集;孪生网络提取输入数据的输入特征向量,通过输入特征向量与历史数据集对应的历史特征向量的距离输出数据类别;历史特征向量包括正常特征向量和异常特征向量。
在网络传输过程中,经常处理的历史数据都会存在正常和异常两个数据类别。正常数据可直接进行网络传输,异常数据认为传输存在威胁。因此以带有数据类别的历史数据集作为孪生网络的训练数据,对孪生网络进行训练。孪生网络常用于分类任务,即在获取输入数据后,提取输入数据的输入特征向量,通过将输入特征向量和孪生网络中预存的正常数据集和异常数据集的正常特征向量和异常特征向量进行距离计算,以距离相近的数据类别作为输入数据的数据类别。孪生网络为本领域技术人员常用的技术手段,在此不多赘述具体内容,仅简述本发明实施例中孪生网络的相关训练步骤:
(1)构建孪生网络的两个分支,两个分支结构一致且权值共享,分支结构为编码器-全连接层,编码器用于提取数据特征,全连接层用于将表征数据特征的特征张量映射为一维特征向量。
(2)以历史数据集作为训练数据,将历史数据集中的正常数据集和异常数据集内元素随机混合输入至所述孪生网络中。
(3)采用对比损失函数进行训练。
在常规的孪生网络处理中,输入特征向量需要与网络中预存的所有历史特征向量进行距离分析,计算量较大,影响分类效率。因此,可根据概率对历史特征向量进行采样,获得少量的历史特征向量进行距离分析,提高分类效率,具体包括:
在特征空间中,属于一个数据类别的特征向量为一个紧凑的集合,集合中心处的特征向量可以用于表述整个特征向量集合。因此获取正常数据集中的正常特征向量中心。根据每个正常特征向量与正常特征向量中心的相似性获得第一对比采样概率。根据第一对比采样概率在正常数据集中随机获得预设采样数量的对比正常特征向量。
和正常数据集相同的,获取异常数据集中的异常特征向量中心。根据每个异常特征向量与异常特征向量中心的相似性作为第二对比采样概率。根据第二对比采样概率在异常数据集中随机获得采样数量的对比异常特征向量。
通过输入特征向量与对比正常特征向量和对比异常特征向量的欧式距离输出数据类别。
在本发明实施例中,以欧式距离获取特征向量和正常特征向量中心相似性,即距
离中心越近则越相似,采样概率越大,因此将归一化后的
作为对比采样概率,其中
为特征向量和正常特征向量中心的欧氏距离。采用数量设置为5,即分别对正常数据即和异
常数据集采样5次,获得10个历史特征向量对输入特征向量进行距离分析。
步骤S2:根据孪生网络提取未知数据的未知特征向量;将未知数据和未知特征向量输入预先训练好的数据重构网络中,获得重构数据;数据重构网络的损失函数包括重构损失函数和距离度量损失函数;根据未知数据与重构数据的差异获得重构损失函数;根据重构数据的重构特征向量与历史特征向量的差异获得距离度量损失函数。
在网络数据传输过程中,对于未知数据,如果进行贸然传输会出现对网络环境的威胁。因此需要对未知数据的数据类别进行判定。因为孪生网络的检测范围有限,对于在正常数据集和异常数据集之外的未知数据无法进行准确的判断,如果直接进行孪生网络的特征距离分析可能会出现安全隐患,因此将未知数据默认为存在威胁的异常数据,通过扩充数据量并获得扩充数据量的类别,对孪生网络进行再训练,可提高网络的检测范围。
在网络传输过程中,获取一个新的数据后,需要判断该数据是否为未知数据具体包括:
获得初始数据。根据孪生网络提取初始数据的初始特征向量。以初始特征向量与历史特征向量的欧式距离作为度量距离以最大度量距离和最小度量距离的比值作为筛选指标。最大度量距离和最小度量距离的数据类别不同。若筛选指标在预设指标范围内,则认为初始数据为未知数据。否则,以最小度量距离对应的数据类别作为初始数据的数据类别。
需要说明的是,筛选指标为最大度量距离和最小度量距离的比值,当筛选指标接
近1,即最大度量距离和最小度量距离相近时,说明初始特征向量在特征空间中位于正常特
征向量和异常特征向量中间,无法确定初始特征向量的数据类别,因此在本发明实施例中
指标范围设置为
,其中,
为超参数,设置为0.25,在其他实施例中可根据任务
需求自行设置。
为了扩充数据量,利用孪生网络提取未知数据的未知特征向量。将未知数据和未
知特征向量输入预先训练好的数据重构网络中,获得重构数据。数据重构网络的损失函数
包括重构损失函数和距离度量损失函数,具体为:
,其中
为重构权重,
为
重构损失函数,
为距离度量损失函数。因为数据重构网络的训练方式为迭代训练,即在
一次训练后获取新的输入,并将该新的输入送入分支进行再次训练,直至损失函数收敛,因
此根据数据重构网络的迭代次数获得重构权重,重构权重与迭代次数为正比例关系,迭代
次数越大,重构权重越大,在损失函数中允许的重构差异越小,以此来控制迭代前期进行一
定程度输入数据改动的重构,并在迭代后期降低这个程度。在本发明实施例中,
,其中
为迭代次数。
根据未知数据与重构数据的差异获得重构损失函数,具体包括:
其中,
为重构损失函数,
为未知数据,
为重构数据。重构损失函数保证了
重构数据与未知数据之间的差异不会相差过大。
根据重构数据的重构特征向量与历史特征向量的差异获得距离度量损失函数,具
体包括:
其中,
为距离度量损失函数,
为正常特征向量的数量,
为重构特征向量,
为第
个正常特征向量,
为异常特征向量的数量,
为第
个异常特征向量。
在距离度量损失函数中,通过
使得重构数据的重构特征向量在拟
合过程中距离正常数据集越远越好。同理
使得重构特征向量在拟合过程中
距离异常数据集越近越好。
通过数据重构网络即可获得与未知数据差异不大,且重构特征向量靠近异常数据集的重构数据。
需要说明的是,因为数据重构网络中的特征向量分析过程为孪生网络中的一个过
程,因此可将数据重构网络视为孪生网络的一个分支。且
和
都为孪生网络中的采样数
量,都为5。
步骤S3:根据重构数据和未知数据加和等分生成多个生成数据;根据生成数据的生成特征向量与异常数据集的差异距离在坐标系中构建散点图像;坐标系横坐标为生成特征向量,纵坐标为差异距离;根据散点图像中的散点离散程度和历史数据集中数据离散程度获得数据选取指标;根据数据选取指标获得数据选取数量;根据数据选取数量选取与异常数据集差异距离最小的多个生成特征向量对应的生成数据作为异常生成数据,其他为正常生成数据。
获取的重构数据可和未知数据根据加和等分过程生成多个生成数据,即
,
,
…,其中
,
,
为生成数据,
为未知数
据,
为重构数据。生成数据的数量
为
,其中
为加和等分生成次数,可根据
具体任务要求自行设置,在此不做限定。
根据生成数据的生成特征向量与异常数据集的差异距离在坐标系中构建散点图像。坐标系横坐标为生成特征向量,纵坐标为差异距离。因为生成数据为未知数据和重构数据加和等分获得的,因此散点图像中纵坐标越大表示生成数据越靠近重构数据。散点图像表示了生成特征向量的分布信息,在特征空间当靠近重构数据的散点离散时,说明越接近重构数据的散点的差异距离的差异越大,生成数据属于异常数据的概率越小。因此可通过散点图像中的散点离散程度对生成数据的类型进行判断,具体散点离散程度的获取方法包括:
将散点图像中的散点进行一次函数拟合,获得拟合直线。根据拟合直线的斜率获得散点离散程度。斜率越大说明靠近重构数据的散点的差异距离的差异越大,数据越离散。
进一步结合历史数据集中数据离散程度获得数据选取指标,具体包括:
根据数据选取指标公式获得数据选取指标;数据选取指标公式包括:
其中,
为数据选取指标,
为拟合直线的斜率,
为正常数据集的方差,
为异常
数据集的方差。
在数据选取指标公式中,如果
大于0,则表示靠近重构数据的散点的差异距
离的差异越大,数据较为离散。如果
大于1,说明异常数据集较正常数据集更紧凑,因此选
择的生成数据更多。
将数据选取指标与生成数据的数据量相乘获得数据选取数量
。根据数据选取数
量选取与异常数据集差异距离最小的多个生成特征向量对应的生成数据作为异常生成数
据,即异常生成数据的数据量为
,其他为正常生成数据。
优选的,以生成特征向量与异常特征向量中心的欧式距离作为差异距离。
步骤S4:根据异常生成数据和正常生成数据作为孪生网络的训练数据对孪生网络进行迭代更新。
根据步骤S3实现了对未知数据的数据量扩充和数据类别识别,将获得的异常生成数据和正常生成数据作为孪生网络的训练数据对孪生网络继续进行训练,调整网络参数,使得孪生网络的检测范围增加,获得可适应与未知数据的孪生网络。
综上所述,本发明实施例根据历史数据训练孪生网络进行数据分类。通过数据重构网络将未知数据的数据量进行扩充,获得大量的与未知数据差异不大,且特征向量靠近异常数据集的生成数据。通过对生成数据与异常数据集的差异距离构建散点图像,根据散点图像中的分布特征和历史数据集的数据离散程度对生成数据进行分类,获得异常生成数据和正常生成数据。将常生成数据和正常生成数据用于更新孪生网络,提高孪生网络的检测范围。本发明实施例通过扩充未知数据的数据量并对孪生网络进行更新,提高了检测范围和检测效率。
本发明还提出一种基于人工智能的网络安全威胁识别系统,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时任意一项一种基于人工智能的网络安全威胁识别方法的步骤。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。