Win10安全特性之执行流保护

本文详细介绍了Windows 10中的执行流保护技术,包括CFI(Control-Flow Integrity)和CFG(Control Flow Guard)。CFI通过在二进制文件中插入校验ID来确保指令流的正确性,而CFG则是编译器和操作系统结合的防护手段,通过记录间接调用信息并在执行时进行校验,防止不可信的间接调用。文章还讨论了电脑管家在XP防护中的执行流保护策略,以及这些技术对性能的影响。
摘要由CSDN通过智能技术生成

1 背景


微软在2015年1月22日公布了windows10技术预览版,Build号:9926。电脑管家反病毒实验室第一时间对其引入的新安全特性进行了深入分析。

众所周知,漏洞利用过程中攻击者若要执行恶意代码,需要破坏程序原有指令的的正常执行。执行流保护的作用就是在程序执行的过程中检测指令流的正常性,当发生不符合预期的情况时,及时进行异常处理。业界针对执行流保护已经有一些相对成熟的技术方案,在微软发布的windows10最新版本中,我们看到了这一防护思想的广泛使用。

2 CFI


CFI即控制流完整性Control-Flow Integrity,主要是通过对二进制可执行文件的动态改写,以此为其增加额外的安全性保障。



这是Mihai Budiu介绍CFI技术时使用的例子。这里通过对二进制可执行文件的改写,对jmp的目的地址前插入一个在改写时约定好的校验ID,在jmp的时候看目的地址前的数据是不是我们约定好的校验ID,如果不是则进入错误处理流程。

同理在call 和 ret的时候也可以进行改写:



左半部分就是一个对call的改写,右半部分是对ret的一个改写,在call的目的地址和ret的返回地址之前插入校验ID,然后改写的call 和ret中增加了对校验ID的检查,如果不符合预期,进入错误处理流程,这个思路和上边对jmp的处理是完全一样的。

3 CFG


实现CFI需要在jmp、call 一个寄存器(或者使用寄存器间接寻址)的时候,目的地址有时必须通过动态获得&

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值