萬盛學電腦網

 萬盛學電腦網 >> 健康知識 >> 打贏防毒戰爭 教你徹底防殺木馬病毒

打贏防毒戰爭 教你徹底防殺木馬病毒

  “我想,我們應該燒掉這個東西。”3000多年前,面對希臘人突然遺留在戰場廢墟上的這只巨大的木馬,特洛伊王國的小王子帕裡斯對他的父王說。因為他有一種不安的感覺,這個突然出現的物體會帶來厄運。然而沒有人聽他的話,整個軍隊固執的把這只龐然大物作為戰利品運回了城裡。幾天後的夜裡,藏在木馬裡的希臘士兵從內部打開了特洛伊那堅不可摧的城門——特洛伊因此淪陷。如果帕裡斯仍有靈魂存在的話,他也許會苦苦思索這個問題:如果當初我堅持把這個帶來厄運的東西焚燒掉,那麼特洛伊將會是怎樣一種結局呢?    請允許我改編情感作家姜湯的一句話:“二十一世紀的網絡是木馬橫行的世界,人類在解決病毒戰爭之後,最大的困惑就是木馬後門的攻防難題。”    眾所周知,木馬(Trojan,或稱後門“BackDoor”)是一種危害巨大的程序,它們讓被害的計算機對著未知的入侵者敞開了大門,使得受害者的系統和數據暴露在混亂的網絡世界裡。和病毒一樣,木馬也經歷了好幾代的演變,使得它越藏越深,成為另一種難以揪除的寄生蟲。    ——如果,我們趁早把木馬焚燒掉呢?    認識木馬    簡言之,信息領域的木馬,就是一種能潛伏在受害者計算機裡,並且秘密開放一個甚至多個數據傳輸通道的遠程控制程序,它由兩部分組成:客戶端(Client)和服務器端(Server),客戶端也稱為控制端。木馬的傳播感染其實指的就是服務器端,入侵者必須通過各種手段把服務器端程序傳送給受害者運行,才能達到木馬傳播的目的。當服務器端被受害者計算機執行時,便將自己復制到系統目錄,並把運行代碼加入系統啟動時會自動調用的區域裡,借以達到跟隨系統啟動而運行,這一區域通常稱為“啟動項”。當木馬完成這部分操作後,便進入潛伏期——偷偷開放系統端口,等待入侵者連接。到此為止,木馬還只處於被特洛伊的市民拉入城內的階段,是不會進行破壞行動的。    當入侵者使用客戶端連接上木馬服務器端開放的端口後,特洛伊的城門就被打開了,到這裡,木馬的噩夢才正式開始……    所以,在木馬屠城的軍號吹響之前,如果帕裡斯及時點燃了這只龐然大物,特洛伊也許就不會消失——至少,它不會是被一只木馬給毀掉的。    阻止木馬進城——不同時期的木馬形態與相應的系統保護    特洛伊被木馬計的前提是因為特洛伊人自己把藏有希臘士兵的木馬運進了城內,讓木馬計得以成功實施,換個角度,5自學網,如果當初特洛伊人任憑木馬擱在海灘上發霉發臭,或者直接焚燒了這只裝載著厄運的東西,那麼“特洛伊木馬”將會被作為與“馬奇諾防線”同樣性質的著名無效戰略而被列入史冊,而且後世可能再也不會采用這種攻擊手段。    但是希臘人的木馬計成功了,正如現在數以千計的現代網絡木馬計成功了一樣。現代的希臘人——入侵者積極使用各種手段讓現代的特洛伊人——受害者把那只木馬程序高高興興的領回家去。    早期的防病毒思想並不盛行,那時候的網民也比較單純,使用網絡防火牆的人也只有少數,所以那時候的入侵者可以算是幸福的,他們只需要一點簡單的社會工程學手段就能把木馬程序傳輸給對方執行,這一時期的木馬種植手段(如今的普遍稱謂為“下馬”)基本上不需要牽涉到技術,也許唯一需要的技術就是如何配置和使用一個木馬,因為那時候木馬也還是個新產物而已。那時候的網民,只能依靠自己的判斷和技術,才能免受或擺脫木馬之害。因此,當木馬技術剛在國內開始的時候,任意一個IP段都有可能存在超過40%的受害計算機開放著大門等待入侵者進攻,可以毫不誇張的說,那時候是木馬的第一黃金時期,唯一美中不足的制約條件就是當時的網絡速度普遍太慢了。    隨著時間的流逝,木馬技術發展日益成熟,但網民的安全意識也普遍提高,更出現了初期的病毒防火牆概念,這個時期的入侵者必須掌握更高級的社會工程學手段和初期的入侵技術才能讓對方受害了,這時期的木馬雖然隱蔽性有了相對提高,但仍然是基於客戶端尋找連接服務器端的模式。由於出現了病毒防火牆,網民判斷和查殺木馬的效率大大提高,而且大部分人也知道“人心不古”了,不再輕易接收陌生人給的程序,使得木馬不再像上時期那樣肆無忌彈的橫行,但是因為病毒防火牆是個新興產物,仍然有相對多的人沒有安裝使用,以至於許多老舊的木馬依然可以橫行無忌。    再後來,隨著網絡防火牆技術誕生和病毒防火牆技術的成熟,木馬作者被迫緊跟著防病毒廠商的腳步更新他們的作品以避免馬兒過早“殉職”,同時由於網絡防火牆技術的出現,讓計算機與網絡之間不再直接,尤其是網絡防火牆實現的“攔截外部數據連接請求”與“審核內部程序訪問網絡請求”的策略,導致大部分木馬紛紛失效,這時期的木馬逐漸分裂成兩個派別:一種依然采用客戶端連接服務器端的方式,只是改為了其他傳輸途徑,如E-MAIL、FTP等,或者在內部除掉網絡防火牆,以便自己暢通無阻;另一種則改變了入侵的思維,把“客戶端連接服務器端”變為“服務器端連接客戶端”,再加上一點社會工程學技術,從而突破了網絡防火牆的限制,也因此誕生了一種新的木馬技術——“反彈型”木馬。這一時期裡,入侵者與受害者之間的戰爭終於提升到技術級別,若想保護自己,除了安裝網絡防火牆和病毒防火牆,以及接觸網絡攻防技術以外別無他法,這個“基礎互動”一直保持到今天的XP時代。    到了XP時代,網絡速度有了質的飛躍,黑客攻防戰更是越來越多的浮上水面,因為系統變了,一個專門為網絡應用而誕生的操作系統,必定會存在與網絡有關的缺陷。沒錯,WinXP相對於Win9x的弱點就是它的網絡漏洞太多了,無論是利用MIME漏洞傳播的信件木馬,還是通過LSASS溢出而放下的木馬,都能在XP系統上分到一塊肉。你也許會說,Win9x同樣有許多漏洞,但是為什麼它沒有XP的煩惱?這是因為Win9x的網絡功能太弱了,幾乎沒有什麼系統組件需要依靠網絡運行!所以現在的用戶,自學教程,除了使用網絡防火牆和病毒防火牆把自己包裹得嚴嚴實實以外,還要三天兩頭去微軟的系統更新站點安裝各種漏洞修復程序……    別讓士兵們下馬!——防止木馬啟動    話說藏在木馬裡的希臘士兵入城以後,並沒有急著下馬屠城,而是待到夜深人靜之時,才出來打開了牢固的城門,為特洛伊的毀滅奏響了哀歌。而計算機內部沒有人類社會的地理和時間關系,即使你的硬盤裡現在就存放著100個木馬程序,它們也比特洛伊海灘上那只大木馬的處境好不到哪裡去,因為對於操作系統來說,任何有害程序只要沒有運行,它就可以等同於那些未能下馬的士兵,一律視為無害。要讓系統變成特洛伊城的黑夜,唯一的方法只能是啟動木馬的服務器端,而啟動木馬的最簡單途徑,就是通過“啟動項”加載運行。     任何操作系統都會在啟動時自動運行一些程序,用以初始化系統環境或額外功能等,這些被允許跟隨系統啟動而運行的程序被放置在專門的區域裡供系統啟動時加載運行,這些區域就是“啟動項”,不同的系統提供的“啟動項”數量也不同,對於Win9x來說,它提供了至少5個“啟動項”:DOS環境下的Autoexec.bat、Config.sys,Windows環境下的“啟動”程序組、注冊表的2個Run項和1個RunServices項,分別是:    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices    到了2000/XP系統時代,DOS環境被取消,卻新增了一種稱之為“服務”的啟動區域,注冊表也在保持原項目不變的基礎上增加了2個“啟動項”:    項目 鍵名    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows AppInit_DLLs    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows run    這麼多的啟動入口,木馬自然不會放過,於是我們經常在一些計算機的啟動項裡發現陌生的程序名,這時候就只能交由你或者病毒防火牆來判斷了,畢竟系統自身會在這裡放置一些必要的初始化程序,還有一些正常工具,包括病毒防火牆和網絡防火牆,它們也必須通過啟動項來實現跟隨系統啟動。    此外還有一種不需要通過啟動項也能達到跟隨系統啟動的卑劣手法,那就是“系統路徑遍歷優先級欺騙”,Windows系統搜尋一個不帶路徑信息的文件時遵循一種“從外到裡”的規則,它會由系統所在盤符的根目錄開始向系統目錄深處遞進查找,而不是精確定位的,這就意味著,如果有兩個同樣名稱的文件分別放在C:\和C:\Windows下,Windows會執行C:\下的程序,而不是C:\Windows下的。這樣的搜尋邏輯就給入侵者提供了一個機會,木馬可以把自己改為系統啟動時必定會調用的某個文件名,並復制到比原文件要淺一級以上的目錄裡,Windows就會想當然的執行了木馬程序,系統的噩夢就此拉開序幕。這種手法常被用於“internat.exe”,因為無論哪個Windows版本的啟動項裡,它都是沒有設置路徑的。    要提防這種占用啟動項而做到自動運行的木馬,用戶必須了解自己機器裡所有正常的啟動項信息,才能知道木馬有沒有混進來。至於利用系統路徑漏洞的木馬,則只能靠用戶自己的細心了。    為什麼它無法根除?——文件並聯型木馬的查殺    某些用戶經常會很郁悶,自己明明已經刪除了木馬文件和相應的啟動項,可是不知道什麼時候它自己又原封不動的回來了,這還不算,更悲慘的是有時候殺掉某個木馬後,系統也出了故障:所有應用程序都打不開了。這時候,如果用戶對計算機技術的了解僅限於使用殺毒軟件,那可只能哭哭啼啼的重裝系統了!    為什麼會這樣?難道這種木馬還惡意修改了系統核心?其實答案
copyright © 萬盛學電腦網 all rights reserved