Windows 10加入防止核心资料毁损的工具
文/林妍溱 | 2020-07-10发表
微软昨(9)日宣布为Windows 10新增安全工具Kernel Data Protection(KDP),防止恶
意程式毁损Windows核心资料。
随著作业系统加入程式码完整性(Code Integrity,CI)、控制流程防护(Control
Process Guard,CPG)来防止内存毁损,让攻击者开始将目标转向攻击核心资料。愈来
愈多恶意程式作者使用资料毁损手法来破坏系统安全政策、权限升级、窜改安全凭证,或
修改“一次初始化”的资料结构。
为此微软释出了核心资料防护(Kernel Data Protection,KDP),旨在透过虚拟化安全
来保护部份Windows核心和驱动程式。KDP是一组API,可将部份核心内存标示为唯读以
防止恶意程式修改。例如攻击者利用签章过但有漏洞的驱动程式来攻击政策资料结构,藉
此安装未签章的恶意驱动程式,KDP即可防止资料结构被修改。
将Windows核心内存标示为唯读,可以衍生出许多实作,像是电玩的反作弊方案,或数
位版权管理(DRM)。除了安全性之外,还有其他好处。首先它可以减轻验证元件的作业
负担,不需再定期验证资料变量,因而可提升效能。KDP还利于诊断内存毁损的bug,提
升系统稳定性。最后,它还能提升驱动程式的相容性。
不过不是所有Windows 10用户现在都能享有KDP,因为它使用了Secured-core PC内建的隔
离和基本信任技术。在Windows 10上KDP又可实作成静态和动态。静态KDP可形成以核心模
型执行的软件,保护它的映像档不被窜改,动态KDP则协助核心模式的软件从“安全记忆
体池”中分配并释出唯读内存。这两种KDP实作都仰赖Windows 10 hypervisor的第二层
位址转译(Second Level Address Translation,SLAT)功能,两种KDP实作已经加入到
最新的Windows 10 Insider Build中,可用来保护executable pages以外的内存。
微软也提供KDP实作到CI、程式码完整性引擎,以及Defender System Guard runtime 验
证引擎的范例,也鼓励驱动程式开发商加入KDP实作。
这是微软为Windows 10加入的最新安全技术。今年5月微软为Windows 10 May 2020
Update加入侦测及防堵垃圾程式的新功能。去年秋天该公司则推出Tamper Protection,
可防止恶意程式关闭防毒软件Windows Defender Antivirus。
https://www.ithome.com.tw/news/138755
所以跟macOS 10.15一样独立出一个唯读的Macintosh HD逻辑卷宗,防止系统核心档案被窜
改的概念类似?
这是macOS运作的概念
https://www.bnext.com.tw/article/55276/mac-catalina-hdd