楊蕊 江浩巍 劉福泉
摘? 要: 網(wǎng)絡攻擊檢測是防護網(wǎng)絡空間安全的重要手段。檢測的準確性和實時性是衡量網(wǎng)絡攻擊檢測技術好壞的重要指標。分析了已有網(wǎng)絡攻擊檢測技術在實時性和準確性存在的不足;提出了一種基于信號分離的網(wǎng)絡攻擊檢測方法。實驗表明,這種方法能夠快速、準確地檢測出網(wǎng)絡攻擊。
關鍵詞: 網(wǎng)絡攻擊; 攻擊檢測; 信號分離; 噪聲
中圖分類號:G304? ? ? ? ? 文獻標志碼:A? ? 文章編號:1006-8228(2019)02-01-04
A network attack detection method based on signal and noise separation
Yang Rui, Jiang Haowei, Liu Fuquan
(Jiyang College of Zhejiang A&F University, Zhuji, Zhejiang 311800, China)
Abstract: Network attack detection is an important means to protect cyber security. This paper analyzes the shortcomings of the existing network attack detection methods and proposes a new method which based on signal separation to detect the network attack quickly and accurately. Experiment shows that this method can detect the network attack efficiently.
Key words: network attack; attack detection; signal separation; noise
0 引言
一個復雜的網(wǎng)絡攻擊可能會經歷以下幾個階段:偵察,掃描,獲取訪問權限,維護訪問權限,進一步攻擊和掩蓋攻擊軌跡[1]。相應地,對網(wǎng)絡攻擊防護機制大致可以分為三個階段:預防、檢測和對已經發(fā)生的攻擊作出反應。預防通常用于控制或限制對系統(tǒng)的非法訪問,常用的方法有防火墻、加密、認證、授權等。檢測用于監(jiān)視在系統(tǒng)上所進行的活動,試圖識別對系統(tǒng)進行的攻擊行為。反應用于控制攻擊活動的進一步擴散,對攻擊追蹤和診斷,最終對系統(tǒng)進行恢復,糾正系統(tǒng)中存在的漏洞。
本文借鑒了物理空間中信號分離思想,在分析已有網(wǎng)絡攻擊檢測方法存在的不足的基礎上,提出一種基于信號分離的網(wǎng)絡攻擊檢測方法。
1 傳統(tǒng)的網(wǎng)絡攻擊檢測方法存在的不足
網(wǎng)絡攻擊檢測是一種主動的安全防護技術,傳統(tǒng)的網(wǎng)絡攻擊檢測方法主要采用誤用檢測和異常檢測。
誤用檢測[2]方法根據(jù)已知的網(wǎng)絡攻擊提取出特征數(shù)據(jù),根據(jù)這些特征數(shù)據(jù),利用機器學習等方法訓練出相應的攻擊模型。將這些攻擊模型存儲在檢測系統(tǒng)中,用于檢查實際網(wǎng)絡空間中是否存在與攻擊模型匹配的數(shù)據(jù),如果有,則發(fā)出攻擊預警。然而,一方面,網(wǎng)絡空間中每天都有新的攻擊誕生,而新的攻擊模式對于誤用檢測系統(tǒng)來說通常是未知的,因此,誤用檢測對新攻擊是不起作用的;另一方面,網(wǎng)絡攻擊行為相對正常操作行為數(shù)量是很少的,很難快速準確地檢測出來。
異常檢測[3]方法根據(jù)正常的網(wǎng)絡行為提取出特征數(shù)據(jù),根據(jù)這些特征數(shù)據(jù),利用機器學習等方法訓練出正常網(wǎng)絡空間行為模型。當實際網(wǎng)絡空間行為偏離正常網(wǎng)絡空間行為模型的距離超過一定閾值時,發(fā)出攻擊預警。然而,如果攻擊行為活動序列偏離正常行為模型的差值不超過閾值,則攻擊就不能被檢測出來。另一方面,如果一個網(wǎng)絡空間活動是正常的,但卻與常規(guī)的正常活動操作序列有很大區(qū)別,那么這個正常的網(wǎng)絡活動也可能被誤報為網(wǎng)絡攻擊。
為了減少誤用檢測的漏報和避免異常檢測的誤報率太高,本文提出基于信號分離的攻擊檢測方法,試圖將兩種方法結合起來,先通過異常檢測方法過濾掉網(wǎng)絡正常行為數(shù)據(jù),減少正常網(wǎng)絡行為數(shù)據(jù)對攻擊檢測的干擾,然后使用誤用檢測方法對剩下的數(shù)據(jù)進行誤用檢測。
2 基于信號分離的攻擊檢測
2.1 來自物理空間中信號分離技術的啟示
信號分離技術在物理空間中的信號檢測和增強應用中得到了廣泛了應用[4]。網(wǎng)絡空間的攻擊檢測與物理空間中信號檢測具有一定相似性,可以從物理空間中的信號檢測中得到一些啟示。為了檢測網(wǎng)絡空間中的攻擊活動,如果直接在混合數(shù)據(jù)中檢測網(wǎng)絡攻擊,就跟直接在混有噪聲的語音中檢索機長的語音信號一樣困難。如果先將混合數(shù)據(jù)中的噪聲過濾掉,然后在過濾后的數(shù)據(jù)中使用模式識別方法就能、準確地快速檢測出攻擊數(shù)據(jù)。在物理空間中,可以在不同位置同時采集背景語音信號(噪聲)和混合語音信號。然而,與物理空間中信號分離方法不同的是,在網(wǎng)絡空間中無法同時采集正常操作數(shù)據(jù)(噪聲)和混合操作數(shù)據(jù)。為此,文章中提出了一種噪聲預測模型,將采集到的數(shù)據(jù)輸入到噪聲預測模型可以得到相應的預測噪聲,從采集到的數(shù)據(jù)中過濾掉預測噪聲,對過濾后的數(shù)據(jù)使用特征識別的方法進行攻擊檢測。
2.2 噪聲預測模型
本文建立了一種基于統(tǒng)計方法的噪聲預測模型,模型的建立過程如圖1所示。
2.2.1 采集數(shù)據(jù)
在計算機網(wǎng)絡入侵檢測系統(tǒng)中廣泛使用兩類數(shù)據(jù),即網(wǎng)絡流和審計跟蹤數(shù)據(jù)[5]。除此之外,我們還把計算機網(wǎng)絡系統(tǒng)看成資源的集合,資源具有狀態(tài)、性能等信息,在資源上進行的操作(不管是正常操作還是攻擊操作)都會對資源產生影響。比如:內存資源、CPU資源、帶寬資源等。因此,在我們提出的基于噪聲信號分離技術的網(wǎng)絡攻擊檢測方法中,采集的數(shù)據(jù)包括網(wǎng)絡流量、審計跟蹤數(shù)據(jù)和資源狀態(tài)、性能數(shù)據(jù)。下面以Windows操作系統(tǒng)為例說明要采集的數(shù)據(jù)以及數(shù)據(jù)采集的方法。
網(wǎng)絡流數(shù)據(jù):單位時間流經網(wǎng)絡接口的數(shù)據(jù)包數(shù),包括發(fā)送與接收的數(shù)據(jù)包。使用WinDump[6]進行采集。
審計跟蹤數(shù)據(jù):審計跟蹤數(shù)據(jù)包括系統(tǒng)活動和用戶活動所產生的活動記錄數(shù)據(jù),保存在終端系統(tǒng)中。系統(tǒng)活動包括操作系統(tǒng)和應用程序進程的活動;用戶活動包括用戶在操作系統(tǒng)中和應用程序中的活動。使用Windows時間監(jiān)控工具進行采集。
資源狀態(tài)數(shù)據(jù):可用的內存空間(字節(jié))。使用Windows系統(tǒng)性能監(jiān)控工具進行采集。
資源性能數(shù)據(jù):單位時間產生的頁面錯誤數(shù)。當線程引用不在主存儲器中的虛擬存儲頁面的工作集中時,會發(fā)生頁面錯誤。使用Windows系統(tǒng)性能監(jiān)控工具進行采集。
采集數(shù)據(jù)的時間是離散的,只在發(fā)生網(wǎng)絡事件發(fā)生時采集數(shù)據(jù)(比如接收到一次網(wǎng)絡服務請求),可以把一次采集數(shù)據(jù)的事件看成是一個離散隨機事件,用X(t,ξ,θ)表示。其中,t表示采集數(shù)據(jù)的時間點,是一個時間序列,設T為時間域,采集數(shù)據(jù)的時間序列可以表示成:
t0<t1<…<ti<…<tn∈T
θ表示特征數(shù)據(jù),是一個向量,[θ0,θ1,…,θn]表示提取出來的一組特征。ξ表示特征的權重,稱為系數(shù),也是一個向量,與特征向量對應。一個ξ的取值對應某種正常網(wǎng)絡活動預測模型。所有ξ取值的集合為所有正常網(wǎng)絡活動預測模型的狀態(tài)空間。
2.2.2 清洗數(shù)據(jù)與提取特征
清洗數(shù)據(jù)是指去除那些與預測網(wǎng)絡操作活動無關的數(shù)據(jù),比如數(shù)據(jù)包的首部。提取特征是指將那些與正常網(wǎng)絡操作活動相關的特征提取出來,比如:CPU的性能、內存的占用情況、單位時間流經網(wǎng)絡接口的數(shù)據(jù)包數(shù)等。
2.2.3 建立噪聲預測模型
根據(jù)從網(wǎng)絡空間中采集數(shù)據(jù)的方法和特點,把每次采集看成是一個離散隨機事件X(t,ξ,θ)。如果使用過去發(fā)生的離散隨機事件預測將來的隨機事件,貝葉斯定理是一個典型的預測模型[7],用數(shù)學表示如下:
⑴
其中,Xt=it,t∈T,T={0,1,…}。it表示在時間t上的狀態(tài),Xt=it是一個隨機過程,表明在時間t上Xt=it的概率分布。
但是使用貝葉斯預測模型計算量太大,不能滿足系統(tǒng)時效性的要求,于是采用了對貝葉斯預測模型進行簡化了的馬爾可夫模型[8]。這里假設在時間t+1上的狀態(tài)Xt+1=it+1的概率分布只與時間t的狀態(tài)Xt=it的概率分布有關,而與其他狀態(tài)Xt-1=it-1,…,X0=i0的概率分布無關,用數(shù)學表示為:
⑵
pi,j表示系統(tǒng)在時間t時狀態(tài)為i的前提下,在t+1時系統(tǒng)狀態(tài)變?yōu)閖的概率。如果系統(tǒng)的狀態(tài)數(shù)是一個有限集(1,2,…,s),馬爾可夫預測模型可以表示成一個轉換概率矩陣:
⑶
其中,,設在初始時間t=0時,系統(tǒng)處于狀態(tài)i的概率,其中i∈(1,2,…,s)。
根據(jù)馬爾可夫鏈模型,可以得到狀態(tài)序列X1,X2,…,XT的聯(lián)合概率:
⑷
可以從過去的系統(tǒng)狀態(tài)觀察結果中獲得馬爾可夫鏈模型的轉移概率矩陣和初始概率分布。設一組按時間序列的系統(tǒng)狀態(tài)觀察值為:X1,X2,…,XN-1,狀態(tài)i的概率為:
⑸
其中,N為所有觀察值的個數(shù),Ni為狀態(tài)i的觀察值的個數(shù)。馬爾可夫鏈的狀態(tài)轉換矩陣的轉換概率為:
⑹
其中,Ni為觀察到Xt的狀態(tài)i到Xt+1的狀態(tài)1,2,…,s的觀察值的個數(shù),Ni,j為觀察到Xt的狀態(tài)i到Xt+1的狀態(tài)j的觀察值的個數(shù)。
2.3 網(wǎng)絡攻擊檢測過程
將噪聲預測模塊的輸出作為基準輸入,將從網(wǎng)絡空間中實時采集到數(shù)據(jù)作為主輸入,兩者一起匯入信號分離模塊,將主輸入中的正常操作數(shù)據(jù)信號分離。將信號分離模塊的輸出結果即過濾后的數(shù)據(jù),作為模式識別模塊的輸入。將模式識別模塊的輸出結果作為決策模塊的輸入,由決策模塊決定是否發(fā)出網(wǎng)絡攻擊警報,如圖2所示。
2.4 cuscore信號分離模型
本文運用cuscore模型[9],對主輸入數(shù)據(jù)和基準輸入數(shù)據(jù)的對應特征數(shù)據(jù)之差進行累積運算,實現(xiàn)對用戶正常操作事件進行過濾。
基準輸入用公式表示為:
⑺
其中,T為用戶正常操作事件的特征向量值。at0為產生基準輸入過程中的白噪聲,服從正態(tài)分布。
主輸入用公式表示為:
⑻
其中,T為用戶正常操作事件的特征向量值。at1為采集主輸入過程中的白噪聲,服從正態(tài)分布,δsinx為信號模型。公式⑻只是簡單地將主輸入數(shù)據(jù)看成是用戶正常操作數(shù)據(jù)與攻擊操作數(shù)據(jù)疊加而成的,然而實際過程中,正常數(shù)據(jù)可能會受到攻擊數(shù)據(jù)的影響而變形,不那么容易區(qū)分出來。于是,本文采用cuscore累積模型來實現(xiàn)對攻擊數(shù)據(jù)與正常數(shù)據(jù)的分離。該用數(shù)學表達式表示如下。
⑼
其中,yt為采集到的混合數(shù)據(jù),T為用戶正常操作數(shù)據(jù),sinxt為信號。
3 實驗
為了說明基于信號/噪聲分離檢測網(wǎng)絡攻擊的方法,選擇了Ettercap[10]攻擊進行實驗。Ettercap是一種地址解析協(xié)議(ARP)攻擊。ARP攻擊通過向當前子網(wǎng)上的每個IP地址發(fā)送一系列ARP請求來確定當前網(wǎng)絡上有哪些計算機。然后,攻擊者向受害者發(fā)送欺騙性ARP響應。響應信息中填寫的是該網(wǎng)絡中的IP地址和攻擊者的物理(MAC)地址。一旦受害者計算機用該響應信息更新其ARP表,受害者計算機以后發(fā)送的數(shù)據(jù)都會到達攻擊者的機器。圖2對Ettercap攻擊的活動及對資源的影響進行了分析。對網(wǎng)絡接口單位時間接收/發(fā)送的數(shù)據(jù)包、單位時間進程IO讀寫的字節(jié)數(shù)、單位時間頁面錯誤數(shù)進行了采集。利用小波變換將時域分析變換成頻域分析。然后計算樣本概率,根據(jù)馬爾可夫鏈得到噪聲模型,結合cuscore算式得到信號模型。實驗過程中,用戶打開IE瀏覽器,向www.baidu.com網(wǎng)站發(fā)起搜索。在發(fā)起Ettercap攻擊之前我們采集了10分鐘數(shù)據(jù)用來建立噪聲模型。在發(fā)起攻擊的過程中,采集了10分鐘數(shù)據(jù)用來建立信號模型。然后采用混合數(shù)據(jù)(既有正?;顒右灿泄艋顒拥臄?shù)據(jù))進行測試,將網(wǎng)絡接口流量、進程IO讀寫數(shù)據(jù)量和進程處理過程中的頁面錯誤數(shù)等的觀察值作為cuscore模型的yt進行計算,得到的結果分別對應于圖3、圖4和圖5。在實驗中,第0到300次觀察過程中,我們只是簡單的打開瀏覽器進行預定的搜索,從301次觀察開始實施了攻擊活動,從實驗結果可以看出我們的模型能夠快速、準確地檢測出這種網(wǎng)絡攻擊。
4 結束語
使用基于噪聲與信號分離的網(wǎng)絡攻擊檢測方法在進行了攻擊檢測實驗,從實驗結果可以看出該方法能夠快速、準確地檢測出這種網(wǎng)絡攻擊。但實驗設計上尚存不足,目前只驗證了方法的可行性,尚未實現(xiàn)與其他方法比較。
參考文獻(References):
[1] DING Derui, HAN Qing-Long, XIANG Yang, etal. Asurvey on security control and attack detection for industrial cyber-physical systems[J]. In:Neurocomputing,2018.275:1674-1683
[2] 唐正軍.網(wǎng)絡入侵檢測系統(tǒng)的設計與實現(xiàn)[M].電子工業(yè)出版社,2002.
[3] George Chin Jr. Predicting and Detecting EmergingCyberattack Patterns[R]. In: 2014 9th Cyber and Information Security Research Conference, ACM Press,2014:95-105
[4] 趙力.語音信號處理[M].機械工業(yè)出版社,2009.
[5] KUKREIA Kashish, KARAMCHANDANI Yugal, KHAN-DELWAL Niraj, etal. Intrusion Detection System[J]. International Journal of Scientific and Research Publications,2015.5:709-711
[6] WinDump[EB/OL].https://www.winpcap.org/windump/
[7] 陳偉,陳繼明.基于貝葉斯模型的云服務服務質量預測[J].計算機應用,2016.36(4):914-917,926
[8] 尹清波,張汝波,李雪耀等.基于線性預測與馬爾可夫模型的入侵檢測技術研究[J].計算機學報,2005.28(5):900-907
[9] Giovanni Radaelli. Using the Cuscore technique in thesurveillance of rare health events[J].Journal of Applied Statistics,2006.7:75-81
[10] Ettercap Homepage[EB/OL].http://www.ettercap-project.org/ettercap/