深入了解Windows7的用戶賬戶控制UAC_第1頁(yè)
深入了解Windows7的用戶賬戶控制UAC_第2頁(yè)
深入了解Windows7的用戶賬戶控制UAC_第3頁(yè)
深入了解Windows7的用戶賬戶控制UAC_第4頁(yè)
深入了解Windows7的用戶賬戶控制UAC_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、深入了解Windows7的用戶賬戶控制 UAC在家庭和公司環(huán)境中,使用標(biāo)準(zhǔn)用戶帳戶可以提高安全性并降低總體擁有成本。當(dāng)用戶使用標(biāo)準(zhǔn)用戶權(quán)限(而不是管理權(quán)限)運(yùn)行時(shí),系統(tǒng)的安全配置(包括防病毒和防火墻配置)將得到保護(hù)。這樣,用戶將能擁有一個(gè)安全的區(qū)域,可以保護(hù)他們的帳戶及系統(tǒng)的其余部分。對(duì)于企業(yè)部署,桌面IT經(jīng)理設(shè)置的策略將無(wú)法被覆蓋,而在共享家庭計(jì)算機(jī)上,不同的用戶帳戶將受到保護(hù),避免其他帳戶對(duì)其進(jìn)行更改。但是,很久以來(lái),Windows的用戶一直都在使用管理權(quán)限運(yùn)行。因此,軟件通常都開發(fā)為使用管理帳戶運(yùn)行,并且(通常無(wú)意間)依賴于管理權(quán)限。為了讓更多軟件能夠使用標(biāo)準(zhǔn)用戶權(quán)限運(yùn)行,并且?guī)椭_發(fā)人

2、員編寫能夠使用標(biāo)準(zhǔn)用戶權(quán)限正常運(yùn)行的應(yīng)用程序,Windows Vista引入了用戶帳戶控制(UAC)。UAC集成了一系列技術(shù),其中包括文件系統(tǒng)和注冊(cè)表虛擬化、受保護(hù)的系統(tǒng)管理員(PA)帳戶、UAC提升權(quán)限提示,以及支持這些目標(biāo)的Windows完整性級(jí)別。我在我的會(huì)議演示文稿和TechNet雜志UAC內(nèi)部信息一文中詳細(xì)討論了這些內(nèi)容。Windows 7沿用了UAC的目標(biāo),基礎(chǔ)技術(shù)相對(duì)未做改變。但是,它引入了UAC的PA帳戶可以運(yùn)行的兩種新模式,以及某些內(nèi)置Windows組件的自動(dòng)提升機(jī)制。在此文章中,我將論述推動(dòng)UAC技術(shù)發(fā)展的因素、重新探討UAC和安全性之間的關(guān)系、描述這兩種新模式,并介紹自動(dòng)

3、提升的具體工作方式。請(qǐng)注意,此文章中的信息反映了Windows 7預(yù)發(fā)布版本的行為,該行為在許多方面與beta版有所不同。UAC技術(shù)UAC技術(shù)的最基本元素和直接效益在于它能使標(biāo)準(zhǔn)用戶更方便地使用Windows。演示示例展示了Windows XP和Windows Vista上有關(guān)設(shè)置時(shí)區(qū)的權(quán)限要求的不同之處。在Windows XP上,更改時(shí)區(qū)需要管理權(quán)限,實(shí)際上,即使是使用時(shí)間/日期控制面板小程序查看時(shí)區(qū)也需要管理權(quán)限。這是因?yàn)閃indows XP未將更改時(shí)間(安全敏感的系統(tǒng)操作)與更改時(shí)區(qū)(只是影響時(shí)間的顯示方式)區(qū)分開來(lái)。在windows vista(和Windows 7)中,更改時(shí)區(qū)不是一

