CN110188540A - 一种基于控制状态跟踪的rop攻击检测方法 - Google Patents

一种基于控制状态跟踪的rop攻击检测方法 Download PDF

Info

Publication number
CN110188540A
CN110188540A CN201910309528.XA CN201910309528A CN110188540A CN 110188540 A CN110188540 A CN 110188540A CN 201910309528 A CN201910309528 A CN 201910309528A CN 110188540 A CN110188540 A CN 110188540A
Authority
CN
China
Prior art keywords
gadget
register
effective
label
controllable
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.)
Granted
Application number
CN201910309528.XA
Other languages
English (en)
Other versions
CN110188540B (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 CN201910309528.XA priority Critical patent/CN110188540B/zh
Publication of CN110188540A publication Critical patent/CN110188540A/zh
Application granted granted Critical
Publication of CN110188540B publication Critical patent/CN110188540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于控制状态跟踪的ROP攻击检测方法,对传统动态污点分析的方法进行了简化,仅以攻击者控制的寄存器为跟踪对象,步骤包括:为每个寄存器维护一个标记组<Tb,Tc>,该标记组<Tb,Tc>用来表示寄存器状态,其中Tb标记记录寄存器所来源的基地址寄存器,Tc标记记录寄存器是否可控;基于可控标记和操作类型,判断当前操作是否为有效操作,对有效操作进行累计,在指令片段gadget结尾处,根据累计的正向有效操作数判断当前gadget是否为有效gadget;对检测到的有效gadget进行累计,根据当前有效gadget数以及可控寄存器数是否超过阈值,来判断当前是否遭受了ROP攻击。

Description

一种基于控制状态跟踪的ROP攻击检测方法
技术领域
本发明涉及软件安全攻防领域,特别涉及ROP(Return Oriented Programming)攻击的检测方法,提出了一种基于控制状态的ROP攻击检测方法。
背景技术
自1988年的Morris蠕虫事件以来,针对内存漏洞的攻击技术一直受到学术界及工业界的广泛关注。ROP即返回导向编程技术,是一种针对内存漏洞的代码复用攻击,与早期的代码注入攻击不同,ROP攻击利用程序中已有的指令片段(称为gadget)执行攻击,能够绕开NX或DEP等代码注入攻击防御技术(Shacham H.The geometry of innocent flesh onthe bone:return-into-libc without function calls(on the x86).the 2007ACMConference on Computer and Communications Security(CCS),2007:552-561)。自2007年以来,该攻击技术由最初的×86平台迅速发展到了Atmel AVR、SPARC、ARM、Z80、PowerPC等各平台中,各种ROP攻击变种如JOP、COOP、Blind ROP等也不断被提出,其多样性,隐蔽性都逐步增加。
当前,基于特征的ROP攻击检测技术主要集中在ROP攻击的控制流特征分析上。例如Chen等人实现了DROP检测方法,该方法基于ROP攻击通常需要连续采用大量较短的以ret指令结尾的指令序列这一特征进行ROP攻击检测(Chen P.,Xiao H.,Shen X.,Yin X.,MaoB.,Xie L..Drop:detecting return-oriented programming malicious code.LectureNotes in Computer Science 5905,2009:163-177);Davi等人实现了ROPdefender检测工具,该工具基于gadget中call与ret指令并不成对出现这一特征进行检测(Davi L.,Sadeghi A.R.,Winandy M..ROPdefender:a detection tool to defend againstreturn-oriented programming attacks.ACM Symposium on Information,Computer andCommunications Security(AsiaCCS),2011:40-51);Si等人提出ROP-Hunt检测方法,该方法基于gadget比较短、分布较广以及ROP攻击需要利用系统调用这些特征进行检测(Si L.,Yu J.,Luo L.,Ma J.,Wu Q,Li S..ROP-Hunt:Detecting Return-Oriented ProgrammingAttacks in Applications.Security,Privacy,and Anonymity in Computation,Communication,and Storage(SpaCCS),2016:131-144)。然而,仅基于直观的控制流特征进行ROP攻击检测具有很大的局限性,容易被新型攻击变种如Call-Preceded ROP、JOP、COOP等绕过。
动态污点分析技术是一种传统的内存漏洞攻击防御技术,该技术也可以用于检测ROP攻击。动态污点分析技术通过动态跟踪敏感数据是否会流入关键区域(例如输入数据进入敏感区域如敏感系统调用)的方式来检测针对内存漏洞的攻击,如缓冲区溢出,格式化字符串等攻击(Suh G.E.,Lee J.W.,Zhang D.,Devadas S..Secure program execution viadynamic information flow tracking.Proc.the 11th International Conference onArchitectural Support for Programming Languages and Operating Systems(ASPLOS),2004:85-96)。然而该类方法通常面临着如何对内存数据进行标记的问题,为了解决该问题,基于硬件的实现方案通常会引入较大的硬件开销,而软件方案则会引入较大的存储开销。
发明内容
本发明的目的是提出一种基于控制状态跟踪的ROP攻击检测方法,基于动态污点分析方法,结合ROP攻击的控制流和数据流特性,对攻击者控制状态进行跟踪,通过寄存器标记来表征攻击者可以利用的内存数据,进而避免了内存数据标记问题。
为实现上述目的,本发明采用的技术方案如下:
一种基于控制状态跟踪的ROP攻击检测方法,包括如下步骤:
为每个寄存器维护一个标记组<Tb,Tc>,该标记组<Tb,Tc>用来表示寄存器状态,其中Tb标记记录寄存器所来源的基地址寄存器,Tc标记记录寄存器是否可控;
基于可控标记和操作类型,判断当前操作是否为有效操作,对有效操作进行累计,在指令片段gadget结尾处,根据累计的正向有效操作数判断当前gadget是否为有效gadget;
对检测到的有效gadget进行累计,根据当前有效gadget数以及可控寄存器数是否超过阈值,来判断当前是否遭受了ROP攻击。
进一步地,所述标记的生成和传播包括以下步骤:
在未执行完所有操作的情况下,判断当前操作是否为间接分支;
如果不是间接分支,则根据操作类型、源寄存器标记以及标记生成和传播规则计算目标寄存器的标记,继续执行下一操作;
如果是间接分支,则根据间接跳转的目标地址寄存器的Tc标记判断当前间接分支的目标是否可控,如果可控,则继续执行下一操作;
如果不可控,则判断当前间接分支是否是第一个受影响分支;
如果不是第一个受影响分支,则清空所有寄存器的Tc标记,解除或退出攻击实施阶段,继续执行下一操作;
如果是第一个受影响分支,则根据间接跳转的目标地址寄存器以及其它寄存器的Tb标记,生成各寄存器的Tc标记,激活或重进入攻击实施阶段,继续执行下一操作;
继续执行下一操作时,重新执行上述步骤,直到所有操作执行完成。
进一步地,操作类型包括初始状态、装载操作、赋值操作、运算操作和间接分支操作。
进一步地,标记生成与传播规则包括:
初始状态下,对于每个寄存器R,Tb(R)=null,Tc(R)=false;
装载操作时,R1<=Mem[R2,R3,Imm],Tb(R1)=R2,Tc(R1)=Tc(R2)&Tc(R3);
赋值操作时,若R1<=R2,则Tb(R1)=Tb(R2),Tc(R1)=Tc(R2);若R1<=Imm,则Tb(R1)=null,Tc(R1)=true;
运算操作时,若R1<=R2op R3,则Tb(R)=null,Tc(R1)=Tc(R2)&Tc(R3);若R1<=R2op Imm,则Tb(R1)=Tb(R2),Tc(R1)=Tc(R2);
间接分支操作,PC<=R1,对于Tb标记:如果预测失败,且攻击状态没激活,那么对于每个寄存器R:Tc(R)=(Tb(R)==Tb(R1)),且Tc(Tb(R1))=true;对于Tc标记:1)如果预测失败且Tc(R1)=true,那么触发ROP攻击判定;2)如果预测失败,且Tc(R1)=false,那么对于每个寄存器R:Tc(R)=(Tb(R)==Tb(R1)),且Tc(Tb(R1))=true;3)如果预测正确且Tc(R1)=false,那么Tc(All)=false。
进一步地,对有效操作和有效gadget的判断包括以下步骤:
执行当前操作时,判断当前是否为gadget末尾;
如果不是gadget末尾,则判断当前操作是否是有效操作,如果是,则增加正向有效操作计数,否则减少正向有效操作计数,继续执行下一操作;
如果是gadget末尾,则判断当前分支目标是否可控且当前正向有效操作计数是否大于0,如果是,则判定当前gadget为有效gadget,否则判定当前gadget不是有效gadget,执行结束。
进一步地,有效操作的判定依据为:
对于一个操作<Op,Dst>,满足Op∈{Store,Load,ALU,Mov}&Tc(Dst)=true。
进一步地,对是否遭受ROP攻击的判断包括以下步骤:
判断当前是否为gadget末尾,如果是,则判断当前是否为有效gadget;
如果是有效gadget,则有效gadget计数加1,根据寄存器的Tc标记累计当前可控寄存器数目,判断有效gadget数以及可控寄存器数目是否超过阈值,如果是,则发起ROP攻击信号,终止程序运行;
如果不是有效gadget,则根据分支目标寄存器的Tc标记判断当前间接分支目标是否可控,如果不可控,则重置有效gadget计数;
上述判断中,如果不是gadget末尾,或者未超过阈值,或者已终止程序运行,或者分支目标可控,或者已重置有效gadget计数,则结束执行。
进一步地,有效gadget数的阈值大于等于6,可控寄存器数的阈值大于等于4,该范围为优选,并不用于限制。
一种基于控制状态跟踪的ROP攻击检测系统,包括存储器和处理器,该存储器存储计算机程序,该程序被配置为由该处理器执行,该程序包括用于执行上述任一方法中各步骤的指令。
一种存储计算机程序的计算机可读存储介质,该计算机程序包括指令,该指令当由服务器的处理器执行时使得该服务器执行上述任一方法中的各个步骤。
本发明采用简化内存状态标记的方法,通过寄存器标记来表征内存状态标记,以第一个受影响的间接分支为界,将ROP攻击分为两个阶段:1)攻击准备阶段:在该阶段,攻击者通常会控制一块连续的内存空间,然后利用正常程序运行的方式来自然影响程序寄存器状态,这部分可利用内存状态可以通过统一基地址来表征,和影响控制流的地址拥有同一基地址的地址空间为可控地址空间;2)攻击实施阶段:在该阶段,攻击者通过精心选择的gadget来控制程序运行,但只能通过可控地址加载的数据才能保证加载数据的可预期性,因此,攻击者所能利用的内存可以通过地址的可控性来表征。本发明首先通过以寄存器标记表征可利用内存状态对攻击者控制状态进行跟踪,克服了传统动态污点分析的内存数据标记问题;然后基于攻击者控制状态进行ROP攻击检测,有效改善了现有检测特征的局限性问题。同时,该检测方法不依赖于任何程序源码及调试信息,适用于所用二进制应用,具有广泛的应用范围,能检测出应用软件所遭受的ROP攻击。
附图说明
图1是本发明的基于控制状态跟踪的ROP攻击检测方法的流程示意图;
图2是寄存器标记生成与传播的流程图;
图3是有效gadget判定的流程图;
图4是ROP攻击判定的流程图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
本实施例提供一种基于控制状态跟踪的ROP攻击检测方法,其总体流程如图1所示,具体包括如下步骤:
1)以第一个受影响(预测失败)的间接分支作为切分点,将ROP攻击过程拆分成两个阶段:攻击准备阶段和攻击实施阶段。其中,在攻击准备阶段,攻击者利用内存漏洞修改内存空间,所能利用的内存数据来源于一块内存空间,即这些内存数据有相同的基地址寄存器;在攻击实施阶段,攻击者能且只能通过可控的地址来获取可利用的内存数据,即这些内存数据的地址中的寄存器可控。
将寄存器状态以<Tb,Tc>标记组来表示,其中,Tb标记记录寄存器所来源的基地址寄存器,Tc标记记录寄存器是否可控。这两种标记随着运算的进行遵循特定的规则传播,当从准备阶段切换入攻击阶段时,和间接分支地址寄存器具有相同Tb标记的寄存器可控。
根据标记生成与传播规则,在程序执行过程中维护每个寄存器的标记信息。中间涉及到的标记生成与传播规则如表1所示。
表1标记生成与传播规则
标记生成与传播的流程如图2所示,具体说明如下:
1a)判断是否所有操作已执行完成,是则结束该流程,否则跳转到1b);
1b)判断操作是否为间接分支,是则跳转到1e),否则跳转到1c);
1c)根据操作类型,源寄存器标记以及标记传播生成和规则计算目标寄存器的标记,继续执行下一操作,跳转到1d);
1d)继续执行下一操作,跳转到1a)
1e)根据间接跳转的目标地址寄存器的Tc标记判断当前间接分支的目标是否可控,是则跳转到1d),否则跳转到1f);
1f)判断当前间接分支是否是第一个受影响分支,不是则跳转到1g),是则跳转到1h);
1g)清空所有寄存器的Tc标记,解除或退出攻击实施阶段,跳转到1d);
1h)根据间接跳转的目标地址寄存器以及其它寄存器的Tb标记,生成各寄存器的Tc标记,激活或重进入攻击实施阶段,跳转到1d)。
2)接着,根据操作类型和操作源寄存器的Tc可控标记,就可以判断出当前操作是否为一个有效操作,对于操作<Op,Dst>是有效操作的判定依据为:
Op∈{Store,Load,ALU,Mov}&Tc(Dst)=true;
然后,累计当前正向有效操作数目,有效操作加1,非有效操作减1。以预测失败间接分支作为gadget末尾的标识,在每个gadget结束处,判断正向有效操作数目是否大于0,如果大于0,当前gadget为有效gadget,否则不是有效gadge。
有效操作是具备一定功能且结果可控的操作,有效gadget的判定流程如图3所示,具体说明如下:
2a)判断当前是否为gadget末尾,是则跳转到2b),否则跳转到2e);
2b)判断当前分支目标是否可控,同时正向有效操作计数是否大于0,是则跳转到2c),否则跳转到2d);
2c)当前gadget为有效gadget,结束;
2d)当前gadget不是有效gadget,结束;
2e)判断当前操作是否是有效操作,是则跳转到2f),否则跳转到2g);
2f)增加正向有效操作计数,继续下一操作,跳转到2a);
2g)减少正向有效操作计数,继续下一操作,跳转到2a)。
3)累计有效gadget数,在有效gadget结尾处,判断当前有效gadget数和可控寄存器数是否超过阈值。阈值选择来源于先验知识:一般ROP攻击都包含6个以上的gadget,以及进行一次敏感系统调用最少需要控制4个寄存器。如果两者都超过了阈值,那么发起ROP异常,终止程序运行,否则继续执行后续操作。
有效gadget统计以及ROP攻击判定流程如图4所示,具体说明如下:
3a)判断当前是否为gadget末尾,是则跳转到3b),否则结束;
3b)判断当前是否为有效gadget,是则跳转到3c),否则跳转到3f);
3c)有效gadget计数加1,根据寄存器的Tc标记累计当前可控寄存器数目,跳转到3d);
3d)判断有效gadget数以及可控寄存器数目是否超过阈值,是则跳转到3e),否则结束;
3e)发起ROP攻击信号,终止程序运行,结束;
3f)根据分支目标寄存器的Tc标记判断当前间接分支目标是否可控,是则结束,否则跳转到3g);
3g)重置有效gadget计数,结束。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种基于控制状态跟踪的ROP攻击检测方法,包括如下步骤:
为每个寄存器维护一个标记组<Tb,Tc>,该标记组<Tb,Tc>用来表示寄存器状态,其中Tb标记记录寄存器所来源的基地址寄存器,Tc标记记录寄存器是否可控;
基于可控标记和操作类型,判断当前操作是否为有效操作,对有效操作进行累计,在指令片段gadget结尾处,根据累计的正向有效操作数判断当前gadget是否为有效gadget;
对检测到的有效gadget进行累计,根据当前有效gadget数以及可控寄存器数是否超过阈值,来判断当前是否遭受了ROP攻击。
2.如权利要求1所述的方法,其特征在于,所述标记的生成和传播包括以下步骤:
在未执行完所有操作的情况下,判断当前操作是否为间接分支;
如果不是间接分支,则根据操作类型、源寄存器标记以及标记生成和传播规则计算目标寄存器的标记,继续执行下一操作;
如果是间接分支,则根据间接跳转的目标地址寄存器的Tc标记判断当前间接分支的目标是否可控,如果可控,则继续执行下一操作;
如果不可控,则判断当前间接分支是否是第一个受影响分支;
如果不是第一个受影响分支,则清空所有寄存器的Tc标记,解除或退出攻击实施阶段,继续执行下一操作;
如果是第一个受影响分支,则根据间接跳转的目标地址寄存器以及其它寄存器的Tb标记,生成各寄存器的Tc标记,激活或重进入攻击实施阶段,继续执行下一操作;
继续执行下一操作时,重新执行上述步骤,直到所有操作执行完成。
3.如权利要求1或2所述的方法,其特征在于,操作类型包括初始状态、装载操作、赋值操作、运算操作和间接分支操作。
4.如权利要求3所述的方法,其特征在于,标记生成与传播规则包括:
初始状态下,对于每个寄存器R,Tb(R)=null,Tc(R)=false;
装载操作时,R1<=Mem[R2,R3,Imm],Tb(R1)=R2,Tc(R1)=Tc(R2)&Tc(R3);
赋值操作时,若R1<=R2,则Tb(R1)=Tb(R2),Tc(R1)=Tc(R2);若R1<=Imm,则Tb(R1)=null,Tc(R1)=true;
运算操作时,若R1<=R2 op R3,则Tb(R)=null,Tc(R1)=Tc(R2)&Tc(R3);若R1<=R2opImm,则Tb(R1)=Tb(R2),Tc(R1)=Tc(R2);
间接分支操作,PC<=R1,对于Tb标记:如果预测失败,且攻击状态没激活,那么对于每个寄存器R:Tc(R)=(Tb(R)==Tb(R1)),且Tc(Tb(R1))=true;对于Tc标记:1)如果预测失败且Tc(R1)=true,那么触发ROP攻击判定;2)如果预测失败,且Tc(R1)=false,那么对于每个寄存器R:Tc(R)=(Tb(R)==Tb(R1)),且Tc(Tb(R1))=true;3)如果预测正确且Tc(R1)=false,那么Tc(All)=false。
5.如权利要求1所述的方法,其特征在于,对有效操作和有效gadget的判断包括以下步骤:
执行当前操作时,判断当前是否为gadget末尾;
如果不是gadget末尾,则判断当前操作是否是有效操作,如果是,则增加正向有效操作计数,否则减少正向有效操作计数,继续执行下一操作;
如果是gadget末尾,则判断当前分支目标是否可控且当前正向有效操作计数是否大于0,如果是,则判定当前gadget为有效gadget,否则判定当前gadget不是有效gadget,执行结束。
6.如权利要求1或5所述的方法,其特征在于,有效操作的判定依据为:
对于一个操作<Op,Dst>,满足Op∈{Store,Load,ALU,Mov}&Tc(Dst)=true。
7.如权利要求1所述的方法,其特征在于,对是否遭受ROP攻击的判断包括以下步骤:
判断当前是否为gadget末尾,如果是,则判断当前是否为有效gadget;
如果是有效gadget,则有效gadget计数加1,根据寄存器的Tc标记累计当前可控寄存器数目,判断有效gadget数以及可控寄存器数是否超过阈值,如果是,则发起ROP攻击信号,终止程序运行;
如果不是有效gadget,则根据分支目标寄存器的Tc标记判断当前间接分支目标是否可控,如果不可控,则重置有效gadget计数;
上述判断中,如果不是gadget末尾,或者未超过阈值,或者已终止程序运行,或者分支目标可控,或者已重置有效gadget计数,则结束执行。
8.如权利要求1或7所述的方法,其特征在于,有效gadget数的阈值大于等于6,可控寄存器数的阈值大于等于4。
9.一种基于控制状态跟踪的ROP攻击检测系统,其特征在于,包括存储器和处理器,该存储器存储计算机程序,该程序被配置为由该处理器执行,该程序包括用于执行上述权利要求1-8任一所述方法中各步骤的指令。
10.一种存储计算机程序的计算机可读存储介质,其特征在于,该计算机程序包括指令,该指令当由服务器的处理器执行时使得该服务器执行上述权利要求1-8任一所述方法中的各个步骤。
CN201910309528.XA 2019-04-17 2019-04-17 一种基于控制状态跟踪的rop攻击检测方法 Active CN110188540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910309528.XA CN110188540B (zh) 2019-04-17 2019-04-17 一种基于控制状态跟踪的rop攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910309528.XA CN110188540B (zh) 2019-04-17 2019-04-17 一种基于控制状态跟踪的rop攻击检测方法

