國(guó)內(nèi) Windows 用戶幾乎都知道的一個(gè)功能:以管理員身份運(yùn)行。不管是殺毒軟件還是聊天工具,哪怕只是個(gè)看圖軟件,都需要管理員身份才能運(yùn)行。
以管理員身份運(yùn)行,到底意味著什么?真的有必要嗎?
這一切都要從 Windows 上一個(gè)備受唾棄的功能—— UAC(用戶賬戶控制)說起。你可能沒有聽過這個(gè)名字,但你一定見過它的界面。
對(duì)于很多人來說,這個(gè)彈窗和脫了褲子 ?? 沒什么兩樣,因?yàn)榇蠖鄶?shù)彈窗都是用戶主動(dòng)操作后出現(xiàn)的。多一個(gè)彈窗只是多了確認(rèn)的步驟,徒增干擾。如果點(diǎn)「否」,操作大概率會(huì)被中斷,如果點(diǎn)「是」,也就意味著程序?qū)@得管理員權(quán)限。都知道 Windows 中有不同的賬戶對(duì)應(yīng)不同的管理權(quán)限:
開啟 UAC 后,程序默認(rèn)以 Users 的權(quán)限級(jí)別運(yùn)行(哪怕登錄管理員賬戶)。在程序試圖修改系統(tǒng)設(shè)置,文件,注冊(cè)表等等時(shí),就會(huì)彈出提示框請(qǐng)求管理員權(quán)限,類似 MAC 中的需要輸入密碼操作。從 Windows 7 開始,UAC 擁有自己的設(shè)置界面和 4 個(gè)通知檔位,并一直延續(xù)至今。
在系統(tǒng)后臺(tái)中,不同權(quán)限級(jí)別的進(jìn)程是隔離的。如果一個(gè)程序在運(yùn)行過程中申請(qǐng)高級(jí)別權(quán)限,哪怕用戶同意,它也不能直接獲得權(quán)限,這么做是為了避免惡意程序誘導(dǎo)用戶,甚至繞過 UAC 獲取權(quán)限。
無論程序怎么做,因?yàn)椴煌瑱?quán)限隔離,想到管理員權(quán)限組的進(jìn)程必須重啟,新開的進(jìn)程才能以管理員權(quán)限運(yùn)行。而所有新開的進(jìn)程,資源管理器都會(huì)驗(yàn)證它的權(quán)限級(jí)別,如果是管理員級(jí)別權(quán)限則會(huì)需要用戶同意。
UAC 剛問世的時(shí)候因?yàn)轭l繁彈窗的問題,被許多用戶埋怨,微軟為了推進(jìn) UAC 的使用率,引入了 UAC 虛擬化。
有很多程序運(yùn)行時(shí)候只需要寫入 HKLM 或 Windows 目錄,而不用加載驅(qū)動(dòng), Windows 檢測(cè)到這種程序后,便會(huì)啟用 UAC 虛擬化。原本程序需要對(duì)注冊(cè)表 HKLM 目錄進(jìn)行的修改,被集中到注冊(cè)表的 HKCR 目錄下。原本需要寫到 Windows 目錄的內(nèi)容,現(xiàn)在放到到 C 盤的 Appdata 目錄中。
這樣做既減少了 UAC 彈窗的次數(shù),也提升了系統(tǒng)的安全性(避免其他程序通過 DLL 注入等方法獲得管理員權(quán)限甚至 System 權(quán)限)。兩全其美,也是正經(jīng)軟件廠商的做法。
然而,現(xiàn)在的國(guó)產(chǎn)軟件幾乎全部需要管理員權(quán)限才能運(yùn)行,為什么?簡(jiǎn)單來說就是讓自家軟件在安裝時(shí)就獲取最大權(quán)限,今后彈個(gè)窗,鎖定個(gè)主頁(yè),修改個(gè)右鍵菜單,看看用戶隱私文件,安裝些全家桶,這些事辦起來還不是輕而易舉?
所以說,需要管理員權(quán)限才能安裝運(yùn)行的軟件,99% 背地里都在干一些齷齪勾當(dāng),洗不掉的。
自己的電腦好,大不了定期清理,重裝系統(tǒng)。但如果是公共區(qū)域的公用電腦,或者父母小孩用的電腦,因?yàn)楹芏嗳瞬欢娔X,幾乎 100% 會(huì)被誘導(dǎo)安裝大量流氓軟件。這時(shí)候妙用 UAC,可以徹底阻絕軟件的流氓行為。
剛才說過,第一次登錄 Windows 時(shí)創(chuàng)建的是一個(gè)管理員賬戶,實(shí)際上對(duì)于小白或數(shù)據(jù)安全要求高的用戶,標(biāo)準(zhǔn)賬戶足以。不管在那種賬戶下登錄,程序都該以標(biāo)準(zhǔn)權(quán)限運(yùn)行。
在管理員賬戶下運(yùn)行的程序需要提升權(quán)限時(shí),會(huì)直接申請(qǐng),用戶作為管理員直接給權(quán)限。在標(biāo)準(zhǔn)賬戶下運(yùn)行的程序需要提升權(quán)限時(shí),因?yàn)闃?biāo)準(zhǔn)賬戶本不具備管理員權(quán)限,所以必須輸入管理員賬戶密碼才能繼續(xù),不知道密碼,就沒辦法安裝。
這就避免了程序繞過 UAC 獲得管理員權(quán)限,特別是全家桶的靜默安裝。
前面提到 Windows 7 開始的 UAC 通知有四個(gè)檔位,第三檔是 Windows 默認(rèn)的,但是小淙推薦大家使用第四檔“始終提醒”。
前面也說過一些程序會(huì)繞過 UAC 來達(dá)到提權(quán)的目的,其實(shí)這是 Windows 允許的靜默提權(quán)行為。目的還是為了較少?gòu)棿?,避免用戶反感。但也相?dāng)于留了一個(gè)后門,讓惡意程序有了可趁之機(jī)。而「始終通知」可以避免靜默提權(quán)行為,所有涉及管理員權(quán)限的行為都將彈窗。
二三檔在通知數(shù)量上沒有差別,它們相較第一檔,都取消了以下行為的彈窗:
?在控制面板里的管理操作時(shí)不彈窗;
?在 Windows 資源管理器內(nèi)部操作時(shí)不彈窗(啟動(dòng)子進(jìn)程依然需要);
?打開任務(wù)管理器時(shí)不彈窗;
?更改防火墻設(shè)置時(shí)不彈窗;
?打開 UAC 設(shè)置界面時(shí)不彈窗。
中間兩檔的區(qū)別是:第三檔彈窗界面背景為黑色,此時(shí)所有進(jìn)程暫停,等待用戶操作后才能繼續(xù)運(yùn)行,避免惡意程序控制鼠標(biāo)自行獲取管理員權(quán)限(常在用戶未使用計(jì)算機(jī)的情況下)。
截圖程序也被暫停,只能拍照。
而第二檔只是彈窗,背景就是原來的操作界面,只有申請(qǐng)權(quán)限的程序被暫停,其他程序照舊運(yùn)行。
雖說是「始終通知」,但實(shí)際使用下來通知數(shù)量并沒有很多,還遠(yuǎn)不到令人厭煩的地步。現(xiàn)在看來 UAC 這個(gè)當(dāng)初受人詬病的功能能夠存活到現(xiàn)在,要感謝微軟當(dāng)初主動(dòng)選擇并堅(jiān)持了,這條對(duì)抗用戶使用習(xí)慣的道路,有效避免了很多安全問題。
固然有些操作確實(shí)需要提供給程序管理員權(quán)限,比如修改開機(jī)啟動(dòng)項(xiàng),但是這些操作本不該頻繁出現(xiàn),只有在偶爾調(diào)用時(shí)才會(huì)彈窗。
以后再遇到有程序頻繁請(qǐng)求權(quán)限,真正應(yīng)該懷疑的是,為何這個(gè)程序需要如此頻繁的獲取管理員權(quán)限?它想干什么?這樣的軟件還是換掉的好,實(shí)際上我們使用的大多數(shù)流氓軟件都不是優(yōu)秀的軟件。
本文編輯:@ 小淙
?本文著作權(quán)歸電手所有,未經(jīng)電手許可,不得轉(zhuǎn)載使用。