4、項(xiàng)管理操作,并且時(shí)間/日期控制面板小程序也將管理操作與標(biāo)準(zhǔn)用戶操作進(jìn)行了分隔。僅僅這一項(xiàng)更改就讓許多企業(yè)能夠?yàn)槌霾畹挠脩襞渲脴?biāo)準(zhǔn)用戶帳戶,因?yàn)橛脩魧⒛軌蛘{(diào)整時(shí)區(qū)來(lái)反映他們的當(dāng)前位置。Windows 7進(jìn)一步做出了改進(jìn),比如刷新系統(tǒng)的IP地址、使用Windows Update來(lái)安裝可選的更新和驅(qū)動(dòng)程序、更改顯示DPI,以及查看標(biāo)準(zhǔn)用戶可訪問(wèn)的當(dāng)前防火墻設(shè)置。文件系統(tǒng)和注冊(cè)表虛擬化在后臺(tái)工作,可以幫助許多無(wú)意間使用管理權(quán)限的應(yīng)用程序在沒(méi)有管理權(quán)限的情況下也能正常運(yùn)行。對(duì)于不必要地使用管理權(quán)限而言,最常見的情況是將應(yīng)用程序設(shè)置或用戶數(shù)據(jù)存儲(chǔ)在注冊(cè)表或文件系統(tǒng)中系統(tǒng)所使用的區(qū)域內(nèi)。舉例來(lái)說(shuō),某些舊版應(yīng)

5、用程序?qū)⑵湓O(shè)置存儲(chǔ)在注冊(cè)表的系統(tǒng)范圍部分(HKEY_LOCAL_MACHINESoftware),而不是每用戶部分(HKEY_CURRENT_USERSoftware),而注冊(cè)表虛擬化會(huì)將嘗試寫入系統(tǒng)位置的操作轉(zhuǎn)到HKEY_CURRENT_USER(HKCU)中的位置,同時(shí)保持應(yīng)用程序兼容性。設(shè)計(jì)PA帳戶的目的是為了鼓勵(lì)開發(fā)人員將應(yīng)用程序編寫為只需要標(biāo)準(zhǔn)用戶權(quán)限,同時(shí)使盡可能多的在管理組件和標(biāo)準(zhǔn)用戶組件之間共享狀態(tài)的應(yīng)用程序能夠繼續(xù)工作。默認(rèn)情況下,Windows Vista或windows 7系統(tǒng)上的第一個(gè)帳戶(在Windows的早期版本上為完全權(quán)限管理員帳戶)是PA帳戶。PA用戶執(zhí)行的任何

6、程序都使用標(biāo)準(zhǔn)用戶權(quán)限運(yùn)行,除非用戶明確提升了應(yīng)用程序,即授予應(yīng)用程序管理權(quán)限。諸如安裝應(yīng)用程序和更改系統(tǒng)設(shè)置等用戶活動(dòng)會(huì)觸發(fā)提升權(quán)限提示。這些提升權(quán)限提示是最顯著的UAC技術(shù),表現(xiàn)形式為切換到一個(gè)包含允許/取消對(duì)話框的屏幕,背景為灰色的桌面快照。在安裝之后創(chuàng)建的帳戶是標(biāo)準(zhǔn)用戶帳戶,默認(rèn)情況下,這些帳戶通過(guò)一個(gè)即時(shí)權(quán)限提升提示提供提升功能,該提示要求提供將用于授予管理權(quán)限的管理帳戶的憑據(jù)。利用這一便捷功能,只要共享家庭計(jì)算機(jī)的家庭成員或更注重安全的使用標(biāo)準(zhǔn)用戶帳戶的用戶知道管理帳戶的密碼,他們就能夠用管理權(quán)限來(lái)運(yùn)行應(yīng)用程序,而不必手動(dòng)切換到其他用戶登錄會(huì)話。此類應(yīng)用程序的常見示例包括安裝程序以