Publications (2)

Publication Number Publication Date
CN110188540A true CN110188540A (zh) 2019-08-30
CN110188540B CN110188540B (zh) 2021-06-22

Family

ID=67714677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910309528.XA Active CN110188540B (zh) 2019-04-17 2019-04-17 一种基于控制状态跟踪的rop攻击检测方法

Country Status (1)

Country Link
CN (1) CN110188540B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199669A (zh) * 2020-09-25 2021-01-08 杭州安恒信息技术股份有限公司 一种检测rop攻击的方法和装置
CN113779649A (zh) * 2021-09-08 2021-12-10 中国科学院上海高等研究院 一种针对投机执行攻击的防御方法
CN115473826A (zh) * 2022-11-03 2022-12-13 中国人民解放军国防科技大学 一种rop流量检测方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663312A (zh) * 2012-03-20 2012-09-12 中国科学院信息工程研究所 一种基于虚拟机的rop攻击检测方法及系统
CN102945351A (zh) * 2012-11-05 2013-02-27 中国科学院软件研究所 云环境下基于二维码的移动智能终端安全漏洞修复方法
US20170083355A1 (en) * 2015-09-22 2017-03-23 Qualcomm Incorporated Dynamic register virtualization
CN106687972A (zh) * 2014-10-20 2017-05-17 英特尔公司 针对有效gadget控制转移的攻击保护
CN108027859A (zh) * 2015-09-17 2018-05-11 高通股份有限公司 检测对计算设备中的进程的软件攻击

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663312A (zh) * 2012-03-20 2012-09-12 中国科学院信息工程研究所 一种基于虚拟机的rop攻击检测方法及系统
CN102945351A (zh) * 2012-11-05 2013-02-27 中国科学院软件研究所 云环境下基于二维码的移动智能终端安全漏洞修复方法
CN106687972A (zh) * 2014-10-20 2017-05-17 英特尔公司 针对有效gadget控制转移的攻击保护
CN108027859A (zh) * 2015-09-17 2018-05-11 高通股份有限公司 检测对计算设备中的进程的软件攻击
US20170083355A1 (en) * 2015-09-22 2017-03-23 Qualcomm Incorporated Dynamic register virtualization

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
唐维华: "基于寄存器上下文干扰的ROP攻击防御技术", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
彭建山等: "基于多路径分发的ROP框架构造方法", 《计算机科学》 *
马乐乐等: "基于轻量操作系统的虚拟机内省与内存安全监测", 《基于轻量操作系统的虚拟机内省与内存安全监测 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199669A (zh) * 2020-09-25 2021-01-08 杭州安恒信息技术股份有限公司 一种检测rop攻击的方法和装置
CN112199669B (zh) * 2020-09-25 2022-05-17 杭州安恒信息技术股份有限公司 一种检测rop攻击的方法和装置
CN113779649A (zh) * 2021-09-08 2021-12-10 中国科学院上海高等研究院 一种针对投机执行攻击的防御方法
CN115473826A (zh) * 2022-11-03 2022-12-13 中国人民解放军国防科技大学 一种rop流量检测方法、装置、设备及计算机可读存储介质
CN115473826B (zh) * 2022-11-03 2023-01-20 中国人民解放军国防科技大学 一种rop流量检测方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN110188540B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
Canella et al. A systematic evaluation of transient execution attacks and defenses
US10007784B2 (en) Technologies for control flow exploit mitigation using processor trace
CN109002721A (zh) 一种信息安全漏洞的挖掘分析方法
CN110188540A (zh) 一种基于控制状态跟踪的rop攻击检测方法
JP5090661B2 (ja) ソフトウェア動作モデル化装置、ソフトウェア動作監視装置、ソフトウェア動作モデル化方法及びソフトウェア動作監視方法
Liao et al. SmartDagger: a bytecode-based static analysis approach for detecting cross-contract vulnerability
CN105787305A (zh) 一种抵抗符号执行和污点分析的软件保护方法
CN102184360B (zh) 一种适用于嵌入式处理器的信息流安全监控方法
CN101159732A (zh) 基于数据流分析的恶意攻击检测方法
Fu et al. A critical-path-coverage-based vulnerability detection method for smart contracts
CN112711760B (zh) 检测智能合约恶意消除重入影响漏洞的检测方法和装置
CN112749389A (zh) 一种检测智能合约破坏敏感数据漏洞的检测方法及装置
Zhang et al. Your exploit is mine: instantly synthesizing counterattack smart contract
CN110717181B (zh) 基于新型程序依赖图的非控制数据攻击检测方法及装置
Yu et al. Redetect: Reentrancy vulnerability detection in smart contracts with high accuracy
Liao et al. Smartstate: Detecting state-reverting vulnerabilities in smart contracts via fine-grained state-dependency analysis
CN116208514B (zh) 一种多阶段攻击的防御趋势预测方法、系统、设备及介质
Brotzman et al. SpecSafe: detecting cache side channels in a speculative world
CN113901457A (zh) 一种恶意软件识别的方法、系统、设备及可读存储介质
JP7483927B2 (ja) 応用プログラムの実行流れ変更を通じた非実行ファイルの悪性探知方法及び装置
Tong et al. Attack detection based on machine learning algorithms for different variants of spectre attacks and different meltdown attack implementations
Xu et al. AT-ROP: Using static analysis and binary patch technology to defend against ROP attacks based on return instruction
Shen et al. A Survey of Research on Runtime Rerandomization Under Memory Disclosure
Pfeffer et al. Efficient and safe control flow recovery using a restricted intermediate language
CN108710809A (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