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