7、及家長(zhǎng)控制配置。在啟用了UAC后,所有用戶帳戶(包括管理帳戶)都將使用標(biāo)準(zhǔn)用戶權(quán)限運(yùn)行。這意味著,應(yīng)用程序開發(fā)人員必須考慮他們的軟件默認(rèn)情況下將沒(méi)有管理權(quán)限這一事實(shí)。這應(yīng)會(huì)提醒他們將其應(yīng)用程序設(shè)計(jì)為使用標(biāo)準(zhǔn)用戶權(quán)限工作。如果應(yīng)用程序或其功能的某些部分需要管理權(quán)限,它可以利用提升機(jī)制來(lái)允許用戶解鎖該功能。通常,應(yīng)用程序開發(fā)人員只需進(jìn)行少許更改就可讓其應(yīng)用程序使用標(biāo)準(zhǔn)用戶權(quán)限正常工作。如有關(guān)UAC的E7博客文章所述,UAC成功地改變了開發(fā)人員編寫軟件的方式。提升權(quán)限提示的另一個(gè)優(yōu)點(diǎn)是:它們能夠在軟件想要對(duì)系統(tǒng)進(jìn)行更改時(shí)通知用戶,并使用戶有機(jī)會(huì)來(lái)阻止這種情況。例如,如果用戶不信任或不想允許修改系統(tǒng)的

8、軟件包要求管理權(quán)限,則它們可以拒絕提示。提升和惡意軟件安全性UAC的主要目標(biāo)是讓更多用戶能夠使用標(biāo)準(zhǔn)用戶權(quán)限運(yùn)行。但是,其中一項(xiàng)UAC技術(shù)看起來(lái)像是安全功能:許可提示。許多人認(rèn)為,因?yàn)檐浖仨氁笥脩羰谟杵涔芾頇?quán)限,因此他們能夠防止惡意軟件獲得管理權(quán)限。提示是一種視覺(jué)暗示,它僅為其所述操作獲取管理權(quán)限,除此之外,用戶還可以切換到不同桌面來(lái)顯示提升對(duì)話框,以及使用Windows完整性機(jī)制,包括用戶界面特權(quán)隔離(UIPI),這些都使人們更加堅(jiān)信這一理念。正如在Windows Vista推出之前我們所談到的,提升的主要目的不是安全性,而是其方便性:如果用戶必須通過(guò)登錄到管理帳戶或通過(guò)快速用戶切換切換

9、到管理帳戶,從而切換帳戶以執(zhí)行管理操作,則大多數(shù)用戶都只會(huì)切換一次,而不會(huì)切換回來(lái)。更改應(yīng)用程序開發(fā)人員進(jìn)行設(shè)計(jì)所針對(duì)的環(huán)境將不會(huì)有進(jìn)展。那么,安全桌面和Windows完整性機(jī)制的目的是什么?為提示切換到不同桌面的主要原因是:標(biāo)準(zhǔn)用戶軟件無(wú)法欺騙提升權(quán)限提示,例如,它們無(wú)法通過(guò)在對(duì)話框上的發(fā)布者名稱上繪圖來(lái)欺騙用戶,讓用戶認(rèn)為是Microsoft或另一個(gè)軟件供應(yīng)商(而不是這些軟件)生成了提示,從而欺騙提升權(quán)限提示。這種替代桌面稱為安全桌面,因?yàn)樗窍到y(tǒng)(而不是用戶)所擁有的,就像系統(tǒng)顯示W(wǎng)indows登錄對(duì)話框的桌面一樣。使用其他桌面還有一個(gè)重要目的,就是為了實(shí)現(xiàn)應(yīng)用程序兼容性:在正在運(yùn)行其他

