明升手机版(中国)

 
来源:Frontiers of Computer Science 发布时间:2022/6/30 10:15:54
选择字号:
FCS | 前沿研究:SeBROP: 信号增强的盲执行代码重用攻击

论文标题:(SeBROP: 信号增强的盲执行代码重用攻击)

期刊:

作者:Tianning ZHANG, Miao CAI, Diming ZHANG, Hao HUANG

发表时间:30 Dec 2021

DOI:

微信链接:

导读

代码重用攻击,又称为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.

相关内容推荐:


Frontiers of Computer Science


Frontiers of Computer Science (FCS)是由教育部主管、高等教育出版社和北京航空航天大学共同主办、SpringerNature 公司海外发行的英文学术期刊。本刊于 2007 年创刊,双月刊,全球发行。主要刊登计算机app领域具有创新性的综述论文、研究论文等。本刊主编为周志华教授,共同主编为熊璋教授。编委会及青年 AE 团队由国内外知名学者及优秀青年学者组成。本刊被 SCI、Ei、DBLP、INSPEC、SCOPUS 和明升中国app引文数据库(CSCD)核心库等收录,为 CCF 推荐期刊;两次入选“明升中国科技期刊国际影响力提升计划”;入选“第4届明升中国国际化精品科技期刊”;入选“明升中国科技期刊卓越行动计划项目”。


《前沿》系列英文学术期刊

由教育部主管、高等教育出版社主办的《前沿》(Frontiers)系列英文学术期刊,于2006年正式创刊,以网络版和印刷版向全球发行。系列期刊包括基础app、明升m88app、工程技术和人文社会app四个主题,是我国覆盖学科最广泛的英文学术期刊群,其中13种被SCI收录,其他也被A&HCI、Ei、MEDLINE或相应学科国际权威检索系统收录,具有一定的国际学术影响力。系列期刊采用在线优先出版方式,保证文章以最快速度发表。

明升中国学术前沿期刊网

 
 
 
特别声明:本文转载仅仅是出于传播信息的需要,并不意味着代表本网站观点或证实其内容的真实性;如其他媒体、网站或个人从本网站转载使用,须保留本网站注明的“来源”,并自负版权等法律责任;作者如果不希望被转载或者联系转载稿费等事宜,请与我们接洽。
 
 打印  发E-mail给: 
    
 
相关手机版 相关论文

图片手机版
>>更多
 
一周手机版排行
 
编辑部推荐博文