以前,我曾認(rèn)為只要不隨便運(yùn)行網(wǎng)友發(fā)來的文件就不會(huì)中病毒或木馬查殺法http://www.woaidiannao.com,但后來出現(xiàn)了利用漏洞傳播的沖擊波、震蕩波;以前,我曾認(rèn)為不上小網(wǎng)站就不會(huì)中網(wǎng)頁(yè)木馬查殺法,但后來包括國(guó)內(nèi)某知名游戲網(wǎng)站在內(nèi)的多個(gè)大網(wǎng)站均在其首頁(yè)被黑客掛上了木馬查殺法。從此,我知道:安全,從來沒有絕對(duì)的。
雖然沒有絕對(duì)的安全,但如果能知已知彼,了解木馬查殺法的隱藏手段,對(duì)于木馬查殺法即使不能百戰(zhàn)百勝,也能做到及時(shí)發(fā)現(xiàn),使損失最小化。那么,木馬查殺法究竟是如何躲在我們的系統(tǒng)中的呢?
最基本的隱藏:不可見窗體+隱藏文件
木馬查殺法程序無論如何神秘,但歸根究底,仍是Win32平臺(tái)下的一種程序。Windows下常見的程序有兩種:
1.Win32應(yīng)用程序(Win32 Application),比如QQ、Office等都屬于此行列。
2.Win32控制臺(tái)程序(Win32 Console),比如硬盤引導(dǎo)修復(fù)程序FixMBR。
其中,Win32應(yīng)用程序通常會(huì)有應(yīng)用程序界面,比如系統(tǒng)中自帶的“計(jì)算器”就有提供各種數(shù)字按鈕的應(yīng)用程序界面。木馬查殺法雖然屬于Win32應(yīng)用程序,但其一般不包含窗體或隱藏了窗體(但也有某些特殊情況,如木馬查殺法使用者與被害者聊天的窗口),并且將木馬查殺法文件屬性設(shè)置為“隱藏”,這就是最基本的隱藏手段,稍有經(jīng)驗(yàn)的用戶只需打開“任務(wù)管理器”,并且將“文件夾選項(xiàng)”中的“顯示所有文件”勾選即可輕松找出木馬查殺法(見圖1),于是便出現(xiàn)了下面要介紹的“進(jìn)程隱藏”技術(shù)。
第一代進(jìn)程隱藏技術(shù):Windows 98的后門
在Windows 98中,微軟提供了一種能將進(jìn)程注冊(cè)為服務(wù)進(jìn)程的方法。盡管微軟沒有公開提供這種方法的技術(shù)實(shí)現(xiàn)細(xì)節(jié)(因?yàn)閃indows的后續(xù)版本中沒有提供這個(gè)機(jī)制),但仍有高手發(fā)現(xiàn)了這個(gè)秘密,這種技術(shù)稱為RegisterServiceProcess。只要利用此方法,任何程序的進(jìn)程都能將自己注冊(cè)為服務(wù)進(jìn)程,而服務(wù)進(jìn)程在Windows 98中的任務(wù)管理器中恰巧又是不顯示的,所以便被木馬查殺法程序鉆了空子。
要對(duì)付這種隱藏的木馬查殺法還算簡(jiǎn)單,只需使用其他第三方進(jìn)程管理工具即可找到其所在,并且采用此技術(shù)進(jìn)行隱藏的木馬查殺法在Windows 2000/XP(因?yàn)椴恢С诌@種隱藏方法)中就得現(xiàn)形!中止該進(jìn)程后將木馬查殺法文件刪除即可。可是接下來的第二代進(jìn)程隱藏技術(shù),就沒有這么簡(jiǎn)單對(duì)付了。
第二代進(jìn)程隱藏技術(shù):進(jìn)程插入
在Windows中,每個(gè)進(jìn)程都有自己的私有內(nèi)存地址空間,當(dāng)使用指針(一種訪問內(nèi)存的機(jī)制)訪問內(nèi)存時(shí),一個(gè)進(jìn)程無法訪問另一個(gè)進(jìn)程的內(nèi)存地址空間,就好比在未經(jīng)鄰居同意的情況下,你無法進(jìn)入鄰居家吃飯一樣。比如QQ在內(nèi)存中存放了一張圖片的數(shù)據(jù),而MSN則無法通過直接讀取內(nèi)存的方式來獲得該圖片的數(shù)據(jù)。這樣做同時(shí)也保證了程序的穩(wěn)定性,如果你的進(jìn)程存在一個(gè)錯(cuò)誤,改寫了一個(gè)隨機(jī)地址上的內(nèi)存,這個(gè)錯(cuò)誤不會(huì)影響另一個(gè)進(jìn)程使用的內(nèi)存。