Cover 筆者曾經在網路上看到這樣的言論:「Windows 7的UAC根本是脫褲子放屁,我都要修改系統設定了,多一個彈出視窗也不會更安全,只是多一道干擾而已」。乍聽之下好像還蠻有道理的,實際上使用者帳戶控制(User Account Control,UAC)到底是幹嘛的,跑出一片黑畫面的警告視窗有什麼意義?

UAC可以隨便關?

以一句話來說:「用一般使用者的權限完成所有操作」,就是從Windows Vista開始導入UAC的基本精神。我們知道從Windows XP開始就有使用者帳戶權限的概念,可以粗分成系統管理帳戶和一般使用者,不過很多人根本懶得改變習慣,就一路以擁有最大權限的管理員帳號玩到掛,當有網路上的病毒或惡意程式被這些粗心的使用者執行,後果也不堪設想。

▲ Vista時代飽受批評的UAC警告畫面還是傳承下來,你知道為什麼這樣比較安全嗎?

臨機啟用系統權限

因此,即使用管理員帳號,通常也只有一般使用者權限的保護模式(protected administrator),系統被駭客破壞的風險就低得多,等到必要修改系統設定,再臨時提升權限就行了。這也是詭異的黑畫面警告視窗出現的時機,它不是故意弄得很嚇人而已,而是因為這個「安全桌面(secure desktop)」的擁有者是最高權限的系統,而不是一般使用者,所以一般應用程式沒辦法偽造出來。另外由於整個螢幕畫面會被鎖住,也無法操控或修改提升權限的應用程式,只能等你按對話框確認。

5種權限來把關

所謂「最高權限的系統」指的是什麼火星文呢?這是由Windows Vista開始建構的「安全層級(Windows Integrity Levels,簡稱IL)」機制,IL所賦予的權限凌駕在檔案系統、程式等其他物件之上,就算某個程式對某個物件具有完整的存取權限,但是該程式的IL比要存取的對象低,就會無法執行。IL的等級總共分成6種:

1.非信任(untrusted):

用訪客帳號等匿名登入的程序會被歸類為非信任層級。

2.低(low):

只要是和網際網路溝通的程序通通預設都是低安全層級,像是IE瀏覽器預設執行的保護模式(protected mode),會使得和它相關的程序和檔案只能有低安全層級。

3.中(medium):

一般使用者,和任何沒有特別指定IL的元件都是中安全層級。

4.高(high):

系統管理員會被賦予高安全層級,所以它能存取其他低、中、高的各種元件。

5.系統(system):

保留給Windows核心和系統服務使用的層級,它的層級比「high」還要高,所以也不會被系統管理員修改。

6.安裝程式(installer):

這是擁有最高層級的特殊權限,才能用來移除其他各種元件。

▲IE瀏覽器保護模式勾選視窗,與其取消勾選保護模式,應該把網站加入受信任的清單才是。

少了UAC大不妙

看起來是不是有點霧煞煞?很多病毒、惡意程式都是從網路相關的途徑下載、傳染進來的,而Windows把預設的元件設成「medium」,這些網路來的「低」等物件就不能隨意去修改或刪除了。

所以啦,UAC保護關或不關,並沒有表面上看來那麼簡單。當UAC啟動的時候,包括系統管理員在內的帳戶都是以一般使用者的權限執行。而UAC關閉時,原本會以「保護模式(protected administrator)」執行的程式就會完全以管理員權限運作。而且檔案系統與登錄檔的虛擬化被關閉,IE保護模式也被取消。總之就是大事不妙。

既然UAC這麼可靠,那Windows 7「順應民意」減少一大堆對話框會怎樣呢?基本上沒有影響,這些原本會出現警告的項目,還是看得到旁邊有UAC的小圖示,它代表執行的時候系統會幫我們「自動升級」。

▲ 雖然Windows 7的警告視窗少很多,但是「保護依舊在,只是沒視窗啦」。

使用 Facebook 留言

Fbd976b68b3170ec9173106fdd5250f9?size=48&default=wavatar
2人給推

1.  yourtube (發表於 2010年11月28日 21:12)
好文!!應該多多推廣!
留得UAC在,不怕病毒擾..=v=
阿冬
1人給推

3.  阿冬 (發表於 2010年11月28日 21:41)
用一用就跳出來表現一下...╮(╯_╰)╭
說真的不是很順暢
最狂嘴砲戰鬥哥 Amola Li
2人給推

4.  最狂嘴砲戰鬥哥 Amola Li (發表於 2010年11月28日 22:08)
以出現頻率來說,Windows 7已經比Vista好很多了
不過用久了有時候會懶的去看系統在吵啥就按過去
回過頭來還是要強調使用習慣的重要XD…
Af517381e0b81c66b188ff741361be83?size=48&default=wavatar
5.  Alex (發表於 2010年11月28日 22:20)
很可惜
平常權限受制
安裝程式或系統修改才提升權限
這個模式的概念一開始XP就沒有耳提面命使用者和開發者
不然那用下去攔都不攔的優化偏方和不給高權限或降低安全會讓一些軟體出問題
是怎麼一回事?
Ed6adbd809263027776c7ce261c7587d?size=48&default=wavatar
7.  RB (發表於 2010年11月28日 22:53)
SUDO打習慣以後就很能適應了...畢竟自己的使用者習慣,和安全的使用者習慣,我選擇後者
4803d3a7932f3779a301bba3111d0be6?size=48&default=wavatar
5人給推

8.  charger (發表於 2010年11月28日 23:09)
這個安全功能在我看來,就是要「人工」去介入嘛!就好像有些線上ATM會要求把金融卡抽出來再插入讀卡機一樣,確保是真的人在操作。這個比喻不知是否恰當,留給各位大大評論了。
路人假
2人給推

