微软本周宣布了内核数据保护(KDP)技术,旨在保护Windows内核和驱动程序免受数据损坏攻击。
此类攻击可能导致对系统安全策略的修改,特权升级和安全证明篡改等,并且Microsoft的KDP旨在通过基于虚拟化的安全性(VBS)来防止这些攻击。
KDP包含一组API,通过这些API,某些内核内存被标记为只读且无法修改。例如,通过防止篡改策略数据结构,KDP可以缓解在系统上安装了未经签名的恶意驱动程序的攻击。
将内核内存设置为只读可以用来减轻对Windows内核,安全产品,收件箱组件和第三方驱动程序的攻击,还可以提高性能和可靠性,同时推动采用基于虚拟化的安全性。
KDP建立在安全核心PC默认包含的技术的基础上,并为配置数据添加了另一层保护。
在Windows 10中,KDP分两部分实现,即静态KDP(其中以内核模式运行的软件可以保护其自身映像的一部分)和动态KDP(其中,内核模式软件可以“分配和释放只读存储器中的只读内存”)。 “安全池”,微软说。
最新的Windows 10 Insider Build中已包含KDP(动态和静态),它们不能与可执行页面一起使用,因为对这些页面的保护由系统管理程序保护的代码完整性(HVCI)提供。
“静态KDP和动态KDP都依赖于虚拟机管理程序中受SLAT [第二级地址转换]保护的物理内存。当处理器支持SLAT时,它将使用另一层进行内存地址转换。”
微软还透露,该技术已在Windows Defender System Guard中实现,它可以确保证明代理与证明驱动程序之间以及在Windows中的代码完整性引擎Cl.dll中存在单个活动连接,以保护内部初始化后的策略状态。
“这些只是几个实例,这些内容对于将内核和驱动程序内存保护为只读对系统的安全性和完整性很有用。随着KDP被更广泛地采用,我们希望能够扩大保护范围,因为我们希望能够更广泛地防止数据损坏攻击。”