一直以來(lái),微軟Windows操作系統(tǒng)因龐大的裝機(jī)量,成為木馬、病毒等程序所攻擊的目標(biāo)。有時(shí)候用戶(hù)也會(huì)在不經(jīng)意的情況下破壞系統(tǒng)文件。系統(tǒng)不穩(wěn)定大部分情況下都是由于系統(tǒng)文件遭受到破壞所引起的。雖然在正版Windows7中系統(tǒng)文件的穩(wěn)定性有了不少的改善,但來(lái)自各方面的威脅還是再所難勉。
在談這個(gè)話(huà)題之前,首先系統(tǒng)管理員需要明白一點(diǎn),就是微軟操作系統(tǒng)中的系統(tǒng)文件不管管是操作系統(tǒng)安裝時(shí)的必需文件,而且還包括一些驅(qū)動(dòng)程序。微軟操作系統(tǒng)對(duì)硬件的支持力度要比Linux等開(kāi)源操作系統(tǒng)強(qiáng)的多。在Windows7操作系統(tǒng)中,一進(jìn)攻可以檢測(cè)大多數(shù)的硬件,并且在安裝過(guò)程中會(huì)自動(dòng)查找并安裝相應(yīng)的驅(qū)動(dòng)程序。這主要是因?yàn)槲④浽谝粋(gè)新版本操作系統(tǒng)出來(lái)之前,都會(huì)對(duì)當(dāng)前主流的硬件設(shè)備進(jìn)行測(cè)試。如果測(cè)試通過(guò)的話(huà)會(huì)將這個(gè)硬件的驅(qū)動(dòng)程序加入到操作系統(tǒng)中。所以在Windows7系統(tǒng)安裝成果后不用手工安裝驅(qū)動(dòng)程序就可以識(shí)別大部分的硬件。而這些驅(qū)動(dòng)程序也就構(gòu)成了微軟操作系統(tǒng)中的系統(tǒng)文件。以下對(duì)于系統(tǒng)文件穩(wěn)定性的一些保護(hù)措施,對(duì)于這些驅(qū)動(dòng)程序文件同樣有效。
一、利用文件簽名來(lái)驗(yàn)證Windows7系統(tǒng)文件是否被修改
在Windows7操作系統(tǒng)中,所有的系統(tǒng)文件(包括微軟認(rèn)可的驅(qū)動(dòng)程序文件)都會(huì)帶有微軟的簽名。在這個(gè)簽名信息中包含了系統(tǒng)文件名、存儲(chǔ)路徑、文件創(chuàng)建的日期以及版本號(hào)等信息。如果系統(tǒng)管理員在Windows7系統(tǒng)部署完畢后,收集相關(guān)的信息。然后當(dāng)操作系統(tǒng)出現(xiàn)不穩(wěn)定的情況,系統(tǒng)管理員懷疑是系統(tǒng)文件遭受破壞所引起的,就可以將系統(tǒng)文件的簽名與原始簽名進(jìn)行對(duì)比,就可以判斷系統(tǒng)文件是否在管理員不知情的情況下被更改了。從而可以采取相關(guān)的措施來(lái)修復(fù)系統(tǒng)文件來(lái)恢復(fù)操作系統(tǒng)的穩(wěn)定性。
在微軟操作系統(tǒng)中,現(xiàn)在不需要手工來(lái)收集這些信息。在系統(tǒng)中提供了一個(gè)圖形化文件簽名工具,可以幫助系統(tǒng)管理員來(lái)做這項(xiàng)工作。在命令行模式下,輸入sigverif命令就會(huì)彈出如下的對(duì)話(huà)框。