9.  路人假 (發表於 2010年11月29日 01:26)
※ 引述《charger》的留言:
> 這個安全功能在我看來,就是要「人工」去介入嘛!就好像有些線上ATM會要求把金融卡抽出來再插入讀卡機一樣,確保是真的人在操作。這個比喻不知是否恰當,留給各位大大評論了。

可是如果引發使用者不去看敘述就習慣性按下確定
我倒覺得不如不要這個東西╮(╯_╰)╭
91bb6563ba2533cb916dd16db1173c12?size=48&default=wavatar
10.  frank (發表於 2010年11月29日 09:10)
裝好Vista或7以後,UAC一定是最先被關掉的東西,麻煩死了...
84b13d8574cc37b4c7a9ac4a354af979?size=48&default=wavatar
3人給推

11.  Sc077 (發表於 2010年11月29日 09:49)
使用者習慣固然重要,但如果習慣本身存在高風險...
有些人習慣每天都吃高油高鹽,也是習慣重要嗎?
用比喻當然無法貼近事實,
windows 從問世以來,一直沒有將目標使用者定位成真正的 End-User, 但並非每個人都是 mis 或 具備基礎的 it 知識,
權限的確是麻煩,但身為使用電腦的你真的知道你的每個使用習慣造成的影響嗎?簡單來說,分權負責是保你安全的最好方法,然而保險套也只有99.8%,如果你不想整天追著駭客日新月異的手法跑,那還是交給專業的來吧。
914f8cbc9dbef12f0c2ac4a76d7ce2fc?size=48&default=wavatar
6人給推

12.  wuo (發表於 2010年11月29日 10:00)
還記得資安教材說的:
當設下了最完善的安全措施之後,該種措施並不存在!

最主要的原因是當使用者被disturb到某種程度之後,他們是會棄守,會棄守的!

UAC之擾人即是如此,看過太多例子,包含某些軟體防火牆。
絕大部分的使用者無法也沒有能力去分辨要執行的程式是否安全?
到最後就全數放行,試問這擾人的UAC還有用,還有用嗎?

軟體廠商該做的並不是把放行這些程式的責任推卸到使用者身上,因為他們不是專家也不懂。

該做的是軟體安全認證平台,由這些平台來授予安全認證,讓這些受過認證的軟體能順利通過UAC而不干擾使用者;讓使用者去放心地執行經過認證的軟體才是。
Bellie Cheung
1人給推

13.  Bellie Cheung (發表於 2010年11月29日 10:31)
我認為UAC是給不會電腦的人用的,假如你的軟體經過殺毒軟體掃描的話,你還需要UAC作出多餘的反應?又假如UAC真的那麼管用的話,那我的殺毒軟體還有存在的必要?
5dcdf28d944831f2fb87d48b81500c66?size=48&default=wavatar
2人給推

14.  路人 (發表於 2010年11月29日 10:34)
就拿一個簡單的例子來講

當你安裝了某個網路應用程式

而windows問你

"此程式將會開啟8080 port,可能造成危險,是否開啟?"

如果使用者沒有相關常識 誰知道8080 port是啥鬼

(我也不知道,亂掰的)

而使用者在使用時只有兩種狀況

1.為了使用這個軟體按下確認

2.看到危險這兩個字,結果這輩子都不敢使用這個程式

結論是什麼?就是這個安全防護一點用都沒有

就如同樓上講的,只是把責任推卸到使用者身上罷了
9635a29f21433f89f91653517b32358c?size=48&default=wavatar
3人給推

15.  阿伯 (發表於 2010年11月29日 11:14)
微軟做的軟體一直以來就是功能贏別人而已

做介面設計最差的情況,就是把問題丟給使用者自己去決定。

UAC 就是個例子


這還不包含 W7 控制台真的很難用。
914f8cbc9dbef12f0c2ac4a76d7ce2fc?size=48&default=wavatar
3人給推

16.  wuo (發表於 2010年11月29日 11:27)
甚至於在下都維護過有電腦無法上網,
結果是使用者不知該如何回應系統的requset之後點選封鎖而無法上網了。

抓了半天,問題是發生在軟體廠商的卸責行為,令人哭笑不得。
無痕
17.  無痕 (發表於 2010年11月29日 13:41)
UAC 沒必要去用,光一個 HIPS 就夠煩人了。
這個 UAC 既無法自我學習,也不能 SMART 判斷軟體的行為。
重點還是使用習慣,UAC 都是直接關閉掉。
D219af79b45e5891507fda4c4c2139a0?size=48&default=wavatar
18.  ellery (發表於 2010年11月29日 20:22)
應該是從Windows NT開始就有使用者權限的設計. Windows 9x沒有.
E4b2adbc8d02e2b7ef8c31b70c2db1d7?size=48&default=wavatar
1人給推

20.  toppy368 (發表於 2010年12月01日 22:34)
我覺得UAC應該加入白名單,至少可以不用每次都跳出警告(有部分的防火牆已經有此功能,包含Windows從XP內建的防火牆也有此功能)

如果可以,也許弄個資料庫,從網友傳送程式的資料及從你蒐集得來的軟體資料來輔助判斷安全性,做紅綠燈讓網友可以判斷,如果可以做個提示讓網友明白這技術會有發生怎樣的風險可能會比較好

畢竟大部分的人都不是IT人員,也沒學過網路相關架構,怎麼會知道這些跟電腦安全有關的專有名詞?

發表回應

謹慎發言,尊重彼此。按此展開留言規則