日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

評估Vista內(nèi)核模式的安全性( 六 )


1. 顯示Vista啟動過程中的進(jìn)度條 。
2. 加載%SystemRoot%/AppPatch/drvmain.sdb(the application compatability database)
3. 加載%SystemRoot%/System32/acpitabl.dat
4. 加載HKEY_LOCAL_MACHINE/CurrentControlSet/Control/Errata/InfName注冊表項(xiàng)的INF文件 。
在OslpLoadAllModules結(jié)束后,OslMain保存啟動日志(OslpLogSaveInformation),如果FVE(Full Volume Encryption)選項(xiàng)開啟,結(jié)束FVE的加載(BlFveSecureBootRestrictToOne and BlTpmShutdown) 。最后,調(diào)用OslArchTransferToKernel把控制權(quán)轉(zhuǎn)交給NTOSKRNL.EXE 。

C、Vista Windows OS Kernel (階段 3)
Vista使用了與先前版本一樣的名門慣例 。64位Vista會在%SystemRoot%/System32/ntoskrnl.exe查找NTOSKRNL.EXE,在本章節(jié)的剩余部分,會引用ntoskrnl.exe在開始入口點(diǎn)的操作指令(KiSystemStartup) 。
執(zhí)行首先從KiSystemStartup開始 。Vista下的NTOSKRNL.EXE內(nèi)的一些重要部分與Windows 2003 SP1版相比,并沒有太多的改變,因此我們的重點(diǎn)為分析Vista下改變的特殊部分 。在Vista下,NTOSKRNL.EXE添加了一個新函數(shù)SepInitializeCodeIntegrity,但該函數(shù)僅僅是把CL.DLL內(nèi)的CiInitialize(關(guān)于CiInitialize會在后面的章節(jié)VI進(jìn)行討論)進(jìn)行了另外的包裝而已 。如果代碼完整性檢查開啟,SepInitializeCodeIntegrity會調(diào)用CiInitialize,除此之外,它沒有做任何其它的事情 。
WINLOAD.EXE還負(fù)責(zé)檢查boot drivers簽名的完整性 。與WINLOAD.EXE相比,NTOSKRNL.EXE負(fù)責(zé)查證system drivers(在boot driver加載后)和運(yùn)行時加載的drivers(即:當(dāng)一個設(shè)備被插進(jìn)系統(tǒng)) 。當(dāng)完整性檢查開啟,會使用SeValidateImageHeader(在CI.DLL內(nèi)CiValidateImageHeader函數(shù)的包裝)和SeValidateImageData(在CI.DLL內(nèi)CiValidateImageData函數(shù)的包裝)對加載的映象(image)進(jìn)行代碼完整性檢查 。只要一個執(zhí)行映射進(jìn)kernel memeory都會調(diào)用SeValidateImageHeader(通過MmCreateSection) 。當(dāng)一個內(nèi)核模塊加載時,都會調(diào)用SeValidateImageData對kernel drivers的代碼段進(jìn)行校驗(yàn) 。運(yùn)行時檢查(例如:不斷的檢查kernel drivers的代碼段是否被修改)由PatchGuard和CI.DLL進(jìn)行處理(會在后面部分討論) 。

推薦閱讀