[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > Win安全子站

深入底层 评估Vista内核模式的安全性

作者: 独自等待,  出处:IT专家网, 责任编辑: 张帅, 
2008-01-17 10:23
  Windows Vista与之前的MS Windows版本(包括Windows XP SP2)相比增加了很多的安全性。Vista新安全性的特征表现在什么地方?这些特性又是如何工作的呢?本文将详细介绍……

  【IT专家网独家】介绍

  Windows Vista与之前的MS Windows版本(包括Windows XP SP2)相比增加了很多的安全性。Vista新安全性的特征可以包括以下几个方面:

  驱动签名

  路径保护

  内核模式代码完整性检查

  可选择支持使用TPM芯片的安全启动

  限制用户模式访问\Device\PhysicalMemory

  上述的这些功能使得Vista64位版本与Linux或MacOS相比更具备安全性。该文档的主要贡献在:通过拟向工程较全面的分析内核模式的安全组件以及评估可能存在的内核模式攻击。

  该文档检查新的安全特性,通过这些安全特性来阻止恶意代码危及内核。由于这些特性都仅存在于64位的Windows Vista系统内,因此该文档的关注点在Vista64位版本。

  该文档没有分析PatchGuard的执行,针对PatchGuard的分析在前期已经有Skape和Skywing[6]进行了较全面的分析,值得注意的是PatchGuard发展到目前已经有所改变(在skape与skywing分析完后)。仅当下面章节对PatchGuard进行攻击评估时才会讨论这些问题。针对Vista用户模式的安全性评估在前面已经有所讨论[7]。

  由于无法访问Windows Vista的源代码,我们通过debugger(调试器)、disassembler(反编译)、hex editor(16进制编辑器,例如UE)学习了Windows Vista Community Technical Preview (CTP) Build 5365版本。如果读者不熟悉X86体系架构和汇编语言的知识,推荐大家一本不错的关于X86汇编语言的在线图书[8]。另外,在看该文档前你需要熟悉一些Windows系统架构的知识,推荐大家阅读[9],该书讲解了Windows系统架构的知识,同时这本书的一些知识同样可以应用到Vista系统上。在该文档公布时Vista系统还在测试阶段,但Vista在后来版本的安全性方面又做了一些改动。我们希望Vista在最终的发布版本上有更多的改变,同时我们也计划继续对未来的Vista版本的内核改动进行研究。

  Vista引导过程

  Windows Vista支持从PC/AT BIOS和Intel新的EFI(可扩展固件接口)启动。我们的分析过程忽略了EFI部分。在本章节的最后部分,引用了bootmgr入口点的开始指令(DllMail为EFI的入口点指令,offset 0为PC/AT的入口点指令)这个过程从Vista启动管理器开始,定位%SystemDrive%\bootmgr 文件 (for PC/AT legacy BIOS)或%SystemDrive%\Boot\EFI\bootmgr.efi (for EFI BIOS)。Vista Boot Manager是启动Vista的必须环节,但也适用于启动Windows Vista之前的Windows版本。

  Vista Boot Manager首先调用InitializeLibrary,然后依次调用BlpArchInitialize (GDT, IDT, etc.), BlMmInitialize (memory management), BlpFwInitialize (firmware=固件?), BlpTpmInitialize (TPM), BlpIoInitialize (file systems), BlpPltInitialize (PCI configuration), BlBdInitialize (debugging), BlDisplayInitialize, BlpResourceInitialize (finds its own .rsrc section), and BlNetInitialize。

  在Vista系统内,Windows传统的boot.ini配置文件已经被启动配置数据文件(BCD)所代替,Vista下该文件位于%SystemDrive%\Boot\BCD,该文件也是注册表的值(在Vista下被挂载在HKEY_LOCAL_MACHINE\BCD00000000下)。可以使用bcdedit.exe来查看该文件的内容。

  一个典型的Boot Manager的BCD配置文件如下:

      Windows Boot Manager
  Identifier: {bootmgr}
  Type: 10100002
  Device: partition=C:
  Description: Windows Boot Manager
  Locale: en-US
  Inherit options: {globalsettings}
  Boot debugger: No
  Pre-boot EMS Enabled: No
  Default: {current}
  Resume application: {3ced334e-a0a5-11da-8c2b-cbb6baaeea6d}
  Display order: {current}
  Timeout: 30

  如果只有一个启动入口在BCD文件内,启动管理器会直接从该入口启动。如果多于一个启动入口,Boot Manager会给用户一个可选择的列表,并提示用户选择启动那个OS。如果启动阶段激活了日志记录,启动管理器会把状态信息写入%SystemDrive%\Boot\bootstat.dat文件内(通过BmpInitializeBootStatusDataLog)。紧接着启动管理器会使用BlResourceFindHtml把bootmgr.xsl定位在资源节点,而后把它传给BlXmiInitialize。bootmgr.xsl文件控制启动菜单和位于启动菜单的选项。

  如果启动列表的某个条目被选择,跟随BmpTransferExecution之后,将使用BmpLaunchBootEntry对该条目进行加载。BmpTransferExecution将重新找回启动选项(通过BlGetBootOptionString)并把他们交给BlImgLoadBootApplication。如果FVE(Full Volume Encryption)被激活,BlFveSecureBootUnlockBootDevice和 BlFveSecureBootCheckpointBootApp将被调用。由于Windows分区被加密,必须在把控制权交给Vista OS Loader前对分区进行解密。

  最后,Boot Manager调用BlImgStartBootApplication把控制权交给Vista OS Loader。

共4页。 1 2 3 4 :
  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

相关文章

邮件订阅


    • 解析Windows密码安全问题(第三部分)评论
      在前两部分文章中,我们讨论了Windows密码政策的问题以及它是如何在Active Directory环境被控制等问题,大家应该还记得在默认情况下密码政策和相关的设置位于默认域策略中(Default Domain Policy)。另外同样探讨了可以使用哪些技术破获windows密码,以及每种攻击方式的限制问题。那么,在本文中,我们将讨论如何让windows密码变得更加安全,以及如何能够解决在前两部分文章中出现的所有问题。本文将涉及Windows2002/2003/2008Active Directory默认安装带来的可能性以及其他能够整体提高密码安全的技术。
    • IDC创新和安全白皮书:合作或竞争评论
      业务创新是业务发展战略非常重要的一部分,并而日益成为公司保持竞争优势的决定性因素。由于创新的战略重要性,导致了我们越来越关注信息安全机制在抑制甚至扼杀业务创新方面起到的作用。IDC认为公司不仅是需要找到业务创新和有可能扼杀这种创新的信息安全机制,而且需要在这两者之间找到一个简洁的平衡来满足自己的业务需求。成功的企业能够在商业竞争中占有优势,是因为他们懂得去合理的利用两者使之成为一种具有杠杆作用的机制,而其它的企业只是单单强调其中的一个。
    • 预防企业数据丢失的6种最佳实践评论
      根据“私有权清算中心”(一家非赢利性消费者信息和倡导组织)的统计,自2005年1月以来,有将近2200万条记录遭到破坏。数据失窃和丢失案件数量惊人,这不仅是因为安全入侵事件正在以惊人的速度持续增长,数据丢失引发的财产损失事件也同样在飞速增加。根据美国政府的估计,所谓的“企业数据丢失”在去年使商业界损失了近1050亿美元。根据波尼蒙研究所(Ponemon Institute)的统计,仅仅内部人士导致的数据受损一项,每年给商业界造成的损失为平均每家公司3-4百万美元。产业分析公司Gartner集团估计,恢复数据的开销可以达到每条破坏记录150美元之高——这一数字还没有包括重拾客户信任和重建品牌价值、可能的罚款以及法律诉讼代理费的资金投入。在企业数据丢失案件有增无减的同时,公司也正在不断搜集更多数据,以求优化商业流程,改善客户服务,以及提升与合作伙伴的关系。更多的数据转化为相关数据在整个企业中数量不断增多的信息系统之间更广泛的传播。其结果就是——随着公司内外越来越多的用户获得接入系统的权限,敏感数据遭到破坏的风险也在不断增大。
    • RSA白皮书:管理银行的信息风险评论
      信息是银行的基础,但直到现在,金融机构还往往满足于以业务封闭式的方式管理风险。然而,行业的压力促使银行开始对这种战略展开思考。