Security Mitigations for Return-Oriented Programming Attacks
随着新的漏洞利用技术的发现,也需要新的保护机制。DEP(数据执行保护)或ASLR(地址空间布局随机化)等缓解措施为漏洞利用创造了更加困难的环境。然而,攻击者最近开发了新的利用方法,这些方法能够绕过操作系统的安全保护机制。在本文中,我们提出了一个简短的总结新颖的和已知的缓解技术,对面向返回的编程(ROP)的攻击。本文介绍的技术主要与x86-32处理器和Microsoft Windows操作系统相关。
2010-08-24 cs.CR
Return Oriented Programming - Exploit Implementation using functions
面向返回的编程在十年前首次出现,并通过以小工具的形式重用系统代码来克服缓冲区利用防御机制,如ASLR,DEP(或W^ X),这些小工具被缝合在一起以进行图灵完整攻击。而要实现图灵完全攻击则需要付出更大的努力,这是相当复杂的,并且很少有研究可用于实现图灵完全攻击。因此,在这个项目中,我们将现有研究的知识系统化,这些知识可用于执行图灵完全ROP攻击。
2017-06-26 cs.CR
Shakedown: compiler-based moving target protection for Return Oriented Programing attacks on an industrial IoT device
网络犯罪分子使用面向返回的编程技术来攻击系统和物联网设备。虽然已经开发了防御措施,但并非所有防御措施都适用于受限设备。我们介绍了Shakedown,这是一个编译时随机构建工具,它创建了几个版本的二进制文件,每个版本都有不同的内存布局。针对一个设备开发的攻击不会在具有不同内存布局的另一个设备上起作用。我们在一个工业物联网设备上测试了Shakedown,结果表明,在阻止漏洞利用的同时,其正常功能保持不变。
2018-10-11 cs.CR
Zipper Stack: Shadow Stacks Without Shadow
面向返回的编程(ROP)是一种典型的攻击技术,它利用返回地址重复滥用现有代码。大多数当前的返回地址保护机制(也称为后向边缘控制流完整性)仅适用于有限的威胁模型。例如,攻击者无法打破内存隔离,或者攻击者不知道秘密密钥或随机值。本文提出了一种新的,轻量级的机制,保护返回地址,Zipper堆栈,它通过一个链结构,使用加密消息认证码(MAC)验证所有的返回地址。这种创新的设计可以抵御最强大的攻击者,他们完全控制程序的内存,甚至知道MAC功能的秘密密钥。此威胁模型比相关工作中使用的模型更强大。同时,它会产生低性能开销。通过对RISC-V指令集结构的扩展实现了Zipper Stack,在FPGA上的性能测试表明,Zipper Stack的性能开销仅为1.86%.因此,我们认为Zipper Stack适合实际部署。
2020-07-15 cs.CR
Knowledge Return Oriented Prompting (KROP)
HiddenLayer(希登莱耶(或保留原机构名))
针对现有大语言模型及相关应用的提示过滤、对齐防护并非绝对安全的问题,本文提出KROP提示注入技术,可混淆攻击行为以规避多数安全检测。
2024-06-11 cs.CR cs.LG
Hiding in the Particles: When Return-Oriented Programming Meets Program Obfuscation
众所周知的攻击场景,代码重用技术在仔细研究揭示的属性,也是吸引人的程序混淆。我们探讨流行的返回导向的编程范式下,这盏灯,转换成ROP链与周围的软件栈无缝共存的程序功能。我们将展示如何构建能够承受流行的静态和动态去混淆方法的链,评估常见程序设计的鲁棒性和开销。结果表明,为了秘密发现和代码覆盖目标,需要大量的计算资源来进行去混淆攻击。
2021-04-06 cs.CR cs.SE
Comments on: RIO: Return Instruction Obfuscation for Bare-Metal IoT Devices with Binary Analysis
该评论论文指出裸机IoT设备返回指令混淆方案RIO存在设计缺陷,无需解密即可获取明文返回指令,并提出了改进原方案的思路。
2024-12-11 cs.CR
CToMP: A Cycle-task-oriented Memory Protection Scheme for Unmanned Systems
针对无人系统难以防御内存破坏攻击(MCAs)的问题,本文对MCAs进行建模分类,提出面向周期任务的内存保护方案CToMP,通过控制流保护、随机内存地址安全栈等机制有效抵御return2libc、return2shellcode及ROP攻击,且系统开销低。
2023-09-12 cs.CR
HardScope: Thwarting DOP with Hardware-assisted Run-time Scope Enforcement
存储器不安全程序设计语言的广泛使用(例如,C和C++)使许多系统容易受到内存损坏攻击。已经提出了各种防御来减轻利用存储器错误来劫持运行时间处的代码的控制流的攻击,例如,(细粒度)随机化或控制流完整性。然而,最近在面向数据编程(DOP)方面的工作表明,即使在这些最先进的防御措施存在的情况下,也存在高度表达性(图灵完备)的攻击。虽然已经证明了多个真实世界的DOP攻击,但还没有有效的防御。我们提出了运行时间范围实施(RSE),一种新的方法,旨在通过实施编译时内存安全约束(例如,可变可见性规则)。我们提出了HardScope,这是一种用于新RISC-V开放指令集架构的硬件辅助RSE的概念验证实现。我们讨论了我们的系统的实证评估HardScope表明,它可以减轻所有目前已知的DOP攻击,并在嵌入式基准测试的3.2%的真实世界的性能开销。
2018-03-12 cs.CR
Reasoning-Oriented Programming: Chaining Semantic Gadgets to Jailbreak Large Vision Language Models
AI Security Lab(360人工智能安全实验室);College of Science, Mathematics and Technology, Wenzhou-Kean University(温州肯恩大学理学院);State Key Laboratory of Complex & Critical Software Environment, Beihang University(北京航空航天大学复杂系统与关键软件环境国家重点实验室)
本文提出面向推理的编程方法,通过链式语义工具突破大型视觉语言模型的安全对齐。
2026-03-10 cs.CR
Survey of Methods for Automated Code-Reuse Exploit Generation
本文提供了一个调查的方法和工具,自动代码重用利用生成。这种攻击使用的代码已经包含在易受攻击的程序中。代码重用方法允许在存在禁止数据存储器执行的操作系统保护的情况下利用漏洞。本文描述了各种代码重用方法:返回libc攻击、面向返回的编程、面向跳转的编程等。我们定义基本术语:小工具,小工具框架,小工具目录。此外,我们表明,事实上,一个小工具是一个指令,一组小工具定义了一个虚拟机。我们可以将漏洞利用创建问题简化为该虚拟机的代码生成。每个特定的可执行文件定义虚拟机指令集。我们提供了一个小工具搜索和确定其语义(创建一个小工具目录)的方法的调查。这些方法允许获得虚拟机指令集。如果一组Gadget是图灵完备的,那么编译器可以使用Gadget目录作为目标架构。但是,有些指示可能会缺席。因此,我们讨论了几种方法来替换丢失的指令与多个小工具。利用生成工具可以通过模式搜索(正则表达式)或考虑小工具语义来链接小工具。此外,一些链接方法使用遗传算法,而另一些使用SMT求解器。我们比较现有的开源工具,并提出了一个测试系统rop-benchmark,可用于验证是否生成的链成功地打开一个shell。
2021-07-22 cs.CR
A practical analysis of ROP attacks
长期以来,控制流劫持攻击对应用程序的安全构成了严重威胁,攻击者可以破坏程序的控制流完整性并执行任意代码。这些攻击可以通过在程序内存中注入代码或重用程序中已有的代码来执行(也称为代码重用攻击)。以返回到libc攻击或返回导向编程攻击形式的代码重用攻击被称为图灵完备,提供了一个保证,即在二进制文件中总是存在代码段(也称为ROP小工具),允许攻击者通过构建合适的ROP链(ROP小工具链)来执行任何类型的功能。我们的目标是研究执行ROP攻击的不同技术,并找到执行此类攻击所遇到的困难。为此,我们设计了一个自动化的工具,它工作在64位系统上,并从ROP小工具生成一个ROP链来执行任意系统调用。
2021-11-05 cs.CR
HCIC: Hardware-assisted Control-flow Integrity Checking
近年来,代码重用攻击(CRA),如面向返回编程(ROP)和面向跳转编程(JOP),已成为一类新的巧妙的安全威胁。攻击者可以利用CRA劫持程序的控制流来执行恶意操作,而无需注入任何代码。已经提出了许多防御方法,分为基于软件的和基于硬件的。然而,基于软件的方法很难部署在实际系统中,由于高性能开销。基于硬件的方法可以降低性能开销,但可能需要扩展指令集架构(ISA)和修改编译器或遭受密钥泄漏的脆弱性。针对这些问题,提出了一种新的基于硬件的控制流检测方法,在不扩展ISA、不修改编译器、不泄露加解密密钥的情况下,以可忽略的性能开销抵抗CRA。关键技术涉及两种控制流检查机制。第一个是物理不可克隆函数(PUF)响应和返回地址之间的加密汉明距离(EHD)匹配,只要PUF响应是秘密的,就可以防止攻击者在小工具之间返回,从而抵抗ROP攻击。第二种方法是在PUF响应与call和jmp指令的目标地址处的指令之间进行线性加/解密操作(XOR),以抵抗JOP攻击。使用动态密钥更新方法可以防止高级的基于返回的全功能重用攻击。基准测试的实验结果表明,所提出的方法引入了可以忽略不计的0.95%的运行时开销和0.78%的二进制大小的开销平均。
2018-09-19 cs.AR cs.CR
Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Indicate Improved Security
几乎所有的现代软件都存在膨胀问题,这对其性能和安全性产生了负面影响。为了解决这个问题,已经提出了几种自动化技术来解浮动软件。在许多这些工作中,用来证明改进的安全性的一个关键指标是代码重用小工具计数减少。此度量的使用基于流行的想法,即减少软件包中可用的小工具的数量会减少其攻击面,并使攻击者更难以安装基于小工具的代码重用漏洞,例如面向返回的编程(ROP)。在本文中,我们挑战这一想法,并通过各种现实的debloating方案显示固有的小工具计数减少指标的缺陷。具体来说,我们证明了软件debloating可以实现高的小工具计数减少率,但未能限制攻击者的能力,构建一个漏洞。更糟糕的是,在某些情况下,高的小工具数量减少率掩盖了软件去浮动通过引入新的有用小工具而使安全性更差的情况。为了解决这些问题,我们提出了一套四个新的度量标准,通过软件debloating是面向质量的,而不是面向数量的安全改进实现。我们表明,这些指标可以识别时debloating负面影响的安全性,并有效地计算使用我们的静态二进制分析工具,小工具集分析器。最后,我们证明了这些指标的实用性在两个现实的案例研究:迭代debloating和debloater评估。
2020-01-16 cs.CR
Execution Integrity with In-Place Encryption
指令集随机化(ISR)最初是为了对抗代码注入攻击而提出的。然而,ISR似乎已经失去了吸引力,因为代码注入攻击变得不那么有吸引力,因为保护机制,如数据执行预防(DEP)以及代码重用攻击变得更加普遍。在本文中,我们表明,ISR可以扩展到也防止代码重用攻击,同时提供类似的软件多样性,控制流的完整性和信息隐藏的安全保证。我们提出了Scylla方案,该方案部署了一种新的就地代码加密技术来隐藏随机二进制的代码布局,并将控制流限制在良性执行路径。这使我们能够i)隐式地将控制流目标限制为基本块条目,而无需提取控制流图,ii)在合法的基本块内实现执行完整性,以及iii)在对程序的恶意读访问下隐藏底层代码布局。我们的分析表明,Scylla能够防止最先进的攻击,如即时返回导向编程(JIT-ROP)和抗崩溃导向编程(CROP)。我们广泛评估我们的原型实现的锡拉,并显示可行的性能开销。我们还详细介绍了如何通过专用硬件支持显著降低此开销。
2017-03-08 cs.CR
SIGDROP: Signature-based ROP Detection using Hardware Performance Counters
面向返回的编程(ROP)是一种用于系统妥协的软件漏洞。通过从现有代码片段链接短指令序列,ROP可以绕过静态代码完整性检查方法和不可执行的页面保护。现有的防御要么需要访问源代码或二进制文件,定制的编译器或硬件修改,要么遭受高性能和存储开销。在这项工作中,我们提出了SIGDROP,一种低成本的ROP检测方法,它使用ROP攻击固有的低级别属性。具体来说,我们观察特定的硬件事件时,ROP攻击发生在程序执行过程中的特殊模式。这种基于硬件事件的模式形成签名以在运行时标记ROP攻击。SIGDROP利用硬件性能计数器(已经存在于商用处理器中)来有效地捕获和提取签名。我们的评估表明,SIGDROP可以有效地检测ROP攻击与可接受的性能开销和可忽略的存储开销。
2016-09-09 cs.CR
Breaking and Fixing Destructive Code Read Defenses
即时返回导向编程(JIT-ROP)是一种强大的内存破坏攻击,它绕过了各种形式的代码随机化。只执行内存(XOM)可以防止这些攻击,但需要源代码。相反,破坏性代码读取(DCR)提供了安全性和遗留兼容性之间的折衷。通常认为,如果与高熵代码随机化相结合,DCR可以提供强大的保护。本文的贡献是双重的:首先,我们证明了DCR可以被绕过,无论潜在的代码随机化方案。为此,我们展示了新颖的,通用的攻击,推断高度随机化的程序代码的代码布局。其次,我们提出了BGDX(字节粒度DCR和XOM),一种新的缓解技术,保护传统的二进制代码推理攻击的设计和实现。BGDX在字节粒度级别上强制执行内存权限,允许我们将DCR和XOM结合起来用于传统的现成二进制文件。我们的评估表明,BGDX不仅是有效的,但效率很高,施加的几何平均性能开销仅为3.95%的SPEC。
2020-07-05 cs.CR
Quantum ROP: Using Quantum Algorithms for ROP Chain Selection in Exploit Construction
PLATINUM CIBER
本研究将量子组合优化应用于ROP小工具选择,提出QUBO建模并用QAOA在IBM Heron r2硬件上求解,在Linux内核场景实现提权,多数基准实例中找到最优链。
2026-09-23 cs.CR
Quantifying Return on Security Controls in LLM Systems
本文提出了一种量化LLM系统安全控制回报的方法,通过模拟攻击和风险评估,比较了ABAC、NER删除和NeMo Guardrails三种安全措施的效果,发现ABAC显著降低风险,RoC达到9.83。
2025-12-17 cs.AI cs.CL cs.CR