??? 摘? 要: 闡述并分析了反病毒技術及入侵檢測技術,比較二種方法的優劣,最后取長補短提出一種結合二種檢測手段的網絡安全系統。
關鍵詞: 黑客? 病毒? 特征掃描? 入侵檢測? 虛擬機? 病毒捕獲網
?
1?問題的提出
根據世界知名統計公司的數據顯示,在2003年前6個月中,計算機病毒的活躍程度高出同期17個百分點。早在DOS時代,由于操作系統簡單、容易分析,計算機病毒曾經風行一時。當Windows成為主流操作系統后的一段時期,因為微軟技術封鎖嚴密,從而使計算機病毒轉入低潮。隨著Crack技術的發展,病毒制造者深入分析并掌握了Windows下NE、PE文件格式和保護模式下的編程技術,隨后第一個Win32病毒出現,計算機病毒又進入了一個新的發展高潮。同時病毒制造者的設計角度發生了變化。他們不僅制造普通的病毒,而且尋找系統的設計漏洞,設計出具有更大破壞性、更強傳染性的病毒。例如CIH就是利用PE文件節表內由于節對齊造成的節內空隙來保持被感染文件大小不變,因此CIH具有很高的隱蔽性;同時CIH利用了Windows95系統中斷表可寫的漏洞,由Ring3進入Ring0,增強了破壞性。隨著網絡的發展,計算機病毒又把觸角伸向網絡這片廣闊的空間。從由于Windows系統雙擴展名機制致使以“愛蟲”病毒為典型代表的腳本病毒在網絡上的泛濫可以看到:病毒制造更加簡單了,傳播速度進一步提高了。2001年Nimda病毒爆發更是預示了計算機病毒發展的一個新趨勢。Nimda病毒正是利用“畸形郵件頭可以導致IE瀏覽器執行附件文件”這個網絡應用程序的設計漏洞實現了自己的傳播感染。可見計算機病毒技術已經出現了普通病毒技術與黑客技術相結合的趨勢。例如2003年前6個月位于感染率排名榜首的“怪物B”就是一個具有特洛伊性質、黑客性質的網絡蠕蟲病毒。它能記錄用戶的鍵盤操作、截獲用戶密碼、自啟動、殺掉已知的反病毒進程;可以對世界上1 200家知名銀行進行有目的的攻擊。再如近期風行的“沖擊波”更是變本加厲地結合了黑客技術。它采用多線程向目標主機發送緩沖區溢出代碼,當溢出成功后,開啟UDP端口提供TFTP服務下載病毒自身文件,集合所有已經感染該病毒的主機向微軟的補丁下載網站發起DDOS攻擊。“沖擊波”病毒利用的這些技術都是典型的黑客攻擊目標網絡的常見手段。
綜上所述,計算機病毒的發展已經進入一個新的階段。DOS下單純修改中斷向量表將代碼本身寫入執行文件或系統引導區的病毒已經消失。今天的計算機病毒已經黑客化、網絡化、蠕蟲化。因此可以將其重新分類為:傳統型病毒和黑客型病毒。傳統型病毒在Windows、Unix、Linux等系統中仍然存在,并且由于變形和多態病毒手段的進一步發展,該類病毒仍然具有很大的危害性和很強的生命力。黑客型病毒就是傳統病毒制造技術與黑客攻擊手段相結合而產生的計算機病毒。該類病毒又可以分為非感染型和感染型二類。非感染型是具有特洛伊性質的計算機木馬病毒,其危害性小于后者;感染型是利用系統或應用軟件設計中的漏洞來傳播其自身的病毒。例如“紅色代碼”、“Nimda”、“SQL蠕蟲王”、“沖擊波”等均屬于后者。面臨這種情形,反病毒技術和網絡安全技術處于一種被動的局面。反病毒技術查殺傳統型的病毒已經相當成熟。但是黑客型病毒出現后,各大反病毒公司都是及早地推出相應的專殺程序。這說明反病毒技術的病毒查殺引擎針對黑客型病毒查殺效果不好,查殺某個病毒必須依靠針對性很強的單獨程序。而網絡安全領域的檢測系統" title="入侵檢測系統">入侵檢測系統對于黑客型病毒更是束手無措。所以針對黑客型病毒,利用反病毒技術與反黑客技術相結合形成新的網絡安全防御體系是當務之需。
2?傳統反病毒技術及其存在的不足
2.1 比較法
比較法是將原始的或正常的情況與被檢測的情況進行比較。比較法包括長度比較法、內容比較法、內存比較法等。比較時可以靠打印的代碼清單(如DEBUG的反匯編命令輸出格式)進行比較,或用程序進行比較。這是傳統反病毒技術中最古老的方法。比較法效率低、誤警率高。例如長度和內容比較法,對于正常程序運行引起的文件長度或內容的改變,會作出虛假的報警。像CIH這種病毒,由于利用了PE文件節內的空隙,所以感染的文件大小不變。大小比較法自然對此類病毒查殺失效。目前多數反病毒引擎已經不采用這種手段。對于新型黑客型病毒,有些反病毒公司在沒有其他更好的方法時,只能依舊使用這種內容比較法。例如對于“新歡樂時光”病毒,某反病毒公司在推出的專殺工具中,用一個*.def文件封裝了該腳本病毒的源代碼。顯然要用文件比較法,這里仍然是采用了很蹩腳的內容比較法。
2.2 特征掃描法
掃描法是用每一種病毒體含有的特定字符串對被檢測的對象進行掃描。如果在被檢測對象內部發現了某一種特定字符串,則表明該對象中存在該字符串所代表的病毒。國外稱該種按搜索法工作的病毒掃描軟件為SCANNER。掃描法包括特征代碼掃描法、特征字掃描法。由于其誤警率低,系統實現簡潔,所以該類方法在當前反病毒界仍然是主流技術。對于新病毒的出現,反病毒工作者只能通過分析代碼,尋找最短小精悍的特征代碼完善特征代碼庫。因此該技術對于已知病毒的查殺率很高,對于未知病毒的防范卻是很低。病毒制造者不斷提高設計手段,寫出多態變形病毒,而多態變形病毒隨機地改變自己傳染、發作模塊,在代碼中寫入加密和變形的指令甚至添入垃圾指令來迷惑反病毒人員的分析,使得無法提取該類病毒固定的特征代碼。顯然特征掃描法現在受到病毒制造者的挑戰。
2.3 虛擬機技術
虛擬機技術是近年來反病毒前沿的新技術,主要用來分析未知病毒和查殺多態變形病毒。具體的思想是用程序代碼虛擬CPU、各個寄存器甚至是硬件端口,將采集到的病毒樣本放到該虛擬環境中執行,通過分析內存和寄存器以及端口的變化來了解程序的執行情況。當虛擬機技術加入病毒檢測引擎中時,由于該技術動態分析程序的變化,因此對于多態變形病毒和未知病毒的發現準確性很高。對于多態病毒,無論如何變化代碼和加密代碼,最終執行時總會露出真面目。但是該技術虛擬的CPU執行速度是真正CPU的1/10,所以在查殺效率上有待于提高。
2.4 啟發式掃描技術
啟發式掃描技術是在軟件系統規模趨于龐大,對常用的特征掃描法的掃描速度要求改進的情況下提出的更優化的特征掃描法。啟發式是指“自我發現的能力”或“運用某種方式或方法去判定事物的知識和技能”。從某種意義上講,啟發式掃描是基于專家系統的原理產生的。由于病毒程序和正常程序在執行行為上的不同,作為匯編級的代碼分析人員可以很容易地分辨出這類非正常的程序。例如對正常PE文件最后一個節不是執行代碼節,而病毒一般把自己添加到正常文件的最后一節,并把執行的入口跳到最后一節。啟發式掃描發現這些代碼異常之后再對文件進行特征代碼掃描,這樣會明顯地提高掃描效率。在Windows系統下PE文件程序入口點異常是該技術的一個關鍵判斷條件,而如今出現了EPO類型的模糊入口點病毒,它采用的技術主要是為了躲避啟發式掃描的查殺,因此對這種技術也提出了挑戰。
2.5 傳統反病毒方法面對黑客型病毒存在的不足
黑客型病毒不同于傳統病毒,其感染機制是利用操作系統軟件或常用應用軟件中的設計缺陷而設計的。所以反病毒軟件正常的警報系統是反映不出任何問題的。而黑客型病毒感染系統后卻可以反客為主,破壞駐留在內存中的反病毒程序的進程。“求職信”、YAHA”、Goner”、“物B”等都屬于這類病毒。黑客型病毒列出一個進程清單,隔一段時間對系統進程進行一次快照,刪除進程清單中的反病毒程序。例如“怪物B”可以殺掉106個進程,幾乎覆蓋了全世界所有優秀的殺毒軟件。可見黑客型病毒比傳統病毒更有危害性,由被動變為主動攻擊反病毒程序對系統的控制權。
黑客型病毒多是網絡蠕蟲類型,利用網絡和系統漏洞感染計算機,感染速度快且完全清除十分困難。傳統反病毒軟件多數運行在單機系統,對于這種網絡病毒往往在一定時期難以殺盡。所以傳統反病毒軟件在防御黑客型病毒時顯得身單力薄。同時由于黑客型病毒的橫行,系統失去反病毒軟件的保護,傳統病毒也會出來為虎作倀。這時進一步加大了網絡安全的壓力。
3?入侵檢測系統反病毒技術及其存在的不足
入侵檢測是繼“防火墻”、“信息加密”等傳統安全保護方法之后的新一代安全保障技術。它監視計算機系統或網絡中發生的事件,并對它們進行分析,以尋找危及機密性、完整性、可用性或繞過安全機制的入侵行為。入侵檢測系統(IDS)就是自動執行這種監視和分析過程的軟件或硬件產品。傳統的防火墻無法阻止、過濾來自內網的入侵行為,而據權威機構統計,60%的攻擊來自內網。同時也由于防火墻技術缺乏用戶交互操作的能力,所以出現了以主動防御為目的的入侵檢測系統。IDS對來自內網和外網的攻擊行為都能有很好的檢測。IDS常用的類型是:基于專家系統的濫用檢測系統(Misuse Detection System)和基于統計分析的非規則檢測系統(Anomaly Detection System)。非規則檢測系統是應用統計分析的方法,按一定的時間間隔采樣系統的參數,如進程占用資源的情況,會話的開始結束時間等。根據一定的統計模型(如平均偏差)檢測當前行為是否超過某一閾值,以判斷是否發生入侵事件。黑客等網絡病毒不同于一般的攻擊行為,在時間上有一定的潛伏期。當病毒進入網絡系統時各種系統的情況變化不大,所以該類IDS對黑客型病毒的防御先天不足。基于專家系統的IDS捕獲網絡中的數據包并根據專家規則庫進行模式匹配,理論上可以防御以郵件或TCP/IP數據包形式傳播的黑客型病毒,但是目前實際上防御能力極為有限。
4?針對黑客型病毒的新型網絡防御方案
根據對傳統反病毒技術的分析和對目前入侵檢測反病毒技術的分析,提出了一種新型的針對黑客型病毒的網絡防御體系方案。其體系結構示意圖如圖1所示。
?

