基于卷积神经网络的网络隐写分析方法研究
2020-04-30赵丹阳
赵丹阳
摘 要:针对现有网络隐写分析算法特征提取难度大、算法适用范围单一的问题,文章提出了一种基于卷积神经网络的网络隐写分析方法。对网络数据流进行预处理,将所有数据包处理成大小相同的矩阵,最大限度地保留数据特征完整性;使用异构卷积进行特征提取,减少模型计算量及参数数量,加快模型收敛速度;取消池化层,提高模型训练效率。与传统网络隐写分析方法相比,模型能够自动提取数据特征,识别多种网络隐写算法。
关键词:网络隐写分析;卷积神经网络;特征提取
1 網络隐写分析简要介绍
隐写术是一种具有隐蔽性的信息隐藏技术,主要用于保密通信领域,但无疑也为不法分子创造了条件。网络隐写主要利用冗余字段及协议规则设定漏洞来进行秘密信息传输,具有动态性以及更强的隐蔽性。
网络隐写分析是网络隐写的逆过程。近年来,关于隐写分析的研究多集中于通用隐写分析,通过使用原始数据和隐密数据来训练分类器,达到检测多种隐写方法的目的。卷积神经网络独特的卷积处理能力使其可以在不用对数据进行复杂预处理的情况下,直接自动提取高层特征并进一步分析,同时使计算复杂度以指数级别下降。
2015年,Qian等[1]使用深度学习来代替传统的统计分析方式进行隐写分析,提出了5层的CNN模型,测试效果较好,展现出了神经网络在隐写分析领域的巨大潜力。Oplatkova等[2]讨论了能够检测由程序OutGuess编码进行隐写的神经网络模型,实验证明,具有两个隐藏层的神经网络检测效果要优于一个隐藏层。Tumoian等[3]评估了用神经网络检测Rutkowska的TCP ISN隐蔽信道的精确率,研究发现,对于连续ISNs序列进行监测的正确率可达到99%,隐写分析准确度较高。
2 基于异构卷积神经网络的NS-HCNN
网络隐写分析模型(Network Steganalysis- Heterogeneous Convolutional Neural Network,NS-HCNN),构造卷积神经网络模型NS-HCNN,包含输入层、卷积层、全连接层和softmax层。NS-HCNN模型的网络结构如图1所示。
NS-HCNN模型先对网络数据包进行预处理,选取数据包前1 024字节并将其处理成大小为32×32的二维矩阵输入到卷积层。
模型共有5层卷积层,第1层为同构卷积核,共有大小为5×5的卷积核256个。第2层和第3层为异构卷积核,大小为5×5的卷积核128个,P=2。第4层为异构卷积核,大小为3×3的卷积核64个,P=2。模型取消池化层,第5层卷积层使用大小为18×18的全局卷积来产生512个特征值,供之后的全连接层进行特征汇聚。
将卷积层最终处理得到的特征输入全连接层,增强模型特征整合能力。最后使用softmax函数判断输入数据流可能的分类情况。为防止过拟合,NS-HCNN模型添加L2正则以及在模型训练期间随机舍弃部分数据。
2.1 数据预处理
首先,模型在输入层进行数据包预处理。为了确保卷积核特征提取效果,输入层将原始数据包的前k个字节取出,若数据包长度小于k字节则做添0处理。使用此方法将变长数据包转换为固定长度。其次,将其转换成一个大小为n×n的二维矩阵送入卷积层。
以太网中,数据包大小范围通常在64~1 518字节之间。如果数据包小于64字节,称为碎片;如果大于1 518字节,称为特大数据包。这两种类型的数据包都不是常见的以太网数据包,不在本文考虑范围内。经过实验发现,网络数据包大小处于1 024字节内时,隐写分析效果最好。这可能是因为实验样本集中大小超过1 024字节的数据包样本较少,导致大量长度不足1 024字节的数据包需添0填充至1 024,而这种行为影响了模型检测。因此,k值选为1 024,n为32。输入层经过预处理后生成大小为32×32的二维矩阵。
2.2 特征提取
卷积是一种有效提取特征的方法。使用卷积核遍历输入矩阵上的每一个值,输入矩阵与卷积核重合区域内相对应的每一个值乘卷积核内对应点的权重,然后求和并加上偏置,最后经过非线性激活函数,得到输出矩阵中的一个特征值。特征,其中,b是偏置项,f是激活函数。模型激活函数选择ReLU函数,函数表示为f(x)=max(0, x)。
传统的同构卷积中,卷积层包含的所有卷积核大小相同,即在3×3×256的卷积层中,其256个卷积核大小都为3×3。而NS-HCNN模型使用异构卷积,即每层卷积层中包含不同大小的卷积核,以此来降低模型的计算量和参数数量,提高模型检测效率。
假设某卷积层中卷积核数量为M,其中,大小为H的卷积核有M/P个,剩余(1-1/P)×M个卷积核大小为1×1,则大小为H的卷积核的计算量为:
FLH=(DO×DO×M×N×H×H)÷P
大小为1*1的卷积核的计算量为:
该层总计算量为FL=FLH+FL1,其中,DO是卷积层输出特征图的尺寸,M是输入通道数,N是输出通道数,H是卷积核尺寸,P为比例系数。而同构卷积计算量为FLS=DO×DO×M×N×H×H,因此异构卷积与同构卷积计算量之比为,P≥2时,模型计算量大幅下降,检测效率显著提高。
网络隐写分析目的是检测正常网络流内数据包是否包含隐写信息,而网络隐写算法为保证隐蔽性,隐写嵌入率普遍不高,即隐写噪声通常较小。传统的最大池化及平均池化方法容易导致过度采样,不利于模型收敛。因此,NS-HCNN模型取消池化层,使用全局卷积来对特征进行聚合统计。实验证明,全局卷积能够提供更多特征信息供全连接层进行特征整合,提升模型分类效果。
3 实验
為了测试本文模型性能,建立网络隐写数据集共2 400个数据包。网络隐写数据包通过重发隐写算法[4]以及基于TCP首部ISN隐写算法[5]生成。利用本文卷积神经网络NS-HCNN模型与其他常用卷积神经网络模型进行对比实验,实验结果如表1所示。实验数据表明,NS-HCNN模型针对网络隐写算法检测率最高能够达到93.5%,且模型测试时间较短。
4 结语
本文提出了一种基于异构卷积神经网络的网络隐写分析方法NS-HCNN。NS-HCNN模型通过对网络数据包进行预处理,使用异构卷积核进行特征提取,取消池化层,增加全连接层等方法进行网络隐写分析。针对网络隐蔽信道,模型检测准确率为93.5%,证明了模型在网络隐写分析领域良好的检测效果以及较低的时间复杂度。
[参考文献]
[1]QIAN Y,DONG J,WANG W,et al.Deep learning for steganalysis via convolutional neural networks[J].Proceedings of SPIE - the International Society for Optical Engineering,2015(3):9409.
[2]OPLATKOVA Z,HOLOSKA J,ZELINKA I,et al.Steganography detection by means of neural networks[C].Sydney:DEXA08 19th International Conference,2008.
[3]TUMOIAN E,ANIKEEV M.Network based detection of passive covert channels in TCP/IP[C].New York:IEEE Conference on Local Computer Networks Anniversar,2005.
[4]MAZURCZYK W,SMOLARCZYK M,SZCZYPIORSKI K.Retransmission steganography and its detection[J].Soft Computing,2011(3):505-515.
[5]CRAIG H.Rowland covert channels in the tcp/ip protocol suite[J].First Monday,1997(2):32-48.
Research on a network steganalysis model based on convolutional neural network
Zhao Danyang
(College of Computer Science & Technology, Qingdao University, Qingdao 266000, China)
Abstract:In terms of the difficulties in feature extraction and single application scope of existing network steganalysis algorithms, a network steganalysis method based on convolutional neural network is proposed in this paper. The model preprocessed the network data stream and makes all packets into a matrix of the same size to preserve the integrity of data feature to the maximum extent. The model uses heterogeneous convolution for feature extraction, reducing the amount of model calculation and parameters, and speeding up the model convergence speed; pooling layer is canceled to improve the model training efficiency. Compared with the traditional network steganalysis method, the model can automatically extract data features and identify multiple network steganography algorithms.
Key words:network steganalysis; convolutional neural network; feature extraction