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

http://tech.ddvip.com/    2008年01月17日  【字号: 收藏本文   社区

内容摘要:Windows Vista与之前的MS Windows版本(包括Windows XP SP2)相比增加了很多的安全性。Vista新安全性的特征表现在什么地方?这些特性又是如何工作的呢?本文将详细介绍……

  OslLoadImage调用GetImageValidationFlags来检查在LoadBootImagesTable中预先定义好的boot drivers文件名。如果启用了完整性检查,除非在这里调试器被开启,否则boot drivers必须进行可信任的root签名,并且所有的映象哈希值(image hashes)要与编目录签名相匹配。如果调试器处于开启状态,WINLOAD.EXE不会强制这些要求。安全后WINLOAD.EXE会打印一个错误信息给调试器,但是却忽略了代码完整性检查的失败。无论如何,接下来的boot drivers必须通过代码完整性检查,即使调试器在开启状态也必须检查。(如果没有进行检查,vista不会被启动起来):

   Windowssystem32ootvid.dll
  Windowssystem32ci.dll
  Windowssystem32clfs.sys
  Windowssystem32hal.dll
  Windowssystem32kdcom.dll(orkd1394.sysorkdusb.dll,dependingonbootoptions)
  Windowssystem32
toskrnl.exe
  Windowssystem32pshed.dll
  Windowssystem32WINLOAD.EXE
  Windowssystem32driversksecdd.sys
  Windowssystem32driversspldr.sys
  Windowssystem32drivers  pm.sys

  加载映象和验证代码完整性都在BlImgLoadPEImageEx内,都使用了SelfIntegrityCheck(在前面章节有描述)函数。所有的映象(image)都通过代码完整性校验后,NTOSKRNL.EXE和它所有的Imports此时会被加载。列表(版本:Build 5363)如下:

   Windowssystem32NTOSKRNL.exe
  Windowssystem32HAL.dll
  Windowssystem32PSHED.dll
  Windowssystem32BOOTVID.dll
  Windowssystem32CLFS.SYS
  Windowssystem32CI.dll

来源:IT专家网    作者:独自等待    责编:豆豆技术应用

正在加载评论...