一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Windows Vista博客 : Windows Vista用戶帳戶控制深度剖析

 小飛蝦 2007-03-16

Windows Vista用戶帳戶控制深度剖析

文章作者 盆盆  
技術(shù)難度 Level300  
內(nèi)容簡(jiǎn)介 本文詳細(xì)介紹了用戶帳戶控制(UAC)的應(yīng)用程序標(biāo)識(shí)、安全桌面和虛擬重定向等深層原理。詳細(xì)描述了用戶帳戶控制對(duì)用戶的價(jià)值,并且總結(jié)為什么不能禁用UAC的若干理由。更重要的是,本文還就用戶廣為詬病的UAC問(wèn)題提出比較巧妙的解決方案,既能盡可能規(guī)避UAC所帶來(lái)的麻煩,又能保留UAC的安全性。        
原始鏈接 http://blogs./blogs/winvista/archive/2006/08/09/UACV3.aspx


    我們現(xiàn)在已經(jīng)知道,在Windows Vista中,使用管理員帳戶登錄系統(tǒng),當(dāng)Winlogon進(jìn)程收集帳戶憑據(jù)并交由LSA驗(yàn)證后。LSA會(huì)查看該帳戶的訪問(wèn)令牌,如果發(fā)現(xiàn)里面包含某些高級(jí)特權(quán)(例如“修改系統(tǒng)時(shí)間”)或者高級(jí)SID(例如管理員組SID),就會(huì)自動(dòng)創(chuàng)建兩個(gè)訪問(wèn)令牌,一個(gè)是管理員訪問(wèn)令牌(Full Token),另一個(gè)是標(biāo)準(zhǔn)用戶訪問(wèn)令牌(UAC Token)。

Winlogon啟動(dòng)的初始化進(jìn)程userinit鏈接到標(biāo)準(zhǔn)用戶訪問(wèn)令牌,所以由userninit進(jìn)程啟動(dòng)的Explorer進(jìn)程也鏈接到標(biāo)準(zhǔn)用戶訪問(wèn)令牌。同樣由Explorer啟動(dòng)的用戶進(jìn)程也會(huì)自動(dòng)鏈接到標(biāo)準(zhǔn)用戶訪問(wèn)令牌,由此大大減少受攻擊面,極大地提升系統(tǒng)安全性。如附圖所示。

如果某個(gè)進(jìn)程需要以更高權(quán)限運(yùn)行,則系統(tǒng)會(huì)彈出一個(gè)權(quán)限提升對(duì)話框,確認(rèn)后即可以更高權(quán)限運(yùn)行該進(jìn)程,該進(jìn)程鏈接到管理員訪問(wèn)令牌。

提示

要了解有關(guān)UAC進(jìn)程創(chuàng)建的流程,可以參考MVP SmallfrogWindows Vista UAC 模式下的進(jìn)程創(chuàng)建實(shí)戰(zhàn)的故事》。

五種標(biāo)識(shí)權(quán)限提升的方法

Windows Vista并沒(méi)有一種與生俱來(lái)的魔力,可以未卜先知某個(gè)應(yīng)用程序是否應(yīng)該運(yùn)行在更高安全級(jí)別上。應(yīng)用程序必須自己想辦法通知Windows Vista它需要更高權(quán)限。有以下五種方法,讓Windows Vista明白該應(yīng)用程序需要提升權(quán)限:

(1) Windows Vista可以智能識(shí)別安裝程序,例如根據(jù)安裝程序的文件名(包含install或者setup),還可以智能識(shí)別msi發(fā)布的安裝包等等??梢宰鲆粋€(gè)實(shí)驗(yàn),如果修改其他某個(gè)應(yīng)用程序的名字,例如將QQ.exe重命名為QQInstall.exe,運(yùn)行它就會(huì)自動(dòng)觸發(fā)權(quán)限提升,原來(lái)UAC以為這是一個(gè)安裝程序。