10、用戶擁有的應(yīng)用程序的桌面上,如果內(nèi)置輔助功能軟件(比如屏幕鍵盤)能夠正常工作,那么此時(shí)就有一個(gè)第三方軟件不能正常工作。當(dāng)本地系統(tǒng)帳戶擁有的提升對(duì)話框顯示在用戶擁有的桌面上時(shí),該軟件將無(wú)法正常工作。Windows完整性機(jī)制和UIPI的設(shè)計(jì)目的是在提升的應(yīng)用程序周圍建立一道保護(hù)性屏障。它最初的目標(biāo)其中之一是防止軟件開發(fā)人員投機(jī)取巧,利用已經(jīng)提升的應(yīng)用程序來(lái)完成管理任務(wù)。使用標(biāo)準(zhǔn)用戶權(quán)限運(yùn)行的應(yīng)用程序無(wú)法將合成鼠標(biāo)或鍵盤輸入發(fā)送到提升的應(yīng)用程序中,以使應(yīng)用程序執(zhí)行其指令,也無(wú)法將代碼注入提升的應(yīng)用程序以執(zhí)行管理操作。Windows完整性機(jī)制和UIPI在Windows Vista中用于保護(hù)模式Inte

11、rnet Explorer,使得感染IE的運(yùn)行實(shí)例的惡意軟件更難于修改用戶帳戶設(shè)置,例如,將本身配置為在每次用戶登錄時(shí)啟動(dòng)。盡管Windows Vista的一個(gè)早期設(shè)計(jì)目標(biāo)是使用帶有安全桌面的提升、Windows完整性機(jī)制和UIPI,在使用標(biāo)準(zhǔn)用戶權(quán)限和管理權(quán)限運(yùn)行的軟件之間建立一個(gè)堅(jiān)不可摧的屏障(稱為安全邊界),但由于以下兩個(gè)原因,而導(dǎo)致該目標(biāo)未能實(shí)現(xiàn),并隨之被放棄:可用性和應(yīng)用程序兼容性。圖1顯示可執(zhí)行文件的名稱。首先,考慮提升對(duì)話框本身。它顯示將被授予管理權(quán)限的主要可執(zhí)行文件的名稱和發(fā)布者。遺憾的是,盡管越來(lái)越多的軟件發(fā)布者為其代碼添加了數(shù)字簽名,但仍然有一些軟件發(fā)布者沒(méi)有這樣做,并且還

12、有許多未添加簽名的舊版應(yīng)用程序。對(duì)于未簽名的軟件而言,提升對(duì)話框只會(huì)顯示可執(zhí)行文件的文件名,因此,對(duì)于某些惡意軟件(例如,已采用用戶帳戶運(yùn)行并且正在監(jiān)視未簽名Setup.exe應(yīng)用程序安裝程序的提升)而言,將能夠?qū)⒖蓤?zhí)行文件替換為惡意的Setup.exe,而用戶卻一無(wú)所知(請(qǐng)參閱圖1)。其次,該對(duì)話框不會(huì)告知用戶可執(zhí)行文件在啟動(dòng)時(shí)將會(huì)加載哪些DLL。如果可執(zhí)行文件位于用戶可以控制的目錄中,則使用用戶標(biāo)準(zhǔn)權(quán)限運(yùn)行的惡意軟件將能夠替換該位置中軟件將使用的任何關(guān)聯(lián)DLL。此外,惡意軟件可以使用并行功能,使可執(zhí)行文件加載應(yīng)用程序或系統(tǒng)DLL的惡意版本。并且,除非用戶警惕地單擊詳細(xì)信息按鈕,并仔細(xì)查看為

13、提升可執(zhí)行文件列出的文件路徑,否則惡意軟件可以將可執(zhí)行文件復(fù)制到名稱類似的位置,例如,ProgramFilesVendorApplication.exe(注意應(yīng)為Program Files的內(nèi)容中缺少的空格),在該位置中,惡意軟件將可控制應(yīng)用程序加載哪些DLL。在圖2中,我已將Microsoft網(wǎng)絡(luò)監(jiān)視器的一個(gè)組件復(fù)制到用戶創(chuàng)建的C:ProgramFiles目錄(用戶可控制該目錄),并啟動(dòng)了該組件。圖2已啟動(dòng)的Microsoft網(wǎng)絡(luò)監(jiān)視器組件的副本。最后,為了實(shí)現(xiàn)應(yīng)用程序兼容性,提升的應(yīng)用程序與標(biāo)準(zhǔn)用戶環(huán)境共享實(shí)質(zhì)性狀態(tài),惡意應(yīng)用程序可以使用該狀態(tài)來(lái)影響提升的應(yīng)用程序的行為。就這一點(diǎn)而言,最直

