|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
您现在的位置: ChinaBeta.cn 中文IT资讯 >> 操作系统 >> Vista >> 操作系统正文
深入底层 评估Vista系统内核模式安全性
Www.ChinaBeta.Cn 更新时间:2008-1-25

【ChinaBeta.Cn 操作系统中心】
 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。

[1] [2] [3] 下一页  

Google

(责任编辑:hahack)

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
热门文章 相关报道
普通操作系统 [Vista]深入底层 评估Vista系统内核模式… (01-25)最新操作系统
普通操作系统 [Vista]让Windows Vista系统轻装上阵 (01-25)最新操作系统
普通操作系统 [Vista]Windows 7 Milestone1 截图终于出… (01-25)最新操作系统
普通操作系统 [Vista]Windows Vista Service Pack 1 详… (01-25)最新操作系统
普通操作系统 [Vista]Windows 7 Milestone 1 Build 6.… (01-23)最新操作系统
普通操作系统 [Vista]Vista中如何查看正进行读写操作的… (01-23)最新操作系统
普通操作系统 [Vista]用户眼中Windows Vista的几个优点 (01-22)最新操作系统
普通操作系统 [Vista]花样翻新 玩转Windows Vista日历… (01-22)最新操作系统
普通操作系统 [Windows Server 2008]Server 2008与Vista结合功能更强… (01-22)最新操作系统
普通操作系统 [9X|XP系统]国外安全机构发布XP和Vista恶意攻… (01-22)最新操作系统
  • 让Windows Vista系统轻装上…

  • 用户眼中Windows Vista的几…

  • 网友怒斥:BIOS破解Vista失效…

  • 取代VISTA?下代系统Window…

  • 有关Windows Vista,您不可否…

  • 花样翻新 玩转Windows Vist…

  • Vista版本Plus Pack新功能抢…

  • 不需全舍弃 禁用Vista系统的…

  • Windows Vista下Win键使用完…

  • Windows Vista中如何查看CP…

  •   网友评论内容:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    I D *
    邮 箱
    主 页
    评 分 1分 2分 3分 4分 5分
    评 论

    关于我们  中国·国家信息产业部{粤ICP备06006652号}{陇ICP备06002562号}
    版权所有:『AK网盟基地』站长:Hahack | QQ:80505955 | E-mail:Hahack@Gmail.com
    Copyright (C) 2005-2007  akhack.org|chinabeta.cn All Rights Reserved