CN113672922B - 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置 - Google Patents

基于risc-v与o-cfi机制的代码重用攻击防御方法及装置 Download PDF

Info

Publication number
CN113672922B
CN113672922B CN202110942052.0A CN202110942052A CN113672922B CN 113672922 B CN113672922 B CN 113672922B CN 202110942052 A CN202110942052 A CN 202110942052A CN 113672922 B CN113672922 B CN 113672922B
Authority
CN
China
Prior art keywords
node
control flow
risc
program
boundary
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
Application number
CN202110942052.0A
Other languages
English (en)
Other versions
CN113672922A (zh
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 CN202110942052.0A priority Critical patent/CN113672922B/zh
Publication of CN113672922A publication Critical patent/CN113672922A/zh
Priority to PCT/CN2021/135256 priority patent/WO2023019807A1/zh
Priority to US18/275,330 priority patent/US20240095360A1/en
Priority to GB2309473.3A priority patent/GB2617719A/en
Application granted granted Critical
Publication of CN113672922B publication Critical patent/CN113672922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Devices For Executing Special Programs (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于RISC‑V与O‑CFI机制的代码重用攻击防御方法及装置,包括:根据基本块顺序随机化的程序源代码,构造控制流图;基于控制流图,获取控制流转移分支的边界范围;执行程序源代码,获取每一控制流将转移到的目标节点,并结合所述边界范围对各目标节点进行分析,以防御异常控制流。本发明可以依据程序控制流自身特征,在RISC‑V安全硬件的辅助之下,对非法控制流转移进行识别,有效应对代码重用攻击,从而增强RISC‑V系统的安全防御能力。

Description

基于RISC-V与O-CFI机制的代码重用攻击防御方法及装置
技术领域
本发明属于计算机技术领域,尤其涉及一种基于RISC-V与O-CFI机制的代码重用攻击防御方法及装置。
背景技术
计算机系统在现代社会中正在发挥着越来越重要的作用,它支撑和推动着各行各业的数字化、信息化进程,使经济、文化、教育、医疗等各个领域超越了传统手工形式,取得跨越式的发展。然而,对计算机系统的攻击也同样层出不穷,时刻威胁着计算机系统的安全性和稳定性。如何保护计算机系统免受恶意攻击的侵害,保证计算机程序运行的正确性和执行结果的可信性,是学术界和工业界需要解决的一大问题。代码重用攻击是近年来出现的一类针对系统内存和程序执行的攻击方式。攻击者可以利用内存相关漏洞,改变内存中已存在的程序代码的执行顺序,从而达到其攻击目的。具体地,代码重用攻击根据所利用的代码的不同,可以进一步划分为返回lib攻击(Return-to-Libc)、ROP攻击(ReturnOriented Programming,面向返回编程)、JOP攻击(Jump Oriented Programming,面向跳转编程)等多种形式。攻击者可以由此出发,执行内存中的任意代码,破坏程序的正常执行过程,对计算机系统的安全造成相当程度的威胁。
为了阻止代码重用攻击对程序执行过程的破坏,研究人员提出了许多防御的方法。控制流完整性(Control Flow Integrity,CFI)便是应对此类攻击的基本方法之一,通过限制程序的控制流向未授权的位置的转移过程,保证控制流只能在可信范围之内转移。在实践中,通常会根据安全需求和应用场景的不同,对CFI进行相应地补充和完善,因此形成了多种不同的更为具体的CFI机制。O-CFI(Opaque CFI,不透明CFI)是Vishwath Mohan等人在2015年提出的一种新型CFI机制,通过引入一种控制流检查的方式,来向攻击者隐藏程序控制流转移的过程,增大攻击者劫持控制流的难度。但是,Vishwath Mohan等人仅在x86环境中为该机制设计了一个原型系统,利用了英特尔x86/x64所特有的内存保护扩展(memory-protection extensions,MPX)实现,难以直接迁移和推广至其它系统架构;在此之后,也没有基于O-CFI机制的更新的实用性成果出现。
本发明为了解决O-CFI机制在更普遍的计算机系统工作环境中落地困难的问题,提出了基于RISC-V扩展指令集的实现方案。本发明可以依据程序控制流自身特征,在RISC-V安全硬件的辅助之下,对非法控制流转移进行识别,有效应对代码重用攻击,从而增强RISC-V系统的安全防御能力。
发明内容
本发明的目的在于提供一种基于RISC-V与O-CFI机制的代码重用攻击防御方法及装置。该方法通过RISC-V扩展指令集的形式,实现了O-CFI机制对控制流的分析和管理,模糊控制流转移过程。该方法可以有效增强系统对于代码重用攻击的防御能力,提升RISC-V系统的安全性。
为实现上述目的,本发明采用如下技术方案:
一种基于RISC-V与O-CFI机制的代码重用攻击防御方法,其步骤包括:
1)根据基本块顺序随机化的程序源代码,构造控制流图;
2)基于控制流图,获取控制流转移分支的边界范围;
3)执行程序源代码,获取每一控制流将转移到的目标节点,并结合所述边界范围对各目标节点进行分析,以防御异常控制流。
进一步地,对程序源代码进行基本块顺序随机化的方法包括:对编译器定向改造或基于ASLR技术在定制的RISC-V安全硬件中实现。
进一步地,通过以下步骤构造控制流图:
1)对程序源代码生成抽象语法树,其中抽象语法树中的每个节点表示一条语句或一个语句块,各节点被赋予trans属性,trans属性的属性值分别对应于该节点是可引起控制流转移的节点或一般节点;
2)根据抽象语法树中的所有节点形成节点集合V;
3)利用任意两个节点之间的控制流通路,得到有向边集合E;
4)在抽象语法树中找出程序的入口节点nentry与程序的出口节点nexit;
5)构造控制流图G=(V,E,nentry,nexit)。
进一步地,通过以下步骤获取控制流转移分支的边界范围:
1)在节点集合V中,取其中一个未被取到的节点Vi
2)若该节点Vi的属性值对应于可引起控制流转移的节点,则转到步骤3);若该节点Vi的属性值对应于一般节点,则转到步骤1);
3)在节点Vi之前插入一条验证控制流转移分支边界的RISC-V扩展指令;
4)基于控制流图及所述RISC-V扩展指令,获取从节点Vi出发且具有直接控制流通路的转移目标节点,得到待转移目标地址集合Ti
5)对待转移目标地址集合Ti中各节点对应的内存地址进行比较,获取最低地址的节点Vlow与位于最高地址的节点Vhigh
6)依据节点Vlow与节点Vhigh,得到节点Vi相应的控制流转移分支的边界范围;
7)重复步骤1)-6),直到取完所有节点Vi,从而获取控制流转移分支的边界范围。
进一步地,所述验证控制流转移分支边界的RISC-V扩展指令,该定制的指令格式包括:
1)Opcode字段,表示自定义编码空间中的指令操作码编码;
2)Func字段,表示当前控制流转移的类型;
3)BranchID字段,表示当前控制流转移的分支;
4)Target字段,表示当前控制流将转移至的目标节点;
5)Res字段,表示存放指令执行结果的寄存器。
进一步地,所述当前控制流转移的类型包括:调用、跳转或返回。
进一步地,通过以下步骤防御异常控制流:
1)计算控制流转移节点Vtrans相应的边界范围Boundary[Vtrans];
2)若边界范围Boundary[Vtrans]不存在,则抛出异常,程序终止;否则,转到步骤3);
3)根据边界范围Boundary[Vtrans],获取最低地址节点Vlow的相应内存地址Amin与最高地址节点Vhigh的相应内存地址Amax
4)获取当前控制流将转移到的目标节点Vt,并得到对应的内存地址At
5)若Amin≤At≤Amax,则当前控制流正常;否则,抛出异常,程序终止。
一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上所述方法。
一种电子装置,包括存储器和处理器,其中存储器存储执行以上所述方法的程序。
本发明取得的技术效果是:
1、通过对控制流的分析,确定控制流转移的合法的目标地址范围,从而实现对非法控制流转移的识别与限制,同时向攻击者隐藏控制流转移的过程,有效应对代码重用攻击,增强系统的安全防御能力。
2、提出了一种利用RISC-V扩展指令集实现O-CFI机制的方法,根据程序控制流自身特征,在RISC-V安全硬件的辅助之下,实现了O-CFI机制对控制流的分析和管理,扩大了O-CFI机制的系统架构适用范围。
3、基于RISC-V扩展指令集的O-CFI机制实现方法体现了硬件在系统安全防御中的作用,通过将硬件纳入防御体系,实现防御的软硬协同,能够更有效地保障系统安全。
附图说明
图1是RISC-V系统中基于O-CFI机制的代码重用攻击防御方法的流程图。
图2是构造程序控制流图的流程图。
图3是构造控制流转移节点分支边界范围的流程图。
图4是验证分支边界范围的流程图。
图5是用于验证控制流转移分支边界的RISC-V扩展指令的指令格式设计示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明做进一步详细说明。
本实施例基于RISC-V与O-CFI机制的代码重用攻击防御方法,其中总体流程如图1所示,主要包括以下步骤:
1)程序基本块顺序随机化。程序的基本块是程序代码中的一组顺序执行的语句序列,每个基本块只有一个入口和一个出口。基本块顺序的随机化,有助于抵抗攻击者对于系统和程序实现的了解,增大攻击者定位到其攻击目标的难度。
该步骤可利用已有技术(如,ASLR等)基于RISC-V安全硬件实现;或者对编译器进行相应改造,使程序源代码在编译优化过程中完成基本块随机化过程。
2)根据程序源代码构造控制流图。控制流图(Control Flow Graph,CFG)是一个描述程序代码执行次序的有向图。假设控制流图的结构G=(V,E,nentry,nexit)。其中,V是节点的集合,每个节点对应程序中的一条语句或一个语句块;E是有向边的集合,每条有向边对应于两个节点之间的一条可能执行的控制流通路;nentry和nexit分别对应程序的入口节点和出口节点。其流程如图2所示,具体说明如下:
2a)对程序源代码生成抽象语法树AST。抽象语法树AST的每个节点各表示一条语句或一个语句块。为每个节点赋予trans属性,其属性值对应于对该节点是否为可引起控制流转移的节点的判断,取值范围{true,false},分别表示可引起控制流转移的节点和一般节点。转到2b)。
2b)根据AST中的所有节点形成节点集合V,转到2c)。
2c)根据AST判断任意两个节点之间是否存在控制流通路,并将存在的所有控制流通路记录为有向边集合E。转到2d)。
2d)根据AST找出程序的入口节点nentry和出口节点nexit,转到2e)。
2e)将上述步骤找出的节点集合V、有向边集合E、入口节点nentry和出口节点nexit进行组合,形成控制流图G,使G=(V,E,nentry,nexit)。
3)控制流转移分支分析,其流程如图3所示;用于验证分支边界的RISC-V扩展指令的指令格式如图5所示。具体说明如下:
3a)根据控制流图G,在其节点集合V中,取其中一个未被取到的节点Vi。转到3b)。
3b)判断节点Vi的trans属性值。若其为true,说明Vi为可引起控制流转移的节点,转到3c);若其为false,说明Vi为一般节点,转到3g)。
3c)在节点Vi之前插入一条分支边界验证指令,转到3d)。
3d)从节点Vi出发,按照控制流图G,找出所有与之具有直接控制流通路的转移目标节点,记录为目标节点集合Ti。转到3d)。
3e)遍历节点集合Ti,对各节点对应的内存地址进行比较,找出其中位于最低地址的节点Vlow和位于最高地址的节点Vhigh,转到3e)。
3f)将节点Vlow和Vhigh对应的内存地址记录控制流转移节点Vi的边界范围,即Boundary[Vi]=(Addr(Vlow),Addr(Vhigh))。
3g)若节点集合C中存在尚未被取到的节点,转到3a)继续处理余下节点。
其中,所述验证控制流转移分支边界的RISC-V扩展指令,该定制的指令格式包括:
Opcode字段,表示自定义编码空间中的指令操作码编码;
Func字段,表示当前控制流转移的类型,包括调用(call)、跳转(jmp)、返回(ret)三种;
BranchID字段,表示当前控制流转移的分支;
Target字段,表示当前控制流将转移至的目标节点;
Res字段,表示存放指令执行结果的寄存器。
4)执行代码,在控制流转移时对分支边界进行验证。其流程如图4所示,具体说明如下:
4a)根据当前控制流转移节点Vtrans得到其边界范围Boundary[Vtrans]。转到4b)。
4b)若Boundary[Vtrans]不存在,抛出异常,程序终止;若存在,转到4c)。
4c)根据边界范围得到可转移至的最低内存地址Amin和最高内存地址Amax,即Amin=Boundary[Vtrans][0],Amax=Boundary[Vtrans][1]。转到4d)。
4d)取当前控制流将转移到的目标节点Vt,得到其对应的内存地址At,即At=Addr(Vt),转到4e)。
4e)判断At是否落于Vtrans的边界范围之内,即,判断Amin≤At≤Amax是否成立。若成立,转到4f);若不成立,认为控制流已被窜篡改,抛出异常,程序终止。
4f)控制流正常转移至目标节点Vt
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (5)

