paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Input-Driven Dynamic Program Debloating for Code-Reuse Attack Mitigation

面向代码复用攻击缓解的输入驱动动态程序去膨胀
FSE Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering2023匹配度 2/10 · 该论文关注代码复用攻击缓解与库函数去膨胀,使用 CNN 根据输入预测所需库函数;虽标签含“机器学习与程序语言”,但不涉及用户核心关注的静态分析、LLM/Agent 改进程序分析、浮点程序分析或贝叶斯程序分析,仅与“机器学习辅助程序分析”有非常边缘的关联。引用 4 inbox
Xiaoke Wang, Tao Hui, Lei Zhao, Yueqiang Cheng
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出 Picup,在获得输入后立即用 CNN 预测所需库函数并裁剪未用代码,以缓解代码复用攻击。

现代软件和库存在严重代码膨胀,未使用代码既引入漏洞,又便于攻击者构造代码复用攻击。现有去膨胀方法或静态保留所有预期输入所需代码,或依赖易被攻击者操纵的运行时上下文。本文提出 Picup:观察到程序行为主要由输入决定,因此在获得输入后立即预测所需库函数,在攻击者影响决策数据前删除未用代码。Picup 使用带注意力机制的 CNN 从输入中提取关键字节并映射到库函数。在真实基准和流行应用上,预测准确率为 97.56%,平均减少 87.55% 代码体积,开销较低,表明其安全、有效且实用。

问题
现代软件与库代码膨胀严重,未用代码会引入漏洞并帮助攻击者构造代码复用攻击;现有静态或运行时去膨胀方法分别存在残留未用代码或决策数据可被攻击者操纵的问题。
方法
Picup 采用输入驱动的动态去膨胀:在获取输入后立即用带注意力机制的 CNN 从输入中提取关键字节,预测所需库函数,并在攻击者影响决策数据前删除未用代码。
评估
作者在真实基准和流行应用上评估 Picup,报告库函数预测准确率达 97.56%,平均减少 87.55% 代码体积,且运行时开销较低。
原文摘要(Abstract)

Modern software is bloated, especially for libraries. The unnecessary code not only brings severe vulnerabilities, but also assists attackers to construct exploits. To mitigate the damage of bloated libraries, researchers have proposed several debloating techniques to remove or restrict the invocation of unused code in a library. However, existing approaches either statically keep code for all expected inputs, which leave unused code for each concrete input, or rely on runtime context to dynamically determine the necessary code, which could be manipulated by attackers. In this paper, we propose Picup, a practical approach that dynamically customizes libraries for each input. Based on the observation that the behavior of a program mainly depends on the given input, we design Picup to predict the necessary library functions immediately after we get the input, which erases the unused code before attackers can affect the decision-making data. To achieve an effective prediction, we adopt a convolutional neural network (CNN) with attention mechanism to extract key bytes from the input and map them to library functions. We evaluate Picup on real-world benchmarks and popular applications. The results show that we can predict the necessary library functions with 97.56% accuracy, and reduce the code size by 87.55% on average with low overheads. These results indicate that Picup is a practical solution for secure and effective library debloating.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{WangHZC23,
  title = {Input-Driven Dynamic Program Debloating for Code-Reuse Attack Mitigation},
  author = {Xiaoke Wang and Tao Hui and Lei Zhao and Yueqiang Cheng},
  booktitle = {FSE},
  year = {2023},
  doi = {10.1145/3611643.3616274}
}