本书主要介绍 Windows 核心组件行为方式的“内部原理”,包括系统机制,虚拟化技术,管理、诊断和追踪,缓存和文件系统,以及启动和关机等内容,旨在帮助有经验的开发者构建强大且易扩展的软件,帮助系统管理员调试系统和处理复杂的性能问题,以及帮助安全研究人员进一步加固系统。本书不仅涵盖截至 2021 年 5 月更新的 Windows 10(21H1/2104)和 Windows Server(2022、2019 与 2016 版)的内容,还新增了有关 Hyper-V 的内容,并重写了有关引导过程、全新存储技术以及 Windows 系统和管理机制的相关章节。本书适合程序员、架构师、软件质量和性能专家、管理员、安全从业者以及支持专家、Windows 高级用户阅读。
關於作者:
安德里亚·阿列维(Andrea Allievi)微软内核安全核心团队的高级核心操作系统工程师,曾在微软威胁情报中心担任安全研究工程师。他还是一名逆向工程师,精通操作系统内部原理。亚历克斯·伊奥尼斯库(Alex Ionescu) CrowdStrike 公司副总裁,也是该公司位首席架构师。他还是底层系统软件、内核开发、安全培训以及逆向工程领域的专家。 马克·E. 鲁辛诺维奇(Mark E. Russinovich)微软公司 Azure 团队的首席技术官和技术研究员。他是操作系统和安全领域的专家。 大卫· A. 所罗门(David A. Solomon)20 多年来 , 他一直不遗余力地为众多开发者和IT专业人士讲授有关Windows内核接口的课程,并于 1993 年和 2005 年荣获微软有价值专家(MVP)奖项。
目錄:
CHAPTER 8 System mechanisms / 第 8 章 系统机制............................................18.1 Processor execution model / 处理器执行模型 ................................................ 28.1.1 Segmentation / 分段 ............................................................................. 28.1.2 Task state segments / 任务状态段........................................................ 68.2 Hardware side-channel vulnerabilities / 硬件旁道漏洞 .................................. 98.2.1 Out-of-order execution / 乱序执行..................................................... 108.2.2 The CPU branch predictor / CPU 分支预测 ...................................... 118.2.3 The CPU cache(s) / CPU 缓存 ........................................................... 128.2.4 Side-channel attacks / 旁道攻击......................................................... 138.3 Side-channel mitigations in Windows / Windows 中的旁道缓解措施......... 188.3.1 KVA Shadow / KVA Shadow.............................................................. 188.3.2 Hardware indirect branch controls (IBRS, IBPB, STIBP, SSBD)/ 硬件间接分支控制(IBRS、IBPB、STIBP 和 SSBD)............... 218.3.3 Retpoline and import optimization / Retpoline 和导入优化........... 238.3.4 STIBP pairing / STIBP 配对............................................................... 268.4 Trap dispatching / 陷阱调度 .......................................................................... 308.4.1 Interrupt dispatching / 中断调度........................................................ 328.4.2 Line-based versus message signaled-based interrupts/ 基于 Line 的中断和基于消息信号的中断...................................... 508.4.3 Timer processing / 计时器处理.......................................................... 668.4.4 System worker threads / 系统工作线程............................................. 818.4.5 Exception dispatching / 异常调度...................................................... 858.4.6 System service handling / 系统服务处理 .......................................... 918.5 WoW64 (Windows-on-Windows) / WoW64 ................................................ 1048.5.1 The WoW64 core / WoW64 内核..................................................... 1068.5.2 File system redirection / 文件系统重定向....................................... 1098.5.3 Registry redirection / 注册表重定向................................................ 1108.5.4 x86 simulation on AMD64 platforms/ AMD64 平台上的 x86 模拟 ........................................................... 1118.5.5 ARM / ARM ..................................................................................... 1138.5.6 Memory models / 内存模型............................................................. 1148.5.7 ARM32 simulation on ARM64 platforms/ ARM64 平台上的 ARM32 模拟 .................................................... 1158.5.8 x86 simulation on ARM64 platforms/ ARM64 平台上的 x86 模拟............................................................ 1158.6 Object Manager / 对象管理器 ..................................................................... 125目录 ii8.6.1 Executive objects / 执行体对象......................................................... 1278.6.2 Object structure / 对象结构................................................................ 1318.7 Synchronization / 同步................................................................................... 1708.7.1 High-IRQL synchronization / 高 IRQL 同步..................................... 1728.7.2 Low-IRQL synchronization / 低 IRQL 同步...................................... 1778.8 Advanced local procedure call / 高级本地过程调用........................................ 2098.8.1 Connection model / 连接模型............................................................ 2108.8.2 Message model / 消息模型 ................................................................ 2128.8.3 Asynchronous operation / 异步操作.................................................. 2148.8.4 Views, regions, and sections / 视图、区和节.................................... 2158.8.5 Attributes / 属性 ................................................................................. 2168.8.6 Blobs, handles, and resources / Blob、句柄和资源.......................... 2178.8.7 Handle passing / 处理传递................................................................. 2188.8.8 Security / 安全性................................................................................ 2198.8.9 Performance / 性能............................................................................. 2208.8.10 Power management / 电源管理........................................................ 2218.8.11 ALPC direct event attribute / ALPC 直接事件属性........................ 2228.8.12 Debugging and tracing / 调试和跟踪............................................... 2228.9 Windows Notification Facility / WNF 组件 ................................................. 2248.9.1 WNF features / WNF 功能................................................................. 2258.9.2 WNF users / WNF 用户 ..................................................................... 2268.9.3 WNF state names and storage / WNF 状态名称和存储.................... 2338.9.4 WNF event aggregation / WNF 事件聚合......................................... 2378.10 User-mode debugging / 用户模式调试........................................................ 2398.10.1 Kernel support / 内核支持............................................................. 2398.10.2 Native support / 原生支持 ............................................................. 2408.10.3 Windows subsystem support / Windows 子系统支持................... 2428.11 Packaged applications / 打包的应用程序.................................................... 2438.11.1 UWP applications / UWP 应用程序.............................................. 2458.11.2 Centennial applications / Centennial 应用程序............................. 2468.11.3 The Host Activity Manager / 主机活动管理器............................. 2498.11.4 The State Repository / 状态存储库 ............................................... 2518.11.5 The Dependency Mini Repository / 依赖项小型存储库 .............. 2558.11.6 Background tasks and the Broker Infrastructure/ 后台任务和中转基础架构........................................................... 2568.11.7 Packaged applications setup and startup/ 打包应用程序的设置和启动....................................................... 2588.11.8 Package activation / 包激活........................................................... 2598.11.9 Package registration / 包注册 ........................................................ 2658.12 Conclusion / 小结......................................................................................... 266CHAPTER 9 Virtualization technologies / 第 9 章 虚拟化技术..........................2679.1 The Windows hypervisor / Windows 虚拟机监控程序................................. 267