星期四, 四月 12, 2007

Windows Vista 系统安全性到底有多高?

      正如微软在 Vista 的宣传中所说,Vista 是目前为止微软推出的最安全的操作系统,但是对于用户特别是那些对安全很敏感的用户而言,这种安全性是否足够则是另外一个问题。微软在 Vista 的宣传资料中所说,Vista 是目前为止微软推出的最安全的操作系统。微软承诺说,历经了5年开发而成的 Vista 将让桌面用户进入一个可信计算的新世界,在这个世界里,电脑将更可靠、使用者得到更好的体验、臭名昭著的恶意软件将成为过去。

Windows Vista 系统安全性到底有多高?

      然而,在 Vista 正式上市4个月以来,围绕其是否安全的争论愈演愈烈,反病毒软件供应商、黑客以及安全专家等纷纷对微软在 Vista 中所采用的安全手段的效果提出质疑。有人甚至认为 Vista 的新安全模式纯属空架子,没有任何实质意义。

      一直以来,微软常常受到批评,特别是当它做出某种承诺之后,更容易成为众人的靶子。实际上,此前的各种测试已经证明,与过去的 Windows 操作系统相比,Vista 的确在安全性上有了实质性的改善。但是,这并不意味着 Vista 可以让我们从此高枕无忧了。除了部分令IT管理员头痛的问题可能会少了以外,IT 管理员依然必须每天小心谨慎、认真面对。

用户控制账户

      Vista 中最受微软赞誉的安全手段恰恰是人们批评最多的。用户账户控制(User Account Control,UAC)是用于解决长期以来困扰 Windows 系统的用户权限管理问题的,但反对者认为,由于设计不周影响了 UAC 的效果,让它无法提供足够的保护。

      过去,管理员账户受到的指责最多。种种实践表明,用户只有在完成某项任务必须管理员权限时,比如安装设备驱动程序或者修改注册表时,才应该赋予它这一权限。但是,以前的 Windows 系统沿袭了 DOS 系统的一些特性,它们本质上都是单用户系统,所以系统中的用户默认都是管理员。甚至在 Windows XP 这个微软的首个多用户客户端操作系统中,用户登录时,仍然习惯性地默认它是系统管理员,即使他只需要完成一些最普通的任务。

      这种方式让工作站非常容易管理,但是,对安全而言是一个灾难。如果用户以管理员的身份登录,蠕虫、特诺伊木马等一旦入侵成功,就会拥有最高的权限,从而给用户带来很大的破坏。更糟糕的是,微软对用户权限管理的疏忽让软件开发商们可以很随意地采用一些不安全的编程方法,两相结合让事情变得更复杂了。比如,很多 Windows 上的应用只有在管理员权限下才能运行,这就意味着,系统运行在一种最不安全的状态。

      UAC 试图对这种不良的习惯进行修正。在 UAC 模式下,大多数软件默认运行在低用户权限的状态之下,如果某个应用进行的某个操作需要管理员的权限,UAC 会弹出一个对话框,要求用户把应用提升到一个更高级的权限。

      不幸的是,Vista 中的 UAC 并不完善,存在一些漏洞可以被利用。比如,与 Windows 的其他操作系统一样,在 Vista 中软件的安装者总是具有管理员的权限。此外,赛门铁克的安全分析师 Ollie Whitehouse 也指出,Vista 中自带的一些应用程序也可能被利用来破坏 UAC 的保护作用。

      有些安全专家承认微软在 Vista 上工作出色,但它们也提醒人们: 不要希望 UAC 能在一夜间消灭与管理员账号有关的所有问题。

      设计欠周并不是微软 UAC 的唯一漏洞,对使用者的某些要求也受到批评。UAC 的确认对话框就让人厌烦,而且在某种程度上还让人觉得有些莫名其妙。使用者很容易因为厌烦而干脆关掉 UAC 这项功能,或者根本不去理解 UAC 报警信息的具体内容,简单地点击“OK”按钮完事。还有更糟糕的,他们很容易被社会工程学(社会工程通常是利用大众疏于防范的小诡计,让受害者掉入陷阱。该技巧通常以交谈、欺骗、假冒或口语用字等方式,从合法用户中套取用户系统的秘密,例如: 用户名单、用户密码及网络结构。——编者注)诱骗来做一些事情。

      “Vista 的确提供了很多功能来保护你的系统,但前提是要恰当地使用它。”微软在 Vista 的最佳实践指南中谈到 UAC 时有这样一段话,“系统到底有多安全取决于使用者的操作,因此在点击按钮时最好想一下。”换句话说,把系统的安全完全建立在 UAC 之上,并不是一个好主意。

      实际上,微软并不鼓励用户把 UAC 当成一个安全的堡垒,因此,微软也不认为 UAC 实现上的漏洞是安全漏洞。认识这一点很重要,因为它告诉我们在企业环境中如何看待 UAC。

