摘要:通過對蠕蟲病毒的特性分析和利用Netflow技術,從宏觀的角度提出了一種在校園網絡環境下的宏觀網絡檢測防治策略。目前應用該策略取得了良好的效果。該策略對具有相似特性的其它病毒的檢測和防治亦有較好的作用。
關鍵詞:蠕蟲;病毒;系統漏洞;Netflow技術
0 引言
互聯網的出現和普遍應用已經極大地改變了人們的交流方式、生活方式及工作方式,然而,由于互聯網的共享性、開放性和交互性、也給人們帶來了層出不窮的安全問題。從1988年CERT/CC(計算機緊急響應小組協調中心)成立以來,統計到的Internet安全威脅事件每年以指數增長,近年來增長態勢變得的尤為迅猛。日益頻繁的網絡安全問題給國家、企業和個人造成了重大的經濟損失。據統計,世界各國每年由于網絡安全問題而遭受的經濟損失達數百億美元。
在各種安全事件中,惡意代碼(Malicious Code)造成的經濟損失占有最大的比例。惡意軟件主要包括計算機病毒(Virus),蠕蟲(Worm)、木馬程序(Trjan Horse)、后門程序(Backdoor)、邏輯炸彈(Logic Bomb)等等。其中Internet蠕蟲和木馬程序的比例最高,根據2006年第三季度的Internet安全威脅分析,排名前50例的惡意代碼中,蠕蟲占75%。由于蠕蟲在網絡中的擴散速度遠遠大于木馬,因此越來越多的木馬程序結合了蠕蟲進行傳播,使得蠕蟲病毒成為最為嚴重的網絡安全問題之一。
幾乎每次蠕蟲發作都會給人們帶來巨大的經濟損失:世界上第一個蠕蟲于1988年11月2日爆發,它是由美國CORNELL大學研究生莫里斯編寫的Morris蠕蟲,該蠕蟲在很短的時間內迅速在Internet上蔓延,導致6000多臺計算機停機,直接經濟損失達9600萬美元;2001年7月19日,CodeRed蠕蟲爆發,在爆發后的9小時內就攻擊了25萬臺計算機,造成的損失估計超過20億美元;隨后幾個月內產生了威力更強的幾個變種,其中CodeRedⅡ造成的損失估計超過12億美元;2001年9月18日,Nimda蠕蟲被發現,對Nimda造成的損失評估數據從5億美元一直攀升到26億美元。目前蠕蟲爆發的頻率越來越快,尤其是近兩年來,越來越多的蠕蟲不斷出現,造成的經濟損失越來越慘重。
蠕蟲造成的嚴重損失引起了人們的重視,如何有效地監測蠕蟲攻擊等信息安全的課題成為當前國內外研究和開發的熱點。
1 網絡蠕蟲的定義、功能結構及工作機制
1.1網絡蠕蟲的定義
網絡蠕蟲是指能夠獨立運行,并能通過尋找和攻擊遠方主機的漏洞進行自主傳播的惡意代碼。
1.2網絡蠕蟲的功能結構
網絡蠕蟲的功能模塊可以分為主體功能模塊和輔助功能模塊。實現了主體功能模塊的蠕蟲能夠完成復制傳播流程,而包含輔助功能模塊的蠕蟲程序則具有更強的生存能力和破壞能力。
1.2.1 主體功能模塊
主體功能模塊由4個模塊構成:
(1)信息搜集模塊:該模塊決定采用何種搜索算法對本地或者目標網絡進行信息搜集。
(2)掃描探測模塊:完成對特定主機的脆弱性檢測,決定采用何種攻擊滲透方式。
(3)攻擊滲透模塊:該模塊利用掃描探測模塊獲得的安全漏洞,建立傳播途徑。該模塊在攻擊方法上是開放的、可擴充的。
(4)自我推進模塊:該模塊可以采用各種形式生成各種形態的蠕蟲副本,在不同主機問完成蠕蟲副本傳遞。
1.2.2輔助功能模塊
輔助功能模塊是對除主體功能模塊以外的其他模塊的歸納或預測,主要由5個功能模塊構成。
(1)實體隱藏模塊:包括對蠕蟲各個實體組成部分的隱藏、變形、加密以及進程的隱藏,主要提高蠕蟲的生存能力。
(2)宿主破壞模塊:該模塊用于摧毀或破壞被感染主機,破壞網絡正常運行,在被感染主機上留下后門等。
(3)信息通信模塊:該模塊能使蠕蟲間、蠕蟲同黑客之間進行交流,這是未來蠕蟲發展的重點。
(4)遠程控制模塊:控制模塊的功能是調整蠕蟲行為,控制被感染主機,執行蠕蟲編寫者下達的指令。
(5)自動升級模塊:該模塊可以使蠕蟲編寫者隨時更新其他模塊的功能,從而實現不同的攻擊目的。
1.3網絡蠕蟲的工作機制
網絡蠕蟲的攻擊行為可以分為4個階段:信息收集、掃描探測、攻擊滲透和自我推進。信息收集主要完成對本地和目標節點主機的信息匯集;掃描探測主要完成對具體目標主機服務漏洞的檢測;攻擊滲透利用已發現的服務漏洞實施攻擊;自我推進完成對目標節點的感染。
1.4網絡蠕蟲傳播時具有的行為特征
(1)網絡上充斥著大量內容相同的數據包,甚至會嚴重影響網絡的正常流量。這是由蠕蟲傳播行為的單一性決定的。
(2)網絡被感染主機數量逐步增加,增加過和遵循一定規律。
(3)網絡上會存在大量目標地址不可達或連接請求被復位的數據包,這是由蠕蟲掃描時的隨機性決定的。
我校校園網絡由于用戶分布普遍比較集中,用戶量大,交換機的平均負荷量本就比較嚴重,受病毒感染后影響非常明顯,一旦網絡出現癱瘓,在短期內很難恢復正常。多年來我校校園網受到蠕蟲病毒的沖擊,整體網絡的性能受到較大的影響。2005年以來我校通過一種基于Netflow技術的宏觀檢測防治的方法,使病毒的擴散得到了有力控制,有效地降低了損害程度。
2 網絡“蠕蟲”病毒的宏觀檢測技術
判斷一臺計算機是否感染了“蠕蟲”病毒,可有多種方法,如利用殺毒軟件、或者通過netstart命令來檢查系統是否存在大量隨機出現的TCP SESSION等。但是這類判斷都是針對一臺計算機而言。“蠕蟲”病毒擴散迅速,短期內就可以造成大面積機器感染。而校網用戶對病毒的防范意識參差不齊,不少用戶并沒養成增打系統補丁的良好習慣,部分用戶對計算機知識了解較淺,導致我校大量機器受感染,維護人員難以對校內每一臺計算機進行檢查,來徹殺“蠕蟲”病毒。有效檢測整個校園網的病毒感染程度是校網主干交換機帶寬保證的必要前提。基于netflow功能的一種宏觀檢測法,為一些病毒的全網檢測提供了有效的解決方法。
由于“蠕蟲”病毒具有向大量計算機的某固定端口(以“沖擊波”病毒的135端口為例)發送漏洞檢測包的共性,并且常常還會向大量IP發送ICMP包,因此,我們試圖利用這一共性,來批量地檢測感染機群。而交換機的Nefflow功能為這一目的的實現提供了可能。
Netflow是Cisco公司在其IOS交換體系中引入的一種新的交換技術。Netflow服務可在最大限度減小對交換機性能影響的前提下為用戶提供詳細的數據流統計信息。統計信息包括協議,端口和服務類型等。它替代了原有基于PortMirror的端口檢測技術,使在不占用物理端口的前提下對流量數據進行分析成為可能。目前,許多公司的三層交換機產品都具備了Nefflow功能,如Entersys公司的SSR2000系列產品等。
Netflow功能在交換機上的實現可通過配置命令來完成。以SSR2000為例,在交換機配置模式下輸入以下命令即可:
9800
對于數據收集服務器而言,由于數據分析程序的運行需要有一定的性能保證,建議最低配置使用100M網卡,512M內存,2G的CPU,40G的硬盤存儲空間。系統可以安裝為Freebsd或Linux操作系統。數據收集服務端程序及數據分析程序可以從網址http://www.splintered.net/sw/flow-tools/docs/下載獲得。服務端程序啟動命令為:
flow-capture E5G V5 w/Date-collect-directory 0/0/9800
通過上述方式我們可以讓交換機向服務器發送UDP包,從而使服務器能夠收集到大量的流量信息以供程序判斷分析。收集到的數據在服務器端以二進制文件格式保存。Netflow分析程序可幫助我們獲取所關心的數據。獲取ICMP包的流量信息,可以通過命令flow-cat/Date-collect-directory/lflow-fllter rl Iflow-prim實現。獲取目的端口為135的數據包可以用flow-cat/Date-collect-directory/lflow-filter P135 Iflow-print命令獲得。數據格式如表1所示。
我們可將所獲取的數據保存在文本文件中,并且規定一個閾值,在一定時間段內,當同一個IP流出的ICMP或某目的端口如135的數據包累計數量超過這一閾值時,認為該計算機己被病毒感染。統計程序用簡單的awk命令結合有效的管道就可實現。如:

