摘要:傳統的異常檢測方式利用模式庫的方式收集所有已知的異常模式,對新的數據進行檢測,該方法難以檢測層出不窮的各種新的異常行為,同時由于異常行為數據難以獲取,往往只能得到正常用戶的行為信息。本文分析了針對衛星通信網的各種攻擊行為和異常情況,利用正常的用戶信令序列建立正常用戶“輪廓”,設計的基于信令序列異常檢測模型能夠在少量樣本的情況下獲得較高的檢測精度,在仿真平臺上驗證了該模型具有較高的檢測率和較低的虛警率。
關鍵詞:衛星通信;信令序列;SVDD;異常檢測
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)35-2097-04
Satellite Communication Network Anomaly Detection Research Based on Signaling Sequence
JIANG Ke-ke1, PAN Zhi-song1, GUAN Xin1,CHEN Ning-jun2
(1.Institute of Command Automation,PLAUST,Nanjing 210007,China;2.Nanjing Army Command College Operation Center,Nanjing210045,China)
Abstract:The traditional anomaly detection uses rules to collect all of the anomalous models, then detects new-coming data. This method is difficult to detect all kinds of new anomaly, andthe data of anomaly is difficult to gain, so we can only obtain the information of normal behaviors. This paper analyzes the different intrusion behaviors and anomaly condition in satellite communication network, we construct the normal user’s profile by normal communication signaling sequences. The anomaly detection model based on signaling sequences can obtain upper detection precision only by trifle samples. Supported by the satellite communication emulator, this model can get higher detection rate and lower 1 positive rate.
Key words: satellite communication;signaling sequence;SVDD;abnormal detection
1 引言
衛星通信應用日益廣泛,業務的類型也越來越豐富。地球站是負責發送和接收通信信息的地面終端,是衛星通信網的重要組成部分。作為衛星通信網絡中的節點,地球站的正常運行直接關系到整個網絡運行的質量。除了各種常規的地球站管理措施之外,實時監控地球站的異常行為也是保護衛星通信網運行的一項重要工作。
地球站異常包括諸多方面,除了地球站的故障之外,還包括地球站被仿冒,丟失,被非法用戶使用或者戰時被敵方繳獲等等,對衛星通信網的異常檢測主要是對地球站的檢測。由于地球站數量較多,而且越來越往小型化發展,管理上問題也越來越復雜。非法用戶可以通過竊取和偽造地球站,對整個衛星通信網絡進行攻擊。在非安全環境下,如果非法用戶竊取或者偽造了地球站,冒充網內人員入網,發布虛假呼叫請求,消耗有限的系統頻帶資源,并通過這些地球站竊取機密,發送假情報、傳達假命令,將會造成不可估量的損失。同時由于衛星通信利用無線信號在空中傳輸數據,在衛星覆蓋區域內的所有用戶都能接收到這些數據,只要具有相同接收頻率就可以獲取所傳遞的信息。另一方面,由于地球站在存儲能力、處理能力和電源供電時間方面的局限性,使得原來在有線環境下的許多安全方案和安全技術不能直接應用到衛星通信環境中,如防火墻不能起作用、計算量大的加密算法不適宜等,目前的衛星網管還沒有針對這一問題提出有效的異常檢測機制和解決方案。而通過分析監控網控中心接受到的各個地球站發送來的信令序列,能夠發現地球站行為異常行為。
通信信令在衛星通信系統的通信過程起著通信建立、保持和釋放等核心控制作用[1],是衛星通信網中用戶行為在系統交互中的體現。用戶通信會產生該用戶使用衛星通信的信令次序,正常用戶將產生正常信令序列,非正常用戶攻擊或異常行為在其信令序列上表現為和正常序列模式的偏離,因此可以通過信令序列檢測來檢測異常的發生。衛星通信網網控中心記錄了地球站日常的通信信令序列,通過對這些正常的通信信令序列學習,筆者試圖建立一個基于通信信令的異常檢測系統。本文將模式識別中單類分類器方法應用到通信信令檢測中,一旦正常地球站的行為被我們建立的模型所學習,任何偏離正常地球站“輪廓”的信令序列將被認為是異常,實現基于地球站信令序列的異常檢測。由于學習好的模型是在線監控所有地球站發出的信令序列并進行檢測,檢測過程只需要簡單的計算,從而能夠實現“實時監控”,保證衛星通信網的安全可靠。
2 相關工作
目前,在衛星通信網中主要的異常檢測方法還是傳統的異常檢測方法,運用通信信令序列對網絡進行異常檢測還處于探索階段,相關研究比較少。閻巧和謝維信在文獻[2]指出,目前異常檢測方法主要有基于統計分析、預測模式生成、系統調用和人工智能等異常檢測方法。統計分析異常檢測方法是根據異常檢測器觀察主體的活動,然后產生刻畫這些活動的行為的輪廓。每一個輪廓保存記錄主體當前行為,并定時地將當前的輪廓與存儲的輪廓合并。通過比較當前的輪廓與已存儲的輪廓來判斷異常行為。基于預測模式生成的方法的假設條件是事件序列不是隨機的而是遵循可辨別的模式,這種檢測方法的特點是考慮了事件的序列及相互聯系。Teng和Chen給出基于時間的歸納方法TIM (the Time-based Inductive Machine)[3],利用時間規則來識別用戶行為正常模式的特征。Forrest等人認為一個程序的正常行為可以由其執行軌跡的局部模式(短序列)來表征,與這些模式的偏離可認為是異常,是基于系統調用的異常檢測技術。基于人工智能的異常檢測方法包括數據挖掘、人工神經網絡、模糊證據理論等[2]。而基于支持向量機技術是人工智能異常檢測方法之一。支持向量機是建立在統計學習理論結構風險最小化準則基礎上的一類新型的機器學習方法,具有很好的推廣能力[4]。標準的SVM算法是有監督的學習算法,主要解決二值分類問題,在生物特征識別、文本分類等問題上取得了很好的應用效果。但是作為有監督的學習方法,需要標明類別號的問題仍然存在。單類分類器的目的就是定義一個圍繞目標類物體的邊界,接受盡量多的目標類物體,而盡可能的拒絕其它類[5]。單類分類算法的研究是從神經網絡開始的,比較知名的Japkowicz的自聯想記憶器。而基于核的學習是近年來發展起來的一種新的機器學習方法,其實質是通過由核誘導的隱映射將低維輸入空間中的非線性問題變換至高維特征空間中較易解決的線性問題,從而獲得原問題的解決,既避免了計算上的維數災難,又使問題在高維空間得到簡化。目前基于核的單分類方法有兩種: one-class SVM 及支持向量數據描述(SVDD:Support Vector Data Description)。SVDD和one-class SVM 均屬于無監督的支持向量機方法[6],本文選用的是支持向量數據描述方法。
3 基于SVDD的單類分類器模型
支持向量數據描述(SVDD)是Tax.D.M.J在文獻[7]中首先提出的單類分類器,本文中建立如圖1所示的分類器模型。
分類器模型的工作原理如下:首先對仿真平臺產生的數據進行切分、去除重復項等預處理,然后對SVDD分類器進行訓練,得出用于檢測的分類器。最后將測試樣本(正常樣本和異常樣本)送入訓練得到的分類器中進行檢測,得出檢測結果。
支持向量數據描述(SVDD)其基本思想是利用高斯核函數把樣本空間映射到核空間,在核空間找到一個能夠包含所有訓練數據的一個球體。當判別時,如果測試樣本位于這個高維球體中,那么就認為正常,否則就認為異常。假設模型f(x;w)表示一類緊密的有界數據集,我們可以借助一個超球體εstruct(R,a)去包含并描述它。這個球體可以用中心a和半徑R表示,而且使訓練集Xtr的所有樣本都落在此球體內。為了提高結果的魯棒性,仿照SVM[8]為每個樣本引入松弛變量ζ≥0,#8704;i,以控制野值對解的影響。意即對于遠離球心的樣本點實施懲罰,因此,最小化問題變為如下形式:
其約束條件為:
參數C類似于SVM中的控制變量。
利用Lagrange函數求解上述約束下的最小化問題,可得:
約束為:(1)
假設z為測試樣本,那么當如下公式滿足,即判z是正常類,否則為異常類。相當于z落在該超球體內部。
其中,R是任意一個支持向量 到球心a的距離:
當輸入空間的樣本點不滿足球狀分布時,可以通過核技巧把輸入空間先映射到高維空間,然后在映射后的高維空間內求解。也就是將上述公式中的內積形式都變換成核函數形式:
引入核函數后,原來的公式變成了如下形式:
約束不變,而決策函數變為:
這里指示函數I定義為:
4 實驗
4.1 衛星通信網地球站通信信令編號:
地球站發出的信令可以反映用戶的行為。衛星通信網的主要控制信令有以下9個,我們通過人工給其進行編號。如表1。
4.2 短序列生成
根據衛星通信網信令通信規律,在衛星通信網信令仿真平臺中生成100組正常序列用于訓練分類器,150組包含異常信令的異常序列和100組正常序列用于測試,每個信令的長度各不相同,包含信令數大于250個。 然后對信令序列進行預處理。預處理的主要目的就是要得到地球站的發送信令短序列。由于地球站所發送信令的次序關系是描述該用戶行為的重要特征,分析這種次序關系的最簡單方法就是利用長度為K的滑動窗口(Sliding Window)技術構造發送信令短序列。利用長度為k的窗口在通信信令序列上以步長為1從左到右滑動,以獲得多個長度為K的短序列,作為異常檢測系統的輸入數據。短序列反映了信令序列在通信過程中的次序關系,如果K取得較短,就容易丟失信令的時序關系,如果長度太長,就容易失去整個信令序列的局部特性,而很多的攻擊和異常活動都可以在局部特性中表現出來。因此選擇合適的K十分重要。下面是仿真平臺中地球站21的發送信令執行跡,總共有210個發送信令:3,8,6,8,3,4,6,8,3,7,7,5,1,5,1,2,3,4,6,8,3,7,7,5,1,5,1………7,3,3,6,8,3,6,8,3,3,7,7,5,1,2,7,7,3,1,5,1,2,3,7,7,5,1,2,7,6,4,8,3,3,6,8,3,6。令K=6,則可以得到205個發送信令短序列,部分如下所示。
3 8 6 8 3 48 6 8 3 4 6 6 8 3 4 6 8 8 3 4 6 8 3
3 4 6 8 3 74 6 8 3 7 7 6 8 3 7 7 5
……
8 3 3 6 8 33 3 6 8 3 6
經過預處理后得到實際用于訓練的短序列個數,如表2所示。
4.3實驗環境:
軟件環境: windows xp sp2,matlab7.1, visual studio 2005,microsoft officeAccess 2003;
硬件環境: Inter Core 2 2.33G,內存2G。
4.4 實驗步驟
在Matlab7.1中用SVDD算法對長度為K的正常短序列進行訓練,得出分類器,然后分別用分類器對100組測試正常序列和150組測試異常序列進行測試,閾值為分類器檢測出每組序列中拒絕的個數,閾值分別設為1~10,表示拒絕個數為1個到10個,如果被測試序列是正常的,拒絕則表示錯誤的把正常序列判為異常的短序列個數,如果被檢測序列是異常的,拒絕則表示正確檢測出異常的短序列個數,當閾值設得比較小時,對異常敏感,但將正常識別為異常的錯誤可能性也增大,當閾值設置比較大,則對異常不敏感,同時將正常識別為異常的可能性也降低。因此,用檢測率和虛警率來評估結果。檢測率就是正確檢測出的樣本占整個待測樣本的比率,虛警率就將正常誤報為異常的比率。表3 列舉K在取不同值時檢測率的比較。
由圖2~6可以得出K在取不同值時,不同閾值所對應的檢測率和虛警率。,在序列長度K取4或者5時,檢測效果比較理想,取合適的閾值3能夠在滿足比較高的檢測率(>88%)同時使虛警率比較低(<28%),當序列長度K取6,7和8時,雖然取特定閾值能夠使檢測率等于或接近100%,但是虛警率也都超過60%,沒有一個閾值能夠使檢測率和虛警率都能達到滿意程度。
圖2 K=4時檢測率和虛警率 圖3 K=5時檢測率和虛警率
圖4 K=6時檢測率和虛警率圖5 K=7時檢測率和虛警率
圖6 K=8時檢測率和虛警率圖7 檢測ROC曲線
經過計算,可以得出K=4~8時的平均檢測率和平均虛警率,由計算結果可知K=4時平均檢測率(>70%)最高,K=5時平均虛警率(<10%)最低。圖7顯示了實驗結果的ROC曲線,可以看出K=4和K=5時,曲線更靠近圖的左上角,因此說明了K取4或者5時效果好。
通過實驗可以看出,基于SVDD的單類分類器的異常檢測模型具有以下特點:
首先,它不需要為系統提供異常的信息利用正常的樣本建立正常的工作模式,所以該方法能夠識別現在還未知的異常行為;
其次,可以從較少的正常短序列學習正常的模式,并能取得比較理想的檢測效果,如當K=4或K=5時,使用了162~301個短序列樣本,卻取得了很好的效果;當K=7或K=8時,雖然使用了903~1388個短序列樣本,檢測結果卻并不理想。
第三點,由于檢測部分只需要簡單的計算,能夠滿足入侵檢測實時性的要求。
5 結束語
本文根據衛星通信網通信信令序列能夠表征網絡中地球站用戶行為,將通信信令序列用于檢測網絡中的異常。由于通信網中正常通信信令序列相比異常通信信令序列高幾個數量級,所以用單類分類器算法對異常進行檢測?;赟VDD的單類分類器運用包含目標類(正常通信信令序列)的最優超球體,將目標類數據與所有非目標類(非正常通信信令序列)數據區分開,從而識別正常與異常通信行為。通過實驗,證明了方法能夠在取得合適參數下,獲得較高檢測率和較低虛警率,因此,基于衛星通信信令序列檢測能夠用來檢測網絡中用戶行為的異常。
雖然單類分類器能夠僅利用正常樣本進行訓練,但是對少量珍貴的異常樣本沒有充分利用,如何利用少量異常樣本提高檢測精確度是下一步工作的方向。
參考文獻:
[1] 黃碧香.衛星通信網通用信令系統的設計與實現[D].碩士論文.南京:解放軍理工大學指揮自動化學院,2008.
[2] 閻巧,謝維信.異常檢測技術的研究與發展[J].西安電子科技大學學報(自然科學版),2002,29(1):128-132.
[3] Teng.H.S,Chen K,Lu S.C. Adaptive real-time anomaly detection using inductively generated sequeatial patterns[C], Oakland CA,In Proceedings of the IEEE Symposium on Research in Security and Privacy,May,l990.
[4] Burges C J C. A tutorial on support vector machines for pattern recognition[J].Data Mining and Knowledge Discovery, 1998,2(2):121-167.
[5] 潘志松,倪桂強,譚琳,等.異常檢測中單類分類算法和免疫框架設計[J].南京理工大學學報,2006,30(1):48-52.
[6] 楊敏,張煥國,傅建明,等.基于支持向量數據描述的異常檢測方法[J].計算機工程,2005,31(3):39-42.
[7] David M J T. One-class Classification[D].Ph.D.Dissertation,1999.
[8] Cristianini N,Taylor J.S.An introduction to SVMs and other kernel-based learning methods[M].Cambridge University Press,2000.