




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于具體協(xié)議分析的多引擎網(wǎng)絡級惡意代碼檢測模型
1傳統(tǒng)的惡意代碼檢測技術根據(jù)gilder規(guī)則,網(wǎng)絡帶寬在每個六個月內(nèi)可以保持穩(wěn)定。與此同時,互聯(lián)網(wǎng)上傳播的惡意代碼也與日俱增,每日新增加的惡意代碼樣本都在上百個,截至2007年6月底,Kaspersky反病毒軟件的病毒特征庫已經(jīng)達到35萬余條(根據(jù)Kasperskyv07病毒庫2007年6月29日統(tǒng)計)。實踐證明,由于網(wǎng)絡帶寬的增長,單純采用傳統(tǒng)的網(wǎng)絡安全技術或傳統(tǒng)反病毒技術都無法對網(wǎng)絡惡意代碼的檢測提供有效支持。目前大型的骨干網(wǎng)惡意代碼檢測往往與IDS技術融合,一般采用分布式IDS技術進行部署。分布式IDS系統(tǒng)根據(jù)已定義的模式,對基本攻擊事件、特征事件(惡意代碼事件)、異常事件進行匹配檢測,并生成事件日志供分析決策。由于安全事件特征數(shù)量限制,IDS系統(tǒng)除了對基本攻擊事件、流量異常事件進行檢測外,只能對有限數(shù)量的特定的網(wǎng)絡惡意代碼進行檢測,因此基于分布式IDS技術的惡意代碼檢測系統(tǒng)無法對網(wǎng)絡上的惡意代碼疫情進行全面的分析和統(tǒng)計;而傳統(tǒng)的反病毒技術是文件級的檢測技術,骨干網(wǎng)上并發(fā)數(shù)據(jù)流每秒數(shù)以百萬計,因此以文件還原為前提的惡意代碼檢測技術將會導致巨大的計算存儲開銷。本文針對骨干網(wǎng)惡意代碼檢測所帶來的挑戰(zhàn)性問題,研究網(wǎng)絡級惡意代碼檢測模型,運用特征碼優(yōu)化的思想實現(xiàn)高性能的網(wǎng)絡級惡意代碼檢測引擎。2網(wǎng)絡級惡意代碼檢測模型2.1傳統(tǒng)網(wǎng)絡ids架構傳統(tǒng)IDS技術的本質是面向協(xié)議分析的,匹配速度一直是IDS技術需要解決的核心瓶頸問題。由于檢測算法的時間復雜度與特征串的條數(shù)呈正相關,為了獲取最短的檢測時間,只能最大程度的減少特征的條數(shù),所以IDS通過精細的協(xié)議解析,實現(xiàn)小規(guī)模的特征庫進行匹配,協(xié)議解析的越精細,每個特征庫配置的特征條數(shù)就越少,這樣匹配的時間就越短。當前大多數(shù)網(wǎng)絡IDS都是采用與Snort類似的架構,將數(shù)千條規(guī)則分配到40~60個小型特征庫中分別進行匹配。所以傳統(tǒng)IDS的檢測速度和檢測粒度取決于如下3個因素:協(xié)議解析的深度、特征匹配的速度和特征庫的質量。其中檢測速度與協(xié)議解析的深度呈反比,而與特征碼質量和特征匹配的速度成正比。圖1為傳統(tǒng)的網(wǎng)絡IDS模型。對于傳統(tǒng)的一般性攻擊行為這種方式是有效的,但對于骨干網(wǎng)絡的惡意代碼檢測,該架構明顯存在問題:惡意代碼為了保持傳播有效性,一般是通過多個協(xié)議進行傳播的,為了保證所有惡意代碼運用的協(xié)議都能被檢測到,就需要對所有可能的引擎配置相應的特征庫,導致同一惡意代碼需要若干個檢測規(guī)則來描述,使得特征庫出現(xiàn)大量冗余,進而引起檢測效率的下降。比如Backdoor.Win32.bo.a后門文件通過FTP、NETBIOS等協(xié)議進行傳播,按照IDS架構,數(shù)據(jù)經(jīng)過協(xié)議解析后要送到不同的檢測引擎進行匹配,因此針對FTP和NETBIOS協(xié)議需要分別給出其特征描述。其Snort風格的IDS規(guī)則如下所示:可以發(fā)現(xiàn),除傳輸協(xié)議描述的不同,上述兩條規(guī)則的檢測方式是一致的。與傳統(tǒng)的網(wǎng)絡攻擊相比,內(nèi)容屬性是惡意代碼的核心屬性,而協(xié)議特征已不能反映其本質特征。因此網(wǎng)絡級惡意代碼檢測技術的本質是面向內(nèi)容分析的,其檢測規(guī)則的核心是內(nèi)容特征,而不再是協(xié)議特征。2.2惡意代碼特征模型為描述網(wǎng)絡級惡意代碼檢測模型,做如下定義。定義1連續(xù)子序列。對于序列X={x1,x2,,xn},如果存在一個序列Y={y1,y2,,…,yk},并且滿足y1=xm+1,y2=xm+2,…,yk=xm+k,其中m≥0,m+k≤n。則序列Y={y1,y2,…,yk}稱為X的連續(xù)子序列。定義2惡意代碼特征。假設惡意代碼W是在網(wǎng)絡中傳播的一組數(shù)據(jù),可以用序列X={x1,x2,…,xn}來表示。如果X中存在一個連續(xù)子序列Y={y1,y2,…,yk},同時在其他的惡意代碼中,不存在該子序列,則稱子序列Y是該惡意代碼W的特征。在網(wǎng)絡數(shù)據(jù)流中尋找惡意代碼特征W的過程為網(wǎng)絡級惡意代碼檢測過程,檢測過程不需要進行協(xié)議解析,而是根據(jù)內(nèi)容匹配算法直接利用能惟一標識某惡意代碼的特征串進行匹配,模型如圖2所示。根據(jù)上面的模型,惡意代碼檢測系統(tǒng)捕獲網(wǎng)絡數(shù)據(jù)包,如果網(wǎng)絡數(shù)據(jù)是編碼傳輸?shù)?則對其進行解碼預處理,然后由內(nèi)容檢測引擎根據(jù)特征庫中的惡意代碼特征對網(wǎng)絡數(shù)據(jù)包進行內(nèi)容級掃描。在snort規(guī)則描述語言的基礎上,本文提出惡意代碼規(guī)則描述語言(AMML,anti-malcodemarkuplanguage),以形式化描述惡意代碼的特征:其中,Content域代表惡意代碼的特征。基于AMML,Backdoor.Win32.bo.a后門文件的特征可以用一條規(guī)則描述如下所示:3高性能惡意代碼檢測引擎3.1惡意代碼特征的定義矛盾由于多模匹配算法(WM,wu-manber)算法廣泛應用于入侵檢測、信息內(nèi)容過濾、生物信息計算的基因序列比對工作中,對于大模式集(特征集)的比對有著很高的效率,因此本文選取WM算法為基本算法,設計高性能的惡意代碼檢測引擎。目前研究高性能惡意代碼檢測引擎,大多是在特征碼具有隨機性的前提下,基于算法優(yōu)化進行設計的,性能提高有限[6~8],針對具有實時特性的網(wǎng)絡數(shù)據(jù),檢測能力還是滿足不了需求。定理1假定Y是惡意代碼W的特征,Z是W的連續(xù)子序列,而Y是Z的連續(xù)子序列,則Z也是W的特征。證明假定存在不同于W的惡意代碼W′,Z也是W′的子序列,由于Y是Z的子序列,則Y也是W’的子序列,這與惡意代碼特征的定義矛盾。因此W’不存在,Z也是W的特征。根據(jù)定理1,惡意代碼特征是可定制的,本文從特征碼優(yōu)化的角度,研究惡意代碼引擎的優(yōu)化方法。WM算法的核心實際上是維護了兩張表:Shift表和Hash表。在匹配過程中,主要是通過查找Shift表的操作來迅速跳過不需要匹配的特征記錄。當Shift值為0時,檢查Hash表判斷所有帶有這個后綴的模式是否和文本匹配。理論上,WM算法的時間復雜度在最好的情況能達到其中,B是塊字符的長度,n是待匹配的文本的長度,m是特征集中最短特征的長度。根據(jù)上式,WM算法的執(zhí)行時間與特征集中最短特征碼的長度成反比,與特征集的規(guī)模無關。但這種特性是不穩(wěn)定的,在實際測試中,當惡意代碼特征集超過5000條記錄之后,將會連續(xù)出現(xiàn)多個性能的反向躍升點。測試中選取不同規(guī)模的特征集對WM算法進行測試,所選取的塊字符大小B為2Byte。測試文本的字符集與特征集的字符集相同,并且字符集和特征集的內(nèi)容均為隨機選取。實驗結果如圖3所示。顯然,當特征集大到一定規(guī)模后,WM算法的匹配時間與特征集的大小是正相關的。之所以出現(xiàn)這種現(xiàn)象,其主要原因在于以下兩點。1不中性匹配的概率當文本子串與特征串具有相同的后綴時,會出現(xiàn)Shift值為0的情況,此時要進入Hash表進一步匹配。如果進入了Hash表,并且匹配不成功,那么這次匹配為一次不命中匹配。當特征集的大小不超過5000時,匹配時間并不隨著特征集中特征串個數(shù)的增加而單調(diào)增大,相反地在某幾個點上,特征串個數(shù)增加,匹配時間反而下降。這是因為WM算法執(zhí)行過程中,進行完全匹配的次數(shù)相對比較平穩(wěn),沒有出現(xiàn)太大的波動。匹配時間在趨勢上還是隨著特征集中特征串個數(shù)的增加而增大的,但是過程并不呈線性的變化,僅有的幾次不同點是因為特征集隨機生成的過程中,生成的某些特征串的后綴使得進入跳轉函數(shù)的機會增大了,因此才會出現(xiàn)反向的波動。但是當特征串的個數(shù)超過5000時,在圖3中可以很明顯的看出匹配時間隨著特征串個數(shù)的增加而大幅提高。這是因為當特征串個數(shù)超過5000時,使得特征串的后綴與文本的某個子串相同的幾率大幅提高,從而使得Shift[i]=0而進入Hash表進一步搜索的機會也相應增加。當出現(xiàn)Shift[i]=0的情況后,一旦出現(xiàn)不命中匹配,則向后移動一位。而如果Shift[i]≠0,那么跳轉函數(shù)中存儲的值大于等于1.由于特征碼是隨機生成的,因此在Shift[i]=0時出現(xiàn)不命中匹配的概率遠大于命中匹配的概率,也就是增加了在向后移動的時候只移動一位的概率,由此導致跳躍的總次數(shù)增加。跳躍總次數(shù)的增加引起WM算法性能的下降。2不同特征碼選擇的缺陷在Hash表中存放的是一個指針,它指向具有相同后綴的特征串的鏈表。針對特征集而言,由于用于檢測惡意代碼特征集的大小通常是數(shù)以萬計的,所以如果具有相同后綴的特征碼過多,則該后綴的鏈表在Hash表中的長度將過長,整體看Hash表各個入口對應的鏈表長度不平衡。一旦程序進入了這些長度特別長的鏈表,進行大量無效操作的機會將大大增加。綜上所述,基于WM算法的惡意代碼檢測引擎,若特征碼選取的不好,存在后綴為高頻字符,或某后綴對應鏈表超長,那么就會出現(xiàn)“不命中匹配”和“分支不平衡”的情況。因此將從優(yōu)化特征碼的角度找到一種能夠提高WM算法匹配效率的方法。3.2惡意代碼特征碼篩選為了解決WM算法檢測惡意代碼時由于發(fā)生頻繁不命中匹配和Hash鏈表分支不平衡的問題,就要回避經(jīng)常出現(xiàn)Shift值為0的情況,最佳的方法就是人為地盡可能避免Shift為0,由于惡意代碼的特征碼的可定制性,所以可以讓選定的惡意代碼特征碼的最后Bbit,主動回避掉網(wǎng)絡數(shù)據(jù)流中出現(xiàn)頻率最高的一些字符。對網(wǎng)絡中字符出現(xiàn)頻率進行統(tǒng)計。網(wǎng)絡數(shù)據(jù)流中大小為一字節(jié)的字符串出現(xiàn)的頻率統(tǒng)計結果如表1所示。統(tǒng)計結果顯示網(wǎng)絡數(shù)據(jù)流中,大小為1Byte的字符串出現(xiàn)頻率最高的前2個字符串(十六進制表示)分別是“0x00”、“0xFF”。根據(jù)統(tǒng)計的結果,特征碼優(yōu)化的思路如下:1網(wǎng)絡客流中出現(xiàn)的高頻字符由于在實際應用中,待匹配的文本是網(wǎng)絡中的數(shù)據(jù)流,因此就要努力避免選取出的惡意代碼特征的后綴是網(wǎng)絡數(shù)據(jù)流中出現(xiàn)的高頻字符串。前面統(tǒng)計得知,網(wǎng)絡數(shù)據(jù)流中出現(xiàn)最多的字符是0x00和0xFF,而這2個字符在網(wǎng)絡數(shù)據(jù)流中經(jīng)常作為填充字符出現(xiàn),如果以其作為特征后綴,則將會增大不命中匹配的概率。因此,當選取某個惡意代碼特征時,就要規(guī)避這類字符串作為特征的后綴。2特征鏈表長度的影響如果取塊字符B的大小為2個Byte,那么特征碼后2個Byte的范圍是0x0000-0xFFFF。在預處理過程中,生成的Shift表和Hash表的大小均為164=65536項。而在檢測系統(tǒng)的特征庫中,特征碼的數(shù)量遠遠超過10萬條,因此極有可能造成Hash表中某個單元存放的指針指向的具有相同后綴的特征鏈表長度過長。導致程序一旦進入了這些特別長的鏈表,進行大量不命中的無效匹配操作,嚴重導致匹配效率降低。所以在選取特征碼時候,盡可能地使其后綴的取值均衡分布。4實驗證實4.1系統(tǒng)啟動環(huán)境測試平臺:PC,CPU為IntelP42.4GHz,物理內(nèi)存為512MB,硬盤60GB。操作系統(tǒng):WindowsXPProfessionalsp2。編譯器環(huán)境:MicrosoftVisualC++6.0。在進行測試時,Windows除系統(tǒng)進程和測試程序外,不運行其他的應用程序。4.2生成特征集b為了驗證基于特征碼優(yōu)化的WM算法加速的實際效果,根據(jù)測試時的實際需求,在實驗中所選取的待匹配的文本為網(wǎng)絡中實際捕獲到的數(shù)據(jù)包,其大小為10MB,內(nèi)容用十六進制字符來表示,具體的字符集合為其大小|∑|=16。選取的塊字符B的大小為2Byte。取特征集的大小分別為1000,2000,…,10000。特征集中的特征串最小的長度為10Byte,最大為100Byte,特征串的長度隨機生成。分別使用內(nèi)容隨機產(chǎn)生并且避免后綴為“0x00”和”0xFF”的特征集和人為控制有50%后2個Byte為“0x00”和”0xFF”的特征集,考察匹配時間與特征集大小的關系。4.3特征集匹配效率測試實驗結果如圖4所示,可以看出,通過優(yōu)化特征碼可以有效地避免頻繁出現(xiàn)Shift[i]=0的情況,同時抑制了Hsah單元指向的鏈表過長的情況,從而大幅地降低了匹配時間,提高匹配效率,測試中用優(yōu)化后的特征集的匹配時間是優(yōu)化前消耗的匹配時間1/5,基本實現(xiàn)了模式串數(shù)量與匹配時間的非線性關系。5網(wǎng)絡級惡意代碼檢測模型本文通過對傳統(tǒng)分布式IDS系統(tǒng)結構的分析,提出用其進行網(wǎng)絡級惡意代碼檢測的缺陷——基于詳細協(xié)議分析對網(wǎng)絡數(shù)據(jù)進行分流后用多引擎、小規(guī)則集進行匹配的方式,性能無法滿足高速網(wǎng)絡大特征集惡意代碼檢測。針對GE級網(wǎng)絡數(shù)據(jù)的特點,提出惡意代碼規(guī)則描述語言,設計了網(wǎng)絡級惡意代碼檢測模型;通過對多模式匹配算法——WM算法檢測惡意代碼的性能進行分析,指出當特征集大于5000時,特征串的后綴與網(wǎng)絡數(shù)據(jù)的某個子串相同的幾率大幅提高,頻
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑行業(yè)安全生產(chǎn)合同
- 合同制員工福利待遇調(diào)整趨勢
- 代理區(qū)域銷售合同書
- 【課件】串聯(lián)電路與并聯(lián)電路+課件-高二上學期物理人教版(2019)必修第三冊
- 2025年度IT服務外包合同范本
- 云南省元馬中學重點中學2025年初三下學期第一次質量抽測數(shù)學試題含解析
- 供水供電合同
- 天津天獅學院《機械制圖上》2023-2024學年第二學期期末試卷
- 蘇州科技大學天平學院《幼兒歌曲彈唱》2023-2024學年第一學期期末試卷
- 浙江海洋大學《半導體制造與工藝》2023-2024學年第二學期期末試卷
- 山東省濟寧市鄒城市2024-2025學年高一下學期4月期中考試政治試題(含答案)
- 化工企業(yè)安全演練計劃
- 2025年03月國家糧食和物資儲備局直屬聯(lián)系單位(60名)筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年北師大版中考生物必背考點復習提綱
- 小學創(chuàng)建“五好”學校關工委實施方案
- 2022可調(diào)節(jié)負荷并網(wǎng)運行與控制技術規(guī)范+第4部分-數(shù)據(jù)模型與存儲
- DB15T 3516-2024野生動物救護站建設規(guī)范
- 2025-2030中國內(nèi)聯(lián)pH傳感器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 創(chuàng)傷現(xiàn)場急救課件
- 2025年云南德宏州宏康投資開發(fā)有限公司招聘筆試參考題庫含答案解析
- 勞動與烹飪課件
評論
0/150
提交評論