| 導購 | 订阅 | 在线投稿
分享
 
 
 

安全寶典——病毒及攻擊防禦手冊(1)

來源:互聯網網民  2006-12-16 16:51:49  評論

「最初的信任已經消失了,伴隨著它們的進駐,這裏已經成爲了一個沼澤——有你想要的寶藏,也有隨時能夠吞噬掉你的陷阱。」

覺得用這麽一句話某部電影中智者的忠告來形容商業化後的互聯網實在很恰當。隨著商業進駐互聯網——這個原本脫形于軍事,發展自高校/公司的網絡已經成爲了一個勢力很大的媒體介質。在這個網絡上,能搜索到論文資料,結交到朋友,學習到一些身邊根本無法接觸到的技術——但網絡不是烏托邦,在表面的興盛繁榮下,罪惡之影亦在遊走。

新上網的朋友最爲困惑的,莫過于對病毒和各種惡意攻擊的恐懼和迷惑了——「我什麽都沒有做,爲什麽就中毒了?」是天緣常常聽到內部網絡的疑問。Ok,接下來,就跟隨我一起,進入入門級的安全之旅,希望通過此篇文章,能讓您對一些概念,機制有所把握。

本文主要內容

病毒防禦入門 攻擊防禦

1.感染可執行文件的病毒 攻擊的六大步驟

2.後台運行進行惡意控制和破壞的病毒 應對攻擊行爲

3.蠕蟲病毒 常見欺騙手法

4.腳本病毒 著名病毒的攻擊原理

第一站——病毒防禦入門之旅

潘多拉的魔盒被打開,從此世間便多了疾病、瘟疫、災難——自從1962年,貝爾實驗室三位傑出程序員——羅泊.莫裏斯、維克多.維索茨基、道格.邁克勞埃以「編制一些程序,讓這些程序根據某種規則自己在內存中生存、搏鬥」而理念而造就的「磁芯大戰」程序開始,計算機世界的潘多拉魔盒就此打開。當時三位積極探索計算機技術的優秀程序員大概不會想到,病毒之門被打開,直至今日陰影仍揮之不去。可悲的是,以技術之鑰打開的病毒之門,在半個世紀裏越來越墮落,淪爲一些人實施經濟犯罪或標榜自我的工具,在計算機世界四處遊蕩著病毒幽靈。

病毒——這個源自醫學界的名詞,被用在計算機中,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數據,影響計算機使用,並能自我複制的一組計算機指令或者程序代碼,就像生物病毒一樣,計算機病毒有獨特的複制能力。計算機病毒可以很快地蔓延,又常常難以根除。它們能把自身附著在各種類型的文件上。當文件被複制或從一個用戶傳送到另一個用戶時,它們就隨同文件一起蔓延開來。

木馬——來自「特伊諾木馬」,指深入到內部進行攻擊與破壞的行爲。現在的木馬程序一般是指,利用系統漏洞或用戶操作不當進入用戶的計算機系統,通過修改啓動項目或捆綁進程方式自動運行,運行時有意不讓用戶察覺,將用戶計算機中的敏感信息都暴露在網絡中或接受遠程控制的惡意程序。

蠕蟲——蠕蟲病毒是指利用網絡缺陷進行繁殖的病毒程序,其原始特征之一是通過網絡協議漏洞進行網絡傳播。

腳本病毒——利用腳本來進行破壞的病毒,其特征爲本身是一個ascii碼或加密的ascii碼文本文件,由特定的腳本解釋器執行。主要利用腳本解釋器的疏忽和用戶登陸身份的不當對系統設置進行惡意配置或惡意調用系統特點命令造成危害。

但目前,由于病毒,木馬,蠕蟲,腳本病毒這四類程序在不斷雜交中衍生,已經形成了「你中有我,我中有你」的多態特性。爲了行文方便,以下統稱爲「病毒」,但其實四類程序的感染機制和編寫方式是完全不同的,請讀者們在閱讀的時候詳加辨析。

現階段的病毒,主要分爲以下幾種:

||||||1.感染可執行文件的病毒

病毒描述:這類病毒就是上面所介紹的4種破壞性程序中的傳統病毒。這類病毒的編寫者的技術水平可說相當高超,此類病毒大多用彙編/c編寫,利用被感染程序中的空隙,將自身拆分爲數段藏身其中,在可執行文件運行的同時進駐到內存中並進行感染工作,dos下大多爲此類病毒居多,在windows下由于win95時期病毒編寫者對pe32的格式沒吃透,那段時間比較少,之後在win98階段這類病毒才擴散開來,其中大家廣爲熟悉的CIH病毒就是一例;在windows發展的中後期,互聯網絡開始興盛,此類病毒開始結合網絡漏洞進行傳播,其中的傑出代表爲funlove傳播——由于windows操作系統的局網共享協議存在默認共享漏洞,以及大部分用戶在設置共享的時候貪圖方便不設置複雜密碼甚至根本就沒有密碼,共享權限也開啓的是「完全訪問」。導致funlove病毒通過簡單嘗試密碼利用網絡瘋狂傳播。

病毒淺析:由于此類病毒的編寫對作者要求很高,對運行環境的要求也相當嚴格,在編寫不完善的時候,會導致系統異常(例如CIH的早期版本會導致winzip出錯和無法關閉計算機等問題;funlove在nt4上會導致mssqlserver的前台工具無法調出界面等問題)。這類病毒賴以生存的制約是系統的運行時間和隱蔽性。運行時間——系統運行的時間越長,對其感染其他文件越有利,因此此類病毒中一般不含有惡意關機等代碼,染毒後短期內(一般24小時內)也不會導致系統崩潰(如果你是25日感染cih除外),和其他病毒相比用戶有足夠的處理時間。破壞引導區的大腦病毒、擇日發作的星期五病毒、直接讀寫主板芯片,采用驅動技術的CIH病毒都是其中的代表。

感染途徑:此類病毒本身依靠用戶執行而進行被動運行,常見感染途徑爲:盜板光盤、軟盤、安全性不佳的共享網絡;

病毒自查:此類病毒大多通過的是進駐內存後篇曆目錄樹的方式,搜索每個目錄下的可執行文件進行感染,因此對內存占用得比較厲害——如果突然在某個時間後發現自己的機器內存占用很高,可能就是感染了此類病毒。

病毒查殺:這類病毒由于編寫難度較大,因此升級(病毒也玩升級?對,例如CIH是在1.4版本後才完善的)速度相對較慢,但由于開機後進駐的程序可能已經被病毒感染,因此殺毒條件是各種病毒中最爲嚴格的,且這2種方式比較幹淨徹底的方法也適用用後面介紹的各種病毒:

1.軟盤(光盤)啓機使用殺毒軟(光)盤進行殺毒;在進行這一步的時候,必須要保證軟盤或光盤的病毒庫內已經有殺除該病毒的特征碼。

2.將硬盤拆下,作爲其他機器的從盤;從其他機器的主盤啓動進行殺毒(該機需打開病毒即時監控,以防止來自從盤的可執行文件中的病毒進駐到內存中); 以常見的國産幾種殺毒軟件爲例,在購買的正式版本中,除了供安裝使用的光盤外,一般還包含幾張軟盤(一張引導盤,一張殺毒程序盤,一張病毒庫盤)。在對待上面提到的這類病毒時,最好的做法就是用引導盤啓動計算機,然後根據提示將殺毒程序盤和病毒盤依次插入,進行病毒查殺。注意2點:1.目前比較新版本的殺毒程序盤都能完善地支持ntfs分區的讀寫,如果您是在幾年以前購買的殺毒盤,可以根據廠家的服務方式進行升級;2.由于采用軟盤殺毒的時候,使用的是軟盤上的病毒庫,爲了能正確地查殺病毒,請定期升級軟盤的病毒庫,否則真到用的時候就哭也哭不出來了。

殺毒遺留:由于這類病毒是寄生到其他程序內部,即使非常優秀的殺毒軟件,能做到的也只是把該染毒程序內的病毒某關鍵執行部分刪除,使得染毒程序在運行時病毒無法運行。因此並不是嚴格意義上的完全清除——病毒程序的某部分依然殘留在程序內部,俗稱「病毒僵屍」。

