CN113761518A - 基于risc-v与hw-cfi机制的控制流劫持攻击防御方法及装置 - Google Patents

基于risc-v与hw-cfi机制的控制流劫持攻击防御方法及装置 Download PDF

Info

Publication number
CN113761518A
CN113761518A CN202110941602.7A CN202110941602A CN113761518A CN 113761518 A CN113761518 A CN 113761518A CN 202110941602 A CN202110941602 A CN 202110941602A CN 113761518 A CN113761518 A CN 113761518A
Authority
CN
China
Prior art keywords
instruction
control flow
node
risc
program
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.)
Pending
Application number
CN202110941602.7A
Other languages
English (en)
Inventor
刘畅
赵琛
武延军
芮志清
吴敬征
武斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202110941602.7A priority Critical patent/CN113761518A/zh
Publication of CN113761518A publication Critical patent/CN113761518A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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
    • G06F21/54Monitoring 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 by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种基于RISC‑V与HW‑CFI机制的控制流劫持攻击防御方法及装置,包括:根据程序源代码构造控制流图;分析控制流图,识别程序控制流转移节点的位置与类别,生成控制流转移节点表;基于控制流转移节点表,在控制流转移处插入对应的着陆点指令;利用着陆点指令,限制程序源代码执行中的控制流转移过程。本发明可以将RISC‑V安全硬件纳入CFI防御体系,以软硬协同的方式实现控制流完整性机制,有效增强对控制流劫持攻击的防御能力,提升RISC‑V系统的安全性,有效地解决HW‑CFI机制在现实计算机系统环境中的落地困难问题。

Description

