一种基于缓存回滚以防御处理器瞬态攻击的装置

    公开(公告)号:CN111274584B

    公开(公告)日:2022-07-15

    申请号:CN202010053237.1

    申请日:2020-01-17

    Abstract: 本发明公开了一种数据处理装置,包括:处理器;存储器,用于存储一个或多个可执行指令和数据,所述存储器包括一级或者多级缓存;以及缓存控制器;每级缓存包括普通缓存和防御缓存;所述缓存控制器被配置为:在普通缓存的数据块被投机的访存装载指令装载进来的数据块踢出普通缓存时,将被踢出的数据块装入该普通缓存所属的缓存的防御缓存;以及在投机的访存装载指令投机失败时,将被该投机的访存装载指令装载进来的数据块踢出普通缓存的数据块回滚到其在被踢到防御缓存前位于普通缓存内的原始位置。本发明可以防止攻击者利用投机的访存装载指令将特定的数据块踢出某级缓存而造成其访问速度的改变,有效地防止了被侧信道攻击探测到秘密的值。

    面向应用程序的特权硬件资源访问方法及电子设备

    公开(公告)号:CN111737656A

    公开(公告)日:2020-10-02

    申请号:CN202010473124.7

    申请日:2020-05-29

    Abstract: 本发明提供一种面向应用程序的特权硬件资源访问方法及电子设备,其中,所述方法将CPU操作模式划分为根模式和非根模式,每种模式具有相应的内核态与用户态。所述方法包括:在非根模式的内核态下运行所述应用程序;以及限制所述应用程序对非授权特权指令的执行。其中,所述非授权特权指令指的是用于访问所述应用程序无权访问的特权硬件资源的指令。本发明提升了应用程序访问特权硬件资源的性能、安全性以及通用性。

    一种基于缓存回滚以防御处理器瞬态攻击的装置

    公开(公告)号:CN111274584A

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

    申请号:CN202010053237.1

    申请日:2020-01-17

    Abstract: 本发明公开了一种数据处理装置,包括:处理器;存储器,用于存储一个或多个可执行指令和数据,所述存储器包括一级或者多级缓存;以及缓存控制器;每级缓存包括普通缓存和防御缓存;所述缓存控制器被配置为:在普通缓存的数据块被投机的访存装载指令装载进来的数据块踢出普通缓存时,将被踢出的数据块装入该普通缓存所属的缓存的防御缓存;以及在投机的访存装载指令投机失败时,将被该投机的访存装载指令装载进来的数据块踢出普通缓存的数据块回滚到其在被踢到防御缓存前位于普通缓存内的原始位置。本发明可以防止攻击者利用投机的访存装载指令将特定的数据块踢出某级缓存而造成其访问速度的改变,有效地防止了被侧信道攻击探测到秘密的值。

    一种应用的保护方法及系统

    公开(公告)号:CN109840411A

    公开(公告)日:2019-06-04

    申请号:CN201810164759.1

    申请日:2018-02-27

    Abstract: 本发明涉及一种应用的保护方法和系统,包括:获取该应用,该应用包括第一部分应用和第二部分应用,内存空间包括安全区域;将应用该第一部分应用存放至该安全区域,应用第二部分应用存放至该安全区域外的该内存空间,将指向该安全区域的地址随机放置到虚拟地址空间中;当该虚拟地址空间内发生试探行为时,在该内存空间中随机移动该安全区域的位置,并在该安全区域原有位置遗留一个禁止访问的陷阱区域;当检测到任何对该陷阱区域的访问时,报出访问陷阱区域的警告信息给用户。随着试探次数的增多,安全区域被随机的次数也会增多,使得攻击者的下次试探会很大概率被捕获。

    共享库的二进制翻译执行方法和装置

    公开(公告)号:CN105335203A

    公开(公告)日:2016-02-17

    申请号:CN201410306773.2

    申请日:2014-06-30

    Abstract: 本发明实施例公开了共享库的二进制翻译执行方法和装置。其中,共享库的二进制翻译执行方法可包括:当上述第二共享库中的第一函数被调用时,上述宿主机执行上述第一函数以调用上述第一共享库中的翻译函数;上述宿主机利用上述调用的上述第一共享库中的翻译函数,对上述第三共享库中的函数接口与上述第一函数的函数接口相同的第二函数进行翻译,以得到上述宿主机支持的第三函数;其中,上述第三函数的函数接口和上述第二函数的函数接口相同;上述宿主机执行上述第三函数。本发明实施例提供的方案有利于减少翻译共享库时的相关代码翻译量,从而提高二进制翻译的执行效率,进而提升用户体验。

    二进制翻译中间接跳转指令的翻译方法及其系统

    公开(公告)号:CN101706734B

    公开(公告)日:2013-08-14

    申请号:CN200910237389.0

    申请日:2009-11-10

    Inventor: 武成岗 王文文

    Abstract: 本发明涉及二进制翻译中间接跳转指令的翻译方法及系统,方法包括:步骤1,在反汇编到间接跳转指令时,根据反汇编出的源指令序列判断所述间接跳转指令是否为多分支语句或虚函数调用,如果是则进行标记,获得被标记的间接跳转指令的源跳转表;步骤2,在翻译时,将被标记的间接跳转指令翻译为根据待构建的所述被标记的间接跳转指令的目标跳转表的内容进行跳转的指令,为所述目标跳转表预留重定位项;步骤3,翻译完所述被标记的间接跳转指令后,根据所述间接跳转指令的源跳转表构建所述间接跳转指令的目标跳转表;步骤4,将构建的所述目标跳转表的地址写入所述重定位项。本发明能够减少了访问内存的开销,提高了二进制翻译的效率。

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

    公开(公告)号:CN101894048B

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

    申请号:CN201010212895.7

    申请日:2010-06-28

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

    二进制翻译器中线程共享目标本地码缓存替换方法及系统

    公开(公告)号:CN101482851B

    公开(公告)日:2011-02-16

    申请号:CN200810247438.4

    申请日:2008-12-31

    Inventor: 张盈 武成岗

    Abstract: 本发明涉及二进制翻译器中线程共享code?cache的替换方法及系统。该方法包括:步骤10,将本地码空间划分成N个相同大小的可替换单元和一个永不替换单元,N为自然数;可替换单元用于进行普通本地码的分配以及实施替换策略,永不替换单元用来保存与线程同步相关的本地码;步骤20,从当前可替换单元中分配本地码,直到当前可替换单元的容量达到上限时再从下一个可替换单元开始分配本地码;步骤30,当本地码空间达到容量的上限时,以可替换单元为单位按照先进先出策略进行本地码替换。本发明提出并实现了多线程code?cache的替换方案,这种替换方案可广泛适用于各种体系结构之上的二进制翻译器中,在开销较小的同时保证了线程的并发性。

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

    公开(公告)号:CN100359471C

    公开(公告)日:2008-01-02

    申请号:CN200410081020.2

    申请日:2004-09-30

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

    一种遗产代码向现代语言变换过程中的控制流变换方法

    公开(公告)号:CN100337203C

    公开(公告)日:2007-09-12

    申请号:CN200410030988.2

    申请日:2004-04-05

    Abstract: 本发明涉及一种遗产代码向现代语言变换过程中的控制流变换方法。该方法包括以下步骤:将COBOL程序的一个“过程”转换成一个Java类;在上述Java类中设置一个“入口函数”;设置上述“入口函数”的内容;对COBOL程序的段名进行编号;对COBOL过程体结构进行处理:对PERFORM语句进行处理:对GOTO语句进行处理:对PERFORM语句进行处理:当遇到PERFORM语句时,将其翻译为:执行函数,包括其入口,出口对应的编号,参数列表;在每个段尾增加一条语句:if(出口点=本段编号)return。在遗产代码向现代语言变换过程中利用高级语言的switch和while语句来同时消除GOTO和PERFORM复合控制结构。该方法不改变程序的结构,保持了程序可读性,并较好地控制了代码膨胀。

Patent Agency Ranking