(2) 在可執(zhí)行文件的屬性對(duì)話框、兼容性標(biāo)簽頁(yè)里勾選以管理員身份啟動(dòng)該程序復(fù)選框。這等效于在HKCU \Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers注冊(cè)表分支下添加鍵值,也相當(dāng)于修改C:\Windows\AppPatch下的sysmain.sdb兼容性數(shù)據(jù)庫(kù)。

(3) 在程序的manifest文件或者內(nèi)嵌的manifest信息里加入“level=highestAvaible”或者“level requireAdministrator”安全級(jí)別。

(4) 鼠標(biāo)右鍵單擊應(yīng)用程序,選擇“用管理員帳戶運(yùn)行”菜單項(xiàng)。

(5) 利用ACT(應(yīng)用程序兼容性工具)為特定應(yīng)用程序創(chuàng)建兼容性數(shù)據(jù)庫(kù),以便IT部門(mén)可以方便地在企業(yè)里部署兼容性設(shè)置。

提示

其中(2)(3)可以參考筆者的Windows Vista UAC安全功能深入剖析系列之二》

毀譽(yù)參半的安全桌面

大概是從5365 Build起,當(dāng)系統(tǒng)彈出“用戶帳戶控制”提升權(quán)限對(duì)話框時(shí)(實(shí)際上是consent進(jìn)程),桌面背景會(huì)呈暗色顯示,這可能導(dǎo)致某些顯示器彈出“無(wú)信號(hào)”的錯(cuò)誤消息,正好可能擋住consent對(duì)話框,讓這些用戶感到非常不便。

1.原理簡(jiǎn)析

其實(shí)這個(gè)功能的本意是非常好的,可以增加UAC功能的安全度。原來(lái)這個(gè)暗色的背景實(shí)際上是安全桌面,也就是我們按“Ctrl+Alt+Del”組合鍵時(shí)所看到的藍(lán)色的特殊桌面(上面有類(lèi)似啟動(dòng)任務(wù)管理器等命令)。為什么看到的是暗色的當(dāng)前桌面呢?原來(lái)這是微軟為了保持用戶體驗(yàn)的一致性,特地對(duì)當(dāng)前桌面做了一個(gè)“快照”,將其作為安全桌面的“墻紙”。

由于consent對(duì)話框?qū)嶋H運(yùn)行在安全桌面上(安全桌面運(yùn)行在session 0上,而用戶進(jìn)程都運(yùn)行在session 1或者更高的session),所以安全性非常好。除了少數(shù)系統(tǒng)進(jìn)程外,任何用戶進(jìn)程都無(wú)法和consent對(duì)話框進(jìn)行通信,所以惡意程序無(wú)法仿冒提升權(quán)限對(duì)話框以便誘使用戶點(diǎn)擊。

由于安全桌面的安全性非常好,所以連我們自己都無(wú)法直接監(jiān)控UAC背后發(fā)生了什么,同時(shí)甚至無(wú)法按PrintScreen鍵進(jìn)行截圖(剪貼板程序無(wú)法獲得鍵盤(pán)輸入)

2.如何監(jiān)控UAC底層變化

用常規(guī)方法無(wú)法對(duì)UAC背后的變化進(jìn)行監(jiān)控,因?yàn)檫@時(shí)候提升權(quán)限對(duì)話框運(yùn)行在安全桌面上,用戶進(jìn)程無(wú)法與之進(jìn)行通信,所以我們必須另辟蹊徑。

聯(lián)想到Longhorn Server也具有UAC功能(默認(rèn)禁用),所以我們可以利用Longhorn Server搭建一個(gè)實(shí)驗(yàn)環(huán)境,用管理員帳戶登錄進(jìn)入Session 1,然后借助遠(yuǎn)程桌面,以另外一個(gè)管理員身份登錄到這臺(tái)實(shí)驗(yàn)機(jī),進(jìn)入Session 2

