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 finally find 30 previously-unknown bugs from seven libraries.


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

0
下载
关闭预览

相关内容

Rust 是一种注重高效、安全、并行的系统程序语言。
【干货书】Python参考手册,210页pdf
专知会员服务
63+阅读 · 2021年4月30日
【2020新书】Web应用安全,331页pdf
专知会员服务
23+阅读 · 2020年10月24日
专知会员服务
38+阅读 · 2020年9月6日
【新书】Python数据科学食谱(Python Data Science Cookbook)
专知会员服务
113+阅读 · 2020年1月1日
强化学习最新教程,17页pdf
专知会员服务
168+阅读 · 2019年10月11日
已删除
将门创投
3+阅读 · 2020年8月3日
Web渗透测试Fuzz字典分享
黑白之道
20+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
构建离线web应用(二)
前端黑板报
3+阅读 · 2017年12月7日
Arxiv
0+阅读 · 2021年6月2日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
VIP会员
相关资讯
已删除
将门创投
3+阅读 · 2020年8月3日
Web渗透测试Fuzz字典分享
黑白之道
20+阅读 · 2019年5月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
构建离线web应用(二)
前端黑板报
3+阅读 · 2017年12月7日
相关论文
Top
微信扫码咨询专知VIP会员