• 我们在哪一颗星上见过 ,以至如此相互思念 ;我们在哪一颗星上相互思念过,以至如此相互深爱
  • 我们在哪一颗星上分别 ,以至如此相互辉映 ;我们在哪一颗星上入睡 ,以至如此唤醒黎明
  • 认识世界 克服困难 洞悉所有 贴近生活 寻找珍爱 感受彼此

Windows10 控制流保护

恶意代码技术理论 云涯 3年前 (2021-08-19) 1590次浏览

控制流保护(CFG)

CFG

Windows8.1预览中引入了新的安全缓解技术,因为兼容性问题,在windows 8.1 RTM 中被禁用。然后再windows 10 中被重新启用。是实现控制流完整性(CFI)的一种方式。

CFG 通过在间接跳转(Indirect Call)前插入校验代码(比如 call dword ptr ss:[ebp-8] 等等 ),检查目标地址的有效性,进而可以阻止执行流跳转到预期之外的地点, 最终及时并有效的进行异常处理,避免引发相关的安全问题。

防止不可信的间接调用

依赖于二进制文件的编译和链接级处理,在机器代码中的每个间接调用之前强制执行附加调用目标检查。

控制流完整性Control-Flow Integrity

防止各种恶意软件攻击重定向程序的执行流。

控制流完整性的-原则(Principles),实施(Implementations), 和应用(Applications).:https://www.microsoft.com/en-us/research/publication/control-flow-integrity-principles-implementations-and-applications/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F69217%2Fccs05-cfi.pdf

CFG如何工作:用户模式部分

负责配置结构

增加了五个新字段

包括在构建过程中生成的CFG的关键数据

  • CFG检查函数指针(指向空子例程)
  • CFG函数表(NT内核使用)
  • CFG标志

初始化SystemDllInitBlock和加载配置

初始化LdrSystemDllInitBlock

 

函数位图布局和目标验证逻辑

附加

 

 

 

 

 

 

 

CFG如何工作:内核模式部分

CFG弱点

 


云涯历险记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Windows10 控制流保护
喜欢 (0)