发布网友
共3个回答
热心网友
执行流作用就是在程序执行的过程中检测指令流的正常性,当发生不符合预期的情况时,及时进行异常处理。
CFI即控制流完整性Control-Flow Integrity,主要是通过对二进制可执行文件的动态改写,以此为其增加额外的安全性保障。
同理在call 和 ret的时候也可以进行改写:
左半部分就是一个对call的改写,右半部分是对ret的一个改写,在call的目的地址和ret的返回地址之前插入校验ID,然后改写的call 和ret中增加了对校验ID的检查,如果不符合预期,进入错误处理流程,这个思路和上边对jmp的处理是完全一样的。
微软在最新的操作系统win10当中,对基于执行流防护的实际应用中采用了CFG技术。CFG是Control Flow Guard的缩写,就是控制流保护,它是一种编译器和操作系统相结合的防护手段,目的在于防止不可信的间接调用。
漏洞攻击过程中,常见的利用手法是通过溢出覆盖或者直接篡改某个寄存器的值,篡改间接调用的地址,进而控制了程序的执行流程。CFG通过在编译和链接期间,记录下所有的间接调用信息,并把他们记录在最终的可执行文件中,并且在所有的间接调用之前插入额外的校验,当间接调用的地址被篡改时,会触发一个异常,操作系统介入处理。
热心网友
一种是给用户看的
还有一种是给开发人员看的
用户:
就是类似于 流水线作业一般、
只有做完了当前操作才可以做下一个、可以避免用户乱操作误操作
程序:
基本指的是流程图、
数个模块、各个模块之间的关系
开发顺序、追问这个答案是在百度抄袭的,且表达不明朗。
追答哦
热心网友
很简单,你读书是怎么读的?一行一行读的对不对?那么这个就叫读书流。源码也一样,被执行的时候是一行一行走的,当前执行到哪里,就叫流到哪里。整个过程又被称为执行流。