黃振華,李春華,張 波,劉翠煥
(1.河北工程技術(shù)學(xué)院軟件學(xué)院,河北石家莊 050091;2.河北科技大學(xué)信息科學(xué)與工程學(xué)院,河北石家莊050018)
在互聯(lián)網(wǎng)飛速發(fā)展的同時(shí),越來(lái)越多的網(wǎng)絡(luò)安全問(wèn)題接踵而來(lái),計(jì)算機(jī)系統(tǒng)中防火墻無(wú)法全方面做到隔離軟件異類(lèi)數(shù)據(jù)[1-2]。目前針對(duì)軟件異類(lèi)入侵?jǐn)?shù)據(jù)相關(guān)領(lǐng)域?qū)W者做了大量的研究,并取得了一定的成就,但是在檢測(cè)率和誤報(bào)率上仍然存在問(wèn)題[3-4]。神經(jīng)網(wǎng)絡(luò)存在著一些不足,神經(jīng)網(wǎng)絡(luò)拓?fù)湓谝欢ǔ潭壬鲜艿较拗?,神?jīng)網(wǎng)絡(luò)比較復(fù)雜,計(jì)算負(fù)荷較重。
云檢測(cè)本質(zhì)上是一個(gè)隨機(jī)的過(guò)程,在軟件內(nèi)部組網(wǎng)端序列數(shù)據(jù)傳輸過(guò)程中,數(shù)據(jù)相對(duì)穩(wěn)定,異類(lèi)數(shù)據(jù)難以入侵,數(shù)據(jù)難以產(chǎn)生巨大的波動(dòng),因此可行性更高[5]。云檢測(cè)是一種主動(dòng)的網(wǎng)絡(luò)安全防御措施,能有效彌補(bǔ)防火墻的不足,對(duì)網(wǎng)絡(luò)采取實(shí)時(shí)性、全方位保護(hù),對(duì)系統(tǒng)外部試圖入侵的異類(lèi)數(shù)據(jù)進(jìn)行檢測(cè)防護(hù)。
綜上所述,傳統(tǒng)的檢測(cè)方法已不能滿(mǎn)足現(xiàn)在網(wǎng)絡(luò)安全的需要,為了解決軟件異類(lèi)入侵?jǐn)?shù)據(jù)在傳送過(guò)程中精確度不足的問(wèn)題,本文建立了一種基于異類(lèi)入侵?jǐn)?shù)據(jù)自我識(shí)別強(qiáng)度的云檢測(cè)方法,混合采用神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)了一種實(shí)時(shí)模擬分光器,采用ROC曲線對(duì)收集的數(shù)據(jù)與測(cè)試的數(shù)據(jù)進(jìn)行對(duì)比評(píng)估。經(jīng)實(shí)驗(yàn)證明,云檢測(cè)方法可以有效地提高數(shù)據(jù)的精確度。
為更好地實(shí)現(xiàn)入侵?jǐn)?shù)據(jù)的檢測(cè),前提是需要識(shí)別異類(lèi)入侵?jǐn)?shù)據(jù)。入侵?jǐn)?shù)據(jù)識(shí)別分為三部分,分別是:數(shù)據(jù)收集、入侵分析和響應(yīng)處理。軟件異常入侵?jǐn)?shù)據(jù)識(shí)別結(jié)構(gòu)圖如圖1所示。
圖1 軟件異常入侵?jǐn)?shù)據(jù)識(shí)別結(jié)構(gòu)圖
觀察圖1可知,數(shù)據(jù)收集是采集軟件數(shù)據(jù),是入侵檢測(cè)中的基礎(chǔ)。入侵分析是云檢測(cè)方法的核心步驟,對(duì)采集到的數(shù)據(jù)進(jìn)行加工處理并分析與原始數(shù)據(jù)進(jìn)行對(duì)比,判斷數(shù)據(jù)是否為異類(lèi)數(shù)據(jù),是否影響整體的運(yùn)行狀態(tài)[6]。若數(shù)據(jù)屬于異類(lèi)數(shù)據(jù)且存在異常入侵的情況,則通過(guò)響應(yīng)處理進(jìn)行報(bào)警,值班人員通過(guò)原始數(shù)據(jù)流提取異類(lèi)數(shù)據(jù)并與儲(chǔ)存的數(shù)據(jù)進(jìn)行對(duì)比更正。云檢測(cè)是通過(guò)整合主機(jī)網(wǎng)絡(luò)信息和若干分集機(jī)網(wǎng)絡(luò)信息方式進(jìn)行發(fā)掘與分析。根據(jù)異類(lèi)數(shù)據(jù)的軌跡發(fā)現(xiàn)其入侵行為,將主機(jī)的正常樣本與檢測(cè)的采集數(shù)據(jù)樣本進(jìn)行對(duì)比,對(duì)異類(lèi)數(shù)據(jù)進(jìn)行糾正,確保系統(tǒng)資源的精確性。
因此在進(jìn)行數(shù)據(jù)識(shí)別時(shí),可按照檢測(cè)對(duì)象和入侵方式進(jìn)行分類(lèi),按檢測(cè)對(duì)象的不同可以分為兩類(lèi),主機(jī)數(shù)據(jù)和網(wǎng)絡(luò)數(shù)據(jù),按入侵的方式不同,分為數(shù)據(jù)異常和輸入錯(cuò)誤兩種入侵方式。分類(lèi)如表1所示。
表1 入侵?jǐn)?shù)據(jù)分類(lèi)
為盡量減少數(shù)據(jù)入侵,在輸入電腦程序時(shí)盡量避免錯(cuò)誤,減小系統(tǒng)誤差,提高系統(tǒng)精確度。及時(shí)發(fā)現(xiàn)數(shù)據(jù)異常的入侵方式,避免對(duì)后期數(shù)據(jù)的影響。再根據(jù)日志與顯示數(shù)據(jù),將已知的異常數(shù)據(jù)變成攻擊編碼模式[7],數(shù)據(jù)編碼如圖2所示。
圖2 數(shù)據(jù)編碼模式
存儲(chǔ)在入侵模擬數(shù)據(jù)庫(kù)中,將實(shí)施的正確數(shù)據(jù)與入侵模式中異常數(shù)據(jù)進(jìn)行匹配,識(shí)別出入侵?jǐn)?shù)據(jù)。
由于在直角坐標(biāo)系中,異常數(shù)據(jù)樣本和正常數(shù)據(jù)的樣本是不一致的,因此本文通過(guò)建立直角坐標(biāo)系完成數(shù)據(jù)處理工作。隨機(jī)抽取n個(gè)數(shù)據(jù)作為基礎(chǔ)樣本,通過(guò)Matlab軟件畫(huà)出ROC曲線,判斷出數(shù)據(jù)的精確值,再重復(fù)此操作。對(duì)其它樣本進(jìn)行取樣計(jì)算標(biāo)準(zhǔn)數(shù)據(jù)與測(cè)出數(shù)據(jù)的偏移量,對(duì)重合的數(shù)據(jù)進(jìn)行儲(chǔ)存,有差別的數(shù)據(jù)進(jìn)行重新整合,直至ROC曲線是一條重合的線[8]。
若ROC不是一條光滑的曲線,則需將ROC曲線分為若干段,形成若干小梯形,計(jì)算出每個(gè)梯形的面積為數(shù)據(jù)的精確值,通過(guò)若干梯形面積相加得出數(shù)據(jù)的個(gè)數(shù)與正常數(shù)據(jù)數(shù)相減,得出異常數(shù)據(jù)的誤報(bào)率。在ROC曲線中尋找出檢測(cè)的最佳工作點(diǎn)。
由于操作錯(cuò)誤系統(tǒng)軟件會(huì)產(chǎn)生一些不正常的樣本點(diǎn),一般情況下,與做出的ROC曲線不重合的孤立點(diǎn)是由于操作失誤而得到的,因此要保證數(shù)據(jù)的準(zhǔn)確性,首先要確保主機(jī)系統(tǒng)內(nèi)數(shù)據(jù)的準(zhǔn)確性,對(duì)不規(guī)律的數(shù)據(jù)進(jìn)行糾正,標(biāo)記異類(lèi)數(shù)據(jù)。軟件內(nèi)部組網(wǎng)具有周期性,每一個(gè)程序都以異常數(shù)據(jù)攻擊的先后順序排列,根據(jù)程序的不同,所處環(huán)境不同。因此對(duì)程序進(jìn)行調(diào)用,在軟件網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都對(duì)應(yīng)不同的程序,程序內(nèi)部每條路徑代表著每個(gè)數(shù)據(jù)傳送的過(guò)程,建立不同的數(shù)據(jù)傳輸通道形成數(shù)據(jù)網(wǎng),植入云檢測(cè)系統(tǒng)和報(bào)警系統(tǒng),在一定安全策略下,進(jìn)行入侵云檢測(cè)。由于軟件網(wǎng)絡(luò)中每條路徑都有起點(diǎn)和終點(diǎn),在節(jié)點(diǎn)上具有儲(chǔ)存數(shù)據(jù)的功能,異常數(shù)據(jù)常常通過(guò)程序的漏洞對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行攻擊,通過(guò)改變?cè)闯绦驍?shù)據(jù)傳輸?shù)穆窂?,使整體的序列與正常執(zhí)行的序列有一定的差異。因此本文在數(shù)據(jù)處理過(guò)程中,構(gòu)建了源程序數(shù)據(jù)傳輸?shù)穆窂絻?yōu)化模型
(1)
式(1)中,E(n)為獲得的數(shù)據(jù)處理模型,e為常數(shù)值,n為監(jiān)測(cè)到的異常數(shù)據(jù)數(shù)量。
在上述路徑優(yōu)化模型的基礎(chǔ)上,進(jìn)行云檢測(cè),云檢測(cè)方法主要分為數(shù)據(jù)庫(kù)清洗和集成、數(shù)據(jù)庫(kù)儲(chǔ)存、選擇與轉(zhuǎn)換特定數(shù)據(jù)集、數(shù)據(jù)挖掘形成模式、評(píng)估與表示五個(gè)階段。入侵?jǐn)?shù)據(jù)自我識(shí)別強(qiáng)度云檢測(cè)流程如圖3所示。
圖3 入侵?jǐn)?shù)據(jù)自我識(shí)別強(qiáng)度云檢測(cè)流程
觀察圖3可知,數(shù)據(jù)庫(kù)清洗和集成的作用是找出異樣數(shù)據(jù),對(duì)異樣數(shù)據(jù)進(jìn)行整合清洗;數(shù)據(jù)庫(kù)儲(chǔ)存的作用是將清洗過(guò)的數(shù)據(jù)進(jìn)行儲(chǔ)存,將數(shù)據(jù)源中的數(shù)據(jù)組合到一起;選擇與轉(zhuǎn)換特定數(shù)據(jù)集作用是將整合后的數(shù)據(jù)進(jìn)行篩選整合成數(shù)據(jù)包的形式進(jìn)行特定的存儲(chǔ);數(shù)據(jù)挖掘形成模式是對(duì)特定存儲(chǔ)的數(shù)據(jù)進(jìn)行分解,智能的將數(shù)據(jù)進(jìn)行有規(guī)律的分解;評(píng)估與表示知識(shí)作用是根據(jù)分解出的數(shù)據(jù)篩選出有意義的模式知識(shí),利用數(shù)據(jù)的可視化向用戶(hù)展現(xiàn)出來(lái)。
數(shù)據(jù)通過(guò)傳輸網(wǎng)傳送,在節(jié)點(diǎn)的末端小型中央處理器對(duì)數(shù)據(jù)進(jìn)行讀取、審計(jì)并記錄,用exevce/inetd系統(tǒng)檢測(cè),產(chǎn)生新的數(shù)據(jù),主機(jī)系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行自我識(shí)別[9]。若數(shù)據(jù)發(fā)生異常,則重新返回開(kāi)始,進(jìn)行糾察并重新傳輸數(shù)據(jù),若數(shù)據(jù)與原數(shù)據(jù)一直繼續(xù)向下傳輸,得到path的數(shù)據(jù)值,判斷是否為正確的程序。如果數(shù)據(jù)經(jīng)過(guò)加權(quán)后,得到了相應(yīng)的服務(wù)權(quán)限矢量,判斷 PID是否存在矢量中,如果沒(méi)有,系統(tǒng)就需要重新編程,如果存在矢量繼續(xù)向下傳輸判斷是否 fork如果繼續(xù)向下傳輸,輸出的數(shù)據(jù)存儲(chǔ)在相應(yīng)的數(shù)據(jù)資源庫(kù)中,如果不是,就需要檢查數(shù)據(jù)并糾正重新傳輸。
通過(guò)構(gòu)建線性函數(shù)將原有的數(shù)據(jù)映射到三維空間內(nèi),將空間進(jìn)行劃分,利用矩陣尋找異類(lèi)數(shù)據(jù)的過(guò)程從而獲得最優(yōu)解,采用最小誤差平均準(zhǔn)則E=1,將整體數(shù)據(jù)集劃分成互不重合的數(shù)據(jù)塊,使整體數(shù)據(jù)形成緊湊的獨(dú)立體[10]。分割過(guò)程如圖4所示:
圖4 數(shù)據(jù)分割原理
根據(jù)圖4的分割原理得到數(shù)據(jù)獨(dú)立體,在獲得離散型屬性數(shù)據(jù)后,通過(guò)構(gòu)建新線型函數(shù)將原有的數(shù)據(jù)映射到三維空間內(nèi),將空間進(jìn)行劃分,利用矩陣尋找異類(lèi)數(shù)據(jù)的過(guò)程從而獲得最優(yōu)解[11]。云檢測(cè)的方法主要依賴(lài)于模擬數(shù)據(jù)庫(kù),若模擬數(shù)據(jù)庫(kù)中無(wú)正常數(shù)據(jù),則不能檢測(cè)出攻擊數(shù)據(jù),若異常數(shù)據(jù)的實(shí)時(shí)編碼與正常數(shù)據(jù)超過(guò)一定的閾值,正常數(shù)據(jù)也會(huì)受到攻擊。對(duì)整體數(shù)據(jù)進(jìn)行分析處理,展現(xiàn)出正常數(shù)據(jù)與異常數(shù)據(jù)之間的非線性關(guān)系,通過(guò)隨機(jī)取樣的方式來(lái)進(jìn)行數(shù)據(jù)對(duì)比。利用HMM(Hidden Markov Model)模型的檢測(cè)功能[12],通過(guò)云測(cè)試識(shí)別出異樣數(shù)據(jù),實(shí)現(xiàn)信息分布化處理,增加處理過(guò)程的自適應(yīng)性。HMM模型如圖5所示。
圖5 檢測(cè)模型
觀察圖5可知,每條通道上傳輸?shù)臄?shù)據(jù)可以簡(jiǎn)稱(chēng)為數(shù)據(jù)流,具有連續(xù)性,大容量,快速響應(yīng)的特點(diǎn),當(dāng)異類(lèi)數(shù)據(jù)入侵時(shí),在數(shù)據(jù)流中執(zhí)行云檢測(cè),若數(shù)據(jù)為事件數(shù)據(jù)的一部分,則其為入侵?jǐn)?shù)據(jù)。數(shù)據(jù)主要有三種數(shù)據(jù)類(lèi)型:點(diǎn)異常、樣本異常、順序異常。感應(yīng)數(shù)據(jù)流的傳輸數(shù)據(jù),增強(qiáng)了數(shù)據(jù)流算法的穩(wěn)定性,提高了檢測(cè)性能,增加檢測(cè)過(guò)程穩(wěn)定性。
為了檢測(cè)本文提出的軟件異類(lèi)入侵?jǐn)?shù)據(jù)自我識(shí)別強(qiáng)度云檢測(cè)方法的有效性,與現(xiàn)有方法進(jìn)行對(duì)比實(shí)驗(yàn)研究,選用的對(duì)比方法為基于SDN的智能入侵檢測(cè)系統(tǒng)模型與算法(文獻(xiàn)[3]方法)、基于云模型與決策樹(shù)的入侵檢測(cè)方法(文獻(xiàn)[4]方法)。
入侵檢測(cè)性能指標(biāo)主要包括三方面:檢測(cè)率、誤檢率和漏報(bào)率。
1)檢測(cè)率是云檢測(cè)系統(tǒng)受到異類(lèi)數(shù)據(jù)入侵時(shí)能夠準(zhǔn)確報(bào)警的概率,檢測(cè)率越高,說(shuō)明方法的性能越好,計(jì)算公式為
(2)
式中,C1為正確檢測(cè)異類(lèi)數(shù)據(jù)入侵的次數(shù),C為異類(lèi)數(shù)據(jù)入侵的總次數(shù)。
2)誤檢率是云檢測(cè)系統(tǒng)錯(cuò)誤判斷異類(lèi)數(shù)據(jù)入侵的概率,誤檢率越低,說(shuō)明方法的檢測(cè)性能越好,其計(jì)算公式為
(3)
式中,C2為錯(cuò)誤判斷異類(lèi)數(shù)據(jù)入侵的總次數(shù)。
3)漏報(bào)率是系統(tǒng)對(duì)未檢測(cè)到的異常數(shù)據(jù)大致估算概率,漏報(bào)率越低,說(shuō)明檢測(cè)結(jié)果更可靠。其計(jì)算公式為
(4)
式中,SZ為漏報(bào)為正常的入侵次數(shù),為異類(lèi)數(shù)據(jù)入侵的總次數(shù)。
設(shè)定實(shí)驗(yàn)參數(shù)如表2所示。
表2 實(shí)驗(yàn)參數(shù)
設(shè)定實(shí)驗(yàn)環(huán)境:實(shí)驗(yàn)所用系統(tǒng)為Windows 2010 64位,內(nèi)存4GB,CPU 3.30 Hz,仿真平臺(tái)為MATLAB R2018 b。具體實(shí)驗(yàn)結(jié)果與分析如下內(nèi)容所示。
根據(jù)上述實(shí)驗(yàn)參數(shù)和實(shí)驗(yàn)環(huán)境,利用三種檢測(cè)方法檢測(cè)軟件異類(lèi)入侵?jǐn)?shù)據(jù),得到的檢測(cè)率實(shí)驗(yàn)結(jié)果如圖6所示。
圖6 檢測(cè)率實(shí)驗(yàn)結(jié)果
根據(jù)圖6可知,當(dāng)檢測(cè)時(shí)間為4min時(shí),文獻(xiàn)[3]方法檢測(cè)率為22%,文獻(xiàn)[4]方法檢測(cè)率為29%,研究的檢測(cè)方法檢測(cè)率為38%;當(dāng)檢測(cè)時(shí)間為8min時(shí),文獻(xiàn)[3]方法檢測(cè)率為44%,文獻(xiàn)[4]方法檢測(cè)率為48%,本文提出的檢測(cè)方法檢測(cè)率為65%;當(dāng)檢測(cè)時(shí)間為12min時(shí),文獻(xiàn)[3]方法檢測(cè)率為60%,文獻(xiàn)[4]方法檢測(cè)率為80%,本文提出的檢測(cè)方法檢測(cè)率為82%。由此可知,研究的檢測(cè)方法檢測(cè)率要始終高于傳統(tǒng)的檢測(cè)方法,隨著檢測(cè)時(shí)間的增加,三種檢測(cè)方法的檢測(cè)率也在逐漸提高。
依據(jù)上述實(shí)驗(yàn)環(huán)境,對(duì)比三種方法的誤檢率,將測(cè)試數(shù)據(jù)隨機(jī)劃分為10組,每組數(shù)據(jù)為1550個(gè),檢測(cè)每組數(shù)據(jù)時(shí)隨機(jī)加入入侵?jǐn)?shù)據(jù)30個(gè)?;诖耍`檢率實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 誤檢率實(shí)驗(yàn)結(jié)果
由圖7可知,研究的檢測(cè)方法誤檢測(cè)率明顯低于對(duì)比檢測(cè)方法的誤檢測(cè)率,由于研究的方法采用云檢測(cè),所以更好地對(duì)數(shù)據(jù)進(jìn)行分析,探究數(shù)據(jù)的內(nèi)部強(qiáng)度,提高了異類(lèi)數(shù)據(jù)檢測(cè)精度。綜上所述,此次研究提出的檢測(cè)方法更適合應(yīng)用到軟件異類(lèi)入侵?jǐn)?shù)據(jù)檢測(cè)中,適用性更廣,應(yīng)用效果更強(qiáng)。
同樣依據(jù)上述實(shí)驗(yàn)環(huán)境,以3.2節(jié)實(shí)驗(yàn)的數(shù)據(jù)分組為基礎(chǔ)進(jìn)行漏報(bào)率實(shí)驗(yàn),具體實(shí)驗(yàn)結(jié)果如圖8所示。
圖8 漏報(bào)率實(shí)驗(yàn)結(jié)果
由圖8可知,對(duì)比的兩種方法漏報(bào)率介于10%~16%之間,而研究的方法的漏報(bào)率介于2%~6%之間,低于對(duì)比方法。因?yàn)檠芯康姆椒紤]到軟件內(nèi)部組網(wǎng)的攻擊順序排列問(wèn)題,優(yōu)化了數(shù)據(jù)傳輸路徑,并在數(shù)據(jù)網(wǎng)中植入了云檢測(cè)系統(tǒng),形成了較穩(wěn)定的檢測(cè)環(huán)境,同時(shí)也實(shí)現(xiàn)了降低漏報(bào)率的目的。
本文利用軟件異類(lèi)入侵?jǐn)?shù)據(jù)研究了一種新的自我識(shí)別強(qiáng)度云檢測(cè)模型,該模型具有強(qiáng)大的自我識(shí)別能力和傳送數(shù)據(jù)能力,可以快速的識(shí)別到異常數(shù)據(jù),對(duì)入侵異常數(shù)據(jù)進(jìn)行性能的檢測(cè),有效地提高入侵系統(tǒng)的誤報(bào)率和漏報(bào)率。運(yùn)用ROC曲線進(jìn)行云檢測(cè),將正常數(shù)據(jù)與異常數(shù)據(jù)進(jìn)行對(duì)比,找出異常區(qū)域加以糾正,提高了檢測(cè)的精確度。