我們?cè)?/span>Session 1里試圖運(yùn)行一個(gè)管理任務(wù),這時(shí)候系統(tǒng)會(huì)提示權(quán)限提升。由于安全桌面的原因,這時(shí)候無(wú)法在Session 1下用Process Explorer訪問(wèn)consent進(jìn)程的詳細(xì)信息。

這時(shí)候我們可以在遠(yuǎn)程桌面窗口(Session 2)下打開(kāi)Process Explorer,可以很方便地查看consent進(jìn)程的詳細(xì)信息,如附圖所示,我們可以發(fā)現(xiàn)consent進(jìn)程的父進(jìn)程是svchost(本例的PID1008),查看這個(gè)PID 1008svchost進(jìn)程,發(fā)現(xiàn)是“Application Information Service”服務(wù)的宿主進(jìn)程。所以可以推測(cè)是“Application Information Service”服務(wù)啟動(dòng)了consent進(jìn)程。同時(shí)還可以看到consent進(jìn)程本身運(yùn)行在Session 1,而不是Session 0。


3.禁用安全桌面

可以用以下方法禁用安全桌面:

(1) 運(yùn)行secpol.msc,打開(kāi)“本地安全策略”管理單元窗口。

(2) 在左側(cè)的控制臺(tái)樹(shù)中依次展開(kāi)本地策略、安全選項(xiàng),在右側(cè)的詳細(xì)窗格里雙擊“用戶帳戶控制:提示提升時(shí)切換到安全桌面”策略項(xiàng)。

(3) 在打開(kāi)的對(duì)話框里選中“已禁用”選項(xiàng),如附圖所示。



UAC停薪留職

不少讀者朋友非常討厭UAC,有時(shí)候UAC就像是一位喋喋不休的MM,時(shí)不時(shí)地打斷我們的正常工作。為什么那么多朋友都無(wú)法容忍UAC?用戶對(duì)UAC功能的抱怨大概集中在以下兩個(gè)方面:

(1) 我已經(jīng)是管理員了,為什么不直接允許我執(zhí)行管理任務(wù)?如果是第三方應(yīng)用軟件倒也罷了,為什么Windows自帶的工具軟件都要阻止我?為什么不能讓防火墻一樣設(shè)置規(guī)則,讓UAC下次不要再提醒?

(2) 為什么轉(zhuǎn)移、刪除一個(gè)文件都要那么麻煩?

有不少朋友安裝好Windows Vista后,第一件事情就是禁用UAC!其實(shí)這是一種非常不值得的做法,至少有如下五大理由:

(1) UAC功能是Windows Vista中最大的賣(mài)點(diǎn)之一,花費(fèi)不菲購(gòu)買(mǎi)了Windows Vista,卻把其中最值錢(qián)的功能特性給禁用了,這很有點(diǎn)“買(mǎi)櫝還珠”的意思。

(2) 如果禁用UAC,則會(huì)同時(shí)禁用IE保護(hù)模式等安全特性,這將大大降低系統(tǒng)的安全性。

(3) 在企業(yè)環(huán)境里,如果啟用UAC,可以減少約40%的桌面相關(guān)成本。

(4) 如果禁用了UAC,則當(dāng)以普通用戶登錄系統(tǒng)時(shí),無(wú)法享受UAC帶來(lái)的便利(無(wú)法方便地安裝程序和執(zhí)行管理任務(wù),也無(wú)法享受UAC為遺留應(yīng)用程序準(zhǔn)備的兼容性幫助)

(5) 強(qiáng)烈推薦正在追MMGGDD們啟用UAC,這可以幫助您提前訓(xùn)練對(duì)MM嘮叨的抵抗力。