14、觀的示例就是用戶的注冊(cè)表配置文件HKEY_CURRENT_USER(HKCU)。該配置文件是共享的,因?yàn)橛脩粝M麄冏鳛闃?biāo)準(zhǔn)用戶注冊(cè)的設(shè)置和擴(kuò)展能夠在提升的應(yīng)用程序中工作。惡意軟件可以使用HKCU中注冊(cè)的外殼擴(kuò)展來(lái)加載到使用任何外殼瀏覽對(duì)話框(比如打開文件和保存文件)的已提升應(yīng)用程序中。其他各種狀態(tài)也是共享的,特別是基本命名對(duì)象命名空間,應(yīng)用程序?qū)⒃谄渲袆?chuàng)建同步和共享內(nèi)存對(duì)象。舉例來(lái)說(shuō),惡意軟件可以利用該共享來(lái)劫持提升的應(yīng)用程序使用的共享內(nèi)存對(duì)象,從而對(duì)應(yīng)用程序和系統(tǒng)造成危害。至于Windows完整性機(jī)制,由于我前面提到的提升問(wèn)題,因此它作為屏障的有效性是有限的,而它還存在由于應(yīng)用程序兼容性而

15、導(dǎo)致的限制。舉例來(lái)說(shuō),UIPI不會(huì)阻止標(biāo)準(zhǔn)用戶應(yīng)用程序在桌面上繪圖,這一點(diǎn)可能會(huì)被用來(lái)欺騙用戶,采用為惡意軟件授予管理權(quán)限的方式來(lái)與提升的應(yīng)用程序交互。同時(shí),Windows完整性機(jī)制也不能跨網(wǎng)絡(luò)應(yīng)用。采用PA帳戶運(yùn)行的標(biāo)準(zhǔn)用戶應(yīng)用程序?qū)⒛茉L問(wèn)PA帳戶具有管理權(quán)限的遠(yuǎn)程系統(tǒng)上的系統(tǒng)資源。如果解決這些限制,將會(huì)對(duì)應(yīng)用程序兼容性造成很大影響。盡管如此,我們一直在探尋提高系統(tǒng)安全性(例如,改善保護(hù)模式IE),同時(shí)解決應(yīng)用程序兼容性問(wèn)題并與軟件開發(fā)人員密切配合的方法。那么,當(dāng)您在啟用了UAC的情況下采用Windows Vista PA帳戶運(yùn)行時(shí),您將得到什么程度的惡意軟件防護(hù)?首先,請(qǐng)記住,要使任何這種

16、情況發(fā)生,惡意軟件首先必須進(jìn)入系統(tǒng)并且開始執(zhí)行。Windows具有許多深層防御功能,其中包括數(shù)據(jù)執(zhí)行保護(hù)(DEP)、地址空間加載隨機(jī)化(ASLR)、保護(hù)模式IE、IE 8SmartScreen篩選器,以及可以幫助防止惡意軟件進(jìn)入系統(tǒng)并運(yùn)行的Windows Defender。至于惡意軟件通過(guò)某種方式成功進(jìn)入系統(tǒng)的情況,由于惡意軟件作者(比如合法的開發(fā)人員)假設(shè)用戶使用管理權(quán)限運(yùn)行,因此大多數(shù)惡意軟件將無(wú)法正常工作。僅這一點(diǎn)可以被視為一種安全優(yōu)勢(shì)。但是,已進(jìn)入系統(tǒng)并且設(shè)計(jì)為可利用這些機(jī)會(huì)的惡意軟件將能夠在用戶第一次提升時(shí)獲得管理權(quán)限-但惡意軟件甚至不需要等待實(shí)際提升,因?yàn)樗梢源俪商嵘@種提升