在殺除這類病毒的時候,最主要的是分析捕捉特征代碼,因爲抓特征碼的過程中不僅要准確地破壞病毒的執行部分,而且不可以觸動正常的程序代碼。否則會常常出現殺毒之後該程序無法使用的情形——那還叫什麽殺毒?還不如直接刪除文件比較好嘛!在查殺這類病毒上,根據天緣的使用經驗,norton和國內的金山毒霸做的比較好一些。(此評價只根據我個人使用經驗如實說出,不帶任何廣告性質,請各位選擇殺毒産品的時候不要以我的介紹爲依據,本人不承擔任何責任,下同。)

病毒防範:安裝包含即時監控的殺毒軟件並啓機執行,每天升級病毒庫獲取最新病毒特征代碼;盡量不使用來源不可靠的軟盤和光盤,使用前先掃描;關于網絡防毒部分後面一並介紹。

||||||2.後台運行進行惡意控制和破壞的病毒

病毒描述:帳號被偷,密碼被盜,機器被人遠程控制著放歌/開關機/屏幕倒轉過來,硬盤不住地轉動將關鍵資料向外發出,就是這類病毒的傑作了。這類病毒和上一類病毒最本質的區別是——這類病毒本身是獨立的程序,而不是寄生于另一個程序中。這類病毒的編寫主要在于對操作系統本身接口的熟悉,網絡傳輸的熟悉,以及對隱蔽性的要求,此類病毒的編寫可使用多種語言,對病毒寫作者本身的實力也是一種考驗。這個病毒中,最出名的莫過于BO了,可以說,它指引了這種病毒在windows平台的發展理念。這類病毒就是統稱的「木馬」病毒,通過系統漏洞/用戶操作疏忽進入系統並駐留,通過改寫啓動設置來達到每次啓機運行或關聯到某程序的目的。在windows系統中,表現爲修改注冊表啓動項、關聯Explorer、關聯notepad等方式。

病毒淺析: 此類病毒編寫者的功力就有高有低了。高手所編寫的遠程控制系統可以和最優秀的遠程管理工具相媲美,例如開山鼻主BO,國産的冰河,著名的黃金木馬sub7都屬于這一類,這類程序分爲2個部分,控制端和被控制端;而在unix類平台下的木馬經常是一個簡單外部命令的重新實現——例如將原本的ls命令替換掉,用自己寫的一個程序代替,在執行正常文件列表的同時隱含執行特殊命令,這類木馬的編寫水平也相當高,但在windows下極少出現類似程序替代的木馬,這類病毒的聯系一般是單向進行的;還有一類木馬就是網絡盜竊性質的,以im軟件,網絡遊戲盜號居多,近來發展爲對金融業有所染指,這類一般就是通過程序監視當前窗口,並獲得當前窗口特定控件的值(用戶名/密碼框裏的值),然後通過email,遠程登陸web數據庫等方式把獲得的密碼發出去,這類程序具有一定編程基礎的各位朋友都能做到;第4類是惟恐天下不亂的純搗亂程序,原理跟上一種類似,不過是朝文本框寫信息,例如著名的qq尾巴病毒,這類病毒由于病毒作者將源代碼放出,改寫起來相當容易,智商85以上的人士都能勝任的。這類木馬病毒中的傑出代表爲BO、冰河、Sub 7等。

感染途徑:系統漏洞/用戶錯誤權限/社會工程學;

利用系統漏洞——造成溢出——獲取一定權限——利用其他漏洞或用戶設置不當提升權限——上傳惡意程序/修改系統設置——啓動惡意程序。是這類病毒感染的慣用方式。在後期,出現了以誘騙用戶執行爲主要感染方式的新木馬,充分利用了社會工程學,例如在im類軟件上給你發送一個名爲「我的照片.exe」這樣的文件給你,引誘你打開執行。由于木馬的用途主要是將病毒編寫者感興趣的資料回發——因此感染途徑99%來源于網絡,在完全無網絡單機狀態下的木馬等于是沒用的死馬。

病毒自查:由于木馬發送者的企圖都是通過控制你的機器操作來獲得一定利益,因此都會設置啓動時加載該程序。控制類的木馬需要占用相當一部分系統資源——用戶直接能感覺到的就是啓動速度變慢,系統運行速度變慢;而帳號盜取類的木馬由于需要獲得特定窗口的窗口句柄,因此會在當前窗口切換的時候進行讀取判斷——在機器配置不高的機器上,如果快速輪循窗口,則感覺到窗口出現速度明顯下降;惡作劇類的木馬就不用提了,大家都知道不對勁。

木馬病毒在編制不夠完美的時候,會導致程序溢出——例如運行ie的時候多次出現「非法操作」、打開資源浏覽器速度狂慢等現象,也可能是系統中了木馬後的蛛絲馬迹。在現象判斷上,確實沒有切實的客觀規則可循,主要是依據主觀經驗判斷。總之——如果您沒有安裝任何軟件/修改任何設置,原本昨天速度飛快的機器今天要麽總是非法操作,要麽速度延遲——那麽您被感染了病毒或木馬的可能性相當大了。當然,如果您的qq帳號,傳奇密碼被偷了——更有100%的可能性是潛伏著的木馬幹的。另外,相當多的木馬程序由于帶了hook鈎子,常常導致調試類程序出錯,如果您使用softice調試某些程序時經常無故報錯,那或許也是系統中挂接了異常的hook程序——木馬。

病毒查殺:木馬病毒的繁衍也是相當快速的,特別是行爲上難以判斷——合法遠程控制軟件和木馬在本質上基本上無區別,在執行行爲上也相當類似。而木馬的控制協議一般是走tcp/ip協議,理論上是可以在65535個端口中隨意選擇(當然實際中會避開一些保留端口,防止系統沖突——木馬最必要的生存條件就是其隱蔽性),因此也無法利用端口方式准確判斷出病毒種類;通過特征碼方式,如果木馬作者沒有留下版本信息或說明文字,則也相當難以判斷;特別是木馬的源代碼公開後,想在其中加入一段獨特的功能代碼不是什麽難事,因而衍生的版本特別快也特別多,這更加大了殺毒軟件查殺的的難度。

事實上現在世面上的殺毒軟件對待木馬的查殺能力並不夠強大,如果有可能,可以選擇專用的木馬查殺軟件,如木馬克星等。當然,木馬也有手工解決的辦法,而且對待層出不窮的木馬也只有手工查殺才能以不變應萬變——感染/修改設置/啓動加載/運行獲取密碼 是木馬必經過的4個步驟,讓我們看看怎麽找出藏在機器中的馬來——由于木馬需要啓動加載執行,因此大多采取修改啓動項目來加載的方式進行——那麽,我們就到啓動項目裏去牽馬吧;

在這一步,需要用戶對自己windows的啓動項目熟悉。Win98中,病毒可能在注冊表的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 或者HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run Services中,或者是system.ini文件的[boot]小節將默認項目修改,或者是在Win.ini中的[Windows]小節中的load、run部分進行加載;在Windows\Start Menu\Programs\啓動這裏加載,如果是2000或者xp,除了上面提到的幾個地方,還可能以服務方式加載,在HKEY_LOCAL_MACHINE\Sytem\Current Control Set\Services可以查到具體的加載項目。

對于這一步,由于每個人的機器設置不同,所以天緣也沒辦法給出列表來說明到底加載的程序中哪些程序是正常的,哪些是不正常的。有個比較方便的方法是——當您系統把需要安裝的軟件安裝得當時,您查看一下以上幾個位置,並把其中的項目記錄下來,以後覺得自己可能中木馬了後,再對比一下以前的記錄,將後來添加的自啓動程序記錄下名字/路徑,進行刪除操作。這樣做的好處是——即使刪除掉的是正常程序,也不會是關鍵進程,不會導致系統無法啓動,有恢複修改的余地。在Win98和XP中有個方便的Msconfig命令便于我們查看以上說的啓動項目,如果使用的是Win2000,可以將XP的該文件Copy過去使用。

如果的確發現了可疑的啓動項,那麽接下來的工作就是刪除它了。在刪除的步驟上,有2個選擇:

1.刪除啓動項目,重新啓機,刪除木馬文件;

2.禁止當前運行的木馬程序,刪除啓動項目,重新啓機;

