如果你以为使用非管理员级别账号就可以阻止系统安装这些乱七八糟的软件,你就错了。像Yahoo IE助手和Lenovo这样的垃圾软件仍然会被装到计算机里,然后你的机器就会慢的像蜗牛爬。增强的安全措施是不会管用的。
George的评论中有很多地方可以拿出来好好讨论一下。在这篇文章的开始,我首先讲一下George所说的关于普通用户在默认情况下不属于非管理员级别这个问题。然后我们来谈一谈垃圾软件,尤其是Lenovo的垃圾软件。
当Vista还在测试阶段时,我们不好说George的说法对于Vista用户来说是否准确,但他的描述对XP用户来说依然准确。如果Vista所有应用都和先前的XP一样的话,George也许是对的。可是有一点:在Vista中,当你建立第一个用户(通常是管理员级别)的时候,这个用户在默认情况下其实已经是基于LUA的“受限用户”(Lesser privileged user,LPU)。换句话说,在Vista中有一个管理员级受限用户(Administrative LPU)和一个标准受限用户(Standard LPU)。微软的发言人解释:
当你以管理员身份登录Vista的时候,你收到两个验证令牌:一个给标准受限用户;另一个给管理员级受限用户。平时的普通操作会让你一直在标准受限用户状态,直到你的操作需要管理员权限时,你会被要求出示管理员令牌。系统在普通操作时使用标准受限用户避免了管理员权限所带来的安全风险。这个技术的实现基于“Windows Vista用户账户控制(User Aclearcase/" target="_blank" >ccount Control,UAC)”和“分离令牌”(split token)。
除此之外,据我所知,微软的Vista小组已经尽可能地确保同时使用两种受限用户不会像George所说的“是自找麻烦”。尽管这种解决办法不是很完美,我依然认为Vista小组已经做得很好了。
当操作系统基于LUA运行的时候,系统被微软所谓的“隐性恶意程序”感染的机会大大的降低了。没有什么万金油来保护系统和网络免受未知威胁的攻击。事实上,如果将系统分层的话,单独考虑每一层对系统和网络的保护效果,单独一层面临的隐患比它所能提供的保护要多得多。换句话说,每一层(例如运行防火墙)都仅能为自身提供有限的保护,但将多层的保护结合起来使用,效果会更好(比如系统基于LUA运行)。
所谓充分保护电脑(保护本地连接和互联网连接便是这种保护的一层)涉及许多层。层数越多,事情就会变得越复杂。对像微软这样的操作系统开发商来说,如何在部署更多层保护的同时保证用户体验是一个很大的挑战。用户很容易因为不快的使用经历而对新引入的保护层产生反感。比如:在XP下使用受限用户会带给用户极大的不便。绝大多数软件都需要用户以管理员级别来执行,而受限用户完全不能使用这些软件。尽管此时的XP更安全,用户却对它极其反感。
此外,在XP中受限用户是不能修改设置的。比如笔记本的电源设置或者修改时区(Vista虽然做了些改进,但依然有问题)。不管是商业软件还是娱乐和互联网通讯软件都受到这个问题的影响。为了不让我16岁的儿子在我装有XP的电脑上玩儿游戏,我参照微软的建议把他的账号设置为受限用户账号,结果是除非我给他管理员权限,他什么都干不了。
尽管软件开发人员还没有实现毫无障碍地让用户以标准受限用户身份使用操作系统,情况已经有所好转。不光开发人员在尝试更合理地分配用户权限,微软也引入了一些技术措施来保证标准受限用户能够打开第三方应用程序。至于以前出现的因为标准受限用户无权读写硬盘空间而导致应用程序中止的问题,一方面,Vista通过将读写操作转移到基于账号验证的安全区来保证程序继续运行;另一方面,用户也可以通过再次验证来解决类似的问题。我昨天在screen gallery发布了这个功能的演示,
Vista的再次验证功能帮助用户完成像安装软件这样的任务。如果你以标准受限用户身份安装软件,比如某个网站所需要的ActiveX控件,安装程序会要求你取得管理员级别权限。在旧的系统中这个操作也许会令你非常不爽,但在Vista中,通过输入管理员密码窗口,系统允许标准受限用户临时取得管理员级别权限来完成安装(见下图)。
当用标准受限用户安装软件的时候,Vista会弹出输入管理员密码的提示
其实,用户取得管理级别权限的操作就是点一下鼠标。当标准受限用户提出安装软件的要求时,再次验证的对话框会弹出并且让你输入密码。如果你已经是管理员级受限用户的话,那么你不需要输入密码,只要点OK就可以了。
最后要说的是,尽管Vista相比于XP在受限用户的使用上进步了不少,我们仍然在使用过程中经历了相当大的障碍。当我们以管理员身份运行Vista的时候,之前我们遇到的障碍当然会一扫而光,可结果就是系统此时运行在安全专家们所谓的“表层区域”,这个区域正是恶意软件开发人员一直尝试攻破的地方。
尽管微软已经尽其所能来解决Vista的表层区域问题,用户仍然可以使Vista像XP那样去工作。如果真的很讨厌Vista对安全所做出的努力,你完全可以注销受限用户账号然后用管理员账号登录。但作为用户我们应该对自己负责任,像使用XP那样使用Vista是非常危险的。从用户体验的角度来看,尽管这时候安装应用程序不会影响用户体验,恶意程序(这里尤其指微软所谓的隐性恶意程序)也同样不容易被察觉。总而言之,Vista的用户账户控制功能尝试体现的就是在尽可能不影响用户体验的同时减少恶意程序对用户的影响。
我们到底应不应该让系统运行于危险的环境中;微软因为试图阻止用户执行危险操作而影响用户体验的做法是否正确?至少我们可以肯定地是,微软并不想带给用户任何打折的用户体验。然而,以前的经验告诉我们正是用户危险的操作将他们自己置于危险中,并且将这种危险通过互联网传播给其他用户。所以,尽管新引入的措施会影响用户体验,但它将保我们和互联网上的其他用户远离危险。
微软解决问题的方式会被证明有效么?一方面,我个人认为会;另一方面,微软可能已经做出了更多的努力来获得肯定。批评者们人为没完没了的弹出再次验证窗口最终会让用户看都不看就去点OK(这就是为什么我坚持用户每次都需要输入密码)。这就好像我以前在纽约的住所前的一个十字路口,那里因为经常发生严重的对撞而声名狼藉。没有人能指出到底是什么原因导致这里总出现事故。每一起事故中驾驶员都不计后果地撞向另一辆车,而这个路口就好像磁石一样吸引着交通事故。
当地政府采取了行动。他们贴上了诸如“慢”或“前方路口危险”的警示。尽管交通事故并不总是发生在路口处,政府还是在路口设置了红绿灯(影响了用户体验)。有些人注意到了这些警示并意识到他们可能需要等待红绿灯,他们不会死在这个路口。而那些不理会警示的人呢?他们或死或残。政府这样做对么?我认为对。
同样的,我认为微软找到了这个平衡。再次确认的对话框确实影响了用户体验,并且标准受限用户和管理员级受限用户的区别仅仅是输入一下密码,但这和其他操作系统(Mac、Linux、Unix等等)又有什么本质的不同?我们没有必要去批评Vista的努力。也许你觉得再次确认还不足以让用户意识到自己处在受限用户状态,但这已经可以保障恶意程序不会在没有用户许可的情况下把自己装到计算机里。
顺便说一下,或者也许是其他blog的素材,给“安装”下定义可能会引起大家的兴趣。有相当一部分Windows应用程序可以被拷贝到标准受限用户的我的文档文件夹和U盘上并执行。为了保证流氓代码不会被运行,Vista要求应用程序的安装必须使用Windows的标准安装API。可是不使用标准安装API的可执行代码怎么办呢?Windows Vista是不是也应该允许标准受限用户安装未知应用程序?
有些用户会不会因此变得非常不敏感?也许。就像那些自寻死路的司机一样,如果他们不能意识到一点点的代价可以帮助他们远离危害的话,结果会是必然的,而不是像他们想象得那样。
回到微软解决问题的方式是否有效这个问题,我说:“另一方面,微软可能已经做出了更多的努力来获得肯定。”现在我就在Lenovo X60t上以标准受限用户身份运行操作系统,我觉得用户体验还没有差到让我必须换成管理员级受限用户才能完诸如运行管理程序之类的工作。
回帖中Ed Bott说,如果使用标准受限用户去访问任务管理器,访问请求会被直接拒绝而不是弹出再次验证窗口。换句话说,如果你想访问任务管理器,你必须注销当前用户并以管理员级受限用户身份登录。这确实极大地损失了用户体验。出于这地点考虑,Bott认为只要本地计算机没有与其他计算机连接,使用管理员级受限用户是可行的。
回到昨天blog的话题,在标准受限用户模式下使用两种方法安装Adobe的Flash插件的效果是一样的。两种方法都会弹出再次验证窗口。不想让窗口出现的话,最好的办法是要求网页开发人员不是用任何插件,当然这是不可能的。所以在Vista中使用标准受限用户,我们就必须经历这种不便。我不知道其他的计算机生产厂商是怎么做的,但不管Lenovo的X60还是Vista都没有想出一个办法来给予用户足够的信心去接受这种不便。我是标准受限用户,我只能尽我所能去适应。
综上所述,微软和系统制造商所要承担的最大责任就是告诉用户普通权限和管理级权限到底有什么不同。Vista的标准受限用户在安装的时候就已经为用户创建好了,所以这理应是个好机会来告诉用户标准受限用户的好处有多大,其他套装软件供应商也遵循这个道理。而结果呢?使用户被迫接受的同时,他们是否也应该寻找其他方式来更好的帮助用户接受改变?