劉朝霞 王小花
1 南京信息工程大學(xué)網(wǎng)絡(luò)信息中心 江蘇 210044
2 南京信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院 江蘇 210044
近幾年興起的新一代網(wǎng)絡(luò)蠕蟲(chóng)更是融合了病毒、木馬、DDoS等各種攻擊手段,一旦爆發(fā)將迅速導(dǎo)致大規(guī)模的網(wǎng)絡(luò)阻塞甚至癱瘓,從而給社會(huì)帶來(lái)巨大的經(jīng)濟(jì)損失。截止到2001年7月,有超過(guò)359,000臺(tái)連到因特網(wǎng)上的計(jì)算機(jī)在14小時(shí)內(nèi)被CRv2蠕蟲(chóng)感染,所造成的經(jīng)濟(jì)損失將近26億美元。近年來(lái)的增長(zhǎng)態(tài)勢(shì)更是呈指數(shù)上升,其傳播速度之快,影響范圍之廣已大大超出了人工檢測(cè)能力的極限。擁有準(zhǔn)確高效的檢測(cè)技術(shù)就成了人們對(duì)抗網(wǎng)絡(luò)蠕蟲(chóng)的首要條件。
這個(gè)定義包含三層含義:一網(wǎng)絡(luò)蠕蟲(chóng)是一個(gè)程序,能獨(dú)立運(yùn)行。二是為了維護(hù)自身的生存,它會(huì)從內(nèi)部消耗主機(jī)的資源,并且它會(huì)自我復(fù)制到其它的機(jī)器上;三在網(wǎng)絡(luò)上進(jìn)行傳播,具有廣泛性;四是關(guān)注常見(jiàn)服務(wù),加快傳播;五是利用安全漏洞或策略缺陷進(jìn)行傳播。
這種檢測(cè)技術(shù)就是針對(duì)已知蠕蟲(chóng)的一種檢測(cè)方法,也可以稱之為是基于特征值匹配的檢測(cè)技術(shù)。它通過(guò)對(duì)蠕蟲(chóng)的研究提取出能充分識(shí)別該蠕蟲(chóng)的特征字符串,形成對(duì)該蠕蟲(chóng)的特征碼,然后加到相應(yīng)的特征庫(kù)中去進(jìn)行檢測(cè)。這個(gè)加入的特征庫(kù)可以是惡意代碼的部分內(nèi)容,也可以是蠕蟲(chóng)的傳播的網(wǎng)絡(luò)負(fù)載。這種系統(tǒng)在捕獲到網(wǎng)絡(luò)中的數(shù)據(jù)報(bào)后,對(duì)其進(jìn)行分析。去除掉協(xié)議字段等這些明顯不是蠕蟲(chóng)代碼的部分,然后將其與特征庫(kù)里面的碼進(jìn)行比較,以此來(lái)確定是否有蠕蟲(chóng)的進(jìn)攻。
這種檢測(cè)方法只能對(duì)于已經(jīng)檢測(cè)出的蠕蟲(chóng)作出應(yīng)付,采取補(bǔ)救措施。具有以下缺點(diǎn):(1)對(duì)于特征庫(kù)中沒(méi)有特征碼的蠕蟲(chóng),它是起不到任何檢測(cè)作用;(2)由于必須對(duì)網(wǎng)絡(luò)中進(jìn)出的海量數(shù)據(jù)報(bào)進(jìn)行過(guò)濾,這給系統(tǒng)帶來(lái)很大的壓力,造成網(wǎng)絡(luò)速度減慢,甚至造成網(wǎng)絡(luò)擁塞。
顧名思義,所謂蜜罐就是指網(wǎng)絡(luò)內(nèi)部構(gòu)造出的許多陷阱。通過(guò)這些陷阱來(lái)吸引攻擊者發(fā)起攻擊。它會(huì)詳細(xì)地記錄下任何的操作日記,還會(huì)對(duì)一些攻擊來(lái)做出一些反映,以此來(lái)吸引攻擊者進(jìn)一步的行動(dòng),從而獲得更多的行為記錄。這種記錄是為了讓研究者知道整個(gè)攻擊的詳細(xì)過(guò)程和數(shù)據(jù)文件,起到一個(gè)知此知彼的作用。它是研究黑客的重要手段。
這種技術(shù)又叫HoneyPot檢測(cè)技術(shù),HoneyPot為網(wǎng)絡(luò)管理者研究蠕蟲(chóng)的行為特征、追蹤蠕蟲(chóng)攻擊源、預(yù)測(cè)蠕蟲(chóng)的攻擊目標(biāo)等提供了大量有效的數(shù)據(jù),同時(shí)由于設(shè)置了陷阱,就可以轉(zhuǎn)移蠕蟲(chóng)的攻擊目標(biāo),保護(hù)敏感主機(jī)不受攻擊。
ICMP(Internet Control Message Protocol),又叫Internet消息控制協(xié)議。該協(xié)議是在網(wǎng)絡(luò)中比較常用的一種協(xié)議。它工作在網(wǎng)絡(luò)層,協(xié)議字段是通過(guò)放在IP報(bào)文的數(shù)據(jù)字段來(lái)進(jìn)行傳輸?shù)摹N覀冊(cè)诰W(wǎng)絡(luò)故障中最常用的Ping命令就是其的應(yīng)用。
ICMP協(xié)議中有一個(gè)報(bào)警訊息。指向目標(biāo)主機(jī)發(fā)出連接請(qǐng)求后,由于路由等種種問(wèn)題而導(dǎo)致無(wú)法連接,此時(shí)路由器生成的返回源主機(jī)的消息,利用這些消息來(lái)判斷是否有蠕蟲(chóng)的存在。蠕蟲(chóng)的傳播離不開(kāi)大量的向外發(fā)送掃描信息,通過(guò)分析這些信息就能判定某臺(tái)主機(jī)是否正在被蠕蟲(chóng)掃描,以及是否已經(jīng)感染上蠕蟲(chóng)。
在實(shí)際網(wǎng)絡(luò)中,大多數(shù)的蠕蟲(chóng)是通過(guò)TCP協(xié)議來(lái)進(jìn)行傳播的,要想建立TCP連接,就必須要由源主機(jī)發(fā)出連接請(qǐng)求SYN字段,然后再進(jìn)行一系列的確認(rèn)信息的發(fā)送。
網(wǎng)絡(luò)中感染蠕蟲(chóng)的主機(jī)為了向外擴(kuò)散,就會(huì)大量地向外發(fā)送 SYN信息,企圖與目的主機(jī)進(jìn)行連接。網(wǎng)絡(luò)中存在的這種 SYN信息就是我們要檢測(cè)的對(duì)象,當(dāng)我們發(fā)現(xiàn)某主機(jī)的 SYN信息超出正常的連接量時(shí),我們就可以將其列為可疑主機(jī)了。
這種檢測(cè)方法是用硬件來(lái)實(shí)現(xiàn)特征碼的匹配操作,屬于應(yīng)對(duì)已知蠕蟲(chóng)的檢測(cè)方法。
基于硬件的檢測(cè)系統(tǒng)一般由三個(gè)部分組成,分別是數(shù)據(jù)捕獲模塊、匹配數(shù)據(jù)庫(kù)和處理機(jī)。
數(shù)據(jù)捕獲模塊負(fù)責(zé)捕獲流經(jīng)網(wǎng)絡(luò)出入口的所有數(shù)據(jù)包,數(shù)據(jù)包根據(jù)匹配數(shù)據(jù)庫(kù)提供的特征串或規(guī)則表達(dá)式進(jìn)行掃描匹配,再把結(jié)果傳遞給處理機(jī)。
匹配數(shù)據(jù)庫(kù)負(fù)責(zé)從后臺(tái)的數(shù)據(jù)庫(kù)中讀取已經(jīng)存在的蠕蟲(chóng)特征,編譯綜合成數(shù)據(jù)捕獲模塊設(shè)備可以利用的特征串或規(guī)則表達(dá)式。
處理機(jī)根據(jù)匹配結(jié)果決定數(shù)據(jù)捕獲模塊采取何種操作。
網(wǎng)絡(luò)蠕蟲(chóng)大規(guī)模入侵時(shí),系統(tǒng)管理員首先把該蠕蟲(chóng)的特征添加到匹配數(shù)據(jù)庫(kù)的特征數(shù)據(jù)庫(kù)中,數(shù)據(jù)捕獲模塊掃描到相應(yīng)特征才會(huì)請(qǐng)求處理機(jī)做出允許或是阻斷等響應(yīng)。
該系統(tǒng)與普通的軟件匹配特征值相比,在速度上占很大的優(yōu)勢(shì)。但是在系統(tǒng)的基本策略和基于特征值方面,還是存在一定的誤警率,不能及時(shí)檢測(cè)和防御未知蠕蟲(chóng),只能作些事后補(bǔ)救工作。
以上是五種常見(jiàn)的網(wǎng)絡(luò)蠕蟲(chóng)檢測(cè)方法,各自都有其優(yōu)缺點(diǎn)。積極的做法是能做到提前防治,下面就對(duì)網(wǎng)絡(luò)蠕蟲(chóng)的防治策略進(jìn)行具體分析。
蠕蟲(chóng)傳播的主要原因是系統(tǒng)中存在漏洞。由于漏洞存在的必然性,蠕蟲(chóng)也會(huì)長(zhǎng)期存在。某個(gè)特定漏洞一般只存在于特定版本的系統(tǒng)或特定版本的服務(wù)程序,利用單一或少量漏洞進(jìn)行傳播的蠕蟲(chóng)必然會(huì)隨著系統(tǒng)的升級(jí)、服務(wù)程序的升級(jí)而徹底消失。
根據(jù)蠕蟲(chóng)影響范圍、破壞程度和傳播速度,對(duì)漏洞進(jìn)行等級(jí)評(píng)估,特別對(duì)能獲得遠(yuǎn)程系統(tǒng)管理權(quán)限的高危漏洞進(jìn)行修補(bǔ)。目前存在漏洞軟件的相應(yīng)補(bǔ)丁程序主要由漏洞軟件廠商負(fù)責(zé)提供。當(dāng)購(gòu)買(mǎi)軟件時(shí),應(yīng)該保證所購(gòu)買(mǎi)軟件有效及時(shí)的漏洞通知方式,以及有效及時(shí)的補(bǔ)丁程序獲得方式。通過(guò)修補(bǔ)漏洞,從而阻斷蠕蟲(chóng)傳播鏈。
通過(guò)分析特定蠕蟲(chóng)的行為,可以有針對(duì)性地采用一定的預(yù)防措施來(lái)改變?nèi)湎x(chóng)程序的運(yùn)行(工作)流程,從而達(dá)到保護(hù)自身的效果。Morris蠕蟲(chóng)會(huì)判斷某個(gè)特定文件是否存在來(lái)決定是否繼續(xù)感染動(dòng)作以及連接本機(jī)預(yù)設(shè)端口來(lái)判斷當(dāng)前主機(jī)是否已被感染。CodeRedⅡ蠕蟲(chóng)會(huì)在內(nèi)存中查找“CodeRedⅡ”字符串來(lái)判斷當(dāng)前主機(jī)是否已被感染等等。
通過(guò)重命名或刪除命令解釋器,達(dá)到破壞其運(yùn)行環(huán)境。在蠕蟲(chóng)的實(shí)體組成中,腳本占有很大的比重。腳本的運(yùn)行,需要命令解釋器的支持,如 Unix系統(tǒng)下的 shell,Windows系統(tǒng)下的$systemroot $System32 Wscript.exe,command.exe等等。當(dāng)某個(gè)系統(tǒng)中不存在通用名稱的命令解釋器時(shí),蠕蟲(chóng)的腳本將不能正常執(zhí)行。這個(gè)思路可以拓展到系統(tǒng)中的其它常用應(yīng)用程序的處理,例如刪除 tftp.exe程序,則可以防止Nimda蠕蟲(chóng)的感染;刪除cmd.exe程序,則被CodeRedⅡ蠕蟲(chóng)感染后不會(huì)留下后門(mén)等等。
防火墻的主要作用是根據(jù)預(yù)先定義的規(guī)則保證訪問(wèn)網(wǎng)絡(luò)的安全。配置網(wǎng)絡(luò)或單機(jī)防火墻軟件,禁止除服務(wù)器外的其它端口,這將切斷蠕蟲(chóng)的傳輸通道和通信通道,過(guò)濾含有某個(gè)蠕蟲(chóng)特征的報(bào)文,屏蔽已被感染主機(jī)對(duì)保護(hù)網(wǎng)絡(luò)的訪問(wèn)等等。
目前還有種流行抑制蠕蟲(chóng)傳播的方法就是通過(guò)路由來(lái)控制。在路由節(jié)點(diǎn)屏蔽和過(guò)濾含有某個(gè)蠕蟲(chóng)特征的報(bào)文,當(dāng)采用的路由策略是基于蠕蟲(chóng)行為特征的封堵時(shí),蠕蟲(chóng)行為得到封堵。不過(guò)因其行為同一般應(yīng)用的相似,不可避免地導(dǎo)致正常應(yīng)用也被封堵。
黑洞技術(shù)是一種非常有效的蠕蟲(chóng)檢測(cè)技術(shù),利用一些不常用的IP地址來(lái)跟蹤蠕蟲(chóng)的探測(cè)活動(dòng)。
網(wǎng)絡(luò)黑洞是指網(wǎng)絡(luò)中未分配的IP地址空間。根據(jù)這一情況,可以通過(guò)對(duì)與網(wǎng)絡(luò)黑洞相關(guān)的數(shù)據(jù)包的監(jiān)控來(lái)實(shí)現(xiàn)對(duì)惡意行為的檢測(cè),通過(guò)對(duì)所監(jiān)測(cè)到的數(shù)據(jù)進(jìn)行分析,就可以及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)中出現(xiàn)的蠕蟲(chóng)攻擊行為。
網(wǎng)絡(luò)黑洞檢測(cè)技術(shù)的優(yōu)點(diǎn)是對(duì)所有掃描全網(wǎng)的蠕蟲(chóng)都適用,包括已知蠕蟲(chóng)和未知蠕蟲(chóng)。
通過(guò)上述分析,結(jié)合蠕蟲(chóng)自身的特點(diǎn),我對(duì)檢測(cè)防治工作提出了以下建議:
(1) 加強(qiáng)監(jiān)控點(diǎn)設(shè)立,實(shí)施全面布線。一掃描出蠕蟲(chóng)爆發(fā),盡早提出預(yù)警,抑制蠕蟲(chóng)的快速傳播。
(2) 利用局部網(wǎng)絡(luò)來(lái)檢測(cè)蠕蟲(chóng)。通過(guò)網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)換成網(wǎng)絡(luò)連接并構(gòu)成網(wǎng)絡(luò)活動(dòng)圖,然后分析該動(dòng)態(tài),判斷是出現(xiàn)了蠕蟲(chóng),立即對(duì)感染的主機(jī)進(jìn)行隔離,保護(hù)自身網(wǎng)絡(luò)的安全。
(3) 利用蠕蟲(chóng)內(nèi)容的相似性來(lái)自動(dòng)提取蠕蟲(chóng)特征。目前許多蠕蟲(chóng)表現(xiàn)出內(nèi)容相似的特點(diǎn),當(dāng)蠕蟲(chóng)爆發(fā)時(shí),根據(jù)計(jì)算蠕蟲(chóng)活動(dòng)的變化率來(lái)決定一個(gè)串是否流行,從而檢測(cè)出蠕蟲(chóng)的活動(dòng)情況。
(4) 對(duì)現(xiàn)有骨干路由器進(jìn)行修改,過(guò)濾大量可疑的蠕蟲(chóng)數(shù)據(jù),從而阻止蠕蟲(chóng)對(duì)網(wǎng)絡(luò)資源的消耗。
總之,網(wǎng)絡(luò)蠕蟲(chóng)的檢測(cè)與防御工作研究是一個(gè)長(zhǎng)期的過(guò)程,是全球性研究的重點(diǎn)課題。我們既要掌握當(dāng)前網(wǎng)絡(luò)蠕蟲(chóng)的實(shí)現(xiàn)機(jī)制,又要加強(qiáng)對(duì)未來(lái)網(wǎng)絡(luò)蠕蟲(chóng)發(fā)展趨勢(shì)的研究,真正做到防患于未然。
[1]鄭輝.Internet蠕蟲(chóng)研究.天津:南開(kāi)大學(xué)信息技術(shù)科學(xué)學(xué)院.2003.
[2]張殿旭,彭軍,何虹.Internet蠕蟲(chóng)傳播模型研究.電腦知識(shí)與技術(shù).2007.
[3]彭軍,張殿旭.網(wǎng)絡(luò)蠕蟲(chóng)的檢測(cè)機(jī)制研究.網(wǎng)絡(luò)通訊與安全.2007.
[4]文偉平,卿斯?jié)h,蔣建春,王業(yè)君.網(wǎng)絡(luò)蠕蟲(chóng)的研究與進(jìn)展. 軟件學(xué)報(bào).2004.
[5]左曉棟,戴英俠.“獅子”蠕蟲(chóng)分析及相關(guān)討論.計(jì)算機(jī)工程.2002.
[6]CohenF.電腦病毒.理論與技術(shù).電腦與安全.1987.
[7]鄭輝.Internet蠕蟲(chóng)研究論文[博士學(xué)位論文].天津:南開(kāi)大學(xué)信息技術(shù)科學(xué)學(xué)院.2003.
[8]鄭輝,李冠一,涂奉生.蠕蟲(chóng)的行為特征描述和工作原理分析.第三屆中國(guó)信息與安全通信學(xué)術(shù)會(huì)議 CCICS.2003.