1.一种基于RISC-V与O-CFI机制的代码重用攻击防御方法,其步骤包括:
1)根据基本块顺序随机化的程序源代码,通过以下步骤构造控制流图:
1.1)对程序源代码生成抽象语法树,其中抽象语法树中的每个节点表示一条语句或一个语句块,各节点被赋予trans属性,trans属性的属性值分别对应于该节点是可引起控制流转移的节点或一般节点;
1.2)根据抽象语法树中的所有节点形成节点集合V;
1.3)利用任意两个节点之间的控制流通路,得到有向边集合E;
1.4)在抽象语法树中找出程序的入口节点nentry与程序的出口节点nexit;
1.5)构造控制流图G=(V,E,nentry,nexit);
2)基于控制流图,通过以下步骤获取控制流转移分支的边界范围:
2.1)在节点集合V中,取其中一个未被取到的节点Vi
2.2)若该节点Vi的属性值对应于可引起控制流转移的节点,则转到步骤2.3);若该节点Vi的属性值对应于一般节点,则转到步骤2.1);
2.3)在节点Vi之前插入一条验证控制流转移分支边界的RISC-V扩展指令,其中验证控制流转移分支边界的RISC-V扩展指令的指令格式包括:
Opcode字段,表示自定义编码空间中的指令操作码编码;
Func字段,表示当前控制流转移的类型,所述类型包括:调用、跳转或返回;
BranchID字段,表示当前控制流转移的分支;
Target字段,表示当前控制流将转移至的目标节点;
Res字段,表示存放指令执行结果的寄存器
2.4)基于控制流图及所述RISC-V扩展指令,获取从节点Vi出发且具有直接控制流通路的转移目标节点,得到待转移目标地址集合Ti
2.5)对待转移目标地址集合Ti中各节点对应的内存地址进行比较,获取最低地址的节点Vlow与位于最高地址的节点Vhigh
2.6)依据节点Vlow与节点Vhigh,得到节点Vi相应的控制流转移分支的边界范围;
2.7)重复步骤2.1)-2.6),直到取完所有节点Vi,从而获取控制流转移分支的边界范围;
3)执行程序源代码,获取每一控制流将转移到的目标节点,并结合所述边界范围对各目标节点进行分析,以防御异常控制流。
2.如权利要求1所述的方法,其特征在于,对程序源代码进行基本块顺序随机化的方法包括:对编译器定向改造或基于ASLR技术在定制的RISC-V安全硬件中实现。
3.如权利要求1所述的方法,其特征在于,通过以下步骤防御异常控制流:
1)计算控制流转移节点Vtrans相应的边界范围Boundary[Vtrans];
2)若边界范围Boundary[Vtrans]不存在,则抛出异常,程序终止;否则,转到步骤3);
3)根据边界范围Boundary[Vtrans],获取最低地址节点Vlow的相应内存地址Amin与最高地址节点Vhigh的相应内存地址Amax
4)获取当前控制流将转移到的目标节点Vt,并得到对应的内存地址At
5)若Amin≤At≤Amax,则当前控制流正常;否则,抛出异常,程序终止。
4.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如权利要求1-3中任一所述方法。
5.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如权利要求1-3中任一所述方法。
CN202110942052.0A 2021-08-17 2021-08-17 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置 Active CN113672922B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110942052.0A CN113672922B (zh) 2021-08-17 2021-08-17 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置
PCT/CN2021/135256 WO2023019807A1 (zh) 2021-08-17 2021-12-03 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置
US18/275,330 US20240095360A1 (en) 2021-08-17 2021-12-03 Risc-v and o-cfi mechanism-based defense method and apparatus for code reuse attacks
GB2309473.3A GB2617719A (en) 2021-08-17 2021-12-03 RISC-V mechanism and O-CFI mechanism-based defense method and apparatus for code reuse attacks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110942052.0A CN113672922B (zh) 2021-08-17 2021-08-17 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置

