Skip to main content
QUICK REVIEW

[论文解读] ROPNN: Detection of ROP Payloads Using Deep Neural Networks

Xusheng Li, Zhisheng Hu|arXiv (Cornell University)|Jul 29, 2018
Security and Verification in Computing参考文献 48被引用 9
一句话总结

ROPNN 是一种基于深度学习的入侵检测系统,通过结合地址空间布局(ASL)引导的反汇编与卷积神经网络(CNN),检测 ROP 指令流,将潜在的汇编小工具链分类为恶意或良性。其检测率达 99.3%,误报率为 0.01%,且运行时开销为零,因此在实际部署中极具有效性与实用性。

ABSTRACT

Return-oriented programming (ROP) is a code reuse attack that chains short snippets of existing code to perform arbitrary operations on target machines. Existing detection methods against ROP exhibit unsatisfactory detection accuracy and/or have high runtime overhead. In this paper, we present ROPNN, which innovatively combines address space layout guided disassembly and deep neural networks to detect ROP payloads. The disassembler treats application input data as code pointers and aims to find any potential gadget chains, which are then classified by a deep neural network as benign or malicious. Our experiments show that ROPNN has high detection rate (99.3%) and a very low false positive rate (0.01%). ROPNN successfully detects all of the 100 real-world ROP exploits that are collected in-the-wild, created manually or created by ROP exploit generation tools. Additionally, ROPNN detects all 10 ROP exploits that can bypass Bin-CFI. ROPNN is non-intrusive and does not incur any runtime overhead to the protected program.

研究动机与目标

  • 解决现有 ROP 检测方法的局限性,这些方法通常难以同时满足高检测准确率、低误报率、低运行时开销以及最小化程序修改的要求。
  • 克服启发式、基于签名、CFI 和统计检测方法的不足,这些方法普遍存在可绕过性、高开销或缺乏透明性的问题。
  • 开发一种高准确率且非侵入式的检测系统,适用于无需修改受保护程序的生产环境部署。
  • 利用深度学习实现对小工具链的端到端分类,无需手动特征工程或阈值调优。
  • 确保与现代防护机制(如 ASLR)兼容,并通过在网络栈中的战略性部署,支持在加密流量环境中的应用。

提出的方法

  • 使用 ASL 引导的反汇编技术,将应用程序输入数据视为代码指针,从网络流量中提取潜在的小工具链。
  • 构建一个反汇编器,能够将以 'ret' 指令结尾的指令序列识别为候选小工具,即使这些序列位于数据区域中。
  • 将提取出的小工具链输入至深度卷积神经网络(CNN)中,进行二分类:'恶意 ROP 指令流' 或 '良性数据'。
  • 使用最小预处理的数据对 CNN 进行端到端训练,避免手动特征工程和阈值配置。
  • 将 ROPNN 部署为独立的网络入侵检测系统(IDS),独立于受保护程序运行,确保零运行时开销且无需修改目标环境。
  • 支持反汇编与动态内存快照更新的并行化处理,以在 ASLR 环境下保持检测准确性,并支持高达 665 Mb/s 的高吞吐量流量。

实验结果

研究问题

  • RQ1深度神经网络能否有效应用于检测 ROP 指令流,实现高准确率与低误报率?
  • RQ2能否构建一种非侵入式、零运行时开销的检测系统,无需修改受保护程序或其执行环境?
  • RQ3ASL 引导的反汇编方法在不预先知晓代码布局的情况下,识别网络输入数据中潜在小工具链的有效性如何?
  • RQ4ROPNN 是否能够检测到手动编写和自动生成的 ROP 利用工具,包括那些可绕过现有防御机制(如 Bin-CFI)的攻击?
  • RQ5ROPNN 在真实环境下的表现如何,包括在加密流量和动态内存布局(如 ASLR 所强制的布局)下的表现?

主要发现

  • ROPNN 对从真实世界收集的 100 个 ROP 漏洞利用样本(包括手动编写或通过 ROP 生成工具创建的样本)实现了 99.3% 的检测率。
  • 系统报告的误报率极低,仅为 0.01%,表明其在区分良性数据与恶意指令流方面具有极高的精确度。
  • ROPNN 成功检测出所有 10 个旨在绕过 Bin-CFI 的 ROP 利用样本,表明其对高级绕过技术具有强大抗性。
  • 反汇编器的吞吐量达到 665 Mb/s,CNN 每秒可分类 27,000 个潜在小工具链,平均仅 13 个/秒被送入分类器。
  • 该系统对受保护程序不引入任何运行时开销,可独立部署,具有透明性与非侵入性。
  • ROPNN 在 ASLR 环境下依然有效,因其使用指令级特征而非地址,且在程序重启时动态更新内存快照。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。