17、甚至可以欺騙最注重安全的用戶。我已經(jīng)在我的UAC內(nèi)部信息和Windows安全邊界演示文稿中公開演示過(guò)惡意軟件如何能夠劫持提升過(guò)程(演示位于安全邊界討論的1分03秒處)。但是,請(qǐng)記住,如果惡意軟件已經(jīng)開始運(yùn)行,它只需使用標(biāo)準(zhǔn)用戶權(quán)限就可達(dá)到惡意軟件想要達(dá)到的大部分目的,其中包括將本身配置為在每次用戶登錄時(shí)運(yùn)行、竊取或刪除所有用戶的數(shù)據(jù),或者甚至成為僵尸網(wǎng)絡(luò)的一部分。Windows 7中的不同之處我在前面提過(guò),Windows 7中的某些操作現(xiàn)在可由標(biāo)準(zhǔn)用戶執(zhí)行,但正如有關(guān)UAC的E7博客文章所述,我們還認(rèn)識(shí)到,我們可以在不影響UAC的目標(biāo)的情況下使Windows體驗(yàn)更加流暢。許多用戶抱怨說(shuō),當(dāng)他們

18、執(zhí)行常見的系統(tǒng)管理操作時(shí),Windows Vista本身會(huì)頻繁地請(qǐng)求管理權(quán)限。使Windows能夠針對(duì)標(biāo)準(zhǔn)用戶環(huán)境正常工作對(duì)我們最有利,因?yàn)檫@樣將為我們的客戶帶來(lái)利益。但是,提升權(quán)限提示并沒(méi)有告誡或鼓勵(lì)我們這樣做,而是會(huì)強(qiáng)制用戶在絕大多數(shù)用戶都不理解的對(duì)話框中再次單擊。因此,win7開始從默認(rèn)Windows體驗(yàn)中最大程度地減少這些提示,并使以管理員身份運(yùn)行的用戶能夠控制其提示體驗(yàn)。為此,我們進(jìn)一步重構(gòu)了系統(tǒng),這樣,擁有標(biāo)準(zhǔn)用戶權(quán)限的用戶將能執(zhí)行更多任務(wù),并且,我們減少了若干多提示方案(例如,在IE中安裝ActiveX控件)中的提示數(shù)量。Windows 7還引入了兩種新的UAC操作模式,可以在新

19、的UAC配置對(duì)話框(請(qǐng)參閱圖3)中選擇這些模式。通過(guò)轉(zhuǎn)到控制面板,單擊用戶帳戶,單擊用戶帳戶,然后單擊更改用戶帳戶控制設(shè)置,您可以打開該對(duì)話框。(您也可以通過(guò)單擊提升權(quán)限提示上的顯示這些通知時(shí)進(jìn)行更改鏈接或通過(guò)訪問(wèn)操作中心來(lái)進(jìn)入該對(duì)話框。)圖3可在新的UAC配置對(duì)話框中選擇的兩種新UAC操作模式。圖3中顯示的默認(rèn)設(shè)置就是其中一個(gè)新級(jí)別。與位于滑塊頂部并相當(dāng)于Windows Vista中的默認(rèn)模式的始終通知不同,只有當(dāng)非Windows可執(zhí)行文件請(qǐng)求提升時(shí),Windows 7才會(huì)默認(rèn)提示用戶;針對(duì)非Windows提升的行為與Windows Vista相同。下面接下來(lái)的滑塊位置是第二個(gè)新設(shè)置,它的標(biāo)

