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

    公开(公告)号:CN105224305B

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

    申请号:CN201410310847.X

    申请日:2014-07-01

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

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

    公开(公告)号:CN105224864A

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

    申请号:CN201510741139.6

    申请日:2015-11-04

    CPC classification number: G06F21/52

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

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

    公开(公告)号:CN101299192B

    公开(公告)日:2010-06-02

    申请号:CN200810115202.5

    申请日:2008-06-18

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

    二进制翻译中局部变量识别和提升的处理方法

    公开(公告)号:CN100377088C

    公开(公告)日:2008-03-26

    申请号:CN200510051448.7

    申请日:2005-03-04

    Abstract: 本发明公开了一种二进制翻译中对局部变量识别和提升的方法包括以下步骤:a、对翻译单元进行条件判别,判断在此翻译单元内能否进行局部变量的提升;b、依次对可处理翻译单元的每个基本块进行处理,对每条指令的局部变量进行识别;c、将b步骤中识别出来的局部变量进行提升,将识别出来的信息传播到整个翻译单元,并在必要的时候进行同步;本发明克服现有二进制翻译技术中局部变量不能和其他内存操作数区别对待的缺陷,通过对局部变量识别和提升,提高翻译质量和效果,从而提高二进制翻译的性能。

    二进制翻译中的库函数调用处理方法

    公开(公告)号:CN1755631A

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

    申请号:CN200410081020.2

    申请日:2004-09-30

    Abstract: 本发明公开了一种二进制翻译中的库函数调用处理方法,包括在目标机中用内存模拟原系统的寄存器和堆栈;应用目标机本地的约定进行传参和返回值处理,依次对原系统二进制程序中的每个基本块进行处理。本发明通过用目标机本地的约定进行传参和返回值处理,而不是去模拟原机器的调用约定,省去了将参数压入模拟原系统的模拟堆栈或寄存器,然后又从堆栈或寄存器中取出放入到目标机传参寄存器或堆栈中过程中频繁对内存的操作,提高了程序执行的效率,进而提高了系统翻译效率,提高了系统性能。

    二进制翻译中标志位的优化处理方法

    公开(公告)号:CN1529229A

    公开(公告)日:2004-09-15

    申请号:CN200310102443.3

    申请日:2003-10-21

    Abstract: 本发明涉及指令集体系结构、二进制翻译技术领域,本发明针对二进制翻译中的解释执行提出了即时计算与延迟计算相结合的解决方法,用于优化解释执行中的标志位处理。对二进制翻译中的动态翻译提出了数据流分析和延迟计算相结合的解决方法,优化动态翻译时的标志位处理,该方法在基本翻译单元内采用数据流分析方法删除处理冗余标志位的目标代码,而在翻译单元之间采用延迟计算方法减少翻译单元之间处理冗余标志位而生成的冗余目标代码。以下简称DFADC法。通过上述两种方法,可以使翻译时减少用于仿真源ISA的标志位而产生的目标代码数量,提高了翻译代码的质量,从而使翻译执行速度得到提高。

    一种容器虚拟化安全加固装置及方法

    公开(公告)号:CN110059453B

    公开(公告)日:2021-02-05

    申请号:CN201910188731.6

    申请日:2019-03-13

    Abstract: 本发明提出一种容器虚拟化安全加固装置及方法,包括:运行在客户机非根模式中的容器;运行在宿主机根模式中的底层操作系统模块和普通应用程序模块;在所述非根模式中植入一微内核,用于管理所述容器使用到的内存和文件系统资源;所述容器与所述底层操作系统模块之间强制隔离。本发明相比于传统容器,具有更好的安全性上来讲,相比于虚拟机和基于虚拟机的容器技术,具有轻量级和启动快的优势。

    一种微架构
    48.
    发明公开

    公开(公告)号:CN111274198A

    公开(公告)日:2020-06-12

    申请号:CN202010054119.2

    申请日:2020-01-17

    Abstract: 本发明涉及一种微架构,包括:处理器,以投机执行方式执行访存指令;与该处理器对应设置的高速缓存,采用组相联模式,包括多个组,每个组包含多个缓存行,以及与该缓存行一一对应的标记项,该标记项包括第一标记项和第二标记项,该第一标记项用于保存该缓存行的缓存内容的原有的属性参数,该属性参数包括该缓存行的地址标记、脏数据标记和有效性标记;该第二标记项用于保存该缓存内容的瞬时/持续状态标记。

    一种基于缓存划分及回滚的处理器瞬态攻击防御方法

    公开(公告)号:CN111241010A

    公开(公告)日:2020-06-05

    申请号:CN202010053240.3

    申请日:2020-01-17

    Abstract: 本发明公开了一种缓存管理方法和数据处理装置,所述缓存管理方法用于包含一级或者多级缓存的处理器,每级缓存包括至少一个缓存组;该方法包括:将每个缓存组的缓存空间划分为持续小组和临时小组,所述持续小组和临时小组包括一个或者多个缓存行;在缓存中持续小组的数据块被投机的访存装载指令装载进来的数据块踢出持续小组时,将被踢出的数据块装入与该持续小组位于同一缓存组的临时小组;在投机的访存装载指令投机失败时,将被该投机的访存装载指令装载进来的数据块踢出持续小组的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置。本发明可以阻止熔断(Meltdown)和幽灵(Spectre)攻击这类利用投机执行发起的攻击,提高处理器的安全性。

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

    公开(公告)号:CN105224864B

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

    申请号:CN201510741139.6

    申请日:2015-11-04

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

Patent Agency Ranking