Publications (2)

Publication Number Publication Date
CN113672922A CN113672922A (zh) 2021-11-19
CN113672922B true CN113672922B (zh) 2022-03-25

Family

ID=78543324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110942052.0A Active CN113672922B (zh) 2021-08-17 2021-08-17 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置

Country Status (4)

Country Link
US (1) US20240095360A1 (zh)
CN (1) CN113672922B (zh)
GB (1) GB2617719A (zh)
WO (1) WO2023019807A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672922B (zh) * 2021-08-17 2022-03-25 中国科学院软件研究所 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653905A (zh) * 2015-12-28 2016-06-08 西北大学 一种基于api安全属性隐藏与攻击威胁监控的软件保护方法
CN108090346A (zh) * 2017-12-04 2018-05-29 华中科技大学 一种基于数据流监控的代码复用攻击防御方法及系统
WO2018113642A1 (zh) * 2016-12-20 2018-06-28 西安电子科技大学 一种面向远程计算的控制流隐藏方法及系统
CN111538962A (zh) * 2020-03-18 2020-08-14 西安电子科技大学 程序控制流混淆方法、系统、存储介质、云服务器及应用

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613907B2 (en) * 2006-08-11 2009-11-03 Atmel Corporation Embedded software camouflage against code reverse engineering
US10628589B2 (en) * 2016-01-22 2020-04-21 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for preventing code reuse attacks
US11074339B2 (en) * 2017-06-27 2021-07-27 RAM Laboratories, Inc. Software protection through code and control flow data hiding and obfuscation
CN109558726B (zh) * 2018-09-29 2022-02-11 四川大学 一种基于动态分析的控制流劫持攻击检测方法与系统
CN111030991B (zh) * 2019-11-06 2022-02-11 温州大学 一种用于数据处理器的防御控制流攻击方法
CN112966258B (zh) * 2021-03-22 2022-12-30 西安电子科技大学 控制流完整性保护方法、系统、装置及可读存储介质
CN113672922B (zh) * 2021-08-17 2022-03-25 中国科学院软件研究所 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653905A (zh) * 2015-12-28 2016-06-08 西北大学 一种基于api安全属性隐藏与攻击威胁监控的软件保护方法
WO2018113642A1 (zh) * 2016-12-20 2018-06-28 西安电子科技大学 一种面向远程计算的控制流隐藏方法及系统
CN108090346A (zh) * 2017-12-04 2018-05-29 华中科技大学 一种基于数据流监控的代码复用攻击防御方法及系统
CN111538962A (zh) * 2020-03-18 2020-08-14 西安电子科技大学 程序控制流混淆方法、系统、存储介质、云服务器及应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于代码防泄漏的代码复用攻击防御技术;王烨等;《计算机研究与发展》;20161015(第10期);全文 *