20、簽相同,只是后面附加了(不降低桌面亮度)。該模式和默認(rèn)模式的唯一不同之處在于:提示將出現(xiàn)在用戶的桌面(而不是安全桌面)上。這樣的好處是:用戶可以在提示處于活動(dòng)狀態(tài)的同時(shí)與桌面交互,但正如我之前提到的,將會(huì)出現(xiàn)第三方輔助功能軟件可能無(wú)法在該提示對(duì)話框上正常工作的風(fēng)險(xiǎn)。最后,如果選擇最底部的滑塊位置,將會(huì)完全禁用UAC技術(shù),這樣,所有采用PA帳戶運(yùn)行的軟件都將使用完全管理權(quán)限運(yùn)行、文件系統(tǒng)和注冊(cè)表虛擬化將被禁用,并且保護(hù)模式IE將被禁用。盡管采用此設(shè)置時(shí)將沒(méi)有提示,但保護(hù)模式IE的損失是此模式的一個(gè)很大的弊端。自動(dòng)提升在采用中間兩種設(shè)置時(shí),之所以(大多數(shù))Windows可執(zhí)行文件的提升不會(huì)產(chǎn)生提示

21、,其原因在于系統(tǒng)自動(dòng)提升了Windows可執(zhí)行文件。首先,在此上下文中,Windows對(duì)Windows可執(zhí)行文件的定義是什么?答案取決于若干因素,但有兩個(gè)條件必須得到滿足:該可執(zhí)行文件必須經(jīng)過(guò)Windows Publisher的數(shù)字簽名,Windows Publisher是用于對(duì)Windows附帶的所有代碼進(jìn)行簽名的證書(僅由Microsoft進(jìn)行簽名是不夠的,因此Windows未附帶的Microsoft軟件不包括在內(nèi));并且該可執(zhí)行文件必須位于其中一個(gè)為數(shù)不多的安全目錄中。安全目錄是指標(biāo)準(zhǔn)用戶無(wú)法修改的目錄,并且它們包括%SystemRoot%System32(例如,WindowsSyste

22、m32)及其大多數(shù)子目錄、%SystemRoot%Ehome,以及%ProgramFiles%下的少許目錄(其中包括Windows Defender和Windows日記本)。同時(shí),視可執(zhí)行文件是普通.exe、Mmc.exe還是COM對(duì)象而定,自動(dòng)提升還有一些附加規(guī)則。如果.exe種類的Windows可執(zhí)行文件(如前面所定義)在其清單中指定了autoElevate屬性,這些可執(zhí)行文件將會(huì)自動(dòng)提升。應(yīng)用程序也將在該清單中向UAC指明它們需要管理權(quán)限。此處的Sysinternals Sigcheck實(shí)用工具通過(guò)命令sigcheck m%systemroot%system32taskmgr.exe來(lái)轉(zhuǎn)

23、儲(chǔ)任務(wù)管理器(Taskmgr.exe)的清單,該清單顯示任務(wù)管理器已加入自動(dòng)提升,如圖4所示。圖4 autoElevate屬性在目錄樹中查找自動(dòng)提升可執(zhí)行文件的一種簡(jiǎn)便方法是,通過(guò)如下所示的命令使用Sysinternals Strings實(shí)用工具:strings s*.exe|findstr/i autoelevate還有一個(gè)硬編碼列表,其中包含獲得自動(dòng)提升處理的Windows可執(zhí)行文件。這些Windows可執(zhí)行文件也并非是Windows 7附帶的內(nèi)部文件,因此它們必須能夠在autoexecute屬性會(huì)導(dǎo)致錯(cuò)誤的舊版系統(tǒng)上運(yùn)行。列表中包括Migwiz.exe(遷移向?qū)?、Pkgmgr.exe(

24、程序包管理器)和Spinstall.exe(Service Pack安裝程序)。將對(duì)Microsoft管理控制臺(tái)Mmc.exe進(jìn)行特殊處理,因?yàn)樗休d了多個(gè)以DLL形式實(shí)現(xiàn)的系統(tǒng)管理管理單元。Mmc.exe通過(guò)命令行啟動(dòng),該命令行指定一個(gè).MSC文件,其中列出要加載的管理單元MMC。Mmc.exe將在通過(guò)PA帳戶啟動(dòng)時(shí)請(qǐng)求管理權(quán)限,當(dāng)Windows發(fā)現(xiàn)這一點(diǎn)時(shí),它將驗(yàn)證Mmc.exe是否為Windows可執(zhí)行文件,然后檢查.MSC。為了獲得自動(dòng)提升資格,.MSC文件必須滿足Windows可執(zhí)行文件條件(由Windows在安全的位置中簽名),并且必須列在自動(dòng)提升.MSC的內(nèi)部列表中。該列表實(shí)際上

