Robustness is a key concern for Rust library development because Rust promises no risks of undefined behaviors if developers use safe APIs only. Fuzzing is a practical approach for examining the robustness of programs. However, existing fuzzing tools are not directly applicable to library APIs due to the absence of fuzz targets. It mainly relies on human efforts to design fuzz targets case by case which is labor-intensive. To address this problem, this paper proposes a novel automated fuzz target generation approach for fuzzing Rust libraries via API dependency graph traversal. We identify several essential requirements for library fuzzing, including validity and effectiveness of fuzz targets, high API coverage, and efficiency. To meet these requirements, we first employ breadth-first search with pruning to find API sequences under a length threshold, then we backward search longer sequences for uncovered APIs, and finally we optimize the sequence set as a set covering problem. We implement our fuzz target generator and conduct fuzzing experiments with AFL++ on several real-world popular Rust projects. Our tool finally generates 7 to 118 fuzz targets for each library with API coverage up to 0.92. We exercise each target with a threshold of 24 hours and find 30 previously-unknown bugs from seven libraries.


翻译:强力是鲁斯特图书馆发展的关键关切, 因为鲁斯特( Rust) 不承诺如果开发者只使用安全的 API, 就会有未定义的行为风险。 模糊是检查程序是否稳健的实用方法。 但是, 由于没有模糊的目标, 现有的模糊工具并不直接适用于图书馆 API 。 它主要依靠人的努力来设计模糊目标, 具体个案是劳动密集型的。 为了解决这个问题, 本文建议了一个新的自动化的自动模糊目标生成方法, 通过 API 依赖性图 Traperal 来模糊鲁斯特 图书馆。 我们确定了图书馆模糊的几项基本要求, 包括模糊目标的有效性和有效性、 高 API 覆盖率和效率。 为了满足这些要求, 我们首先使用宽度的第一次搜索, 在长度阈值下找到 API 序列, 然后我们向后向后搜索被破获的 API 的更长时间序列, 最后我们优化了设置的序列, 以覆盖问题来覆盖问题。 我们实施了我们的模糊目标, 与 AFL++ 在若干真实世界流行的 Rest 项目中进行模糊的实验。 我们的工具最终生成了 7至118 30 目标, 每个图书馆都以 0. 2 。

0
下载
关闭预览

相关内容

Rust 是一种注重高效、安全、并行的系统程序语言。
专知会员服务
46+阅读 · 2020年10月31日
因果图,Causal Graphs,52页ppt
专知会员服务
253+阅读 · 2020年4月19日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
182+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
已删除
将门创投
3+阅读 · 2019年4月19日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
老铁,邀请你来免费学习人工智能!!!
量化投资与机器学习
4+阅读 · 2017年11月14日
Arxiv
0+阅读 · 2021年12月20日
Arxiv
0+阅读 · 2021年12月20日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
VIP会员
最新内容
2025年大语言模型进展报告
专知会员服务
1+阅读 · 今天13:30
多智能体协作机制
专知会员服务
1+阅读 · 今天13:26
非对称优势:美海军开发低成本反无人机技术
专知会员服务
4+阅读 · 今天4:39
《美战争部小企业创新研究(SBIR)计划》
专知会员服务
6+阅读 · 今天2:48
《军事模拟:将军事条令与目标融入AI智能体》
专知会员服务
9+阅读 · 今天2:43
【NTU博士论文】3D人体动作生成
专知会员服务
7+阅读 · 4月24日
以色列军事技术对美国军力发展的持续性赋能
专知会员服务
8+阅读 · 4月24日
《深度强化学习在兵棋推演中的应用》40页报告
专知会员服务
14+阅读 · 4月24日
《多域作战面临复杂现实》
专知会员服务
10+阅读 · 4月24日
《印度的多域作战:条令与能力发展》报告
专知会员服务
5+阅读 · 4月24日
相关VIP内容
专知会员服务
46+阅读 · 2020年10月31日
因果图,Causal Graphs,52页ppt
专知会员服务
253+阅读 · 2020年4月19日
开源书:PyTorch深度学习起步
专知会员服务
51+阅读 · 2019年10月11日
强化学习最新教程,17页pdf
专知会员服务
182+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
94+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
相关资讯
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
已删除
将门创投
3+阅读 · 2019年4月19日
Unsupervised Learning via Meta-Learning
CreateAMind
44+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
18+阅读 · 2018年12月24日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
老铁,邀请你来免费学习人工智能!!!
量化投资与机器学习
4+阅读 · 2017年11月14日
Top
微信扫码咨询专知VIP会员