Windows 防火墙与 Defender

      除了UAC外,微软在 Vista 中添加了很多其他功能,其中,不少功能的目的就是为了提高系统的安全性的。不过,如果仔细研究一下这些功能,同时与过去的 Windows 系统相比,我们会发现,它们实际上对系统的安全性提高非常有限。

Vista 新增安全性

      自从 Windows XP 推出 SP2 以来,Windows 系统在安装时其防火墙功能默认是开启的。在 Vista 中,Windows 防火墙除了像 XP 中一样能阻止外界与电脑的会话,还能阻止电脑与外界的会话。对于日益增加的间谍软件、网络钓鱼以及拒绝服务攻击威胁,这是 Windows 的一个非常重要的改进。然而,不幸的是,Vista 安装时,对向外发送的包进行过滤这一功能默认是关闭的。换句话说,如果不进行手工配置,Vista 的防火墙对连接提供的保护与 XP SP2 相比没有多大区别。

      Vista 中还有一个新的应用程序叫 Windows Defender,它为系统提供了防间谍软件的功能。但是根据间谍软件供应商 Webroot 的说法,Windows Defender 对绝大多数的间谍软件都不起作用。更糟糕的是,2月份有人发现 Windows Defender 有可能成为恶意软件攻击 Vista 的跳板。因为微软的恶意软件检测引擎有一个漏洞,可以被恶意者利用来发起对 Vista 的攻击。

      与前面所说类似,尽管 Vista 中新增了一个硬盘加密功能,名为 Bitlocker,但系统安装时这项功能默认也是关闭的,而且,它究竟能多大程度上为用户提供保护也还存在疑问。

      最最糟糕的是,Vista 中新添的功能有些被证明实际上对总体安全是有害的。今年1月份,有黑客发现,可以通过 Vista 的语音识别功能访问远程系统,执行包括删除系统中的任意文件等功能。这些听起来也许过于耸人听闻,不过的确应该引起重视,否则会给自己造成损失。

应用程序中的 Bug

      Vista 语音识别功能漏洞再次揭示出一个事实,到目前为止,与此前的各种 Windows 操作系统版本一样,针对运行 Vista 系统的电脑的攻击主要形式不是利用操作系统本身的漏洞,而是利用了运行在操作系统之上的各种应用系统的漏洞发起的。

      实际上,为了减少那些应用程序中最常见的漏洞给整个系统带来危害,Vista 已经在这方面做了很多工作,比如,采用内存地址空间的隐藏、对操作系统内核的保护等技术以后,现在黑客要想再利用那些普通的 Bug 来发起对系统攻击将非常困难。赛门铁克进行的初步研究证明,尽管 Vista 在某些形式的攻击面前仍然比较脆弱,不过,赛门铁克还是认为,Vista 基本上达到了微软预先设想的安全目标。

      而且,Vista 把 .Net 作为首选的开发模式对未来应用系统的安全也非常有好处。.Net 开发平台的托管代码和安全沙漏功能有助于帮助开发人员避免犯一些常见的程序错误,这些错误很可能成为黑客们利用的漏洞。

      不过,尽管 .Net 开发平台带来了不少改善,但要从这些技术中真正受益,开发人员必须重写原来的代码。而那些以前开发的应用程序则无法从 Vista 受益,它们仍然还像从前一样容易被黑客们利用其中的漏洞。这样的例子已经有了不少,比如 CA 不久发布补丁的 BrightStor 备份软件。

      毫无疑问,接下来的几个月,很多商业的应用软件会发布针对 Vista 的补丁,而那些企业自己开发的软件其安全性则很不确定。除非将以前的软件统统升级,以充分利用微软最新的安全技术,否则当它们在 Vista 中运行时,将无法受到 UAC 的任何保护。尽管微软已经在技术上前进了一大步,但是这个最新的操作系统并不是保证运行在它上面的 IT 环境安全的万能药。

