宮 美
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210000)
基于模型的異常檢測的發(fā)展
宮 美
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京210000)
在過去幾年中,許多技術(shù)用于檢測異常、誤用、網(wǎng)絡(luò)攻擊和其他網(wǎng)絡(luò)安全缺陷。文中討論一種基于模型的技術(shù)方案。該技術(shù)并不是全新的,其已經(jīng)成功用于校驗(yàn)通信協(xié)議的標(biāo)準(zhǔn)模式。然而在很多情況下,網(wǎng)絡(luò)系統(tǒng)會(huì)忽略這些標(biāo)準(zhǔn)和提議。為了解決這個(gè)問題,可以在通信協(xié)議中結(jié)合使用基于模型技術(shù)和異常檢測技術(shù)。發(fā)現(xiàn)類似網(wǎng)絡(luò)攻擊的信號(hào)或惡意行為時(shí),就對(duì)這些異常加以研究,可以顯著提高防御成功率。首先使用網(wǎng)絡(luò)協(xié)議中的理論和方法原理作為狀態(tài)機(jī),然后在網(wǎng)絡(luò)安全領(lǐng)域檢測應(yīng)用情況,最后提出一些實(shí)驗(yàn)研究中應(yīng)遵循的核心方向,盡可能實(shí)現(xiàn)一些突破性成果。
網(wǎng)絡(luò)協(xié)議;基于模型的校驗(yàn);異常檢測;狀態(tài)機(jī);網(wǎng)絡(luò)安全
有很多協(xié)議可以識(shí)別惡意網(wǎng)絡(luò)行為,例如模式識(shí)別、數(shù)據(jù)挖掘、數(shù)據(jù)統(tǒng)計(jì)和一些其他的技術(shù),其中得到廣泛關(guān)注的是模型驅(qū)動(dòng)工程(MDE)。MDE廣泛應(yīng)用于軟件開發(fā)過程中,計(jì)算機(jī)系統(tǒng)使用這種模型可以控制復(fù)雜度,并提供有效驗(yàn)證。核心MDE基于兩種方法:模型檢查—驗(yàn)證給定狀態(tài)模型轉(zhuǎn)換的狀態(tài)空間;模型推理—通過應(yīng)用自動(dòng)學(xué)習(xí)算法,從系統(tǒng)組件的交互中產(chǎn)生模型。
模型檢查和推理技術(shù)最關(guān)心的是網(wǎng)絡(luò)安全領(lǐng)域。從網(wǎng)絡(luò)安全角度看,MDE可能是一種理想化的工具,它可以觀察IT系統(tǒng)的行為,并且可以發(fā)現(xiàn)異常事件。模型的有效性主要受到兩個(gè)因素的影響:
(1)在部署期間意外產(chǎn)生異?;虿渴鹫邲]有掌握所需的技能,協(xié)議執(zhí)行過程中可能會(huì)有其他的缺陷。
(2)由于不能對(duì)所有執(zhí)行的模型都做充分準(zhǔn)備,所以學(xué)習(xí)算法(最好是自動(dòng)學(xué)習(xí)算法)需要在新的網(wǎng)絡(luò)環(huán)境中推導(dǎo)出一個(gè)確切的行為方式。
所有不匹配這種模型的網(wǎng)絡(luò)環(huán)境都可以試探這種網(wǎng)絡(luò)協(xié)議的缺陷。曾經(jīng)就有攻擊者利用不匹配的模型實(shí)施攻擊。因此需要新的技術(shù)來檢測這些攻擊,并作出積極防御[1]。文中第1節(jié)簡要地展示了當(dāng)前模型推理、自動(dòng)學(xué)習(xí)模型的現(xiàn)狀。在第2節(jié)展示了兩種可以應(yīng)用的模型推理和模型協(xié)議:一種是滲透僵尸網(wǎng)絡(luò)命令與控制(C&C)協(xié)議[2],另一種是VoIP的侵入檢測系統(tǒng)[3]。最后給出基于模型的異常檢測在實(shí)際研究中的重要方向和結(jié)論。
1.1模型推理
很多網(wǎng)絡(luò)協(xié)議模型是基于建模師的需要建立的,如時(shí)間表、消息表和實(shí)體表等。若有兩種已選擇的狀態(tài)間存在連接,則意味著有實(shí)際的事件導(dǎo)致了從一種狀態(tài)到另一種狀態(tài)的轉(zhuǎn)變。雖然可以在文獻(xiàn)上查到類似網(wǎng)絡(luò)協(xié)議的狀態(tài)機(jī),但網(wǎng)絡(luò)協(xié)議在實(shí)際執(zhí)行時(shí)不是單純的從一個(gè)系統(tǒng)到另一個(gè)系統(tǒng)的變換,很多時(shí)候它們會(huì)忽略標(biāo)準(zhǔn)。因此,這些標(biāo)準(zhǔn)或著名的狀態(tài)機(jī)模型只能作為準(zhǔn)線或下一步研究的出發(fā)點(diǎn)。模型推理技術(shù)的目的是為了主動(dòng)或被動(dòng)地學(xué)習(xí)狀態(tài)機(jī),在測試條件下描述系統(tǒng),進(jìn)而解決實(shí)際問題。
有限狀態(tài)機(jī)[4]有兩種類型:Moore狀態(tài)機(jī)和Mealy狀態(tài)機(jī)。它們的區(qū)別在于前者狀態(tài)可以是接收或不接收,而后者沒有接收狀態(tài),并且轉(zhuǎn)換后的輸出次序也是關(guān)鍵問題。對(duì)網(wǎng)絡(luò)協(xié)議來說Mealy狀態(tài)機(jī)模型更適合,因?yàn)樗鼈兌际欠磻?yīng)系統(tǒng),轉(zhuǎn)換是其核心問題。模型協(xié)議推理確切來說是語法上的推理問題,因?yàn)橥茖?dǎo)狀態(tài)機(jī)等價(jià)于學(xué)習(xí)一個(gè)常規(guī)語言。對(duì)狀態(tài)機(jī)推理的主要程序有兩種類型:
(1)主動(dòng)型(也稱為在線型),是基于推理系統(tǒng)的主動(dòng)探測,被稱為測試狀態(tài)系統(tǒng)(SUT);
(2)消極型(也稱為離線型),是基于時(shí)間分析系統(tǒng)軌跡,并從中推導(dǎo)出模型。
1.2SUT行為的學(xué)習(xí)狀態(tài)機(jī)
1.2.1主動(dòng)式學(xué)習(xí)
協(xié)議推理模型的方法主要應(yīng)用在TCP(傳輸控制協(xié)議)和SIP(會(huì)話初始化協(xié)議)上。圖1展示了主動(dòng)學(xué)習(xí)方式的框圖[5]。
圖1 SUT主動(dòng)學(xué)習(xí)行為
假設(shè)系統(tǒng)到模型(測試狀態(tài)系統(tǒng))可以通過Mealy狀態(tài)機(jī)建模。系統(tǒng)保持當(dāng)前狀態(tài),起始于q0。系統(tǒng)接收從I來的輸入信號(hào)和特殊復(fù)位信號(hào)。學(xué)習(xí)機(jī)發(fā)送輸入查詢到SUT并觀察輸出。當(dāng)系統(tǒng)接受查詢,即觸發(fā)狀態(tài)轉(zhuǎn)變q→q0。當(dāng)前狀態(tài)q轉(zhuǎn)變成q0并產(chǎn)生了輸出o。每次觀察后系統(tǒng)復(fù)位?;谳敵鼋⒓僭O(shè)H,并在系統(tǒng)中再次驗(yàn)證。在經(jīng)過一定數(shù)量的測試后,系統(tǒng)的構(gòu)造和假設(shè)可以得到驗(yàn)證。如果所有的測試都通過,那么這個(gè)假設(shè)就可以被接收;否則一旦發(fā)現(xiàn)一個(gè)新的反例,那么假設(shè)就必須被改良。一直重復(fù)該過程,直到所有的測試都通過,不再產(chǎn)生新的反例。
一般來說,網(wǎng)絡(luò)協(xié)議有大量的輸入和輸出參數(shù)。這表明網(wǎng)絡(luò)協(xié)議有必要增加推理算法的有效性。如圖2所示,在學(xué)習(xí)機(jī)與SUT之間放置第三個(gè)實(shí)體——映射器,是一個(gè)合理的解決方案。抽象輸入和輸出由具體輸入輸出拆分得到,其按照以前的相關(guān)方式拆分成等價(jià)類。映射器把抽象輸入轉(zhuǎn)換成被SUT接受的具體輸入。在反方向上,映射器又把具體輸出轉(zhuǎn)化為學(xué)習(xí)機(jī)使用的抽象輸出。
圖2 使用映射器的SUT主動(dòng)學(xué)習(xí)行為
1.2.2消極式學(xué)習(xí)
消極式學(xué)習(xí)是基于系統(tǒng)中歷史痕跡演繹出的模型。tcpdump或Wireshark模式就是使用消極式學(xué)習(xí)模式。通過執(zhí)行ReverX,使用協(xié)議的相互作用,從網(wǎng)絡(luò)痕跡中推斷出協(xié)議說明。
消極式推演網(wǎng)絡(luò)協(xié)議模型,需要包含兩個(gè)模型:語言模型,可以把網(wǎng)絡(luò)協(xié)議看做正式語言;不同種類消息間關(guān)系的實(shí)體協(xié)議模型。
在圖3中展示了基于ReverX體制,消極學(xué)習(xí)的兩種模型推理。
圖3 ReverX工具的消極型學(xué)習(xí)示例
(1)推導(dǎo)語言
推導(dǎo)一種語言有幾種方法。除了已知的應(yīng)用消息類型、領(lǐng)域的聚合、分區(qū)以及特征描述等,還可以使用狀態(tài)機(jī)。使用狀態(tài)機(jī)時(shí)[4],推導(dǎo)一個(gè)語言由兩步組成:
①狀態(tài)機(jī)的構(gòu)建,其僅從網(wǎng)絡(luò)痕跡上接收消息;
②對(duì)相同消息類型的不同范例進(jìn)行統(tǒng)一化。這種方法也可以與主動(dòng)式學(xué)習(xí)方法結(jié)合使用。
(2)推導(dǎo)協(xié)議狀態(tài)機(jī)
可以使用與推導(dǎo)語言相同的方法去推導(dǎo)協(xié)議狀態(tài)機(jī)。過程由以下幾步組成:
①提取應(yīng)用會(huì)話——狀態(tài)機(jī)必須對(duì)每個(gè)應(yīng)用會(huì)話進(jìn)行推導(dǎo),其中一個(gè)程序會(huì)話由一組消息序列組成;
②構(gòu)造局部狀態(tài)機(jī);
③縮減——從第二步開始狀態(tài)機(jī)可以最小化為一種普通狀態(tài)。
模型推導(dǎo)領(lǐng)域的成功使得開發(fā)領(lǐng)域也有了更廣泛的前景。本文關(guān)注網(wǎng)絡(luò)安全以及應(yīng)用MDE之后的好處,展示了在網(wǎng)絡(luò)安全上應(yīng)用基于模型方法的重要結(jié)論。
2.1僵尸網(wǎng)絡(luò)C&C協(xié)議
Cho[6]展示了分析僵尸網(wǎng)絡(luò)命令和控制(C&C)協(xié)議的方法,其貢獻(xiàn)是在高延遲的網(wǎng)絡(luò)環(huán)境中建立了一種推導(dǎo)完全狀態(tài)機(jī)的新方法,使用Mealy狀態(tài)機(jī)建模方法對(duì)協(xié)議建模;為了最小化在推導(dǎo)過程中產(chǎn)生的查詢數(shù)目,還使用了一個(gè)高效的程序,其中試驗(yàn)臺(tái)的設(shè)計(jì)也需要注意。它可以被視為這種推導(dǎo)系統(tǒng)的設(shè)計(jì)命題,并且能有效地推導(dǎo)出模型,提供應(yīng)用最優(yōu)化的數(shù)據(jù)證明。試驗(yàn)結(jié)果證明了這個(gè)方法非常有吸引力。在推導(dǎo)C&C模型的過程中發(fā)現(xiàn)了一些關(guān)鍵環(huán)節(jié)和設(shè)計(jì)缺點(diǎn):
關(guān)鍵環(huán)節(jié):
(1)僵尸網(wǎng)絡(luò)中垃圾郵件的容量關(guān)鍵取決于服務(wù)器的類型;
(2)找到一種可以從C&C服務(wù)器獲取垃圾郵件模板的簡單方法;
(3)如何檢測背景通信。
主要缺點(diǎn):
(1)沒有隱藏監(jiān)測流量, 僵尸主機(jī)可以檢測到其高容量;
(2)這種方法不能推導(dǎo)出基于數(shù)據(jù)/時(shí)間觸發(fā)的協(xié)議;
(3)對(duì)所有潛在的應(yīng)用來說精度可能不夠;
(4)使用復(fù)雜語法(表達(dá)性語言)的協(xié)議需要使用其他方法推導(dǎo)。
根據(jù)對(duì)僵尸網(wǎng)絡(luò)滲透的觀察,Caballero[7]提出了如何在黑盒中展示僵尸網(wǎng)絡(luò)的問題——黑盒中C&C協(xié)議語言和協(xié)議狀態(tài)機(jī)都是未知的。 他們解決了第一個(gè)問題——從給定樣本中提取消息格式?;谶@點(diǎn),可以構(gòu)建出MegaD僵尸網(wǎng)絡(luò),并引入緩沖拆解技術(shù),從其他存儲(chǔ)緩存中通過重構(gòu)輸出緩存的進(jìn)程去提取發(fā)送消息的結(jié)構(gòu)。并根據(jù)當(dāng)前的技術(shù)開發(fā)了一個(gè)工具Dispathce,針對(duì)已知和未知的MegaD C&C協(xié)議消息進(jìn)行測試,測試結(jié)果表明這種方法對(duì)僵尸網(wǎng)絡(luò)的滲透有效。
2.2VoIPIDS
另一種新的入侵檢測系統(tǒng)是VoIP IDS[8],在IP電話系統(tǒng)后檢測網(wǎng)絡(luò)協(xié)議。該系統(tǒng)主要關(guān)注基于SIP和基于RTP模型的攻擊:(1)對(duì)于SIP:取消Dos和BYE Dos;(2)對(duì)于RTP:多媒體垃圾郵件和RTP包泛濫。這些攻擊的簽名被保存在VoIP IDS的數(shù)據(jù)庫中,在運(yùn)行期間使用。VoIP IDS操作如下:
(1)該系統(tǒng)針對(duì)每個(gè)VoIP[9]并行跟蹤SIP和RTP狀態(tài)機(jī)的進(jìn)度;
(2)觀察并檢測這個(gè)模式下狀態(tài)發(fā)生改變的序列;
(3)如果觀察到不符合規(guī)范的模式,IDS會(huì)發(fā)出警告并通知管理員。
在該系統(tǒng)中存在延遲100 ms左右的問題,不過這個(gè)應(yīng)該是可以接受的。而且還可以有其他方案來解決這個(gè)問題,所以這個(gè)想法值得繼續(xù)研究。有結(jié)果表明,在沒有任何攻擊誤報(bào)的情況下,系統(tǒng)檢測精度可以達(dá)到100%。不僅如此,這個(gè)系統(tǒng)可以應(yīng)用于未知的攻擊。
在本文中評(píng)估了一些基于模型的網(wǎng)絡(luò)安全解決方案。從評(píng)估中發(fā)現(xiàn),通過使用狀態(tài)機(jī)的自動(dòng)推理來做網(wǎng)絡(luò)協(xié)議的模型是一個(gè)不錯(cuò)的解決方案,可以應(yīng)用在各種防御工具中,例如防病毒、反惡意軟件、入侵檢測和預(yù)防體系等。針對(duì)這些想法,本文提出了兩種成功的部署:(1)妥協(xié)的僵尸網(wǎng)絡(luò)C&C協(xié)議[10];(2)VoIP入侵檢測系統(tǒng)。有了這些基礎(chǔ),研究界可以制定一些方向,并在接下來著重研究:
(1)防止主動(dòng)學(xué)習(xí)防御被檢測到——主動(dòng)學(xué)習(xí)方式是基于攻擊者對(duì)系統(tǒng)的主動(dòng)探測,所以需要一些技術(shù)來對(duì)其進(jìn)行隱藏,比如:混淆和誤導(dǎo)等。
(2)推理方法——需要更好的協(xié)議語言和狀態(tài)機(jī)來解決一些問題,比如協(xié)議類型的廣泛應(yīng)用。此外,應(yīng)該排除協(xié)議標(biāo)準(zhǔn)以及不相關(guān)的手冊(cè)指南對(duì)協(xié)議語言的影響,這樣才能使推論更有效。
(3)實(shí)時(shí)和自動(dòng)設(shè)計(jì)——只有完全自動(dòng)、實(shí)時(shí)、有效的設(shè)計(jì)才能適用于實(shí)際應(yīng)用。因?yàn)樗枰褜?shí)際運(yùn)營環(huán)境考慮在內(nèi)(尤其是現(xiàn)代網(wǎng)絡(luò)流失的速度),根據(jù)工具的準(zhǔn)確度做出正確的處理。因此,產(chǎn)業(yè)標(biāo)準(zhǔn)的解決方案還有發(fā)展空間。
(4)檢測——雖然文獻(xiàn)[8]提出了對(duì)攻擊途徑進(jìn)行簽名,但是筆者并不希望在技術(shù)層面做這些準(zhǔn)備。因?yàn)檫@些工作需要手動(dòng)完成,例如選擇觀察參數(shù),而且要盡可能對(duì)這些過程進(jìn)行簡化。
[1] 楊宏宇,朱丹,謝豐,等.入侵異常檢測研究綜述[J].電子科技大學(xué)學(xué)報(bào),2009,38(5):587-596.
[2] 童維兵.高安全性的VoIP系統(tǒng)研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2011.
[3] 蘇云琳.僵尸網(wǎng)絡(luò)檢測系統(tǒng)的分析與設(shè)計(jì)[D].北京:北京郵電大學(xué),2010.
[4] 譚同超.有限狀態(tài)機(jī)及其應(yīng)用[D].廣州:華南理工大學(xué),2013.
[5] 徐冉冉.基于主動(dòng)學(xué)習(xí)的智能算法及其在模式分類中的應(yīng)用[D].無錫:江南大學(xué),2013.
[6] CHO C Y,BABIC D,SHIN E C R,et al.Inference and analysis of formal models of botnet command and control protocols[C].In Proceedings of the 17th ACM Conference on Computer and Communications Security (CCS’10).ACM,New York,USA,2010:426-439.
[7] CABALLERO I,POOSANKAM P,KREIBICH C,et al.Dispatcher:enabling active botnet infiltration using automatic protocol reverseengineering[C].In Proceedings of the 16th ACM Conference on Computer and Communications Security (CCS’09).ACM,New York,USA,2009: 621-634.
[8] SENGAR H,WIJESEKERA D,Wang Haining,et al.VoIP intrusion detection through interacting protocol state machines[C].International Conference on Dependable Systems and Networks(DSN’06),Philadelphia,PA,2006: 393-402.
[9] 施慧莉.VoIP網(wǎng)絡(luò)的系統(tǒng)結(jié)構(gòu)演進(jìn)[J].電子技術(shù)應(yīng)用,2008,34(1): 75-77,80.
[10] 楊智興.僵尸網(wǎng)絡(luò)如何躲避檢測機(jī)制的研究[J].微型機(jī)與應(yīng)用,2014,33(12): 64-65.
The development of model-based abnormal detection
Gong Mei
(College of Telecommunications and Information Engineering, Nanjing University of Posts and Telecommunications, Nanjing 210000, China)
Over the past few years,many technologies have been used to detect anomalies,misuse,cyber-attacks and other network security flaws.And now the model-based technique will be discussed.This view is not entirely new,and model-based technique has been applied to validate the standard models of communication protocols.Nevertheless ,in many circumstances,the network system will ignore standards and proposals.To solve this problems,it will be a useful solution to combine model-based technique with abnormal detection in communication protocol.When a signal,which is similar to network attacker,or malicious behavior is found,the further research will begin,and this method could obviously improve the success rate of defense.Firstly, we use the method principle of communication protocol as state-machine,and then inspect the application in the field of network security, lastly,put forward some core directions that experimental research should follow to obtain some significant achievements as far as possible.
communication protocol; model-based validation; abnormal detection; state-machine; cyber security
TP393
A
10.19358/j.issn.1674-7720.2017.21.003
宮美.基于模型的異常檢測的發(fā)展J.微型機(jī)與應(yīng)用,2017,36(21):8-10.
2017-04-14)
宮美(1993-),女,碩士,主要研究方向:衛(wèi)星通信技術(shù)。