1.一种基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,包括如下步骤:步骤1,对样本集中样本的属性和标签进行编码;所述样本为网络数据样本;
步骤2,根据编码后的样本的属性计算信息增益;
步骤3,对抗样本生成模型训练:
步骤3‑1,构建对抗样本生成模型;
步骤3‑2,定义对抗样本生成模型的目标函数;
步骤3‑3,采用步骤1的方法对网络数据样本集中样本的属性和标签进行编码;
步骤3‑4,采用步骤2的方法根据编码后的网络数据样本集中样本的属性计算信息增益;
步骤3‑5,将编码后的网络数据样本集中样本的属性和标签,以及信息增益输入步骤3‑
1构建的对抗样本生成模型,并利用目标函数进行训练;
步骤4,生成用于攻击的对抗样本:
步骤4‑1,采用步骤1的方法对真实样本集中样本的属性和标签进行编码;
步骤4‑2,采用步骤2的方法根据编码后的真实样本集中样本的属性计算信息增益;
步骤4‑3,将编码后的真实样本集中样本的属性和标签,以及信息增益输入经步骤3训练好的对抗样本生成模型,得到编码的对抗样本属性矩阵;
步骤4‑4,对编码的对抗样本属性矩阵进行解码得到对抗样本;所述解码得到的对抗样本为用于实施对抗性攻击的对抗性网络攻击样本。
2.根据权利要求1所述的基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,所述步骤1对样本集中样本的属性和标签进行编码的方法,包括如下子步骤:步骤1‑1,将样本集A用矩阵形式表示为其中,m是样本集A中样本的总数量,n是样本集A中样本的属性总数量,xi=[xi1,xi2,…,xij,yi]是样本集A中的第i个样本,xij是样本集A中第i个样本的第j个属性,yi是样本集A中的第i个样本的标签;
步骤1‑2,基于样本集A的矩阵形式对样本集A中样本的属性进行编码:步骤1‑2‑1,基于样本集A的矩阵形式拆分出样本的离散值属性矩阵和连续值属性矩阵,包括:
初始化二维矩阵Xd=[],Xs=[],对样本集A中的第j列属性若aj是离散值属性,则将aj添加到二维矩阵Xd中,得到离散值属性矩阵若aj是连续值属性,则将aj添加到二维矩阵Xs中,得到连续值属性矩阵其中,xil是第t个样本的第l个离散值属性,xiz第i个样本的第z个连续值属性,g是离散值属性的总数量,h是连续值属性的总数量,且g+h=n;
步骤1‑2‑2,采用独热编码的方法对离散值属性矩阵Xd进行编码,得到编码后的离散值属性矩阵Xd_enc;
步骤1‑2‑3,将连续值属性矩阵Xs和编码后的离散值属性矩阵Xd_enc进行拼接,得到编码后的样本属性矩阵Xenc;
步骤1‑3,基于样本集A的矩阵形式对样本集A中样本的标签进行编码:步骤1‑3‑1,直接取出样本集A的标签,得到样本标签矩阵步骤1‑3‑2,采用独热编码的方法对样本标签矩阵Y进行编码,得到编码后的样本标签矩阵Yenc。
3.根据权利要求2所述的基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,所述步骤2根据编码后的样本的属性计算信息增益的方法,包括如下子步骤:步骤2‑1,计算信息增益:
将编码后的样本属性矩阵Xenc中第k个属性用xk表示,则各个属性对标签的信息增益:gaink=Gain(y,xk)=Entropy(y)‑Entropy(y|xk);
其中,
Pi表示第i类标签y在样本集中Y出现的概率;Pi(y|xk)表示在样本属性xk已知的情况下,第i类标签y在样本集中Y出现的概率;
步骤2‑2,以一维矩阵形式存储所有样本属性的信息增益,即:gain=[gain0,gain1,…,gaink],0≤k≤N‑1其中,N是编码后的样本属性的总数量。
4.根据权利要求3所述的基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,所述步骤3‑1构建对抗样本生成模型的方法,包括如下子步骤:步骤3‑1‑1,构建生成器;所述生成器包括:编码网络、解码网络、设置在编码网络和解码网络之间的两个残差块、以及用于输出的双曲正切激活函数;所述解码网络的结构为依次设置的卷积层、实例正则化层、线性整流层、卷积层、实例正则化层、线性整流层、卷积层、实例正则化层和线性整流层;所述解码网络的结构为依次设置的反卷积层、实例正则化层、线性整流层、反卷积层、实例正则化层、线性整流层和反卷积层;
步骤3‑1‑2,构建判别器;所述判别器的结构为依次设置的卷积层、Leaky ReLU层、卷积层、批正则化层、Leaky ReLU层、卷积层、批正则化层、Leaky ReLU层、卷积层和sigmoid激活函数;
步骤3‑1‑3,构建替代模型;所述替代模型的结构为依次设置的卷积层、ReLU层、卷积层、ReLU层、卷积层、ReLU层、卷积层、ReLU层、池化层、线性层、ReLU层、线性层、ReLU层和线性层。
5.根据权利要求4所述的基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,所述步骤3‑2定义对抗样本生成模型的目标函数的方法,包括如下子步骤:步骤3‑2‑1,定义生成器的目标函数:LG=αLGAN+βLadv+γLt;
其中,α、β和γ是超参数,用于控制子目标函数LGAN、Ladv和Lt之间的相关重要性;
表示生成器生成真实样本的损失;
表示对抗样本成功欺骗对抗样本生成模型的损失;
表示将样本的信息增益作为权值实现扰动特征的自动化选择;
x=rxi是真实样本,G(x)=purxi是生成器生成的扰动,t是目标分类,l表示训练替代模型的损失函数,gain是一维的样本属性的信息增益矩阵,其每个元素gaink是样本中第k个属性的信息增益,xadv是对抗样本;
步骤3‑2‑2,定义判别器的目标函数:其中x=rxi是真实样本,G(x)=purxi是生成器生成的扰动,D表示判别器。
6.根据权利要求5所述的基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,所述步骤3‑5中将编码后的网络数据样本集中样本的属性和标签,以及信息增益输入步骤3‑1构建的对抗样本生成模型,并利用目标函数进行训练的方法,包括如下子步骤:步骤3‑5‑1,对属性矩阵Xenc的每个样本xi=[xi0 … xik]进行维度重塑:将k×1的一维矩阵xi转换为wxw的二维矩阵形式的真实样本 其中,w是大于 的最小整数,并且,当j>k‑1时,xij=0;其中,属性矩阵Xenc由步骤3‑3得到;
步骤3‑5‑2,将信息增益矩阵gain和真实样本rxi输入生成器中,生成器输出扰动其中,信息增益矩阵gain由步骤3‑4得到;
步骤3‑5‑3,将扰动purxi和真实样本rxi叠加,得到对抗样本的属性矩阵rexadv_i;
步骤3‑5‑4,将对抗样本的属性矩阵rexadv_i和真实样本rxi输入判别器,判别器判断输入是真实样本或是生成的样本,输出结果 根据步骤3‑2中的定义的目标函数计算损失LD和LGAN;判别器利用计算得到的损失LD更新自身参数,同时将损失LGAN反馈给生成器;
步骤3‑5‑5,将对抗样本的属性矩阵rexadv_i、真实样本rxi和标签矩阵yenc输入替代模型,替代模型输出独热编码形式的判别结果y_predi=[0,…,0,1,0,…,0],其中,y_predi的长度是LY,元素“1”所在位置的索引是判别器判定的标签所在位置,并反馈给生成器;生成器根据步骤3‑2中定义的目标函数计算损失Ladv和Lt;其中,标签矩阵yenc由步骤3‑3得到;
步骤3‑5‑6,生成器根据步骤3‑2中定义的目标函数计算损失LG,并根据LG更新自身参数;
步骤3‑5‑7,将步骤3‑5‑1~步骤3‑5‑6重复执行epoch次,其中,epoch是超参数,最终得到基于GAN的对抗样本生成模型。
7.根据权利要求6所述的基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,所述步骤4‑3中将编码后的真实样本集中样本的属性和标签,以及信息增益输入经步骤
3训练好的对抗样本生成模型,得到编码的对抗样本属性矩阵的方法,包括如下子步骤:步骤4‑3‑1,将编码后的真实样本集中样本的属性和标签,以及信息增益输入经步骤3训练好的对抗样本生成模型,得到对抗样本属性矩阵rexadv_i:步骤4‑3‑2,根据步骤3‑5‑1进行的维度重塑,将对抗样本属性矩阵rexadv_i进行逆向维度重塑,得到kx1的一维矩阵xadv_i:步骤4‑3‑3,拼接所有xadv_i,得到编码后的对抗样本属性矩阵Badv_enc:
8.根据权利要求7所述的基于GAN的低代价对抗性网络攻击样本生成方法,其特征在于,所述步骤4‑4中对编码的对抗样本进行解码得到对抗样本的方法,包括如下子步骤:步骤4‑4‑1,根据步骤1‑2‑3的拼接过程,逆向拆分编码后的对抗样本属性矩阵Badv_enc,得到编码后的对抗离散值属性矩阵Badv_d_enc和对抗连续值属性矩阵badv_s;其中,其中,c是真实样本集中样本的总数量;
步骤4‑4‑2,根据步骤1‑2‑2的独热编码过程,逆向解码编码后的对抗离散值属性矩阵Badv_d_enc,得到解码后的对抗离散值属性矩阵Badv_d_dec:步骤4‑4‑3,根据步骤1‑2‑1的拆分过程,逆向拼接解码后的对抗离散值属性矩阵Badv_d_dec、对抗连续值属性矩阵Badv_s和 得到对抗样本矩阵Badv:其中,badv_i=[xadv_i0 … xadv_ij yb_i]是Badv的第i个样本。