深入底层 评估Vista内核模式的安全性
2008-01-17 16:58:44 来源:WEB开发网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
- ››深入理解JAR包
- ››深入分析Volatile的实现原理
- ››深入理解Flash Player的应用程序域(Application ...
- ››深入理解flash函数(AS2)
- ››深入理解Android消息处理系统——Looper、Handler...
- ››深入理解SET NAMES和mysql(i)_set_charset的区别
- ››深入理解Mysql字符集设置
- ››深入浅出实战攻防恶意PDF文档
- ››深入剖析防火墙策略的执行过程:ISA2006系列之六
- ››深入JavaScript与.NET Framework中的日期时间(3)...
- ››深入JavaScript与.NET Framework中的日期时间(2)...
- ››深入JavaScript与.NET Framework中的日期时间(1)...
更多精彩
赞助商链接