兩種方法各有其優點,下面我們來一一分析。第一種方法,是刪除啓動設置裏的木馬程序選項,並記錄下該木馬文件的位置(可用「查找」功能定位,並記錄下來),然後重新啓動機器(直到機器被重新啓動前木馬依然是存活著的),重新啓動後,木馬程序本身依然存留在硬盤上,然後直接象刪除普通程序一樣刪除掉——這個方法的要點就是先禁止木馬的啓動然後再行殺除,好處是操作簡單,不需要借助其他軟件,特別是在Win98下默認是無法查看某些進程的,因此用這個方法相當方便,壞處則是對某些木馬無效——某些木馬在運行的時候會定期查看設置的啓動項是否還存在,若是不存在的話會自動修改過來,屬于比較強硬的做法,于是第一種殺除方法就無法應對這樣的木馬了;第2種方法是先通過進程管理器查看,記錄並終止運行可疑程序(不光是注冊表/配置文件裏的木馬啓動項,有時候木馬程序本身會運行一個附帶的獨立監視程序來防止自己被改寫

因此需要非常熟悉自己的機器上的固定正常運行程序才能准確判斷,當然還有一個做法是非關鍵進程都殺——天緣在給朋友機器手工殺木馬的時候常這樣),之後再到啓動項目裏去殺除掉相關的啓動項目,重新啓動機器後再把剛才記錄下的進程進行仔細查看,把確認爲木馬的文件刪除掉。這個方法好處當然就是比較容易殺掉一些定期檢查/回寫啓動項目的疑難木馬,不過對用戶的操作要求比較高一些。

以上2種方法如果掌握了,基本上就能把目前的木馬全部手工殺除掉,但遇到木馬使用2個程序互相關聯/檢查啓動,或者是在加載基本驅動階段時以驅動程序方式嵌入的木馬程序時候用上面提到的2種方法都無效。在Win2000/xp中,啓動機器的時候會加載system32/drivers目錄下的驅動,而如果這些驅動中含有惡意程序,那麽它可以做到改寫i/o,讓Windows修改某些文件無效,或讓操作某一注冊表無效,目前這一技術在病毒中尚未看到先例,但頗有爭議的3721已經成功地運用了該技術,相信在不久的將來一些功力深厚的病毒作者也會運用到此技術。天緣在這裏預先提一下對該類病毒的刪除方法——由于病毒已改寫i/o,故最好的做法是在非windows環境中將其刪除,具體的做法是用軟盤/光驅引導啓動,或者利用vFloppy等工具配合boot引導程序制作一個小型虛擬引導盤,進行殺除工作。

殺毒遺留:由于木馬程序並不一定只有一個可執行文件,因此如果利用手工查殺的方法,或許會有一些木馬留下的dll,ocx等資源文件留下,副作用沒什麽,但是會殘留在硬盤上。殺毒軟件嚴格意義上來說只是殺除了一些比較流行的主流木馬,對待一些不太流行的木馬是視而不見的,專業的木馬查殺工具能殺除90%左右的木馬,但剩下的10%高技術的木馬也無法查殺——如上文提到采用3721那種加載到system32/drivers下的木馬在windows上改寫文件/注冊表的讀寫,則無法在windows環境下查殺。

病毒防禦:對待木馬,防止感染遠比事後殺除更爲重要——重要的文件/資料/帳號已經被獲取了,即使把木馬殺了也無事于補。木馬的進駐,除了利用系統漏洞,大多采用欺騙方式——記得一句古話:「便宜莫貪」。網絡上初認識的朋友熱情地給你發他的照片,四處標榜著的免費遊戲外挂,一些小站點吹噓的精品軟件,一些情色站點的專用播放器,一些所謂「安全站點」的所謂黑客工具。

世界上沒有絕對免費的事,以上提到的這些事情中的確有一些是免費的,當更多的是木馬程序,或者利用程序捆綁技術,將正常程序和木馬程序捆綁在一起的。如非必要盡量不要在這些地方進行下載。總想貪圖便宜,會吃大虧的——生活中如此,網絡上同樣是!網絡上喜歡你6位qq號的人遠比覺得你帥的人多;網絡上喜歡你40級帳號的人遠比喜歡你在遊戲中造型的人多;網絡上希望你作他肉機的人遠比他做你肉機的人多。總之一句話,無事獻殷勤——大多非奸即盜!對待漏洞或權限設置不當的,在後面蠕蟲病毒部分一並介紹。

||||||3.蠕蟲病毒

繁殖,繁殖,再繁殖,利用系統漏洞,通過網絡感染感染其他計算機,繁殖,繁殖,再繁殖。此類病毒深得「乾坤生兩儀,兩儀生四象,四象生八卦」之能,每台受感染的機器,本身又以病毒發送者的身份將蠕蟲病毒送向四面八方。

病毒描述:這類病毒的本質特征之一就是透過網絡主動進行感染,本身不具有太多破壞特性,以消耗系統帶寬、內存、CPU爲主。這類病毒最大的破壞之處不是對終端用戶造成的麻煩,而是對網絡的中間設備無謂耗用。例如網絡中的交換機/路由器/DNS服務器/郵件服務器常常是蠕蟲病毒爆發的最大受害者——「互聯網癱瘓了!?」——2003年1月的SQL蠕蟲爆發就是最好的例證。

病毒淺析:在以前,編寫這類病毒的技術要求相當高。1988年,前面提到的「磁芯大戰」之子羅伯特.莫裏斯在發現了幾個系統漏洞後,編寫了一個精巧的程序,短短時間便將當時的大半個互聯網癱瘓。由以上可以看出,蠕蟲的出現,傳播,感染是需要系統漏洞和獲得系統權限的。莫裏斯不愧爲技術高手,不光在于對病毒的編寫,更在于對系統漏洞的發掘上。隨著時間的推移,操作系統的進步,在功能完善的同時,漏洞也隨之增加。

不少真正的安全小組在發現漏洞的同時,除了會給出詳細的技術說明外,往往附帶一個小程序的源代碼,說明利用漏洞獲得權限的實現。而這個小程序被蠕蟲病毒編寫者如獲至寶,將起改寫,加上文件傳輸,ping掃描,修改啓動項自動執行等能用代碼簡單實現的功能,就成了一個蠕蟲病毒——換句話說,現在編寫蠕蟲病毒的門檻已經大大降低了,所以大家會看到18歲的優秀病毒編寫者雲雲——其實相較起破壞特性來,發現安全漏洞更是需要高超的技術水平——這是安全小組做到的,而不是病毒編寫者。因此可以這樣概括:自從莫裏斯發明出蠕蟲病毒以來,該種病毒的編寫者自身實力日漸下降,從操作系統級水平淪落到代碼編寫級水平,不可同日而語。

感染途徑:系統漏洞/用戶錯誤權限

蠕蟲病毒本事是一個需要以一定身份執行的程序。因此通過系統漏洞進行感染是其手段,提升權限是其企圖,重複感染是其目的。沒打上系統漏洞補丁的操作系統,權限設置松散的設置,極其簡單的用戶密碼是這類病毒的最愛。

病毒自查:由于通過網絡感染,這類病毒都會大量占用網絡帶寬。由于現在普通pc的性能相當不錯,因此一些新興的蠕蟲病毒在大肆占用網卡發送封包的同時,本機速度不會變的太緩慢,這跟自查帶來了一定麻煩。以天緣工作爲例,檢查到內網中有用戶染毒後,電話通知他,結果被反問:「我運行單機程序的時候這麽快,只有上網的時候才覺得慢,是不是你們網絡中心故意搗亂??」網管難做啊,不對單機造成任何傷害的病毒用戶一般難以察覺,因此還是後來會導致系統出錯1分鍾內自動關閉的這類病毒比較受我們網管歡迎呢。上網的朋友可以檢查一下網絡連接的封包發送,如果自己沒進行任何操作的時候,依然有大量的數據報文不斷發出——那麽有很大可能您中了蠕蟲病毒。

病毒查殺:這類蠕蟲病毒由于感染非常迅速,而且是通過系統漏洞方式感染,所以對互聯網絡的危害相當大,唇亡齒寒,因此一般來說發現了該漏洞的操作系統公司和殺毒公司都不會坐視不管,會在第一時間推出補丁和專殺工具。用戶下載後,斷網進行殺毒,然後打上patch,重新啓動系統就能避免再次重複感染了。至于病毒傳播速度太快,在殺毒後下載patch的中途又被重複感染的問題,可見我以前的一篇文章《網管筆記之小兵逞英雄》,舉一反三則可以 。

殺毒遺留:由于該類病毒本身是獨立程序,利用系統漏洞進行遠程權限獲取,進而上傳,運行,感染,所以用專用的軟件殺除後,基本無文件殘留,但部分專殺工具沒有將其啓動項目清理得非常完全,可以使用上面查找木馬啓動設置的方法手工查找加載位置進行刪除。另外切記一定在殺毒後第一時間及時打上補丁,否則重複感染機會高達100% 。

