萬盛學電腦網

 萬盛學電腦網 >> 健康知識 >> 用Autoruns揪出流氓軟件的驅動保護

用Autoruns揪出流氓軟件的驅動保護

一、為什麼流氓軟件總是刪不掉?

  經常有網友發貼子說文件刪除不掉,或者流氓軟件清除不了,或者刪除了相關的文件,但是馬上它又出現了。現在流氓軟件為了保護自己,采取的手段是五花八門,無所不用其極:進程保護,交叉感染,自啟動,自我恢復,文件隱藏,進程注入,驅動保護。

  到目前為止,所有流氓軟件最終極、最有效的保護辦法還是底層驅動級的保護,一般就是在drivers目錄下增加一個或多個.sys文件(我也見過一個用rundll32來運行一個.dll作為驅動的),但本質上這個都會在Windows的HKLM\SYSTEM\CurrentControlSet\Services\下建一個相關的值,如CNNIC建立的就是HKLM\SYSTEM\CurrentControlSet\Services\cdnprot,並且將啟動級別做得很高,在安全模式下也會自動啟動。這個底層的驅動過濾所有的文件以及注冊表操作,如果發現是對流氓軟件自己的文件/注冊表操作,就會直接返回一個true,如果發覺文件被刪除,就會通過備份或者網絡來下載恢復。它們的保護措施已經做到這一級,普通用戶根本沒有辦法刪除相關的文件,一般都需要重啟到DOS系統下去刪除文件。

  這也是很多網友提的為什麼文件刪除不掉,或者刪除了,重啟之後,一會兒又出現了,陰魂不散的原因。下面我們的要做的,就是找出來這些流氓軟件的後台的驅動保護。

二、為什麼找出驅動保護很困難?

  Windows的驅動文件一般位於system32\drivers目錄下,以.sys文件方式存在,通過注冊表的HKLM\SYSTEM\CurrentControlSet\Services\的方式來啟動,有一部分屬於服務的,可以在Windows的服務的MMC控制窗口裡看到。但如果是驅動,則在這裡看不到。Windows正式情況下,那個drivers目錄下有200個左右的文件,如果偷偷往這個下面塞一個.sys文件,是很難發現的。象著名的3721這類cnsminkp.sys,CNNIC的cdnprot.sys比較容易認識,但現在的很多軟件的名字都是不固定的,或者是隨機生成的,這樣的辨識的難度就很大。我曾經用過的方式有:

  1、通過保存文件列表,時常自己手工比較這兩個文件,看前後差別多出來的文件肯定有問題

  2、通過文件生成的日期。(這點流氓軟件也想到了,日期也只能作為參考)

  3、通過文件的屬性裡在的公司信息。早年還行,現在越來越多的流氓軟件的驅動冒充是M$的,有的連英文單詞都寫錯了。

  4、通過文件夾監視工具。

  上面這四種都有一定的缺陷,只能作為參考,都不是太好。並且現在有一些軟件通過文件系統隱藏,這些驅動文件,通過資源管理器,根本連看都看不到。

三、如何找出可疑驅動來?

  難道沒有更好的辦法嗎?有,應該有的,這個就是我們今天要介紹的主角:Autoruns

  介紹:Autoruns是著名的sysinternals出品的一款小軟件,它的主要功能是列出系統自啟動的項目。通過它,你可以輕易查看到所有系統可能啟動的地方,非常的全面。跟流氓軟件相關的是“Services(服務)",“LSA Providers(LSA提供者)”、"Winsock Providers(Winsock提供者)",“Drivers(驅動)“。下面重點介紹Drivers這一部分的功能。

  運行Autoruns之後,在它的“Options(選項)”菜單中有兩項“Verifiy Code Signatures(驗證代碼簽名)“Hide Signed Microsoft Entries(隱藏已簽名的微軟項)“,把這兩項都選中了。驗證代碼簽名是指驗證所有dirvers下的.sys文件的文件簽名。Windows下的硬件有一個簽名的功能,它是為了保證所有的驅動文件是經過M$測試,符合HAL兼容性。隱藏已簽名的微軟項,就是把那些合法的隱藏起來。不然200多個,會看著發暈的。

  這樣Autoruns就會檢查所有已經注冊成為驅動的項,並且檢查所有的.sys的文件數字簽名。所有假冒的或者沒有通過代碼簽名的項,都會在這裡列出來。也就可以很容易判斷這個驅動是不是有問題了。如果有問題的話,可能通過冰刃把裡面相關的注冊表鍵值刪除,重啟機器,這樣驅動保護就失效了,,然後可以通過文件刪除工具來刪除其它的文件,完成最後的清理工作。

四、總結

  最後再總結一下:

  1、流氓軟件刪除不掉或者死灰復燃,很多時候是因為有驅動或服務保護

  2、通過Autoruns找到這些可疑的驅動

  3、通過冰刃刪除相關驅動健值或者直接用文件粉碎器刪除相關的.sys文件,重啟驅動就無效

  4、清理其它文件,完成善後工作。

  以上方法通過各種測試是證明有效的,但不排除將來有更進一步的隱藏手段來躲避Autoruns的檢查。但原理是一樣的。不過是通過程序來減少工作量。

copyright © 萬盛學電腦網 all rights reserved