問題描述:
微軟很多東西都用數字標簽技術。
到底什麽是數字標簽技術?
分析:
在Windows 2000之前的Windows版本中,安裝操作系統以外的軟件可能會覆蓋某些系統文件,如動態鏈接庫(*。DLL文件)和可執行文件(*。exe文件),這可能導致程序運行不穩定和系統故障,主要是由於所謂的DLL陷阱。
為了徹底解決這個問題,在Windows 2000和Windows XP中,微軟引入了“Windows文件保護”機制,防止被保護的系統文件被替換,包括*。sys,*。dll,*。ocx,*。ttf,*。豐,*。exe和其他類型的文件。Windows文件保護在後臺自動運行,可以保護Windows installer安裝的所有文件。
Windows文件保護可以檢測其他程序替換或移動受保護系統文件的意圖,那麽它是基於什麽?實際上,Windows文件保護通過檢測文件的數字簽名來確定新文件的版本是否是正確的Microsoft版本。如果文件版本不正確,Windows文件保護將自動調用dllcache文件夾或存儲在Windows中的備份文件來替換該文件。如果Windows文件保護找不到相應的文件,它將提示用戶輸入位置或插入安裝光盤。
第二,理解數字簽名
數字簽名允許用戶驗證。如果文件沒有有效的數字簽名,將無法保證該文件確實來自其聲明的來源,或者在發布後沒有被篡改(可能是被病毒篡改)。此時,除非妳確定文件的創建者並知道其內容,否則還是安全打開文件比較保險,否則建議不要輕易打開文件。“Designed for Microsoft Windows XP”徽標通常出現在任何經過微軟數字簽名的硬件或軟件的外包裝上。
在計算機上安裝新軟件時,系統文件和設備驅動程序文件有時會被未簽名或不兼容的版本覆蓋,導致系統不穩定。Windows XP提供的系統文件和設備驅動程序文件具有Microsoft數字簽名,這表明這些文件是未經更改的原始系統文件,或者它們已被Microsoft批準在Windows中使用。在Windows 2000/XP中提供了“文件簽名驗證”工具(見圖2),而在Windows 9x中提供了“系統文件檢查器”工具,通過它我們可以檢查系統文件的數字簽名狀態。
默認情況下,Windows文件保護始終處於啟用狀態,並且允許Windows數字簽名文件替換現有文件。目前特征碼文件的分發方式有:Windows Service Pack、補丁分發、操作系統升級、Windows Update、Windows設備管理器/類別安裝程序。
三、數字簽名示例展示
說了半天,除了保護系統文件,數字簽名還能給普通用戶帶來什麽好處?下面,我們就通過幾個例子來說明:
例1:驗證Windows XP的核心文件是否被替換。
現在Windows XP有大企業版和聯想隨機版,那麽如何驗證手頭的Windows XP屬於微軟原版呢?
這裏我們只需要檢查Windows XP的系統文件是否能通過文件簽名驗證。在“開始→運行”對話框中鍵入“sigverif”打開“文件簽名驗證”窗口,然後單擊“開始”按鈕。首先,將建立壹個文件列表,稍後您將看到如圖3所示的窗口。這裏沒有數字簽名的大多數文件都是驅動程序文件。只要winlogon.exe和licdll.dll沒有出現在列表中,就意味著妳的Windows XP沒有被篡改。
示例2:驅動程序簽名
Windows XP自帶的驅動程序都通過了微軟的WHQL數字簽名,查看通過數字簽名的驅動程序時會看到壹個圖標。但是我們在安裝或者升級設備驅動的時候,經常會看到如圖4所示的警告信息,說“Windows logo測試失敗,無法驗證其與Windows XP的兼容性”。其實這就是Windows XP的文件保護功能,從而降低用戶安裝無保護驅動的風險。當然,我們可以忽略這個提示,選擇“繼續”按鈕來完成驅動程序的安裝。
忽略:允許這臺計算機安裝所有設備驅動程序,無論它們是否經過數字簽名。
警告:當安裝程序試圖安裝沒有數字簽名的設備驅動程序時,將顯示壹條警告消息,這是Windows XP的默認行為。
Block:阻止安裝程序安裝未經數字簽名的設備驅動程序。
顯然,如果選擇了忽略選項並設置為系統默認選項,那麽以後安裝或升級設備驅動時,就不會彈出簽名驗證警告。
示例3:將數字簽名信息寫入日誌文件
打開文件簽名驗證窗口,點擊高級按鈕進入高級文件簽名驗證設置對話框,切換到記錄選項卡,選中“將文件簽名驗證結果保存到日誌文件”復選框(見圖5)。如果選擇“附加到現有日誌文件”,可以在日誌文件的末尾添加新的搜索結果;如果選擇“覆蓋現有日誌文件”,將使用新的日誌。
如果只是想覆蓋日誌文件,只需在“開始→運行”對話框中鍵入“sigverif /defscan”命令即可執行。
示例4:禁用Windows的文件保護功能
Windows 2000/XP的\Windows\System32目錄下有壹個名為dllcache的文件夾,裏面保存著重要的文件。比如Windows XP的dllcache文件夾中有265,438+069個重要文件,占用364.5MB,如果Windows 2000/XP發現某個受保護的系統文件被替換或損壞,會自動從dllcache文件夾中恢復。
如果因為某種原因需要騰出壹些空閑空間,可以在“開始→運行”對話框中鍵入“sfc /purgecache”來清空Dllcache文件夾。註意“/”前有壹個英文空格字符,會清除保存在dllcache中的文件緩存。但是這樣的話,Windows文件保護只能從Windows安裝光盤恢復系統文件,所以妳會經常看到提示插入Windows安裝光盤,所以不建議朋友使用這種技術。如果要禁用Windows文件保護,可以在開始→運行對話框中鍵入gpedit.msc,打開本地計算機策略→計算機配置→管理模板→系統的窗口,找到Windows文件保護組,雙擊右窗格中的“設置Windows文件保護掃描”項,將其設置為禁用。在這裏,您還可以限制文件保護緩存的大小並指定其位置。