其實(shí)從Build 5308、Beta 2,一直到當(dāng)前最新的5472UAC功能的進(jìn)步是有目共睹的,現(xiàn)在UAC的惱人提示已經(jīng)減少了很多,也增加了很多人性化的改進(jìn),UAC功能已經(jīng)變得越來(lái)越平易近人,更多時(shí)候,UAC就像一位站在不遠(yuǎn)處用慈祥目光注視著我們的母親,而不再是一個(gè)在您耳邊不停斥責(zé)咆哮的上司。

如果您確實(shí)討厭UAC,推薦不要徹底禁用它,而是用以下兩種方法將其臨時(shí)禁用,需要時(shí)可以即時(shí)恢復(fù)。

1.臨時(shí)擺脫UAC的嘮叨瘋狂的石頭

(1) 打開(kāi)任務(wù)管理器,切換到“進(jìn)程”標(biāo)簽頁(yè),然后結(jié)束“Explorer”進(jìn)程。

(2) 這時(shí)候再單擊“顯示所有用戶的進(jìn)程”按鈕,即可讓任務(wù)管理器運(yùn)行在管理員的級(jí)別上。

(3) 切換到“應(yīng)用程序”標(biāo)簽頁(yè),單擊“新任務(wù)”按鈕,啟動(dòng)“Explorer”進(jìn)程,現(xiàn)在新啟動(dòng)的“Explorer”進(jìn)程運(yùn)行在管理員級(jí)別下。

現(xiàn)在雖然在安全中心里顯示UAC啟用,如附圖所示。但是實(shí)際上由于Windows系統(tǒng)的Shell進(jìn)程Explorer此刻連接的訪問(wèn)令牌是管理員級(jí)別的,所以在Windows里啟動(dòng)的任何應(yīng)用程序都自動(dòng)繼承管理員級(jí)別的訪問(wèn)令牌,不受UAC的限制,包括執(zhí)行管理任務(wù)和文件操作。

這時(shí)候的UAC功能,光憑“肉眼”很難辨別真?zhèn)?,說(shuō)它是假的,安全中心里明明顯示啟用;說(shuō)它是真的,但是卻不會(huì)受到任何限制……

——這不就是瘋狂的石頭嗎?

那么如何才能重新回到UAC狀態(tài)呢?聰明的您一定想到了,那就是用標(biāo)準(zhǔn)用戶權(quán)限重新啟動(dòng)Explorer進(jìn)程:

(1) 首先在任務(wù)管理器里中止Explorer進(jìn)程[記?。哼@時(shí)候任務(wù)管理器具有管理員權(quán)限],然后關(guān)閉任務(wù)管理器。

(2) 按“Ctrl+Alt+Del”組合鍵呼出安全桌面,點(diǎn)擊其上的“啟動(dòng)任務(wù)管理器”,即可以標(biāo)準(zhǔn)用戶權(quán)限啟動(dòng)任務(wù)管理器,并新建Explorer進(jìn)程,好了,現(xiàn)在UAC又回來(lái)了!

提示

只有在萬(wàn)不得已的情況才使用這種方法,而且推薦僅在該環(huán)境里運(yùn)行管理任務(wù)或者進(jìn)行文件操作時(shí),才用這種方法,至于IE等進(jìn)程,最好在之前就啟動(dòng)。不過(guò)該方法總比徹底禁用UAC功能要好。

2.讓UAC閉嘴

如果既希望啟用UAC功能,又希望讓UAC閉嘴,那么可以通過(guò)以下方法修改本地安全策略:

(1) 運(yùn)行secpol.msc,打開(kāi)“本地安全策略”管理單元窗口。

(2) 在左側(cè)的控制臺(tái)樹(shù)中依次展開(kāi)本地策略、安全選項(xiàng),在右側(cè)的詳細(xì)窗格里雙擊“用戶帳戶控制:管理審批模式中管理員的提示提升行為”策略項(xiàng)。

(3) 在打開(kāi)的對(duì)話框里選中“無(wú)提示”選項(xiàng),如附圖所示。

