趙丹陽
摘 ? 要:針對現(xiàn)有網(wǎng)絡(luò)隱寫分析算法特征提取難度大、算法適用范圍單一的問題,文章提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)隱寫分析方法。對網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行預(yù)處理,將所有數(shù)據(jù)包處理成大小相同的矩陣,最大限度地保留數(shù)據(jù)特征完整性;使用異構(gòu)卷積進(jìn)行特征提取,減少模型計算量及參數(shù)數(shù)量,加快模型收斂速度;取消池化層,提高模型訓(xùn)練效率。與傳統(tǒng)網(wǎng)絡(luò)隱寫分析方法相比,模型能夠自動提取數(shù)據(jù)特征,識別多種網(wǎng)絡(luò)隱寫算法。
關(guān)鍵詞:網(wǎng)絡(luò)隱寫分析;卷積神經(jīng)網(wǎng)絡(luò);特征提取
1 ? ?網(wǎng)絡(luò)隱寫分析簡要介紹
隱寫術(shù)是一種具有隱蔽性的信息隱藏技術(shù),主要用于保密通信領(lǐng)域,但無疑也為不法分子創(chuàng)造了條件。網(wǎng)絡(luò)隱寫主要利用冗余字段及協(xié)議規(guī)則設(shè)定漏洞來進(jìn)行秘密信息傳輸,具有動態(tài)性以及更強的隱蔽性。
網(wǎng)絡(luò)隱寫分析是網(wǎng)絡(luò)隱寫的逆過程。近年來,關(guān)于隱寫分析的研究多集中于通用隱寫分析,通過使用原始數(shù)據(jù)和隱密數(shù)據(jù)來訓(xùn)練分類器,達(dá)到檢測多種隱寫方法的目的。卷積神經(jīng)網(wǎng)絡(luò)獨特的卷積處理能力使其可以在不用對數(shù)據(jù)進(jìn)行復(fù)雜預(yù)處理的情況下,直接自動提取高層特征并進(jìn)一步分析,同時使計算復(fù)雜度以指數(shù)級別下降。
2015年,Qian等[1]使用深度學(xué)習(xí)來代替?zhèn)鹘y(tǒng)的統(tǒng)計分析方式進(jìn)行隱寫分析,提出了5層的CNN模型,測試效果較好,展現(xiàn)出了神經(jīng)網(wǎng)絡(luò)在隱寫分析領(lǐng)域的巨大潛力。Oplatkova等[2]討論了能夠檢測由程序OutGuess編碼進(jìn)行隱寫的神經(jīng)網(wǎng)絡(luò)模型,實驗證明,具有兩個隱藏層的神經(jīng)網(wǎng)絡(luò)檢測效果要優(yōu)于一個隱藏層。Tumoian等[3]評估了用神經(jīng)網(wǎng)絡(luò)檢測Rutkowska的TCP ISN隱蔽信道的精確率,研究發(fā)現(xiàn),對于連續(xù)ISNs序列進(jìn)行監(jiān)測的正確率可達(dá)到99%,隱寫分析準(zhǔn)確度較高。
2 ? ?基于異構(gòu)卷積神經(jīng)網(wǎng)絡(luò)的NS-HCNN
網(wǎng)絡(luò)隱寫分析模型(Network Steganalysis- Heterogeneous Convolutional Neural Network,NS-HCNN),構(gòu)造卷積神經(jīng)網(wǎng)絡(luò)模型NS-HCNN,包含輸入層、卷積層、全連接層和softmax層。NS-HCNN模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
NS-HCNN模型先對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行預(yù)處理,選取數(shù)據(jù)包前1 024字節(jié)并將其處理成大小為32×32的二維矩陣輸入到卷積層。
模型共有5層卷積層,第1層為同構(gòu)卷積核,共有大小為5×5的卷積核256個。第2層和第3層為異構(gòu)卷積核,大小為5×5的卷積核128個,P=2。第4層為異構(gòu)卷積核,大小為3×3的卷積核64個,P=2。模型取消池化層,第5層卷積層使用大小為18×18的全局卷積來產(chǎn)生512個特征值,供之后的全連接層進(jìn)行特征匯聚。
將卷積層最終處理得到的特征輸入全連接層,增強模型特征整合能力。最后使用softmax函數(shù)判斷輸入數(shù)據(jù)流可能的分類情況。為防止過擬合,NS-HCNN模型添加L2正則以及在模型訓(xùn)練期間隨機舍棄部分?jǐn)?shù)據(jù)。
2.1 ?數(shù)據(jù)預(yù)處理
首先,模型在輸入層進(jìn)行數(shù)據(jù)包預(yù)處理。為了確保卷積核特征提取效果,輸入層將原始數(shù)據(jù)包的前k個字節(jié)取出,若數(shù)據(jù)包長度小于k字節(jié)則做添0處理。使用此方法將變長數(shù)據(jù)包轉(zhuǎn)換為固定長度。其次,將其轉(zhuǎn)換成一個大小為n×n的二維矩陣送入卷積層。
以太網(wǎng)中,數(shù)據(jù)包大小范圍通常在64~1 518字節(jié)之間。如果數(shù)據(jù)包小于64字節(jié),稱為碎片;如果大于1 518字節(jié),稱為特大數(shù)據(jù)包。這兩種類型的數(shù)據(jù)包都不是常見的以太網(wǎng)數(shù)據(jù)包,不在本文考慮范圍內(nèi)。經(jīng)過實驗發(fā)現(xiàn),網(wǎng)絡(luò)數(shù)據(jù)包大小處于1 024字節(jié)內(nèi)時,隱寫分析效果最好。這可能是因為實驗樣本集中大小超過1 024字節(jié)的數(shù)據(jù)包樣本較少,導(dǎo)致大量長度不足1 024字節(jié)的數(shù)據(jù)包需添0填充至1 024,而這種行為影響了模型檢測。因此,k值選為1 024,n為32。輸入層經(jīng)過預(yù)處理后生成大小為32×32的二維矩陣。
2.2 ?特征提取
卷積是一種有效提取特征的方法。使用卷積核遍歷輸入矩陣上的每一個值,輸入矩陣與卷積核重合區(qū)域內(nèi)相對應(yīng)的每一個值乘卷積核內(nèi)對應(yīng)點的權(quán)重,然后求和并加上偏置,最后經(jīng)過非線性激活函數(shù),得到輸出矩陣中的一個特征值。特征,其中,b是偏置項,f是激活函數(shù)。模型激活函數(shù)選擇ReLU函數(shù),函數(shù)表示為f(x)=max(0, x)。
傳統(tǒng)的同構(gòu)卷積中,卷積層包含的所有卷積核大小相同,即在3×3×256的卷積層中,其256個卷積核大小都為3×3。而NS-HCNN模型使用異構(gòu)卷積,即每層卷積層中包含不同大小的卷積核,以此來降低模型的計算量和參數(shù)數(shù)量,提高模型檢測效率。
假設(shè)某卷積層中卷積核數(shù)量為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是輸入通道數(shù),N是輸出通道數(shù),H是卷積核尺寸,P為比例系數(shù)。而同構(gòu)卷積計算量為FLS=DO×DO×M×N×H×H,因此異構(gòu)卷積與同構(gòu)卷積計算量之比為,P≥2時,模型計算量大幅下降,檢測效率顯著提高。
網(wǎng)絡(luò)隱寫分析目的是檢測正常網(wǎng)絡(luò)流內(nèi)數(shù)據(jù)包是否包含隱寫信息,而網(wǎng)絡(luò)隱寫算法為保證隱蔽性,隱寫嵌入率普遍不高,即隱寫噪聲通常較小。傳統(tǒng)的最大池化及平均池化方法容易導(dǎo)致過度采樣,不利于模型收斂。因此,NS-HCNN模型取消池化層,使用全局卷積來對特征進(jìn)行聚合統(tǒng)計。實驗證明,全局卷積能夠提供更多特征信息供全連接層進(jìn)行特征整合,提升模型分類效果。
3 ? ?實驗
為了測試本文模型性能,建立網(wǎng)絡(luò)隱寫數(shù)據(jù)集共2 400個數(shù)據(jù)包。網(wǎng)絡(luò)隱寫數(shù)據(jù)包通過重發(fā)隱寫算法[4]以及基于TCP首部ISN隱寫算法[5]生成。利用本文卷積神經(jīng)網(wǎng)絡(luò)NS-HCNN模型與其他常用卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對比實驗,實驗結(jié)果如表1所示。實驗數(shù)據(jù)表明,NS-HCNN模型針對網(wǎng)絡(luò)隱寫算法檢測率最高能夠達(dá)到93.5%,且模型測試時間較短。
4 ? ?結(jié)語
本文提出了一種基于異構(gòu)卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)隱寫分析方法NS-HCNN。NS-HCNN模型通過對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行預(yù)處理,使用異構(gòu)卷積核進(jìn)行特征提取,取消池化層,增加全連接層等方法進(jìn)行網(wǎng)絡(luò)隱寫分析。針對網(wǎng)絡(luò)隱蔽信道,模型檢測準(zhǔn)確率為93.5%,證明了模型在網(wǎng)絡(luò)隱寫分析領(lǐng)域良好的檢測效果以及較低的時間復(fù)雜度。
[參考文獻(xiàn)]
[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