more filename lawk.'{print$1)'Isort|unlq c |sort n |awk
'(if($1>100)(print $2)}'
在這里我們將統計時間設定為一天,統計閾值為100,當一天內計算機發送可疑數據包數量累計超過100,我們即認為該計算機已經被感染。
3 蠕蟲病毒的宏觀防治
網絡病毒的防治一直是比較困難的。“蠕蟲”病毒由于具有利用系統漏洞,傳播速度快,覆蓋面積廣,占用帶寬等特點,很難在短期內徹底清除。常常會出現剛剛清除了一批,又有新的一批計算機被感染的現象。最好的防治措施是讓校內所有的計算機都打上補丁程序,以防止病毒的進一步擴散,再用殺毒程序予以清除。為此我們采取了三步走的策略方針:
(1)向校內發警告通知,提供補丁下載網站,并為因網絡癱瘓而無法下載補丁程序的用戶提供補丁光盤。
(2)向所有檢測到染毒的計算機發信使服務通知用戶增打補丁。此任務可以通過編寫含有net send IP\"message\"命令的批處理程序完成。但對于部分信使服務關閉的計算機而言,消息無法送達。
(3)設置強制下載模式。
由于我校用戶目前均使用Dr.com公司的動態nat機制出校訪問,具有統一的出口途徑,我們在用戶出口身份驗證之前先強行用戶登錄一用JSP編寫的頁面,強制用戶下載補丁和殺毒程序,并向用戶傳送一段Cooke代碼,以此判斷用戶對該殺毒程序是否已經下載,從而強制出校訪問的每臺計算機都打上系統補丁。
通過妒檢測、信使服務、強制下載掃毒工具等一系列措施,我校的校園網往往在數天之內就能基本控制病毒的擴散,保證了校園主干網的良好運行。
4 結束語
從“沖擊波”到“震蕩波”到“熊貓燒香”病毒,網絡型病毒正在嚴重威脅著英特網的正常使用,如何從宏觀的角度予以檢測和防治是目前網絡安全專家普遍關心的問題,本文提出的基于Netflow技術的網絡宏觀檢測法對蠕蟲病毒的防治取得了較顯著的作用,對類似的利用TCP或UDP連接攻擊系統漏洞的其他網絡型病毒而言,也能產生較為良好的效果。