這時(shí)候UAC的功能還是保持啟用狀態(tài)(可以在安全中心里進(jìn)行驗(yàn)證),但是當(dāng)執(zhí)行管理任務(wù)時(shí),系統(tǒng)不再提示確認(rèn),而是直接運(yùn)行。當(dāng)進(jìn)行文件操作時(shí),如果遇到權(quán)限問(wèn)題,還是會(huì)發(fā)出提示,如附圖所示,但是單擊其上的“繼續(xù)”按鈕,并不會(huì)彈出“用戶帳戶控制”的確認(rèn)對(duì)話框,而是直接完成文件操作。



這種方法的安全性要強(qiáng)于禁用UAC,因?yàn)橹辽龠@時(shí)候IE保護(hù)模式等功能還是可以使用的。但是如果一個(gè)惡意軟件被標(biāo)記為需要提升權(quán)限,那么它同樣可以被直接執(zhí)行。所以為了保證安全性,可以再啟用一條比較嚴(yán)厲的策略“用戶帳戶控制:只提升簽名并認(rèn)證的可執(zhí)行文件。”這樣沒(méi)有合法數(shù)字簽名的應(yīng)用程序?qū)⒕芙^執(zhí)行。

提示

僅推薦忍耐力比較差的朋友們使用。

文件操作的噩夢(mèng)與福音

UAC最為人詬病的就是文件操作的不方便,網(wǎng)上曾流傳著這樣一個(gè)笑話:要徹底刪除一個(gè)文件,需要花費(fèi)七個(gè)步驟。

其實(shí)平心而論,這本不是UAC所造成的問(wèn)題,恰恰相反,如果理解UAC的本質(zhì)原理,還會(huì)發(fā)現(xiàn)UAC其實(shí)對(duì)文件操作是有幫助的。

何以見(jiàn)得?

原來(lái)在Windows安全體系中,用戶對(duì)文件能夠進(jìn)行什么操作,主要是看Explorer進(jìn)程的訪問(wèn)令牌和文件的訪問(wèn)控制列表。如果該文件的訪問(wèn)控制列表里規(guī)定只有管理員才能執(zhí)行刪除操作,那么處于UAC環(huán)境下的用戶當(dāng)然不能直接刪除該文件,這是因?yàn)檫@時(shí)候Explorer進(jìn)程的訪問(wèn)令牌中,管理員組的SID被過(guò)濾掉了。

這就好比,一個(gè)普通用戶無(wú)法在分區(qū)根目錄下新建文件,道理是一樣的。更何況UAC還給我們提供一個(gè)機(jī)會(huì)提升權(quán)限,以便可以進(jìn)行適當(dāng)?shù)奈募僮鳌?/span>

1.到底誰(shuí)幫助我們提升了權(quán)限?

這里面就帶來(lái)一個(gè)問(wèn)題(筆者最初也曾疑惑不解),既然文件操作主要是看Explorer進(jìn)程,但是提升權(quán)限后,并沒(méi)有發(fā)現(xiàn)Explorer進(jìn)程的訪問(wèn)令牌有什么變化,這是為什么?難道這個(gè)權(quán)限是從天上飛下來(lái)的?

經(jīng)過(guò)檢查發(fā)現(xiàn),當(dāng)權(quán)限提升以后,系統(tǒng)會(huì)啟動(dòng)一個(gè)Dllhost進(jìn)程,該進(jìn)程的訪問(wèn)令牌是管理員級(jí)別的,如附圖所示,由這個(gè)Dllhost進(jìn)程代替我們完成文件操作。



2.巧妙解決文件操作問(wèn)題

5456、5472這些Build里,文件操作的UAC權(quán)限提升已經(jīng)得到很大程度上的改善,例如現(xiàn)在按Shift+Del組合鍵,提升權(quán)限后,就可以直接徹底刪除文件,而不會(huì)像以前版本那樣,還需要花N多步驟清空回收站。

