摘 ?要:隨著高校信息化建設(shè)從數(shù)字校園到智慧校園的過(guò)渡,高校逐步實(shí)現(xiàn)數(shù)據(jù)服務(wù)和應(yīng)用的全覆蓋,同時(shí)網(wǎng)絡(luò)安全問(wèn)題日漸突出。文章分析了校園網(wǎng)普遍存在的安全威脅,根據(jù)網(wǎng)絡(luò)威脅在網(wǎng)絡(luò)流量中的異常表現(xiàn),對(duì)卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)、訓(xùn)練過(guò)程進(jìn)行了研究,建立了基于卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量異常檢測(cè)模型,并對(duì)模型建立后的數(shù)據(jù)準(zhǔn)備、分類識(shí)別方法進(jìn)行了探討,實(shí)現(xiàn)了網(wǎng)絡(luò)流量的分類。
關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);網(wǎng)絡(luò)流量;異常檢測(cè)
中圖分類號(hào):TP309.2 ?文獻(xiàn)標(biāo)識(shí)碼:A ? ?文章編號(hào):2096-4706(2021)12-0094-04
Abstract: With the transition of informatization construction from digital campus to wisdom campus, colleges gradually realize the full coverage of data services and applications. At the same time, the problem of network security is becoming more and more prominent. This paper analyzes the common security threats in campus network, studies the architecture and training process of convolutional neural network according to the abnormal performance of network threats in network traffic, establishes the network traffic anomaly detection model based on convolutional neural network, discusses the data preparation, classification identification methods after the model is established, and realizes the classification of network traffic.
Keywords: convolutional neural network; network traffic; anomaly detection
0 ?引 ?言
“十四五”時(shí)期,高等院校信息化建設(shè)逐漸從數(shù)字化時(shí)代向智慧校園時(shí)代過(guò)渡,數(shù)據(jù)服務(wù)和數(shù)據(jù)應(yīng)用范圍擴(kuò)展到學(xué)校工作的各個(gè)方面,深入師生的工作、生活。校園網(wǎng)對(duì)人們的工作生活影響越深,網(wǎng)絡(luò)安全的重要性就越突出。
2021年4月1日至4月30日30天周期內(nèi)學(xué)校網(wǎng)絡(luò)中心共報(bào)告網(wǎng)絡(luò)威脅事件2 935件,其中高危事件513件,約占所有威脅的四分之一。網(wǎng)絡(luò)威脅頻繁出現(xiàn)給網(wǎng)絡(luò)安全帶來(lái)嚴(yán)重影響,存在信息泄漏、丟失的危險(xiǎn),降低用戶體驗(yàn)。無(wú)論正常網(wǎng)絡(luò)行為還是網(wǎng)絡(luò)威脅行為都要在網(wǎng)絡(luò)中產(chǎn)生流量,如果流量使用的是被允許使用的端口并且不具備已知威脅相應(yīng)特征,網(wǎng)絡(luò)就認(rèn)為該流量沒(méi)有對(duì)網(wǎng)絡(luò)產(chǎn)生威脅。惡意程序就是利用這個(gè)特點(diǎn)在網(wǎng)絡(luò)中進(jìn)行非法信息的傳播。我們對(duì)網(wǎng)絡(luò)中存在的所有流量不再認(rèn)為都是合法的,而是進(jìn)行分析、查明,證明是合法還是非法。
流量分類技術(shù)可以在復(fù)雜的網(wǎng)絡(luò)環(huán)境中對(duì)采集到的網(wǎng)絡(luò)流量進(jìn)行處理、分類識(shí)別,對(duì)惡意流量進(jìn)行攔截,幫助用戶提高網(wǎng)絡(luò)應(yīng)用質(zhì)量,保障網(wǎng)絡(luò)安全。
目前常見(jiàn)流量分類方法有很多,不同分類方法有各自的優(yōu)點(diǎn)和缺點(diǎn)?;诙丝谔?hào)的分類方法識(shí)別是最容易實(shí)現(xiàn)的方法,但識(shí)別準(zhǔn)確率較低、范圍有限。準(zhǔn)確率高的是特征字段分析,但其對(duì)加密流量的識(shí)別則無(wú)能為力,且計(jì)算復(fù)雜,容易侵犯隱私?;趥鬏攲有袨榈姆诸惙椒梢詰?yīng)用于速度較高的網(wǎng)絡(luò)環(huán)境,但數(shù)據(jù)包加密和NAT等技術(shù)影響其分類性能[1]。因此利用機(jī)器學(xué)習(xí)的方法對(duì)網(wǎng)絡(luò)流量進(jìn)行異常檢測(cè)的應(yīng)用日漸廣泛,但是機(jī)器學(xué)習(xí)方法對(duì)網(wǎng)絡(luò)環(huán)境的適應(yīng)性較差[2]。
深度學(xué)習(xí)在語(yǔ)音圖像識(shí)別領(lǐng)域中表現(xiàn)出優(yōu)秀的技能,利用深度學(xué)習(xí)技術(shù),可以解決機(jī)器學(xué)習(xí)中特征數(shù)據(jù)提取的難點(diǎn),在學(xué)習(xí)過(guò)程中特征數(shù)據(jù)由模型自動(dòng)生成。
1 ?卷積神經(jīng)網(wǎng)絡(luò)
1.1 ?卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)(CNN),是深度學(xué)習(xí)最重要、最有代表性的一種訓(xùn)練算法,比較適合應(yīng)用在圖像語(yǔ)音識(shí)別領(lǐng)域,GoogleNet、AlphaGo、ResNet等代表性的應(yīng)用突破都采用這種學(xué)習(xí)模型。卷積神經(jīng)網(wǎng)絡(luò)連接圖如圖1所示。
分析圖1,輸入層的寬度和輸入圖像的寬度相對(duì)應(yīng),即每一行像素點(diǎn)個(gè)數(shù);而高度則應(yīng)于圖像的高度,即每一列的像素點(diǎn)個(gè)數(shù);深度為表示圖像的通道數(shù),彩色圖為3,灰度圖為1。卷積層1包含3套參數(shù),即有3個(gè)過(guò)濾器。每個(gè)過(guò)濾器對(duì)輸入圖像進(jìn)行卷積運(yùn)算得到一個(gè)特征圖,3個(gè)過(guò)濾器就可以得到3個(gè)特征圖,這樣卷積層1對(duì)圖像從左上角開始進(jìn)行卷積運(yùn)算,提取3組不同特征,得到3個(gè)特征圖。每個(gè)卷積層含有的過(guò)濾器的個(gè)數(shù)是一個(gè)超參數(shù),由用戶根據(jù)需要自由設(shè)定。
繼續(xù)分析圖1,池化層1對(duì)卷積層的輸出進(jìn)行采樣,輸出3個(gè)特征圖,這3個(gè)特征圖比卷積層的輸出更小。同卷積層1的卷積運(yùn)算類似,卷積層2通過(guò)提取5組不同特征,得到5個(gè)特征圖。池化層2按池化層1的方法繼續(xù)采樣,輸出5個(gè)特征圖[3],這5個(gè)特征圖比前面輸出進(jìn)一步縮小。
池化層2后面是兩個(gè)全連接層,因?yàn)橥ㄟ^(guò)兩次卷積和池化,特征圖同輸入圖像相比已經(jīng)非常小,可以采用全連接。全連接層1的每個(gè)神經(jīng)元同池化層2輸出特征每個(gè)神經(jīng)元相連,輸出層即全連接層2的每個(gè)神經(jīng)元?jiǎng)t與全連接層1的每個(gè)神經(jīng)元相連后得到輸出。
1.2 ?卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程
卷積神經(jīng)網(wǎng)絡(luò)模型建立后分兩個(gè)步驟進(jìn)行模型訓(xùn)練。第一步稱為前向傳播,輸入數(shù)據(jù)從網(wǎng)絡(luò)低層向高層傳播。某層節(jié)點(diǎn)的輸出是通過(guò)與前層連接權(quán)重加權(quán)計(jì)算后,同偏置值進(jìn)行運(yùn)算,最后通過(guò)激活函數(shù)運(yùn)算得到,每一層重復(fù)此運(yùn)算。如果第一步結(jié)果不符合模型預(yù)算結(jié)果,則進(jìn)行第二步反向傳播,將上述過(guò)程反向進(jìn)行,從高層向低層進(jìn)行訓(xùn)練,消除誤差。
訓(xùn)練過(guò)程為:
(1)網(wǎng)絡(luò)進(jìn)行權(quán)值初始化。
(2)輸入數(shù)據(jù)從低層向高層進(jìn)行前向傳播得到結(jié)果。
(3)將運(yùn)算結(jié)果與預(yù)期結(jié)果進(jìn)行比較計(jì)算誤差。
(4)如果運(yùn)算結(jié)果與預(yù)期結(jié)果相差超出模型允許范圍時(shí),再把誤差向上一層傳遞,按順序求得全連接層、下采樣層、卷積層的誤差。當(dāng)運(yùn)算結(jié)果與預(yù)期結(jié)果相差在模型允許范圍時(shí),結(jié)束訓(xùn)練。
(5)根據(jù)求得誤差進(jìn)行權(quán)值更新。然后再進(jìn)入到第二步。
2 ?模型設(shè)計(jì)
2.1 ?人類視覺(jué)原理的啟示
通過(guò)對(duì)人類的視覺(jué)原理研究,得知:人類對(duì)光的感知過(guò)程首先從視網(wǎng)膜感知亮度、顏色開始,視網(wǎng)膜感知結(jié)果傳遞到大腦皮層,大腦皮層對(duì)感知結(jié)果進(jìn)行簡(jiǎn)單處理發(fā)現(xiàn)物體的邊緣和位置,抽象出物體的形狀,判斷該物體具體是什么物體。
人類視覺(jué)也是通過(guò)這樣逐層分級(jí)、逐步抽象,分辨出人臉、汽車、動(dòng)物、家具的不同。各種圖形的底層特征基本相同,通過(guò)依次向上層層抽象,逐漸提取出不同物體的不同特征,人類根據(jù)不同的特征組合可以精確地分辨出不同的物體。
2.2 ?異常檢測(cè)模型的建立
受人類視覺(jué)原理的啟發(fā),我們可以通過(guò)構(gòu)造多層的神經(jīng)網(wǎng)絡(luò),模仿人類視覺(jué)實(shí)現(xiàn)原理,實(shí)現(xiàn)圖像的分類識(shí)別。神經(jīng)網(wǎng)絡(luò)的低層對(duì)圖像初級(jí)特征進(jìn)行識(shí)別,多個(gè)低層識(shí)別的底層特征組成下一層特征,這樣層層抽象、層層組合,最后實(shí)現(xiàn)分類[4]。
根據(jù)人類視覺(jué)原理,采用經(jīng)典LeNet-5結(jié)構(gòu),采取多層組合構(gòu)造CNN學(xué)習(xí)模型,模型架構(gòu)示意圖如圖2所示。
該模型構(gòu)造一個(gè)分辨率為28×28×1的單通道圖像,截取載荷的前784個(gè)字節(jié),不足784的補(bǔ)0。卷積核大小核寬×核高×通道數(shù),卷積層1的卷積核為5×5×1,每次卷積完后卷積核移動(dòng)一位。
圖像輸入到計(jì)算機(jī)中時(shí),首先進(jìn)行歸化處理,將像素灰度值轉(zhuǎn)換為0或者1。計(jì)算機(jī)會(huì)將圖像看作一個(gè)數(shù)組,每個(gè)圖像都有三個(gè)參數(shù):列像素點(diǎn)個(gè)數(shù)、行像素點(diǎn)個(gè)數(shù)、圖像通道數(shù)。卷積核從輸入圖像的左上角開始遍歷做卷積運(yùn)算,每做一次運(yùn)算,都可以在原圖像上找到一個(gè)與卷積核同樣大小的區(qū)域。運(yùn)算時(shí),原圖像與卷積核相應(yīng)位置進(jìn)行乘法運(yùn)算,將這些結(jié)果相加,得到新圖形上對(duì)應(yīng)位置的數(shù)值,然后卷積核右移一位,繼續(xù)對(duì)應(yīng)位置相乘,最后的輸出結(jié)果。輸入一個(gè)28×28×1的圖像,使用5×5過(guò)濾器進(jìn)行卷積,最后生成的特征圖為28×28,因?yàn)橛?2個(gè)通道,所以最后得到32個(gè)同分辨率的特征圖。
為降低訓(xùn)練參數(shù)的個(gè)數(shù),在后面的卷積層之間循環(huán)引進(jìn)池化層。一方面,池化縮小圖像空間。每個(gè)縱深維度的池化是獨(dú)自完成的,圖像縱深不變,使特征圖變小,簡(jiǎn)化網(wǎng)絡(luò)計(jì)算復(fù)雜度;另一方面,池化層進(jìn)行特征壓縮,提取主要特征。池化雖然能降低運(yùn)算量,但是由于壓縮特征,有可能會(huì)影響到網(wǎng)絡(luò)的準(zhǔn)確度,所以要設(shè)置合適的池化層。最常見(jiàn)形式是最大池化,最常見(jiàn)的池化大小是2×2(步長(zhǎng)2),保留其中的最大值,將其余三個(gè)數(shù)據(jù)去除。經(jīng)過(guò)第一個(gè)池化生成32個(gè)特征圖,分辨率為14×14。
第二個(gè)卷積層和第一個(gè)類似,因?yàn)橛?4個(gè)通道,所以得到的特征圖是64個(gè)14×14,經(jīng)過(guò)第二次池化64個(gè)7×7特征圖。通過(guò)全連接層數(shù)據(jù)變成1 024和10。
3 ?數(shù)據(jù)準(zhǔn)備
3.1 ?數(shù)據(jù)流量與圖像
網(wǎng)絡(luò)物理層中數(shù)據(jù)傳都是二進(jìn)制流的串行傳輸,二進(jìn)制流以字節(jié)為單位,每個(gè)字節(jié)8位,所以每個(gè)字節(jié)的取值有256種可能。灰度圖像的像素范圍也有256種可能,所以CNN模型的輸入數(shù)據(jù)是將采集提到的流量數(shù)據(jù)轉(zhuǎn)換成灰度圖像,流量分類就變成了灰度圖像識(shí)別[5]。
3.2 ?數(shù)據(jù)準(zhǔn)備過(guò)程
數(shù)據(jù)準(zhǔn)備的過(guò)程一般分以下幾個(gè)階段:采用流量抓取工具如sniffer、MRTG、PRTG、Etheral、NetDector等抓取原始流量[6],用pcap格式保存在計(jì)算機(jī)中。然后對(duì)原始文件進(jìn)行切分、清理,形成圖像文件,最后轉(zhuǎn)換成IDX格式,作為CNN的標(biāo)準(zhǔn)輸入,具體過(guò)程如圖3所示。
原始流量在一個(gè)采集周期內(nèi)形成一個(gè)原始文件,為了進(jìn)行下一步的處理,需要將原始流量進(jìn)行分割。粒度是流量分割的最小單位[7]。分割的依據(jù)不同,分割得到的數(shù)據(jù)集形式也不相同,研究人員根據(jù)自己實(shí)際情況選擇分割方法。該模型是按流量對(duì)文件進(jìn)行切割,獲得獨(dú)立的五元組信息、建立時(shí)間、負(fù)荷、所用協(xié)議,最后形成數(shù)據(jù)集。
數(shù)據(jù)傳輸需要依靠MAC來(lái)識(shí)別對(duì)方地址。發(fā)送數(shù)據(jù)的時(shí)候,數(shù)據(jù)發(fā)送端計(jì)算機(jī)首先拿接收端的計(jì)算機(jī)IP與自己主機(jī)子網(wǎng)掩碼相匹配,匹配后,發(fā)現(xiàn)跟自己是同一網(wǎng)段的,則使用MAC地址去尋找對(duì)方,如果不是同一網(wǎng)段的,則封裝上對(duì)方的IP地址為目標(biāo)地址,發(fā)現(xiàn)網(wǎng)關(guān),由網(wǎng)關(guān)發(fā)現(xiàn)其他網(wǎng)絡(luò)。這兩個(gè)信息會(huì)對(duì)分類特征提取產(chǎn)生不利因素,為消除影響需要進(jìn)行流量清理。
圖3中步驟3的作用是對(duì)是前面文件清理結(jié)果長(zhǎng)度進(jìn)行統(tǒng)一,大于規(guī)定長(zhǎng)度的進(jìn)行截取,小于規(guī)定長(zhǎng)度的進(jìn)行補(bǔ)0。為方便用戶查看文件,也可以將文件變成對(duì)應(yīng)的灰度圖像,當(dāng)然也可以跳過(guò)這個(gè)步驟,直接執(zhí)行步驟4。
4 ?分類識(shí)別
4.1 ?分類識(shí)別過(guò)程
進(jìn)行分類識(shí)別時(shí),首先采用流量抓取工具抓取pcap格式化的流量數(shù)據(jù),之后使用選用的分割方法對(duì)格式化文件切割,清理掉IP和MAC地址,統(tǒng)一長(zhǎng)度轉(zhuǎn)換成圖像數(shù)據(jù),作為卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)源,通過(guò)多次卷積、池化處理,學(xué)習(xí)的特征作為Softmax分類器的輸入,按照流類別劃分應(yīng)用類別。分類識(shí)別過(guò)程如圖4所示。
4.2 ?模型驗(yàn)證
模型驗(yàn)證采用深度學(xué)習(xí)框架TensorFlow,數(shù)據(jù)集采用KDD Cup 99數(shù)據(jù)集。TensorFlow最初用于機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)的研究,在數(shù)值計(jì)算領(lǐng)域也被普通使用,TensorFlow是一個(gè)開源軟件,因此使用TensorFlow?編程對(duì)研究結(jié)果進(jìn)行驗(yàn)證。KDD Cup 99數(shù)據(jù)集包含訓(xùn)練數(shù)據(jù)、驗(yàn)證數(shù)據(jù)和測(cè)試數(shù)據(jù),是入侵檢測(cè)常用數(shù)據(jù)集,所有數(shù)據(jù)來(lái)自虛擬的美國(guó)空軍網(wǎng)絡(luò),增加了眾多的模擬攻擊數(shù)據(jù)。
卷積層1的權(quán)重初始值和偏置量分別設(shè)置為0.1和32,卷積層2的權(quán)重初始值和偏置量分別設(shè)置為0.1和64,全連接層初始設(shè)有1 024個(gè)神經(jīng)元,該層的神經(jīng)元數(shù)需要根據(jù)經(jīng)驗(yàn)和實(shí)驗(yàn)結(jié)果進(jìn)行反復(fù)調(diào)參確定。在運(yùn)行過(guò)程中通過(guò)對(duì)參數(shù)進(jìn)行調(diào)整得到了不同的準(zhǔn)確率,如圖5所示。
4.3 ?結(jié)果分析
經(jīng)過(guò)多次參數(shù)調(diào)整,準(zhǔn)確率均未超過(guò)0.7,低于相關(guān)研究的準(zhǔn)確率。經(jīng)過(guò)分析,對(duì)模型架構(gòu)進(jìn)行調(diào)整,在全連接層1前再增加一個(gè)卷積層和展平層,可以改變訓(xùn)練數(shù)據(jù)的不平衡問(wèn)題,提高訓(xùn)練的準(zhǔn)確率。
5 ?結(jié) ?論
綜上所述,神經(jīng)網(wǎng)絡(luò)是人工智能非常重要且比較成熟的領(lǐng)域,在網(wǎng)絡(luò)威脅事件頻發(fā)的情況下,提出基于卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量分類模型,根據(jù)網(wǎng)絡(luò)流量分類原理實(shí)現(xiàn)網(wǎng)絡(luò)流量的分類,經(jīng)模擬數(shù)據(jù)集驗(yàn)證可以實(shí)現(xiàn)預(yù)設(shè)功能,對(duì)模型需要進(jìn)一步改進(jìn)以提高檢測(cè)效率和準(zhǔn)確率。
參考文獻(xiàn):
[1] 楊丹丹.基于深度學(xué)習(xí)的網(wǎng)絡(luò)流量分類研究 [D].杭州:浙江工商大學(xué),2018:10-14.
[2] 趙英,刁鑫穎,陳駿君.基于網(wǎng)絡(luò)流量分類模型的集成策略研究 [C]//中國(guó)計(jì)算機(jī)用戶協(xié)會(huì)網(wǎng)絡(luò)應(yīng)用分會(huì)2018年第二十二屆網(wǎng)絡(luò)新技術(shù)與應(yīng)用年會(huì).中國(guó)計(jì)算機(jī)用戶協(xié)會(huì)網(wǎng)絡(luò)應(yīng)用分會(huì)2018年第二十二屆網(wǎng)絡(luò)新技術(shù)與應(yīng)用年會(huì)論文集.蘇州,2018:269-272.
[3] 張閃青.基于卷積神經(jīng)網(wǎng)絡(luò)的圖像分類算法簡(jiǎn) [J].計(jì)算機(jī)產(chǎn)品與流通,2019(6):112.
[4] 陳章斌.基于深度學(xué)習(xí)人臉識(shí)別技術(shù)在高校課堂點(diǎn)名中的設(shè)計(jì)及實(shí)現(xiàn) [J].蘭州文理學(xué)院學(xué)報(bào)(自然科學(xué)版),2018,32(6):68-71+77.
[5] 劉金來(lái).深度學(xué)習(xí)模型在網(wǎng)絡(luò)流量分類中的應(yīng)用研究 [D].哈爾濱:哈爾濱理工大學(xué),2018:17-22.
[6] 李振國(guó),鄭惠中.網(wǎng)絡(luò)流量采集方法研究綜述 [J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2014,32(1):70-75.
[7] 王鵬,蘭巨龍,陳庶樵.粒度自適應(yīng)的多徑流量分割算法 [J].通信學(xué)報(bào),2015,36(1):215-221.
作者簡(jiǎn)介:英鋒(1970—),男,漢族,江蘇連云港人,教授,本科,研究方向:計(jì)算機(jī)技術(shù)應(yīng)用。