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