如果您還是對(duì)現(xiàn)在的UAC文件操作不滿意,那么以下的解決方法可能堪稱(chēng)完美:

(1) 首先打開(kāi)“文件夾選項(xiàng)”對(duì)話框,切換到“查看”標(biāo)簽頁(yè),確保選中“在單獨(dú)的進(jìn)程中打開(kāi)文件夾窗口”,如附圖所示。



Windows默認(rèn)只能啟動(dòng)一個(gè)Explorer進(jìn)程。而這個(gè)設(shè)置確??梢源蜷_(kāi)兩個(gè)獨(dú)立的Explorer進(jìn)程,以便我們給新的Explorer進(jìn)程鏈接管理員的訪問(wèn)令牌。

(2) 要想進(jìn)行文件操作,需要事先關(guān)閉桌面上已有的文件夾窗口,然后右鍵單擊“Windows資源管理器”菜單項(xiàng),選擇“用管理員帳戶運(yùn)行”,現(xiàn)在就可以打開(kāi)一個(gè)以管理員權(quán)限運(yùn)行的資源管理器窗口,在這里我們可以任意進(jìn)行文件操作,當(dāng)然前提條件是文件允許管理員組這樣做,不會(huì)再出現(xiàn)UAC權(quán)限提升的提示。

為了方便起見(jiàn),還可以為這個(gè)資源管理器添加一個(gè)開(kāi)始菜單項(xiàng):

(1) Explorer.exe%windir%中復(fù)制到“文檔”里,然后在屬性對(duì)話框、“兼容性”標(biāo)簽頁(yè)里勾選“以管理員身份啟動(dòng)該程序”復(fù)選框。

(2) 鼠標(biāo)右鍵單擊其Explorer.exe,選擇“附到[開(kāi)始]菜單”命令,即可在開(kāi)始菜單里添加菜單項(xiàng),可以將菜單項(xiàng)重命名為“管理員:Windows資源管理器”。

如果打開(kāi)Process Explorer,就可以發(fā)現(xiàn),現(xiàn)在系統(tǒng)里有了兩個(gè)Explorer進(jìn)程,其中一個(gè)進(jìn)程被標(biāo)識(shí)為“中強(qiáng)制級(jí)別”(Mandatory Integrity Level為中級(jí)),這個(gè)就是系統(tǒng)的Shell進(jìn)程。另一個(gè)進(jìn)程被標(biāo)識(shí)為“高強(qiáng)制級(jí)別”,這就是以管理員身份運(yùn)行的“Windows資源管理器”,如附圖所示。



這種方法既可以完美地解決文件操作的麻煩,又可以保留UAC功能。當(dāng)我們?cè)陂_(kāi)始菜單或者快速啟動(dòng)欄里啟動(dòng)IE時(shí),IE照樣受UACIE保護(hù)模式的控制,而不會(huì)運(yùn)行在管理員級(jí)別下。這是因?yàn)?,這時(shí)候IE的父進(jìn)程是“中強(qiáng)制級(jí)別”的那個(gè)Explorer進(jìn)程。

虛擬重定向

IE保護(hù)模式一樣,UAC也利用兼容重定向?qū)崿F(xiàn)對(duì)遺留應(yīng)用程序的兼容性,不過(guò)兩者采用的是彼此獨(dú)立、互不干涉的兩套機(jī)制。其原理大致如下:

某個(gè)遺留應(yīng)用程序由于設(shè)計(jì)上的原因,需要在管理員權(quán)限,這些程序往往可能需要在一些“全局”的位置寫(xiě)文件或者注冊(cè)表位置,這些“全局”的位置包括C:\Windows、C:\Program Files,還有HKEY_LOCAL_MACHINE注冊(cè)表分支。