病毒防禦:

1.勤打補丁,一般說來一個操作系統被發現漏洞以後,大概在15天以內相關的病毒就會出現,因此有必要隨時關注自己所使用的操作系統的補丁升級情況,養成每天定時查看補丁升級情形的習慣。這裏的補丁不光包括操作系統自身的,也包含程序服務的補丁,例如ftp服務器的補丁等等。

2.權限設置,很多蠕蟲感染的條件是需要以root級運行的進程出現漏洞,那麽蠕蟲才有權限進行上載、執行的權利,在windows下由于大多數後台進程是以administrator權限執行,帶來的危害也相當大;*nix下則可設置非關鍵進程使用普通用戶或chroot方式來避免權限提升。

3.盡量少開服務,可開可不開的服務絕對不開,最小化風險;

4.安裝網絡封包防火牆,只允許特定的端口的數據包通過或者特定的程序訪問網絡。這部分我們放在後面攻擊防禦那裏介紹。

||||||4.腳本病毒

這類病毒編寫最爲簡單,但造成的危害非常大。我們常見的浏覽了xx站點就被改了主頁,在收藏夾裏被添加上很多無謂的東西,就是拜這類病毒所賜。

病毒描述:這類病毒的本質是利用腳本解釋器的檢查漏洞和用戶權限設置不當進行感染傳播;病毒本身是ascii碼或者加密的ascii碼,通過特定的腳本解釋器執行産生規定行爲,因其行爲對計算機用戶造成傷害,因此被定性爲惡意程序。最常見的行爲就是修改用戶主頁,搜索頁,修改用戶收藏夾,在每個文件夾下放置自動執行文件拖慢系統速度等;比較出名的如美利莎郵件病毒、新歡樂時光病毒、office的宏病毒等都屬于這類。

病毒淺析:爲了完成一些自動化的任務,需要用程序方式來實現。但複雜的程序編寫又不是非程序人員能夠勝任的。爲了提高工作效率,方便用戶操作,加強系統特性,于是許多軟件/操作系統都預留了接口給用戶,用簡單的方法編寫一些完成一定功能的小程序。程序本身是ascii碼的,不編譯,直接解釋執行,在調試/修改使用上相當簡便,雖然犧牲一定效率,但是換來了易用性。這本是一個良好的願望,但太多的時候,這沒有起到積極的作用,反而爲腳本病毒編寫者提供了良機。

以web病毒爲例,由于用戶缺乏安全意識用錯誤的權限登陸,導致ie中的解釋器使用wsh可以操作硬盤上的文件和注冊表,而javascript和vbscript調用wsh是很容易的事情——于是惡意腳本的作者只需要讓你訪問該頁面,就能在你本地寫上一些惡意的腳本,在注冊表裏修改你的主頁/搜索項了。而利用ie的activex檢查漏洞,則可以在不提示地情況下從網絡上下載文件並自動執行——這就成了木馬攻擊的前奏曲;利用mime頭漏洞,則可以用一個以jpg結尾的url中,指向一個事實上的web頁,然後在web頁中內嵌圖片+惡意代碼的方式迷惑計算機用戶;利用outlook自動讀去eml的特性和mime頭檢查不嚴格來執行惡意2進制代碼;利用本地硬盤上有執行autorun.inf的特性(這功能本來是光驅用的,我們的光盤之所以放進去就能自動讀出程序,就是光盤上有個名爲autorun.inf文件起的作用,它是個文本文件,各位可以看看)把一些需要加載的程序寫到該文件下導致每次訪問該分區的時候就會自動運行;利用windows下會優先讀取folder.htt和desktop.ini的特性,將惡意代碼寫入其中,導致訪問任何一個文件夾的時候都會啓動該病毒,再配合上鎖定注冊表的功能,殺除起來異常麻煩——不複雜,但是相當煩瑣,一不留意沒殺幹淨一處,又導致死灰複燃,前功盡棄。

病毒自查:上面有提到,這類病毒一般以搗亂居多,所以特別容易發現。而其另一個作用是作爲木馬進駐系統的先遣部隊,利用浏覽器漏洞等達到下載木馬文件到本地硬盤,並修改啓動項,達到下次啓機運行的目的。因此一旦發現木馬的同時,也可以檢查一下是不是有些可疑的腳本文件。

病毒查殺:這類病毒一般來說由于其編寫靈活,源代碼公開,所以衍生版本格外地多;殺毒軟件/木馬殺除軟件對待這類病毒大多沒用。而由于腳本病毒(除宏病毒外)大多是獨立文件,只要將這些文件查找出來刪除掉就行了。不過這裏值得留意的是,利用微軟的浏覽器的漏洞,在點擊選擇某些文件的同時就自動執行了,甚至打開浏覽器的同時腳本病毒就開始駐留感染——這樣是無法殺除幹淨的。

正確的做法是使用其他第三方的資源浏覽器,例如Total Command就是一個非常不錯的選擇。查殺大致過程如下:首先,在資源浏覽器——工具——文件夾選項中,將「使用Windows傳統風格的桌面」取消掉,在桌面上點右鍵,點「屬性」——「桌面設置」,將使用活動桌面取消,接著查殺可疑對象;常見查殺對象:各個根分區下的autorun.inf,各個目錄下的desktop.ini和folder.htt(有幾個是系統自帶的,不過刪除了也無關系的),這一步最好采用第三方的資源浏覽器,例如前面介紹的Total Command來完成。在這一步,最忌諱查殺不淨,即使有一個病毒遺漏,很快就又遍布各個文件夾內了。關于郵件病毒的殺除使用專殺工具就行了。

病毒殘留:純粹腳本病毒在殺除後不會有任何殘留,但由于目前的病毒大都采用複合形態,捆綁多種傳染方式和多種特性,因此不少腳本病毒只是將用戶機器的安全防線撕開的前奏——真正的破壞主力木馬、蠕蟲尾隨其後進入系統,因此在殺除掉腳本病毒後,非常有必要連帶著檢查系統中是否已經有了木馬和蠕蟲病毒。

病毒防禦:腳本病毒的特性之一就是被動觸發——因此防禦腳本病毒最好的方法是不訪問帶毒的文件/web網頁,在網絡時代,腳本病毒更以欺騙的方式引誘人運行居多。由于ie本身存在多個漏洞,特別是執行activex的功能存在相當大的弊端,最近爆出的重大漏洞都和它有關,包括mozilla的windows版本也未能幸免。因此個人推薦使用myie2軟件代替ie作爲默認浏覽器,因爲myie2中有個方便的功能是啓用/禁用web頁面的activex控件,在默認的時候,可以將頁面中的activex控件全部禁用,待訪問在線電影類等情況下根據自己的需要再啓用。關于郵件病毒,大多以eml作爲文件後綴的,如果您單機有用outlook取信的習慣,最好准備一個能檢測郵件病毒的殺毒軟件並及時升級。如果非必要,將word等office軟件中的宏選項設置爲禁用。腳本病毒是目前網絡上最爲常見的一類病毒,它編寫容易,源代碼公開,修改起來相當容易和方便,而且往往給用戶造成的巨大危害。

以上4類程序的介紹,爲了降低學習難度,我是單態方式來介紹的。事實上目前的病毒大多以具有上面4類程序中的2到3類的特征,因此無論感染,傳播,殺除的困難都大大增加。例如發文前夕的mydoom新變種病毒的分析中:它利用系統漏洞/郵件群發/共享漏洞方式傳播(具備了蠕蟲、腳本病毒和新型病毒的傳播特性),進駐用戶系統後上載自身並運行(木馬特性),獲取用戶本地outlook中的地址本(木馬特性),通過調用google等搜索引擎獲取用戶email地址本中同後綴的相關選項(調用系統程序,木馬功能),再主動給地址本中的每個程序發出email(木馬特性)。對待這樣一個病毒,無論是系統存在漏洞、共享安全設置不當、或者隨意地打開了「朋友」發來的email,都可能導致中毒。關于中毒途徑的分析,留待下一站《攻擊防禦之旅》內一並介紹。

