CN113673002B - 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 - Google Patents
一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 Download PDFInfo
- Publication number
- CN113673002B CN113673002B CN202110907332.8A CN202110907332A CN113673002B CN 113673002 B CN113673002 B CN 113673002B CN 202110907332 A CN202110907332 A CN 202110907332A CN 113673002 B CN113673002 B CN 113673002B
- Authority
- CN
- China
- Prior art keywords
- instruction
- coprocessor
- register
- random number
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
Abstract
本发明公开一种基于指针加密机制和RISC‑V协处理器的内存溢出防御方法,涉及计算机系统安全技术领域,通过加密返回地址以及函数指针,阻止通过缓冲区溢出修改此类数据跳转到目的地址的目的,以实现对RISC‑V架构安全防护,在提高RISC‑V系统的安全性的同时未对程序造成显著影响。
Description
技术领域
本发明涉及计算机系统安全技术领域,具体涉及一种基于指针加密机制和RISC-V协处理器的内存溢出防御方法。
背景技术
缓冲区溢出是一种计算机系统中十分常见的安全漏洞。由于软件开发者编写代码时的疏忽等原因,导致内存缓冲区未作边界检查。攻击者利用此注入数据,溢出后覆盖重要数据,达到掌握程序控制流,甚至获取整个系统root权限的目的。而根据CommonVulnerabilities and Exposures网站的数据显示,仅2020年一年便有1600多个缓冲区溢出的漏洞被披露。因此如何防御利用此类漏洞的攻击是值得研究的问题。
目前主要的防御机制包括:1.数据不可执行,即阻止程序中的数据页被当作可执行代码执行;2.内存地址空间随机化,即进程的栈和堆等区域加载到内存时被加载到随机的地址;3.Stack canary,即在栈上缓冲区后插入一个对攻击者保密的随机值,如果栈溢出数值变化,则立刻终止程序;4.程序控制流完整性,提前确定程序流图,在程序块中增加tag,使得运行的程序只能按照流图跳转等。
然而目前的防御机制,均存在如下问题,包括可被绕过攻击,无法防御某些种类的溢出攻击,或实现方式对于程序的运行效率会造成很大影响等。
发明内容
基于上述问题,本发明提供一种基于指针加密机制和RISC-V协处理器的内存溢出防御机制。该方法通过加密返回地址以及函数指针,阻止通过缓冲区溢出修改此类数据跳转到目的地址的目的,以实现对RISC-V架构安全防护,在提高RISC-V系统的安全性的同时未对程序造成显著影响。
为实现上述目的,本发明采用如下技术方案:
一种基于指针加密机制和RISC-V协处理器的内存溢出防御方法,包括以下步骤:
1)使用SoC生成器RocketChip的RoCC(Rocket Custom Coprocessor)接口向RISC-V主处理器接入基于物理不可克隆函数PUF和真随机数生成器TRNG设计的协处理器;
2)分析程序源码,定位到向返回地址ra赋值的代码,在向ra赋值的代码前插入加密ra的RISC-V扩展指令即指令四,再定位到使用ra的代码,在使用ra的代码前插入解密ra的RISC-V扩展指令即指令四;
3)分析程序源码,定位到向函数指针fp赋值的代码,在向fp赋值的代码前插入加密fp的RISC-V扩展指令即指令四,定位到使用fp的代码,在使用fp的代码前插入解密fp的RISC-V扩展指令即指令四;
4)执行步骤2)和3)处理后的程序代码,当程序初次被操作系统加载进内存成为一个新进程时,操作系统向协处理器发送指令一,使协处理器中的TRNG生成真随机数并保存在协处理器的随机数寄存器中;
5)当所述新进程被切出时,操作系统向协处理器发送指令二,从随机数寄存器中取出随机数并存入印制电路板PCB中;
6)当所述新进程被切入时,操作系统向协处理器发送指令三,从PCB中取出随机数并存入随机数寄存器中;
7)在所述新进程运行的过程中,当代码向ra或fp赋值时,该新进程向协处理器发送指令四,向协处理器传入ra或fp,以及ra或fp在内存中的地址,地址作为PUF的激励,PUF产生响应;ra或fp与前述响应以及步骤4)中保存在随机数寄存器中的真随机数进行异或后,将密文传回主处理器,存入内存;
8)当所述新进程运行的过程中,在代码使用ra或fp时,进程向协处理器发送指令四,向协处理器传入已加密的ra或fp,以及ra或fp在内存中的地址,地址作为PUF的激励,PUF产生响应;已加密的ra或fp与前述响应以及步骤4)中保存在随机数寄存器中的真随机数进行异或后,将明文传回主处理器,正常使用。
上述步骤1)可以位于步骤2)-3)之后,步骤4)必须在步骤1)、2)和3)之后,步骤编号不完全限定执行的先后顺序,实际先后顺序当以每步骤的技术特征的含义为准。
进一步地,步骤7)还包括以下步骤:
a)计算ra或fp在内存中的地址,存入源寄存器Source Register1中;
b)计算完成ra或fp的值后,令存有ra或fp值的寄存器作为源寄存器SourceRegister2;
c)发送指令四加密ra或fp;
d)将目的寄存器Dest Register中的值存入内存。
进一步地,步骤8)还包括以下步骤:
a)计算ra或fp在内存中的地址,存入源寄存器Source Register1中;
b)将ra或fp从内存中取出后,令存有ra或fp值的寄存器作为源寄存器SourceRegister2;
c)发送指令四解密ra或fp;
d)正常使用目的寄存器Dest Register中的值。
进一步地,控制协处理器的指令通过扩展RISC-V指令集架构的自定义指令实现,共四条新增自定义指令,分为指令一、指令二、指令三、指令四,指令一控制协处理器TRNG产生真随机数,指令二从协处理器取出真随机数,指令三向协处理器存入真随机数,指令四控制协处理器加解密返回地址和函数指针。
进一步地,所述指令一的指令字段结构格式为:
Opcode字段,长度7bits,表示自定义指令空间的指令操作码。
进一步地,所述指令二的指令字段结构格式为:
Opcode字段,长度7bits,表示自定义指令空间的指令操作码;
Dest Register字段,长度5bits,指定从协处理器的随机数寄存器取出随机值后存入哪一个主处理的寄存器中。
进一步地,所述指令三的指令字段结构格式为:
Opcode字段,长度7bits,表示自定义指令空间的指令操作码;
Source Register1字段,长度5bits,指定哪一个主处理器寄存器传入随机值给协处理器。
进一步地,所述指令四的指令字段结构格式为:
Opcode字段,长度7bits,表示自定义指令空间的指令操作码;
Dest Register字段,长度5bits,指定结果传入哪一个主处理器寄存器;
Source Register1字段,长度5bits,表示主处理器的寄存器,其中存储的值是返回地址或函数指针在内存中的地址;
Source Register2字段,长度5bits,表示主处理器的寄存器,其中存储的值是返回地址或函数指针的值。
本发明取得的有益效果是:本发明主要目的是防御利用返回地址或函数指针的缓冲区溢出攻击。本发明通过使用PUF这一硬件元件生成加解密键值,提高了机制的安全性能;此外通过使用RISCV的协处理器,使用硬件的方式实现指针加密机制,有利于减少对程序运行效率的影响。
附图说明
图1是基于指针加密机制和RISC-V协处理器的内存溢出防御方法的整体流程图。
图2是协处理器的内部具体电路图。
图3是操作系统创建进程时的流程图。
图4是操作系统进行上下文切换时的流程图。
图5是进程运行时加解密返回地址和函数指针的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
本实施例使用RocketChip的ROCC接口接入使用Chisel硬件语言编写的协处理器,实现基于指针加密机制和RISC-V协处理器的内存溢出防御方法,并使用RocketChip已实现的C++cycle-accurate emulator进行安全和效率的测试。实施例的具体流程图如图1所示,主要包括如下步骤:
1)分析程序源码,定位到向返回地址(ra)赋值的代码,在代码前插入加密ra的RISC-V扩展指令—指令四,定位到使用ra的代码,在代码前插入解密ra的RISC-V扩展指令—指令四。
2)分析程序源码,定位到向函数指针(fp)赋值的代码,在代码前插入加密fp的RISC-V扩展指令—指令四,定位到使用fp的代码,在代码前插入解密fp的RISC-V扩展指令—指令四。
3)使用RocketChip这一SoC生成器的RoCC(Rocket Custom Coprocessor)接口向RISC-V主处理器接入基于PUF(物理不可克隆函数)和TRNG(真随机数生成器)设计的协处理器。其中协处理器的具体实现方式如图2所示,主要包括如下模块:
3a)PUF(物理不可克隆函数)是一种硬件结构,其利用硬件某些方面不可预测的随机性,对某一输入可产生固定的唯一且随机响应。一个PUF可以产生多对这样的输入-响应对,依据PUF的种类不同而不同,本实施例中使用的PUF为SRAM-PUF。
3b)TRNG(真随机数生成器)利用机器产生的噪声例如热力学噪声、光电效应或键盘、鼠标操作、网络信号强度等产生真正的随机数。
3c)图2中的Register为存储TRNG生成的真随机数的寄存器。
3d)译码器则负责将RoCC接口cmd信号发来的指令解码后,发送控制信号到对应的硬件。
3e)rs1,rs2是主处理器中的Source Register1,Source Register2;rd是主处理器中的Dest Register。
4)执行程序代码,当程序初次被操作系统加载进内存,成为一个新进程时,如图3所示操作系统向协处理器发送指令一,使协处理器中的TRNG生成真随机数并保存在协处理器的随机数寄存器中。
5)当此进程被切出时,如图4所示,操作系统向协处理器发送指令二,从随机数寄存器中取出随机数存入PCB中。
6)当此进程被切入时,如图4所示,操作系统向协处理器发送指令三,从PCB中取出随机数存入随机数寄存器中。
7)当进程运行时,如图5所示,具体说明如下:
7a)当向ra或fp赋值时,计算ra和fp的地址存入Source Register1,ra和fp的值存入Source Register2,进程发送指令四,Source Register1作为激励传给协处理器中的PUF,PUF产生的响应与随机寄存器中的随机值异或后,再与Source Register2异或,结果传给Dest Register。再存入内存中。
7b)当使用ra或fp时,计算ra和fp的地址存入Source Register1,ra和fp已加密的值存入Source Register2,进程发送指令四,Source Register1作为激励传给协处理器中的PUF,PUF产生的响应与随机寄存器中的随机值异或后,再与Source Register2异或,结果传给Dest Register。程序正常使用Dest Register中的值。
8)指令一/二/三/四的具体格式如表1所示。
表1RISC-V自定义指令具体格式
本发明描述了一种基于指针加密机制和RISC-V协处理器的内存溢出防御方法,通过使用协处理器,使用硬件方式实现了指针加密这一溢出攻击防御机制,减少了对程序运行效率的影响,协处理其中PUF这一安全硬件元件的使用,增加了攻击者得到加密键值的难度,因此增加了安全性。
本实施例在RocketChip的C++cycle-accurate emulator上的使用JulietTestsuite和Wilander Testbed中的几种针对溢出攻击的测试程序进行测试,测试结果显示本发明的机制能够一定程度上阻止攻击者获取程序控制流,并且对于测试程序效率的影响在5%以内,未造成显著影响。
以上所述的具体实施方式,对本发明的技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于指针加密机制和RISC-V协处理器的内存溢出防御方法,其特征在于,包括以下步骤:
1)使用SoC生成器RocketChip的RoCC接口向RISC-V主处理器接入基于物理不可克隆函数PUF和真随机数生成器TRNG设计的协处理器;
2)分析程序源码,定位到向返回地址ra赋值的代码,在向ra赋值的代码前插入加密ra的RISC-V扩展指令即指令四,再定位到使用ra的代码,在使用ra的代码前插入解密ra的RISC-V扩展指令即指令四;
3)分析程序源码,定位到向函数指针fp赋值的代码,在向fp赋值的代码前插入加密fp的RISC-V扩展指令即指令四,定位到使用fp的代码,在使用fp的代码前插入解密fp的RISC-V扩展指令即指令四;
4)执行步骤2)和3)处理后的程序代码,当程序初次被操作系统加载进内存成为一个新进程时,操作系统向协处理器发送指令一,使协处理器中的TRNG生成真随机数并保存在协处理器的随机数寄存器中;
5)当所述新进程被切出时,操作系统向协处理器发送指令二,从随机数寄存器中取出随机数并存入印制电路板PCB中;
6)当所述新进程被切入时,操作系统向协处理器发送指令三,从PCB中取出随机数并存入随机数寄存器中;
7)在所述新进程运行的过程中,当代码向ra或fp赋值时,该新进程向协处理器发送指令四,向协处理器传入ra或fp,以及ra或fp在内存中的地址,地址作为PUF的激励,PUF产生响应;ra或fp与前述响应以及步骤4)中保存在随机数寄存器中的真随机数进行异或后,将密文传回主处理器,存入内存;
8)当所述新进程运行的过程中,在代码使用ra或fp时,进程向协处理器发送指令四,向协处理器传入已加密的ra或fp,以及ra或fp在内存中的地址,地址作为PUF的激励,PUF产生响应;已加密的ra或fp与前述响应以及步骤4)中保存在随机数寄存器中的真随机数进行异或后,将明文传回主处理器,正常使用。
2.如权利要求1所述的方法,其特征在于,步骤7)还包括以下步骤:
计算ra或fp在内存中的地址,存入源寄存器Source Register1中;
计算完成ra或fp的值后,令存有ra或fp值的寄存器作为源寄存器Source Register2;
发送指令四加密ra或fp;
将目的寄存器Dest Register中的值存入内存。
3.如权利要求1所述的方法,其特征在于,步骤8)还包括以下步骤:
计算ra或fp在内存中的地址,存入源寄存器Source Register1中;
将ra或fp从内存中取出后,令存有ra或fp值的寄存器作为源寄存器SourceRegister2;
发送指令四解密ra或fp;
正常使用目的寄存器Dest Register中的值。
4.如权利要求1所述的方法,其特征在于,控制协处理器的指令通过扩展RISC-V指令集架构的自定义指令实现,共四条新增自定义指令,分为指令一、指令二、指令三、指令四,指令一控制协处理器TRNG产生真随机数,指令二从协处理器取出真随机数,指令三向协处理器存入真随机数,指令四控制协处理器加解密返回地址和函数指针。
5.如权利要求4所述的方法,其特征在于,所述指令一的指令字段结构格式为:
Opcode字段,表示自定义指令空间的指令操作码。
6.如权利要求4所述的方法,其特征在于,所述指令二的指令字段结构格式为:
Opcode字段,表示自定义指令空间的指令操作码;
Dest Register字段,指定从协处理器的随机数寄存器取出随机值后存入哪一个主处理的寄存器中。
7.如权利要求4所述的方法,其特征在于,所述指令三的指令字段结构格式为:
Opcode字段,表示自定义指令空间的指令操作码;
Source Register1字段,指定哪一个主处理器寄存器传入随机值给协处理器。
8.如权利要求4所述的方法,其特征在于,所述指令四的指令字段结构格式为:
Opcode字段,表示自定义指令空间的指令操作码;
Dest Register字段,指定结果传入哪一个主处理器寄存器;
Source Register1字段,表示主处理器的寄存器,其中存储的值是返回地址或函数指针在内存中的地址;
Source Register2字段,表示主处理器的寄存器,其中存储的值是返回地址或函数指针的值。
9.如权利要求1所述的方法,其特征在于,PUF选用SRAM-PUF。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110907332.8A CN113673002B (zh) | 2021-08-09 | 2021-08-09 | 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110907332.8A CN113673002B (zh) | 2021-08-09 | 2021-08-09 | 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113673002A CN113673002A (zh) | 2021-11-19 |
CN113673002B true CN113673002B (zh) | 2023-05-16 |
Family
ID=78541851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110907332.8A Active CN113673002B (zh) | 2021-08-09 | 2021-08-09 | 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113673002B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114266082A (zh) * | 2021-12-16 | 2022-04-01 | 北京奕斯伟计算技术有限公司 | 防御控制流攻击的装置、方法、处理器、设备及存储介质 |
CN114978714B (zh) * | 2022-05-24 | 2023-11-10 | 中国科学院大学 | 基于risc-v的轻量级数据总线加密安全传输方法 |
CN117075969A (zh) * | 2023-08-28 | 2023-11-17 | 中国科学院软件研究所 | 面向risc-v处理器特权指令集一致性的形式验证方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608849A (zh) * | 2017-08-10 | 2018-01-19 | 中国科学院软件研究所 | 一种面向安卓app加密内容的快速识别方法及系统 |
CN110543766A (zh) * | 2019-08-09 | 2019-12-06 | 宁波大学 | 一种数据处理器抗控制流攻击方法 |
WO2020114937A1 (en) * | 2018-12-07 | 2020-06-11 | Koninklijke Philips N.V. | A computing device with increased resistance against address probing |
EP3667531A1 (en) * | 2018-12-11 | 2020-06-17 | Koninklijke Philips N.V. | A computing device with increased resistance against address probing |
CN115033411A (zh) * | 2022-06-07 | 2022-09-09 | 电子科技大学 | 一种用于微处理器缓冲区溢出的硬件检测与防御机制 |
CN115374440A (zh) * | 2022-08-24 | 2022-11-22 | 北京奕斯伟计算技术股份有限公司 | 安全防御方法和电子装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005531A1 (en) * | 2004-12-23 | 2010-01-07 | Kenneth Largman | Isolated multiplexed multi-dimensional processing in a virtual processing space having virus, spyware, and hacker protection features |
EP3234782A4 (en) * | 2014-12-16 | 2018-10-17 | Kyndi, Inc. | Method and apparatus for randomizing computer instruction sets, memory registers and pointers |
US10360373B2 (en) * | 2016-09-28 | 2019-07-23 | Intel Corporation | Return address encryption |
WO2020041473A1 (en) * | 2018-08-21 | 2020-02-27 | The Regents Of The University Of Michigan | Computer system with moving target defenses against vulnerability attacks |
US11784786B2 (en) * | 2020-08-14 | 2023-10-10 | Intel Corporation | Mitigating security vulnerabilities with memory allocation markers in cryptographic computing systems |
-
2021
- 2021-08-09 CN CN202110907332.8A patent/CN113673002B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608849A (zh) * | 2017-08-10 | 2018-01-19 | 中国科学院软件研究所 | 一种面向安卓app加密内容的快速识别方法及系统 |
WO2020114937A1 (en) * | 2018-12-07 | 2020-06-11 | Koninklijke Philips N.V. | A computing device with increased resistance against address probing |
EP3667531A1 (en) * | 2018-12-11 | 2020-06-17 | Koninklijke Philips N.V. | A computing device with increased resistance against address probing |
CN110543766A (zh) * | 2019-08-09 | 2019-12-06 | 宁波大学 | 一种数据处理器抗控制流攻击方法 |
CN115033411A (zh) * | 2022-06-07 | 2022-09-09 | 电子科技大学 | 一种用于微处理器缓冲区溢出的硬件检测与防御机制 |
CN115374440A (zh) * | 2022-08-24 | 2022-11-22 | 北京奕斯伟计算技术股份有限公司 | 安全防御方法和电子装置 |
Non-Patent Citations (4)
Title |
---|
A Lightweight AES Coprocessor Based on RISC-V Custom Instructions;Lihang Pan等;Hindawi Security and Communication Networks;第2021卷;1-13 * |
PEC-V:基于RISC-V协处理器的内存溢出防御机制;张雨昕等;计算机系统应用;第30卷(第11期);11-19 * |
二进制代码级函数指针攻击机理与检测研究;李昆仑;巩春景;李尚然;王琳;张德智;;小型微型计算机系统(第12期);2657-2661 * |
基于硬件的代码复用攻击防御机制综述;张军;侯锐;詹志远;张立新;陈明宇;孟丹;;高技术通讯(第04期);299-312 * |
Also Published As
Publication number | Publication date |
---|---|
CN113673002A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052115B (zh) | 取决于调用路径的认证的数据处理装置和方法 | |
CN113673002B (zh) | 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 | |
Kong et al. | Deconstructing new cache designs for thwarting software cache-based side channel attacks | |
EP3007093B1 (en) | System and method for reducing information leakage from memory | |
US9515820B2 (en) | Protection against side channels | |
US10678707B2 (en) | Data processing device and method for cryptographic processing of data | |
US20120260106A1 (en) | System and method for binary layout randomization | |
Kong et al. | Architecting against software cache-based side-channel attacks | |
US20070237324A1 (en) | Cryptographic processing | |
CN110347432B (zh) | 处理器、分支预测器及其数据处理方法、分支预测方法 | |
US20170046280A1 (en) | Data processing device and method for protecting a data processing device against attacks | |
CN110825672A (zh) | 用于联机加密处理的高性能自主硬件引擎 | |
Karimi et al. | Hardware/software obfuscation against timing side-channel attack on a GPU | |
Li et al. | A control flow integrity checking technique based on hardware support | |
Wang et al. | An efficient profiling-based side-channel attack on graphics processing units | |
Schilling et al. | SecWalk: Protecting page table walks against fault attacks | |
Hossain et al. | Hexon: Protecting firmware using hardware-assisted execution-level obfuscation | |
JP2020064461A (ja) | 変換装置、変換方法、変換プログラム及び難読プログラム | |
Liu et al. | Can randomized mapping secure instruction caches from side-channel attacks? | |
Seddigh et al. | Enhanced flush+ reload attack on AES | |
US11924320B2 (en) | Devices and methods for protecting cryptographic programs | |
Tiwari et al. | Gate-level information-flow tracking for secure architectures | |
Laurén et al. | Diversification of system calls in linux kernel | |
US20240080193A1 (en) | Counter integrity tree | |
Haller | Revisiting Microarchitectural Side-Channels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |