天天看點

Windows Vista下的Rootkit攻防

文章同時發表在:[url]http://netsecurity.51cto.com/art/200708/52554.htm[/url]

       Rootkit是一種特殊的惡意軟體,它的功能是在安裝目标上隐藏自身及指定的檔案、程序和網絡連結等資訊,Rootkit一般都和木馬、後門等其他惡意程式結合使用。Rootkit通過加載特殊的驅動,修改系統核心,進而達到隐藏資訊的目的。

     WindowsVista自身對惡意軟體的防護主要是通過驅動程式數字簽名、使用者通路控制(UAC)和WindowsDefender來實作的,前兩者對Rootkit類惡意軟體的防禦尤為重要。因為Rootkit的隐藏功能實作需要加載驅動,我們就先說說Vista的驅動程式加載管理:Vista驅動程式的安裝加載管理和原有的Windows版本相比有較大的改進,在Microsoft的設計中,Vista不允許加載沒有經過數字簽名的驅動程式,而在之前的Windows2000、XP、2003系統上,系統雖然會在安裝未簽名或老版本驅動程式時會有提示,但安裝好之後是能夠加載的。

      出于Microsoft意料之外的是,“有數字簽名的驅動程式才能被Vista所加載”這個設定對Rootkit類的防護作用并不是很大。去年的Blackhat會議上,曾有研究人員示範過在VistaX64Beta2版本上通過修改磁盤上頁面檔案來加載未經數字簽名的驅動程式,雖然這個漏洞稍後被Microsoft補上,但已經說明通過技術手段來突破Vista的驅動加載管理并非不可能。但要突破Vista驅動加載管理的更好途徑是在數字簽名本身上做功夫,之前曾有安全研究人員提到,Vista驅動程式的數字簽名申請的稽核并不嚴格,隻需要有合法的申請實體,并交納少許的申請費用即可。這樣,通過注冊或借用一個公司的名義,Rootkit作者完全可以從Microsoft拿到合法的驅動數字簽名,也就是說,很有可能會出現擁有Microsoft數字簽名的、“合法”的Rootkit程式。攻擊者還可以使用特殊的加載程式來加載沒經數字簽名的程式,安全公司LinchpinLabs最近就釋出了一個叫做Astiv的小工具,這個工具實作的原理就是使用經過數字簽名的系統元件來加載未經數字簽名的驅動程式,而且用這種方式加載的驅動程式并不會出現在正常驅動程式清單中,更增強了加載目标驅動程式的隐蔽。

使用者通路控制(UAC)是Vista防禦惡意軟體的另外一個手段

      在開啟了UAC的Vista系統上,使用者的權限相當于被限制了的管理者權限,如果使用者程式要對系統盤及系統資料庫等地方進行修改的話,需要使用者進行互動的二次确認。如果使用者拒絕或者是目标程式比較特殊(比如木馬、後門等)不出現UAC提示,因為對系統目錄和系統資料庫的通路被Vista所拒絕,除了極個别不寫入系統目錄的之外,大部分目标程式是無法安裝成功的。Rootkit程式在UAC環境中同樣會因為權限問題而無法安裝成功,但很多情況下,攻擊者會使用社會工程學的方法來誘騙使用者信任攻擊者所提供的程式,并在UAC提示時選擇允許操作。

     至此可以得出一個結論,由于WindowsVista從設計開始就很重視安全性,是以對它推出之前的Rootkit等惡意軟體的防禦水準到達了一個新的高度,攻擊者單純靠技術手段攻擊的成功率已經比在原先的Windows2000/XP/2003平台上大為下降。但我們也應該注意到,攻擊者會更多的使用社會工程手段,僞造和利用各種信任關系,欺騙使用者安裝惡意軟體。

如何在Vista下對Rootkit類惡意程式進行防護?使用者可以參考以下幾點:

1、保持Vista的系統更新檔版本為最新。

2、不在不可信的來源擷取軟體,并在安裝使用時留意系統的各種提示,尤其是有關數字簽名的提示。

3、注意UAC的提示資訊,及時攔截試圖修改系統的危險操作。

4、使用反病毒軟體并保持病毒庫版本為最新,為防護惡意軟體多加一層保障。

5、定期使用支援Vista的反Rootkit工具對系統進行掃描檢查。

繼續閱讀