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

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

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