基于RISC-V与HW-CFI机制的控制流劫持攻击防御方法及装置
技术领域
本发明属于计算机技术领域,尤其涉及一种基于RISC-V与HW-CFI机制的控制流劫持攻击防御方法及装置。
背景技术
计算机系统的应用已深入当代社会的经济、政治、文化、军事、教育、医疗等各个领域,扮演着至关重要的角色。其作用的发挥,依赖于计算机程序的正确执行。计算机程序执行各代码的次序被称作程序的控制流,它反映了计算机程序对于执行过程的规划。如何保护程序控制流免受恶意攻击的侵害,保证其可信性和正确性,是业界需要长期面对的一类系统安全问题。控制流劫持是攻击程序控制流的一种主要方式,它通过篡改控制流的转移过程(调用、跳转、返回等),将控制流引向计划外的代码区域,从而使计算机程序改为执行攻击者指定的恶意代码,实现对计算机系统的破坏。
控制流完整性(Control Flow Integrity,CFI)是应对控制流劫持攻击的基本方法之一,它会限制控制流被转移到未授权的位置,保证控制流只在既定的可信范围内转移。CFI只是一种抽象化的防御策略构想;而在实践中,常根据需要将其具体化,以适应不同的安全需求和应用场景。因此形成了多种不同的CFI机制,如CCFI、BinCFI、CCFIR、HW-CFI、PICFI等。这其中,HW-CFI(Hardware-CFI,硬件CFI)是美国国家安全局信息保障部在2015年提出的一项关于增强CFI的安全建议,它通过在硬件中实现控制流图(CFG,Control FlowGraph)和一个影子栈,来辅助CFI的判断。然而,考虑到架构兼容性等实际问题,该方案至今未能在任何现有系统架构中实现,仅仅停留在概念设计阶段,并未解决HW-CFI机制在现实计算机系统环境中的落地困难问题。
发明内容
本发明的目的在于提供一种基于RISC-V与HW-CFI机制的控制流劫持攻击防御方法及装置。该方法通过RISC-V指令集实现对各控制流转移节点的监督管理,将RISC-V安全硬件纳入CFI防御体系,以软硬协同的方式实现控制流完整性机制,可以有效增强系统对于控制流劫持攻击的防御能力,提升RISC-V系统的安全性。
为实现上述目的,本发明采用如下技术方案:
一种基于RISC-V与HW-CFI机制的控制流劫持攻击防御方法,其步骤包括:
1)根据程序源代码构造控制流图;
2)分析控制流图,识别程序控制流转移节点的位置与类别,生成控制流转移节点表;
3)基于控制流转移节点表,在控制流转移处插入对应的着陆点指令;
4)利用着陆点指令,限制程序源代码执行中的控制流转移过程。
进一步地,通过以下步骤构造控制流图:
1)对程序源代码生成抽象语法树,其中抽象语法树中每一节点表示一条语句或一个语句块,各节点被赋予tag属性,trans属性的属性值分别对应于调用节点、返回节点、跳转节点或其它节点;
2)根据抽象语法树中的所有节点形成节点集合V;
3)利用任意两个节点之间的控制流通路,得到有向边集合E;
4)在抽象语法树中找出程序的入口节点nentry与程序的出口节点nexit;
5)构造控制流图G=(V,E,nentry,nexit)。
进一步地,通过以下生成控制流转移节点表:
1)在节点集合V中,利用tag属性为调用节点的节点,生成调用节点集合C;
2)在节点集合V中,利用tag属性为返回节点的节点,生成返回节点集合R;
3)在节点集合V中,利用tag属性为跳转节点的节点,生成跳转节点集合J;
4)生成控制流转移节点表T=(C,R,J)。
进一步地,着陆点指令包括:用于调用场景的RISC-V扩展指令、用于返回场景的RISC-V扩展指令或用于跳转场景的RISC-V扩展指令。
进一步地,调用场景的RISC-V扩展指令的指令格式包括:
1)Opcode字段,表示自定义编码空间中的指令操作码编码;
2)State字段,表示当前记录的分支状态;
3)RetAddr字段,表示当前记录的返回地址;
4)Res字段,表示存放指令执行结果的寄存器。
进一步地,用于返回场景的RISC-V扩展指令的指令格式包括:
1)Opcode字段,表示自定义编码空间中的指令操作码编码;
2)State字段,表示当前记录的分支状态;
3)RetAddr字段,表示当前记录的返回地址;
4)Res字段,表示存放指令执行结果的寄存器。
进一步地,用于跳转场景的RISC-V扩展指令的指令格式包括:
1)Opcode字段,表示自定义编码空间中的指令操作码编码;
2)State字段,表示当前记录的分支状态;
3)Res字段,表示存放指令执行结果的寄存器
进一步地,通过以下步骤限制调用节点引起的控制流转移:
1)记录与当前调用节点对应的返回地址;
2)将当前分支状态记录为调用;
3)跳转到目标节点之前的第一个出现的着陆点指令处:若该着陆点指令为用于调用场景的RISC-V扩展指令,转到步骤4);否则,转到步骤5);
4)判断影子栈是否存在:若影子栈不存在,抛出异常,程序终止;若存在,转到步骤5);
5)将返回地址记录到影子栈中;
6)清除当前分支状态;
7)正常执行下一条的第一指令,其中该第一指令为当前调用节点欲跳转到的目标节点。
8)继续执行第一指令后的第二指令:若该第二指令为用于调用场景的RISC-V扩展指令,则转到步骤4);若该第二指令为用于返回场景的RISC-V扩展指令或用于跳转场景的RISC-V扩展指令,则转到步骤8);若该第二指令不为着陆点指令,则抛出异常,程序终止。
进一步地,通过以下步骤限制对于返回节点引起的控制流转移:
1)将当前分支状态记录为返回;
2)获取返回地址,并跳转到该返回地址所对应的目标节点之前第一个出现的着陆点指令处:若该着陆点指令为用于返回场景的RISC-V扩展指令,则转到步骤3);否则,转到步骤7);
3)判断影子栈是否存在:若影子栈不存在,抛出异常,程序终止;若存在,转到步骤4);
4)取影子栈中记录的返回地址,并将其与步骤2)中的返回地址进行比较:若二者相同,转到步骤5);若不同,则抛出异常,程序终止;
5)清除当前分支状态;
6)正常执行下一条的第三指令,其中该第三指令为当前返回节点欲跳转到的目标节点;
7)继续执行第三指令后的第四指令:若该第四指令为用于返回场景的RISC-V扩展指令,则转到步骤3);若该指令为用于调用场景的RISC-V扩展指令或用于跳转场景的RISC-V扩展指令,则转到步骤7);若该指令不为着陆点指令,则抛出异常,程序终止。
进一步地,通过以下步骤限制对于跳转节点引起的控制流转移:
1)将当前分支状态记录为跳转;
2)跳转到目标节点之前第一个出现的着陆点指令处:若该着陆点指令为用于跳转场景的RISC-V扩展指令,则转到步骤3);否则,转到步骤6);
3)清除当前分支状态;
4)正常执行下一条的第五指令,其中该第五指令为当前跳转节点欲跳转到的目标节点;
5)继续执行第五指令后的第六指令:若该第六指令为用于跳转场景的RISC-V扩展指令,则转到步骤4);若该指令为:用于调用场景的RISC-V扩展指令或用于返回场景的RISC-V扩展指令,则转到步骤5);若该指令不为着陆点指令,抛出异常,程序终止。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上所述方法。
一种电子装置,包括存储器和处理器,其中存储器存储执行以上所述方法的程序。
本发明取得的技术效果是:
1、通过对不同控制流转移节点的分类管理,严格控制控制流转移过程,保障控制流安全,提升系统对控制流劫持攻击的防御能力。
2、给出了一种HW-CFI机制的实现与应用方案,在RISC-V系统中描述了对于该机制的实现过程,以解决HW-CFI机制在现实计算机系统环境中的落地困难问题。
3、通过HW-CFI机制与RISC-V扩展指令集相结合,充分发掘了硬件在控制流安全方面的潜力,将系统安全防御范围向下拓展到了硬件层面。
附图说明
图1是RISC-V系统中基于HW-CFI机制的控制流劫持攻击防御方法的流程图。
图2是构造程序控制流图的流程图。
图3是构造控制流转移节点表的流程图。
图4是向程序代码插入着陆点指令的流程图。
图5是用于调用场景的RISC-V扩展指令(CLP指令)的指令格式设计示意图。
图6是用于返回场景的RISC-V扩展指令(RLP指令)的指令格式设计示意图。
图7是用于跳转场景的RISC-V扩展指令(JLP指令)的指令格式设计示意图。
图8是限制由调用节点引起的控制流转移的流程图。
图9是限制由返回节点引起的控制流转移的流程图。
图10是限制由跳转节点引起的控制流转移的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明做进一步详细说明。
本实施例基于RISC-V与HW-CFI机制的控制流劫持攻击防御方法,其中总体流程如图1所示,主要包括以下步骤:
1)根据程序源代码构造控制流图。其流程如图2所示,具体说明如下:
1a)对程序源代码生成抽象语法树AST。抽象语法树AST的每个节点各表示一条语句或一个语句块。为每个节点赋予tag属性,其属性值对应于对该节点的类型判断,取值范围{t_call,t_return,t_jump,t_others},分别表示调用节点、返回节点、跳转节点、其它节点。转到1b)。
1b)根据AST中的所有节点形成节点集合V,转到1c)。
1c)根据AST判断任意两个节点之间是否存在控制流通路,并将存在的所有控制流通路记录为有向边集合E。转到1d)。
1d)根据AST找出程序的入口节点nentry和出口节点nexit,转到1e)。
1e)将上述步骤找出的节点集合V、有向边集合E、入口节点nentry和出口节点nexit进行组合,形成控制流图G,使G=(V,E,nentry,nexit)。
2)识别程序控制流转移节点的位置与类别,其流程如图3所示。具体说明如下:
2a)根据控制流图G,在其节点集合V中,找出所有tag属性为t_call的节点,形成调用节点集合C,转到2b)。
2b)根据控制流图G,在其节点集合V中,找出所有tag属性为t_return的节点,形成返回节点集合R,转到2c)。
2c)根据控制流图G,在其节点集合V中,找出所有tag属性为t_jump的节点,形成跳转节点集合J,转到2d)。
2d)将上述步骤得到的节点集合C、R、J进行组合,形成控制流转移节点表T,使T=(C,R,J)。
3)在控制流转移处插入对应的着陆点指令。其流程如图4所示;用于调用场景的RISC-V扩展指令(CLP指令)的指令格式如图5所示;用于返回场景的RISC-V扩展指令(RLP指令)的指令格式如图6所示;用于跳转场景的RISC-V扩展指令(JLP指令)的指令格式如图7所示。具体说明如下:
3a)根据控制流转移节点表T,在其节点集合C中,取其中一个未被取到的节点VC。转到3b)。
3b)在控制流图G中,从节点VC出发,根据有向边集合E,找出与VC存在控制流通路P的所有目标节点的集合F,使P:VC→F且F∈E。转到3c)。
3c)遍历目标节点集合F,在F中的每个目标节点之前插入一条CLP指令。转到3d)。
3d)若节点集合C中存在尚未被取到的节点,转到3a)继续处理余下节点;若所有节点均已取到,转到3e)。
3e)对于节点集合R和J,重复上述过程,插入相应的RLP指令和JLP指令。
4)执行代码,通过着陆点指令限制控制流转移过程。对于调用节点引起的控制流转移的限制,其流程如图8所示,具体说明如下:
4a)记录与当前调用节点对应的返回地址。转到4b)。
4b)将当前分支状态记录为“调用”。转到4c)
4c)跳转到目标节点之前的第一个出现的着陆点指令处。若该指令为CLP指令,转到4d),否则转到4g)。
4d)判断影子栈是否存在。若影子栈不存在,抛出异常,程序终止;若存在,转到4e)。
4e)将返回地址记录到影子栈中。转到4f)。
4f)清除当前分支状态。转到4h)。
4g)正常执行下一条指令,该指令即为当前调用节点欲跳转到的目标节点。
4h)继续执行下一条指令。若该指令为CLP指令,转到4d);若该指令为RLP指令或JLP指令,转到4h);若该指令不为着陆点指令,抛出异常,程序终止。
5)对于返回节点引起的控制流转移的限制,其流程如图9所示,具体说明如下:
5a)将当前分支状态记录为“返回”。转到5b)。
5b)取4a)中记录的返回地址,跳转到该地址所对应的目标节点之前第一个出现的着陆点指令处。若该指令为RLP指令,转到5c),否则转到5g)。
5c)判断影子栈是否存在。若影子栈不存在,抛出异常,程序终止;若存在,转到5d)。
5d)取影子栈中记录的返回地址,并将其与5b)中的返回地址进行比较。若二者相同,转到5e);若不同,抛出异常,程序终止。
5e)清除当前分支状态。转到5f)。
5f)正常执行下一条指令,该指令即为当前返回节点欲跳转到的目标节点。
5g)继续执行下一条指令。若该指令为RLP指令,转到5c);若该指令为CLP指令或JLP指令,转到5g);若该指令不为着陆点指令,抛出异常,程序终止。
6)对于跳转节点引起的控制流转移的限制,其流程如图10所示,具体说明如下:
6a)将当前分支状态记录为“跳转”。转到6b)。
6b)跳转到目标节点之前第一个出现的着陆点指令处。若该指令为JLP指令,转到6c),否则转到6e)。
6c)清除当前分支状态。转到6d)。
6d)正常执行下一条指令,该指令即为当前跳转节点欲跳转到的目标节点。
6e)继续执行下一条指令。若该指令为JLP指令,转到6b);若该指令为CLP指令或RLP指令,转到6e);若该指令不为着陆点指令,抛出异常,程序终止。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种基于RISC-V与HW-CFI机制的控制流劫持攻击防御方法,其步骤包括:
1)根据程序源代码构造控制流图;
2)分析控制流图,识别程序控制流转移节点的位置与类别,生成控制流转移节点表;
3)基于控制流转移节点表,在控制流转移处插入对应的着陆点指令;
4)利用着陆点指令,限制程序源代码执行中的控制流转移过程。
2.如权利要求1所述的方法,其特征在于,通过以下步骤构造控制流图:
1)对程序源代码生成抽象语法树,其中抽象语法树中每一节点表示一条语句或一个语句块,各节点被赋予tag属性,trans属性的属性值分别对应于调用节点、返回节点、跳转节点或其它节点;
2)根据抽象语法树中的所有节点形成节点集合V;
3)利用任意两个节点之间的控制流通路,得到有向边集合E;
4)在抽象语法树中找出程序的入口节点nentry与程序的出口节点nexit;
5)构造控制流图G=(V,E,nentry,nexit)。
3.如权利要求2所述的方法,其特征在于,通过以下生成控制流转移节点表:
1)在节点集合V中,利用tag属性为调用节点的节点,生成调用节点集合C;
2)在节点集合V中,利用tag属性为返回节点的节点,生成返回节点集合R;
3)在节点集合V中,利用tag属性为跳转节点的节点,生成跳转节点集合J;
4)生成控制流转移节点表T=(C,R,J)。
4.如权利要求1所述的方法,其特征在于,着陆点指令包括:用于调用场景的RISC-V扩展指令、用于返回场景的RISC-V扩展指令或用于跳转场景的RISC-V扩展指令。
5.如权利要求4所述的方法,其特征在于,
调用场景的RISC-V扩展指令的指令格式包括:
Opcode字段,表示自定义编码空间中的指令操作码编码;
State字段,表示当前记录的分支状态;
RetAddr字段,表示当前记录的返回地址;
Res字段,表示存放指令执行结果的寄存器;
用于返回场景的RISC-V扩展指令的指令格式包括:
Opcode字段,表示自定义编码空间中的指令操作码编码;
State字段,表示当前记录的分支状态;
RetAddr字段,表示当前记录的返回地址;
Res字段,表示存放指令执行结果的寄存器;
用于跳转场景的RISC-V扩展指令的指令格式包括:
Opcode字段,表示自定义编码空间中的指令操作码编码;
State字段,表示当前记录的分支状态;
Res字段,表示存放指令执行结果的寄存器。
6.如权利要求4所述的方法,其特征在于,通过以下步骤限制调用节点引起的控制流转移:
1)记录与当前调用节点对应的返回地址;
2)将当前分支状态记录为调用;
3)跳转到目标节点之前的第一个出现的着陆点指令处:若该着陆点指令为用于调用场景的RISC-V扩展指令,转到步骤4);否则,转到步骤5);
4)判断影子栈是否存在:若影子栈不存在,抛出异常,程序终止;若存在,转到步骤5);
5)将返回地址记录到影子栈中;
6)清除当前分支状态;
7)正常执行下一条的第一指令,其中该第一指令为当前调用节点欲跳转到的目标节点。
8)继续执行第一指令后的第二指令:若该第二指令为用于调用场景的RISC-V扩展指令,则转到步骤4);若该第二指令为用于返回场景的RISC-V扩展指令或用于跳转场景的RISC-V扩展指令,则转到步骤8);若该第二指令不为着陆点指令,则抛出异常,程序终止。
7.如权利要求4所述的方法,其特征在于,通过以下步骤限制对于返回节点引起的控制流转移:
1)将当前分支状态记录为返回;
2)获取返回地址,并跳转到该返回地址所对应的目标节点之前第一个出现的着陆点指令处:若该着陆点指令为用于返回场景的RISC-V扩展指令,则转到步骤3);否则,转到步骤7);
3)判断影子栈是否存在:若影子栈不存在,抛出异常,程序终止;若存在,转到步骤4);
4)取影子栈中记录的返回地址,并将其与步骤2)中的返回地址进行比较:若二者相同,转到步骤5);若不同,则抛出异常,程序终止;
5)清除当前分支状态;
6)正常执行下一条的第三指令,其中该第三指令为当前返回节点欲跳转到的目标节点;
7)继续执行第三指令后的第四指令:若该第四指令为用于返回场景的RISC-V扩展指令,则转到步骤3);若该指令为用于调用场景的RISC-V扩展指令或用于跳转场景的RISC-V扩展指令,则转到步骤7);若该指令不为着陆点指令,则抛出异常,程序终止。
8.如权利要求4所述的方法,其特征在于,通过以下步骤限制对于跳转节点引起的控制流转移:
1)将当前分支状态记录为跳转;
2)跳转到目标节点之前第一个出现的着陆点指令处:若该着陆点指令为用于跳转场景的RISC-V扩展指令,则转到步骤3);否则,转到步骤6);
3)清除当前分支状态;
4)正常执行下一条的第五指令,其中该第五指令为当前跳转节点欲跳转到的目标节点;
5)继续执行第五指令后的第六指令:若该第六指令为用于跳转场景的RISC-V扩展指令,则转到步骤4);若该指令为:用于调用场景的RISC-V扩展指令或用于返回场景的RISC-V扩展指令,则转到步骤5);若该指令不为着陆点指令,抛出异常,程序终止。
9.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如权利要求1-8中任一所述方法。
10.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如权利要求1-8中任一所述方法。
CN202110941602.7A 2021-08-17 2021-08-17 基于risc-v与hw-cfi机制的控制流劫持攻击防御方法及装置 Pending CN113761518A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110941602.7A CN113761518A (zh) 2021-08-17 2021-08-17 基于risc-v与hw-cfi机制的控制流劫持攻击防御方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110941602.7A CN113761518A (zh) 2021-08-17 2021-08-17 基于risc-v与hw-cfi机制的控制流劫持攻击防御方法及装置