?
4.1 病毒捕獲虛擬網
如圖1所示,在外網區域設置一個基于規則的入侵檢測系統IDS1,將集線器連接在與放火墻并行的位置,而在IDS1后面建立虛擬的捕獲網。捕獲網負責誘騙黑客型病毒進入其虛擬環境,IDS1負責分析記錄病毒的行為特性,并進一步完善IDS規則數據庫。位于外網的IDS1其主要任務就是分析已知黑客型病毒的變形體,提取其規則并及時更新規則庫,為內網的IDS2進行真正的檢測作好準備工作。
同時IDS1采用特征檢測法和統計分析法的有機結合,分析病毒捕獲網的資源使用異常來察覺未知病毒的攻擊和發作。當出現系統異常時,IDS1可以和防火墻聯動,及時封鎖進入內網的入侵病毒和黑客行為。
4.2 數據流與數據包二種檢測粒度的結合
位于內網的IDS2是整個安全防御體系中真正工作的入侵檢測系統。IDS2連接及時更新的規則數據庫,可以比簡單基于網絡的IDS更多、更準確地完成病毒檢測任務。但要查殺那些編寫完善的多態變形病毒仍然效果不好,所以將虛擬機技術應用到網絡檢測中形成網絡虛擬機。在IDS2中應用高效的網絡虛擬機技術,在分析網絡數據時,進行完整的數據重組、恢復,把網絡連接作為數據流分析,而不是一個個孤立的數據包。采用IP分片重組和TCP會話狀態維護技術,不但可以檢測利用IP分片的攻擊,還可以真實、完整地監測整個TCP會話過程,對TCP會話的各數據包進行關聯性分析,從而確保了檢測的準確性。虛擬機技術的應用體現了基于數據流和基于數據包檢測的結合。
對規則數據庫的規則進行粒度的細化,例如原來Snort規則對蠕蟲病毒的檢測是對附件文件名或主題的比較,檢測方法停留在內容級別。現在采用傳統病毒特征碼提取的技術把對病毒的檢測細化到源代碼級別。這樣檢測的準確性提高,誤警率降低。同時入侵檢測系統大大分擔了黑客型病毒給反病毒軟件帶來的壓力,也在各主機之前加了一道反黑客型病毒的安全屏障。
4.3 入侵檢測系統與反病毒系統聯動
如圖2所示,在內網區域內建立反病毒系統與入侵檢測系統聯動的體系結構。其核心機構是建立反病毒代理,實際上就是網絡版的反病毒軟件運行于一臺服務器中。反病毒代理可以與分布在各主機上的反病毒軟件通信。當IDS2發現異常時,如果自己檢測粒度太大無法完成檢測任務,則可通知反病毒代理,由其調動各主機中基于數據流的反病毒程序掃描系統。這樣基于數據流與基于數據包的檢測進一步現實化,在內網中形成了嚴密的防毒體系。
?

?
5? 總? 結
在分析近幾年來利用系統漏洞發起感染網絡的病毒基礎上,闡述了該類新興的具有黑客性質的計算機病毒執行行為與傳統病毒的不同之處。通過與傳統反病毒技術的比較,指出了現行反病毒技術在對付黑客型病毒方面的不足。另一方面分析了入侵檢測系統對黑客型病毒檢測的弱點。經過分析研究,將二種技術融合在一起,互相取長補短,提出一個融合二種檢測粒度的安全防御體系來應對新興的網絡病毒。網絡黑客病毒及它們的特點對信息安全提出了嚴峻的挑戰,技術上需要不斷地深入研究。
參考文獻
1?? 唐正軍.黑客入侵防護系統源代碼分析.北京:機械工業出版社,2003
2?? 楊濤譯.虛擬機的設計與實現——C/C++.北京:機械工業出版社,2003
3?? 張紀羅譯.Pentium處理器結構與程序設計.北京:電子工業出版社,1996
4?? Reed K D.Protocol Analysis.北京:電子工業出版社,2002
