張艾森
(上海工業(yè)自動化儀表研究院有限公司,上海 200233)
現(xiàn)階段,物聯(lián)網(wǎng)技術不斷突破,應用軟件日益多樣化,使得物聯(lián)網(wǎng)得到普及。物聯(lián)網(wǎng)吸引了越來越多的網(wǎng)絡用戶,已成為政府、公司和個人等不可或缺的工具[1]。由于網(wǎng)絡用戶缺乏安全意識、計算機安全等級較低等,多種類型的計算機病毒會利用應用軟件攻擊網(wǎng)絡,使網(wǎng)絡的正常運行和服務遭到破壞,導致用戶隱私信息泄漏和財產(chǎn)損失。隨著網(wǎng)絡攻擊方式的不斷改變,攻擊行為越來越隱蔽。因此,研究高隱蔽性惡意攻擊行為辨識方法、排查計算機病毒的攻擊行為、提高網(wǎng)絡安全領域的防護能力具有重要意義[2-3]。
當前,網(wǎng)絡攻擊行為辨識的相關研究已取得較大進展。網(wǎng)站接收資源信息訪問請求后,通過黑名單排查訪問網(wǎng)絡互聯(lián)網(wǎng)協(xié)議(Internet protocol,IP)。若IP地址在黑名單數(shù)據(jù)庫中,拒絕訪問請求;若IP不在黑名單中,則利用惡意攻擊行為多級過濾器,分析訪問者的域名特征、符號特征、關鍵詞特征等,從而進一步判別訪問是否安全[4-5]。文獻[6]提出基于支持向量機的網(wǎng)絡攻擊行為辨識方法,分析網(wǎng)絡攻擊行為辨識特征,包括數(shù)據(jù)場數(shù)據(jù)、時間周期、報文標識符;利用支持向量機算法,識別網(wǎng)絡攻擊的入侵報文數(shù)據(jù)。但該方法提取的小樣本特征不全面、網(wǎng)絡攻擊行為召回率較低。文獻[7]提出基于IP熵變量的網(wǎng)絡攻擊行為辨識,通過IP熵和通信熵設計了1個基于熵變量的網(wǎng)絡攻擊溯源模型,并結合異常流量區(qū)分算法和網(wǎng)絡攻擊溯源算法得到網(wǎng)絡攻擊行為識別算法。但該模型檢測攻擊行為的時間容忍范圍存在限制,網(wǎng)絡攻擊行為誤報率較高。
針對以上問題,本文結合現(xiàn)有的研究理論,提出基于半監(jiān)督學習的網(wǎng)絡高隱蔽性惡意攻擊行為辨識方法。
獲取網(wǎng)絡流量數(shù)據(jù)后,為區(qū)分正常數(shù)據(jù)和攻擊數(shù)據(jù),需要對攻擊數(shù)據(jù)進行預處理。預處理采集網(wǎng)絡流量數(shù)據(jù),設數(shù)據(jù)集合為{a1,a2,…,an},可以得到流量數(shù)據(jù)矩陣A。
(1)
式中:a1,a2,…,an為網(wǎng)絡流量數(shù)據(jù)。
本文通過小波方程式,確定流量數(shù)據(jù)隸屬度,得到流量數(shù)據(jù)權重系數(shù)d,并利用極值函數(shù)計算攻擊行為辨別中心的歐德數(shù)值。流量數(shù)據(jù)的屬性B(A)為:
(2)
式中:b為流量數(shù)據(jù)與辨別中心的最遠距離值;ci為第i個流量數(shù)據(jù)的模糊組數(shù)據(jù);Hj為辨別中心第j個權重值[8];Ci為第i個流量數(shù)據(jù)的樣本數(shù)。
流量數(shù)據(jù)越大,則判定ci越大。
按照屬性值由大到小的順序排序流量數(shù)據(jù),可以得到包含全部屬性的數(shù)據(jù)行為序列{D1,D2,…,Dm}。行為序列的變量值E(D)為:
E(D)=-∑F(De)log2F(De)B2(A)
(3)
式中:De為第e個數(shù)據(jù)行為,e=[1,2,…,m];F(De)為De的有效檢驗率。
t時刻的流量數(shù)據(jù)惡意目標g(t)為:
(4)
式中:E(De)為第e個數(shù)據(jù)行為的變量值[9];m′為辨別中心權重值的個數(shù)。
網(wǎng)絡接收的數(shù)據(jù)輸入輸出信號為:
h(t)=f×G(t)+g(t)
(5)
式中:G(t)為t時刻網(wǎng)絡數(shù)據(jù)傳輸過程中流量數(shù)據(jù)的發(fā)射信號,dB;f為網(wǎng)絡信道振幅值,Hz,h(t)為t時刻接收的網(wǎng)絡傳輸信號[10]。
本文根據(jù)式(5),將網(wǎng)絡傳輸信號h(t)分解為流量數(shù)據(jù)發(fā)射信號G(t)和惡意目標g(t)。若流量數(shù)據(jù)沒有惡意目標,g(t)值為0。本文以g(t)不為0的流量數(shù)據(jù)作為攻擊數(shù)據(jù)。本文根據(jù)攻擊數(shù)據(jù)的最大值h(t)max和最小值h(t)min,對h(t)進行歸一化處理。
(6)
本文通過改進空間聚類算法分析預處理后的攻擊數(shù)據(jù),對攻擊數(shù)據(jù)集合進行空間分類和降維操作,并利用攻擊數(shù)據(jù)在空間上的特征分布檢驗攻擊數(shù)據(jù)是否產(chǎn)生網(wǎng)絡攻擊行為。高隱蔽性惡意攻擊行為數(shù)據(jù)檢驗過程如下。
①計算需要設置的空間數(shù)量。本文設改進空間聚類算法的維度為I,則需要設置的空間數(shù)量J為:
(7)
②數(shù)據(jù)降維。本文利用類簇局部收斂函數(shù),在J個空間中選擇多個數(shù)據(jù)屬性,把高維空間數(shù)據(jù)集轉換為低維空間。本文利用改進密度聚類算法,對J個空間進行二次聚類和分類操作。本文引入?yún)^(qū)域和噪聲的概念,任意選擇攻擊數(shù)據(jù)集合的1個空間,以空間為中心建立1個圓形區(qū)域,使區(qū)域半徑固定,把不屬于任何區(qū)域的孤立數(shù)據(jù)作為噪聲數(shù)據(jù)。本文將J個數(shù)據(jù)空間作為改進密度聚類算法的輸入數(shù)據(jù),從空間密度的角度出發(fā)對攻擊數(shù)據(jù)進行聚類運算操作,輸出攻擊數(shù)據(jù)的類簇集合和孤立點集合。
③數(shù)據(jù)聚類分析。本文利用改進證據(jù)累積聚類算法,將多個類簇合成1個單獨數(shù)據(jù)區(qū)域。本文把類簇集合和孤立點集合作為改進證據(jù)累積聚類算法的輸入數(shù)據(jù),通過密度稠密分解方法計算類簇質(zhì)心p和孤立點q的相異距離。當轉換后的低維空間維度L≤2,將曼哈頓距離K1(p,q)作為相異距離,則有:
(8)
當2 (9) 當L>5時,將切比雪夫距離K3(p,q)作為相異距離,則有: (10) 式中:l為低維空間的協(xié)方差矩陣。 相異距離越小,則判定類簇質(zhì)心和孤立點的相似度越大。本文根據(jù)網(wǎng)絡安全防護性能,設定攻擊行為檢測閾值。若相異距離大于閾值,判定攻擊數(shù)據(jù)產(chǎn)生網(wǎng)絡攻擊行為;否則,未產(chǎn)生攻擊行為。至此本文完成攻擊數(shù)據(jù)是否產(chǎn)生網(wǎng)絡高隱蔽性惡意攻擊行為的檢驗。 本文提取產(chǎn)生攻擊行為的攻擊數(shù)據(jù)特征,輸入半監(jiān)督學習模型,以辨識網(wǎng)絡高隱蔽性惡意攻擊行為。辨識步驟如下。 ①構建模型。本文利用3個稀疏自編碼器組成半監(jiān)督學習模型,通過稀疏正則化項,約束模型神經(jīng)元數(shù)量,提取攻擊數(shù)據(jù)特征向量。半監(jiān)督學習模型包括輸入層、隱藏層和輸出層。本文設產(chǎn)生攻擊行為的數(shù)據(jù)集合為{O1,O2,…,OM};數(shù)據(jù)集的歸一化值為h(O)。本文單獨訓練每個稀疏自編碼器,映射輸入的攻擊數(shù)據(jù)歸一化值。計算式為: N(O)=P[Q·h(O)]+R (11) 式中:N(O)為數(shù)據(jù)集合的映射值;P為編碼器的權重矩陣;R、Q分別為激活函數(shù)和偏置向量。 ②優(yōu)化模型。本文將最小化代價函數(shù)作為半監(jiān)督學習模型訓練的優(yōu)化目標,不斷調(diào)整模型參數(shù)的取值,直至獲取最優(yōu)參數(shù)值,把N(O)作為h(O)的新特征表達。本文將N(O)作為下一個編碼器的輸入,重復數(shù)據(jù)映射過程,從而把最后一個編碼器的輸出作為攻擊數(shù)據(jù)的最終特征表達。本文以監(jiān)督學習模型輸出層的所有新特征值{r1,r2,…,rU}作為攻擊數(shù)據(jù)的新特征值向量、以輸出層的所有權重值{s1,s2,…,sV}作為攻擊數(shù)據(jù)的原始特征權重值向量,并設權重值取值范圍為[0,1]、所有權重值和為1。 本文初步判別網(wǎng)絡攻擊行為類型,將2種特征向量映射到另一個同維度向量。計算式為: (12) 本文把映射的特征向量劃分為語法特征、領域特征。語法特征包括路徑長度、路徑深度、字符串最大長度、特殊字符個數(shù)等。領域特征包括危險等級、是否含有惡意關鍵字等。本文為每個攻擊行為類別訓練1個分類器,把屬于該類別的攻擊行為視為正例,其余攻擊行為類別視為負例。每個分類器產(chǎn)生第i個攻擊數(shù)據(jù)的概率值Pi為: (13) 式中:Ti、Zi分別為攻擊數(shù)據(jù)新特征向量、原始特征權重向量,表示對攻擊行為分類器的隸屬度;y1、y2、y3分別為攻擊行為偽裝、泛洪、注入發(fā)生的概率。 本文對比所有分類器輸出的攻擊數(shù)據(jù)概率值;將概率值最大的攻擊數(shù)據(jù)作為該分類器的正例;將分類器對應的攻擊行為類別,視為第e個攻擊數(shù)據(jù)產(chǎn)生的攻擊行為類型。至此,本文完成網(wǎng)絡高隱蔽性惡意攻擊行為的辨識,實現(xiàn)了基于半監(jiān)督學習的網(wǎng)絡高隱蔽性惡意攻擊行為辨識方法設計。 本文將所設計的方法與基于支持向量機的網(wǎng)絡攻擊行為辨識方法、基于IP熵變量的網(wǎng)絡攻擊行為辨識方法進行對比試驗,以比較網(wǎng)絡攻擊行為召回率、誤報率和準確率。 本文采用KDD99數(shù)據(jù)集作為試驗數(shù)據(jù)。數(shù)據(jù)集為Wi-Fi環(huán)境下采集的網(wǎng)絡數(shù)據(jù),由IXIA PerfectStorm工具創(chuàng)建。數(shù)據(jù)包含正常行為和攻擊行為。在數(shù)據(jù)集中,本文選取40%數(shù)據(jù)進行平等劃分,得到1 000個攻擊行為和1 000個正常行為。本文對數(shù)據(jù)集進行格式化處理,規(guī)范攻擊數(shù)據(jù)和正常數(shù)據(jù)的特征表示,包括流量、網(wǎng)絡連接、網(wǎng)絡協(xié)議。特征值采用十進制表示。數(shù)據(jù)集包括多種大攻擊類型和子攻擊類型。子攻擊類型包含在大攻擊類型中。 攻擊數(shù)據(jù)行為類型如表1所示。 表1 攻擊數(shù)據(jù)行為類型 攻擊數(shù)據(jù)特征包含流特征、基本特征、內(nèi)容特征、時間特征、附加屬性特征、類別特征等。本文使用普通計算機,構建分布式站點平臺,集成Hue、Spark、Kafka、Zookeeper組件,并把數(shù)據(jù)集存儲在字符分隔值(comma-separated values,CSV)文件。本文通過訪問統(tǒng)計工具、通信平臺網(wǎng)絡,輸入、輸出信息數(shù)據(jù),以40 min為1個統(tǒng)計時段,記錄40 min內(nèi)訪問的停留時間、訪問深度、IP數(shù),并利用Bro-IDS工具和Argus工具模擬站點平臺攻擊流量(包括漏洞掃描工具模擬攻擊、人工構造攻擊流量);通過采集網(wǎng)絡數(shù)據(jù)時接入計算機網(wǎng)卡實際經(jīng)過的流量,以tcpdump工具捕獲原始網(wǎng)絡流量數(shù)據(jù)以辨識攻擊行為。 試驗比較3種辨識方法的網(wǎng)絡攻擊行為召回率R,以衡量攻擊數(shù)據(jù)被正確分類的比例。 (14) 式中:TP為攻擊行為判別正確的數(shù)量;FP為攻擊行為判別錯誤的數(shù)量。網(wǎng)絡攻擊行為的召回率試驗對比結果如圖1所示。 圖1 召回率試驗對比結果 由圖1可知:本文方法網(wǎng)絡攻擊行為平均召回率為95.0%;基于支持向量機的網(wǎng)絡攻擊行為辨識方法平均召回率為86.8%;基于IP熵變量的網(wǎng)絡攻擊行為辨識方法平均召回率為78.9%。本文方法攻擊行為召回率相比對比方法分別增加了8.2%、16.1%,提高了攻擊數(shù)據(jù)被正確分類的比例。 試驗比較3種辨識方法的攻擊行為誤報率F,以衡量正常數(shù)據(jù)的誤分類比例。 (15) 式中:NP為正常行為判別錯誤的數(shù)量;NF為正常行為判別正確的數(shù)量。 網(wǎng)絡攻擊行為的誤報率試驗對比結果如圖2所示。 圖2 誤報率試驗對比結果 由圖2可知,本文方法平均誤報率為0.05%,另外2種方法平均誤報率分別為0.11%、0.19%。本文方法網(wǎng)絡攻擊行為誤報率相比對比方法分別減少了0.06%、0.14%,降低了正常數(shù)據(jù)的誤分類比例。 試驗比較3種辨識方法的攻擊行為準確率β,以衡量攻擊數(shù)據(jù)和正常數(shù)據(jù)正確分類的比例。 (16) 網(wǎng)絡攻擊行為的準確率試驗對比結果如圖3所示。 圖3 準確率試驗對比結果 由圖3可知,本文方法平均準確率為97.8%,另外2種方法平均準確率分別為95.1%、92.3%。本文方法網(wǎng)絡攻擊行為準確率相比對比方法分別增加了2.7%、5.5%,提高了攻擊數(shù)據(jù)和正常數(shù)據(jù)正確分類的比例。綜上所述,本文方法實現(xiàn)了網(wǎng)絡攻擊數(shù)據(jù)的預處理,能夠在提取攻擊數(shù)據(jù)特征前消除攻擊數(shù)據(jù)存在的噪聲點。這增加了攻擊行為召回率和準確率、減少了誤報率,使攻擊行為辨識結果更加準確、可靠。 針對網(wǎng)絡流量攻擊數(shù)據(jù)辨識過程中,由數(shù)據(jù)屬性缺失引起的辨識準確率較低的問題,本文提出了基于半監(jiān)督學習的網(wǎng)絡高隱蔽性惡意攻擊行為辨識方法。該方法通過半監(jiān)督學習模型提取攻擊數(shù)據(jù)特征、辨識網(wǎng)絡高隱蔽性惡意攻擊行為,保證了高準確率、高召回率、低誤報率的辨識性能。但本文方法仍存在一定不足,例如對網(wǎng)絡攻擊行為特點的分析還不夠完善,以及模型辨識效率還有待提高。今后的研究會分析網(wǎng)絡攻擊行為特點,應用機器學習算法檢驗攻擊數(shù)據(jù)集合,并進一步完善半監(jiān)督學習模型的特征提取工作,使攻擊行為辨識更加高效、智能。1.3 高隱蔽性惡意攻擊行為辨識
2 試驗論證分析
2.1 試驗準備
2.2 試驗結果分析
3 結論