25、包括Windows附帶的所有.MSC文件。最后,COM對(duì)象可以通過(guò)創(chuàng)建一個(gè)名為Elevation的子項(xiàng)(其名為Enabled的值設(shè)置為1),利用其注冊(cè)表項(xiàng)中的注冊(cè)表值來(lái)指定需要管理權(quán)限。圖5顯示了外殼的復(fù)制/移動(dòng)/重命名/刪除/鏈接對(duì)象的注冊(cè)表項(xiàng),當(dāng)用戶對(duì)其帳戶沒(méi)有權(quán)限訪問(wèn)的位置執(zhí)行文件系統(tǒng)操作時(shí),資源管理器將使用該對(duì)象。圖5外殼注冊(cè)表項(xiàng)要使COM對(duì)象能夠自動(dòng)提升,它還必須是Windows可執(zhí)行文件,并且必須已由Windows可執(zhí)行文件進(jìn)行實(shí)例化。(不過(guò),無(wú)需將實(shí)例化可執(zhí)行文件標(biāo)記為自動(dòng)提升。)例如,當(dāng)您使用資源管理器通過(guò)PA帳戶在%ProgramFiles%目錄中創(chuàng)建目錄時(shí),操作將會(huì)自動(dòng)提升

26、,因?yàn)镃OM對(duì)象請(qǐng)求了提升、對(duì)象的DLL是Windows可執(zhí)行文件,并且資源管理器是Windows可執(zhí)行文件。自動(dòng)提升與UAC的目標(biāo)那么,所有特殊自動(dòng)提升規(guī)則背后的原理是什么?選擇要自動(dòng)提升哪些程序以及不自動(dòng)提升哪些程序是由以下問(wèn)題確定的:應(yīng)用程序開發(fā)人員是否能夠利用自動(dòng)提升無(wú)意間或不費(fèi)力地依賴于管理權(quán)限?由于可以使用Cmd.exe通過(guò)命令行參數(shù)來(lái)執(zhí)行批處理腳本,并且普通用戶不需要以提升方式運(yùn)行命令提示符(大多數(shù)用戶甚至不知道命令提示符是什么),因此未將Cmd.exe列入自動(dòng)提升的清單。同樣,承載控制面板插件的可執(zhí)行文件Rundll32.exe在Windows 7的最終版本中也未自動(dòng)提升,因?yàn)?/p>

27、對(duì)于任何常見管理任務(wù)而言,并不需要對(duì)其進(jìn)行提升,并且,如果Rundll32.exe進(jìn)行了自動(dòng)提升,則它通過(guò)命令行承載任意DLL的能力將會(huì)導(dǎo)致開發(fā)人員要求使用管理員權(quán)限,而自己卻未意識(shí)到。自Windows Vista測(cè)試版發(fā)布以來(lái),最終用戶一直在要求Windows提供一種向自動(dòng)提升列表中添加任意應(yīng)用程序的方法。經(jīng)常被提及的原因是:他們常用的某個(gè)第三方應(yīng)用程序強(qiáng)制他們不斷單擊提升權(quán)限提示,而這已經(jīng)成為他們?nèi)粘9ぷ鞯囊徊糠?。就像Windows Vista一樣,Windows 7并未提供這種功能。我們理解這種操作非常繁瑣,并且可能有這些應(yīng)用程序無(wú)法在沒(méi)有管理權(quán)限的情況下運(yùn)行的合理原因,但開發(fā)人員將會(huì)避免將其代碼修正為使用標(biāo)準(zhǔn)用戶權(quán)限,而這樣的風(fēng)險(xiǎn)太高。即使有關(guān)哪些應(yīng)用程序進(jìn)行自動(dòng)提升的列表只能由管理

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論