丁志芳,徐孟春,費勤福,武東英
(信息工程大學(xué) 數(shù)學(xué)工程與先進(jìn)計算國家重點實驗室,河南 鄭州450002)
查找和識別惡意輸入、事件和輸出是入侵檢測系統(tǒng)的根本任務(wù)。構(gòu)建這樣的系統(tǒng)和對它們的屬性推理是入侵檢測研究的主要目標(biāo)。在這個領(lǐng)域中的一個關(guān)鍵問題是系統(tǒng)無法自動保護(hù)自身免受攻擊。為了能夠識別和發(fā)現(xiàn)現(xiàn)有的和新出現(xiàn)的攻擊,系統(tǒng)必須具有自動反應(yīng)機(jī)制。自我修復(fù)軟件技術(shù)的最新進(jìn)展為自動入侵響應(yīng)鋪平了道路。檢測技術(shù)的局限性在于必須在響應(yīng)之前發(fā)現(xiàn)入侵檢測的缺陷 (誤報和漏報,失效開放性,性能等),也就是說在響應(yīng)之前必須檢測到攻擊。此外,許多系統(tǒng)管理員不愿意讓自動防御系統(tǒng)擅自對計算環(huán)境做出改變,即便機(jī)器的反應(yīng)比人類快了不止一個數(shù)量級。
攻擊的不可預(yù)測性、檢測機(jī)制不精確性以及對自動響應(yīng)系統(tǒng)缺乏分析,導(dǎo)致人們對自動防御和自我修復(fù)系統(tǒng)的使用缺乏信心并且持懷疑態(tài)度。因此,自動生成的解決方案必須以自動化的方式進(jìn)行非常詳細(xì)、嚴(yán)謹(jǐn)和認(rèn)真的測試。ARV是入侵防御研究中值得進(jìn)一步探索的領(lǐng)域。本文研究的重點是,監(jiān)控以網(wǎng)絡(luò)為中心應(yīng)用的ARV系統(tǒng)所面臨的挑戰(zhàn)。以網(wǎng)絡(luò)為中心的應(yīng)用是普遍的攻擊目標(biāo),這是由于攻擊者可以匿名,并且很容易將輸入送到系統(tǒng)。網(wǎng)絡(luò)系統(tǒng)的復(fù)雜性大于其他系統(tǒng),更復(fù)雜的問題域有利于說明ARV系統(tǒng)可能面臨眾多的挑戰(zhàn)。
輸入和事件的分類是入侵檢測系統(tǒng)根本目的,ARV的前提是適當(dāng)?shù)貙ο到y(tǒng)輸入分類?;诰W(wǎng)絡(luò)的入侵檢測系統(tǒng)的主要任務(wù)是掃描網(wǎng)絡(luò)數(shù)據(jù)包和流量,尋找與內(nèi)容相匹配的特征或超出正常范圍內(nèi)流量模型[1]。ARV的目標(biāo)是進(jìn)一步對涉嫌惡意流量進(jìn)行分類,并將它們與故障和修復(fù)相關(guān)聯(lián),然后再如實地重放引發(fā)最初的攻擊或漏洞檢測儀器的相關(guān)流量。
ARV系統(tǒng)的第一個關(guān)鍵任務(wù)是跟蹤輸入,這些輸入可能是惡意的,并與自我修復(fù)設(shè)備所生成的事件關(guān)聯(lián)。為了對惡意輸入進(jìn)行分類,以網(wǎng)絡(luò)為中心的ARV系統(tǒng)可以利用各種網(wǎng)絡(luò)入侵檢測系統(tǒng) (network intrusion detection system,NIDS),根據(jù)實際系統(tǒng)的使用情況進(jìn)行分類。例如,誤用檢測系統(tǒng)依賴特征來檢測惡意流量,這種檢測無法識別新出現(xiàn)的攻擊。然而,ARV只能夠驗證修復(fù)這些已知的有明顯特征的攻擊。由于這樣的特征常常是手動創(chuàng)建的,ARV的分類能力對這類誤用檢測系統(tǒng)是徒勞的,除非特征是自動生成的,這就是多個系統(tǒng)[2-8]這樣做的目的。
為了生成一個特征,大多數(shù)系統(tǒng)檢查網(wǎng)絡(luò)流量或識別惡意輸入的主機(jī)內(nèi)容。也可以采取一種混合的方法,尋求主機(jī)對網(wǎng)絡(luò)流量數(shù)據(jù)的處理。
重傳流量的能力是一個以網(wǎng)絡(luò)為中心的ARV系統(tǒng)的第二個重要方面。TCPopera是廣泛適用于能夠快速,不停產(chǎn)生大量的真實的網(wǎng)絡(luò)數(shù)據(jù) (測試新的應(yīng)用,協(xié)議,網(wǎng)絡(luò)協(xié)議棧等)的情況,它是特別適合于ARV。事實上,測試入侵防御系統(tǒng) (intrusion prevention system,IPS)[9]是作為TCPopera一個有用的應(yīng)用。TCPopera的優(yōu)勢之一是該系統(tǒng)完全避免了在重傳過程中產(chǎn)生副作用的數(shù)據(jù)包,它如實地再現(xiàn)原流量。
重放網(wǎng)絡(luò)流量取決于流量產(chǎn)生的兩種主要方法首先,原始數(shù)據(jù)包流可以記錄和重放,但這種做法缺乏技巧,因為它把數(shù)據(jù)包作為一個黑匣子。因此,調(diào)整或修改參數(shù)以反映實際的測試條件是困難的。此外,它可能需要大量的存儲。第二種方法是基于上建立一個流量分析模型,然后生成符合這些特征的流量。雖然這種做法避免了大量的數(shù)據(jù)存儲成本,并提供了靈活配置,但是該模型的預(yù)測可能是不正確的。
如果一個系統(tǒng)集成或通過一個自我修復(fù)機(jī)制保護(hù),ARV是唯一有意義的。大多數(shù)的這些機(jī)制都遵循ROAR(Recognize識別,Orien t定位,Adapt適應(yīng),Respond響應(yīng))工作流程。ARV是 “響應(yīng)”階段的一個合乎邏輯的重要組成部分:驗證系統(tǒng)適應(yīng)性。
自我修復(fù)機(jī)制是活躍的研究課題。Rinard et al.等開發(fā)的編譯器插入代碼來處理訪問未分配的內(nèi)存,通過擴(kuò)大目標(biāo)緩沖區(qū) (在寫入的情況下),或者制造一個值 (在讀取的情況下)。這種技術(shù)是利用故障疏忽計算。
Viglante是需要包含Internet蠕蟲的系統(tǒng)。為此,Viglante提供了一個機(jī)制,及時發(fā)現(xiàn)已被利用的漏洞。此漏洞的具體做法的一個主要優(yōu)點是,Viglante與漏洞無關(guān),可以用來抵御多態(tài)蠕蟲。雖然Viglante并沒有解決自我修復(fù)利用的軟件,它定義了一個用于生產(chǎn)和驗證的自認(rèn)證警報 (SCA's),用于交換發(fā)現(xiàn)的弱點有關(guān)下列內(nèi)容的信息的數(shù)據(jù)結(jié)構(gòu)的架構(gòu)。Vigilante的工作原理是分析控制流路執(zhí)行注入的代碼。
最后,重要的是區(qū)分安全的自我修復(fù)系統(tǒng)和入侵防御系統(tǒng),作為ARV的目的是要使用與文獻(xiàn)中提到的系統(tǒng)形式結(jié)合。另一方面,IPS是當(dāng)今商業(yè)系統(tǒng)中,只有一個是原始形式的自我修復(fù)。自我修復(fù)軟件研究是一個系統(tǒng),可以自動識別以前看不到的攻擊,利用先前未知的安全漏洞,防止發(fā)生的任何損害或撤銷的惡意輸入,并改變自己,擊敗未知的情況或變種的攻擊,對所有的正常運行沒有任何不利影響。
輸入和事件的分類是入侵檢測系統(tǒng)根本目的,ARV的前提是適當(dāng)?shù)貙ο到y(tǒng)輸入分類?;诰W(wǎng)絡(luò)的入侵檢測系統(tǒng)的主要任務(wù)是掃描網(wǎng)絡(luò)數(shù)據(jù)包和流量,尋找與內(nèi)容相匹配的特征或超出正常范圍內(nèi)的流量模型[1]。ARV的目標(biāo)是進(jìn)一步對涉嫌惡意流量進(jìn)行分類,并將它們與故障和修復(fù)相關(guān)聯(lián),然后再如實地重放引發(fā)最初攻擊或漏洞檢測儀器的相關(guān)流量。
假設(shè)存在產(chǎn)生自我修復(fù)補丁或修復(fù)程序的系統(tǒng),ARV主要目標(biāo)是自動驗證系統(tǒng)的 “已修復(fù)的”新配置。為了自動采用此修復(fù)程序,ARV必須確保兩個方面。首先,修正必須能抵御引發(fā)自我修復(fù)過程的實際攻擊輸入。其次,該補丁不能干擾該系統(tǒng)的正常操作。
傳統(tǒng)的回歸測試可以解決第二個問題,但是第一個問題仍然沒有解決,主要是因為捕獲攻擊輸入很困難。雖然可以從IDS軟件的提示中搜索使用審計信息,但在解決這個問題時仍然面臨著很多挑戰(zhàn)。
系統(tǒng)無法維護(hù)無限期日志流量。即使存在這樣的日志,搜索也是一個漫長的過程,從而減緩了修復(fù)程序的自動部署。此外,識別某一特征的流量也有一定的難度。如果日志中只包含警報,使用警報中包含的信息往往不足以重建的報文攻擊流。
一個簡單的方法是重放整個流量日志,以確保重放攻擊數(shù)據(jù)包,但很可能沒有必要重放幾個月的流量,特別是如果攻擊包含在最近一個或兩個數(shù)據(jù)包中。重放整個流量日志可能意味著資源的過度利用,特別是繁忙的服務(wù)器。
無論使用哪種具體機(jī)制,該過程對于被攻擊的應(yīng)用程序都應(yīng)是盡可能透明的。然而,實現(xiàn)透明度的成本是相當(dāng)高的,需要整個鏡像網(wǎng)絡(luò)以提供一個測試平臺。
最后,重放必須在真實的原始數(shù)據(jù)流和當(dāng)前狀態(tài)之間平衡。盡管創(chuàng)建一個隔離的虛擬網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中重放應(yīng)用程序檢查點的流量可以解決這個問題,但是必須選擇保存或保留哪個狀態(tài)。
系統(tǒng)的3個主要任務(wù):
(1)有選擇地記錄網(wǎng)絡(luò)流量;
(2)在記錄流量中搜尋;
(3)重放適當(dāng)?shù)牧髁繙y試自動生成的修復(fù)程序。
記錄流量的方法有很多。一個簡單的方法是只記錄那些與已知的惡意內(nèi)容特征相匹配的流量 (如已知的蠕蟲特征)。另一種是用AD像PAYL[1]或Anagram標(biāo)記來自主機(jī)的正常流量模型的異常。也可以使用APE(abstract payload execution)[10]。 (相關(guān)的控制流圖建模)如tcpdump,TCPopera,TCPrecord,Roleplaying或Tcpflow實際記錄和/或重放流量時是有用的工具。一個更好的方法是同時標(biāo)記特定包破壞的變量或內(nèi)存位置。
自動化的響應(yīng)策略是難以實現(xiàn)的,因為在響應(yīng)錯誤或攻擊時往往不清楚程序應(yīng)該做什么。響應(yīng)系統(tǒng)被迫預(yù)測程序員的意圖,即使這一意圖沒有得到很好的表示甚至是格式混亂的。理想的計算系統(tǒng)無需人工干預(yù)就能從攻擊和錯誤中恢復(fù)。然而,現(xiàn)狀還遠(yuǎn)未成熟,大多數(shù)現(xiàn)有的響應(yīng)機(jī)制是外部保護(hù)系統(tǒng)。當(dāng)進(jìn)程被攻擊時,一些響應(yīng)機(jī)制會直接銷毀進(jìn)程,并不采取任何措施來修復(fù)錯誤,當(dāng)重新啟動系統(tǒng)時,系統(tǒng)仍然是脆弱的。其他系統(tǒng)可能會限制網(wǎng)絡(luò)連接或資源消耗。ARV的主要挑戰(zhàn)是提供一些證據(jù)表明,自動響應(yīng)至少可以防止觸發(fā)自我修復(fù)機(jī)制的輸入。
該系統(tǒng)面臨著兩種困難。首先是界線問題:在該系統(tǒng)開始工作之前惡意輸入可能已經(jīng)進(jìn)入被保護(hù)系統(tǒng)。此外,由于物理內(nèi)存的限制,該系統(tǒng)可能是無法保持所有惡意流量的記錄。第二個問題涉及到當(dāng)輸入觸發(fā)自我修復(fù)設(shè)備時,輸入的形式與最初進(jìn)入受保護(hù)系統(tǒng)的輸入之間的關(guān)聯(lián)。在最終發(fā)現(xiàn)惡意輸入之前,輸入可能已經(jīng)被受保護(hù)系統(tǒng)修改了很多次,有可能無法將輸入回朔到其原來的形式。ARV系統(tǒng)可能難以將惡意網(wǎng)絡(luò)流量與基于主機(jī)的特定事件關(guān)聯(lián)。
然而,基于主機(jī)和基于網(wǎng)絡(luò)的混合ARV系統(tǒng)比單獨考慮這兩種類型信息的系統(tǒng)要更好。許多基于主機(jī)的設(shè)備無法重建原始的輸入,因為它們要么捕獲不到攻擊輸入,要么輸入發(fā)生了不可逆的改變。混合ARV系統(tǒng)是在應(yīng)用程序使用之前就將輸入記錄下來。然而,這種能力也有不足,尤其是在加密流量的情況下。因此,采用一種混合的方法,將應(yīng)用程序作為一個灰盒。一個可行的解決方法是當(dāng)數(shù)據(jù)包引起系統(tǒng)改變時,用被改變的存儲器位置的地址字段和數(shù)據(jù)字段來標(biāo)記數(shù)據(jù)包。這種能力應(yīng)該標(biāo)準(zhǔn)化為應(yīng)用程序執(zhí)行的一個特征,作為操作系統(tǒng)的服務(wù)或者作為編譯器附加檢測儀。
系統(tǒng)的另一個潛在的不足是,它是面向特定攻擊的,因此其性能不如面向特定漏洞的系統(tǒng)如:Vigilante[11],Shield[12]或 (vulnerability-specific execution filters,VSEF)。這些系統(tǒng)在面對多態(tài)惡意軟件時表現(xiàn)很好,但面向特定攻擊的保護(hù)是無效的,因此,研究工作應(yīng)集中于開發(fā)面向特定漏洞的以及通用攻擊的防御機(jī)制。
該系統(tǒng)的主要目標(biāo)是識別特定攻擊的輸入,然而它的任務(wù)與通用攻擊防御系統(tǒng)的目標(biāo)并不沖突。相反,自我修復(fù)機(jī)制提供的保護(hù)是面向特定漏洞的,該系統(tǒng)可以確保這些系統(tǒng)的修復(fù)是正確的,并且至少保證可以防止惡意輸入。
把攻擊分為幾大類,使分析識別流量重放的技術(shù)更容易。分類使得我們能夠?qū)@些技術(shù)進(jìn)行比較。
最簡單的攻擊是整個攻擊包含在一個單一的TCP流中。這是當(dāng)今最常見的攻擊,典型的例子是Slammer或Blaster等蠕蟲病毒。攻擊者打開一個TCP連接,發(fā)送攻擊代碼,然后關(guān)閉連接。在測試過程中,必須重新執(zhí)行整個流程。
在稍微復(fù)雜的情景中,攻擊可能只是一個大的流量中一個子集。例如:一個SSH連接,攻擊者在運行幾個小時后運行一個漏洞。在測試過程中必須重放的子集僅是總流量中一個非常小的部分。在測試時,重放整個流量是可能的,但不得不將它單獨分成一類。例如,如果只有一部分是可疑的,它可能不期望存儲所有的持續(xù)很長時間的流量。
攻擊可能分散在多個TCP流中,每一個看起來都都是安全的。假設(shè)有一個攻擊,其中TCP流溢出緩沖區(qū),第二個流提供其余的攻擊。這種形式的攻擊可能分布在任意多的流量中,在測試過程中,必須重新執(zhí)行所有的這些流量。為了使這種攻擊更復(fù)雜,惡意流量可隨時間分布,每個數(shù)據(jù)流之間相隔數(shù)天或數(shù)周。
一個攻擊也可以包含在多個流的時序關(guān)系中,或單一流的數(shù)據(jù)包的時序關(guān)系中。這種形式的攻擊利用多線程的競爭情境,而重現(xiàn)這種競爭情境是非常困難的。至少,數(shù)據(jù)包或者流之間的時序關(guān)系,必須保留用于測試。這讓快速自動響應(yīng)變得困難,部署時間受制于攻擊者控制下的攻擊參數(shù)特性。
攻擊可能是多態(tài)的。即,用于產(chǎn)生攻擊代碼的算法可能使用了加密技術(shù)或其他啟發(fā)式算法,隨著時間的推移改變攻擊的形式。因此,搜索流中特定位模式不能識別這種形式的攻擊。
最后,攻擊可能取決于用戶行為。例如:攻擊者發(fā)送攻擊報文,之后有100個請求,最后一個觸發(fā)了這個攻擊。重放的流量必須包括攻擊數(shù)據(jù)包和所有100個請求。這類攻擊是難以識別的,因為系統(tǒng)在未經(jīng)訓(xùn)練的情況下,會認(rèn)為第100個包是非常可疑的,而真正的攻擊數(shù)據(jù)包不一定很明顯。最糟糕的是,不管特定的補丁是否有效,在測試中第100個包總是會觸發(fā)攻擊。
最糟糕的情況是,一個特定的攻擊可能上述攻擊類別的任何組合組成。也就是說,攻擊可能是多態(tài)的,分布在多個TCP數(shù)據(jù)流中,并取決于某種形式的用戶行為。
系統(tǒng)的最簡單的版本記錄所有網(wǎng)絡(luò)流量并按要求重放整個流量,這種做法顯然是不可行的。系統(tǒng)的資源是有限的,因此它只能存儲有限的流量。在一個與時間相關(guān)的應(yīng)用程序如自我修復(fù)軟件中,重放或搜索一個任意大的流量很可能是不可行的,在本節(jié)中,嘗試構(gòu)建基礎(chǔ)系統(tǒng)的擴(kuò)展和變型。
系統(tǒng)不能存儲所有數(shù)據(jù)流。另外,流量記錄的大小必須滿足,用于重放所有的流量的時間是合理的。在這里,考慮一些啟發(fā)式算法來選擇存儲流。
保存一個滑動窗口的最后n天流量。這種啟發(fā)式算法有一些很好的特性。首先,算法容易實現(xiàn),其次,調(diào)整記錄的大小來優(yōu)化存儲空間或重放時間是簡單的。最后,要測試一個針對記錄的補丁,只需重放所有存儲流量。這種啟發(fā)式算法的明顯不足是,在記錄中持續(xù)時間超過n天的攻擊它無法識別。
保存概率窗口。也就是說,不使用一個大小固定的窗口,而是。根據(jù)他們存儲時間長短隨機(jī)將流舍去。這里有幾個選項,一種是流存儲的時間越長,他們越可能被舍去。另一種是在每當(dāng)一個新流存入時,就隨機(jī)舍去一個已存儲的流。不考慮選擇的細(xì)節(jié),在此啟發(fā)式算法下,根據(jù)測試記錄中包含整個攻擊的概率,自我修復(fù)軟件只能對特定的修補程序有信心。
記錄通過基于特征的誤用檢測 (如Snort)識別的那些流。這種啟發(fā)式算法的優(yōu)點是簡單,但對新攻擊,自我修復(fù)系統(tǒng)可能不能很好地匹配修復(fù)。自我修復(fù)系統(tǒng)對以前從未出現(xiàn)過的攻擊可以修補,但是該攻擊必須包含已存在的特征。
記錄通過基于有效載荷的異常檢測系統(tǒng)識別的流,如PAYL[6]。跟前面的例子不一樣,這種啟發(fā)式算法允許檢測和存儲從未見過的可疑流量。這種啟發(fā)式算法的可行性完全取決于異常檢測系統(tǒng)的能力。如果異常檢測系統(tǒng)具有較低漏報率,然后整個攻擊包被記錄的可能性非常高。
最后一個啟發(fā)式算法,專注于減少測試的時間,而不是減少存儲空間,包含以下污點傳播。當(dāng)一個特定的程序段處理每個流時,它會修改 (或污染)各種數(shù)據(jù)結(jié)構(gòu)。如果每個流按照被污染的數(shù)據(jù)結(jié)構(gòu)進(jìn)行索引,那么在測試期間,只有那些污染了補丁中所涉及的數(shù)據(jù)結(jié)構(gòu)的流需要重放。
這些啟發(fā)式算法也可以結(jié)合起來,在檔案大小,重放時間和可信度之間進(jìn)行權(quán)衡。
實驗環(huán)境是在三臺機(jī)器上使用tcpdump來收集原始TCP流量,工作站fae、服務(wù)器sos17和一個蜜罐sos1。對于每一臺機(jī)器,收集了兩周內(nèi)所有流入和流出的流量。工作站fae是在Red Hat Linux機(jī)器下用來進(jìn)行日常文字處理,電子郵件、即時消息、瀏覽網(wǎng)頁和偶爾的大文件傳輸。sos17是Red Hat Linux機(jī)器,主要用于為Web和文件服務(wù)器,sos1是一個OpenBSD機(jī)器,設(shè)置為一個蜜罐,沒有運行的服務(wù)。
取每個數(shù)據(jù)集前1/3作為傳感器的訓(xùn)練集。
在圖1中,fae.0和fae.1是工作站上的訓(xùn)練和測試數(shù)據(jù),sos1.0和sos1.1是蜜罐的訓(xùn)練和測試數(shù)據(jù);sos17.0和SOS17.1服務(wù)器的訓(xùn)練和測試數(shù)據(jù)。圖中給出了每個數(shù)據(jù)集的粗略的輪廓。左列表示數(shù)據(jù)集的包數(shù),右列表示每一組中有多少TCP流量。例如,在fae第1個數(shù)據(jù)集,在收集期間,有幾個大型文件傳輸,所以包數(shù)量較高,但是TCP流量數(shù)低。相反,sos17.0數(shù)據(jù)集顯示一個 Web服務(wù)器,在每個新的TCP流只有很少的數(shù)據(jù)包,所以數(shù)據(jù)包和流量數(shù)是密切相關(guān)的。
圖1 訓(xùn)練和測試數(shù)據(jù)比較
對于每個數(shù)據(jù)集,我們進(jìn)行了幾個實驗,以探討怎么樣從基于特征的誤用檢測器和基于有效載荷的異常探測器減少數(shù)據(jù)集。對于前者,使用了Snort,一個流行的開源IDS,對于后者,用Anagram,一個基于有效載荷的異常檢測系統(tǒng)。
圖2顯示通過Snort過濾后數(shù)據(jù)集的減少情況。每個完整的tcpdump的文件通過的Snort處理后,只保留產(chǎn)生警報的TCP流。這些警報很大比例是ICMP目的地不可達(dá),這些警報是Linux機(jī)器上的防火墻機(jī)制的警示。進(jìn)一步過濾這些警報,給出最后可疑流量的工作集,在圖2中的左列代表來自每個數(shù)據(jù)集的原始數(shù)據(jù)包的數(shù)量;中間代表所有Snort警告的數(shù)據(jù)包。右列代表那些除了目的地不可達(dá),還包含其他警報的數(shù)據(jù)包。正如圖2所示,在所有的情況下,數(shù)據(jù)集的減少大于99.9%。
圖2 用Snort過濾后,數(shù)據(jù)集的減少情況
圖3 顯示出對于相同的數(shù)據(jù)集,用基于有效載荷的誤用檢測系統(tǒng)Anagram過濾的結(jié)果。Anagram需要訓(xùn)練周期,所以每個數(shù)據(jù)集的前1/3的用于訓(xùn)練數(shù)據(jù),而后2/3被用作測試過濾數(shù)據(jù)。在圖3中的曲線顯示Anagram可以減少65%-80%的數(shù)據(jù)集。
注意,Anagram顯然沒有Snort(99.9%比減少65%)有效,因為Anagram對所有可疑的數(shù)據(jù)包生成警報,Snort可以只生成匹配已知警報特征的數(shù)據(jù)包。
圖3 通過Anagram過濾后的3個數(shù)據(jù)集
本實驗的主要目的是驗證減少ARV系統(tǒng)需要存儲的通信量是否是可行的。ARV本質(zhì)上是一個搜索問題,可以通過索引流量減少搜索時間,但對所有可能的項索引是不可行的,還需要額外的存儲空間存儲索引項。執(zhí)行在線搜索,如果語言資料庫的規(guī)模減少,甚至可以加快索引語言資料庫。
根據(jù)描述的實驗裝置,使用簡單的數(shù)據(jù)包的分類方案(Snort和Anagram),取得了較好的成績時。圖2和圖3顯示所獲得的結(jié)果。特別是,對于大部分使用Snort轉(zhuǎn)存數(shù)據(jù)庫過濾Snort警報子集。能夠?qū)崿F(xiàn)減少大于99%的流量。結(jié)果仍然令人鼓舞。使用的Anagram過濾獲得約60%到85%的減少。對于過濾可能包含以前不知道的攻擊流量,使用基于特征的誤用檢測器不是最佳的。對于這樣的任務(wù)基于異常的檢測器比較好,對ARV系統(tǒng)Anagram將是有益的。
由于許多攻擊都是自動的,防御系統(tǒng)也必須有一定程度的自治能力。安全系統(tǒng)的最新進(jìn)展已經(jīng)導(dǎo)致自我修復(fù)軟件作為此問題的一個解決方法。然而,系統(tǒng)的所有者不愿意在響應(yīng)攻擊時,自動改變他們的環(huán)境和應(yīng)用程序。
測試自動生成修復(fù)是提升自我修復(fù)系統(tǒng)可信等級的關(guān)鍵部分。這個測試的一部分是驗證,自我修復(fù)機(jī)制產(chǎn)生的補丁或改變確實能夠防御原來的攻擊。
本文闡述了自動修復(fù)驗證 (ARV)的重要挑戰(zhàn),利用審計信息測試自我修復(fù)的恢復(fù)能力和性能。系統(tǒng)記錄可疑的網(wǎng)絡(luò)流量和并重放特定的漏洞相關(guān)的流量。該系統(tǒng)的設(shè)計過程,揭示了一些具有挑戰(zhàn)性的問題,研究社會需要解決的問題,以達(dá)到自動自我保護(hù)系統(tǒng)成為現(xiàn)實。
[1]Wang K,Stolfo S J.Anomalous payload-based network intrusion detection[C]//Proceedings of the 7th International Symposium on Recent Advances in Intrusion Detection,2004:203-222.
[2]Kim H A,Karp B.Autograph:Toward automated,distributed worm signature detection[R].Proceedings of the USENIX Security Conference,2004.
[3]Newsome J,Karp B,Song D.Polygraph:Automatically generating signatures for polymorphic worms[R].Proceedings of the IEEE Symposium on Security and Privacy,2005.
[4]Newsome J,Brumley D,Song D.Vulnerability-specific execution filtering for exploit prevention on commodity software[C]//Proceedings of the 13st Symposium on Network and Distributed System Security,2006.
[5]Liang Z,Sekar R.Fast and automated generation of attack signatures:A basis for building self-protecting servers[R].Proceedings of the 12th ACM Conference on Computer and Communications Security,2005.
[6]Xu J,Ning P,Kil C,et al.Automatic diagnosis and response to memory corruption vulnerabilities[C]//Proceedings of the 12th ACM Conference on Computer and Communications Security,2005.
[7]Locasto M E,Wang K,Keromytis A D,et al.FLIPS:Hybrid adaptive intrusion prevention[C]//Proceedings of the 8th International Symposium on Recent Advances in Intrusion Detection,2005:82-101.
[8]Hong S S,Wu S F.On interactive internet traffic replay[C]//Proceedings of the 8th International Symposium on Recent Advances in Intrusion Detection,2005:247-264.
[9]DING Zhifang,XU Mengchun,ZHAO Xin.Proactive intrusion prevention system[J].Application Research of Computers.2008 (25):364-365.
[10]Toth T,Kruegel C.Accurate buffer overflow detection via abstract payload execution[C]//Proceedings of the 5th International Symposium on Recent Advances in Intrusion Detection,2002:274-291.
[11]Costa M,Crowcroft J,Castro M,et al.Vigilante:End-to-end containment of internet worms[R].Proceedings of the Symposium on Systems and Operating Systems Principles,2005.
[12]Wang H J,Guo C,Simon D R,et al.Shield:Vulnerabilitydriven network filters for preventing known vulnerability exploits[R].ACM Sigcomm,2004.