三年前見識過WebATM網站"教導"使用者設定IE,允許執行所有不標示為安全的ActiveX控制項,我寫了這篇: 讓我們再創台灣的資安奇蹟。啊~~~ 福氣啦!!

前幾天我又發現另一椿資安奇蹟。

話說Vista UAC這份昂貴的保險,讓不少原本依賴管理者權限在Windows裡縱橫的程式紛紛中箭落馬(連Visual Studio 2005/2008都在名單上),必須透過以管理者權限執行的做法克服問題。

不過,像這樣教導使用者索性關閉UAC來個眼不見為淨,未免也太霸氣...

在這份說明裡完全沒提到關閉UAC可能衍生的風險,感覺上只想解決自家軟體的相容問題,力求少接幾通客服電話。在我的觀點裡,這很像早期電腦設備還不那麼普遍時,工程師在裝機時一看到插座只有兩孔,問都不問就很阿莎力地把電源線插頭多出來的"那一根"當場折斷(只差沒有吶喊"殺很大~~~")。電腦馬上能開機使用,至於會不會增加漏電風險,反正那是將來的事,立即能用、馬上收錢才是重點。

我一直天真地以為,從事軟體產業(尤其是跟錢有關的),應該要多負些"社會責任",把握機會教育使用者用正確、安全的方式使用電腦,讓大眾有好的資安觀念跟習慣,降低中毒掛馬入侵盜帳號事件發生的機率,大家更能放心使用電腦處理個人身家財產,軟體應用才會更普遍,資訊產業才會篷勃發展,創造了更多的就業機會,最後還是幫到自己。

在這個案例中,我不苛求廠商改寫程式,避開非必要動用管理者權限的動作使與Vista UAC相容(連MS自己都不太做得到);但既然都能細心地準備了圖文並茂的說明,為何介紹的不是先下載程式存到本機,再用"Run as administrator”執行? 一樣兩張圖可以解決,程式就能順利執行無誤。

多想兩分鐘,你可以不必教User關掉Vista UAC。


Comments

# by kk

如果不關掉Vista UAC 但仍舊每個下載來的程式都用"Run as administrator”執行 不是一樣會讓它得到最高直行權限嗎 所以我覺得UAC真的完全沒用 只是妨礙使用者使用而已 真的要有用的話是要去剖析程式,判斷他是否安全 真的有不對勁才通知使用者, 不然UAC也只是把判斷的責任還給使用者而已

# by Maxi

UAC真的很爛 其實有些程式就算RUN AS ADMIN還是會跑到一半跑不動 尤其是遊戲安裝之類 可能他的程式又會執行子程式 子程式卻不會繼承ADMIN RIGHTS(誤) 所以還是要關掉UAC才裝得起來 UAC真的有點是學LINUX又學不起來的四不像

# by Jeffrey

@kk, 實務上"有意識地"開放一部分程式Run As Admin,相較於任何網路上下載來的程式都一律放行,在安全性上還是有加分。我承認這種人工式判斷讓UAC變成一份昂貴的保險,我也覺得自己是願意繳納高額保費的少數。(十年怕井繩一族) @Maxi, 其實程式如果非絕對必要,可以不用Admin權限就能執行,對資安也是好事一椿(以IIS演進為例,程式執行權限也在一路縮減),Vista這樣逼RD們把程式改得更安全,實在也是用心良苦。(大誤)

# by archer

身為網管,我很依賴 cmd.exe 偏偏 UAC 對於 指令 的限制很嚴格 ... @ @ 我也很想知道如何不關 UAC 就可以正常執行許多 指令 的方法 什麼指令一時也忘了~ 不過常用的就 ipconfig / arp / route / ping / pstools / shutdown dir / type 應該是沒事

# by Jeffrey