由于UAC的作用,這些遺留應(yīng)用程序運(yùn)行在標(biāo)準(zhǔn)用戶權(quán)限下,所以沒(méi)有權(quán)限往這些“全局”的位置寫(xiě)入內(nèi)容。這時(shí)候虛擬重定向功能就起作用了,它可以把這些“全局”位置重定向到per-user的路徑,這樣就可以欺騙遺留應(yīng)用程序,讓它可以順利運(yùn)行在標(biāo)準(zhǔn)用戶狀態(tài)。

1.實(shí)例介紹

本文簡(jiǎn)單介紹文件夾虛擬重定向的實(shí)現(xiàn)方法,以記事本為例,此處假設(shè)當(dāng)前登錄帳戶為AdminWindows Vista安裝在D盤(pán)。

(1) 首先必須選擇Windows 2000/XP下的記事本,而不是Windows Vista內(nèi)置的記事本工具。

(2) 打開(kāi)Windows XP版本的記事本程序, 先確認(rèn)一下記事本進(jìn)程的訪問(wèn)令牌,確實(shí)是工作在標(biāo)準(zhǔn)用戶權(quán)限下,如附圖所示,也就是說(shuō)按照道理,記事本不可能對(duì)D:\Windows目錄有寫(xiě)入權(quán)限。



(3) 輸入一段內(nèi)容,然后單擊文件、保存,把保存路徑設(shè)置為D:\Windows,文件名為TestUAC.txt。非常奇怪,保存操作居然沒(méi)有報(bào)錯(cuò)“拒絕訪問(wèn)”。

(4) 打開(kāi)“我的電腦”,進(jìn)入D:\Windows文件夾,里面并沒(méi)有發(fā)現(xiàn)TestUAC.txt文件,不過(guò)我們?cè)诠ぞ邫诘淖钣覀?cè)看到了一個(gè)“兼容性”按鈕。

(5) 單擊“兼容性”按鈕,即可進(jìn)入“D:\Users\Admin\AppData\Local\VirtualStore\Windows”目錄,可以發(fā)現(xiàn)這個(gè)目錄下有一個(gè)TestUAC.txt文件,如附圖所示。



在這個(gè)過(guò)程中,如果用File Monitor進(jìn)行監(jiān)控,就會(huì)發(fā)現(xiàn),當(dāng)記事本嘗試往D:\Windows目錄寫(xiě)入文件時(shí),UAC應(yīng)該會(huì)捕獲拒絕訪問(wèn)的權(quán)限錯(cuò)誤,然后自動(dòng)啟用重定向機(jī)制,把這個(gè)文本文件重定向(保存)D:\Users\Admin\AppData\Local\VirtualStore\Windows目錄中,如附圖所示。



也就是說(shuō),UAC會(huì)自動(dòng)把“全局”文件夾位置重定向到“%LocalAppData%\VirtualStore\”目錄,這是一個(gè)per-user的目錄,很顯然不同的用戶,重定向的目錄也有所不同。用戶A無(wú)法看到用戶B的重定向文件。這種隔離對(duì)大多數(shù)應(yīng)用程序來(lái)說(shuō)沒(méi)有什么問(wèn)題,但是對(duì)某些應(yīng)用程序來(lái)說(shuō)可能存在一些問(wèn)題,例如某些游戲軟件可能要求把游戲得分記錄保存在一個(gè)公共的位置,以便比較各個(gè)玩家的成績(jī),但是UAC可能會(huì)讓每個(gè)玩家認(rèn)為只有自己才是最棒的。

據(jù)微軟的調(diào)查結(jié)果,UAC的這種兼容性大概能夠使得約92%的遺留應(yīng)用程序可以正常工作在Windows Vista環(huán)境下。

2.原理簡(jiǎn)析

