用于动态代码的影子堆栈强制范围

    公开(公告)号:CN115362433A

    公开(公告)日:2022-11-18

    申请号:CN202180024177.3

    申请日:2021-01-31

    Abstract: 对动态代码实施影子堆栈违规。线程在处理器处被执行,其包括生成用于由线程执行的动态代码的部分、标识动态代码的部分被加载到存储器中的存储器地址范围以及启动动态代码的部分执行。至少基于线程的执行来处理异常,该异常由从与线程对应的调用堆栈弹出的第一返回地址和从与线程对应的影子堆栈弹出的第二返回地址之间的不匹配所触发。处理异常包括(i)确定从影子堆栈弹出的第二返回地址是否在标识的地址范围内,以及(ii)基于已经确定第二返回地址在地址范围内,启动影子堆栈强制动作。

    以模块粒度的影子堆栈违规强制

    公开(公告)号:CN115335806A

    公开(公告)日:2022-11-11

    申请号:CN202180024209.X

    申请日:2021-01-28

    Abstract: 以模块粒度而不是线程或进程粒度实施影子堆栈违规。在基于调用外部模块的应用二进制的代码的线程的执行期间处理异常,该应用二进制被启用以用于影子堆栈强制。该异常是由于从线程的调用堆栈弹出的返回地址与从线程的影子堆栈弹出的返回地址之间的不匹配引起的。处理异常包括:确定异常是由外部模块中的指令的执行引起的,以及确定外部模块是否被启用以用于影子堆栈强制。至少基于这些确定,在外部模块被启用以用于影子堆栈强制时,线程的执行被终止,或者当外部模块未被启用以用于影子堆栈强制时,线程被允许继续执行。

Patent Agency Ranking