|
|
FCS | 前沿研究:SeBROP: 信号增强的盲执行代码重用攻击 |
|
论文标题:SeBROP: blind ROP attacks without returns(SeBROP: 信号增强的盲执行代码重用攻击)
期刊:Frontiers of Computer Science
作者:Tianning ZHANG, Miao CAI, Diming ZHANG, Hao HUANG
发表时间:30 Dec 2021
DOI: 10.1007/s11704-021-0342-8
微信链接:点击此处阅读微信文章
导读
代码重用攻击,又称为ROP攻击,是一种危险的攻击方法。它重用漏洞程序中以ret指令结尾的代码片段构造任意计算原语。近年来,许多有效的防御方法被提出来对抗这种攻击,如ASLR, XOM和DEP。同时使用这些技术可以阻止几乎所有现有的ROP攻击及其变种。另外,在被攻击的服务程序中,大多数系统调用指令(syscall)之后缺少返回指令(ret),即缺少系统调用类型的代码片段。但是,缺少这种类型的代码片段(gadget),会极大地限制代码重用攻击的能力。因为攻击者将无法串联多个系统调用来实现高级的行为,如发起一个远程的shell。
本文提出一个新的代码重用攻击方法,SeBROP攻击,可以在同时使用这些最先进的防御和缺少关键代码片段的情况下仍然完成远程利用的攻击方法。与以往的绕过ASLR的攻击方法不同,SeBROP仅利用服务端程序的一个栈溢出漏洞,而无需额外的内存泄露漏洞,就可以完成攻击。SeBROP利用了漏洞程序中的一个侧信道,可以在没有任何前置知识和无法读和反汇编代码段(XOM保护下)的情况下,找到代码重用攻击所需要的所有类型的代码片段。该侧信道泄露的是程序执行是否崩溃的信息,攻击者通过劫持控制流到特定的代码位置,及控制执行的参数,并根据最终的执行结果(崩溃与否,内存痕迹)来判断执行的位置是否包含所需的代码片段(gadget),并分析代码片段的类型。与BROP不同的是,SeBROP可以通过盲执行找全图灵完备的gadget集,并且能够绕过XOM防御,以及与64位和32位系统都兼容。更重要的是,我们提出一种新的技术,利用当前存在安全漏洞的信号检查机制在返回指令(ret)不存在的情况下实现控制流劫持。系统调用完成之后会进行信号检查,如果存在挂起的信号,则内核会调用信号处理函数。攻击者可以利用信号处理函数将控制转移走,从而不再返回。因此,我们精心构造了信号处理函数,并发送信号,用信号将多个断开的gadget链串联起来。我们提出的技术,可以在没有ret指令的情况下串联多个系统调用,这是比以往ROP攻击优越的地方。同时,SeBROP可以对抗几乎所有的最先进的防御技术。
为了验证它的有效性,我们在3个应用程序上进行了实验,Apache (32位), ProFTPD (32位),和Nginx (64位)。实验结果显示SeBROP可以在 Nginx, ProFTPD 和Apache上分别以少于8500/4300/2100的请求数成功发起远程的shell。
文章精要
摘要
Currently, security-critical server programs are well protected by various defense techniques, such as Address Space Layout Randomization(ASLR), eXecute Only Memory(XOM), and Data Execution Prevention(DEP), against modern code-reuse attacks like Return-oriented Programming(ROP) attacks. Moreover, in these victim programs, most syscall instructions lack the following retinstructions, which prevents attacks to stitch multiple system calls to implement advanced behaviors like launching a remote shell. Lacking this kind of gadget greatly constrains the capability of code-reuse attacks. This paper proposes a novel code-reuse attack method called Signal Enhanced Blind Return Oriented Programming(SeBROP) to address these challenges. Our SeBROP can initiate a successful exploit to server-side programs using only a stack overflow vulnerability. By leveraging a side-channel that exists in the victim program, we show how to find a variety of gadgets blindly without any pre-knowledges or reading/disassembling the code segment. Then, we propose a technique that exploits the current vulnerable signal checking mechanism to realize the execution flow control even when ret instructions are absent. Our technique can stitch a number of system calls without returns, which is more superior to conventional ROP attacks. Finally, the SeBROP attack precisely identifies many useful gadgets to constitute a Turing-complete set. SeBROP attack can defeat almost all state-of-the-art defense techniques. The SeBROP attack is compatible with both modern 64-bit and 32-bit systems. To validate its effectiveness, We craft three exploits of the SeBROP attack for three real-world applications, i.e., 32-bit Apache 1.3.49, 32-bit ProFTPD 1.3.0, and 64-bit Nginx 1.4.0. Experimental results demonstrate that the SeBROP attack can successfully spawn a remote shell on Nginx, ProFTPD, and Apache with less than 8500/4300/2100 requests, respectively.
相关内容推荐:
基于雾计算的医疗系统高效认证密钥建立方案 2022 16(4): 164815
对带有保密S盒的类AES分组密码的侧信道逆向分析 2022 16(4): 164814
个性化的本地化差分隐私模型下均值估计机制 2022 16(3): 163806
利用线性码构造高非线性度弹性 S 盒的新方法 2022 16(3): 163805
SCENERY:基于Feistel结构的轻量级分组密码 2022 16(3): 163813
保序加密域数据库鲁棒水印算法 2022 16(2): 162804
仅返回您的搜索:任意语言的保护隐私的同形字搜索 2022 16(2): 162801
基于BERT模型的加密数据安全语义检索 2022 16(2): 162802
对一种批量认证密钥协商方案的改进 2022 16(2): 162803
双服务器模式下无密文扩展的多密钥全同态加密方案 2022 16(1): 161809
无需可信第三方的多子集数据聚合方案 2022 16(1): 161808
实现一种基于侧链的异步分布式公钥基础设施 2022 16(1): 161812
云医疗服务中基于身份加密的抗离线关键字猜测攻击的相等性测试方案 2021 15(6): 156814
DP-UserPro: 一种满足差分隐私的用户画像生成与发布方法 2021 15(5): 155811
雾计算中基于属性的关键词动态搜索 2021 15(5): 155810
一种用于智能电网通信系统的具有数据完整性和故障容错性的保护用户隐私的新颖数据聚合方案 2021 15(5): 155812
Intel SGX及其应用详解 2021 15(3): 153808
一文了解以太坊智能合约的安全问题研究 2021 15(2): 152802
主动秘密共享有新招?一种基于中国剩余定理的方案 2021 15(2): 152801
Frontiers of Computer Science
Frontiers of Computer Science (FCS)是由教育部主管、高等教育出版社和北京航空航天大学共同主办、SpringerNature 公司海外发行的英文学术期刊。本刊于 2007 年创刊,双月刊,全球发行。主要刊登计算机科学领域具有创新性的综述论文、研究论文等。本刊主编为周志华教授,共同主编为熊璋教授。编委会及青年 AE 团队由国内外知名学者及优秀青年学者组成。本刊被 SCI、Ei、DBLP、INSPEC、SCOPUS 和中国科学引文数据库(CSCD)核心库等收录,为 CCF 推荐期刊;两次入选“中国科技期刊国际影响力提升计划”;入选“第4届中国国际化精品科技期刊”;入选“中国科技期刊卓越行动计划项目”。
《前沿》系列英文学术期刊
由教育部主管、高等教育出版社主办的《前沿》(Frontiers)系列英文学术期刊,于2006年正式创刊,以网络版和印刷版向全球发行。系列期刊包括基础科学、生命科学、工程技术和人文社会科学四个主题,是我国覆盖学科最广泛的英文学术期刊群,其中13种被SCI收录,其他也被A&HCI、Ei、MEDLINE或相应学科国际权威检索系统收录,具有一定的国际学术影响力。系列期刊采用在线优先出版方式,保证文章以最快速度发表。
中国学术前沿期刊网
http://journal.hep.com.cn
特别声明:本文转载仅仅是出于传播信息的需要,并不意味着代表本网站观点或证实其内容的真实性;如其他媒体、网站或个人从本网站转载使用,须保留本网站注明的“来源”,并自负版权等法律责任;作者如果不希望被转载或者联系转载稿费等事宜,请与我们接洽。