File Monitor截圖中我們還能看到一個(gè)熟悉的單詞“REPARSE(重解析),難道它和NTFS文件系統(tǒng)的重解析屬性有什么相關(guān)嗎?其實(shí)UAC的兼容重定向是借助一個(gè)文件系統(tǒng)的篩選驅(qū)動(dòng)程序(Filter Driver)來(lái)實(shí)現(xiàn)的,這個(gè)驅(qū)動(dòng)的名字是luafv.sys,作為SYSTEM進(jìn)程的線程在內(nèi)核模式中加載,如附圖所示。



3.配置虛擬重定向

有讀者朋友肯定早就想問(wèn),為什么這個(gè)實(shí)驗(yàn)必須借助Windows XP下的記事本?為什么不能用Windows Vista自帶的記事本工具?原來(lái)Windows Vista自帶的記事本工具實(shí)際上專(zhuān)門(mén)為UAC設(shè)計(jì)的,不能算是遺留應(yīng)用程序,所以Windows Vista不會(huì)為它開(kāi)啟虛擬重定向功能,如果嘗試向“全局”位置寫(xiě)入文件,會(huì)直接受到拒絕訪問(wèn)的錯(cuò)誤消息。

那么標(biāo)準(zhǔn)到底是什么?Windows Vista憑什么不給自帶的記事本開(kāi)啟虛擬重定向兼容特性?

原來(lái)秘密就在于程序的manifest信息,Windows Vista自帶的記事本程序里嵌入了manifest信息,指定了其安全級(jí)別為“asInvoker”,Windows Vista將這類(lèi)定義了安全級(jí)別manifest信息的應(yīng)用程序,一律視作合格的應(yīng)用程序,不再對(duì)此應(yīng)用虛擬重定向。

Process Explorer可以查出,Windows Vista自帶的記事本的虛擬重定向標(biāo)記為“No”,而Windows XP記事本的虛擬重定向標(biāo)記為“Yes”。再例如QQ原本是可以啟用虛擬重定向的,但是在manifest文件(QQ.exe.manifest)里添加以下安全級(jí)別信息,如附圖所示

再啟動(dòng)
QQ后,發(fā)現(xiàn)其虛擬重定向標(biāo)記為“No”,如附圖所示。

可以在本地安全策略里指定Windows Vista是否啟用虛擬重定向功能,方法是禁用“用戶帳戶控制:將文件和注冊(cè)表寫(xiě)入錯(cuò)誤指定到每個(gè)用戶位置”策略項(xiàng)。

參考資料

     
http://www.microsoft.com/technet/windowsvista/security/uac.mspx

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    久久国产精品热爱视频| 免费在线播放一区二区| 亚洲最新中文字幕在线视频| 欧美乱码精品一区二区三| 国产一区二区精品丝袜| 99久热只有精品视频免费看| 亚洲视频偷拍福利来袭| 久久大香蕉精品在线观看| 亚洲另类女同一二三区| 精品欧美国产一二三区| 色婷婷国产熟妇人妻露脸| 午夜福利直播在线视频| 日韩精品视频免费观看| 免费观看在线午夜视频| 国产成人高清精品尤物| 粉嫩国产美女国产av| 亚洲精品国产美女久久久99| 精品香蕉一区二区在线| 欧美日韩校园春色激情偷拍| 国产欧美日韩精品一区二| 久久婷婷综合色拍亚洲| 日韩人妻一区中文字幕| 中文字幕欧美精品人妻一区| 99热中文字幕在线精品| 国产亚洲精品岁国产微拍精品| 肥白女人日韩中文视频| 我要看日本黄色小视频| 一区二区三区日韩中文| 丰满人妻熟妇乱又伦精另类视频 | 欧美日韩一级黄片免费观看| 日韩精品一区二区一牛| 成人午夜在线视频观看| 国产亚洲系列91精品| 久久综合亚洲精品蜜桃| 日韩欧美国产三级在线观看| 亚洲熟女乱色一区二区三区| 国内精品伊人久久久av高清| 高清不卡一卡二卡区在线| 亚洲一区二区三区有码| 福利专区 久久精品午夜| 国产日产欧美精品视频|