文件簽名驗(yàn)證
這個(gè)文件簽名工具是微軟操作系統(tǒng)提供的一個(gè)基于圖形化管理的工具。當(dāng)安裝了某個(gè)應(yīng)用程序或者硬件設(shè)別時(shí),如果系統(tǒng)管理員懷疑原始的、被保護(hù)的、經(jīng)過(guò)數(shù)字簽名的系統(tǒng)文件或者啟動(dòng)程序被非法修改或者替換,則就可以利用這個(gè)工具來(lái)檢查是否有這種情況的存在。雖然這個(gè)工具在以前版本的操作系統(tǒng)中已經(jīng)存在,但是以前一直被大家所忽視。在Windows7中對(duì)這個(gè)工具做了不少的改善,特別是在性能上。經(jīng)過(guò)筆者的測(cè)試,在Windows7操作系統(tǒng)中,這個(gè)工具的運(yùn)行速度要比以前版本的操作系統(tǒng)快好幾倍。另外這個(gè)工具在功能上也有所改進(jìn)。如在以前的操作系統(tǒng)中只檢測(cè)系統(tǒng)文件,而不會(huì)檢測(cè)驅(qū)動(dòng)程序。而現(xiàn)在的話(huà),這個(gè)工具會(huì)同時(shí)檢測(cè)系統(tǒng)文件以及驅(qū)動(dòng)程序文件,以確保所有的文件都具有微軟的數(shù)字簽名。當(dāng)工具檢測(cè)到?jīng)]有經(jīng)過(guò)簽名或者不準(zhǔn)確的文件版本時(shí),就會(huì)將相關(guān)的信息文件名、修改時(shí)間、版本號(hào)等內(nèi)容告訴給管理員。也會(huì)在系統(tǒng)相關(guān)日志中保留這些信息,以便系統(tǒng)管理員后續(xù)查詢(xún)。
不過(guò)筆者使用后覺(jué)得還有一個(gè)不方便的地方,就是無(wú)法將這寫(xiě)信息直接導(dǎo)入到文本文件或者直接進(jìn)行復(fù)制。如現(xiàn)在這個(gè)工具查詢(xún)到某個(gè)文件有問(wèn)題,如tcpip.sys這個(gè)文件有問(wèn)題,F(xiàn)在系統(tǒng)管理員可能需要在互聯(lián)網(wǎng)上查找這個(gè)文件的具體用途,以及以前是否有人也遇到過(guò)這種問(wèn)題。但是讓筆者氣餒的是竟然不能夠直接復(fù)制這個(gè)文件名字。現(xiàn)在筆者要向他人請(qǐng)教這個(gè)文件的用途時(shí),不得不手工進(jìn)行輸入,而不能夠通過(guò)復(fù)制粘貼來(lái)實(shí)現(xiàn)。筆者建議微軟的設(shè)計(jì)專(zhuān)家們,在這方面可以更加人性化一點(diǎn)。最后能夠把這些信息在這個(gè)窗口中直接導(dǎo)出為文本文件或者可以直接進(jìn)行復(fù)制粘貼操作。而不是要打開(kāi)日志文件來(lái)進(jìn)行這些行為。
另外需要注意的是,這個(gè)工具不會(huì)對(duì)有問(wèn)題的文件盡心自我修復(fù)。所以運(yùn)行這個(gè)工具并不要求有管理員的權(quán)限。也就是說(shuō),普通用戶(hù)也可以運(yùn)行這個(gè)程序來(lái)檢查系統(tǒng)文件是否被受到惡意更改。
二、利用sfc命令自動(dòng)修復(fù)Windows7有問(wèn)題的系統(tǒng)文件
如果通過(guò)以上的這個(gè)工具發(fā)現(xiàn)有問(wèn)題的系統(tǒng)文件該如何處理呢?除了通過(guò)系統(tǒng)安裝盤(pán)來(lái)修復(fù)系統(tǒng)文件或者手工對(duì)文件進(jìn)行修復(fù)外,在操作系統(tǒng)中還提供了另外一個(gè)有用的工具,即sfc命令。這個(gè)命令的功能跟文件簽名認(rèn)證工具的功能類(lèi)似,會(huì)對(duì)系統(tǒng)文件以及驅(qū)動(dòng)程序的簽名合法性進(jìn)行驗(yàn)證。不過(guò)兩個(gè)工具還是有很大的差異。
一是外觀上的差異。sfc是一個(gè)命令行下面的工具,即沒(méi)有圖形化的管理向?qū)。而文件簽名?yàn)證工具則是一個(gè)圖形化的管理工具。所以從方便性上來(lái)說(shuō),文件簽名工具可能更容易上手。不過(guò)對(duì)于系統(tǒng)管理專(zhuān)家來(lái)說(shuō),圖形化界面與文本界面可能沒(méi)有本質(zhì)上的差異。另外最重大的一個(gè)差異可能就是功能上的差異了。Sfc命令不僅會(huì)檢查系統(tǒng)文件與驅(qū)動(dòng)程序簽名的合法性,而且還會(huì)自動(dòng)修復(fù)檢測(cè)到有問(wèn)題的文件。其修復(fù)的方式就是將任何被檢測(cè)到的不正確的文件都被自動(dòng)替換為微軟版本的額外文件。由于在替換的過(guò)程中,不會(huì)對(duì)系統(tǒng)管理員有任何的提示,所以使用這個(gè)工具的時(shí)候會(huì)有一定的風(fēng)險(xiǎn)。為此筆者的建議是,系統(tǒng)管理員最好先利用文件簽名工具來(lái)查詢(xún)一下到底存在哪些有問(wèn)題的系統(tǒng)文件或者驅(qū)動(dòng)程序文件。如果確認(rèn)這些文件被微軟版本的文件所代替沒(méi)有問(wèn)題的情況下,在使用sfc這個(gè)命令行工具來(lái)自動(dòng)修復(fù)有問(wèn)題的文件。
如果在操作系統(tǒng)中,系統(tǒng)管理員部署了一些沒(méi)有經(jīng)過(guò)簽名的系統(tǒng)文件。如果系統(tǒng)管理員認(rèn)為這些文件是必需的,那么最好不要冒然使用這個(gè)工具。如可以在使用這個(gè)工具之前,先將那些合法的但是沒(méi)有簽名的文件復(fù)制出來(lái),然后在使用這個(gè)工具修復(fù)其他有問(wèn)題的系統(tǒng)文件或者驅(qū)動(dòng)程序。等到修復(fù)完成之后,再將這些合法的沒(méi)有簽名的文件或者驅(qū)動(dòng)程序文件還原過(guò)去。另外由于這個(gè)運(yùn)行這個(gè)工具風(fēng)險(xiǎn)比較大,為此在Windows7操作系統(tǒng)中做了比較嚴(yán)格的限制,必須作為管理員才能夠運(yùn)行這個(gè)程序。注意這個(gè)管理員特質(zhì)系統(tǒng)默認(rèn)的administrator帳戶(hù)。也就是說(shuō),如果系統(tǒng)管理員建立了一個(gè)新帳戶(hù),然后將這個(gè)帳戶(hù)加入到管理員組。此時(shí)這個(gè)帳戶(hù)就具有了管理員的身份,但是其仍然不能夠運(yùn)行這個(gè)sfc工具。因?yàn)樗皇窍到y(tǒng)默認(rèn)的管理員帳戶(hù)。微軟在這方面的限制,主要是為了防止這個(gè)工具被濫用,從而影響其他用戶(hù)的應(yīng)用程序。
另外還可以跟組策略結(jié)合來(lái)使用這個(gè)工具。如可以在組策略中配置在操作系統(tǒng)啟動(dòng)的時(shí)候,自動(dòng)運(yùn)行這個(gè)工具。一般來(lái)說(shuō),如果Windows7操作系統(tǒng)只是作為客戶(hù)端來(lái)使用,那么這是維持其穩(wěn)定性的一個(gè)很好的選擇。但是如果其是作為服務(wù)器來(lái)使用,那么筆者不建議這么做。由于服務(wù)器對(duì)于企業(yè)信息化應(yīng)用的敏感性(服務(wù)器出現(xiàn)故障所有相關(guān)應(yīng)用的客戶(hù)端都會(huì)受到影響),所以只有在系統(tǒng)文件損壞或者驅(qū)動(dòng)程序出現(xiàn)問(wèn)題時(shí)才使用這個(gè)工具。并且在利用這個(gè)工具之前最好先使用簽名認(rèn)證工具查詢(xún)一下可能有問(wèn)題的文件。在必要的情況下,還需要先對(duì)服務(wù)器中的數(shù)據(jù)進(jìn)行備份。以防止由于文件恢復(fù)故障而導(dǎo)致操作系統(tǒng)無(wú)法啟動(dòng)。為此筆者認(rèn)為sfc雖然是一個(gè)維護(hù)系統(tǒng)文件穩(wěn)定的好工具,但是系統(tǒng)管理員還是需要謹(jǐn)慎使用。
相關(guān)閱讀