1.一种物联网网络入侵检测方法,其特征在于,基于条件生成对抗网络和深度神经网络对物联网网络入侵行为进行检测;
具体步骤如下:
S1、对物联网的原始流量数据进行预处理;
S2、对少数类流量数据样本进行分类;
S3、建立包括有生成器和判别器的条件生成对抗网络;
S4、重复训练生成器和判别器;
S5、通过训练好的条件生成对抗网络生成虚假的少数类流量数据样本;
S6、结合步骤S5生成的虚假的少数类流量数据样本和真实的原始流量数据训练深度神经网络;
S7、通过训练好的深度神经网络检测物联网入侵攻击行为;
所述步骤S3中,条件生成对抗网络的目标函数如下:
其中,E为期望值,x为真实数据,z为虚假数据,G为生成器模型,D为判别器模型,pdata(x)为真实攻击样本的分布,pz(z)为生成样本的分布,logD为判别器将真实数据判定为真实数据的概率,log(1‑D(G))为判别器将虚假数据仍判定为虚假数据的概率,y为指定的攻击类型的标签;
所述步骤S4中,
训练生成器时,生成器使用随机高斯分布函数random.normal()输入一个具有100维度的高斯噪声P(z)和定义好的攻击类别y进行编码,y为少样本攻击类别的热编码,链接方式采用数组相乘;固定判别器,当判别器成功判别虚假的少数类流量数据样本和真实的原始流量数据时,生成器将进行梯度更新再生成新的虚假样本让判别器判别,生成器目标值设置为1,采用交叉熵损失函数损失值为L1;
交叉熵损失函数如下:
其中,Loss为损失值,x为样本真实值,为样本预测值,N为当前训练的样本数;
训练判别器时,将经过生成器生成的虚假的少数类流量数据样本和真实的原始流量数据放入判别器进行判别;固定生成器,判别器通过判断真实的原始流量数据和生成器生成的虚假的少数类流量数据样本,将判别器的真实的原始流量数据训练的目标值设置为1,虚假的少数类流量数据样本训练的目标值设置为0,目标将真假样本数据的输出概率值接近1和0,最后通过激活函数将概率值转换为样本的预测分类标签;
通过交叉熵损失函数,真实的原始流量数据的损失值记为L2,虚假的少数类流量数据样本的损失值记为L3;
如果损失值未达到阈值或者未达到指定的循环次数,重复训练生成器和判别器,使用Adam优化器进行梯度更新优化,损失值Loss=L1+L2+L3;
所述步骤S6中,使用深度神经网络来构建分类器,采用八层的前馈深度神经网络,所有隐含层的激活函数为Leaky‑ReLU函数,输出层的激活函数为Softmax函数;神经网络通过组合低层次特征形成更高层次潜在特征,放入真实的原始流量数据和虚假的少数类流量数据样本混合一起的数据进行训练,通过交叉熵函数计算真实标签与输出值之间的损失值,然后用Adam优化器对深度神经网络进行梯度更新,直到循环结束。
2.根据权利要求1所述的一种物联网网络入侵检测方法,其特征在于,所述步骤S1对物联网的原始流量数据进行预处理的具体过程如下:S1‑1、对流量数据中存在的缺失值进行检查,去掉异常值和不相关的冗余信息,将字符型数据变成数值型数据;
S1‑2、对数值型数据进行归一化;
S1‑3、对归一化后的数据进行降维,提取数据特征;
S1‑4、形成标准的数据集。
3.根据权利要求2所述的一种物联网网络入侵检测方法,其特征在于,所述步骤S1‑3通过主成分分析法对归一化后的数据进行降维。
4.根据权利要求1所述的一种物联网网络入侵检测方法,其特征在于,所述步骤S2对少数类流量数据样本进行分类时,提取少样本类别,分类标签进行one‑hot编码处理,不同类别用二进制数组表示。
5.根据权利要求1所述的一种物联网网络入侵检测方法,其特征在于,所述步骤S3建立的条件生成对抗网络中,生成器和判别器均采用5个隐藏层,每一层应用Leaky‑ReLU函数,生成器和判别器在输出层之后应用Sigmoid激活函数。
6.根据权利要求5所述的一种物联网网络入侵检测方法,其特征在于,所述判别器的学习率为0.0025,生成器的学习率为0.02。