Also Published As

Publication number Publication date
WO2023019807A1 (zh) 2023-02-23
US20240095360A1 (en) 2024-03-21
CN113672922A (zh) 2021-11-19
GB202309473D0 (en) 2023-08-09
GB2617719A (en) 2023-10-18

Similar Documents

Publication Publication Date Title
Bao et al. {BYTEWEIGHT}: Learning to recognize functions in binary code
Zhang et al. VTrust: Regaining Trust on Virtual Calls.
US8117660B2 (en) Secure control flows by monitoring control transfers
Ji et al. The coming era of alphahacking?: A survey of automatic software vulnerability detection, exploitation and patching techniques
CN109074447A (zh) 用于元数据处理的技术
CN105103158A (zh) 剖析代码执行
CN102867144B (zh) 一种用于检测和清除计算机病毒的方法和装置
CN112749389B (zh) 一种检测智能合约破坏敏感数据漏洞的检测方法及装置
JP5455914B2 (ja) 耐タンパ技術
US11093605B2 (en) Monitoring real-time processor instruction stream execution
CN113672922B (zh) 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置
Feng et al. Fastcfi: Real-time control-flow integrity using fpga without code instrumentation
Ruan et al. Survey of return‐oriented programming defense mechanisms
Gao et al. Discrete adversarial attack to models of code
CN105793864A (zh) 检测恶意多媒体文件的系统和方法
Wang et al. Tunter: assessing exploitability of vulnerabilities with taint-guided exploitable states exploration
Park et al. Microarchitectural protection against stack-based buffer overflow attacks
Yao et al. An improved vulnerability detection system of smart contracts based on symbolic execution
CN108021792B (zh) 镜像软件的生成方法、装置及相应终端
Riley A framework for prototyping and testing data-only rootkit attacks
CN114647845A (zh) 一种恶意样本延时代码的检测识别方法及装置
Wang et al. A survey of return-oriented programming attack, defense and its benign use
CN114510723A (zh) 一种智能合约权限管理漏洞检测方法及装置
CN113536297B (zh) 基于RISC-V与Canary机制的缓冲区溢出攻击防御方法及装置
WO2019237863A1 (zh) 一种非立即数跳转的保护方法及对应计算装置

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