搜狐网站
搜狐 ChinaRen 17173 焦点房地产 搜狗
搜狐数码-搜狐网站
搜狐数码频道 > 网狐学院-全中国人的电脑学习中心 > 电脑入门-网狐学园 > 操作系统 > Windows Vista > Vista特性

Microsoft Windows Vista安全改进白皮书


  安全平台工程

  安全开发周期

  自2003年开始,微软建立了强大的内部安全设计和开发程序,帮助设计小组创造更加安全的产品。安全开发周期(SDL)是一项不断演化的程序,有助于确保公司的软件和解决方案将降低安全风险。

SDL对在企业中部署、用来处理敏感信息或个人信息或经常通过互联网交流的所有为产品执行一套严格的程序,包括安全设计、编码、测试、检查和反馈。SDL帮助消除系统漏洞,减小被攻击的表面积,改进系统和应用程序的完整性,并帮助各类组织更加安全地管理和隔离其网络。

  虽然SDL已经在若干微软主要产品中广泛应用,但是,Windows Vista是第一个自始至终利用这一新方法进行开发的客户端操作系统。开发过程吸取了所有Windows以前版本中安全方面的经验、微软安全反馈中心分析和微软Windows XP SP2及Windows Server 2003 SP1开发过程中的开发惯例。

  自开发伊始,开发团队就与一名安全顾问紧密合作,这名顾问担任向导和项目联系人的角色,从最初概念成型到最终安全检查完成一直如此。安全检查和测试贯穿于交运周期的每一步。

  安全视窗主导攻击团队(SWIAT)对Windows Vista进行了广泛的设计和测试,旨在识别出产品代码或设计中需要继续改进方能使其抵御攻击的能力达到可接受水平的部分。SWIAT团队中“室内黑客”小组还增加了来自主要安全研究和测试企业的安全研究承包商。

  1400多种针对Windows Vista的威胁模式被开发出来,用以确保系统能够识别需要规避的风险、需要特别注意的代码和需要深入测试的操作系统部分。安全视窗功能(SWI)团队为产品团队提供了培训和工具,以支持威胁模拟过程;该团队也全面、深入地检查了各类威胁模式。

  在开发过程自始至终,Windows Vista都针对Windows XP中发现的漏洞进行检查。两种操作系统在同一时间打上了补丁,而安全程序和工具则进行了重新评估和必要改进。

  自动化是开发过程中开发人员的主要关注点。产品开发小组也利用微软开发的工具寻找某些类别的代码漏洞,包括PREfix和PREfast。两者都是源代码分析工具,可探测某类通过一般自动编码器无法发现的错误。这些工具与构建程序完美整合,缩短了开发时间,简化了代码检查,帮助提高了产品整体质量和可靠性。

  Windows团队用标准注释语言(SAL)注明了Windows Vista的所有功能,包括可读取或可编写缓冲,使上述自动代码质量工具能够对各种变量和缓冲的使用进行评估,帮助开发人员探测和移除可探测编码错误。

  团队对Windows Vista中解析或处理来自危险源输入的组件进行了大量模糊测试。模糊测试自动向这些组件发送已损坏或畸形数据,观察这些组件如何处理潜在恶意输入;模糊测试在探测漏洞方面十分有效,攻击者可利用这些漏洞运行恶意代码或瘫痪软件组件。对特别复杂的解析器进行模糊测试还应检查安全代码,并进行更深层次的SAL解析。

  另外一种微软开发的工具FxCop会扫描所管理的代码应用程序漏洞,并帮助组织恶意代码利用应用程序中的缓冲溢出。此外,Microsoft Visual C++® 2005 C Runtime Library对已知容易受到攻击的功能增加了缓冲检查。最初,这些工具的开发目的是供微软内部使用,但同时也提供给Visual Studio 2005的开发人员。

  许多通常会导致安全漏洞的事件的代码基底进行了清理,这些事件。所有密码运算法则都进行了检查,评估运算选择或密钥强度中存在的漏洞。100多个过去一直在错误使用的编程API已经从代码基底系统性消除,并用更安全的版本进行了替换。此外,与Windows Vista一起交运的第三方组件也进行了SDL检查。

  同时,微软也为独立软件开发人员和世界范围内的安全相关人员提供了详细的SDL使用指南,以使其改进其产品的安全性。

  为确保一个更加安全的终端对终端运算环境,微软也在向共同标准(CC)认证而努力。Windows Vista将使用国际标准组织(ISO)制定的标准在第三方实验室进行独立测试,旨在实现EAL4和单操作系统保护文件认证。

  视窗服务强化技术(Windows Service Hardening)

  系统服务后台程序,其运行用以支持关键系统功能。系统服务一直是恶意软件攻击的主要目标,因为系统服务一般以最高系统权限运行(也称本地系统)。通过在用户机器上运行任意具备管理员权限的代码,探测系统服务的恶意攻击会导致诸多问题。(Slammer、Blaster和Sasser病毒都以系统服务为攻击目标)

  为降低这一威胁,Windows Vista引入了“受限服务”的概念,受限服务以最小权限方式运行,其活动局限于本地机器或网络。受限制的服务程序从程序运行伊始即以最小权限和功能运行。受限服务方法极大地减少了能够对用户机器构成重大损害的服务的数量。

  Windows Vista中的个人防火墙与Windows Service Hardening平台密切配合,后者允许防火墙执行网络操作中的上载、下载和协议限制。此外,各项服务可单独识别,使访问控制列表的每次使用变得更加严格,例如允许程序只在文件系统的特定区域、注册表或其它系统资源中写入。

  这项功能防止失密服务更改文件系统或注册表中的重要设置或感染网络中的其它计算机。

  Windows Vista中包括的内核视窗服务都备有服务介绍,对服务所需安全权限、访问系统资源的规则以及服务可使用的上载和下载网络端口进行了界定。如果一项服务试图发送或接收一个网络端口的数据,而并没有获得使用该数据的授权,防火墙将阻止网络访问的尝试。例如,Windows Vista中的远程程序呼叫服务无法替代系统文件、修改注册表或干预系统中另外一项服务配置。(例如反病毒软件配置和签名定义文件)

  Windows Service Hardening的一个具体目标是避免向用户和系统管理员介绍管理的繁琐。Windows Vista中包含的每项服务都经过严格的程序,对其Windows Service Hardening文件进行界定,这一程序在Windows Vista安装期间会自动执行,无需终端用户的即时管理、维护或互动。

  Windows Service Hardening设计的使用对象是独立的软件销售商。目前,微软正在向开发人员积极推广这项技术,使开发人员的编写服务工具在Windows Vista的运行更加安全。这一架构被系统服务选择使用,因此,不存在对其它系统服务(例如第三方软件使用的服务)的应用兼容性影响。

  利用硬件保护减少缓冲溢出

  恶意软件入侵用户机器的另外一种方式是利用缓冲溢出,实际上是将软件伪装成位于计算机内存特定位置的执行代码,而计算机的内存是与数据存储分开的。许多此类缓冲溢出源自设计或执行漏洞,诸如SDL和相关工具等程序能够阻止其运行。降低此类漏洞影响的另外一种途径是在硬件上采用NX技术。NX可以使软件将计算机内存各部分标注为数据专用,而处理器将阻止应用程序和服务在此部分执行任何代码。

  现在,许多处理器都支持某种形式的NX,而微软从XP SP2到数据执行预防功能都包括了对NX处理器的支持。Windows Vista引入了其它NX策略控制功能,使软件开发人员能够让其代码的NX硬件保护独立于系统兼容性执行控制。当程序完成构建时,独立软件销售商可以在其程序上标明“兼容NX”的标志。这将提高NX保护代码在软件系统中的比重,尤其是在32位平台中。在32位平台中,针对NX的默认系统兼容性策略仅保护操作系统组件。在64位版本的Windows中,NX保护是默认设置。

  位址空间编排随机化(Address Space Layout Randomization)是Windows Vista中的另外一项防护功能,使恶意代码更加难以探测系统功能。无论何时Windows Vista计算机进行重启,ASLR都会随机向内存中256个可能的地点之一分配可执行图像,例如DLL和EXE。。这使探测代码更加难以进行定位并使用其中的功能。当在支持“数据执行保护”功能的计算机上使用时,ASLR的效率甚至更高。在某些情况下,数据执行保护功能可通过编写一个实际上并不执行的探测代码加以规避;攻击反而进入操作系统功能。ASLR的目标是令预测操作系统在内存中的具体作用位置难以预测,因此会避过攻击代码。

  Windows Vista还引入了缓冲溢出探测的改进措施,这些改进甚至比Windows SP2引入的改进措施更加严格。当缓冲溢出被探测到,操作系统会立即终止受到感染的程序,控制感染可能造成的损害。这项保护技术适用于操作系统构成要件,包括内置系统服务,同时也可由ISV通过API呼叫进行调整。

  64位安全改进:内核补丁保护和强制性驱动签名

  某些最直接的安全问题来自控制操作系统内核的恶意软件,使恶意软件躲过反病毒软件的探测,偷偷在用户系统中运行。这些Rootkits通常用来屏蔽其它一些潜在恶意软件,例如间谍软件。除rootkits严重的安全问题外,此类恶意软件会降低整个系统的稳定性、可靠性和性能,包括所有用户程序。

  解决上述问题非常困难,因为32位视窗驱动无法通过数字签名加以识别,或者出于合理目的但通过系统不支持的方式修改系统内核。对这些修改进行更加严格的控制会产生重大的兼容性问题和性能问题。有些提供行为阻止功能的32位安全产品通过系统不支持的方式修改系统内核。相应地,微软正在与第三方安全产品销售商合作,研究安全的、系统支持的其它平台机制。

  但是,随着计算技术从32位架构向64位架构过渡,64位软件较小的安装人群使微软可以对内核安全性进行重大改进,降低Rootkits和类似恶意软件影响用户系统的概率。

  针对x64的内核补丁保护:Windows Vista 64位版本支持微软的内核补丁保护技术(有时候称为PatchGuard),此项技术阻止未经授权的软件修改Windows内核。内核补丁保护的工作方式是阻止内核模式驱动扩展或替代操作系统内核服务,并禁止所有软件在内核执行系统不支持的补丁。除改进安全性、使黑客更加难以恶意修改内核外,内核补丁保护同时也有助于防止其它软件对操作系统的数据结构(例如IDT)进行未经授权或不支持的修改,进而大大提高了Windows的总体安全性、可靠性和性能。

  内核补丁保护并不足以保证系统的安全,但是通过阻止内核环境中系统不支持的、可能是恶意的行为,该技术提高了Windows Vista的安全性和可靠性,并支持未来在内核环境中进行改进,应对恶意软件的不断变化。有关内核补丁保护的更多信息,请登陆https://www.microsoft.com/whdc/driver/kernel/64bitpatching.mspx进行查询。

  针对x64的强制性内核模块和数据签名:为了使用户了解在操作系统内核上运行的各类驱动和软件的来源,微软在Windows2000中引入了“签名驱动”的概念。尽管系统可以阻止未签名的驱动进行安装,但是默认配置只是警告用户是否安装未签名驱动。IT管理员也可以通过“组策略”阻止未签名驱动的安装。但是,在大多数情况下,未签名驱动较大的安装人群使这一措施变得并不可行。恶意内核软件通常会在没有获得用户许可的情况下悄无声息地进行安装,而且由于在Windows Vista之前不存在内核载入时间检查程序,因此,如果具备管理员权限的用户采取上述行为,恶意软件通常会成功运行。

  如果Windows Vista装在64位系统上,内核的安全性将大大加强,因为系统将要求所有内核模式驱动必须具备数字签名。数字签名为代码提供了身份和完整性。已经损坏或被感染的内核模块不会载入。任何未经正确签名的驱动均无法进入内核空间,且无法载入。

  虽然已签名驱动并不能保证系统安全,但它有助于识别并防止许多恶意攻击,同时使微软可以帮助开发人员改进各类驱动的整体质量,减少因驱动而导致的系统崩溃的次数。

  强制性驱动签名同样有助于增强Windows Vista的可靠性,因为许多系统崩溃是由于内建内核驱动脆弱而导致。要求驱动作者识别其驱动使微软公司更加容易地判断系统崩溃的原因,与相关销售商合作解决问题。系统管理员也会从数字签名和驱动识别中获益,因为管理员可以更清楚地了解客户机中的软件库存和安装状态。从兼容性的角度看,在Windows Vista中,现有的视窗硬件质量实验室(Windows Hardware Quality Labs)认证X64内核驱动均被视为有效签名。 


[上一页][1][2][3][4][5][下一页]

(责任编辑:韩建光)

用户:  匿名  隐藏地址  设为辩论话题

我要发布Sogou推广服务

新闻 网页 博客 音乐 图片 说吧  
央视质疑29岁市长 邓玉娇失踪 朝鲜军事演习 日本兵赎罪
石首网站被黑 篡改温总讲话 夏日减肥秘方 日本瘦脸法
宋美龄牛奶洗澡 中共卧底结局 慈禧不快乐 侵略中国报告



说 吧更多>>

相 关 说 吧

应用 | 标准 | 方式 | 发现

说 吧 排 行

茶 余 饭 后更多>>