LockDoc is an approach to extract locking rules for kernel data structures from a dynamic execution trace recorded while the system is under a benchmark load. These locking rules can e.g. be used to locate synchronization bugs. For high rule precision and thorough bug finding, the approach heavily depends on the choice of benchmarks: They must trigger the execution of as much code as possible in the kernel subsystem relevant for the targeted data structures. However, existing test suites such as those provided by the Linux Test Project (LTP) only achieve -- in the case of LTP -- about 35 percent basic-block coverage for the VFS subsystem, which is the relevant subsystem when extracting locking rules for filesystem-related data structures. In this article, we discuss how to complement the LTP suites to improve the code coverage for our LockDoc scenario. We repurpose syzkaller -- a coverage-guided fuzzer with the goal to validate the robustness of kernel APIs -- to 1) not aim for kernel crashes, and to 2) maximize code coverage for a specific kernel subsystem. Thereby, we generate new benchmark programs that can be run in addition to the LTP, and increase VFS basic-block coverage by 26.1 percent.


翻译:LockDoc 是一种从系统处于基准负荷下时所记录的动态执行轨迹中提取内核数据结构锁定规则的方法。 这些锁定规则可以用于定位同步错误。 对于高规则精度和彻底的错误发现, 方法在很大程度上取决于基准的选择: 它们必须触发与目标数据结构相关的内核子系统中尽可能多的代码。 然而, Linux 测试项目(LTP)提供的那些现有测试套件,如Linux 测试项目提供的套件,只能达到 -- -- 就LTP而言 -- -- VFS 子系统在为文件系统相关数据结构提取锁定规则时,是相关的子系统。 在文章中,我们讨论如何补充 LTP 套件,以改进我们锁定Doc 情景的代码覆盖。 我们重新使用 syzkaller -- -- 覆盖制导的模糊器,目的是验证内核崩溃的坚固性 -- -- 至1个不是针对内核碰撞的,而2个是特定内核子子子系统的最大代码覆盖。 因此, 我们用新的FS IP1 来设定新的 L 基底基程序。

0
下载
关闭预览

相关内容

专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
17+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
75+阅读 · 2020年7月26日
商业数据分析,39页ppt
专知会员服务
157+阅读 · 2020年6月2日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
143+阅读 · 2019年10月12日
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Xsser 一款自动检测XSS漏洞工具
黑白之道
14+阅读 · 2019年8月26日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
15+阅读 · 2018年12月24日
LibRec 精选:推荐的可解释性[综述]
LibRec智能推荐
10+阅读 · 2018年5月4日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
carla无人驾驶模拟中文项目 carla_simulator_Chinese
CreateAMind
3+阅读 · 2018年1月30日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
Arxiv
0+阅读 · 2021年11月5日
Arxiv
0+阅读 · 2021年11月4日
Arxiv
0+阅读 · 2021年11月3日
Arxiv
5+阅读 · 2018年4月22日
VIP会员
相关资讯
LibRec 精选:AutoML for Contextual Bandits
LibRec智能推荐
7+阅读 · 2019年9月19日
Xsser 一款自动检测XSS漏洞工具
黑白之道
14+阅读 · 2019年8月26日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
15+阅读 · 2018年12月24日
LibRec 精选:推荐的可解释性[综述]
LibRec智能推荐
10+阅读 · 2018年5月4日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
carla 学习笔记
CreateAMind
9+阅读 · 2018年2月7日
carla无人驾驶模拟中文项目 carla_simulator_Chinese
CreateAMind
3+阅读 · 2018年1月30日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】树莓派/OpenCV/dlib人脸定位/瞌睡检测
机器学习研究会
9+阅读 · 2017年10月24日
Top
微信扫码咨询专知VIP会员