駭客知識系列之解析並防範蠕蟲病毒 (1)
作者:hackmaster 來源:賽迪網安全社區 發佈時間:2006.11.16
http://big5.ccidnet.com:89/gate/big5/security.c...0061115/950415_1.html凡能夠引起電腦故障,破壞電腦數據的程式統稱為電腦病毒。所以從這個意義上說,蠕蟲也是一種病毒!網路蠕蟲病毒,作為對互聯網危害嚴重的 一種電腦程式,其破壞力和傳染性不容忽視。與傳統的病毒不同,蠕蟲病毒以電腦為載體,以網路為攻擊對象!本文中將蠕蟲病毒分為針對企業網路和個人用戶2類,並從企業用戶和個人用戶兩個方面探討蠕蟲病毒的特徵和一些防範措施!
本文根據蠕蟲病毒的發作機制,將其分為利用系統級別漏洞(主動傳播)和利用社會工程學(欺騙傳播)兩種,並從用戶角度中將蠕蟲病毒分為針對企業網路和個人用戶2類,從企業用戶和個人用戶兩個方面探討蠕蟲病毒的特徵和一些防範措施!
一、蠕蟲病毒的定義
1.蠕蟲病毒的定義
電腦病毒自出現之日起,就成為電腦的一個巨大威脅,而當網路迅速發展的時候,蠕蟲病毒引起的危害開始顯現!從廣義上定義,凡能夠引起電腦故障,破壞電腦數據的程式統稱為電腦病毒。所以從這個意義上說,蠕蟲也是一種病毒!但是蠕蟲病毒和一般的病毒有著很大的區別。對於蠕蟲,現在還沒有一個成套的理論體系,一般認為,蠕蟲是一種通過網路傳播的惡性病毒,它具有病毒的一些共性,如傳播性,隱蔽性,破壞性等等,同時具有自己的一些特徵,如不利用文件寄生(有的只存在於記憶體中),對網路造成拒絕服務,以及和駭客技術相結合等等!在產生的破壞性上,蠕蟲病毒也不是普通病毒所能比擬的,網路的發展使得蠕蟲可以在短短的時間內蔓延整個網路,造成網路癱瘓!
根據使用者情況可將蠕蟲病毒分為2類,一種是面向企業用戶和局域網而言,這種病毒利用系統漏洞,主動進行攻擊,可以對整個互聯網可造成癱瘓性的後果!以“紅色代碼”,“尼姆達”,以及最新的“sql蠕蟲王”為代表。另外一種是針對個人用戶的,通過網路(主要是電子郵件,惡意網頁形式)迅速傳播的蠕蟲病毒,以愛蟲病毒,求職信病毒為例.在這兩類中,第一類具有很大的主動攻擊性,而且爆發也有一定的突然性,但相對來說,查殺這種病毒並不是很難。第二種病毒的傳播方式比較複雜和多樣,少數利用了微軟的應用程式的漏洞,更多的是利用社會工程學()對用戶進行欺騙和誘使,這樣的病毒造成的損失是非常大的,同時也是很難根除的,比如求職信病毒,在2001年就已經被各大殺毒廠商發現,但直到2002年底依然排在病毒危害排行榜的首位就是證明!出得在接下來的內容中,將分別分析這兩種病毒的一些特徵及防範措施!
2.蠕蟲病毒與一般病毒的異同
蠕蟲也是一種病毒,因此具有病毒的共同特徵。一般的病毒是需要的寄生的,它可以通過自己指令的執行,將自己的指令代碼寫到其他程式的體內,而被感染的文件就被稱為”宿主”,例如,windows下可執行文件的格式為pe格式(Portable Executable),當需要感染pe文件時,在宿主程式中,建立一個新節,將病毒代碼寫到新節中,修改的程式入口點等,這樣,宿主程式執行的時候,就可以先執行病毒程式,病毒程式運行完之後,在把控制權交給宿主原來的程式指令。可見,病毒主要是感染文件,當然也還有像DIRII這種鏈結型病毒,還有引導區病毒。引導區病毒他是感染磁片的引導區,如果是軟碟被感染,這張軟碟用在其他機器上後,同樣也會感染其他機器,所以傳播方式也是用軟碟等方式。
蠕蟲一般不採取利用pe格式插入文件的方法,而是複製自身在互聯網環境下進行傳播,病毒的傳染能力主要是針對電腦內的文件系統而言,而蠕蟲病毒的傳染目標是互聯網內的所有電腦.局域網條件下的共用文件夾,電子郵件email,網路中的惡意網頁,大量存在著漏洞的伺服器等都成為蠕蟲傳播的良好途徑。網路的發展也使得蠕蟲病毒可以在幾個小時內蔓延全球!而且蠕蟲的主動攻擊性和突然爆發性將使得人們手足無策!
普通病毒 蠕蟲病毒
存在形式 寄存文件 獨立程式
傳染機制 宿主程式運行 主動攻擊
傳染目標 本地文件 網路電腦
可以預見,未來能夠給網路帶來重大災難的主要必定是網路蠕蟲!
3.蠕蟲的破壞和發展趨勢
1988年一個由美國CORNELL大學研究生莫裏斯編寫的蠕蟲病毒蔓延造成了數千台電腦停機,蠕蟲病毒開始現身網路;而後來的紅色代碼,尼姆達病毒瘋狂的時候,造成幾十億美元的損失;北京時間2003年1月26日, 一種名為“2003蠕蟲王”的電腦病毒迅速傳播並襲擊了全球,致使互聯網網路嚴重堵塞,作為互聯網主要基礎的域名伺服器(DNS)的癱瘓造成網民瀏覽互聯網網頁及收發電子郵件的速度大幅減緩,同時銀行自動提款機的運作中斷, 機票等網路預訂系統的運作中斷,信用卡等收付款系統出現故障!專家估計,此病毒造成的直接經濟損失至少在12億美元以上!
病毒名稱 持續時間 造成損失
莫裏斯蠕蟲 1988年 6000多台電腦停機,直接經濟損失達9600萬美元!
美麗殺手 1999年 政府部門和一些大公司緊急關閉了網路伺服器,經濟損失超過12億美元!
愛蟲病毒 2000年5月至今 眾多用戶電腦被感染,損失超過100億美元以上
紅色代碼 2001年7月 網路癱瘓,直接經濟損失超過26億美元
求職信 2001年12月至今 大量病毒郵件堵塞伺服器,損失達數百億美元
蠕蟲王 2003年1月 網路大面積癱瘓,銀行自動提款機運做中斷,直接經濟損失超過26億美元
由表可以知道,蠕蟲病毒對網路產生堵塞作用,並造成了巨大的經濟損失!
通過對以上蠕蟲病毒的分析,可以知道,蠕蟲發作的一些特點和發展趨勢:
1.利用作業系統和應用程式的漏洞主動進行攻擊.. 此類病毒主要是“紅色代碼”和“尼姆達”,以及至今依然肆虐的”求職信”等.由於IE瀏覽器的漏洞(Iframe Execcomand),使得感染了“尼姆達”病毒的郵件在不去手工打開附件的情況下病毒就能激活,而此前即便是很多防病毒專家也一直認為,帶有病毒附件的郵件,只要不去打開附件,病毒不會有危害。“紅色代碼”是利用了微軟IIS伺服器軟體的漏洞(idq.dll遠程緩存區溢出)來傳播。Sql蠕蟲王病毒則是利用了微軟的數據庫系統的一個漏洞進行大肆攻擊!
2.傳播方式多樣 如“尼姆達”病毒和”求職信”病毒,可利用的傳播途徑包括文件、電子郵件、Web伺服器、網路共用等等。
3.病毒製作技術與傳統的病毒不同的是,許多新病毒是利用當前最新的編程語言與編程技術實現的,易於修改以產生新的變種,從而逃避反病毒軟體的搜索。另外,新病毒利用Java、ActiveX、VB Script等技術,可以潛伏在HTML頁面裏,在上網瀏覽時觸發。
4.與駭客技術相結合! 潛在的威脅和損失更大!以紅色代碼為例,感染後的機器的web目錄的\scripts下將生成一個root.exe,可以遠程執行任何命令,從而使駭客能夠再次進入!二、網路蠕蟲病毒分析和防範
蠕蟲和普通病毒不同的一個特徵是蠕蟲病毒往往能夠利用漏洞,這裡的漏洞或者說是缺陷,我們分為2種,軟體上的缺陷和人為上的缺陷。軟體上的缺陷,如遠程溢出,微軟ie和outlook的自動執行漏洞等等,需要軟體廠商和用戶共同配合,不斷的升級軟體。而人為的缺陷,主要是指的是電腦用戶的疏忽。這就是所謂的社會工程學(social engineering),當收到一封郵件帶著病毒的求職信郵件時候,大多數人都會報著好奇去點擊的。對於企業用戶來說,威脅主要集中在伺服器和大型應用軟體的安全上,而個人用戶而言,主要是防範第二種缺陷。
1.利用系統漏洞的惡性蠕蟲病毒分析
在這種病毒中,以紅色代碼,尼姆達和sql蠕蟲為代表!他們共同的特徵是利用微軟伺服器和應用程式組件的某個漏洞進行攻擊,由於網上存在這樣的漏洞比較普遍,使得病毒很容易的傳播!而且攻擊的對象大都為伺服器,所以造成的網路堵塞現象嚴重!
以2003年1月26號爆發的sql蠕蟲為例,爆發數小時內席捲了全球網路,造成網路大塞車.亞洲國家中以人口上網普及率達七成的南韓所受影響較為嚴重。南韓兩大網路業KFT及***電訊公司,系統都陷入了癱瘓,其他的網路用戶也被迫斷線,更為嚴重的是許多銀行的自動取款機都無法正常工作, 美國許美國銀行統計,該行的13000台自動櫃員機已經無法提供正常提款。網路蠕蟲病毒開始對人們的生活產生了巨大的影響!
這次sql蠕蟲攻擊的是微軟數據庫係Microsoft SQL Server 2000的,利用了MSSQL2000服務遠程堆棧緩衝區溢出漏洞, Microsoft SQL Server 2000是一款由Microsoft公司開發的商業性質大型數據庫系統。SQL Server監聽UDP的1434端口,客戶端可以通過發送消息到這個端口來查詢目前可用的連接方式(連接方式可以是命名管道也可以是TCP),但是此程式存在嚴重漏洞,當客戶端發送超長數據包時,將導致緩衝區溢出,駭客可以利用該漏洞在遠程機器上執行自己的惡意代碼。
微軟在200年7月份的時候就為這個漏洞發佈了一個安全公告,但當sql蠕蟲爆發的時候,依然有大量的裝有ms sqlserver 2000的伺服器沒有安裝最新的補丁,從而被蠕蟲病毒所利用,蠕蟲病毒通過一段376個字節的惡意代碼,遠程獲得對方主機的系統控制許可權, 取得三個Win32 API地址,GetTickCount、socket、sendto,接著病毒使用GetTickCount獲得一個隨機數,進入一個死迴圈繼續傳播。在該迴圈中蠕蟲使用獲得的隨機數生成一個隨機的ip地址,然後將自身代碼發送至1434端口(Microsoft SQL Server開放端口),該蠕蟲傳播速度極快,其使用廣播數據包方式發送自身代碼,每次均攻擊子網中所有255台可能存在機器。由於這是一個死迴圈的過程,發包密度僅和機器性能和網路帶寬有關,所以發送的數據量非常大。該蠕蟲對被感染機器本身並沒有進行任何惡意破壞行為,也沒有向硬盤上寫文件,僅僅存在與記憶體中。對於感染的系統,重新啟動後就可以清除蠕蟲,但是仍然會重復感染。由於發送數據包佔用了大量系統資源和網路帶寬,形成Udp Flood,感染了該蠕蟲的網路性能會極度下降。一個百兆網路內只要有一兩台機器感染該蠕蟲就會導致整個網路訪問阻塞。
通過以上分析可以知道,此蠕蟲病毒本身除了對網路產生拒絕服務攻擊外,並沒有別的破壞措施.但如果病毒編寫者在編寫病毒的時候加入破壞代碼,後果將不堪設想!