Publications (1)

Publication Number Publication Date
CN113761518A true CN113761518A (zh) 2021-12-07

Family

ID=78789935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110941602.7A Pending CN113761518A (zh) 2021-08-17 2021-08-17 基于risc-v与hw-cfi机制的控制流劫持攻击防御方法及装置

Country Status (1)

Country Link
CN (1) CN113761518A (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110673929A (zh) * 2019-09-29 2020-01-10 北京智游网安科技有限公司 一种保护异常机制的方法、智能终端及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110673929A (zh) * 2019-09-29 2020-01-10 北京智游网安科技有限公司 一种保护异常机制的方法、智能终端及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ASMIT DE ET.AL.: "FIXER: Flow Integrity Extensions for Embedded RISC-V", 《2019 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE)》 *

Similar Documents

Publication Publication Date Title
US9256831B2 (en) Match engine for detection of multi-pattern rules
US20040205411A1 (en) Method of detecting malicious scripts using code insertion technique
CN111381879B (zh) 一种数据处理方法及装置
Basilico et al. Automated abstractions for patrolling security games
TW201935306A (zh) 用於安全初始化的策略連結及/或載入之系統和方法
CN109840419B (zh) 计算机装置及辨识其软件容器行为是否异常的方法
CN109829313B (zh) 一种基于代码复用编程防御sgx侧信道攻击的方法及装置
CN105808251A (zh) 一种基于虚函数表劫持绕过安全检测的方法与系统
CN112711760B (zh) 检测智能合约恶意消除重入影响漏洞的检测方法和装置
CN106682493B (zh) 一种防止进程被恶意结束的方法、装置及电子设备
CN112966094A (zh) 一种交易数据的处理方法、装置以及系统
Chida et al. On lookaheads in regular expressions with backreferences
CN105550014A (zh) 灵活高效的跨权限级与域的调用方法
WO2022252039A1 (en) Method and apparatus for adversarial attacking in deep reinforcement learning
CN108733990B (zh) 一种基于区块链的文件保护方法及终端设备
CN105793864A (zh) 检测恶意多媒体文件的系统和方法
CN113761518A (zh) 基于risc-v与hw-cfi机制的控制流劫持攻击防御方法及装置
CN117632529A (zh) 共享资源操作方法、装置、设备及存储介质
CN112070161B (zh) 一种网络攻击事件分类方法、装置、终端及存储介质
Ye et al. A reliable return address stack: Microarchitectural features to defeat stack smashing
US8707424B2 (en) Method for making secure execution of a computer programme, in particular in a smart card
CN113672922B (zh) 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置
CN112580052A (zh) 计算机安全防护方法、芯片、设备以及存储介质
CN105825086A (zh) 一种基于攻击树的rop防护方法
CN113536297B (zh) 基于RISC-V与Canary机制的缓冲区溢出攻击防御方法及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20211207

RJ01 Rejection of invention patent application after publication