信息安全领域四大顶会代表了信息安全领域研究的前沿方向,一直备受关注,其论文涵盖的安全领域非常广泛。小编将2024年四大顶会中与fuzz技术相关的论文统计出来以供大家查阅。小编还将此次分享的论文在研究方向上进行了分类,以供大家参考。论文及摘要情况如下。
OptFuzz: Optimization Path Guided Fuzzing for JavaScript JIT Compilers
作者:
Jiming Wang, Yan Kang, Chenggang Wu, Yuhao Hu, Yue Sun, Jikai Ren, Yuanming Lai, Mengyao Xie, Charles Zhang, Tao Li, Zhe Wang
作者机构:
SKLP, Institute of Computing Technology, CAS; University of Chinese Academy of Sciences; Zhongguancun Laboratory; Tsinghua University; Nankai University
所属方向:
对JavaScript的即时编译器的模糊测试
即时编译器(Just-In-Time, JIT)是JavaScript引擎的核心组成部分,它将一段JavaScript代码作为输入,经过一系列优化过程后将其转换为机器代码。这些优化过程通常对目标JavaScript代码有一些假设(例如,变量类型),因此如果这些假设不成立,可能会导致安全漏洞。为了发现此类错误,彻底测试不同的优化过程至关重要,但以往的研究未能做到这一点,主要集中于代码覆盖率的探索。本文提出了一种针对JavaScript JIT编译器的首个优化路径引导模糊测试解决方案,称为OptFuzz,旨在探索优化路径覆盖率。具体而言,我们利用一种优化主路径度量来近似优化路径覆盖率,并将其作为反馈,以指导模糊测试过程中的种子保存和调度。我们已实现OptFuzz的原型,并在四个主流JavaScript引擎上进行了评估。在早期版本的JavaScript引擎上,OptFuzz发现的漏洞数量是基线解决方案的几倍。而在最新的JavaScript引擎上,OptFuzz发现了36个未知漏洞,而基线解决方案则没有发现任何漏洞。
Fuzzing BusyBox: Leveraging LLM and Crash Reuse for Embedded Bug Unearthing
作者:
Asmita, Yaroslav Oliinyk, Michael Scott, Ryan Tsang, Chongzhou Fang, Houman Homayoun
作者机构:
University of CaliforniaDavis, NetRise
所属方向:
对开源软件BusyBox的模糊测试
BusyBox 是一款开源软件,将300多条基本Linux命令整合为一个可执行文件,广泛应用于基于Linux的嵌入式设备中。BusyBox中的漏洞可能带来深远的影响,波及多种设备。本研究受到BusyBox广泛使用的驱动,深入分析了其特性。研究显示,在现实世界的嵌入式产品中,旧版本的BusyBox普遍存在,这促使我们对BusyBox进行模糊测试。模糊测试是一种关键的软件测试方法,旨在诱发崩溃,然后对这些崩溃进行仔细检查,以发现潜在的漏洞。在本研究中,我们提出了两种强化软件测试的技术。第一种技术通过利用大型语言模型(Large Language Models, LLM)生成针对特定目标的初始种子,从而增强模糊测试。我们的研究表明,使用LLM生成的初始种子时,崩溃数量显著增加,突显了LLM在有效应对通常劳动密集型的生成目标特定初始种子任务中的潜力。第二种技术是在对新目标进行模糊测试之前,重新利用先前从类似模糊测试目标中获得的崩溃数据。这种方法通过在开始模糊测试之前直接为新目标提供崩溃数据,简化了耗时的模糊测试过程。我们成功识别了最新BusyBox目标中的崩溃,而无需进行传统的模糊测试,强调了LLM和崩溃数据重用技术在提升软件测试和改善嵌入式系统漏洞检测方面的有效性。此外,还进行了人工分类,以识别最新BusyBox中崩溃的性质。
Towards Generic Database Management System Fuzzing
作者:
Yupeng Yang, Yongheng Chen, Rui Zhong, Jizhou Chen, Wenke Lee
作者机构:
Georgia Institute of Technology, Palo Alto Networks
所属方向:
对非关系型数据库的模糊测试
数据库管理系统在现代网络空间中发挥着不可或缺的作用。近年来,虽然已提出多种模糊测试框架以测试关系型(SQL)数据库管理系统,以提升其安全性,但非关系型(NoSQL)数据库管理系统尚未经历同样的审查,且普遍缺乏有效的测试解决方案。在本研究中,我们识别出现有方法在有效扩展到数据库管理系统模糊测试时的三大局限:缺乏通用性、使用静态约束和生成松散的数据依赖。随后,我们提出了有效的解决方案来应对这些局限性。我们将这些解决方案实现为一个端到端的模糊测试框架BUZZBEE,该框架能够有效地对关系型和非关系型数据库管理系统进行模糊测试。BUZZBEE在四种不同数据模型的八个数据库管理系统中成功发现了40个漏洞,其中25个漏洞已被修复,并分配了4个新的CVE。在我们的评估中,BUZZBEE在代码覆盖率方面比最先进的通用模糊测试工具提高了多达177%,并且在非关系型数据库管理系统中发现的漏洞数量是第二佳模糊测试工具的30倍,同时在与关系型数据库管理系统的专用SQL模糊测试工具比较时,BUZZBEE也取得了可比的结果。
HYPERPILL: Fuzzing for Hypervisor-bugs by Leveraging the Hardware Virtualization Interface
作者:
Alexander Bulekov, Qiang Liu, Manuel Egele, Mathias Payer
作者机构:
EPFL; Boston University; Zhejiang University; Amazon
所属方向:
对任意虚拟机监控器的通用模糊测试方法
云计算的安全保障依赖于底层虚拟机监控器(hypervisors)的隔离保障。以往的研究提出了有效的方法来自动识别虚拟机监控器中的漏洞,然而,这些方法的适用范围有限。例如,它们实现通常是特定于某种虚拟机监控器的,受限于对详细语法的要求、对源代码的访问以及对虚拟机监控器行为的假设。在实际应用中,复杂的闭源和较新的开源虚拟机监控器通常不适合现成的模糊测试技术。
HYPERPILL提出了一种针对任意虚拟机监控器的通用模糊测试方法。HYPERPILL利用了一个洞见,即尽管虚拟机监控器的实现各异,但所有虚拟机监控器都依赖于相同的底层硬件虚拟化接口来管理虚拟机。为利用这一硬件虚拟化接口,HYPERPILL对虚拟机监控器进行了快照,检查快照的硬件状态以枚举虚拟机监控器的输入空间,并在模拟环境中利用反馈引导的快照模糊测试来识别任意虚拟机监控器中的漏洞。
在我们的评估中,我们发现HYPERPILL不仅是首个能够识别任意虚拟机监控器中所有主要攻击面(即PIO/MMIO/Hyper调用/DMA)漏洞的虚拟机监控器模糊测试工具,而且由于HYPERPILL基于仿真的方法提供的反馈粒度,其性能优于依赖于源代码访问的最先进方法。在覆盖率方面,HYPERPILL在10/12个QEMU设备上的表现超越了以往的模糊测试工具,而无需以往研究所要求的API钩取或源代码插桩技术。HYPERPILL在最近版本的QEMU、Hyper-V和macOS虚拟化框架中识别了四个设备类别中的26个新漏洞。
SDFuzz: Target States Driven Directed Fuzzing
作者:
Penghui Li, Wei Meng, Chao Zhang
作者机构:
Indiana University Bloomington, Renmin University of China
所属方向:
定向驱动的模糊测试工具
****定向模糊测试工具常常不必要地探索那些无法触发目标漏洞的程序代码和路径。我们观察到,定向模糊测试的主要应用场景提供了详细的漏洞描述,从中可以推导出高度有价值的程序状态(即目标状态),例如,当漏洞被触发时的调用踪迹。通过驱动以暴露这些目标状态,定向模糊测试工具可以排除大量不必要的探索。
基于这一观察,我们提出了SDFUZZ,一种由目标状态驱动的高效定向模糊测试工具。SDFUZZ首先自动提取漏洞报告和静态分析结果中的目标状态。然后,SDFUZZ采用选择性插桩技术,将模糊测试范围缩小到达到目标状态所需的代码。SDFUZZ在探测到剩余执行无法到达目标状态后,便会提前终止测试用例的执行。此外,它还引入了一种新的目标状态反馈机制,并将之前不精确的距离度量细化为二维反馈机制,以主动驱动探索朝向目标状态。
我们对SDFUZZ在已知漏洞上的表现进行了全面评估,并与相关工作进行了比较。结果表明,SDFUZZ在触发更多漏洞的同时,减少了所需时间,从而提高了漏洞暴露能力,优于当前最先进的解决方案。SDFUZZ显著提升了模糊测试的吞吐量。我们将SDFUZZ应用于自动验证静态分析结果,成功发现了四个新漏洞,这些漏洞在经过充分测试的应用程序中被发现,其中三个已得到开发者的确认。
Critical Code Guided Directed Greybox Fuzzing for Commits
作者:
Yi Xiang, Xuhong Zhang, Peiyu Liu, Shouling Ji, Xiao Xiao, Hong Liang, Jiacheng Xu, Wenhai Wang
作者机构:
Zhejiang University, Zhejiang University NGICS Platform, Jianghuai Advance Technology Center
所属方向:
针对代码的定向灰盒模糊测试工具
****新提交的代码更改容易引入程序中的漏洞。作为一种有效的对策,可以使用定向灰盒模糊测试工具,通过将代码更改位置指定为目标,来测试这些更改。然而,现有的定向模糊测试工具主要集中在到达单一目标上,而忽视了对额外受影响代码的多样化探索。因此,它们可能会忽略在与更改位置距离较远的地方崩溃的错误,并且在多目标场景中缺乏针对性,而这在提交测试的上下文中是非常常见的。在本文中,我们提出了WAFLGO,一种直接的灰盒模糊测试工具,旨在有效发现由提交引入的漏洞。WAFLGO采用了一种新颖的关键代码引导输入生成策略,以全面探索受影响的代码。具体而言,我们识别出两种关键代码:路径前缀代码和数据后缀代码。关键代码首先引导输入生成,逐步和逐增地到达更改位置。然后,在保持关键代码可达性的同时,输入生成策略进一步鼓励生成输入的多样性,从而探索受影响的代码。此外,WAFLGO引入了一种轻量级的多目标距离度量,以实现对所有更改位置的直接性和全面性检查。我们实现了WAFLGO,并通过30个由提交引入的真实漏洞对其进行了评估。与八种最先进的工具相比,WAFLGO的平均加速比为10.3倍。此外,在对libtiff、fig2dev和libming等真实软件最近50个提交的测试中,WAFLGO发现了七个新漏洞,其中包括四个CVE。
Toward Unbiased Multiple-Target Fuzzing with Path Diversity
作者:
Huanyao Rong, Wei You, Xiaofeng Wang, Tianhao Mao
作者机构:
The Chinese University of Hong Kong, Zhongguancun Laboratory, Tsinghua University
所属方向:
定向模糊测试的改进
****定向模糊测试是一种先进的软件测试方法,可以系统地引导针对用户定义目标站点的模糊测试活动,从而能够有效发现与这些站点相关的漏洞。然而,我们观察到在频繁使用生成测试用例来测试有缺陷的站点时,定向模糊测试难以检测到一些较为复杂的漏洞,因为触发这些漏洞需要在程序的相关位置执行额外的代码。此外,在对多个目标进行模糊测试时,定向模糊中现有的能量分配缺乏精度,并且不能确保目标之间的能量分配的公平性,这导致在一些更深层的目标上花费的模糊测试工作量不足。
在这篇文章中,我们提出了一种新颖的定向模糊测试解决方案AFLRun,它具有目标路径多样化度量以及无偏能量分配。首先,我们通过为每个覆盖的目标添加额外的原始位图来跟踪命中目标的种子的覆盖率状态,并以此开发了一种新的覆盖率度量标准。这种方法可以将通过有趣路径命中目标的路径点存储到语料库中,从而丰富每个目标的路径多样性。此外,我们提出了一种语料库级别的能量分配策略,以确保对每个目标的公平性。AFLRUN从均匀的目标权重开始,并将该权重传播到种子,以获得所需的种子权重分布。通过根据这种所需分布为语料库中的每个种子分配能量,可以实现精确且无偏的能量分配。
我们构建了一个原型系统,并使用标准基准测试和几个经过广泛模糊测试的真实应用程序评估其性能。评估结果表明,AFLRUN在漏洞检测的数量和速度上都优于最先进的模糊测试工具。此外,AFLRUN在四个不同的程序中发现了29个先前未识别的漏洞,其中包括8个CVE。
Data Coverage for Guided Fuzzing
作者:
Mingzhe Wang, Jie Liang, Chijin Zhou, Zhiyong Wu, Jingzhou Fu, Zhuo Su, Qing Liao, Bin Gu, Bodong Wu, Yu Jiang
作者机构:
Tsinghua University,Harbin Institute of Technology,Beijing Institute of Control Engineering, Huawei Technologies Co.,Ltd
所属方向:
使用数据覆盖率引导的模糊测试
****代码覆盖率对于模糊测试十分重要。它帮助模糊器识别那些最有可能出现bug且未被探索到的程序区域。然而代码覆盖率只反映了程序结构中的一小部分。许多关键的程序构造,例如约束条件、自动机和图灵完备的领域特定语言,都作为常量数据嵌入在程序中。然而这些数据并不能被代码覆盖率有效地反映出来,它们仍是当今模糊测试所面对的一大主要挑战。
为了解决这个挑战,我们提出了数据覆盖率指导的模糊测试。这种方式的理念是去探测新的数据引用并最大化他的覆盖率。然而,广泛使用的常量数据如果不小心处理的话会对模糊测试的吞吐量产生显著的影响。为了解决这个问题,我们根据语义对数据访问进行分类,并设计客制化的收集策略,来优化实际的模糊测试实践。我们也开发了新颖的存储与利用技术用于提升模糊测试的效率。最后,我们利用数据覆盖来改进了Libfuzzer,并将其提交给了Google的FuzzBench以作评估。我们的方法优于许多当前先进的模糊器,并在实验中获得了最高的覆盖率得分。此外,我们在使用代码覆盖率充分模糊测试的OSS-Fuzz项目中发现了28个此前未知的漏洞。
ResolverFuzz: Automated Discovery of DNS Resolver Vulnerabilities with Query-Response Fuzzing
作者:
Qifan Zhang, Xuesong Bai, Xiang Li, Haixin Duan, Qi Li, Zhou Li
作者机构:
University of California, Irvine, Tsinghua University, Zhongguancun Laboratory, Quan Cheng Laboratory
所属方向:
对DNS解析器的模糊测试
****DNS是互联网的一个重要组成部分。DNS解析器充当DNS客户端和DNS名称服务器之间的缓存,是DNS基础设施的核心部分,其对于DNS的可扩展性至关重要。然而,找到DNS解析器中的漏洞并非易事,并且当前的工具并不能很好的解决这个问题。这里举出几个原因,首先,大多数已知的解析器漏洞都是不能被现有的检测工具(或sanitizer)直接检测到的非崩溃型漏洞。其次,缺乏严格的规范可作为参考来将测试用例分类为解析器漏洞。最后,DNS解析器是有状态的,而状态化的模糊测试现在仍因其巨大的输入空间而面临着不小的挑战。
本篇文章中,我们展示了一种叫做RESOLVERFUZZ的新型模糊测试系统来解决上面提到的各种挑战,并开发了一套新的技术。首先,RESOLVERFUZZ通过关注较短的查询-响应序列来进行有状态的模糊测试,基于我们对已发布DNS CVE的研究,这被证明是发现解析器漏洞的最有效方法。其次,为了生成出更有可能触发解释器漏洞的测试用例,我们将基于输入生成概率上下文无关语法(PCFG)与对查询与回应消息字节级别的变异相结合。最后,我们利用差异测试和聚类来识别非崩溃型的漏洞,例如缓存投毒。我们对RESOLVERFUZZ在4种解析器模式下对6个主流DNS软件进行了评估。总的来说,我们识别出了23种可能导致内存投毒,资源消耗以及崩溃攻击的漏洞。在官方的披露后,其中19个漏洞已被确认或修复,并被分配了15个CVE编号。
Understanding Ethereum Mempool Security under Asymmetric DoS by Symbolized Stateful Fuzzing
作者:
Yibo Wang, Yuzhe Tang, Kai Li, Wanning Ding
作者机构:
Syracuse University, San Diego State University
所属方向:
内存池模糊测试
****在区块链中,内存池控制着交易在达成共识之前的流动,拒绝服务攻击会损害区块链网络的健壮和安全。本文提出了MPFUZZ,这是第一个内存池模糊测试工具,通过探索符号化的内存池状态空间并乐观地估计中间状态到达漏洞检测目标的潜力,来发现不对称的DoS漏洞。与基准区块链模糊测试工具相比,MPFUZZ在发现已知DETER漏洞方面实现了超过100倍的速度提升。在主要的以太坊客户端上运行MPFUZZ发现了新的内存池漏洞,这些漏洞展现了各种复杂的模式,包括隐秘的内存池驱逐和内存池锁定。本文也针对所有新发现的漏洞,提出了基于规则的缓解方案。
Atropos: Effective Fuzzing of Web Applications for Server-Side Vulnerabilities
作者:
Emre Güler, Sergej Schumilo, Moritz Schloegel, Nils Bars, Philipp Görz, Xinyi Xu, Cemal Kaygusuz, Thorsten Holz
作者机构:
Ruhr University Bochum, Ruhr University Bochum
所属方向:
对Web应用服务器端的模糊测试
****服务器端web应用程序仍主要以PHP语言实现。即使是现在,以PHP为基础的web应用也被大量不同的安全漏洞所困扰,这些漏洞的范围从SQL注入到文件包含以及远程代码执行。自动化的安全测试方法通常集中于静态检查以及污点分析。这些方法都高度依赖于对PHP语言的准确建模,并且经常受到(可能很多)误报的影响。有趣的是,尽管动态测试技术如模糊测试能够避免这些常见问题并迅速被其他领域(例如,C/C++编写的本地应用程序的测试)采纳,但在Web应用程序测试中却并未获得认可。
在这片文章中,我们展示了ATROPOS,这是一种基于快照的反馈驱动的模糊测试方法,专为基于PHP的Web应用程序量身定制。我们的方法考虑了Web应用程序面临的挑战,例如维护会话状态和生成高度结构化的输入。此外,我们提出了一种反馈机制,以自动推断Web应用程序使用的键值结构。结合八个新的错误检测机制,每个机制覆盖服务器端Web应用程序中一种常见的漏洞类别,ATROPOS成为第一个能够有效和高效地对Web应用程序进行模糊测试的方法。我们的评估显示,ATROPOS在Web应用程序测试中显著超越了当前的先进水平。特别是,它平均发现至少32%的更多漏洞,同时在不同的测试套件中没有报告任何误报。在分析现实世界的Web应用程序时,我们识别出七个以前未知的漏洞,这些漏洞甚至可以被未经身份验证的用户利用。
From One Thousand Pages of Specification to Unveiling Hidden Bugs: Large Language Model Assisted Fuzzing of Matter IoT Devices
作者:
Xiaoyue Ma, Lannan Luo, Qiang Zeng
作者机构:
George Mason University
所属方向:
对于物联网连接标准Matter的模糊测试
******Matter是一个由超过两百家公司支持的物联网连接标准。自2022年10月发布其规范以来,许多物联网设备已经可以兼容Matter。**因此,识别Matter设备中的漏洞和弱点成为一个新兴的重要问题。本文介绍了mGPTFuzz,这是文献资料中第一个Matter模糊测试工具。我们的方法利用了Matter规范中的大量详细信息来引导测试输入的生成。然而,由于Matter规范的篇幅庞大,超过一千页,手动将人类可读内容转换为机器可读信息既繁琐又耗时,且容易出错。为了解决这个挑战,我们利用大型语言模型成功地自动化了转换过程。mGPTFuzz进行状态分析,生成消息序列以发现其他方法难以发现的漏洞。评估涉及23种不同的Matter设备,发现了147个新漏洞,其中三个被分配了CVE编号。相比之下,最先进的物联网模糊测试工具在这些设备上未发现任何漏洞。
SHiFT: Semi-hosted Fuzz Testing for Embedded Applications
作者:
Alejandro Mera, Changming Liu, Ruimin Sun, Engin Kirda, Long Lu
作者机构:
Northeastern University, Florida International University, Northeastern University
所属方向:
嵌入式设备模糊测试
物联网时代,现代微控制器**(MCU)在关键的嵌入式应用中无处不在。因此,MCU固件的保护是重要的。为了分析MCU固件的安全性,现有的工作大多采用基于重新托管的技术。这些技术将固件移植到工程平台上,需要定制的硬件或模拟MCU的不同部分。结果,安全从业者发现这种技术低保真、误报率高,并与真实和复杂的硬件的兼容性降低。**
本文介绍了SHIFT,这是一个利用行业半托管的框架,提供了一种全新的方法,可以在MCU中本地分析固件。这种新方法提供了高保真度,减少了误报,并提供了与复杂外围设备、异步事件、实时操作和直接内存访问 (DMA) 的兼容性。我们验证了SHIFT与13种流行的嵌入式架构的兼容性,并充分评估了ARMv7-M、ARMv8-M和Xtensa架构的原型。我们的评估表明,SHIFT可以通过在MCU中本地运行的组件检测大部分的固件故障。在性能方面,SHIFT比基于软件的模拟快两个数量级(即×100),甚至可以与工作站中的模糊测试原生应用程序相媲美。由于SHIFT的独特特性,我们发现了五个以前未知的漏洞,包括流行的FreeRTOS内核上的0-day漏洞,并且没有误报。我们的原型和源代码可在https://github.com/RiS3-Lab/SHIFT公开获得。
Cascade: CPU Fuzzing via Intricate Program Generation
作者:
Flavien Solt, Kaveh Razavi
作者机构:
Katharina Ceesay-Seitz, ETH Zurich
所属方向:
为CPU模糊测试生成测试用例的方法研究
****为CPU模糊测试生成有趣的测试用例类似于生成在CPU内执行不寻常状态的程序。CPU模糊测试的性能受到这些程序的质量和错误检测的开销的影响很大。我们对现有的最先进的CPU模糊器的分析表明,由于控制流无效,它们生成的程序要么过于简单,要么执行一小部分指令。结合开销较高的指令粒度错误检测机制,会导致模糊测试效率低下。我们提出了Cascade,这是一种使用高度随机和相互依赖的控制流和数据流生成任意长度的有效RISC-V程序的新方法。Cascade依赖于一种称为非对称ISA预模拟的新技术,用于在生成程序时将数据流和控制流纠缠在一起。当程序触发目标CPU中的错误时,这种纠缠会导致非终止,从而使Cascade能够在程序粒度上检测CPU错误,而不会引入任何运行时开销。我们的评估表明,长Cascade程序在测试CPU的内部设计方面更有效。Cascade比最先进的CPU模糊器实现了28.2倍到97倍的覆盖率,并在5个复杂程度不同的RISC-V CPU中发现了37个新的错误(28个新的CVE)。触发这些错误的程序既长又复杂,阻碍了分诊。为了应对这一挑战,Cascade采用了一种自动修剪方法,该方法将程序减少到触发错误的最少数量的指令。
MultiFuzz: A Multi-Stream Fuzzer For Testing Monolithic Firmware
作者:
Michael Chesser, Surya Nepal, Damith C. Ranasinghe
作者机构:
The University of Adelaide and Data61 CSIRO, Cyber Security Cooperative Research Centre, Data61 CSIRO, Cyber Security Cooperative Research Centre, The University of Adelaide
所属方向:
嵌入式设备模糊测试
****嵌入式设备的迅速流行是在为攻击者创造新的目标和机会。然而,固件和硬件之间的复杂交互给应用自动化测试带来了挑战,例如模糊测试。最先进的方法在仿真器中重新托管固件,并通过提供来自大量设备(如调制解调器)的各种方法(如中断)的输入来促进与硬件的复杂交互。我们意识到模糊器如何生成输入(作为单片文件)以及如何在重新托管执行期间消耗输入(作为流,在片中,每个外围设备)之间的显著脱节。我们展示了断开连接,以显著影响模糊器在发现探索更深代码和错误的输入方面的有效性。
我们重新思考了用于单片固件模糊册数的输入生成过程,并提出了一种新的方法——多流输入生成和表示;输入现在是一个独立的流的集合,每个外围设备一个。我们通过实现i)流特定的突变策略;ii)为外围设备生成有用值的有效方法;iii)增强模糊过程中学习到的信息的使用;(iv)提高模糊器处理障碍的能力,以此证明我们方法的多功能性和有效性。我们设计并构建了一个新的模糊器MULTIFUZZ,用于测试单片固件,并在合成和真实目标上评估我们的方法。MULTIFUZZ从一个基准传递所有66个单元测试,该基准由46个针对不同微控制器的合成二进制文件组成。在23个真实固件目标的评估中,MULTIFUZZ优于最先进的模糊器Fuzzware和Ember-IO。MULTIFUZZ在23个固件目标中的14个上覆盖了明显更多的代码,在其余目标上的覆盖率相似。此外,MUL-TIFUZZ在现实世界的目标中发现了18个新的错误,并且这些错误大部分通过了先前模糊器的测试。
WhisperFuzz: White-Box Fuzzing for Detecting and Locating Timing Vulnerabilities in Processors
作者:
Pallavi Borkar, Chen Chen, Mohamadreza Rostami, Nikhilesh Singh, Rahul Kande, Ahmad-Reza Sadeghi, Chester Rebeiro, Jeyavijayan Rajendran
作者机构:
Indian Institute of Technology Madras, Texas A&M University, Technische Universität Darmstadt
所属方向:
针对CPU时序漏洞的模糊测试
****处理器中的时序漏洞已成为一种有效的威胁。由于处理器是任何计算系统的基础,因此识别这些缺陷是必不可少的。最近,传统上用于检测软件漏洞的模糊测试技术,在揭示大规模硬件设计(如处理器)中的漏洞方面展示出良好的效果。研究人员采用了黑盒或灰盒来检测处理器中的时序漏洞。然而,它们无法识别这些定时漏洞的位置或根本原因,也没有提供覆盖率反馈,以增强设计师对处理器安全性的信心。
为了解决现有模糊器的不足,我们提出了WhisperFuzz——第一个静态分析的白盒模糊器——旨在检测和定位处理器中的定时漏洞并评估微架构时序行为的覆盖率。WhisperFuzz使用处理器的时序行为的基本特性和微架构状态转换来定位时序漏洞。WhisperFuzz自动从寄存器传输级(RTL)的处理器设计中提取微架构状态转换,并对设计进行加装,以监测状态转换作为覆盖率。此外,WhisperFuzz测量被测试设计(DUT)处理测试所需的时间,识别任何微小的异常变动,这些变动可能暗示存在时序漏洞。WhisperFuzz在先进的开源RISC-V处理器中检测到12个新的时序漏洞,包括BOOM、Rocket Core和CVA6。其中八个违反了Zkt扩展的零延迟要求,被视为严重的安全漏洞。此外,WhisperFuzz还确定了新漏洞和现有漏洞的位置。
EL3XIR: Fuzzing COTS Secure Monitors
作者:
Christian Lindenmeier, Mathias Payer and Marcel Busch
作者机构:
FAU Erlangen-Nürnberg, EPFL
所属方向:
基于TrustZone的可信执行环境的安全监控固件层的模糊测试
****ARM TrustZone构成了移动设备的安全基础。基于TrustZone的可信执行环境(TEE)促进了用户身份验证、磁盘加密和数字版权管理(DRM)等安全敏感任务。因此,TEE软件栈中的错误可能会危及整个系统的完整性。
EL3XIR引入了一个框架,以有效地重新托管和模糊测试基于专有TrustZone的TEE的安全监控固件层。尽管其他方法集中在简单地重新托管或模糊测试可信应用(EL0)或TEE操作系统(EL1),EL3XIR则针对高度特权但尚未探索的安全监控(EL3)及其独特挑战。安全监控通过多种安全监控调用,暴露出依赖多个外设的复杂功能。
在我们的评估中,我们证明了现有的模糊测试方法不足以有效模糊测试现成的安全监控。尽管简单模糊测试似乎达到了合理的覆盖率,但由于缺乏外设仿真,它未能克服覆盖率墙,并且由于输入空间庞大和输入质量低,触发错误的能力有限。我们遵循负责任的披露程序,报告了总共34个错误,其中17个被分类为安全关键。受影响的供应商确认了其中14个错误,因此,EL3XIR被分配了六个CVE。
Where URLs Become Weapons: Automated Discovery of SSRF Vulnerabilities in Web Applications.
作者:
Enze Wang, Jianjun Chen, Wei Xie, Chuhan Wang, Yifei Gao, Zhenhua Wang, Haixin Duan, Yang Liu, Baosheng Wang
作者机构:
National University of Defense Technology, Tsinghua University, Nanyang Technological University;
所属方向:
针对SSRF漏洞的模糊测试
****服务器端请求伪造(SSRF)漏洞给web应用程序带来了显著的安全风险,使攻击者能够利用web应用程序作为垫脚石,实现对内部服务的未授权访问,甚至执行任意命令。尽管SSRF最近作为一个单独的类别出现在2021年OWASP Top 10网络安全风险上并且影响到越来越多的现代Web应用,目前仍然缺乏系统地检测SSRF漏洞的有效方法。
我们提出了一种新的方法SSRFuzz,以有效地识别PHP Web应用程序中的SSRF漏洞。我们的方法包括三个阶段。在初始阶段,我们设计了一个SSRF oracle来检查PHP手册中的函数,并识别提供服务器端请求能力的目标。该过程共识别出2101个PHP函数中的86个敏感PHP目标。第二阶段涉及动态污点推理和利用已识别的目标来检查目标Web应用程序的源代码,确定可以触发这些目标函数的所有可行输入点。最终阶段采用模糊技术。我们使用SSRF有效负载生成测试HTTP请求,将它们发送到目标Web应用程序中先前识别的输入点,并检测是否触发SSRF漏洞。我们实现了一个SSRFuzz的原型,并在27个实际应用中对其进行了评估,包括Joomla和WordPress。总的来说,我们发现了28个SSRF漏洞,其中25个以前未报告。我们报告了受影响供应商的所有漏洞,并分配了16个新的CVE ID。
LLMIF: Augmented Large Language Model for Fuzzing IoT Devices
作者:
Jincheng Wang, Le Yu, Xiapu Luo
作者机构:
The Hong Kong Polytechnic University, Nanjing University of Posts and Telecommunications
所属方向:
物联网协议Zigbee模糊测试
尽管模糊测试在验证网络协议的执行正确性方面非常有效,但现有的物联网协议模糊测试方法仍存在一些局限性,包括信息格式混淆、信息依赖性未解决以及缺乏对测试用例的评估。这些限制大大削弱了物联网模糊器在漏洞识别方面的能力。在这项工作中,我们表明协议规范包含对协议信息的有效描述,可用于克服上述限制并指导物联网协议模糊测试。为了实现规范分析的自动化,我们用规范内容增强了大型语言模型,并驱动它执行两项任务(即协议信息提取和设备响应推理)。我们进一步设计并实现了一种模糊算法LLMIF,它将LLM纳入了物联网模糊处理。最后,我们选择Zigbee作为目标协议并启动了综合评估。评估结果表明,LLMIF成功解决了上述局限性。与现有的Zigbee模糊器相比,它的协议信息覆盖率和代码覆盖率分别提高了55.2%和53.9%。除了增强覆盖率外,LLMIF还在真实世界的Zigbee设备上发现了11个漏洞,其中包括8个以前未知的漏洞。现有的Zigbee模糊器未覆盖其中的7个漏洞。
DY Fuzzing: Formal Dolev-Yao Models Meet Cryptographic Protocol Fuzz Testing
作者:
Max Ammann, Lucca Hirschi, Steve Kremer
作者机构:
Independent Researcher & Trail of Bits, Inria Nancy Grand-Est Universit´e de Lorraine, LORIA
所属方向:
加密协议(如TLS)模糊测试
关键和广泛使用的加密协议一再被发现在其设计和实现中包含缺陷。此类漏洞的一个突出类别是逻辑攻击,例如利用有缺陷的协议逻辑的攻击。基于Dolev Yao(DY)攻击者的自动化形式化验证方法形式化地定义并擅长于发现此类缺陷,但仅在抽象规范模型上操作。目前,对现有协议实现的完全自动化验证仍然遥不可及。这就留下了这样的实现是否安全的问题。不幸的是,这个盲点隐藏了许多攻击,例如最近对广泛使用的TLS实现的逻辑攻击,这些攻击是由实现错误引入的。
为此,我们提出了一种新颖而有效的技术,我们称之为DY模型引导模糊测试,它可以防止对协议实现的逻辑攻击。其主要思想是将DY攻击者的抽象DY执行集作为可能的测试用例,并使用一种新颖的基于突变的模糊器来探索该集。DY模糊器将每个抽象执行具体化,在被测程序上进行测试。这种方法能够在更结构化和安全相关的级别上对表示为正式术语的消息进行推理(例如,解密消息并使用不同的密钥重新加密),而不是随机的比特级修改,后者不太可能产生相关的逻辑对抗行为。我们实现了一个成熟的和模块化的DY协议模糊器。我们通过模糊测试三种流行的TLS实现来证明其有效性,从而发现了四个新的漏洞。
Titan : Efficient Multi-target Directed Greybox Fuzzing
作者:
Heqing Huang, Peisen Yao, Hung-Chun Chiu Yiyuan Guo, Charles Zhang
作者机构:
The Hong Kong University of Science and Technology, Zhejiang University
所属方向:
定向模糊测试
当同时分析程序中的多个目标时,现代定向模糊法经常面临可扩展性问题。我们发现,根本原因在于定向模糊器没有意识到目标之间的相关性,因此可能退化为目标不定向方法。因此,在重现多个目标时,定向模糊的效率会受到严重影响。
本文介绍了Titan,它能让模糊器区分程序中不同目标之间的相关性,从而优化输入生成,有效重现多个目标。利用这些相关性,Titan可以区分种子到达每个目标的调度潜力,并识别出可以同时改变的字节以进行突变。我们将我们的方法与八种最先进的(定向)模糊器进行了比较。评估结果表明,Titan的性能优于现有方法,它能有效检测多个目标,速度提高了21.4倍,执行次数减少了95.0%。此外,在最新版本的基准程序中,Titan还检测到了其他定向模糊器无法检测到的九个不完全修复,这些程序具有两个分配的CVE ID。
Predecessor-aware Directed Greybox Fuzzing
作者:
Yujian Zhang, Yaokun Liu, Jinyu Xu, Yanhao Wang
作者机构:
Southeast University, China
所属方向:
定向灰盒模糊测试
定向灰盒模糊(DGF)是一种面向目标的模糊技术,可以重现或发现软件漏洞。该目标通常通过两个阶段来实现:静态分析(事先获取程序结构信息)和动态执行(将模糊引向目标站点)。然而,现有的DGF方法仍然存在繁重和不完整的问题。前者是指在识别和接近目标点时需要付出额外的努力,后者是指由于间接调用或者最近的DGF所能覆盖的路径不足,导致对目标点的测试不完整。
本文提出了一种前置区感知定向灰盒模糊(PDGF)方法,并将DGF视为路径搜索问题。PDGF将给定程序划分为前置区和非前置区,并通过最初的轻量级程序分析和随后的动态执行过程中的扩充来维护一组前置区。与此同时,PDGF引入了一种称为区域成熟度的新型适配度量来表示前置区的覆盖率,并包含一种基于模拟退火的功率调度技术以及种子选择和突变技术,以高效、广泛地覆盖前置区。我们在一个包含30个真实世界程序目标站点的基准上对所提出的PDGF进行了评估,并与最先进的DGF工具进行了广泛的比较。实验结果表明,PDGF在暴露时间、路径多样性和错误发现方面都优于竞争对手。此外,PDGF 还发现了9个新漏洞,其中6个已被指定为CVE。
AFGen: Whole-Function Fuzzing for Applications and Libraries
作者:
Yuwei Liu, Yanhao Wang, Xiangkun Jia, Zheng Zhang, Purui Su
作者机构:
TCA/SKLCS, Institute of Software, Chinese Academy of Sciences;University of Chinese Academy of Sciences;Ocean University of China
所属方向:
库函数模糊测试
模糊技术已被广泛用于发现漏洞,但现有的模糊技术仍无法覆盖和探索应用程序或库中的所有功能。现有工作为库的API函数自动生成模糊harness的工作提供了一种直接测试目标函数的方法。然而,将这些方法应用于项目(如库)的任意内部函数则具有挑战性。具体来说,对于用户来说,API函数的上下文通常简单明了,但内部函数的复杂依赖性导致其运行上下文和参数约束更为复杂,因此很难高效生成模糊harness。
在本文中,我们提出了全功能模糊法,这是一种“自下而上”的方法,通过覆盖所有功能来模糊应用程序和程序库。我们认为,如果能在实现全功能覆盖的同时牺牲精度,而这种牺牲可以通过精细的设计来减轻,这将有利于漏洞的发现。为此,我们设计并实现了自动全功能模糊处理框架AFGEN。给定一个目标函数后,AFGEN将生成一个模糊harness,以适当的初始程序上下文到达目标函数,并根据发现的崩溃约束条件完善模糊线束。具体来说,它会根据控制流和数据流的依赖关系对目标函数的调用语句进行切分,根据类型为切分代码中使用的必要变量赋值,并搜索与崩溃相关的变量的约束语句。通过这种方式,AFGEN生成的模糊harness误报率很低。为了验证AFGEN的有效性,我们从11个开源项目中收集了102个已知漏洞。AFGEN成功地为所有漏洞函数创建了模糊harness,在收集到的102个已知漏洞中,AFGEN发现了66个漏洞,优于所有比较工具,是第二好的模糊器(即AFL++)所发现漏洞的2倍。AFGEN触发的崩溃精确度达到77.1%,是FUDGE精确度的10倍。AFGEN还发现了24个已确认CVE ID的未知漏洞。
Labrador: Response Guided Directed Fuzzing for Black-box IoT Devices
作者:
Hangtian Liu, Shuitao Gan, Chao Zhang, Zicong Gao, Hongqi Zhang, Xiangzhi Wang, Guangming Gao
作者机构:
Information Engineering University, Tsinghua University, Zhongguancun Laboratory, Laboratory for Advanced Computing and Intelligence Engineering, Henan Key Laboratory of InformUniversity of Electronic Science and Technology of Chinaation Security
所属方向:
IOT模糊测试
模糊测试是发现软件(包括物联网固件)漏洞的常用解决方案。然而,由于仿真或重新托管固件的挑战,一些物联网设备(如企业级设备)只能以黑盒方式进行模糊测试,这使得模糊器由于缺少反馈(如代码覆盖率或距离)而变得盲目和低效。在本文中,我们提出了一种新颖的响应引导型定向模糊解决方案LABRADOR,能够高效地测试黑盒物联网设备。具体来说,我们利用网络响应来推断固件的执行轨迹,并推断出测试的代码覆盖率。其次,我们利用测试用例(即请求)及其响应来估计与目标敏感代码(即汇)的距离。最后,我们进一步利用距离来指导测试用例的突变,从而有效地将定向模糊引向候选脆弱代码。我们实现了LABRADOR的原型,并在14种不同的企业级物联网设备上进行了评估。结果表明,LABRADOR明显优于最先进的(SOTA)解决方案。它发现的漏洞比SNIPUZZ、BOOFUZZ和FIRM-AFL多44倍,比SaTC多8.57倍。它总共发现了79个未知漏洞,其中61个已分配了CVE。
Everything is Good for Something: Counterexample-Guided Directed Fuzzing via Likely Invariant Inference
作者:
Heqing Huang, Anshunkang Zhou, Mathias Payer, Charles Zhang
作者机构:
City University of Hong Kong, The Hong Kong University of Science and Technology
所属方向:
定向模糊测试
定向模糊测试展示了其在重现漏洞报告、验证补丁和调试漏洞方面的潜力。最先进的定向模糊测试工具会优先处理更有可能触发目标漏洞的输入,或者过滤与目标无关的输入。尽管如此,现有方法在重现特定漏洞方面仍然存在挑战,因为大多数生成的输入都是无关紧要的。例如,在Magma基准测试中,超过94%的生成输入没有命中目标漏洞。我们将这一挑战称为间接输入生成问题。我们提出通过限制输入生成来增加到达目标位置的输入产量。我们的核心见解是从可达和不可达的执行输入中推断出可能的不变性,以限制后续输入生成的搜索空间,并产生更多的可达输入。此外,我们提出了两种选择策略,以最小化不必要的输入比例,有效进行不变性推断,并降低不精确不变性的优先级,以实现有效的输入生成。我们的原型实现Halo,在重现目标漏洞方面比最先进的定向模糊测试工具快15.3倍,通过生成6.2倍更多的可达输入。在我们的评估过程中,我们还发现了10个以前未知的漏洞,其中涉及7个未完全修复的最新版本。
SoK: Prudent Evaluation Practices for Fuzzing
作者:
Moritz Schloegel, Nils Bars, Nico Schiller, Lukas Bernhard, Tobias Scharnowski
作者机构:
CISPA Helmholtz Center for Information Security, Ruhr University Bochum,University of Birmingham
所属方向:
模糊测试工具评估
在过去十年中,模糊测试已被证明是一种非常有效的发现软件漏洞的方法。自从AFL普及了轻量级覆盖反馈的开创性概念以来,模糊测试领域出现了大量的科学工作,提出了新技术,改进了现有策略的方法论,或将现有方法移植到新领域。所有这些工作都必须通过展示其对问题的适用性、测量其性能,并且通常在彻底的实证评估中展示其优于现有工作的优越性来证明其价值。然而,模糊测试对其目标、环境和情况非常敏感,例如,测试过程中的随机性。毕竟,依赖随机性是模糊测试的核心原则之一,它控制着模糊测试器行为的许多方面。再加上通常难以控制的环境,实验的可重复性是一个关键问题,需要谨慎的评估设置。为了解决这些对有效性的威胁,包括Klees等人的“评估模糊测试”在内的几项工作已经概述了应该如何实施精心设计的评估设置,但它们的建议在实践中被采纳到什么程度仍然未知。
在这项工作中,我们系统分析了2018年至2023年间在顶级刊物上发表的150篇模糊化论文的评估情况。我们研究了现有指南的实施方式,并观察了潜在的缺点和隐患。我们发现,在模糊评估中,令人吃惊的是,现有指南对统计测试和系统误差的忽视。例如,在调查报告的漏洞时,我们发现在现实世界的软件中寻找漏洞会导致作者请求并收到质量可疑的CVE。将我们的文献分析扩展到实际领域后,我们尝试重现八篇模糊测试论文的主张。通过这些案例研究,我们可以评估模糊研究的实际可重复性,并找出评估设计中的典型陷阱。遗憾的是,我们重现的结果显示了所研究论文中的一些不足之处,因此我们无法完全支持和重现相关主张。为了帮助模糊领域向科学可重现的评估策略迈进,我们提出了进行模糊评估的最新准则,未来的工作应遵循这些准则。
Towards Smart Contract Fuzzing on GPUs
作者:
Weimin Chen, Xiapu Luo, Haipeng Cai, Haoyu Wang
作者机构:
The Hong Kong Polytechnic University, Washington State University, Huazhong University of Science and Technology
所属方向:
智能合约模糊测试
模糊测试是发现智能合约漏洞的主要技术之一。但遗憾的是,现有的智能合约模糊器的吞吐量很低,原因包括:EVM执行速度慢、共识协议带来的延迟、CPU的并行化能力有限以及仪器化EVM带来的开销。为了解决这一关键问题,我们在本文中率先利用GPU的并行计算能力来提高智能合约模糊处理的吞吐量。更确切地说,通过将模糊工作负载转换为SIMD任务,我们可以激活数千个GPU内核来同时测试智能合约。为实现这一目标,我们设计了新的解决方案来应对三大挑战,即开发增量存储以降低GPU内存成本,提出有状态位图以将事务依赖性嵌入反馈度量,以及设计并行反馈算法以排除导致冗余重叠的非预期种子。我们实现了一个原型,命名为“GPU-R”。我们实现了一个名为MAU的原型,它首先将智能合约的字节码转换为PTX汇编中的SIMD应用程序,然后在GPU上并行运行。我们使用大型和小型基准对MAU进行了评估。实验结果表明,MAU的吞吐量分别达到162.37K execs/sec和328.06K execs/sec,比最先进的工具提高了8.69-15.38倍。此外,高吞吐量还使MAU的错误检测率提高了1.01-2.50倍,代码覆盖率提高了1.03-4.71倍。
SyzTrust: State-aware Fuzzing on Trusted OS Designed for IoT Devices
作者:
Qinying Wang, Boyu Chang, Shouling Ji, Yuan Tian, Xuhong Zhang, Binbin Zhao, Gaoning Pan
作者机构:
Zhejiang University, University of California, Georgia Institute of Technology
所属方向:
IOT可信操作系统模糊测试
****嵌入物联网设备的可信执行环境(TEE)提供了一种可部署的解决方案,可在硬件层面确保物联网应用的安全。根据设计,在TEE中,可信操作系统(Trusted OS)是主要组件。它使TEE能够使用基于安全的设计技术,如数据加密和身份验证。一旦可信操作系统被利用,TEE就无法再确保安全性。然而,用于物联网设备的可信操作系统很少得到安全分析,这在以下几个方面具有挑战性:(1)可信操作系统是闭源的,不利于发送测试用例和收集反馈。(2)可信操作系统具有复杂的数据结构,需要有状态的工作流程,这限制了现有的漏洞检测工具。为了应对这些挑战,我们提出了SYZTRUST,这是第一个用于审查资源有限的可信操作系统安全性的状态感知模糊框架。SYZTRUST采用硬件辅助框架,可直接在物联网设备上对可信操作系统进行模糊测试,并以非侵入方式跟踪状态和代码覆盖范围。SYZTRUST利用复合反馈来指导模糊器有效探索更多状态,并提高代码覆盖率。我们在三大供应商的可信操作系统上对SYZTRUST进行了评估:三星、清联云和阿里云。这些系统在Cortex M23/33 MCU上运行,为嵌入式TEE提供了必要的抽象。我们在这些系统的可信操作系统中发现了70个以前未知的漏洞,迄今已获得10个新的CVE。此外,与基线相比,SYZTRUST有了显著的改进,包括代码覆盖率提高了66%,状态覆盖率提高了651%,漏洞查找能力提高了31%。我们向供应商报告所有发现的新漏洞,并将SYZTRUST开源。
To Boldly Go Where No Fuzzer Has Gone Before: Finding Bugs in Linux’ Wireless Stacks through VirtIO Devices
作者:
Sonke Huster, Matthias Hollick, Jiska Classen
作者机构:
Secure Mobile Networking Lab (SEEMOO) of TU Darmstadt, University of Gottingen, University of Potsdam
所属方向:
Linux内核无线接口模糊测试
****Linux内核接口的安全性对于防止空中攻击、近距离攻击或其他网络攻击至关重要。Linux内核不断受到模糊处理,以检测新引入的漏洞。尽管现有的模糊器运行时间很长,但由于它们不了解物理设备的语义,难以适应新设备,因此无法检测到关键漏洞。本文提出了一种名为VIRTFUZZ的新型模糊器,它基于虚拟I/O(VirtIO)设备驱动程序。代理机制可从物理设备交互中收集数据。然后,这些收集到的输入通过虚拟设备进行模糊处理。利用通用VirtIO设备,VIRTFUZZ具有通用性,可轻松适用于各种Linux VirtIO内核驱动程序及其相关子系统。我们使用这种方法对Linux蓝牙和无线局域网(WLAN)协议栈进行模糊测试。为了证明我们方法的适应性,我们还提供了对网络和输入堆栈进行模糊测试的实现方法。我们发现了31个人工确认的新漏洞,并分配了6个常见漏洞和暴露 (CVE)。
Saturn: Host-Gadget Synergistic USB Driver Fuzzing
作者:
Yiru Xu, Hao Sun, Jianzhong Liu, Yuheng Shen, Yu Jiang
作者机构:
BNRist, Tsinghua University
所属方向:
USB驱动程序的模糊测试
******通用串行总线(USB)是现代操作系统中的一个重要组件,可让各种外围设备方便地连接到计算机。操作系统中的USB栈通常由以下两个部分组成:主机端驱动程序和设备端小工具驱动程序,这两个部分都是安全关键。如果这些特权模式驱动程序中的任何漏洞被利用,恶意或畸形设备就会导致整个系统崩溃。模糊(Fuzzing)是一种流行的自动漏洞检测技术,已被用于测试驱动程序等内核组件,并取得了不同程度的成功。然而,现有的工作主要集中在一个方面,**即通过模拟来自用户空间或外设的恶意输入来测试驱动程序,而忽略了仅通过两个边界之间的交互而触发的错综复杂的内部状态,从而暴露出大量的漏洞。本文提出的SATURN是一种主机与小工具协同的USB驱动程序模糊方法,旨在覆盖USB通信的整个处理链。为此,SATURN首先利用提取的驱动程序信息系统地附加小工具并触发更多驱动程序类型,从而促进向交互逻辑的过渡。然后,SATURN通过对双方的规范操作注入执行持续的协同模糊处理,使其发挥各自的重要作用,从而大大扩展了所探索的状态,并暴露了此类逻辑中的错误。与Syzkaller、USBFuzz和FUZZUSB等最先进的USB模糊器相比,SATURN在相应堆栈上的分支覆盖统计量分别提高了1.53倍、3.69倍和2.3倍。此外,SATURN还发现了26个以前未知的漏洞,其中包括4个CVE,包括每侧的驱动程序。
SyzGen++: Dependency Inference for Augmenting Kernel Driver Fuzzing
作者:
Weiteng Chen, Yu Hao, Zheng Zhang, Xiaochen Zou, Dhilung Kirat, Shachee Mishra, Douglas Schales, Jiyong Jang, Zhiyun Qian
作者机构:
Microsoft Research, Redmond; University of California, Riverside; IBM Research, Yorktown Heights
所属方向:
内核驱动模糊测试
****近年来,关于内核模糊测试研究得到了显著增长。在各种内核模糊测试器中,Syzkaller作为最先进的工具,已在Linux内核中发现了5000多个漏洞。Syzkaller的成功归功于它利用了内核专家提供的人工编辑的系统调用规范。然而,由于复杂的输入结构和系统调用之间未知的依赖关系,这一过程既耗时又无法扩展。因此,内核代码库(尤其是内核驱动程序)的很大一部分都缺乏规范,从而带来了巨大的安全风险。
本文介绍了SyzGen++,这是一种无需依赖现有测试套件即可自动推断系统调用之间的依赖关系并生成规范的新方法。具体来说,该方法定义了插入和查找操作这两个基本构件,并将它们配对使用,以准确识别依赖关系。本文在Linux和macOS驱动程序上对SyzGen++与现有最先进的技术进行了对比评估。结果显示,SyzGen++发现了245个额外的依赖关系。此外,在代码覆盖率方面,SyzGen++优于DIFUZE、KSG和SyzDescribe,平均分别提高了71%、67%和39%。本文的测试使用SyzGen++ 生成的规范,在Linux内核6.2中发现了10个以前未知的漏洞,并由此产生了6个CVE,这证明了它在识别漏洞方面的有效性。
ShapFuzz: Efficient Fuzzing via Shapley-Guided Byte Selection
作者:
Kunpeng Zhang, Xiaogang Zhu, Xi Xiao, Minhui Xue, Chao Zhang, Sheng Wen
作者机构:
Shenzhen International Graduate School, Tsinghua University, Swinburne University of Technology, CSIRO**’**s Data61, Zhongguancun Laboratory
所属方向:
通过Shapley引导的字节选择优化模糊测试
基于变异的模糊测试是一种常见且有效的用于漏洞挖掘和发现程序中未被探索到的代码的方法。然而,只有少数研究关注量化输入字节的重要性。每个输入字节的重要性取决于其对发现新代码的贡献程度。以往的工作通常侧重于获取输入字节与路径约束之间的关系,而忽略了并非所有与约束相关的字节都能发现新代码这一事实。本文使用Shapley分析来了解字节位置对模糊测试性能的影响,并发现某些字节位置比其他位置贡献更大,而且这一特性在不同的种子中通常都是成立的。基于这一观察结果,本文提出了一种名为SHAPFUZZ的新型解决方案,用于指导模糊测试过程中的字节选择和变异。具体来说,SHAPFUZZ在每次测试输入时以低开销更新字节的Shapley值(重要性),并使用上下文多臂老虎机算法,在高Shapley值字节和低频选择字节之间进行权衡。我们基于AFL++实现了这一方案的原型,即SHAPFUZZ,并将其与10种最先进的模糊测试器进行了对比,包括5种字节调度模糊测试器和5种常用模糊测试器。与字节调度模糊测试器相比,SHAPFUZZ发现了更多的边缘分支。在三组不同的初始种子上,SHAPFUZZ 发现的漏洞也比最佳基线多。与最好的常用模糊器相比,SHAPFUZZ 多发现了20个漏洞,在MAGMA上比基线多发现了6个CVE。此外,SHAPFUZZ在6个广泛使用的程序的最新版本上发现了11个新漏洞,其中3个已得到厂商确认。
DeepGo: Predictive Directed Greybox Fuzzing
作者:
Peihong Lin, Pengfei Wang , Xu Zhou, Wei Xie, Gen Zhang, Kai Lu
作者机构:
National University of Defense Technology
所属方向:
定向模糊测试
****定向灰盒模糊测试(DGF)是一种有效的方法,旨在通过预定义的目标位置加强对脆弱代码区域的测试。最先进的DGF技术通过重新定义并优化适应度指标的方式,使其能够更精确、快速地到达目标位置。然而,当前适应性指标的优化主要基于启发式算法,这种算法通常依赖于历史执行信息,对尚未执行的路径缺乏前瞻性。因此,那些具有复杂约束条件的难以执行路径会阻碍DGF到达目标,从而降低DGF的效率。本文提出了一种预测式定向灰盒模糊测试器——DeepGo,它能够结合历史和预测信息,引导DGF通过最优路径到达目标位置。
首先,本文提出了路径转换模型,将DGF视为通过特定路径转换序列到达目标位置的过程。变异生成的新种子会引发路径转换,高奖励路径转换序列对应的路径表明通过它到达目标站点的可能性高。接着,为了预测路径转换及其相应的奖励,使用深度神经网络搭建了一个虚拟集成环境(VEE),该环境会逐步模拟路径转换模型,并预测尚未执行的路径转换的奖励。为了确定最佳路径,本文开发了一个模糊测试的强化学习(RLF)模型,以生成具有最高奖励的路径转移序列。RLF模型可将历史路径转换和预测路径转换结合起来,生成最优的路径转换序列以及指导模糊测试变异的策略。
最后,为了执行高奖励的路径转换序列,本文提出了“动作组”概念,它综合优化了模糊测试的关键步骤,以实现高效到达目标的最优路径。本文在两个基准测试集上评估了DeepGo,这些测试集包含25个程序,总计100个目标位置。实验结果表明,与AFLGo、BEACON、WindRanger和ParmeSan相比,DeepGo在到达目标站点方面的速度分别提高了3.23倍、1.72倍、1.81倍和4.83倍,在挖掘已知漏洞方面的速度分别提高了2.61倍、3.32倍、2.43倍和2.53倍。
EnclaveFuzz: Finding Vulnerabilities in SGX Applications
作者:
Liheng Chen, Zheming Li, Zheyu Ma, Yuan Li, Baojian Chen, Chao Zhang
作者机构:
Institute of Information Engineering, Chinese Academy of Sciences; University of Chinese Academy of Sciences; Institute for Network Sciences and Cyberspace of Tsinghua University; Zhongguancun Laboratory
所属方向:
英特尔的软件保护扩展(SGX)模糊测试
英特尔的软件保护扩展(SGX)提供了一个被称为“飞地”(enclave)的隔离执行环境,飞地之外的一切都被视为潜在威胁,包括非飞地内存区域、外设和操作系统。尽管SGX的攻击模式很强大,但在飞地内运行的代码仍易受到常见的内存破坏漏洞的影响。此外,这种攻击模型可能引入新的威胁或加剧已有的威胁。例如,从 “飞地 ”中直接访问不受信任的内存可能会导致 “检查时间-使用时间”(TOCTOU)漏洞,因为攻击者能够控制整个不受信任的内存。此外,由于操作系统控制的零页也被认为是恶意的,因此空指针取消引用可能会产生更严重的安全影响。目前的模糊测试解决方案(如SGXFuzz和FuzzSGX)在检测此类SGX特定漏洞方面存在局限性。
本文提出的 EnclaveFuzz 是一种多维结构感知模糊框架,该框架能分析飞地源代码以提取输入结构和关联信息,然后生成harness,以产生能通过合理性检查的有效输入。为了进行多维模糊测试,EnclaveFuzz为飞地的三种输入维度创建数据,包括进入飞地的参数和返回值,以及从飞地内部直接访问不受信任的内存。为检测更多类型的漏洞,本文设计了一种新的检测器,用于识别SGX特有漏洞和典型的内存破坏漏洞。最后,提供了一个自定义的SDK,加速模糊测试过程,并在不需要特殊硬件的情况下运行飞地。为了验证本方案的有效性,将其应用于测试20个真实的开源飞地,并在其中14个飞地中发现了162个错误。
Large Language Model guided Protocol Fuzzing
作者:
Ruijie Meng, Martin Mirchev, Marcel Bohme, Abhik Roychoudhury
作者机构:
National University of Singapore, MPI-SP and Monash University
所属方向:
协议模糊测试
在没有机器可读的协议规范的情况下,如何发现协议实现中的安全漏洞?对于互联网而言,协议实现是非常关键的安全软件系统,其输入必须遵循特定的结构和顺序,而这些结构和顺序往往是以自然语言(RFC)的形式非正式地规定的,多达数百页。在没有机器可读协议的情况下,很难自动生成符合所需结构和顺序的有效测试输入。尽管可以将一组记录的信息序列作为种子输入,利用突变模糊法来部分缓解这一难题,但可用的种子集通常非常有限,难以覆盖协议状态和输入结构的多样性。
本文探索了模糊测试与预训练的大型语言模型(LLM)系统交互的可能性。这些大语言模型已经读取了数百万页人类可读的协议规范,从而得出了机器可读的协议信息,用于协议模糊测试。本文利用LLM对已知协议消息类型的理解,通过生成消息序列并预测相应的响应代码,检验了LLM在状态检测方面的能力。基于这些观察,本文开发了一个由LLM引导的协议实现模糊测试引擎。本文的协议模糊测试器CHATAFL为协议中的每种消息类型构建语法,通过与LLM的交互来变异消息或预测消息序列中的下一条消息。在 PROFUZZBENCH 的各种真实协议上进行的实验表明,状态和代码覆盖率都有显著提高。本文的LLM引导有状态模糊测试器与最先进的模糊测试器AFLNET和NSFUZZ相比,CHATAFL 的状态转换覆盖率分别提高了47.60%和42.69%,状态覆盖率分别提高了29.55%和25.75%,代码覆盖率分别提高了5.81%和6.74%。除了覆盖率的提升,CHATAFL在广泛使用且经过大量测试的协议实现中发现了9个新漏洞,而AFLNET和NSFUZZ分别只发现了其中的3个和4个漏洞。
Predictive Context-sensitive Fuzzing
作者:
Pietro Borrello, Andrea Fioraldi, Daniele Cono D’Elia, Davide Balzarotti, Leonardo Querzoni, Cristiano Giuffrida
作者机构:
Sapienza University of Rome, EURECOM, Vrije Universiteit Amsterdam
所属方向:
模糊测试覆盖率创新
覆盖率引导的模糊测试器通过不断变异测试用例,将执行引导到新的程序位置来发掘漏洞。目前,代码覆盖率是最有效和最流行的探索反馈方式。然而,对于某些漏洞而言,如何执行才能到达有漏洞的程序位置也很重要:仅跟踪测试用例执行的代码可能导致模糊测试器忽略有趣的程序状态。但是,对上下文敏感的覆盖率跟踪会引发固有的状态爆炸问题。现有的尝试实现上下文敏感覆盖引导的模糊测试器往往在精度(由于覆盖碰撞)和性能(由于上下文跟踪和队列/映射爆炸)上面临非平凡的问题。
本文展示了一种更有效的上下文敏感模糊测试方法。首先,提出了将函数克隆作为一种向后兼容的插装机制,以实现精确(即无碰撞)的上下文敏感覆盖跟踪。然后,为了解决状态爆炸问题,本文认为只有当模糊测试器探索被选为有前景的上下文时才考虑上下文信息,进而提出一种预测方案来识别这些上下文池:分析调用点处传入参数值的数据流多样性,如果被调用者看到的传入抽象对象是其在其他位置不使用的,则向模糊测试器暴露该函数经过上下文细化的克隆版本。
研究表明,通过将函数克隆应用于预期从上下文敏感性中受益的程序区域,可以克服上述问题,同时保持甚至提高模糊测试的效果。在FuzzBench测试套件上,本文的方法显著优于最先进的覆盖率引导模糊测试算法,发现了更多不同的漏洞,同时没有产生状态爆炸或其他明显的低效问题。在这些经过大量测试的对象中,还发现了5个程序中的8个持久安全问题,6个已获得CVE编号。
ReqsMiner: Automated Discovery of CDN Forwarding Request Inconsistencies and DoS Attacks with Grammar-based Fuzzing
作者:
Linkai Zheng , Xiang Li, Chuhan Wang, Run Guo, Haixin Duan, Jianjun Chen , Chao Zhang, Kaiwen Shen
作者机构:
Tsinghua University, Zhongguancun Laboratory, Quan Cheng Laboratory
所属方向:
CDN转发请求不一致性检测
内容分发网络(CDN)是一种常见的中间设备,旨在提高托管网站的性能并使其免受各种攻击。大量研究表明,CDN在将客户端请求转发到原始服务器时会对请求进行修改。多种转发操作的不一致性可能导致安全漏洞,例如DoS攻击。然而,现有工作缺乏研究CDN转发请求不一致性的系统化方法。本文提出了REQSMINER,这是一个创新的模糊测试框架,用于发现之前未曾探究的CDN转发请求不一致性。该框架利用强化学习技术,即使在反馈有限的情况下也能生成有效的测试用例,并将实际的字段值引入基于语法的模糊测试器中。
在REQSMINER的帮助下,本文对22家主要的CDN提供商进行了全面测试,发现了大量此前未研究过的CDN转发请求不一致性问题。此外,通过使用专门的分析工具,REQSMINER具备了检测特定类型攻击的能力,从而成为一个更加全面的检测框架。在扩展研究中,我们进一步发现了三种新型HTTP放大DoS攻击,并发现了74个新的潜在DoS漏洞,这些漏洞的放大因子通常可达到2000,在特殊条件下甚至可达192万。检测到的漏洞已向受影响的CDN厂商披露,并提出了缓解建议。本文的工作有助于加强CDN的安全性,从而增强其抵御恶意攻击和防止滥用的能力。
FuzzCache: Optimizing Web Application Fuzzing Through Software-Based Data Cache
作者:
Penghui Li, Mingxue Zhang
作者机构:
Zhongguancun Laboratory; The State Key Laboratory of Blockchain and Data Security, Zhejiang University
所属方向:
Web应用的模糊测试
模糊测试在检测服务器端Web应用的漏洞方面展现出了巨大的潜力。在这项工作中,我们引入了一种创新的基于软件的数据缓存机制,它补充并改进了所有现有的Web应用模糊测试工具。我们的关键观察是,Web应用的执行时间中有很大一部分(例如50%)用于从两个主要来源获取数据:数据库和网络;我们深入调查发现,在模糊测试试验中,相同的数据经常被重复获取。因此,我们设计了一个新的解决方案FuzzCache,它将数据存储到基于软件的缓存中,减少了重复和昂贵的数据获取需求。FuzzCache通过进程间共享内存段在模糊测试试验中公开缓存的数据。它还首次集成了即时编译,以避免实时解释PHP代码时的性能开销,从而提高了执行效率。
我们展示了FuzzCache显著增强了Web应用模糊测试的性能。在我们的实验中,我们将FuzzCache与一个黑盒模糊测试工具(Black-Widow)和一个灰盒模糊测试工具(WebFuzz)进行了集成。结果表明,FuzzCache加速了黑盒和灰盒模糊测试,实现了吞吐量增加3倍到4倍。FuzzCache平均提高了25%的代码覆盖率。因此,FuzzCache能够更快地检测漏洞,导致发现更多的漏洞。
DarthShader: Fuzzing WebGPU Shader Translators & Compilers
作者:
Lukas Bernhard, Nico Schiller, Moritz Schloegel, Nils Bars, Thorsten Holz
作者机构:
CISPA Helmholtz Center for Information Security
所属方向:
WebGPU的模糊测试
近期趋势表明,越来越多的要求较高的Web应用程序,如视频游戏或客户端LLMs,开始在浏览器中运行,这导致了WebGPU标准的采用。WebGPU提供了一个跨平台的API,将GPU暴露给网站。这开辟了一个新的攻击面:不受信任的Web内容被传递到GPU堆栈,而GPU堆栈传统上是针对性能而非安全性进行优化的。更糟糕的是,大多数WebGPU不能在严格沙盒处理其他Web内容的进程中运行,这简化了攻击者危害客户端计算机的路径。与WebGPU的重要性形成鲜明对比的是,WebGPU着色器处理却很少受到自动化测试社区的关注。部分原因是着色器翻译器期望高度结构化和静态类型的输入,这使得典型的模糊测试变异无效。着色器翻译由复杂的多步骤编译管道组成,每个阶段都提出了独特的要求和挑战,这进一步增加了测试的复杂性。在本文中,我们提出了DarthShader,这是第一个将基于中间表示的变异器与使用更传统抽象语法树的变异器相结合的语言模糊器。关键思想是着色器编译管道的各个阶段容易受到不同类别的故障的影响,需要完全不同的变异策略来进行彻底的测试。通过模糊整个管道,我们确保维护一个现实的攻击者模型。在实证评估中,我们表明我们的方法在代码覆盖率方面优于最先进的模糊器。此外,广泛的消融研究验证了我们的关键设计。DarthShader在所有现代浏览器(Chrome、Firefox和Safari)中总共发现了39个软件缺陷,而之前的工作没有发现这些缺陷。对于其中的15个,Chrome团队分配了一个CVE,承认了我们结果的影响。
OSmart: Whitebox Program Option Fuzzing
作者:
Kelin Wang, Mengda Chen, Liang He, Purui Su, Yan Cai, Jiongyi Chen, Bin Zhang, Chao Feng, Chaojing Tang
作者机构:
TCA, Institute of Software, Chinese Academy of Sciences; Key Laboratory of System Software (Chinese Academy of Sciences) and State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences; College of Electronic Science and Technology, National University of Defense Technology
所属方向:
白盒模糊测试
程序选项无处不在,是配置和定制软件行为的基本机制。鉴于它们的广泛使用,测试程序选项变得至关重要,以确保软件在各种配置下按预期行为。现有的选项感知模糊测试器要么将选项当作标准程序输入进行变异,要么使用自然语言处理(NLP)技术从文档中推断选项之间的关系。然而,还没有一种白盒方法通过捕获程序的固有执行逻辑来生成选项组合。
本文介绍了OSmart,这是一种白盒方法,旨在系统地提取程序选项和有效的选项组合,精确封装程序的内在执行逻辑,包括数据依赖和控制依赖。OSmart成功地从56个程序中推断出12560个选项组合。此外,OSmart发现超过67%的评估程序有未记录的选项。通过与AFL++集成,OSmart发现了40.3%的更多路径,这导致了51个新漏洞的检测,并分配了18个CVE ID。最后,我们还在公共基准上将OSmart与四个最先进的选项感知模糊测试器进行了比较,我们的工具在66.7%(20/30)的评估程序中实现了更高的行覆盖率。
Program Environment Fuzzing
作者:
Ruijie Meng, Gregory J. Duck, Abhik Roychoudhury
作者机构:
National University of Singapore
所属方向:
程序环境模糊测试
计算机程序并非在孤立环境中执行,而是与执行环境交互,这种交互驱动了程序的行为。因此,软件验证方法需要捕获可能复杂的环境交互对程序的影响。程序的执行环境可能来源于文件、数据库、配置项、网络套接字、用户交互等。传统的符号执行和模型检查中的环境捕获方法通常依赖于环境建模,这需要人工努力。
在本文中,我们采用了一种基于灰盒模糊测试扩展的不同方法。针对一个程序,我们首先在内核/用户模式边界处记录所有观察到的环境交互(系统调用的形式)。随后,我们在原始记录的交互基础上重放程序,但这一次我们选择性地应用变异,以模拟不同的程序环境——这一过程完全不需要环境建模。
通过在模糊测试过程中反复(基于反馈的)变异,我们能够搜索会导致程序崩溃的程序环境。我们的Efuzz工具在多个知名的真实协议实现和图形界面应用中发现了33个此前未知的漏洞,其中许多是安全漏洞,已分配16个CVE编号。
ProphetFuzz: Fully Automated Prediction and Fuzzing of High-Risk Option Combinations with Only Documentation via Large Language Model
作者:
Dawei Wang, Geng Zhou, Li Chen
作者机构:
Zhongguancun Laboratory
所属方向:
对程序运行所需选项的模糊测试
与选项组合相关的漏洞在软件安全测试中是一个显著的挑战,因为其搜索空间非常庞大。以往的研究主要通过变异或过滤技术来应对这一挑战,但这些方法低效地将所有选项组合视为具有相同的漏洞潜力,从而浪费了大量时间在非漏洞目标上,导致测试效率较低。
在本文中,我们通过精心设计的提示词构建(prompt engineering),驱动大型语言模型预测高风险的选项组合(即更可能包含漏洞的组合),并在无需人工干预的情况下自动执行模糊测试。我们开发了一个名为ProphetFuzz的工具,并在一个由三项相关研究中收集的52个程序组成的数据集上进行了评估。整个实验耗费了10.44 CPU年。ProphetFuzz成功预测了1748个高风险选项组合,平均每个程序的预测成本仅为8.69美元。
结果显示,在72小时的模糊测试后,ProphetFuzz发现了364个独特漏洞,这些漏洞与12.30%的高风险选项组合相关,在同一时间段内比当前最新技术发现的漏洞数高出32.85%。此外,通过ProphetFuzz,我们对这些程序的最新版本进行了持续模糊测试,发现了140个漏洞,其中93个已由开发者确认,21个获得了CVE编号。
No Peer, no Cry: Network Application Fuzzing via Fault Injection
作者:
Nils Bars, Moritz Schloegel, Nico Schiller, Lukas Bernhard, Thorsten Holz
作者机构:
CISPA Helmholtz Center for Information Security
所属方向:
网络应用程序的模糊测试
面向网络的应用程序通常会暴露在各种攻击之下,尤其是在连接到互联网时。因此,像Nginx这样的网络服务器或curl这样的客户端应用程序会尽一切努力确保代码的安全性并加强防护,以避免内存安全漏洞。理论上,这些措施应该包括定期的模糊测试,因为模糊测试已被证明是发现软件漏洞最有效的方法之一。然而,令人惊讶的是,很少有研究专注于针对网络应用程序的模糊测试。
通过研究背后的原因,我们发现网络通信的交互特性、状态性以及消息交换的保护(例如,通过加密或加密签名)使得传统的模糊测试工具失效。尝试重放记录的消息或实时修改消息仅适用于特定目标,并且通常会导致通信提前终止。
在本文中,我们详细讨论了这些挑战,并指出当前工作对协议状态空间的关注难以提供有效解决方案。我们提出了一种从基本上与传统不同的方法,即依赖于故障注入而不是直接修改消息。这种方法通过强制其中一个通信端进入“异常状态”(即其输出不再符合目标端的预期)来发现潜在的漏洞。值得注意的是,这种异常端仍然能够正确加密或签署协议消息,从而克服了当前模糊测试工具的一个基本挑战。本质上,我们保留了通信系统的完整性,但引入了小范围的破坏。由于服务器端或客户端都可以被转换为“异常端”,这是首个能够有效测试客户端网络应用程序的方法。
通过对16个目标的广泛评估,我们的原型工具Fuzztruction-Net在覆盖率和发现漏洞数量方面显著优于其他模糊测试工具。总体而言,Fuzztruction-Net在经过充分测试的软件(如Nginx和Apache HTTPd网络服务器以及OpenSSH客户端)中发现了23个新漏洞。
FOX: Coverage-guided Fuzzing as Online Stochastic Control
作者:
Dongdong She, Adam Storek, Yuchong Xie, Seoyoung Kweon, Prashast Srivastava, Suman Jana
作者机构:
Hong Kong University, Columbia University
所属方向:
模糊测试覆盖率创新
模糊测试是一种通过生成随机测试输入并在目标程序上执行来发现软件漏洞的有效技术。然而,对大型复杂程序进行模糊测试仍然具有挑战性,因为深度隐藏的漏洞难以被发现。本文针对现有的覆盖引导模糊测试工具的局限性,重点研究了调度器和变异器组件的问题。现有的调度器存在信息稀疏和无法处理细粒度反馈指标的缺陷;而变异器对目标程序的分支逻辑一无所知,导致计算资源的浪费和覆盖探索的速度较慢。
为了解决这些问题,我们提出了一种端到端在线随机控制框架,用于覆盖引导的模糊测试。我们的方法引入了一个新型的调度器和定制变异器,它们能够适应分支逻辑,最大化多个阶段中累计的边覆盖率。调度器利用细粒度的分支距离测量方法来识别前沿分支,即可能实现新覆盖的位置。变异器通过分支距离信息进行高效且有针对性的种子变异,从而以最小的开销实现稳健的进展。
我们提出了FOX,一个采用控制理论方法的概念验证实现,并将其与业界标准的覆盖引导模糊测试工具进行了对比。基于FuzzBench数据集和复杂的实际程序(共38个测试程序)进行的6个CPU年的广泛评估表明,FOX在真实独立程序中平均覆盖率提升高达26.45%,在FuzzBench程序中提升6.59%,超越了当前最先进的AFL++。此外,FOX还发现了20个真实应用中的独特漏洞,其中包括8个此前未知的漏洞,展示了其在实际安全性上的显著作用。
CountDown: Refcount-guided Fuzzing for Exposing Temporal Memory Errors in Linux Kernel
作者:
Shuangpeng Bai, Zhechang Zhang, Hong Hu
作者机构:
The Pennsylvania State University
所属方向:
针对引用计数相关的内核UAF漏洞的模糊测试技术
内核的use-after-free(UAF)漏洞因其复杂的根本原因和高度可利用性,对系统安全构成严重威胁。我们发现,最近发现的内核UAF漏洞中有36.1%是由于引用计数器的不当使用导致的,我们称之为与引用计数相关的UAF漏洞。现有基于代码覆盖的内核模糊测试工具可以检测常见的内存错误,但它们并不能发现漏洞的根本原因。因此,这些工具仅能被动且偶然地触发与引用计数相关的UAF漏洞,可能错过许多深层次隐藏的漏洞。
为主动触发与引用计数相关的UAF漏洞,本文提出了一种新型的引用计数引导内核模糊测试工具——CountDown。CountDown从内核执行中收集多样化的引用计数操作,并基于常用的引用计数访问关系重新塑造系统调用之间的关系。在生成用户空间程序时,CountDown优先组合那些访问过相同引用计数的系统调用,以触发复杂的引用计数行为。同时,它注入减少引用计数和访问引用计数的系统调用,以故意释放被引用计数管理的对象,并通过悬空指针触发非法访问。我们在主流Linux内核上测试了CountDown,并将其与流行的模糊测试工具进行对比。平均来看,CountDown检测到的UAF漏洞多出66.1%,KASAN(KernelAddressSanitizer)报告多出32.9%。CountDown发现了9个新的内核内存漏洞,其中2个已修复,1个已被确认。
RANsacked: A Domain-Informed Approach for Fuzzing LTE and 5G RAN-Core Interfaces
作者:
Nathaniel Bennett, Weidong Zhu, Benjamin Simon, Ryon Kennedy, William Enck, Patrick Traynor, Kevin R. B. Butler
作者机构:
University of Florida, North Carolina State University
所属方向:
针对LTE/5G网络组件的模糊测试
蜂窝网络基础设施是现代移动无线通信的支柱。因此,为了确保服务的可靠性,蜂窝核心网络必须主动防范外部威胁。针对核心网络的被攻陷基站攻击正日益成为蜂窝网络的威胁,而在长期以来,来自用户设备的输入被视为一种攻击途径;尽管如此,目前却鲜有技术能全面测试RAN-Core接口以抵御恶意输入。在本研究中,我们设计了一个模糊测试框架,可以高效地测试从基站或用户设备可访问的蜂窝网络接口,克服了针对LTE/5G网络组件模糊测试的一些特定挑战。同时,我们还开发了ASNFuzzGen工具,它能够将ASN.1规范编译为结构感知的模糊测试模块,从而支持对复杂的蜂窝协议的有效模糊测试。我们对七个开源和商用核心网络进行了模糊测试,共发现了119个漏洞,其中93个已分配CVE编号。我们的结果揭示了多个核心网络中存在的常见实现错误,这些错误会导致漏洞;而针对这些漏洞成功协调多家厂商发布补丁,也展示了ASNFuzzGen在加强面向用户的蜂窝系统安全性方面的实际作用。
RIoTFuzzer: Companion App Assisted Remote Fuzzing for Detecting Vulnerabilities in IoT Devices
作者:
Kaizheng Liu, Ming Yang, Zhen Ling, Yue Zhang, Chongqing Lei, Junzhou Luo, Xinwen Fu
作者机构:
Southeast University, Drexel University, UMass Lowell
所属方向:
黑盒IOT模糊测试
由于物联网(IoT)系统的架构和外设多样性,黑盒模糊测试(blackbox fuzzing)成为发现IoT设备漏洞的首选方法。现有的黑盒模糊测试工具通常依赖于配套应用程序来生成有效的模糊测试数据包。然而,现有方法在绕过依赖基于云通信的设备的云服务器端验证时遇到了挑战。此外,它们往往集中精力在Android配套应用程序中的Java组件上,限制了它们评估非Java组件(如基于JavaScript的小程序)的有效性。在本文中,我们介绍了一种新颖的黑盒模糊测试方法,名为RIoT Fuzzer,旨在远程发现依赖配套应用程序的IoT设备的漏洞,特别是那些启用了基于JavaScript的小程序功能的一体化应用程序。我们的方法利用基于文档的控制命令提取、混合分析用于变异点识别和侧信道引导的模糊测试,有效地解决了远程模糊测试IoT设备的挑战。我们将RIoT Fuzzer应用于27个在知名平台上的IoT设备,并发现了11个漏洞。所有这些漏洞都已得到相应供应商的认可。其中8个已被供应商确认,并分配了4个CVE编号。我们的实验结果还表明,侧信道引导的模糊测试可以显著提高发送到IoT设备的模糊测试数据包的效率,平均提高了76.62%,最高提高了362.62%。
Fuzz to the Future: Uncovering Occluded Future Vulnerabilities via Robust Fuzzing
作者:
Arvind S Raj, Wil Gibbs, Fangzhou Dong, Jayakrishna Menon Vadayath, Michael Tompkins, Steven Wirsz, Yibo Liu, Zhenghao Hu, Chang Zhu, Gokulkrishna Praveen Menon, Brendan Dolan-Gavitt, Adam Doupé, Ruoyu Wang, Yan Shoshitaishvili, Tiffany Bao
作者机构:
Arizona State University Tempe, New York University
所属方向:
针对被当前漏洞遮挡的未来漏洞的模糊测试
软件系统的安全格局通过动态测试方法,特别是模糊测试,取得了显著的进步。传统上,模糊测试涉及一个顺序的循环过程,其中软件被测试来识别崩溃。然后对这些崩溃进行分类并修补,导致后续周期揭露更多的漏洞。虽然这种方法是有效的,但它并不高效,因为每个周期可能会揭示以前被早期崩溃掩盖的新问题,从而导致漏洞被顺序发现。
在本文中,我们提出了一个解决方案,用以识别被遮挡的未来漏洞——由于当前漏洞遮挡了触发路径,这些漏洞很难或不可能被触发。我们引入了一种名为“鲁棒模糊测试”的新技术,它使模糊测试工具能够超越即时崩溃点,发现新的漏洞或已知漏洞的变体。我们在FlakJack中实现了鲁棒模糊测试,FlakJack是一个开创性的模糊测试插件,它利用二进制补丁主动识别隐藏在当前崩溃背后的被遮挡的未来漏洞。通过使模糊测试工具能够绕过即时崩溃点并深入软件,FlakJack不仅加速了漏洞发现过程,还显著提高了软件测试的有效性。在FlakJack的帮助下,我们在已经通过OSS-Fuzz项目进行了广泛测试的项目中发现了28个新漏洞。这种方法承诺将在识别和管理漏洞的方式上带来变革性的转变,旨在长期缩短漏洞发现的时间跨度。
Fuzzing JavaScript Engines with a Graph-based IR
作者:
Haoran Xu, Zhiyuan Jiang, Yongjun Wang, Shuhui Fan, Shenglin Xu, Peidai Xie, Shaojing Fu, Mathias Payer
作者机构:
NUDT Changsha, China; EPFL Lausanne, Switzerland
所属方向:
JavaScript引擎模糊测试
基于变异的模糊测试有效地发现了JavaScript引擎中的缺陷。高质量的变异对于基于变异的模糊测试器的性能至关重要。底层表示的选择(例如,一系列标记、抽象语法树或中间表示)定义了可能的变异空间,并随后影响变异操作符的设计。当前JavaScript引擎模糊测试器中的程序表示集中在抽象语法树和定制的字节码级中间语言上。然而,现有的努力在生成语义有效和有意义的变异方面存在困难,限制了在JavaScript引擎中发现缺陷的能力。
我们提出的基于图的中间表示,FlowIR,直接将JavaScript的控制流和数据流表示为变异目标。FlowIR对于实现强大的语义变异至关重要。它支持在数据流和控制流层面的变异操作符,从而扩大了变异操作符的粒度。实验结果表明,我们的方法在发现新漏洞方面更加有效。我们的原型FuzzFlow,在生成有效测试用例和探索代码覆盖方面,超越了最先进的模糊测试器。在我们的评估中,我们在经过充分测试的主流JavaScript引擎中检测到了37个新缺陷。
CrossFire: Fuzzing macOS Cross-XPU Memory on Apple Silicon
作者:
Jiaxun Zhu, Minghao Lin, Tingting YinZ, echao Cai, Yu Wang, Rui Chang, Wenbo Shen
作者机构:
Zhejiang University, Zhongguancun Laboratory, Columbia University, Cyberserval Co., Ltd
所属方向:
macOS、XPU模糊测试
现代计算系统越来越多地利用GPU和NPU等XPU来完成专门的计算任务。特别是,苹果芯片通过采用统一内存架构(UMA)来优化内存使用,该架构采用共享内存区域(称为跨XPU内存)来促进CPU和XPU之间的通信。虽然跨XPU内存提高了性能,但也带来了新的攻击面。遗憾的是,由于难以识别有效的共享内存区域和生成有效的载荷,使得对跨XPU内存的模糊测试成为一个具有挑战性的问题,现有的模糊测试技术无法有效解决这个问题。
因此,我们提出了CrossFire,这是第一个通过模糊跨XPU内存来针对苹果硅XPU的模糊器,以评估这一新的攻击面。首先,我们进行了深入的跨XPU内存分析,以研究模糊XPU所面临的挑战。为了应对这些挑战,CrossFire引入了两种新技术,以精确定位跨XPU内存中的有效模糊区域,并跟踪内核执行信息以提取数据限制。利用这些技术,我们开发了基于m1n1管理程序的CrossFire,以监控跨XPU内存访问并执行基于灰盒挂钩的模糊测试。我们在macOS Ventura上对CrossFire进行了进一步评估,发现了15个新的零日漏洞,其中8个已被苹果公司确认。
Leveraging Binary Coverage for Effective Generation Guidance in Kernel Fuzzing
作者:
Jianzhong Li, Yuheng Shen, Yiru Xu, Yu Jiang
作者机构:
Tsinghua University
所属方向:
内核模糊测试,模糊测试覆盖率创新
最先进的内核模糊器使用基于边缘的代码覆盖率指标来检测新行为。然而,代码覆盖率对于操作系统内核来说是不够的,因为内核数据段中包含许多未跟踪但有趣的特征,如比较操作数、内核状态标识符、标志和可执行代码等,这些特征反映了不同的执行模式,可以大大增加覆盖率指标的粒度和范围。
本文提出使用内核二进制覆盖反馈,这是一种全面而有效的执行反馈方法,可为内核模糊器提供反映整个二进制覆盖的执行覆盖状态的指标。我们的方法将程序行为抽象为执行过程中的内存访问模式,并考虑所有相关行为,包括标准内存读写、谓词比较等,从而获得整个内核二进制文件的覆盖率指标。以获得整个内核二进制文件的覆盖率指标,为生成输入提供指导。
我们实现了一个原型工具KBinCov,并将其集成到流行的内核模糊器Syzkaller中。我们评估了它在与vanilla Syzkaller以及其他一些方法(包括StateFuzz和IJON)的对比中的有效性。结果表明,与Syzkaller(使用kcov)、StateFuzz和IJON相比,KBinCov在最新版本的Linux内核上实现的代码和二进制覆盖率分别提高了7%、7%、9%和87%、34%、61%,而开销仅增加了1.74倍,低于StateFuzz和IJON的2.5倍和2.2倍。此外,我们使用KBinCov和Syzkaller发现了21个以前未知的错误,比Syzkaller(使用kcov)、StateFuzz和IJON发现的错误数多,后者分别发现了4、4和2个错误。
LiftFuzz: Validating Binary Lifters through Context-aware Fuzzing with GPT
作者:
Yutong Zhou, Fan Yang, Zirui Song, Ke Zhang, Jiongyi Chen, Kehuan Zhang
作者机构:
The Chinese University of Hong Kong, National University of Defense Technology
所属方向:
二进制lifter模糊测试
分析二进制代码对软件工程和安全研究至关重要,尤其是在无法获得源代码的情况下。然而,理解、修改和重定向二进制代码是一项复杂的任务。为了应对这些困难,二进制lifter应运而生。这些工具能将二进制代码转换为中间表示(IR),具有多种优势,例如可以在没有源代码的情况下修改可执行文件,促进代码的可重定向性。迄今为止,为现代ISA准确开发二进制lifter被公认为具有挑战性且容易出错。现有的验证方法主要集中在孤立的指令上,忽略了指令之间的相互作用。在本文中,我们介绍了LiftFuzz,这是一种利用指令上下文感知模糊测试来验证二进制lifter的新型框架。LiftFuzz利用汇编语言模型学习指令间的交互,并根据所学知识生成测试用例。LiftFuzz的性能大大优于基线,所需的测试用例只有基线的1/1000就能识别出26个不一致之处,其中包括一个以前未发现的类别。LiftFuzz大大提高了在二进制安全应用中经常使用的二进制lifter的性能。
Prompt Fuzzing for Fuzz Driver Generation
作者:
Yunlong Lyu, Yuxuan Xie, Peng Chen, Hao Chen
作者机构:
Tencent Security Big Data Lab, University of California
所属方向:
模糊测试驱动生成
****制作高质量的模糊测试驱动程序不仅耗时,而且需要对库有深入的了解。然而,现有的自动化模糊测试驱动生成技术未能达到预期效果。虽然从用户代码中派生的模糊测试驱动程序可以到达代码的深度状态,但它们能实现的覆盖率有限。与之相反的是,解释性模糊测试可以探索大多数API调用,但需要在庞大的搜索空间中进行大量尝试。本文提出了PromptFuzz,一种用于提示模糊测试的覆盖率引导测试器,能够迭代生成模糊测试驱动程序以探索未发现的库代码。为了在实时模糊测试中探索模糊测试驱动程序中的API使用情况,本文提出了几项关键技术:指导性程序生成、错误程序验证、覆盖引导提示变异和受限模糊器调度,实现了PromptFuzz,并在14个实际库上进行了评估。与OSS-Fuzz和Hopper(当前最先进的模糊测试驱动生成工具)相比,PromptFuzz生成的模糊测试驱动程序实现了比OSS-Fuzz和Hopper分别高1.61倍和1.63倍的分支覆盖率。此外,PromptFuzz生成的模糊测试驱动程序在49个崩溃错误中检测出了33个真实的新漏洞,其中30个漏洞已被相应社区确认。
Toss a Fault to BpfChecker: Revealing Implementation Flaws for eBPF runtimes with Differential Fuzzing
作者:
Chaoyuan Peng, Muhui Jiang, Lei Wu, Yajin Zhou
作者机构:
Zhejiang University, The Hong Kong Polytechnic University
所属方向:
对eBPF运行时中的实现错误进行模糊测试
eBPF是一项革命性技术,可以在特权环境下运行沙盒程序,具有广泛的应用场景,例如Linux内核上的网络监控、Windows上的拒绝服务保护,以及区块链上的智能合约执行机制。然而,eBPF的实现缺陷可能带来广泛的影响和严重的后果。此前的研究主要关注eBPF运行时的内存安全问题,但很少涉及实现错误(即实现是否正确)的检测。同时,现有的实现缺陷检测方法主要针对验证器中的漏洞,忽视了其他组件(如解释器和JIT编译器)中的漏洞。
在本文中,提出了BpfChecker,一个差分模糊测试框架,用于检测eBPF运行中的实现错误。它以eBPF程序作为输入,通过对不同eBPF运行时关键状态的差分测试,揭示实现中的缺陷。为提高生成程序的语义准确性,设计了一种轻量级中间表示,并在错误信息的引导下进行约束变异。本文实现了BpfChecker的原型,并对三种eBPF运行时(即Solana rBPF、vanilla rBPF、Windows eBPF)进行了广泛评估。最终,利用该工具发现了28个新的实现漏洞,其中2个已获得CVE编号,并获得开发者的认可及80万美元的漏洞奖金。更重要的是,发现的两个新漏洞可以被利用,导致Solana网络执行层的分歧。
On Understanding and Forecasting Fuzzers Performance with Static Analysis
作者:
Dongjia Zhang, Andrea Fioraldi, Davide Balzarotti
作者机构:
EURECOM
所属方向:
模糊测试器配置预测
****模糊测试是一种用于检测关键软件漏洞的技术,它结合了以往研究中的各种方法,以提高其有效性。对模糊测试行业从业者来说,理解不同技术的效果并选择适合测试目标程序的最佳配置至关重要。然而,评估这些技术的各自的贡献往往非常困难。先前的研究比较了组合模糊测试工具并研究了它们与不同程序的适配性。但是,组合模糊测试工具难以被分解为独立组件,因此,这些评估无法明确说明具体是哪种技术决定了模糊测试工具的性能表现。在不了解不同模糊测试技术集成潜在影响的情况下,为不同测试程序调整模糊测试工具配置变得更加困难。
本文的研究引入了一种新方法,将编译时提取的静态分析特征与各种模糊技术的性能结果相关联,从而应对了这一挑战。该方法使用多种度量标准,揭示程序的静态属性与模糊测试工具动态运行时性能之间的关系。在对23个目标应用程序进行的相关性分析中,发现了一些有趣的关系,例如功率调度器在处理较大程序和上下文敏感反馈时表现更佳,但是在处理大量输入时表现不佳。
这种方法不仅增强了对模糊测试技术的分析理解,还实现了预测能力。本文展示了如何借助简单的机器学习模型,利用静态分析收集的信息,为特定程序定制测试器配置。在11个基准程序中,使用建议配置的模糊测试工具与AFLplusplus、LibFuzzer和Honggfuzz相比,获得了相较于基线的最佳改进。
Collapse Like A House of Cards: Hacking Building Automation System Through Fuzzing
作者:
Yue Zhang, Zhen Ling, Michael Cash, Qiguang Zhang, Christopher Morales-Gonzalez, Qun Zhou Sun, Xinwen Fu
作者机构:
Drexel University, Southeast University, University of Central Florida, UMass Lowell
所属方向:
对楼宇自动化系统进行模糊测试
****楼宇自动化系统(BAS)在现代智能建筑中发挥着关键作用,它集成了传感器、控制器和软件来管理暖通空调、照明等核心功能。随着全球智能建筑市场的快速增长,保障BAS网络的安全性变得尤为重要。本文提出了楼宇自动化系统评估器(BASE),一种专门用于评估BAS网络安全性的模糊测试工具。
BAS网络通常涉及通过BAS协议(如BACnet、KNX)实现BAS客户端与服务器的通信,这些协议在BAS网络模糊测试中带来了独特挑战,包括协议的数据包结构复杂、通信序列繁琐,客户端为闭源且代码覆盖情况不可知,以及服务器状态不可观测且吞吐量有限等。
BASE通过自动识别协议结构、动态检测客户端以进行代码覆盖率分析,并监控响应以发现新的覆盖区域。采集的时间戳用于估算服务器的输入扫描间隔,从而优化吞吐量。在对多个BAS服务器和客户端的评估中,BASE发现了13个新漏洞。此外,本文提供了三个攻击案例研究,强调了这些漏洞在BAS系统中的实际安全影响,例如火灾检测延迟、气候控制丧失和安全防护失效。本文作者已将研究结果报告给相关厂商,一些厂商根据报告修复了其系统漏洞。
以上就是本次分享的全部内容,欢迎各位读者留言交流。
黑客/网络安全学习路线
对于从来没有接触过黑客/网络安全的同学,目前网络安全、信息安全也是计算机大学生毕业薪资相对较高的学科。
大白也帮大家准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
这也是耗费了大白近四个月的时间,吐血整理,文章非常非常长,觉得有用的话,希望粉丝朋友帮忙点个**「分享」「收藏」「在看」「赞」**
网络安全/渗透测试法律法规必知必会****
今天大白就帮想学黑客/网络安全技术的朋友们入门必须先了解法律法律。
【网络安全零基础入门必知必会】什么是黑客、白客、红客、极客、脚本小子?(02)
【网络安全零基础入门必知必会】网络安全专业术语全面解析(05)
【网络安全入门必知必会】《中华人民共和国网络安全法》(06)
【网络安全零基础入门必知必会】《计算机信息系统安全保护条例》(07)
【网络安全零基础入门必知必会】《中国计算机信息网络国际联网管理暂行规定》(08)
【网络安全零基础入门必知必会】《计算机信息网络国际互联网安全保护管理办法》(09)
【网络安全零基础入门必知必会】《互联网信息服务管理办法》(10)
【网络安全零基础入门必知必会】《计算机信息系统安全专用产品检测和销售许可证管理办法》(11)
【网络安全零基础入门必知必会】《通信网络安全防护管理办法》(12)
【网络安全零基础入门必知必会】《中华人民共和国国家安全法》(13)
【网络安全零基础入门必知必会】《中华人民共和国数据安全法》(14)
【网络安全零基础入门必知必会】《中华人民共和国个人信息保护法》(15)
【网络安全零基础入门必知必会】《网络产品安全漏洞管理规定》(16)
网络安全/渗透测试linux入门必知必会
【网络安全零基础入门必知必会】什么是Linux?Linux系统的组成与版本?什么是命令(01)
【网络安全零基础入门必知必会】VMware下载安装,使用VMware新建虚拟机,远程管理工具(02)
【网络安全零基础入门必知必会】VMware常用操作指南(非常详细)零基础入门到精通,收藏这一篇就够了(03)
【网络安全零基础入门必知必会】CentOS7安装流程步骤教程(非常详细)零基入门到精通,收藏这一篇就够了(04)
【网络安全零基础入门必知必会】Linux系统目录结构详细介绍(05)
【网络安全零基础入门必知必会】Linux 命令大全(非常详细)零基础入门到精通,收藏这一篇就够了(06)
【网络安全零基础入门必知必会】linux安全加固(非常详细)零基础入门到精通,收藏这一篇就够了(07)
网络安全/渗透测试****计算机网络入门必知必会****
【网络安全零基础入门必知必会】TCP/IP协议深入解析(非常详细)零基础入门到精通,收藏这一篇就够了(01)
【网络安全零基础入门必知必会】什么是HTTP数据包&Http数据包分析(非常详细)零基础入门到精通,收藏这一篇就够了(02)
【网络安全零基础入门必知必会】计算机网络—子网划分、子网掩码和网关(非常详细)零基础入门到精通,收藏这一篇就够了(03)
网络安全/渗透测试入门之HTML入门必知必会
【网络安全零基础入门必知必会】什么是HTML&HTML基本结构&HTML基本使用(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全零基础入门必知必会】VScode、PhpStorm的安装使用、Php的环境配置,零基础入门到精通,收藏这一篇就够了2
【网络安全零基础入门必知必会】HTML之编写登录和文件上传(非常详细)零基础入门到精通,收藏这一篇就够了3
网络安全/渗透测试入门之Javascript入门必知必会
【网络安全零基础入门必知必会】Javascript语法基础(非常详细)零基础入门到精通,收藏这一篇就够了(01)
【网络安全零基础入门必知必会】Javascript实现Post请求、Ajax请求、输出数据到页面、实现前进后退、文件上传(02)
网络安全/渗透测试入门之Shell入门必知必会
【网络安全零基础入门必知必会】Shell编程基础入门(非常详细)零基础入门到精通,收藏这一篇就够了(第七章)
网络安全/渗透测试入门之PHP入门必知必会
【网络安全零基础入门】PHP环境搭建、安装Apache、安装与配置MySQL(非常详细)零基础入门到精通,收藏这一篇就够(01)
【网络安全零基础入门】PHP基础语法(非常详细)零基础入门到精通,收藏这一篇就够了(02)
【网络安全零基础入门必知必会】PHP+Bootstrap实现表单校验功能、PHP+MYSQL实现简单的用户注册登录功能(03)
网络安全/渗透测试入门之MySQL入门必知必会
【网络安全零基础入门必知必会】MySQL数据库基础知识/安装(非常详细)零基础入门到精通,收藏这一篇就够了(01)
【网络安全零基础入门必知必会】SQL语言入门(非常详细)零基础入门到精通,收藏这一篇就够了(02)
【网络安全零基础入门必知必会】MySQL函数使用大全(非常详细)零基础入门到精通,收藏这一篇就够了(03)
【网络安全零基础入门必知必会】MySQL多表查询语法(非常详细)零基础入门到精通,收藏这一篇就够了(04)
****网络安全/渗透测试入门之Python入门必知必会
【网络安全零基础入门必知必会】之Python+Pycharm安装保姆级教程,Python环境配置使用指南,收藏这一篇就够了【1】
【网络安全零基础入门必知必会】之Python编程入门教程(非常详细)零基础入门到精通,收藏这一篇就够了(2)
python入门教程python开发基本流程控制if … else
python入门教程之python开发可变和不可变数据类型和hash
【网络安全零基础入门必知必会】之10个python爬虫入门实例(非常详细)零基础入门到精通,收藏这一篇就够了(3)
****网络安全/渗透测试入门之SQL注入入门必知必会
【网络安全渗透测试零基础入门必知必会】之初识SQL注入(非常详细)零基础入门到精通,收藏这一篇就够了(1)
【网络安全渗透测试零基础入门必知必会】之SQL手工注入基础语法&工具介绍(2)
【网络安全渗透测试零基础入门必知必会】之SQL注入实战(非常详细)零基础入门到精通,收藏这一篇就够了(3)
【网络安全渗透测试零基础入门必知必会】之SQLmap安装&实战(非常详细)零基础入门到精通,收藏这一篇就够了(4)
【网络安全渗透测试零基础入门必知必会】之SQL防御(非常详细)零基础入门到精通,收藏这一篇就够了(4)
****网络安全/渗透测试入门之XSS攻击入门必知必会
【网络安全渗透测试零基础入门必知必会】之XSS攻击基本概念和原理介绍(非常详细)零基础入门到精通,收藏这一篇就够了(1)
网络安全渗透测试零基础入门必知必会】之XSS攻击获取用户cookie和用户密码(实战演示)零基础入门到精通收藏这一篇就够了(2)
【网络安全渗透测试零基础入门必知必会】之XSS攻击获取键盘记录(实战演示)零基础入门到精通收藏这一篇就够了(3)
【网络安全渗透测试零基础入门必知必会】之xss-platform平台的入门搭建(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试入门】之XSS漏洞检测、利用和防御机制XSS游戏(非常详细)零基础入门到精通,收藏这一篇就够了5
****网络安全/渗透测试入门文件上传攻击与防御入门必知必会
【网络安全渗透测试零基础入门必知必会】之什么是文件包含漏洞&分类(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全渗透测试零基础入门必知必会】之cve实际漏洞案例解析(非常详细)零基础入门到精通, 收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之PHP伪协议精讲(文件包含漏洞)零基础入门到精通,收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之如何搭建 DVWA 靶场保姆级教程(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之Web漏洞-文件包含漏洞超详细全解(附实例)5
【网络安全渗透测试零基础入门必知必会】之文件上传漏洞修复方案6
****网络安全/渗透测试入门CSRF渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之CSRF漏洞概述和原理(非常详细)零基础入门到精通, 收藏这一篇就够了1
【网络安全渗透测试零基础入门必知必会】之CSRF攻击的危害&分类(非常详细)零基础入门到精通, 收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之XSS与CSRF的区别(非常详细)零基础入门到精通, 收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之CSRF漏洞挖掘与自动化工具(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之CSRF请求伪造&Referer同源&置空&配合XSS&Token值校验&复用删除5
****网络安全/渗透测试入门SSRF渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之SSRF漏洞概述及原理(非常详细)零基础入门到精通,收藏这一篇就够了 1
【网络安全渗透测试零基础入门必知必会】之SSRF相关函数和协议(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之SSRF漏洞原理攻击与防御(非常详细)零基础入门到精通,收藏这一篇就够了3**
**
****网络安全/渗透测试入门XXE渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之XML外部实体注入(非常详细)零基础入门到精通,收藏这一篇就够了1
网络安全渗透测试零基础入门必知必会】之XXE的攻击与危害(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之XXE漏洞漏洞及利用方法解析(非常详细)零基础入门到精通,收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之微信XXE安全漏洞处理(非常详细)零基础入门到精通,收藏这一篇就够了4
****网络安全/渗透测试入门远程代码执行渗透与防御必知必会
【网络安全渗透测试零基础入门必知必会】之远程代码执行原理介绍(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全零基础入门必知必会】之CVE-2021-4034漏洞原理解析(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全零基础入门必知必会】之PHP远程命令执行与代码执行原理利用与常见绕过总结3
【网络安全零基础入门必知必会】之WEB安全渗透测试-pikachu&DVWA靶场搭建教程,零基础入门到精通,收藏这一篇就够了4
****网络安全/渗透测试入门反序列化渗透与防御必知必会
【网络安全零基础入门必知必会】之什么是PHP对象反序列化操作(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全零基础渗透测试入门必知必会】之php反序列化漏洞原理解析、如何防御此漏洞?如何利用此漏洞?2
【网络安全渗透测试零基础入门必知必会】之Java 反序列化漏洞(非常详细)零基础入门到精通,收藏这一篇就够了3
【网络安全渗透测试零基础入门必知必会】之Java反序列化漏洞及实例解析(非常详细)零基础入门到精通,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之CTF题目解析Java代码审计中的反序列化漏洞,以及其他漏洞的组合利用5
网络安全/渗透测试**入门逻辑漏洞必知必会**
【网络安全渗透测试零基础入门必知必会】之一文带你0基础挖到逻辑漏洞(非常详细)零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门暴力猜解与防御必知必会
【网络安全渗透测试零基础入门必知必会】之密码安全概述(非常详细)零基础入门到精通,收藏这一篇就够了1
【网络安全渗透测试零基础入门必知必会】之什么样的密码是不安全的?(非常详细)零基础入门到精通,收藏这一篇就够了2
【网络安全渗透测试零基础入门必知必会】之密码猜解思路(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之利用Python暴力破解邻居家WiFi密码、压缩包密码,收藏这一篇就够了4
【网络安全渗透测试零基础入门必知必会】之BurpSuite密码爆破实例演示,零基础入门到精通,收藏这一篇就够了5
【网络安全渗透测试零基础入门必知必会】之Hydra密码爆破工具使用教程图文教程,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之暴力破解medusa,零基础入门到精通,收藏这一篇就够了7
【网络安全渗透测试零基础入门必知必会】之Metasploit抓取密码,零基础入门到精通,收藏这一篇就够了8
****网络安全/渗透测试入门掌握Redis未授权访问漏洞必知必会
【网络安全渗透测试零基础入门必知必会】之Redis未授权访问漏洞,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Redis服务器被攻击后该如何安全加固,零基础入门到精通,收藏这一篇就够了**
**
网络安全/渗透测试入门掌握**ARP渗透与防御关必知必会**
【网络安全渗透测试零基础入门必知必会】之ARP攻击原理解析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之ARP流量分析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之ARP防御策略与实践指南,零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握系统权限提升渗透与防御关****必知必会
【网络安全渗透测试零基础入门必知必会】之Windows提权常用命令,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Windows权限提升实战,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之linux 提权(非常详细)零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握Dos与DDos渗透与防御相关****必知必会
【网络安全渗透测试零基础入门必知必会】之DoS与DDoS攻击原理(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Syn-Flood攻击原理解析(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之IP源地址欺骗与dos攻击,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之SNMP放大攻击原理及实战演示,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之NTP放大攻击原理,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之什么是CC攻击?CC攻击怎么防御?,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之如何防御DDOS的攻击?零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握无线网络安全渗透与防御相关****必知必会
【网络安全渗透测试零基础入门必知必会】之Aircrack-ng详细使用安装教程,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之aircrack-ng破解wifi密码(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之WEB渗透近源攻击,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之无线渗透|Wi-Fi渗透思路,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之渗透WEP新思路Hirte原理解析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之WPS的漏洞原理解析,零基础入门到精通,收藏这一篇就够了
网络安全/渗透测试入门掌握木马免杀问题与防御********必知必会
【网络安全渗透测试零基础入门必知必会】之Metasploit – 木马生成原理和方法,零基础入门到精通,收藏这篇就够了
【网络安全渗透测试零基础入门必知必会】之MSF使用教程永恒之蓝漏洞扫描与利用,收藏这一篇就够了
网络安全/渗透测试入门掌握Vulnhub靶场实战********必知必会
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶机Prime使用指南,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶场Breach1.0解析,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之vulnhub靶场之DC-9,零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶机Kioptrix level-4 多种姿势渗透详解,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之Vulnhub靶场PWNOS: 2.0 多种渗透方法,收藏这一篇就够了
网络安全/渗透测试入门掌握社会工程学必知必会
【网络安全渗透测试零基础入门必知必会】之什么是社会工程学?定义、类型、攻击技术,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之社会工程学之香农-韦弗模式,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之社工学smcr通信模型,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之社会工程学之社工步骤整理(附相应工具下载)收藏这一篇就够了
网络安全/渗透测试入门掌握********渗透测试工具使用******必知必会**
2024版最新Kali Linux操作系统安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
【网络安全渗透测试零基础入门必知必会】之渗透测试工具大全之Nmap安装使用命令指南,零基础入门到精通,收藏这一篇就够了
2024版最新AWVS安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新burpsuite安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新owasp_zap安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Sqlmap安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Metasploit安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Nessus下载安装激活使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
2024版最新Wireshark安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了
觉得有用的话,希望粉丝朋友帮大白点个**「分享」「收藏」「在看」「赞」**
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取