-
公开(公告)号:CN107506644B
公开(公告)日:2020-10-30
申请号:CN201710703706.8
申请日:2017-08-16
Applicant: 南京大学
IPC: G06F21/56
Abstract: 本发明公开了一种动态生成代码中隐式常数威胁的安全保护方法,包括采用寄存器动态随机化方法变换动态生成代码中的隐式常数;在动态生成代码中收集到所有直接call指令与直接jmp指令,将直接call指令与直接jmp指令保存到链表;查找链表中隐式常数中是否包含控制流转移指令编码,删除链表中没有控制流转移指令编码的隐式常数;对链表中隐式常数中的控制流转移指令编码所在位置之前的字节序列进行反汇编,确定隐式常数中是否包含有效的代码片段;删除链表中不包含有效的代码片段的隐式常数;定位代码缓存区中存在有害隐式常数的位置,在该位置对包含有害隐式常数的直接跳转指令进行改写;本方法消除了动态生成代码中隐式常数的威胁。
-
公开(公告)号:CN107506644A
公开(公告)日:2017-12-22
申请号:CN201710703706.8
申请日:2017-08-16
Applicant: 南京大学
IPC: G06F21/56
Abstract: 本发明公开了一种动态生成代码中隐式常数威胁的安全保护方法,包括采用寄存器动态随机化方法变换动态生成代码中的隐式常数;在动态生成代码中收集到所有直接call指令与直接jmp指令,将直接call指令与直接jmp指令保存到链表;查找链表中隐式常数中是否包含控制流转移指令编码,删除链表中没有控制流转移指令编码的隐式常数;对链表中隐式常数中的控制流转移指令编码所在位置之前的字节序列进行反汇编,确定隐式常数中是否包含有效的代码片段;删除链表中不包含有效的代码片段的隐式常数;定位代码缓存区中存在有害隐式常数的位置,在该位置对包含有害隐式常数的直接跳转指令进行改写;本方法消除了动态生成代码中隐式常数的威胁。
-