西西河

主题:【讨论】一篇介绍系统安全文章的读后感 -- 肯定没有被注册

共:💬1 🌺7 新:
全看树展主题 · 分页
家园 【讨论】一篇介绍系统安全文章的读后感

外链出处

为了阅读的方便,将文章简体化后附录于下:

狗都嫌的Vista UAC,问题在哪里?
前几天接获一件案例,Vista x64连上健保局网站,由于需使用自然人凭证,要安装ActiveX控件,结果苦主将IE7的保护模式关闭、也设成信任的网站,反复尝试,耗了超过一个小时,仍不得其门而入,接获报案后,以过来人的经验建议改用Run As Administrator执行IE,问题迎刃而解。

后续的说明中"不小心"提到Run As Administrator是解决大部分UAC障碍的大绝招(前题你要自行承担该程序夹带病毒、木马等恶意软件的风险)。果不其然,在这个案例中又听到再熟悉不过的评价: Vista的UAC真烂,难怪大家都把它关掉。

想一想,我跟一般User的思维不同,我爱死UAC了。有过跟木马、黑客交手的经验,我在资安议题上呈现"十年怕井绳"的轻微被害妄想。在使用Vista之前,我甚至装过Comando Firewall,过滤所有联外通讯,动不动就会跳出来问你: "某某程序现在要连到某某网站啰! 你要不要大发慈悲放行一下?",一天要按个数十下确定我都不为所苦。因为我知道稍不留神,木马、病毒程序可能透过各式管道骗过防病毒软件钻到系统中,每日开机关机长相左右,还可能正偷偷把我浏览的无名正妹在网页上输入的信用卡号传送到恶魔党总部。

木马、病毒要能攻下系统,很重要的一个步骤是将自己注入成为系统的一部分,将自己设定为开机就执行或在系统核心加挂拦截程序(例如: 键盘侧录、封包监看),而这些动作有一个共同特色--都需要具备系统管理者权限才能执行。而大部分的用户,以身为计算机的拥有者自居,自然不希望管理自己的计算机还处处受限,因此平时登入身份多具有管理者权限。这样情境下就提供了许多可趁之处,用户只要未及时更新系统漏洞,或用平时登入的身份跑了不该跑的程序,登登登,木马病毒马上就跟操作系统天人合一。

UAC等同于将以上的情境再做了切割,承认使用者具备管理者身份的事实,但在要进行任何更动系统核心的不寻常举动前,额外跳一个窗口征求用户允许后才真的执行。

UAC的出发点是对的,但为什么一天到晚被User打抢,嫌弃到爆? 为什么对我来说,却如获至宝,爱不释手?

在这次的案例里我搜集到一针见血的批注: UAC就是工程师思维下的产物,这么技术性的东西该包在系统内部,根本就不应该丢出来叫User做决定。

一点也没错,基于技术上的瓶颈,OS没有能力自行判断哪些动作是有害的可疑行为、哪些是正常的操作(自己也写程序,可以理解程序要冰雪聪明若此,何其困难!),因此才戒慎恐惧地将决定权丢回给User。

这听起来有点不负责任,但就程序设计的思维并没有错,在Exception Handling的摡念里,该段程序无法处理的状况就该丢出去给上一层(呼叫端)的程序处理,远比假装没事、粉饰太平来得正确。但RD忘了大部分的User比程序还无知,对于什么情况需要更动系统亳无所悉,于是产生了三大类使用者: 依直觉按不同意然后功能跑不出来的User(很愤怒)、每次按同意然后被问到很烦User(也很愤怒)、听人家说关掉UAC结果中毒,然后抱怨Vista比较安全是屁话的User(还是很愤怒)。

UAC真正能嘉惠的是像我这类对OS有基本认识,可以意识到程序目前在做什么,有能力判断该动作是否真的需要管理者权限去更动系统的Power User。

RD认为UAC像是手枪上的保险,保障的是生命安全。生命是无价的,所以再麻烦也是必要之恶。君不见发射核弹得同时插两把钥匙、掏出小抄念密码后才能成行,相较之下,开开保险栓只是举手之劳,不解User在穷嚷嚷什么。更激进一点,User不该只是傻傻地把计算机当微波炉用,为何不去进修多学些资安知识? 才不会一天到晚做些蠢事招来病毒木马,把网络世界搞得乌烟瘴气。

从User的角度出发,绝对无法苟同上述意见。除非身受其害,一般User很难想象Admin权限可以捅出多可怕的篓子,也无法体会RD想守护最后一道防线的苦心。在User的眼中,资安是软件厂商要做好的本份,在Windows里做任何事都应该要像拿杯子倒开水一样自然,动不动就问一堆无厘头的火星问题,强迫User做决定然后风险自负,荒谬透顶。

我悲观地觉得,除非技术及规格上有革命性的突破(例如: 所有的程序组件能有一张好人卡让OS明辨忠奸),这个僵局是无解的,充其量只是多犠性一些安全或多减损一些方便。过去我们将安全交给防病毒软件跟User自己把关,对于管理者身份执行的任何动作来者不拒,不会对使用者操作造成任何不便,却给了病毒木马许多可趁之机。Vista推出UAC,算是在"方便 vs 安全"的天平上向"安全"一端倾斜。但在这个当下,User心理上还无法接受"流汗总比流血好"的苦口婆心、知识上对于恶意软件常用的入侵伎俩亳无所悉,结果是嫌UAC太吵却又不能在关键时刻做出正确判断,落得做到流汗、嫌到流涏的悲情下场。

技术上的限制及使用者意见的分歧让UAC形同一份不便宜的意外险,值不值得加保端赖各人的风险意识。风险 = 损失 * 机率,如果你认为机器中毒被骇重灌就好,损失有限,则每天10元缴保费都嫌浪费;如果你觉得虽然防病毒软件失效的机率不高,但被骇的最糟结果可能惹祸上身甚至身败名裂,则每天花100元买份保险都不算贵。该不该投保险看个人,没有标准答案,UAC亦然。

简评:

1.不能要求用户理解工程师,但知道工程师为什么会这样想没有坏处。这里工程师泛指一切开发者,无论作品是操作系统,游戏,乃至木马病毒。

2.本文发表时,Win7还没有推出,现下Win7中UAC提示已经大为减少。正因为我认同作者的看法,所以一直以来的态度都是强烈不建议普通用户关闭UAC。但实际情况是:风险最大的群体往往更乐于使用“看上去一劳永逸”的解决方式。

3.除非工作环境确实要求你使用IE6这样的浏览器。否则请尽量使用最新版或使用Chrome和FF等非IE核心浏览器。瞬间启动带来的快感会随着次数的增多而慢慢削弱,而可能带来的风险,哪怕一次,都会让你追悔莫及。

4.适度抑制好奇心,来历不明的程序或文档请用“有罪推定”的原则。

5.没有任何一种安全类软件可以百分之百确保你的安全,当他们出现差错时,带来的伤害丝毫不亚于他们所要防御的对象。

6.永远无法摆脱木马困扰,从而机器沦为僵尸的往往是那些认为安装防护软件就天下太平,从而为所欲为的用户。

全看树展主题 · 分页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河