一种抵御代码重用攻击的方法

    公开(公告)号:CN105022956B

    公开(公告)日:2018-11-09

    申请号:CN201510501698.X

    申请日:2015-08-14

    Abstract: 本发明提供一种抵御代码重用攻击的方法,其特征在于,包括下列步骤:1)在工作进程运行过程中,洗牌进程生成工作进程的新版本代码并将其存入代码缓存区,所述代码缓存区被工作进程和洗牌进程所共享;2)所述工作进程完成新旧版本代码的切换。本发明具有下列技术效果:本发明实现了应用级的持续随机化,能够有效地防御代码重用攻击。本发明的防御代码重用攻击方法不需要修改操作系统内核,不需要修改现有的CPU硬件,并且不需要源代码的支持,兼容性高。本发明的防御代码重用攻击方法不会破坏DEP机制,能够避免额外的安全隐患。本发明的防御代码重用攻击方法的开销非常低。

    一种非对齐访存的处理方法

    公开(公告)号:CN101299192A

    公开(公告)日:2008-11-05

    申请号:CN200810115202.5

    申请日:2008-06-18

    Abstract: 一种非对齐访存的处理方法,包括:根据目标体系结构设定翻译门限,在解释器中对访存指令进行插桩,得到非对齐访存指令的信息;当翻译单元的执行次数大于所述翻译门限时,根据所述非对齐访存指令的信息指导翻译器选择合适指令将翻译单元翻译成本地码;根据异常处理机制将解释器插桩未发现的非对齐访存指令生成相应的非对齐访存指令序列,插入到异常处理地址,嵌入到执行代码中。使用该方法可以极大的减少二进制翻译器中产生的非对齐访存异常的次数,提高二进制翻译器的效率;可以更好的处理代码执行行为随不同输入集而变化的应用程序中出现的非对齐访存异常,并且可以有效的提高二进制翻译系统的运行效率。

    一种抵御代码重用攻击的工作进程随机化方法及系统

    公开(公告)号:CN105224864B

    公开(公告)日:2018-05-04

    申请号:CN201510741139.6

    申请日:2015-11-04

    Abstract: 本发明一种抵御代码重用攻击的工作进程随机化方法及系统,该方法包括步骤1,预先设置一新进程,将所述工作进程的内存空间共享给所述新进程,对所述新进程进行初始化,其中对所述新进程中所有的代码段进行反汇编并记录中间表示,识别代码段中的函数信息,分析所述函数信息中的执行流并划分基本块;步骤2,根据所述中间表示,对所述代码段进行随机化处理,生成新代码段,所述新进程向所述工作进程发送信号中断指令,当所述新进程确认所述工作进程已经中断且所述工作进程已经保存相应信息后,进行状态迁移操作,所述状态迁移操作完成后,当所述新进程确认所述工作进程开始执行所述新代码段时,将所述代码段删除;步骤3,循环执行所述步骤1至2。

    函数调用路径编解码方法、装置及系统

    公开(公告)号:CN105224305A

    公开(公告)日:2016-01-06

    申请号:CN201410310847.X

    申请日:2014-07-01

    Abstract: 一种函数调用路径编解码方法、装置及系统,其中所述方法包括,执行程序过程中,构建调用函数到当前跳转目标函数的函数调用边;对新构建的函数调用边进行编码,包括:将当前的路径编码现场保存至编码信息的记录中,路径编码现场包括现场路径编码值、调用点地址和目标地址;将新路径编码值更新为当前最大路径编码值+1;为编码信息添加对应的时间戳并对程序进行插桩。在本发明实施例中,实时动态构建程序的函数调用图的同时,还对动态构建的函数调用图进行相应的动态编码,由于保存了到达当前函数的路径中所有的新增函数调用边的路径信息和避免新设置的编码值与原有编码值发生冲突,所以使本申请中的动态编码后的函数调用路径编码可以被正确的解码。

    一种抵御代码重用攻击的方法

    公开(公告)号:CN105022956A

    公开(公告)日:2015-11-04

    申请号:CN201510501698.X

    申请日:2015-08-14

    CPC classification number: G06F21/54

    Abstract: 本发明提供一种抵御代码重用攻击的方法,其特征在于,包括下列步骤:1)在工作进程运行过程中,洗牌进程生成工作进程的新版本代码并将其存入代码缓存区,所述代码缓存区被工作进程和洗牌进程所共享;2)所述工作进程完成新旧版本代码的切换。本发明具有下列技术效果:本发明实现了应用级的持续随机化,能够有效地防御代码重用攻击。本发明的防御代码重用攻击方法不需要修改操作系统内核,不需要修改现有的CPU硬件,并且不需要源代码的支持,兼容性高。本发明的防御代码重用攻击方法不会破坏DEP机制,能够避免额外的安全隐患。本发明的防御代码重用攻击方法的开销非常低。

    包含栈变量函数的优化方法

    公开(公告)号:CN101847096B

    公开(公告)日:2012-12-12

    申请号:CN201010107353.3

    申请日:2010-02-05

    Inventor: 李建军 武成岗

    Abstract: 本发明提供一种包含栈变量函数的优化方法,包括:申请一段物理内存空间作为所要优化的函数的映像栈,然后再申请一段虚拟内存空间作为所要优化的函数的影子栈;在所要优化的函数中选择要被提升到空闲寄存器中的栈变量;插入将被优化函数的函数栈从系统栈切换到映像栈的指令、将栈变量的内容提升到寄存器中的指令以及将映像栈中的虚存页设为保护状态的指令;将所有包含对所提升栈变量操作的指令替换为对相应寄存器操作的指令,将所有对未提升的栈变量的操作替换为对所述影子栈上相应虚存地址的操作;插入将映像栈中的虚存页解除保护状态的指令、将被提升的栈变量的内容从寄存器存回内存的指令、将函数栈帧从映像栈切换回系统栈的指令。

    一种基于阶段分析的缓存动态划分方法和系统

    公开(公告)号:CN101894048A

    公开(公告)日:2010-11-24

    申请号:CN201010212895.7

    申请日:2010-06-28

    Abstract: 本发明公开了一种基于phase分析的cache动态划分方法和系统,所述方法,包括下列步骤:启动决策进程,系统状态初始化为搜索状态并构建静态搜索树;启动应用程序进程;决策进程开始执行步骤100到300的循环,直至应用程序进程结束;划分决策模块读取采样数据,并根据采样数据识别出程序在当前时间片下运行的phase号,并更新历史记录;划分决策模块收集程序的当前phase在搜索集下各划分的性能数据,根据phase分析结果和系统状态确定下一时间片的Cache划分;当前时间片的决策过程结束,确定出下一时间片的Cache划分,再调用划分执行模块完成cache划分。

    包含栈变量函数的优化方法

    公开(公告)号:CN101847096A

    公开(公告)日:2010-09-29

    申请号:CN201010107353.3

    申请日:2010-02-05

    Inventor: 李建军 武成岗

    Abstract: 本发明提供一种包含栈变量函数的优化方法,包括:申请一段物理内存空间作为所要优化的函数的映像栈,然后再申请一段虚拟内存空间作为所要优化的函数的影子栈;在所要优化的函数中选择要被提升到空闲寄存器中的栈变量;插入将被优化函数的函数栈从系统栈切换到映像栈的指令、将栈变量的内容提升到寄存器中的指令以及将映像栈中的虚存页设为保护状态的指令;将所有包含对所提升栈变量操作的指令替换为对相应寄存器操作的指令,将所有对未提升的栈变量的操作替换为对所述影子栈上相应虚存地址的操作;插入将映像栈中的虚存页解除保护状态的指令、将被提升的栈变量的内容从寄存器存回内存的指令、将函数栈帧从映像栈切换回系统栈的指令。

    一种基于阶段分析的缓存动态划分方法和系统

    公开(公告)号:CN101894048B

    公开(公告)日:2012-11-14

    申请号:CN201010212895.7

    申请日:2010-06-28

    Abstract: 本发明公开了一种基于phase分析的cache动态划分方法和系统,所述方法,包括下列步骤:启动决策进程,系统状态初始化为搜索状态并构建静态搜索树;启动应用程序进程;决策进程开始执行步骤100到300的循环,直至应用程序进程结束;划分决策模块读取采样数据,并根据采样数据识别出程序在当前时间片下运行的phase号,并更新历史记录;划分决策模块收集程序的当前phase在搜索集下各划分的性能数据,根据phase分析结果和系统状态确定下一时间片的Cache划分;当前时间片的决策过程结束,确定出下一时间片的Cache划分,再调用划分执行模块完成cache划分。

    函数调用路径编解码方法、装置及系统

    公开(公告)号:CN105224305B

    公开(公告)日:2018-09-28

    申请号:CN201410310847.X

    申请日:2014-07-01

    Abstract: 一种函数调用路径编解码方法、装置及系统,其中所述方法包括,执行程序过程中,构建调用函数到当前跳转目标函数的函数调用边;对新构建的函数调用边进行编码,包括:将当前的路径编码现场保存至编码信息的记录中,路径编码现场包括现场路径编码值、调用点地址和目标地址;将新路径编码值更新为当前最大路径编码值+1;为编码信息添加对应的时间戳并对程序进行插桩。在本发明实施例中,实时动态构建程序的函数调用图的同时,还对动态构建的函数调用图进行相应的动态编码,由于保存了到达当前函数的路径中所有的新增函数调用边的路径信息和避免新设置的编码值与原有编码值发生冲突,所以使本申请中的动态编码后的函数调用路径编码可以被正确的解码。

Patent Agency Ranking