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工具對系統進行掃描檢查。