CN113672922B - 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置 - Google Patents
基于risc-v与o-cfi机制的代码重用攻击防御方法及装置 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000007246 mechanism Effects 0.000 title claims abstract description 20
- 230000007123 defense Effects 0.000 title claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 38
- 230000002159 abnormal effect Effects 0.000 claims abstract description 5
- 238000004590 computer program Methods 0.000 claims description 7
- JLYXXMFPNIAWKQ-UHFFFAOYSA-N γ Benzene hexachloride Chemical compound ClC1C(Cl)C(Cl)C(Cl)C(Cl)C1Cl JLYXXMFPNIAWKQ-UHFFFAOYSA-N 0.000 claims description 5
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test 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机制的代码重用攻击防御方法及装置。
背景技术
计算机系统在现代社会中正在发挥着越来越重要的作用,它支撑和推动着各行各业的数字化、信息化进程,使经济、文化、教育、医疗等各个领域超越了传统手工形式,取得跨越式的发展。然而,对计算机系统的攻击也同样层出不穷,时刻威胁着计算机系统的安全性和稳定性。如何保护计算机系统免受恶意攻击的侵害,保证计算机程序运行的正确性和执行结果的可信性,是学术界和工业界需要解决的一大问题。代码重用攻击是近年来出现的一类针对系统内存和程序执行的攻击方式。攻击者可以利用内存相关漏洞,改变内存中已存在的程序代码的执行顺序,从而达到其攻击目的。具体地,代码重用攻击根据所利用的代码的不同,可以进一步划分为返回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中任一所述方法。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672922B (zh) * | 2021-08-17 | 2022-03-25 | 中国科学院软件研究所 | 基于risc-v与o-cfi机制的代码重用攻击防御方法及装置 |
Citations (4)
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)
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机制的代码重用攻击防御方法及装置 |
-
2021
- 2021-08-17 CN CN202110942052.0A patent/CN113672922B/zh active Active
- 2021-12-03 GB GB2309473.3A patent/GB2617719A/en active Pending
- 2021-12-03 WO PCT/CN2021/135256 patent/WO2023019807A1/zh active Application Filing
- 2021-12-03 US US18/275,330 patent/US20240095360A1/en active Pending
Patent Citations (4)
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)
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 |