張海軍,陳映輝
(嘉應(yīng)學(xué)院 a.計算機(jī)學(xué)院; b.數(shù)學(xué)學(xué)院,廣東 梅州 514015)
隨著互聯(lián)網(wǎng)、云計算、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的快速發(fā)展以及數(shù)以萬計網(wǎng)絡(luò)接入點(diǎn)、移動終端和網(wǎng)絡(luò)應(yīng)用的出現(xiàn),產(chǎn)生了大量蘊(yùn)含較高價值的大數(shù)據(jù),這給網(wǎng)絡(luò)空間安全帶來了前所未有的挑戰(zhàn)。從服務(wù)器交易系統(tǒng)的數(shù)據(jù)庫數(shù)據(jù)到各終端業(yè)務(wù)的系統(tǒng)數(shù)據(jù),如各種流水操作、網(wǎng)購記錄、網(wǎng)絡(luò)瀏覽歷史、播放的音視頻、微博和微信等基于移動或Web應(yīng)用的數(shù)據(jù)等,使得基于Web應(yīng)用的攻擊逐漸成為網(wǎng)絡(luò)中的主要攻擊,如跨站腳本(Cross-Site Scripting,XSS)攻擊[1],其表現(xiàn)為:網(wǎng)絡(luò)釣魚,盜取用戶的賬號和密碼;盜取用戶Cookie數(shù)據(jù),獲取用戶隱私,或者利用用戶身份進(jìn)行進(jìn)一步操作;劫持瀏覽器會話,從而冒充用戶執(zhí)行任意操作,如非法轉(zhuǎn)賬、強(qiáng)制發(fā)表博客;強(qiáng)制彈出頁面廣告,刷流量;進(jìn)行惡意操作,如纂改頁面信息、刪除文章、傳播跨站蠕蟲腳本、網(wǎng)掛木馬;進(jìn)行基于大量客戶端的攻擊,如DDOS攻擊;聯(lián)合其他漏洞(如CSRF);進(jìn)一步滲透網(wǎng)站。
傳統(tǒng)的計算機(jī)病毒檢測方法主要利用病毒特征庫中的已有特征,通過提取相應(yīng)樣本的特征,在病毒庫中搜索并比較是否存在相匹配的特征,從而確定病毒是否存在。這種方法主要基于已知的病毒進(jìn)行檢測,難以發(fā)現(xiàn)新的病毒,特別是對于變形病毒其更加無能為力,而且針對大數(shù)據(jù)問題時效率較低。當(dāng)前安全防護(hù)措施已經(jīng)由過去的“80%防護(hù)+20%檢測及響應(yīng)”變成了“20%防護(hù)+80%檢測及響應(yīng)”。深度學(xué)習(xí)以其強(qiáng)大的自適應(yīng)性、自學(xué)習(xí)能力在語音、圖像、自然語言處理等方面取得了比傳統(tǒng)機(jī)器學(xué)習(xí)方法更好的效果,特別是在解決大數(shù)據(jù)問題時,其效果更好。
本文借鑒類圖像處理過程,設(shè)計一種基于神經(jīng)網(wǎng)絡(luò)的詞向量化算法,對訪問流量語料庫大數(shù)據(jù)進(jìn)行詞向量化處理,通過理論分析和推導(dǎo)實現(xiàn)多種不同深度的深層卷積神經(jīng)網(wǎng)絡(luò)算法,從而對大數(shù)據(jù)跨站腳本攻擊進(jìn)行智能檢測。
Web入侵檢測本質(zhì)上是基于日志文本的分析[2],即對訪問流量語料大數(shù)據(jù)進(jìn)行分析。首先,進(jìn)行自然語言處理,由于當(dāng)前基于安全防護(hù)的語料樣本比較缺乏,標(biāo)注好標(biāo)簽的樣本更少,因此需要進(jìn)行數(shù)據(jù)處理和建模,具體為:1)語料獲取;2)語料預(yù)處理,包括清洗、分詞、詞性標(biāo)注、去停用詞;3)初級數(shù)據(jù)分析,如URL參數(shù)個數(shù)、字符分布、訪問頻率等分析。其次,進(jìn)行詞向量化,將詞映射到向量空間,在計算機(jī)中,任何信息都是以0和1的二進(jìn)制序列表示,如所有的字符(包括字母、漢字、英語單詞等語言文字)都有一個編碼。本文將大數(shù)據(jù)日志文本轉(zhuǎn)換成數(shù)值數(shù)據(jù)并以矩陣表示,再基于詞向量方法進(jìn)行數(shù)據(jù)處理和分析,即將攻擊報文轉(zhuǎn)換成類似于圖像數(shù)據(jù)(像素)的矩陣,也將字符串序列樣本轉(zhuǎn)換成具有一定維度值的向量,再對詞向量進(jìn)行數(shù)值化的特征提取和分析,如數(shù)據(jù)抽樣、矩陣相關(guān)性維數(shù)約減、特征提取、降維、聚類等運(yùn)算。最后,進(jìn)行模型訓(xùn)練與數(shù)值分析,實現(xiàn)用戶行為分析、網(wǎng)絡(luò)流量分析和欺詐檢測等。上述過程原理如圖1所示,向量化處理過程詳見3.1節(jié)實驗部分,其實現(xiàn)了語料大數(shù)據(jù)的獲取、處理、建模、分詞和詞向量化等[3]。
圖1 大數(shù)據(jù)跨站腳本攻擊智能檢測原理Fig.1 Intelligent detection principle of big data cross-site scripting attack
利用CBOW實現(xiàn)詞向量,即已知上下文詞語來預(yù)測當(dāng)前詞語出現(xiàn)的概率。為此,需要最大化對數(shù)似然函數(shù):
(1)
其中,w表示語料庫C中的詞。式(1)可以看作多分類問題,因為多分類是由二分類組合而成,所以可以使用Hierarchical Softmax方法進(jìn)行求解。先計算w的條件概率,如下:
(2)
(3)
其中,σ(x)為sigmoid函數(shù)。由于d只取0和1,因此式(3)可以以指數(shù)的形式表示為:
(4)
將式(4)代入式(1)可得:
(5)
式(5)中的每一項可以記為:
(6)
(7)
令σ′(x)=σ(x)[1-σ(x)],代入式(7)可得:
(8)
(9)
(10)
由于Xw是上下文的詞向量之和,在處理時將整個更新值應(yīng)用到上下文每個單詞的詞向量上。
(11)
基于上述算法建立模型,將原始語料作為輸入,即可實現(xiàn)語料數(shù)據(jù)的詞向量化。
在計算機(jī)視覺[4]、自然語言處理[5]等領(lǐng)域,相對于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)或其他ML算法,深度卷積神經(jīng)網(wǎng)絡(luò)(Deep Convolutional Neural Networks,DCNNs)具有更高的識別率、更強(qiáng)的魯棒性以及更好的泛化性能[6]。為此,本文設(shè)計多種DCNNs算法,構(gòu)建基于“輸入層+卷積層+卷積層+池化層+卷積層+卷積層+池化層+全連接層+全連接層+Softmax層”10層深度的結(jié)構(gòu),以實現(xiàn)大數(shù)據(jù)安全防護(hù)檢測,并通過模型訓(xùn)練進(jìn)行大數(shù)據(jù)智能檢測。為減輕梯度消失等問題[7-8],本文選擇Relu函數(shù)作為激活函數(shù),其定義為:
f(x)=max(0,x)
(12)
通過式(13)可以求得卷積層的相應(yīng)輸出值,如下:
(13)
其中,xi,j表示向量的第i行第j列元素值,wm,n表示卷積核第m行第n列的權(quán)值,wb表示卷積核的偏置項,F是卷積核的大小(寬度或高度,兩者相同)。卷積運(yùn)算后得到下一特征層,其寬度和高度分別為:
(14)
其中,W1和H1分別表示卷積前向量的寬度和高度,W2和H2分別表示卷積后Feature Map的寬度和高度,P表示在向量周圍補(bǔ)0的圈數(shù)值,S表示卷積運(yùn)算時的步幅值。卷積前向量的深度可以大于1,如表示為D,則相應(yīng)卷積核的深度也必須為D,可以求得卷積后的相應(yīng)輸出值。
(15)
對于池化層和全連接層,輸出運(yùn)算相對簡單。
在DCNNs進(jìn)行訓(xùn)練時,先利用鏈?zhǔn)角髮?dǎo)計算損失函數(shù)對每個權(quán)重的梯度,然后根據(jù)梯度下降公式更新權(quán)重。具體過程如下:
1)對于卷積層誤差項的傳遞,假設(shè)步長S、輸入深度D和卷積核個數(shù)均為1,它們間的關(guān)系如下:
(16)
(17)
(18)
(19)
可以將式(19)寫成如下的卷積形式:
δl-1=δl*Wl°f′(Nl-1)
(20)
其中,符號°表示將矩陣中的每個對應(yīng)元素相乘。當(dāng)步長S、輸入深度D和卷積核個數(shù)均大于1時,同理可得:
(21)
2)對于卷積核權(quán)重梯度,由于權(quán)值共享,根據(jù)全導(dǎo)數(shù)公式可得:
(22)
即用sensitive map作卷積核,對輸入進(jìn)行交叉相關(guān)cross-correlation運(yùn)算。
3)基于上述分析計算,得出偏置項的梯度:
(23)
即偏置項的梯度是sensitive map所有誤差項之和。獲得所有的梯度之后,根據(jù)梯度下降法可以更新每個權(quán)值,從而實現(xiàn)卷積層訓(xùn)練。
對于池化層,一般有max pooling和mean pooling 2種,它們不用計算梯度,只需將誤差項傳遞到上一層。通過分析可知,對于max pooling池化,下一層的誤差項會按原值傳遞到上一層最大值對應(yīng)的神經(jīng)元,其他神經(jīng)元的誤差項為0;對于mean pooling池化,下一層的誤差項會平均分配到上一層對應(yīng)區(qū)塊的所有神經(jīng)元,即可以用克羅內(nèi)克積實現(xiàn)池化:
(24)
其中,n表示池化層核的大小。
由此,利用已實現(xiàn)的卷積層和池化層結(jié)合全連接層,可以堆疊形成DCNNs[9],從而完成大數(shù)據(jù)腳本攻擊的智能檢測[10]。
3.1.1 語料大數(shù)據(jù)獲取
用于本文實驗的大數(shù)據(jù)包括兩類[11-12]:正樣本大數(shù)據(jù)(帶有攻擊行為),利用爬蟲工具從網(wǎng)站http://xssed.com/爬取獲得,由Payload數(shù)據(jù)組成;負(fù)樣本大數(shù)據(jù)(正常網(wǎng)絡(luò)請求),為體現(xiàn)特殊性和普遍性,共收集了2份數(shù)據(jù),一份來自嘉應(yīng)學(xué)院網(wǎng)絡(luò)中心2017年5月—12月的訪問日志大數(shù)據(jù),另一份是從各網(wǎng)絡(luò)平臺通過網(wǎng)絡(luò)爬蟲獲得,它們都是未經(jīng)處理的語料大數(shù)據(jù)。
3.1.2 語料大數(shù)據(jù)處理及向量化
本文利用基于神經(jīng)網(wǎng)絡(luò)的詞向量化工具連續(xù)詞袋模型(Continous Bag of Words Model,CBOW)[13]實現(xiàn)大數(shù)據(jù)語料處理,進(jìn)行文本切割、清洗、分詞、詞性標(biāo)注、去停用詞、詞向量化,將獨(dú)熱編碼的詞向量映射為分布形式的詞向量,從而降低維數(shù)和稀疏性,同時通過求向量間的歐氏距離或夾角余弦值得出任意詞間的關(guān)聯(lián)度[14]。具體處理過程如下:
1)首先遍歷數(shù)據(jù)集,將數(shù)字都用“0”替換,將http/、HTTP/、https/、HTTPS用“http://”替換;其次按照html標(biāo)簽、JavaScript函數(shù)體、http://和參數(shù)規(guī)則進(jìn)行分詞;接著基于日記文檔構(gòu)建詞匯表,對單詞進(jìn)行獨(dú)熱編碼。
2)構(gòu)建基于神經(jīng)網(wǎng)絡(luò)的詞向量化模型,包括輸入層、投射層和輸出層[15-16],其結(jié)構(gòu)及訓(xùn)練過程如圖2所示。然后輸入樣本,最小化損失函數(shù)并改變權(quán)值,訓(xùn)練模型并獲得分布式詞向量。
3)統(tǒng)計正樣本詞集,用詞頻最高的3 000個詞構(gòu)成詞庫,其他標(biāo)記為“COM”。本文設(shè)定分布式特征向量的維數(shù)為128,當(dāng)前詞與預(yù)測詞最大窗口距離為5,含64個噪聲詞,共進(jìn)行5次迭代。
圖2 詞向量化CBOW模型及訓(xùn)練過程Fig.2 Word vectorized CBOW model and training process
因為每條數(shù)據(jù)所占字符長度不同,所以本文以所占字符長度最大為標(biāo)準(zhǔn),不足則以-1填充,在為數(shù)據(jù)集設(shè)計標(biāo)簽時,使用獨(dú)熱編碼,正樣本標(biāo)簽(即屬于攻擊樣本)以1表示,負(fù)樣本標(biāo)簽(即正常網(wǎng)絡(luò)請求)以0表示。經(jīng)過上述處理之后,共獲得正樣本數(shù)據(jù)集40 637條,負(fù)樣本數(shù)據(jù)集分別為105 912條和200 129條,它們數(shù)量大、計算復(fù)雜性高,均為大數(shù)據(jù)[17-19]。為提高訓(xùn)練效果,將正樣本集和兩類負(fù)樣本集分別進(jìn)行合并,隨機(jī)劃分為訓(xùn)練集和測試集,數(shù)量比為7∶3,并記為第Ⅰ類大數(shù)據(jù)集和第Ⅱ類大數(shù)據(jù)集。
為驗證算法的有效性,設(shè)計多種DCNNs算法[20],構(gòu)建基于“輸入層+卷積層+卷積層+池化層+卷積層+卷積層+池化層+全連接層+全連接層+Softmax層”10層深度的結(jié)構(gòu),并設(shè)計不同的超參數(shù),包括樣本塊大小、學(xué)習(xí)率μ以及卷積層深度等[21-22],然后輸入大數(shù)據(jù)集詞向量樣本進(jìn)行訓(xùn)練和測試。為檢驗系統(tǒng)的穩(wěn)定性,對每類數(shù)據(jù)分別進(jìn)行20次實驗,結(jié)果及分析如下:
1)基于各深層DCNNs設(shè)計不同的超參數(shù),學(xué)習(xí)率μ為0.001、0.01和0.1,對第 Ⅰ 類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率結(jié)果如表1所示。
表1各深層DCNNs基于不同學(xué)習(xí)率對第Ⅰ類大數(shù)據(jù)集的>識別率結(jié)果
Table 1 Recognition rate results of each deep DCNNs for type Ibig dataset based on different learning rates
實驗次數(shù)識別率μ為0.001μ為0.01μ為0.110.981 40.993 40.831 320.991 20.994 20.830 830.992 00.994 20.831 040.992 80.994 50.830 950.993 50.994 80.830 560.993 60.994 90.830 570.994 00.995 10.830 680.994 00.994 90.830 390.994 30.995 30.830 1100.994 50.992 20.830 1110.994 50.994 90.830 0120.994 70.994 70.830 4130.995 00.994 80.830 7140.994 90.994 80.831 4150.994 70.994 90.829 8160.995 50.994 70.826 9170.995 80.994 80.829 4180.995 80.994 90.830 1190.995 30.995 00.829 7200.995 80.995 00.829 8
從表1可以看出,當(dāng)學(xué)習(xí)率為0.001和0.01時,算法都有很高的識別率,其中,最低識別率為0.981 4,最高識別率為0.995 8,且識別率隨著訓(xùn)練次數(shù)的增加一直保持較高水平并趨于穩(wěn)定;而當(dāng)學(xué)習(xí)率為0.1時,算法識別率稍低,平均為0.830 2左右,原因是學(xué)習(xí)率設(shè)置過大,導(dǎo)致訓(xùn)練時梯度下降過快從而越過了最優(yōu)值,相比而言,當(dāng)學(xué)習(xí)率較小時能得到全局最優(yōu)或接近最優(yōu)。識別率的曲線圖表示如圖3所示。
圖3 基于不同學(xué)習(xí)率對第Ⅰ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率曲線
Fig.3 Recognition rate curve obtained from 20 experimentsfor type I big dataset based on different learning rates
2)基于不同的學(xué)習(xí)率,對第Ⅱ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率結(jié)果如表2所示。從表2可以看出,當(dāng)學(xué)習(xí)率為0.001時,算法一直有穩(wěn)定的高識別率,學(xué)習(xí)率為0.01時除了中間幾次稍低外其他都是高識別率,且識別率隨著訓(xùn)練次數(shù)的增加總體上都保持增長狀態(tài)并趨于穩(wěn)定;同樣當(dāng)學(xué)習(xí)率為0.1時,識別率相對更低,平均為0.831 0左右。識別率的曲線圖表示如圖4所示。
表2各深層DCNNs基于不同學(xué)習(xí)率對第Ⅱ類大數(shù)據(jù)集的識別率結(jié)果
Table 2 Recognition rate results of each deep DCNNs for type IIbig dataset based on different learning rates
實驗次數(shù)識別率μ為0.001μ為0.01μ為0.110.980 80.983 30.830 820.996 70.994 80.830 930.997 30.993 60.831 440.997 60.985 70.830 950.997 70.975 30.831 060.997 90.988 30.831 070.998 10.989 10.831 180.998 20.989 20.830 990.998 40.989 40.831 1100.998 30.947 00.831 1110.998 50.836 20.830 8120.998 50.824 80.831 1130.998 70.806 80.831 3140.998 80.898 40.831 1150.998 70.924 90.831 2160.998 70.926 60.831 0170.998 80.926 70.830 9180.999 00.926 50.831 2190.998 80.927 30.831 1200.998 60.941 20.831 0
圖4 基于不同學(xué)習(xí)率對第Ⅱ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率曲線
Fig.4 Recognition rate curve obtained from 20 experiments fortype II big dataset based on different learning rates
3)基于各深層DCNNs設(shè)計不同的超參數(shù),樣本塊大小(BatchSize)分別為50、100和500,對第 Ⅰ 類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率結(jié)果如表3所示。從表3可以看出,BatchSize為100和500時算法都有很高的識別率,其中,最低識別率為0.988 6,最高識別率為0.995 5,且隨著訓(xùn)練次數(shù)的增加都保持穩(wěn)定的高識別率;當(dāng)BatchSize為50時,識別率相對較低,平均為0.734 5。識別率的曲線圖表示如圖5所示。
表3各深層DCNNs基于不同BatchSize對第Ⅰ類大數(shù)據(jù)集的識別率結(jié)果
Table 3 Recognition rate results of each deep DCNNs for type Ibig dataset based on different BatchSizes
實驗次數(shù)識別率BatchSize為50BatchSize為100BatchSize為50010.951 10.988 60.993 420.748 90.991 60.994 230.721 70.992 10.994 240.721 70.992 60.994 550.721 70.993 10.994 860.721 70.993 40.994 970.721 70.993 90.995 180.721 70.993 90.994 990.721 70.994 20.995 3100.721 70.994 40.992 2110.721 70.994 60.994 9120.721 80.994 50.994 7130.721 70.994 60.994 8140.721 60.994 90.994 8150.721 70.995 10.994 9160.721 70.995 30.994 7170.721 70.995 00.994 8180.721 70.995 40.994 9190.721 70.995 20.995 0200.721 70.995 50.995 0
圖5 基于不同BatchSize對第Ⅰ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率曲線
Fig.5 Recognition rate curve obtained from 20 experiments fortype I big dataset based on different BatchSizes
4)基于不同的BatchSize,對第 Ⅱ 類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率結(jié)果如表4所示。從表4可以看出,當(dāng)BatchSize為500時算法有最好的平均識別率,其中,最低識別率為0.806 8,最高識別率為0.994 8;當(dāng)BatchSize為50時,識別率稍有下降,平均值約為0.832 0;當(dāng)BatchSize為100時,前6次識別率均接近0.912 1,之后下降幅度較大,僅為0.169 0左右。識別率的曲線圖表示如圖6所示。
表4各深層DCNNs基于不同BatchSize對第Ⅱ類大數(shù)據(jù)集的識別率結(jié)果
Table 4 Recognition rate results of each deep DCNNs for type IIbig dataset based on different BatchSizes
實驗次數(shù)識別率BatchSize為50BatchSize為100BatchSize為50010.850 80.908 80.983 320.830 90.917 80.994 830.831 40.912 10.993 640.830 90.909 50.985 750.831 00.909 50.975 360.831 00.899 90.988 370.831 10.168 90.989 180.830 90.169 10.989 290.831 10.168 90.989 4100.831 10.168 90.947 0110.830 80.169 20.836 2120.831 10.168 90.824 8130.831 30.168 70.806 8140.831 10.168 90.898 4150.831 20.168 80.924 9160.831 00.169 00.926 6170.830 90.169 10.926 7180.831 20.168 80.926 6190.831 10.168 90.927 3200.831 00.169 00.941 2
圖6 基于不同BatchSize對第Ⅱ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率曲線
Fig.6 Recognition rate curve obtained from 20 experimentsfor type II big dataset based on different BatchSizes
5)為進(jìn)一步驗證系統(tǒng)的相關(guān)特性,基于各深層DCNNs設(shè)計不同的卷積層深度,對第Ⅰ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率結(jié)果如表5所示。從表5可以看出,算法總體都保持高識別狀態(tài),其中,最低識別率為0.976 0,最高識別率為0.993 0。識別率的曲線圖表示如圖7所示。
表5 深層DCNNs對第Ⅰ類大數(shù)據(jù)集的識別率結(jié)果Table 5 Recognition rate results of deep DCNNs on type Ibig dataset
圖7 DCNNs對第Ⅰ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率曲線
Fig.7 Recognition rate curve obtained from 20 experimentsof DCNNs for type I big dataset
6)基于不同的卷積層深度,對第 Ⅱ 類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率結(jié)果如表6所示。從表6可以看出,隨著訓(xùn)練的進(jìn)行,算法識別率不斷提高,其中,最低識別率為0.980 8,最高識別率為0.999 0,最后趨于穩(wěn)定。識別率的曲線圖表示如圖8所示。
表6 深層DCNNs對第Ⅱ類大數(shù)據(jù)集的識別率結(jié)果Table 6 Recognition rate results of deep DCNNs for type IIbig dataset
圖8 DCNNs對第Ⅱ類大數(shù)據(jù)集進(jìn)行20次實驗得到的識別率曲線
Fig.8 Recognition rate curve obtained from 20 experimentsof DCNNs for type II big dataset
通過實驗可以看出,各深層DCNNs基于不同學(xué)習(xí)率μ對第 Ⅰ 類大數(shù)據(jù)集的平均識別率為99.366 5%,方差為0.000 001,標(biāo)準(zhǔn)差為0.000 944,如表7所示。各深層DCNNs基于不同學(xué)習(xí)率μ對第Ⅱ類大數(shù)據(jù)集的平均識別率為93.875 5%,方差為0.000 015,標(biāo)準(zhǔn)差為0.003 952,如表8所示。通過實驗也可以看出,各深層DCNNs基于不同BatchSize對第 Ⅰ 類大數(shù)據(jù)集的平均識別率為99.389 5%,方差為0.000 003,標(biāo)準(zhǔn)差為0.001 670,如表9所示。各深層DCNNs基于不同BatchSize對第Ⅱ類大數(shù)據(jù)集的平均識別率為83.204 5%,方差為0.003 258,標(biāo)準(zhǔn)差為0.058 559,如表10所示。另外,通過實驗可以得到,各深層DCNNs基于不同卷積層深度對第 Ⅰ 類大數(shù)據(jù)集的平均識別率為98.274 5%,方差為0.000 016,標(biāo)準(zhǔn)差為0.004 133,如表11所示。各深層DCNNs基于不同卷積層深度對第Ⅱ類大數(shù)據(jù)集的平均識別率為99.740 5%,方差為0.000 015,標(biāo)準(zhǔn)差為0.003 952,如表12所示。
表7各深層DCNNs基于不同學(xué)習(xí)率對第Ⅰ類大數(shù)據(jù)集的平均識別率、方差和標(biāo)準(zhǔn)差
Table 7 Average recognition rate,variance and standarddeviation of each deep DCNNs for type I big datasetbased on different learning rates
學(xué)習(xí)率平均識別率/%方差標(biāo)準(zhǔn)差0.00199.366 50.000 0090.003 1390.01099.460 00.000 0000.000 6970.10083.021 50.000 0010.000 944
表8各深層DCNNs基于不同學(xué)習(xí)率對第Ⅱ類大數(shù)據(jù)集的平均識別率、方差和標(biāo)準(zhǔn)差
Table 8 Average recognition rate,variance and standarddeviation of each deep DCNNs for type II big datasetbased on different learning rates
學(xué)習(xí)率平均識別率/%方差標(biāo)準(zhǔn)差0.00199.740 50.000 0150.003 9520.01093.875 50.003 2580.058 5600.10083.104 50.000 0000.000 157
表9各深層DCNNs基于不同BatchSize對第Ⅰ類大數(shù)據(jù)集的平均識別率、方差和標(biāo)準(zhǔn)差
Table 9 Average recognition rate,variance and standarddeviation of each deep DCNNs for type I big datasetbased on different BatchSizes
BatchSize平均識別率/%方差標(biāo)準(zhǔn)差5073.453 00.002 5040.051 33610099.389 50.000 0030.001 67050099.460 00.000 0000.000 697
表10各深層DCNNs基于不同BatchSize對第Ⅱ類大數(shù)據(jù)集的平均識別率、方差和標(biāo)準(zhǔn)差
Table 10 Average recognition rate,variance and standarddeviation of each deep DCNNs for type II big datasetbased on different BatchSizes
BatchSize平均識別率/%方差標(biāo)準(zhǔn)差5083.204 50.000 0190.004 41710039.113 50.115 2110.348 24550093.876 00.003 2580.058 559
表11深層DCNNs對第Ⅰ類大數(shù)據(jù)集的平均識別率、方差和標(biāo)準(zhǔn)差
Table 11 Average recognition rate,variance and standarddeviation of deep DCNNs for type I big dataset
卷積深度平均識別率/%方差標(biāo)準(zhǔn)差1098.274 50.000 0160.004 133
表12深層DCNNs對第Ⅱ類大數(shù)據(jù)集的平均識別率、方差和標(biāo)準(zhǔn)差
Table 12 Average recognition rate,variance and standarddeviation of deep DCNNs for type II big dataset
卷積深度平均識別率/%方差標(biāo)準(zhǔn)差1099.740 50.000 0150.003 952
對于第 Ⅰ 類和第 Ⅱ 類大數(shù)據(jù)集,基于不同學(xué)習(xí)率μ的識別率均值如圖9所示,標(biāo)準(zhǔn)差均值如圖10所示。對于第 Ⅰ 類和第 Ⅱ 類大數(shù)據(jù)集,基于不同BatchSize的識別率均值如圖11所示,標(biāo)準(zhǔn)差均值如圖12所示。
圖9 基于不同學(xué)習(xí)率對第Ⅰ類和第Ⅱ類大數(shù)據(jù)集的識別率均值
Fig.9 Average recognition rate for type I and type II bigdatasets based on different learning rates
圖10 基于不同學(xué)習(xí)率對第Ⅰ類和第Ⅱ類大數(shù)據(jù)集的標(biāo)準(zhǔn)差均值
Fig.10 Mean standard deviation for type I and type IIbig datasets based on different learning rates
圖11 基于不同BatchSize對第Ⅰ類和第Ⅱ類大數(shù)據(jù)集的識別率均值
Fig.11 Average recognition rate for type I and type II bigdatasets based on different BatchSizes
圖12 基于不同BatchSize對第Ⅰ類和第Ⅱ類大數(shù)據(jù)集的標(biāo)準(zhǔn)差均值
Fig.12 Mean standard deviation for type I and type II big
datasets based on different BatchSizes
系統(tǒng)識別率變化過程曲線圖如圖13所示,可以看出,識別率隨著訓(xùn)練的進(jìn)行逐漸提高,隨后降低然后又不斷提高并趨于穩(wěn)定,總體識別率較高。損失函數(shù)誤差變化曲線圖如圖14所示,可以看出,隨著訓(xùn)練的進(jìn)行,損失函數(shù)誤差先減少后增加然后不斷地減小并趨于穩(wěn)定,其與識別率的變化過程相一致。詞向量樣本余弦距離變化曲線圖如圖15所示,可以看出,隨著訓(xùn)練的進(jìn)行,余弦距離先減小后增加然后不斷地減小并趨于穩(wěn)定,這反映了詞向量樣本的相關(guān)性先增強(qiáng)后變小然后越來越強(qiáng),其同識別率變化過程也一致。平均絕對誤差變化過程曲線圖如圖16所示,可以看出,隨著訓(xùn)練的進(jìn)行,平均絕對誤差先減小后增加然后不斷地減小并趨于最小的穩(wěn)定值。
圖13 識別率變化曲線Fig.13 Curve of recognition rate change
圖14 損失函數(shù)誤差變化曲線Fig.14 Curve of loss function error change
圖15 余弦距離變化曲線Fig.15 Curve of cosine distance change
圖16 平均絕對誤差變化曲線Fig.16 Curve of average absolute error change
傳統(tǒng)的計算機(jī)病毒檢測方法主要依據(jù)病毒特征庫中的已有特征,通過特征匹配來確定病毒是否存在,其難以檢測新出現(xiàn)的病毒以及變形病毒,而且檢測效率較低。為解決該問題,本文通過類圖像處理及向量化方法對訪問流量語料庫大數(shù)據(jù)進(jìn)行詞向量化處理,從而實現(xiàn)了面向大數(shù)據(jù)跨站腳本攻擊的智能檢測。實驗結(jié)果表明,該方法具有識別率高、穩(wěn)定性好、總體性能優(yōu)良等優(yōu)點(diǎn)。下一步將探討小樣本數(shù)據(jù)的智能檢測問題,以更全面地進(jìn)行入侵智能檢測。