熱 點(diǎn):
而運(yùn)行在保護(hù)模式下的IE瀏覽器,IE進(jìn)程的完整性級(jí)別是Low,這可以從它的訪問(wèn)令牌里得知。借助Process Explorer查看IE進(jìn)程屬性的“安全”標(biāo)簽頁(yè),可以看到其訪問(wèn)令牌里有一個(gè)“Mandatory LabelLow Mandatory Level”的SID(相應(yīng)的標(biāo)志位是“Integrity”),這表明IE進(jìn)程的完整性級(jí)別是“Low”。
看來(lái)D:UsersAdminAppDataRoamingUnispim目錄的完整性級(jí)別一定比IE進(jìn)程高,所以IE進(jìn)程才無(wú)法寫入該目錄。那么如何查看目錄的完整性級(jí)別呢?非常可惜Windows Vista目前還沒(méi)有提供查看的工具。不過(guò)幸運(yùn)的是,Sysinternals所提供的AccessChk可以方便地進(jìn)行查看。
提示由于聰明的Mark(Sysinternals的掌門,《Windows Internals》一書的作者)已經(jīng)就職于, Windows Vista可能會(huì)內(nèi)置這款工具。
在命令提示符下運(yùn)行以下命令,就可以查看該目錄下所有文件的完整性級(jí)別:
AccessChk -i D:UsersAdminAppDataRoamingUnispim
可以看到該目錄下的所有文件的完整性級(jí)別都是“Medium”,如下圖所示,難怪IE進(jìn)程要被拒絕了!

可見(jiàn),IE保護(hù)模式有多厲害!在UAC模式下,應(yīng)用程序會(huì)盡可能運(yùn)行在普通用戶權(quán)限下,但至少還是可以訪問(wèn)[用戶配置文件夾]里的內(nèi)容,因?yàn)檫@時(shí)候應(yīng)用程序的完整性級(jí)別也是“Medium”,所以不會(huì)受到限制。
獨(dú)立的四套班子
讀者朋友可能會(huì)問(wèn),既然IE瀏覽器運(yùn)行在“Low”的級(jí)別,那么它怎么能夠訪問(wèn)IE臨時(shí)文件、歷史等工作目錄,這些目錄不都是在[用戶配置文件夾]里,它們的完整性級(jí)別應(yīng)該是“Medium”???
原來(lái),對(duì)于保護(hù)模式下的IE瀏覽器來(lái)說(shuō),它擁有一套獨(dú)立的“四套班子”:
(1) IE臨時(shí)文件: %userprofile%AppDataLocalMicrosoftWindowsTemporary Internet FilesLow
(2) 系統(tǒng)臨時(shí)目錄: %userprofile%AppDataLocalTempLow
(3) Cookies: %userprofile%AppDataRoamingMicrosoftWindowsCookiesLow
(4) 歷史: %userprofile%AppDataLocalMicrosoftWindowsHistoryLow
這些目錄的完整性級(jí)別都是“Low”,以便IE進(jìn)程能夠正常訪問(wèn)。
注意
值得一提的是,收藏夾并沒(méi)有保護(hù)模式IE的獨(dú)立版本,這又是為什么?原來(lái)無(wú)論是訪問(wèn)收藏夾,還是添加收藏夾,都會(huì)借助User代理進(jìn)程(User Broker)完成,該代理程序和IE瀏覽器位于同一個(gè)目錄,進(jìn)程映像名為ieuser.exe。
代理進(jìn)程的引入,充分體現(xiàn)了Windows安全設(shè)計(jì)中的特權(quán)分離思想:
Windows Vista把傳統(tǒng)IE瀏覽器,把傳統(tǒng)的IE進(jìn)程一分為三,分別負(fù)責(zé)不同安全等級(jí)的任務(wù)。把最常用的、無(wú)需特權(quán)的網(wǎng)頁(yè)瀏覽任務(wù)交給IE進(jìn)程本身去完成;把中等特權(quán)的任務(wù)(例如保存圖片),交給用戶代理進(jìn)程(ieuser.exe)去完成;把高特權(quán)的任務(wù)(例如安裝加載項(xiàng)),交給管理員代理進(jìn)程去完成(ieinstal.exe)。而老版本的Windows則是把所有的任務(wù),不管其所需的安全等級(jí),都交由一個(gè)IE進(jìn)程去完成。以下的截圖源自微軟官方網(wǎng)站,由筆者對(duì)其進(jìn)行“漢化”,僅供參考。
