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

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

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