安全之路

      “对于 Vista 我们很自信,它是微软到目前为止最为安全的操作系统,”微软的一位负责 Vista 安全的高级经理说,“不过,有一点大家必须认识到,那就是没有100%安全的系统,也就是说没有银弹。”他说,“Vista 对于攻击没有免疫力,因此,我们如果对它抱有这样的希望也是不公平的。”

      的确,操作系统在技术上的进步给系统的安全带来很大帮助,但是,与微软以前所有版本的操作系统一样,微软自己也承认,Vista 用户最好还是同时安装一些防恶意软件的软件以及其他一些安全软件。

      正如微软所有的操作系统一样,Vista 最大的问题也许出在与旧版本兼容上。到目前为止,Vista 中发现的大多数漏洞都出在那些老的应用程序中,因为它们无法从 Vista 新的安全模式中受益,甚至 UAC 本身也是一个妥协的产物。

      对于企业而言,越早跟上微软的最新技术,它就越早能从微软在安全方面的最新研究成果中受益。无论在哪里,只要有可能,企业都应该尽快把那些自己开发的应用升级到托管代码和 .Net 框架,同时对微软最新的安全 API 和最佳实践进行评估。

      未来,随着行业转向64位的计算平台,将会有越来越多的基于硬件的安全策略出现,到那时,安全形势也许会好一些。但是,今天我们最好还是小心谨慎为好。微软已经为那些正在对 Vista 进行评估、准备在企业网中采用活动目录(Active Directory)的IT管理员专门制定了一份安全指南。

      尽管对一个机构而言,如何进行配置取决于需要的安全级别,但是指导方针非常明确:Vista 系统的安全需要各方共同努力,这包括 IT 人员的认真对待、安全策略的严格执行,以及第三方的防恶意软件和安全管理工具,换句话说,仍然和以前没有什么区别。Vista 并不意味着与 XP 相比,安全性有了重大改善,毕竟它仍然是Windows。(博文译自美国《Infowrold》杂志)

链接:UAC 的工作机制

      在 Windows Vista 中,默认有两个级别的用户组,即标准用户组和管理员组,其中,标准用户是计算机 Users 组的成员;管理员是计算机 Administrators 组的成员。微软在 Vista 中所做的改进在于,与以前版本的 Windows 不同,默认情况下标准用户和管理员都会在标准用户安全上下文中访问资源和运行应用程序。用户登录后,系统为该用户创建一个访问令牌。该访问令牌包含有关授予给该用户的访问权限级别的信息,其中包括特定的安全标识符(SID)和 Windows 权限。

Bitlocker 的加密原理

      启用了 Bitlocker 以后会生成两个密钥: 一个存放于引导分区中; 另外一个存放在主板上的一个名叫 TPM 的芯片里,在计算机加电的时候首先是 TPM 最先加载,它会和引导区中的密钥进行对比验证,通过了以后才会加载 BOIS 完成计算机启动过程。如果这个过程中任何一个不匹配的话,比如有人对这个 TPM 芯片做了手脚,或者是把硬盘拆下来放到别的机器中,Windows Vista 将会拒绝掉密钥的释放,系统将无法启动。

没有评论: