網(wǎng)絡攻擊特征的提取技術分析
時間:2022-06-25 03:25:02
導語:網(wǎng)絡攻擊特征的提取技術分析一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
攻擊特征自動提取分為攻擊發(fā)現(xiàn)和提取特征兩個基本步驟。因此,與入侵檢測系統(tǒng)可以分為網(wǎng)絡IDS(NIDS)和主機IDS(HIDS)類似,根據(jù)發(fā)現(xiàn)攻擊的位置不同,攻擊特征自動提取也可以分為基于網(wǎng)絡和基于主機的兩大類,分別簡記為NSG(network-basedsignaturesgeneration)和HSG(host-basedsignaturesgeneration)。1)NSG主要是通過分析網(wǎng)絡上的可疑數(shù)據(jù)來提取字符型的特征。字符型的特征是指通過字符串(二進制串)的組成、分布或頻率來描述攻擊。NSG系統(tǒng)一般通過數(shù)據(jù)流分類器或Honeypot系統(tǒng)來發(fā)現(xiàn)網(wǎng)絡數(shù)據(jù)中可疑的攻擊行為,并獲得可能包括了攻擊樣本的可疑網(wǎng)絡數(shù)據(jù);然后將其分成兩個部分,一部分NSG系統(tǒng)[8~9]對這些可疑數(shù)據(jù)進行聚類,使得來自同一攻擊的數(shù)據(jù)聚為一類,再對每一類提取出攻擊特征,另一部分NSG系統(tǒng)則沒有聚類過程,而是直接分析混合了多個攻擊樣本的數(shù)據(jù),提取可以檢測多個攻擊的特征。最終NSG系統(tǒng)將提取出的攻擊特征轉(zhuǎn)化為檢測規(guī)則,應用于IDS系統(tǒng)的檢測。2)HSG主要是指檢測主機的異常并利用在主機上采集的信息來提取攻擊特征。根據(jù)獲得主機信息的多少,HSG又可以進一步分為白盒HSG方法、灰盒HSG方法和黑盒HSG方法三類。白盒HSG方法需要程序源代碼,通過監(jiān)視程序執(zhí)行發(fā)現(xiàn)攻擊行為的發(fā)生,進而對照源程序提取出攻擊特征;灰盒HSG方法不需要程序源代碼,但是必須密切地監(jiān)視程序的執(zhí)行情況,當發(fā)現(xiàn)攻擊后通過對進程上下文現(xiàn)場的分析提取攻擊特征;黑盒HSG方法最近才提出,它既不需要程序源代碼也不需要監(jiān)視程序的執(zhí)行,而是通過自己產(chǎn)生的“測試攻擊數(shù)據(jù)”對程序進行攻擊,如果攻擊成功,表明“測試數(shù)據(jù)”有效,并以該“測試數(shù)據(jù)”提取出攻擊的特征。
基于網(wǎng)絡的攻擊特征自動提取技術
下面介紹幾種NSG方法。基于最長公共子串方法早期的NSG系統(tǒng)[10~11]大多采用提取“最長公共子串”(LCS)的方法,即在可疑數(shù)據(jù)流中查找最長的公共子字符串。雖然基于后綴樹計算兩個序列的LCS可在線性時間內(nèi)完成[12],但是LCS方法僅僅提取單個最長的特征片段,并不足以準確描述攻擊。基于固定長度負載出現(xiàn)頻率方法Autograph[13]按照不同的方法將可疑數(shù)據(jù)流劃分為固定長度的分片,然后基于Rabinfingerprints算法[14]計算分片在所有可疑數(shù)據(jù)流中出現(xiàn)的頻繁度,最后將頻繁度高的分片輸出為攻擊特征。該方法存在的問題是難以選取固定長度的大小、計算開銷和存儲開銷大、沒有考慮攻擊變形情況。YongTang等人將可疑數(shù)據(jù)流中含有多個特征片段的固定長度部分定義為“關鍵區(qū)域”,并利用Expectation-Maximization(EM)[15]和GibbsSampling[16]這兩種迭代計算算法查找關鍵區(qū)域。但是“關鍵區(qū)域"長度選取困難、算法不能確保收斂限制了該方法的有效性。基于可變長度負載出現(xiàn)頻率基于可變長度負載出現(xiàn)頻率的方法是當前比較有效的特征提取方法,由Newsome等人在本世紀初Polygraph[17]的研究中首次提出??勺冮L度負載出現(xiàn)頻率是指長度大于1的在可疑數(shù)據(jù)流中頻繁出現(xiàn)的字符串,可變長度負載出現(xiàn)頻率長度不固定,每一個可變長度負載出現(xiàn)頻率可能對應于攻擊中的一個特征片段。因此,基于可變長度負載出現(xiàn)頻率的方法的核心是提取出數(shù)據(jù)流中頻繁度大于一定閥值的所有可變長度負載出現(xiàn)頻率,一般都采用遍歷前綴樹的算法[18~19]。以可變長度負載出現(xiàn)頻率為核心,Poly-graph輸出三類攻擊特征:1)可變長度負載出現(xiàn)頻率組成的集合,稱為ConjunctionSignature;2)可變長度負載出現(xiàn)頻率組成的序列,稱為Token-subsequenceSignature;3)可變長度負載出現(xiàn)頻率附加貝葉斯概率值,稱為BayesSigna-ture。Polygraph在設計時考慮了攻擊變形的情況,并且首次引入聚類過程,因此大大提高了提取特征的準確性?;谟邢逘顟B(tài)自動機Vinod等人提出的有限狀態(tài)自動機[20]首先對可疑數(shù)據(jù)流進行聚類,然后對每一類中的數(shù)據(jù)流應用sk-strings[21]算法生成一個有限狀態(tài)自動機,最后將有限狀態(tài)自動機轉(zhuǎn)化為攻擊特征。有限狀態(tài)自動機的主要創(chuàng)新是在特征提取過程中考慮了網(wǎng)絡協(xié)議的語義,因而可以在網(wǎng)絡層和會話層分別提取特征。然而因為需要協(xié)議的語義,所以有限狀態(tài)自動機只對特定的幾種協(xié)議有效,而通用性較差。
基于主機的特征自動提取技術
HSG的研究也是目前研究比較多的技術,經(jīng)過幾年的發(fā)展也取得了很好的進展,產(chǎn)生了一些重要的研究成果。下面針對三類方法分別進行介紹。白盒方法因為需要程序源代碼,適用性較差,所以基于白盒方法的HSG系統(tǒng)較少。一種典型的技術是指令集隨機化(ISR)技術[22],這種技術主要原理是可以將程序的二進制代碼隨機打亂,使得攻擊者實施緩沖區(qū)攻擊后極有可能導致程序崩潰并產(chǎn)生異常。指令集隨機化技術是一種新型的保護系統(tǒng)免遭任何類型注入碼攻擊的通用方法。對系統(tǒng)指令集經(jīng)過特殊的隨機處理,就可以在該系統(tǒng)上運行具有潛在漏洞的軟件。任何注入代碼攻擊成功利用的前提是攻擊者了解并熟悉被攻擊系統(tǒng)的語言,如果攻擊者對這種語言無法理解則很難進行攻擊,攻擊者在不知道隨機化算法密鑰的情況下,注入的指令是無法正確執(zhí)行的。FLIPS[23]是一個基于ISR技術構建的HSG系統(tǒng),當攻擊導致程序崩潰后,F(xiàn)LIPS對于此相關的網(wǎng)絡輸入數(shù)據(jù)用LCS算法提取出攻擊片段由于ISR技術要求具有程序的源代碼,所以FLIP是一種白盒方法。白盒方法需要了解源程序代碼,這在很多場是不可能的事情,因此需要一種不需要了解源程序代碼的方法,這種情況下黑盒方法面世。HACQIT[24]是最早的一個黑盒方法。當受保護程序發(fā)生意外崩潰后,通過將可疑的網(wǎng)絡請求重新發(fā)往該程序并判斷是否再次導致程序崩潰,HAC-QIT檢測出那些被稱為“bad-request”的請求。然而,HACQIT沒有進一步區(qū)分“bad-request”中哪些部分才是真正的攻擊特征。因為一個進程的虛擬地址空間范圍是有限的,緩沖區(qū)溢出攻擊成功后必然立刻執(zhí)行一個跳轉(zhuǎn)指令,而該跳轉(zhuǎn)指令的目標地址一定位于虛擬地址空間范圍內(nèi)。如果將該跳轉(zhuǎn)目標地址改變,將很可能造成攻擊的溢出失敗并導致程序崩潰。WANGX等基于這樣的思想提出了一個黑盒HSG系統(tǒng)PacketVaccine[25]:將可疑報文中那些類似跳轉(zhuǎn)目標地址(其值屬于虛擬地址空間范圍內(nèi))的字節(jié)進行隨機改變,構造出新報文,稱為“報文疫苗”(packvaccine),然后將“報文疫苗”輸入給受保護程序如果程序崩潰,則說明之前改變的字節(jié)就是攻擊溢出后的跳轉(zhuǎn)地址,可以作為攻擊特征。隨著現(xiàn)代技術的不斷推進,黑盒方面和白盒方法都只能應用于特征提取中的一些環(huán)節(jié),一種新興技術介于兩種技術之間,而且還可以得到很好的應用,因此,灰盒技術應運而生?;液蟹椒ㄊ侵竿ㄟ^緊密跟蹤程序的執(zhí)行從而發(fā)現(xiàn)攻擊并提取特征。因為灰盒方法并不需要程序的源代碼,所以適用于各種商業(yè)軟件。其分析的結(jié)果也比較準確,目前大多數(shù)HSG系統(tǒng)屬于這類方法?;液蟹椒ㄓ幸韵聨追N具體實現(xiàn)方式。1)基于動態(tài)數(shù)據(jù)流跟蹤TaintCheck[26]和Vigilante[27]都使用動態(tài)數(shù)據(jù)流跟蹤(taintanalysis)來檢測緩沖區(qū)溢出攻擊。其基本思想是:認為來自網(wǎng)絡上的數(shù)據(jù)是不可信的,因此跟蹤它們在內(nèi)存中的傳播(稱為“污染”)情況如果函數(shù)指針或返回地址等被“受污染”的數(shù)據(jù)所覆蓋,則說明發(fā)生了攻擊;此后,從該“受污染”的數(shù)據(jù)開始,反向查詢“污染”的傳播過程,直到定位到作為“污染源”的具體的網(wǎng)絡輸入。不同的是TaintCheck選取3byte,而Vigilante選取偏移量作為輸出特征。2)基于地址空間隨機化(ASR)技術[28~29]是將進程的一些地址(如跳轉(zhuǎn)地址、函數(shù)返回地址、指針變量地址等)隨機化,使得攻擊者難以知道溢出目標的準確位置。使用ASR技術后,攻擊者將難以對程序成功實施緩沖區(qū)溢出攻擊,而溢出失敗后會導致程序崩潰及產(chǎn)生異常。與ISR技術相比,ASR技術的優(yōu)點是不需要源代碼。
攻擊特征自動提取綜合技術
一種基于概率有效狀態(tài)自動機的攻擊特征自動提取技術,是根據(jù)概率有限狀態(tài)自動機學習算法PFSA(Probabi-listicFiniteStateAutomaton)對聚類形成的類簇歸納處理(ClusterGeneralization),轉(zhuǎn)化為可被有限狀態(tài)自動機所識別的正則語言,并提取特征。有限狀態(tài)自動機系統(tǒng)[30]包括數(shù)據(jù)提取組件(DataAbstractionComponent,DAC)和特征提取組件(SignatureGenerationComponent,SGC)兩個部分。數(shù)據(jù)提取組件通過一系列模塊對數(shù)據(jù)進行預處理和規(guī)范化,以適于聚類和特征提取,最終形成半結(jié)構化會話樹(SSTs)。DAC組件將SSTs編碼后形成的XML輸出到特征提取組件。SGC組件對規(guī)范化后的數(shù)據(jù)利用星聚類對連接和會話進行聚類,其中相似性度量采用余弦相似度方式,然后利用PFSA算法對聚類形成的類簇歸納處理,形成能被有限狀態(tài)自動機所識別的正則語言,即特征。的特征提取方法該方法是根據(jù)COPP算法對數(shù)據(jù)流進行動態(tài)切割,然后采用統(tǒng)計方法提取出攻擊特征。Autograph系統(tǒng)[31]的特征提取主要分為兩個過程。首先,使用COPP算法對通過啟發(fā)式方法找到的可疑數(shù)據(jù)流量進行數(shù)據(jù)分割,方法是先定義暫停標記,然后以滑動窗口的概念去比對,每次遇到暫停標記時就分割。其次,使用統(tǒng)計的方法找出出現(xiàn)最頻繁的數(shù)據(jù)包作為攻擊特征,計算分割完畢的各個數(shù)據(jù)包的出現(xiàn)次數(shù),如果一個數(shù)據(jù)包的出現(xiàn)次數(shù)超過一定門限值,則產(chǎn)生特征。該方法的數(shù)據(jù)流劃分是根據(jù)遞推比較模式串與正文子串的哈希函數(shù)值來進行攻擊特征提取。RabinFingerprints算法定義一個哈希函數(shù),并用該函數(shù)對模式串與正文子串進行預處理,然后以被比較的模式串與正文子串的哈希函數(shù)值相等為原則,依次進行比較。算法可以利用前一個哈希函數(shù)值遞推求出下一個哈希函數(shù)值,以降低字符串匹配算法的時間復雜度和空間復雜度。文獻[32]首次應用Rabinfingerprints算法于攻擊特征自動提取。該方法通過比較兩個主要的攻擊行為特征—由感染源得到的公共序列和目的地址,識別出新型攻擊,然后使用內(nèi)容過濾算法自動生成攻擊特征。該方法是通過尋找最長的公共子字符串來進行攻擊特征提取。LCS算法要解決的問題就是找到兩個字符串中的最大公共子串和最大公共子串所在的位置。文獻[33]提出一種基于兩序列LCS算法提取攻擊特征的方法,在重組來自入侵檢測系統(tǒng)的數(shù)據(jù)后,用LCS算法兩兩比對尋找最長的公共子字符串,以此來確認攻擊特征。基于Honeypot數(shù)據(jù)[34~39]的Honeycomb系統(tǒng),首先重組所有來自Honeypot的數(shù)據(jù),然后在這些數(shù)據(jù)中,采用LCS算法兩兩匹配,尋找最長的公共子字符串,從而找出攻擊特征。
存在問題及研究方向
現(xiàn)有攻擊特征自動提取技術在檢測未知攻擊,以及自動提取出特征方面,取得了一些研究成果,但也存在著一些不足:1)特征提取算法的時間復雜度高和空間開銷大。如文獻[41]使用Rabin算法需要對字符串做預處理,設正文子串長度m,模式串長度n,則算法的預處理時間在非理想情況下的時間復雜度為O(mn),空間開銷亦較大。又如Autograph[40]使用基于COPP算法的統(tǒng)計方法進行特征提取,程序運行需占用大量的系統(tǒng)資源。2)提取出的攻擊特征質(zhì)量較差,誤報率高。采用的算法本身有其缺點和不足:1)算法不穩(wěn)定,例如,由于哈希函數(shù)的適用范圍有限,導致有時會產(chǎn)生錯誤的匹配;2)算法過于簡單,如Honeycomb[42]因算法過于簡單,使得對于如NetBIOS協(xié)議中的短字符串類型攻擊提取出的攻擊特征往往包括大量不相關的字符序列,導致提取出的攻擊特征質(zhì)量較差,誤報率高。3)對于大量變形攻擊產(chǎn)生的特征不準確,漏報率高,只能對數(shù)量相當有限的攻擊類型進行特征自動提取。Ear-lybird[43]和基于COPP的Autograph[40]都沒有考慮協(xié)議的語義性,所以只能在有限的攻擊類型中進行特征提取。Autograph特征均為單一連續(xù)子字符串,攻擊者通過對其插入或刪除幾個字節(jié)即可逃避檢測。基于概率有效狀態(tài)自動機的攻擊特征自動提取技術,難以提取大量變形攻擊的特征。對于NSG方法而言,近年來的研究表明:只要攻擊樣本質(zhì)量高并能夠正確聚類,便可以提取出高質(zhì)量的特征。因此,當前NSG方法研究的關鍵在于:1)如何獲取高質(zhì)量的攻擊樣本?通過改進Honeypot系統(tǒng)以及增加噪音過濾機制是可行的方向之一。2)如何正確地聚類攻擊樣本?現(xiàn)有的聚類方法還存在準確性較低和抗惡意攻擊能力差等問題,新的聚類方法可以借鑒相關領域,如生物信息學的研究成果。3)能夠有效抵抗攻擊者惡意攻擊也是NSG系統(tǒng)設計時必須考慮的重要問題。HSG能快速準確地發(fā)現(xiàn)攻擊并定位攻擊發(fā)生區(qū)域,提取復合型特征(即除了字節(jié)特征還加入與進程上下文相關的信息)會具有更強的描述能力,誤報率一般也更低,但是,它們難以被已有的各類IDS所使用。因此,提取盡可能簡單準確的可以被現(xiàn)有IDS應用的字節(jié)型特征是HSG發(fā)展的方向。目前的HSG系統(tǒng)輸出的字節(jié)型的特征相比NSG系統(tǒng)還不夠準確,如何充分利用主機上采集的信息使得提取出的字節(jié)型特征更精確和更完整是未來的方向之一。另外,減少對平臺和環(huán)境的依賴及減少對系統(tǒng)性能的影響也是HSG系統(tǒng)需要著重改進的方面。由于將HSG系統(tǒng)部署于Honeypot上一般不存在性能問題,因此HSG技術與高交互型Honeypo系統(tǒng)相結(jié)合是未來一個有價值的研究方向。
蒲天銀饒正嬋秦拯本文作者:工作單位:銅仁學院計算機科學系
- 上一篇:淺析計算機的交換技術
- 下一篇:淺談物流技術在行業(yè)的運用