【论文速读】| MOCK:上下文依赖引导的内核模糊测试

本次分享论文为:MOCK: Optimizing Kernel Fuzzing Mutation with Context-aware Dependency

基本信息

原文作者:Jiacheng Xu,Xuhong Zhang,Shouling Ji,Yuan Tian,Binbin Zhao, Qinying Wang,Peng Cheng,Jiming Chen

作者单位:浙江大学、加州大学洛杉矶分校、佐治亚理工学院

关键词:内核模糊测试、变异、上下文相关依赖

原文链接:

https://dx.doi.org/10.14722/ndss.2024.23131

开源代码:

https://github.com/m0ck1ng/mock

论文要点

论文简介:本文介绍了一种创新的内核模糊测试框架——MOCK。通过学习历史系统调用序列的上下文依赖并生成基于上下文的系统调用序列来优化变异过程,MOCK显著提高了分支覆盖率、输入质量和漏洞发现能力。

研究背景:内核是现代操作系统的核心,其复杂性常导致安全漏洞。传统模糊测试方法在处理系统调用序列时,缺乏对后续依赖的考量,使得它们难以有效触发深层代码和漏洞。

研究贡献:

1.提出了一种系统调用间依赖的上下文捕获建模方法,能够准确地捕获系统调用之间的依赖关系。

2.开发了MOCK框架,该框架融合了拓扑的模型指导依赖学习算法、上下文加载的系统调用序列变异语言算法和自适应任务调度策略,从而优化了内核模糊测试的效率。

3.通过在最新Linux内核上的评估,验证了MOCK的有效性,成功发现了15个独特的漏洞,包括两个CVE。

引言

内核安全对计算机系统的整体安全至关重要。MOCK通过学习和应用系统调用序列的下游依赖,有效提升了模糊测试(Fuzzing)的效率和成果,尤其是在生成能触发核心代码路径的系统调用序列方面表现出显著优势。

背景知识

本文介绍了内核模糊测试的基础知识、面临的挑战以及现有方法的限制,特别指出了现有方法在处理系统调用链路的下游依赖方面的不足。MOCK旨在通过下游的依赖分析来优化这一个过程。

论文方法

理论背景:通过将系统调用建模为条件概率,MOCK能够准确地捕获系统调用间的依赖关系。

方法实现:MOCK集成了自定义的模型指导依赖学习算法、上下文加载的系统调用序列变量语言算法和自适应任务调度策略,以优化内核模糊测试过程。

实验

实验设置:在最新版本的Linux内核上评估了MOCK的性能,并与当前先进的Fuzzer(如Syzkaller和HEALER)进行了比较。

实验结果:MOCK在分支覆盖率、输入质量和独特漏洞发现数量上均超过了对比的Fuzzers,特别是在发现需要长序列交叉的复杂漏洞方面显示出实验优势。

论文结论

通过MOCK通过上下文采集的系统调用依赖分析和优化,显著提高了内核Fuzzing的效率和成果。尤其在提高分支覆盖率、生成高质量输入和发现新漏洞方面表现出色,对未来的内核安全研究具有重要意义。

原作者:论文解读智能体

润色:Fancy

校对:小椰风

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/537588.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu 23.04 安装 中文输入法

1、安装 fcitx sudo apt install fcitxfcitx 安装好后,可以使用 fcitx-configtool 命令进行配置,其界面如下所示。在这里可以配置不同输入法的切换快捷键,默认输入法等。刚安装系统后,这里只有一个输入法,所以接下来要…

如何建立自己的会员系统_打造专属会员系统

打造专属会员系统,尊享无限特权与惊喜 在如今信息爆炸的时代,无论是线上还是线下,各种服务、产品层出不穷,如何才能在激烈的市场竞争中脱颖而出,吸引并留住客户呢?答案就是——建立自己的会员系统。今天&a…

北大核心期刊《思想政治课教学》投稿有什么要求?

北核《思想政治课教学》收职教、中专、大学、中小学,职称没要求,学生可以 探寻智慧之源,倾听思想之声,欢迎投稿《思想政治课教学》。我们致力于搭建一个开放、前沿的学术交流平台,汇聚国内外思想政治课教学的最新研究成…

AP AUTOSAR 执行管理的秘密揭晓

本文主要分享执行管理和状态管理以及操作系统接口模块,这些功能集群是Adaptive AUTOSAR的核心部分。你们可能会问,什么是执行管理和状态管理?它们是不是很复杂很高深?其实不然,它们就像是你的汽车的大脑和心脏,它们控制着你的汽车软件的启动、运行和停止,以及与你的汽车…

SecureCRT出现乱码的解决方法

SecureCRT是一个商业终端连接工具,它支持多种自定义设置。默认设置下,通过SecureCRT连接SSH服务器可能出现中文乱码的情况。这是由于SecureCRT字符编码与服务器的字符编码不一致造成的。 当然解决这个问题也很简单,将SecureCRT字符编码设置成…

【Python】成功解决NameError: name ‘sns‘ is not defined

【Python】成功解决NameError: name ‘sns’ is not defined 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您…

MTK安卓开发板_联发科开发板评估套件_安卓主板硬件开发

在介绍开发板之前,让我们先来区分一下核心板和开发板的区别。核心板是一种集成度高、功能完整的计算模块,搭载系统,简化了外围接口,体积尺寸相对较小,主要适用于嵌入式系统。而开发板由核心板底板组成,提供…

使用Barrier共享鼠标键盘,通过macos控制ubuntu系统

之前文章写过如何使用barrrier通过windows系统控制ubuntu系统,该文章将详细介绍如何使用barrier通过macos系统控制ubuntu系统 一、macOS安装barrier macOS版本barrier链接 1、双击点开安装包 2、将安装包里的barrier拷贝到macOS的达达->应用程序中 3、在达达…

奋斗不止,梦想不息——漫漫发展征途中的奋斗与追求

在人类历史的长河中,每一个辉煌的成就都凝聚着无数人的奋斗与努力。无论是科技的飞速进步,还是文化的灿烂繁荣,都离不开一代代人的坚持与拼搏。漫漫发展征途,惟有奋斗不辍,这一真理,深刻地揭示了人类社会发…

3.Linux/UNIX平台Python的下载、安装和配置环境变量——《跟老吕学Python编程》

3.Linux/UNIX平台Python的下载、安装和配置环境变量——《跟老吕学Python编程》 一、下载Linux/UNIX版Python1.Python官网2.Linux/UNIX版Python下载网址 二、在Linux/UNIX安装Python1.在Ubuntu Linux安装Python1.1 检查Python版本1.2 高级包管理工具1.3 添加存储库1.4 更新软件…

永洪Desktop:电子表格与商业智能完美融合,打造高效数据处理与分析新体验

在数字化时代,电子表格和商业智能(BI)是企业数据处理和分析不可或缺的工具。永洪Desktop作为一款领先的商业智能工具,通过将电子表格与敏捷BI完美结合,为企业提供了高效、灵活的数据处理和分析解决方案。 想象一下&…

创建SpringCloudGateWay

创建SpringCloudGateWay 本案例基于尚硅谷《谷粒商城》项目&#xff0c;视频27 创建测试API网关 1、创建module 2、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:x…