在從第一個病毒出現到現在,已經有整整半個世紀了,病毒的發展日新月異,令查殺的困難大大增加,造成的損失也異常巨大。或許,計算機病毒這個幽靈,從計算機誕生的那一刻起就注定要如影相隨的。只要還有用心險惡的人存在,那麽病毒就不會消亡。病毒之戰,恐怕會在今後的日子裏越演越烈……

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
「最初的信任已經消失了,伴隨著它們的進駐,這裏已經成爲了一個沼澤——有你想要的寶藏,也有隨時能夠吞噬掉你的陷阱。」   覺得用這麽一句話某部電影中智者的忠告來形容商業化後的互聯網實在很恰當。隨著商業進駐互聯網——這個原本脫形于軍事,發展自高校/公司的網絡已經成爲了一個勢力很大的媒體介質。在這個網絡上,能搜索到論文資料,結交到朋友,學習到一些身邊根本無法接觸到的技術——但網絡不是烏托邦,在表面的興盛繁榮下,罪惡之影亦在遊走。   新上網的朋友最爲困惑的,莫過于對病毒和各種惡意攻擊的恐懼和迷惑了——「我什麽都沒有做,爲什麽就中毒了?」是天緣常常聽到內部網絡的疑問。Ok,接下來,就跟隨我一起,進入入門級的安全之旅,希望通過此篇文章,能讓您對一些概念,機制有所把握。 本文主要內容 病毒防禦入門 攻擊防禦 1.感染可執行文件的病毒 攻擊的六大步驟 2.後台運行進行惡意控制和破壞的病毒 應對攻擊行爲 3.蠕蟲病毒 常見欺騙手法 4.腳本病毒 著名病毒的攻擊原理   第一站——病毒防禦入門之旅   潘多拉的魔盒被打開,從此世間便多了疾病、瘟疫、災難——自從1962年,貝爾實驗室三位傑出程序員——羅泊.莫裏斯、維克多.維索茨基、道格.邁克勞埃以「編制一些程序,讓這些程序根據某種規則自己在內存中生存、搏鬥」而理念而造就的「磁芯大戰」程序開始,計算機世界的潘多拉魔盒就此打開。當時三位積極探索計算機技術的優秀程序員大概不會想到,病毒之門被打開,直至今日陰影仍揮之不去。可悲的是,以技術之鑰打開的病毒之門,在半個世紀裏越來越墮落,淪爲一些人實施經濟犯罪或標榜自我的工具,在計算機世界四處遊蕩著病毒幽靈。   病毒——這個源自醫學界的名詞,被用在計算機中,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數據,影響計算機使用,並能自我複制的一組計算機指令或者程序代碼,就像生物病毒一樣,計算機病毒有獨特的複制能力。計算機病毒可以很快地蔓延,又常常難以根除。它們能把自身附著在各種類型的文件上。當文件被複制或從一個用戶傳送到另一個用戶時,它們就隨同文件一起蔓延開來。   木馬——來自「特伊諾木馬」,指深入到內部進行攻擊與破壞的行爲。現在的木馬程序一般是指,利用系統漏洞或用戶操作不當進入用戶的計算機系統,通過修改啓動項目或捆綁進程方式自動運行,運行時有意不讓用戶察覺,將用戶計算機中的敏感信息都暴露在網絡中或接受遠程控制的惡意程序。   蠕蟲——蠕蟲病毒是指利用網絡缺陷進行繁殖的病毒程序,其原始特征之一是通過網絡協議漏洞進行網絡傳播。   腳本病毒——利用腳本來進行破壞的病毒,其特征爲本身是一個ascii碼或加密的ascii碼文本文件,由特定的腳本解釋器執行。主要利用腳本解釋器的疏忽和用戶登陸身份的不當對系統設置進行惡意配置或惡意調用系統特點命令造成危害。   但目前,由于病毒,木馬,蠕蟲,腳本病毒這四類程序在不斷雜交中衍生,已經形成了「你中有我,我中有你」的多態特性。爲了行文方便,以下統稱爲「病毒」,但其實四類程序的感染機制和編寫方式是完全不同的,請讀者們在閱讀的時候詳加辨析。   現階段的病毒,主要分爲以下幾種: ||||||1.感染可執行文件的病毒   病毒描述:這類病毒就是上面所介紹的4種破壞性程序中的傳統病毒。這類病毒的編寫者的技術水平可說相當高超,此類病毒大多用彙編/c編寫,利用被感染程序中的空隙,將自身拆分爲數段藏身其中,在可執行文件運行的同時進駐到內存中並進行感染工作,dos下大多爲此類病毒居多,在windows下由于win95時期病毒編寫者對pe32的格式沒吃透,那段時間比較少,之後在win98階段這類病毒才擴散開來,其中大家廣爲熟悉的CIH病毒就是一例;在windows發展的中後期,互聯網絡開始興盛,此類病毒開始結合網絡漏洞進行傳播,其中的傑出代表爲funlove傳播——由于windows操作系統的局網共享協議存在默認共享漏洞,以及大部分用戶在設置共享的時候貪圖方便不設置複雜密碼甚至根本就沒有密碼,共享權限也開啓的是「完全訪問」。導致funlove病毒通過簡單嘗試密碼利用網絡瘋狂傳播。   病毒淺析:由于此類病毒的編寫對作者要求很高,對運行環境的要求也相當嚴格,在編寫不完善的時候,會導致系統異常(例如CIH的早期版本會導致winzip出錯和無法關閉計算機等問題;funlove在nt4上會導致mssqlserver的前台工具無法調出界面等問題)。這類病毒賴以生存的制約是系統的運行時間和隱蔽性。運行時間——系統運行的時間越長,對其感染其他文件越有利,因此此類病毒中一般不含有惡意關機等代碼,染毒後短期內(一般24小時內)也不會導致系統崩潰(如果你是25日感染cih除外),和其他病毒相比用戶有足夠的處理時間。破壞引導區的大腦病毒、擇日發作的星期五病毒、直接讀寫主板芯片,采用驅動技術的CIH病毒都是其中的代表。   感染途徑:此類病毒本身依靠用戶執行而進行被動運行,常見感染途徑爲:盜板光盤、軟盤、安全性不佳的共享網絡;   病毒自查:此類病毒大多通過的是進駐內存後篇曆目錄樹的方式,搜索每個目錄下的可執行文件進行感染,因此對內存占用得比較厲害——如果突然在某個時間後發現自己的機器內存占用很高,可能就是感染了此類病毒。   病毒查殺:這類病毒由于編寫難度較大,因此升級(病毒也玩升級?對,例如CIH是在1.4版本後才完善的)速度相對較慢,但由于開機後進駐的程序可能已經被病毒感染,因此殺毒條件是各種病毒中最爲嚴格的,且這2種方式比較幹淨徹底的方法也適用用後面介紹的各種病毒:   1.軟盤(光盤)啓機使用殺毒軟(光)盤進行殺毒;在進行這一步的時候,必須要保證軟盤或光盤的病毒庫內已經有殺除該病毒的特征碼。   2.將硬盤拆下,作爲其他機器的從盤;從其他機器的主盤啓動進行殺毒(該機需打開病毒即時監控,以防止來自從盤的可執行文件中的病毒進駐到內存中); 以常見的國産幾種殺毒軟件爲例,在購買的正式版本中,除了供安裝使用的光盤外,一般還包含幾張軟盤(一張引導盤,一張殺毒程序盤,一張病毒庫盤)。在對待上面提到的這類病毒時,最好的做法就是用引導盤啓動計算機,然後根據提示將殺毒程序盤和病毒盤依次插入,進行病毒查殺。注意2點:1.目前比較新版本的殺毒程序盤都能完善地支持ntfs分區的讀寫,如果您是在幾年以前購買的殺毒盤,可以根據廠家的服務方式進行升級;2.由于采用軟盤殺毒的時候,使用的是軟盤上的病毒庫,爲了能正確地查殺病毒,請定期升級軟盤的病毒庫,否則真到用的時候就哭也哭不出來了。   殺毒遺留:由于這類病毒是寄生到其他程序內部,即使非常優秀的殺毒軟件,能做到的也只是把該染毒程序內的病毒某關鍵執行部分刪除,使得染毒程序在運行時病毒無法運行。因此並不是嚴格意義上的完全清除——病毒程序的某部分依然殘留在程序內部,俗稱「病毒僵屍」。   在殺除這類病毒的時候,最主要的是分析捕捉特征代碼,因爲抓特征碼的過程中不僅要准確地破壞病毒的執行部分,而且不可以觸動正常的程序代碼。否則會常常出現殺毒之後該程序無法使用的情形——那還叫什麽殺毒?還不如直接刪除文件比較好嘛!在查殺這類病毒上,根據天緣的使用經驗,norton和國內的金山毒霸做的比較好一些。(此評價只根據我個人使用經驗如實說出,不帶任何廣告性質,請各位選擇殺毒産品的時候不要以我的介紹爲依據,本人不承擔任何責任,下同。)   病毒防範:安裝包含即時監控的殺毒軟件並啓機執行,每天升級病毒庫獲取最新病毒特征代碼;盡量不使用來源不可靠的軟盤和光盤,使用前先掃描;關于網絡防毒部分後面一並介紹。 ||||||2.後台運行進行惡意控制和破壞的病毒   病毒描述:帳號被偷,密碼被盜,機器被人遠程控制著放歌/開關機/屏幕倒轉過來,硬盤不住地轉動將關鍵資料向外發出,就是這類病毒的傑作了。這類病毒和上一類病毒最本質的區別是——這類病毒本身是獨立的程序,而不是寄生于另一個程序中。這類病毒的編寫主要在于對操作系統本身接口的熟悉,網絡傳輸的熟悉,以及對隱蔽性的要求,此類病毒的編寫可使用多種語言,對病毒寫作者本身的實力也是一種考驗。這個病毒中,最出名的莫過于BO了,可以說,它指引了這種病毒在windows平台的發展理念。這類病毒就是統稱的「木馬」病毒,通過系統漏洞/用戶操作疏忽進入系統並駐留,通過改寫啓動設置來達到每次啓機運行或關聯到某程序的目的。在windows系統中,表現爲修改注冊表啓動項、關聯Explorer、關聯notepad等方式。   病毒淺析: 此類病毒編寫者的功力就有高有低了。高手所編寫的遠程控制系統可以和最優秀的遠程管理工具相媲美,例如開山鼻主BO,國産的冰河,著名的黃金木馬sub7都屬于這一類,這類程序分爲2個部分,控制端和被控制端;而在unix類平台下的木馬經常是一個簡單外部命令的重新實現——例如將原本的ls命令替換掉,用自己寫的一個程序代替,在執行正常文件列表的同時隱含執行特殊命令,這類木馬的編寫水平也相當高,但在windows下極少出現類似程序替代的木馬,這類病毒的聯系一般是單向進行的;還有一類木馬就是網絡盜竊性質的,以im軟件,網絡遊戲盜號居多,近來發展爲對金融業有所染指,這類一般就是通過程序監視當前窗口,並獲得當前窗口特定控件的值(用戶名/密碼框裏的值),然後通過email,遠程登陸web數據庫等方式把獲得的密碼發出去,這類程序具有一定編程基礎的各位朋友都能做到;第4類是惟恐天下不亂的純搗亂程序,原理跟上一種類似,不過是朝文本框寫信息,例如著名的qq尾巴病毒,這類病毒由于病毒作者將源代碼放出,改寫起來相當容易,智商85以上的人士都能勝任的。這類木馬病毒中的傑出代表爲BO、冰河、Sub 7等。   感染途徑:系統漏洞/用戶錯誤權限/社會工程學;   利用系統漏洞——造成溢出——獲取一定權限——利用其他漏洞或用戶設置不當提升權限——上傳惡意程序/修改系統設置——啓動惡意程序。是這類病毒感染的慣用方式。在後期,出現了以誘騙用戶執行爲主要感染方式的新木馬,充分利用了社會工程學,例如在im類軟件上給你發送一個名爲「我的照片.exe」這樣的文件給你,引誘你打開執行。由于木馬的用途主要是將病毒編寫者感興趣的資料回發——因此感染途徑99%來源于網絡,在完全無網絡單機狀態下的木馬等于是沒用的死馬。   病毒自查:由于木馬發送者的企圖都是通過控制你的機器操作來獲得一定利益,因此都會設置啓動時加載該程序。控制類的木馬需要占用相當一部分系統資源——用戶直接能感覺到的就是啓動速度變慢,系統運行速度變慢;而帳號盜取類的木馬由于需要獲得特定窗口的窗口句柄,因此會在當前窗口切換的時候進行讀取判斷——在機器配置不高的機器上,如果快速輪循窗口,則感覺到窗口出現速度明顯下降;惡作劇類的木馬就不用提了,大家都知道不對勁。   木馬病毒在編制不夠完美的時候,會導致程序溢出——例如運行ie的時候多次出現「非法操作」、打開資源浏覽器速度狂慢等現象,也可能是系統中了木馬後的蛛絲馬迹。在現象判斷上,確實沒有切實的客觀規則可循,主要是依據主觀經驗判斷。總之——如果您沒有安裝任何軟件/修改任何設置,原本昨天速度飛快的機器今天要麽總是非法操作,要麽速度延遲——那麽您被感染了病毒或木馬的可能性相當大了。當然,如果您的qq帳號,傳奇密碼被偷了——更有100%的可能性是潛伏著的木馬幹的。另外,相當多的木馬程序由于帶了hook鈎子,常常導致調試類程序出錯,如果您使用softice調試某些程序時經常無故報錯,那或許也是系統中挂接了異常的hook程序——木馬。   病毒查殺:木馬病毒的繁衍也是相當快速的,特別是行爲上難以判斷——合法遠程控制軟件和木馬在本質上基本上無區別,在執行行爲上也相當類似。而木馬的控制協議一般是走tcp/ip協議,理論上是可以在65535個端口中隨意選擇(當然實際中會避開一些保留端口,防止系統沖突——木馬最必要的生存條件就是其隱蔽性),因此也無法利用端口方式准確判斷出病毒種類;通過特征碼方式,如果木馬作者沒有留下版本信息或說明文字,則也相當難以判斷;特別是木馬的源代碼公開後,想在其中加入一段獨特的功能代碼不是什麽難事,因而衍生的版本特別快也特別多,這更加大了殺毒軟件查殺的的難度。   事實上現在世面上的殺毒軟件對待木馬的查殺能力並不夠強大,如果有可能,可以選擇專用的木馬查殺軟件,如木馬克星等。當然,木馬也有手工解決的辦法,而且對待層出不窮的木馬也只有手工查殺才能以不變應萬變——感染/修改設置/啓動加載/運行獲取密碼 是木馬必經過的4個步驟,讓我們看看怎麽找出藏在機器中的馬來——由于木馬需要啓動加載執行,因此大多采取修改啓動項目來加載的方式進行——那麽,我們就到啓動項目裏去牽馬吧;   在這一步,需要用戶對自己windows的啓動項目熟悉。Win98中,病毒可能在注冊表的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 或者HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run Services中,或者是system.ini文件的[boot]小節將默認項目修改,或者是在Win.ini中的[Windows]小節中的load、run部分進行加載;在Windows\Start Menu\Programs\啓動這裏加載,如果是2000或者xp,除了上面提到的幾個地方,還可能以服務方式加載,在HKEY_LOCAL_MACHINE\Sytem\Current Control Set\Services可以查到具體的加載項目。   對于這一步,由于每個人的機器設置不同,所以天緣也沒辦法給出列表來說明到底加載的程序中哪些程序是正常的,哪些是不正常的。有個比較方便的方法是——當您系統把需要安裝的軟件安裝得當時,您查看一下以上幾個位置,並把其中的項目記錄下來,以後覺得自己可能中木馬了後,再對比一下以前的記錄,將後來添加的自啓動程序記錄下名字/路徑,進行刪除操作。這樣做的好處是——即使刪除掉的是正常程序,也不會是關鍵進程,不會導致系統無法啓動,有恢複修改的余地。在Win98和XP中有個方便的Msconfig命令便于我們查看以上說的啓動項目,如果使用的是Win2000,可以將XP的該文件Copy過去使用。   如果的確發現了可疑的啓動項,那麽接下來的工作就是刪除它了。在刪除的步驟上,有2個選擇:   1.刪除啓動項目,重新啓機,刪除木馬文件;   2.禁止當前運行的木馬程序,刪除啓動項目,重新啓機;   兩種方法各有其優點,下面我們來一一分析。第一種方法,是刪除啓動設置裏的木馬程序選項,並記錄下該木馬文件的位置(可用「查找」功能定位,並記錄下來),然後重新啓動機器(直到機器被重新啓動前木馬依然是存活著的),重新啓動後,木馬程序本身依然存留在硬盤上,然後直接象刪除普通程序一樣刪除掉——這個方法的要點就是先禁止木馬的啓動然後再行殺除,好處是操作簡單,不需要借助其他軟件,特別是在Win98下默認是無法查看某些進程的,因此用這個方法相當方便,壞處則是對某些木馬無效——某些木馬在運行的時候會定期查看設置的啓動項是否還存在,若是不存在的話會自動修改過來,屬于比較強硬的做法,于是第一種殺除方法就無法應對這樣的木馬了;第2種方法是先通過進程管理器查看,記錄並終止運行可疑程序(不光是注冊表/配置文件裏的木馬啓動項,有時候木馬程序本身會運行一個附帶的獨立監視程序來防止自己被改寫   因此需要非常熟悉自己的機器上的固定正常運行程序才能准確判斷,當然還有一個做法是非關鍵進程都殺——天緣在給朋友機器手工殺木馬的時候常這樣),之後再到啓動項目裏去殺除掉相關的啓動項目,重新啓動機器後再把剛才記錄下的進程進行仔細查看,把確認爲木馬的文件刪除掉。這個方法好處當然就是比較容易殺掉一些定期檢查/回寫啓動項目的疑難木馬,不過對用戶的操作要求比較高一些。   以上2種方法如果掌握了,基本上就能把目前的木馬全部手工殺除掉,但遇到木馬使用2個程序互相關聯/檢查啓動,或者是在加載基本驅動階段時以驅動程序方式嵌入的木馬程序時候用上面提到的2種方法都無效。在Win2000/xp中,啓動機器的時候會加載system32/drivers目錄下的驅動,而如果這些驅動中含有惡意程序,那麽它可以做到改寫i/o,讓Windows修改某些文件無效,或讓操作某一注冊表無效,目前這一技術在病毒中尚未看到先例,但頗有爭議的3721已經成功地運用了該技術,相信在不久的將來一些功力深厚的病毒作者也會運用到此技術。天緣在這裏預先提一下對該類病毒的刪除方法——由于病毒已改寫i/o,故最好的做法是在非windows環境中將其刪除,具體的做法是用軟盤/光驅引導啓動,或者利用vFloppy等工具配合boot引導程序制作一個小型虛擬引導盤,進行殺除工作。   殺毒遺留:由于木馬程序並不一定只有一個可執行文件,因此如果利用手工查殺的方法,或許會有一些木馬留下的dll,ocx等資源文件留下,副作用沒什麽,但是會殘留在硬盤上。殺毒軟件嚴格意義上來說只是殺除了一些比較流行的主流木馬,對待一些不太流行的木馬是視而不見的,專業的木馬查殺工具能殺除90%左右的木馬,但剩下的10%高技術的木馬也無法查殺——如上文提到采用3721那種加載到system32/drivers下的木馬在windows上改寫文件/注冊表的讀寫,則無法在windows環境下查殺。   病毒防禦:對待木馬,防止感染遠比事後殺除更爲重要——重要的文件/資料/帳號已經被獲取了,即使把木馬殺了也無事于補。木馬的進駐,除了利用系統漏洞,大多采用欺騙方式——記得一句古話:「便宜莫貪」。網絡上初認識的朋友熱情地給你發他的照片,四處標榜著的免費遊戲外挂,一些小站點吹噓的精品軟件,一些情色站點的專用播放器,一些所謂「安全站點」的所謂黑客工具。   世界上沒有絕對免費的事,以上提到的這些事情中的確有一些是免費的,當更多的是木馬程序,或者利用程序捆綁技術,將正常程序和木馬程序捆綁在一起的。如非必要盡量不要在這些地方進行下載。總想貪圖便宜,會吃大虧的——生活中如此,網絡上同樣是!網絡上喜歡你6位qq號的人遠比覺得你帥的人多;網絡上喜歡你40級帳號的人遠比喜歡你在遊戲中造型的人多;網絡上希望你作他肉機的人遠比他做你肉機的人多。總之一句話,無事獻殷勤——大多非奸即盜!對待漏洞或權限設置不當的,在後面蠕蟲病毒部分一並介紹。 ||||||3.蠕蟲病毒   繁殖,繁殖,再繁殖,利用系統漏洞,通過網絡感染感染其他計算機,繁殖,繁殖,再繁殖。此類病毒深得「乾坤生兩儀,兩儀生四象,四象生八卦」之能,每台受感染的機器,本身又以病毒發送者的身份將蠕蟲病毒送向四面八方。   病毒描述:這類病毒的本質特征之一就是透過網絡主動進行感染,本身不具有太多破壞特性,以消耗系統帶寬、內存、CPU爲主。這類病毒最大的破壞之處不是對終端用戶造成的麻煩,而是對網絡的中間設備無謂耗用。例如網絡中的交換機/路由器/DNS服務器/郵件服務器常常是蠕蟲病毒爆發的最大受害者——「互聯網癱瘓了!?」——2003年1月的SQL蠕蟲爆發就是最好的例證。   病毒淺析:在以前,編寫這類病毒的技術要求相當高。1988年,前面提到的「磁芯大戰」之子羅伯特.莫裏斯在發現了幾個系統漏洞後,編寫了一個精巧的程序,短短時間便將當時的大半個互聯網癱瘓。由以上可以看出,蠕蟲的出現,傳播,感染是需要系統漏洞和獲得系統權限的。莫裏斯不愧爲技術高手,不光在于對病毒的編寫,更在于對系統漏洞的發掘上。隨著時間的推移,操作系統的進步,在功能完善的同時,漏洞也隨之增加。   不少真正的安全小組在發現漏洞的同時,除了會給出詳細的技術說明外,往往附帶一個小程序的源代碼,說明利用漏洞獲得權限的實現。而這個小程序被蠕蟲病毒編寫者如獲至寶,將起改寫,加上文件傳輸,ping掃描,修改啓動項自動執行等能用代碼簡單實現的功能,就成了一個蠕蟲病毒——換句話說,現在編寫蠕蟲病毒的門檻已經大大降低了,所以大家會看到18歲的優秀病毒編寫者雲雲——其實相較起破壞特性來,發現安全漏洞更是需要高超的技術水平——這是安全小組做到的,而不是病毒編寫者。因此可以這樣概括:自從莫裏斯發明出蠕蟲病毒以來,該種病毒的編寫者自身實力日漸下降,從操作系統級水平淪落到代碼編寫級水平,不可同日而語。   感染途徑:系統漏洞/用戶錯誤權限   蠕蟲病毒本事是一個需要以一定身份執行的程序。因此通過系統漏洞進行感染是其手段,提升權限是其企圖,重複感染是其目的。沒打上系統漏洞補丁的操作系統,權限設置松散的設置,極其簡單的用戶密碼是這類病毒的最愛。   病毒自查:由于通過網絡感染,這類病毒都會大量占用網絡帶寬。由于現在普通pc的性能相當不錯,因此一些新興的蠕蟲病毒在大肆占用網卡發送封包的同時,本機速度不會變的太緩慢,這跟自查帶來了一定麻煩。以天緣工作爲例,檢查到內網中有用戶染毒後,電話通知他,結果被反問:「我運行單機程序的時候這麽快,只有上網的時候才覺得慢,是不是你們網絡中心故意搗亂??」網管難做啊,不對單機造成任何傷害的病毒用戶一般難以察覺,因此還是後來會導致系統出錯1分鍾內自動關閉的這類病毒比較受我們網管歡迎呢。上網的朋友可以檢查一下網絡連接的封包發送,如果自己沒進行任何操作的時候,依然有大量的數據報文不斷發出——那麽有很大可能您中了蠕蟲病毒。   病毒查殺:這類蠕蟲病毒由于感染非常迅速,而且是通過系統漏洞方式感染,所以對互聯網絡的危害相當大,唇亡齒寒,因此一般來說發現了該漏洞的操作系統公司和殺毒公司都不會坐視不管,會在第一時間推出補丁和專殺工具。用戶下載後,斷網進行殺毒,然後打上patch,重新啓動系統就能避免再次重複感染了。至于病毒傳播速度太快,在殺毒後下載patch的中途又被重複感染的問題,可見我以前的一篇文章《網管筆記之小兵逞英雄》,舉一反三則可以 。   殺毒遺留:由于該類病毒本身是獨立程序,利用系統漏洞進行遠程權限獲取,進而上傳,運行,感染,所以用專用的軟件殺除後,基本無文件殘留,但部分專殺工具沒有將其啓動項目清理得非常完全,可以使用上面查找木馬啓動設置的方法手工查找加載位置進行刪除。另外切記一定在殺毒後第一時間及時打上補丁,否則重複感染機會高達100% 。   病毒防禦:   1.勤打補丁,一般說來一個操作系統被發現漏洞以後,大概在15天以內相關的病毒就會出現,因此有必要隨時關注自己所使用的操作系統的補丁升級情況,養成每天定時查看補丁升級情形的習慣。這裏的補丁不光包括操作系統自身的,也包含程序服務的補丁,例如ftp服務器的補丁等等。   2.權限設置,很多蠕蟲感染的條件是需要以root級運行的進程出現漏洞,那麽蠕蟲才有權限進行上載、執行的權利,在windows下由于大多數後台進程是以administrator權限執行,帶來的危害也相當大;*nix下則可設置非關鍵進程使用普通用戶或chroot方式來避免權限提升。   3.盡量少開服務,可開可不開的服務絕對不開,最小化風險;   4.安裝網絡封包防火牆,只允許特定的端口的數據包通過或者特定的程序訪問網絡。這部分我們放在後面攻擊防禦那裏介紹。 ||||||4.腳本病毒   這類病毒編寫最爲簡單,但造成的危害非常大。我們常見的浏覽了xx站點就被改了主頁,在收藏夾裏被添加上很多無謂的東西,就是拜這類病毒所賜。   病毒描述:這類病毒的本質是利用腳本解釋器的檢查漏洞和用戶權限設置不當進行感染傳播;病毒本身是ascii碼或者加密的ascii碼,通過特定的腳本解釋器執行産生規定行爲,因其行爲對計算機用戶造成傷害,因此被定性爲惡意程序。最常見的行爲就是修改用戶主頁,搜索頁,修改用戶收藏夾,在每個文件夾下放置自動執行文件拖慢系統速度等;比較出名的如美利莎郵件病毒、新歡樂時光病毒、office的宏病毒等都屬于這類。   病毒淺析:爲了完成一些自動化的任務,需要用程序方式來實現。但複雜的程序編寫又不是非程序人員能夠勝任的。爲了提高工作效率,方便用戶操作,加強系統特性,于是許多軟件/操作系統都預留了接口給用戶,用簡單的方法編寫一些完成一定功能的小程序。程序本身是ascii碼的,不編譯,直接解釋執行,在調試/修改使用上相當簡便,雖然犧牲一定效率,但是換來了易用性。這本是一個良好的願望,但太多的時候,這沒有起到積極的作用,反而爲腳本病毒編寫者提供了良機。   以web病毒爲例,由于用戶缺乏安全意識用錯誤的權限登陸,導致ie中的解釋器使用wsh可以操作硬盤上的文件和注冊表,而javascript和vbscript調用wsh是很容易的事情——于是惡意腳本的作者只需要讓你訪問該頁面,就能在你本地寫上一些惡意的腳本,在注冊表裏修改你的主頁/搜索項了。而利用ie的activex檢查漏洞,則可以在不提示地情況下從網絡上下載文件並自動執行——這就成了木馬攻擊的前奏曲;利用mime頭漏洞,則可以用一個以jpg結尾的url中,指向一個事實上的web頁,然後在web頁中內嵌圖片+惡意代碼的方式迷惑計算機用戶;利用outlook自動讀去eml的特性和mime頭檢查不嚴格來執行惡意2進制代碼;利用本地硬盤上有執行autorun.inf的特性(這功能本來是光驅用的,我們的光盤之所以放進去就能自動讀出程序,就是光盤上有個名爲autorun.inf文件起的作用,它是個文本文件,各位可以看看)把一些需要加載的程序寫到該文件下導致每次訪問該分區的時候就會自動運行;利用windows下會優先讀取folder.htt和desktop.ini的特性,將惡意代碼寫入其中,導致訪問任何一個文件夾的時候都會啓動該病毒,再配合上鎖定注冊表的功能,殺除起來異常麻煩——不複雜,但是相當煩瑣,一不留意沒殺幹淨一處,又導致死灰複燃,前功盡棄。   病毒自查:上面有提到,這類病毒一般以搗亂居多,所以特別容易發現。而其另一個作用是作爲木馬進駐系統的先遣部隊,利用浏覽器漏洞等達到下載木馬文件到本地硬盤,並修改啓動項,達到下次啓機運行的目的。因此一旦發現木馬的同時,也可以檢查一下是不是有些可疑的腳本文件。   病毒查殺:這類病毒一般來說由于其編寫靈活,源代碼公開,所以衍生版本格外地多;殺毒軟件/木馬殺除軟件對待這類病毒大多沒用。而由于腳本病毒(除宏病毒外)大多是獨立文件,只要將這些文件查找出來刪除掉就行了。不過這裏值得留意的是,利用微軟的浏覽器的漏洞,在點擊選擇某些文件的同時就自動執行了,甚至打開浏覽器的同時腳本病毒就開始駐留感染——這樣是無法殺除幹淨的。   正確的做法是使用其他第三方的資源浏覽器,例如Total Command就是一個非常不錯的選擇。查殺大致過程如下:首先,在資源浏覽器——工具——文件夾選項中,將「使用Windows傳統風格的桌面」取消掉,在桌面上點右鍵,點「屬性」——「桌面設置」,將使用活動桌面取消,接著查殺可疑對象;常見查殺對象:各個根分區下的autorun.inf,各個目錄下的desktop.ini和folder.htt(有幾個是系統自帶的,不過刪除了也無關系的),這一步最好采用第三方的資源浏覽器,例如前面介紹的Total Command來完成。在這一步,最忌諱查殺不淨,即使有一個病毒遺漏,很快就又遍布各個文件夾內了。關于郵件病毒的殺除使用專殺工具就行了。   病毒殘留:純粹腳本病毒在殺除後不會有任何殘留,但由于目前的病毒大都采用複合形態,捆綁多種傳染方式和多種特性,因此不少腳本病毒只是將用戶機器的安全防線撕開的前奏——真正的破壞主力木馬、蠕蟲尾隨其後進入系統,因此在殺除掉腳本病毒後,非常有必要連帶著檢查系統中是否已經有了木馬和蠕蟲病毒。   病毒防禦:腳本病毒的特性之一就是被動觸發——因此防禦腳本病毒最好的方法是不訪問帶毒的文件/web網頁,在網絡時代,腳本病毒更以欺騙的方式引誘人運行居多。由于ie本身存在多個漏洞,特別是執行activex的功能存在相當大的弊端,最近爆出的重大漏洞都和它有關,包括mozilla的windows版本也未能幸免。因此個人推薦使用myie2軟件代替ie作爲默認浏覽器,因爲myie2中有個方便的功能是啓用/禁用web頁面的activex控件,在默認的時候,可以將頁面中的activex控件全部禁用,待訪問在線電影類等情況下根據自己的需要再啓用。關于郵件病毒,大多以eml作爲文件後綴的,如果您單機有用outlook取信的習慣,最好准備一個能檢測郵件病毒的殺毒軟件並及時升級。如果非必要,將word等office軟件中的宏選項設置爲禁用。腳本病毒是目前網絡上最爲常見的一類病毒,它編寫容易,源代碼公開,修改起來相當容易和方便,而且往往給用戶造成的巨大危害。   以上4類程序的介紹,爲了降低學習難度,我是單態方式來介紹的。事實上目前的病毒大多以具有上面4類程序中的2到3類的特征,因此無論感染,傳播,殺除的困難都大大增加。例如發文前夕的mydoom新變種病毒的分析中:它利用系統漏洞/郵件群發/共享漏洞方式傳播(具備了蠕蟲、腳本病毒和新型病毒的傳播特性),進駐用戶系統後上載自身並運行(木馬特性),獲取用戶本地outlook中的地址本(木馬特性),通過調用google等搜索引擎獲取用戶email地址本中同後綴的相關選項(調用系統程序,木馬功能),再主動給地址本中的每個程序發出email(木馬特性)。對待這樣一個病毒,無論是系統存在漏洞、共享安全設置不當、或者隨意地打開了「朋友」發來的email,都可能導致中毒。關于中毒途徑的分析,留待下一站《攻擊防禦之旅》內一並介紹。   在從第一個病毒出現到現在,已經有整整半個世紀了,病毒的發展日新月異,令查殺的困難大大增加,造成的損失也異常巨大。或許,計算機病毒這個幽靈,從計算機誕生的那一刻起就注定要如影相隨的。只要還有用心險惡的人存在,那麽病毒就不會消亡。病毒之戰,恐怕會在今後的日子裏越演越烈……
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有