一位微软安全专家断言Windows 7和Unix一样安全
尽管广受嘲笑(甚至是微软的高管),Vista操作系统最终为世界带来了一个安全版本的Windows,至少本周在华盛顿特区举行的Usenix安全研讨会上,一位微软安全专家的发言可以说明这一点。
这是Vista最广为讨厌的功能——用户访问控制(UAC)——可以获得荣誉。
微软Windows核心安全团队的高级程序经理Crispin Cowan解释说,所有用户都在抱怨恼人的UAC弹出框,这最终促使许多应用程序开发人员重写他们的程序。
这些程序被重写,这样它们就不需要完全的管理权限来运行,这反过来又减少了UAC机器的使用,允许用户慢慢地在更有限但更安全的用户模式下运行。
“UAC的目的是使应用程序不再使用管理权限。它的工作是打那些不需要管理员的程序。
事实上,UAC导致了“大量行为不端的(Windows)程序的大量涌现,”他说请求管理员权限的程序数量急剧下降。”
Cowan的演讲扩展了为什么Windows 7和Linux等Unix变体一样安全的论点。在他看来,这种安全平等的出现很大程度上要归功于Windows Vista是第一个默认不给每个用户帐户完全管理权限的桌面版本。
考恩承认,Windows安全性差的名声是完全应得的。即使在今天,使用最广泛的Windows版本还是Windows XP,它建于2001年,缺乏当今环境所需的大部分安全规定(尽管Service Pack 2增加了许多安全功能,他说)。
考恩说,早期版本的Windows操作系统强调可用性而非安全性,以及不同程序之间的互操作性。因此,Windows允许每个用户对机器拥有完全的控制权,实际上让每个用户帐户对机器拥有完全的管理控制权。
他说:“如果你以管理人员的身份参加竞选,安全问题几乎没有希望。”不受限制的管理权限使得恶意软件和病毒能够控制计算机。
然而,从2002年开始,微软开始使安全性是软件开发的重要组成部分。因此,当时的下一个Windows版本Vista将用户在计算机上可以做的事情与管理员可以做的事情完全分离,这种分离在Unix发行版上一直是强制的。
这种由UAC强制执行的分离限制了用户对机器的损害。
考恩解释说,UAC可以被视为等同于Unix sudo命令的Windows。Sudo只允许用户在提供管理员或root密码后执行特权任务。有些Linux发行版,如Ubuntu,完全依赖sudo,至少是开箱即用,完全使用根帐户。
许多用户激怒然而,在使用UAC时。每当一个程序需要完全的管理权限才能运行时,屏幕上就会弹出一个UAC框,请求用户许可。
事实证明,UAC的烦恼从长远来看是有益的,Cowan解释说,因为它减少了需要管理权限的应用程序的数量。
在许多情况下,程序根本不需要管理权限。许多Windows程序被设计成将它们的配置数据写入系统注册表,而这些数据可以很容易地存储在用户文件夹中。
随着时间的推移,应用程序开发人员从所有用户的抱怨中得到了消息。通过匿名遥测数据,微软估计需要用户访问的Windows应用程序的数量从大约90万个下降到了18万个。
虽然Vista因用户敌意而名声不佳,但Windows7使UAC更加人性化,而没有放松用户和管理员之间的严格界限。该操作系统提供了自动升级功能,在该功能中,有限数量的Microsoft预先批准的程序可以获得管理权限,而无需烦人的用户提示。它提供了滑动UAC规模,因此用户可以为其应用选择限制级别。Cowan说,Windows7还建立了虚拟帐户,因此各个应用程序可以获得自己的用户帐户。
演讲结束后,一位听众表示,他同意UAC可能确实鼓励应用程序供应商重写他们的程序,但考虑到用户的不满程度,他想知道这是否真的是微软的首要目标。Cowan本人在讨论浏览器安全性时承认,“提示并非纯粹是邪恶的。答案几乎总是‘是’的提示是有害的。”
Cowan说,UAC是使Windows在安全上与Unix不相上下的众多特性之一。其他特性包括内置防火墙和64位内核驱动程序签名。他认为,在某些情况下,Windows现在拥有的安全特性甚至在大多数Unix发行版中都找不到,比如网络访问保护、内存地址随机化和数据执行预防。
“Unix在安全方面有很大的领先优势。从那时起,微软在各个方面都缩小了差距,在某些情况下甚至超过了Unix的安全性,”Cowan说。
约押杰克逊报道企业软件和通用技术突发新闻IDG新闻服务. 在Twitter上关注Joab@Joab_Jackson. Joab的电子邮件地址是Joab_Jackson@idg.com