to archer, 在我的認知裡,依UAC的設計精神,只要是企圖"更動系統層次設定",就需要額外問一次授權,若只是讀取設定或查看資訊,多半可直接執行。 針對cmd受限的問題,我的做法是要做系統管理動作前,在執行輸入cmd,按下Ctrl-Shift-Enter,就會以管理者權限跑cmd.exe, 可以暫停擺脫UAC的限制,還算簡便。(至少對我而言啦)

# by someonepoor

嚴格來說這是寫AP的人的問題,Linux上也沒這麼多需要su的程式,不知道為什麼寫Windows AP的人很少去考慮適當的系統配置,不是通通把東西網HKLM塞就沒事了啊.... 只能說人的慣性很恐怖,RD尤甚...

# by Wilson

噗 !! 看到黑老大的文章, 想到小弟早年行走江湖需練就一身空手折插頭的本領 !! 也看過不少人很聰明的去買三孔插座來用, 再把三孔插座的電源插頭第三支腳再折斷的做法, 或是用電源三轉二的轉接插頭, 重點是.. 地線還是沒接地 !! 現在應該很少二孔插座了吧 !!

# by Jeffrey

to Wilson, 的確,當年很多人搞了三孔插座卻沒插地,純粹做心安的。說起來,工程師除了不能折腳還要教導客戶何謂地線、如何接地才算是盡到社會責任,弄到有點"喝牛奶養牛的"的感覺,還真是沈重。對照起來,一個半調子在部落格上高聲吶喊資安應該也算一種"好傻好天真"的行為,注定要中毒的人也許根本不會讀到你的文章,讀到了也未必看懂,看懂也不見得會照做,即使照做了也難保不會在其他方出包而中箭。不過,勿以善小而不為,既然能力有限,擠出一丁點貢獻也好,往對的方向慢慢累積,世界遲早會改變。

# by 路過的貓

判斷UAC的訊息對我們來說可能是小菜一碟 但一般USER只要遇到電腦產生"預期之外"的任何訊息、動作 都會不知所措,甚至懷疑是不是電腦壞掉、中毒 靈光一點的會自己按按試試,企圖找出某種步驟可以執行出他要的結果 其餘的,要嘛就找電腦保母求救 (朋友、家人、資訊部門、廠商) 不然就是一邊大喊好難用一邊生悶氣,同時在內心畫個叉叉說以後再也不要用了 對於看到UAC就只知道按同意的使用者 他既然都已經把病毒木馬下載下來了,又還有甚麼機制可以阻止他中毒呢? 所以我覺得UAC還是只對懂電腦的人有用 而這些人沒有UAC也還是可以活得好好的啊

# by Jeffrey

to 路過的貓, 我完全同意您的分析,除了最後一點。"而這些人沒有UAC也還是可以活得好好的"-->用了UAC可以更放心地使用電腦,減少一失足成千古恨的機率,對一些閃過防毒軟體的惡意程式來說,UAC多能有效阻擋。 但誠如您所言,也許真的要剛好類似我這樣背景跟需求的人,才會欣賞UAC吧! (就像手排車一樣)

# by 路過的貓

呃啊啊啊請不要用尊稱這樣小的會折壽~~OTL 總之我覺得UAC還可以再改一下就是了..... 目前這樣.......真的是門檻好高啊.....

# by 無痛人生

想想程式設計師的痛苦,以往就有非常多的產品,就是利用XP裡面Administrator User Context一併含括System Context的【漏洞】所開發的。 現在換成Vista還有Win 7,UAC若是不關掉,以前能賣的產品就不用做了,直接收工下班。 但是這種軟體產品,就是因為付錢的客戶不想了解OS的一些基礎限制,所以交給廠商做,然後又要越簡單越好,最好是安裝完之後客戶什麼都不用管,越是方便的東西越是不安全,因為方便有時候就是去動用【後門】。 既然客戶什麼都不想管,UAC是不是關掉對客戶有啥重要? 跟客戶解釋再多資安問題,客戶聽不進去,那就只有中了木馬再說吧~~~

Post a comment