Superion: Grammar-Aware Greybox Fuzzing
近年来,基于覆盖率的灰盒模糊技术已被证明是在实践中发现安全漏洞的最有效的技术之一。特别是美国的Fuzzy Lop(简称AFL)算法,被认为在相对简单的测试输入的模糊化方面取得了巨大的成功。然而,当遇到XML和JavaScript等结构化测试输入时,AFL中的语法盲裁剪和变异策略阻碍了AFL的有效性和效率。为此,我们提出了一个基于覆盖率的模糊处理结构化输入的灰盒模糊方法。鉴于语法(这往往是公开的)的测试输入,我们引入了一个语法感知修剪策略修剪测试输入在树级使用的抽象语法树(AST)解析的测试输入。此外,我们引入了两种语法感知的突变策略(即,增强的基于字典的突变和基于树的突变)。具体来说,基于树的变异通过使用解析的测试输入的AST替换子树来工作。该方法具有语法感知能力,可以将模糊推理的探索扩展到广度和深度。我们实现了我们的方法作为一个扩展AFL,命名为Escapon;和评估Escapon在现实生活中的大型程序(XML引擎libplist和三个JavaScript引擎WebKit,Jerryscript和ChakraCore)的有效性。我们的研究结果表明,ESPON可以提高代码覆盖率(即,行和函数覆盖率分别为16.7%和8.8%)和缺陷发现能力(即,31个新漏洞,其中我们发现了21个新漏洞,分配了16个CVE,并通过AFL和jsfunfuzz获得了3.2K美元的漏洞奖励。我们还证明了我们…
2019-01-23 cs.CR cs.SE
EmbedFuzz: High Speed Fuzzing Through Transplantation
EmbedFuzz通过固件移植技术将MCU固件转换至高端设备原生执行,实现高达八倍模糊测试吞吐量并降低能耗,简化崩溃分析。
2024-12-17 cs.CR
Fuzz'EMup: Leveraging EM Side-Channel Emanation to Guide Black-Box Embedded Firmware Fuzzing
Clemson University(克莱姆森大学);Texas Tech University(德克萨斯理工大学);University of Rochester(罗切斯特大学);Northeastern University(东北大学)
针对许多设备无法获取覆盖信息只能进行低效黑盒固件模糊测试的问题,提出利用电磁侧信道发射指导模糊测试的方法,通过频带选择与动态时间规整相结合解决挑战,在四个固件目标上评估,证明该方法能提高代码覆盖率。
2026-07-21 cs.CR
Ember-IO: Effective Firmware Fuzzing with Model-Free Memory Mapped IO
嵌入式系统的指数增长推动了开发模糊器的研究,以自动化固件测试,发现软件错误和安全漏洞。但是,在这种情况下,采用模糊技术提出了一个独特的挑战性的命题,一个关键的问题是需要处理的不同和大量的外围通信的自动化测试框架。最近的模糊方法:i)通过在仿真器中执行代码来采用重新托管方法,因为在资源有限的嵌入式系统上进行模糊化是缓慢且不可扩展的;以及ii)集成硬件行为的模型以克服由外围设备创建的待探索的大规模输入空间所面临的挑战,并生成有效地帮助模糊器取得进展的输入。我们的努力阐述了独特的固件程序执行行为,以解决由此产生的输入空间搜索问题。我们提出的技术提高了模糊器的能力,以产生可能的进展执行值,并避免在功能上等同于其他测试用例的变异输入消耗的时间。我们证明这些方法在克服输入空间搜索问题方面是高效且有效的。我们基于仿真的实现Ember-IO与现有的最先进的模糊框架相比,在21个固件二进制文件中,所覆盖的块提高了255%。此外,Ember-IO在现实世界的固件中发现了6个新的bug,以前没有被最先进的模糊框架识别出来。重要的是,Ember-IO与最先进的模糊器Fuzzware集成,在所有固件二进制文件中展示了类似或改进的覆盖范围,同时重现了Ember-IO发现的6个新错误中的3个。
2023-01-17 cs.CR
STAFF: Stateful Taint-Assisted Full-system Firmware Fuzzing
Sapienza University of Rome(罗马大学);LUISS University(卢意斯大学)
STAFF通过多请求记录、进程依赖检测和协议感知污点引导模糊测试,发现Linux固件中的42个bug,显著优于现有模糊测试方法。
2025-09-22 cs.CR
Is Stateful Fuzzing Really Challenging?
本文探讨有状态模糊测试工具难以设计与基准评估的原因,对比无状态场景中AFL等成熟工具,指出有状态系统缺乏明确最佳选择。
2024-06-12 cs.CR cs.SE
PowerFuzz: Power-Based Black-Box Firmware Fuzzing
University of Florida(佛罗里达大学)
提出PowerFuzz,一种利用功耗侧信道测量替代二进制插桩的黑盒模糊测试框架,通过滑动窗口和全迹相关方法识别分支并构建控制流图,在三个嵌入式平台上达到与灰盒模糊器相当的覆盖率(差距≤13.5%),并显著优于现有黑盒模糊器(提升达22%)。
2026-06-24 cs.CR
Full-speed Fuzzing: Reducing Fuzzing Overhead through Coverage-guided Tracing
在覆盖率引导的模糊测试的三个主要组成部分中:(1)测试用例生成,(2)代码覆盖率跟踪,以及(3)崩溃分类,代码覆盖率跟踪是开销的主要来源。覆盖率引导的模糊器通过静态或动态二进制插装来跟踪每个测试用例的代码覆盖率,或者最近使用硬件支持。不幸的是,跟踪所有的测试用例会导致显著的性能损失--即使绝大多数测试用例及其覆盖信息被丢弃,因为它们不会增加代码覆盖。为了消除覆盖引导模糊不必要的跟踪,我们引入覆盖引导跟踪的概念。覆盖率引导的跟踪利用了两个观察结果:(1)只有一小部分生成的测试用例增加了覆盖率,因此需要跟踪;(2)随着时间的推移,覆盖率增加的测试用例变得不那么频繁。覆盖率引导的跟踪通过在目标二进制中编码代码覆盖率的当前边界来工作,以便当测试用例产生新的覆盖率时,它会自我报告-而不需要跟踪。这充当了跟踪的过滤器;将跟踪的开销限制为仅增加覆盖率的测试用例。因此,覆盖率引导的跟踪选择权衡增加的覆盖率增加测试用例处理时间,以获得最初以本机速度执行测试用例的能力。为了展示覆盖率引导跟踪的潜力,我们创建了一个基于静态二进制instrumentor Dyninst的实现,称为UnTracer。我们使用模糊社区常用的八个真实世界的二进制文件来评估UnTracer。实验表明,经过一个小时的模糊化,UnTracer的平均开销低于1%,经过24小时的模糊化,UnTracer接近0%的开销,而使用流行的白盒和…
2019-01-28 cs.CR cs.SE
BullsEye: Directed Firmware Fuzzing
Sapienza University of Rome(罗马大学);LUISS University(鲁斯自由大学)
本文提出首个基于基本块级距离调度闭源Linux固件模糊测试的定向灰盒模糊测试框架BULLSEYE,在40个漏洞位点上的漏洞暴露时间较基线缩短9.5至72.5倍,性能优于对比框架。
2026-08-19 cs.CR
Snipuzz: Black-box Fuzzing of IoT Firmware via Message Snippet Inference
物联网(IoT)设备的激增使人们的生活更加便利,但也引发了许多安全问题。由于难以获得和模拟物联网固件,物联网设备的黑盒模糊已成为一种可行的选择。然而,现有的黑盒模糊器不能形成有效的变异优化机制来指导其测试过程,主要是由于缺乏反馈。这是困难的,甚至不可能应用现有的基于语法的模糊策略。因此,在物联网模糊领域需要一种具有语法推理的高效模糊方法。为了解决这些关键问题,我们提出了一种新的物联网固件自动黑盒模糊,称为Snipuzz。Snipuzz作为与设备通信的客户端运行,并根据响应推断用于变化的消息片段。每个代码段引用一个连续的字节块,这些字节块反映模糊处理中的近似代码覆盖率。这种基于消息片段的变异策略大大缩小了改变探测消息的搜索空间。我们将Snipuzz与四种最先进的物联网模糊方法进行了比较,即,IoT Fuzzer BooFuzz Doona和Nemesys Snipuzz不仅继承了基于应用程序的模糊处理的优点(例如,IoTFuzzer,而且还利用通信响应来执行有效的突变。此外,Snipuzz是轻量级的,因为它的执行不依赖于任何先决条件操作,例如应用程序的逆向工程。我们还在20个流行的现实世界物联网设备上评估了Snipuzz。我们的研究结果表明,Snipuzz可以识别出5个零日漏洞,其中3个只能由Snipuzz暴露。所有新发现的漏洞都已得到其供应商的确认。
2021-05-21 cs.CR
FirmReBugger: A Benchmark Framework for Monolithic Firmware Fuzzers
University of Adelaide(阿德莱德大学);Data61 CSIRO(CSIRO数据科学中心)
FirmReBugger是一个用于评估单体固件模糊测试器的基准框架,通过基于缺陷的基准和真实世界目标提供可靠评估方法。
2026-01-22 cs.CR cs.SE
Icicle: A Re-Designed Emulator for Grey-Box Firmware Fuzzing
本研究提出Icicle,一个专为模糊测试设计的多架构模拟框架,支持架构无关插桩,以低开销实现高效灰盒固件模糊测试,并在多种ISA及MSP430上发现新错误。
2023-06-21 cs.CR
Magma: A Ground-Truth Fuzzing Benchmark
高可扩展性和低运行成本使得模糊测试成为发现软件缺陷的事实标准。在构建最终缺陷查找工具的竞赛中,模糊技术不断得到改进。然而,虽然模糊化擅长在野外发现bug,但由于缺乏指标和基准,评估和比较模糊化性能具有挑战性。例如,由于重复数据删除技术的不完善,可能是最常用的性能度量的崩溃计数是不准确的。此外,由于缺乏一套统一的目标,导致进行临时评价,妨碍了公平比较。我们解决这些问题,通过开发岩浆,一个真值模糊基准,使统一的模糊评估和比较。通过将真实的错误引入真实的软件,Magma允许对模糊器进行现实的评估。通过检测这些bug,Magma还可以独立于模糊器收集以bug为中心的性能指标。Magma是一个开放的基准测试,由七个目标组成,执行各种输入操作和复杂的计算,对最先进的模糊器提出了挑战。我们评估了七个广泛使用的基于突变的模糊器(AFL,AFLFast,AFL++,FairFuzz,MOpt-AFL,honggfuzz和SymCC-AFL)对Magma超过200,000 CPU小时。基于到达、触发和检测到的错误的数量,我们得出关于模糊器的探索和检测能力的结论。这提供了对模糊性能评估的深入了解,突出了地面实况在执行更准确和有意义的评估中的重要性。
2020-10-23 cs.CR
FirmRCA: Towards Post-Fuzzing Analysis on ARM Embedded Firmware with Efficient Event-based Fault Localization
本文提出 FirmRCA 框架,通过事件足迹收集、历史驱动数据传播跟踪和关键指令高亮,实现 ARM 嵌入式固件崩溃的高效自动化根因定位。
2024-10-24 cs.CR
Multi-target Coverage-based Greybox Fuzzing
Graduate School of Information Security(信息安全研究生院)
本文提出一种多目标覆盖灰盒模糊测试方法,通过统一虚拟化环境测量软件边界代码覆盖,提升系统探索深度。
2026-03-26 cs.CR
Protocol-Aware Firmware Rehosting for Effective Fuzzing of Embedded Network Stacks
提出名为Pemu的协议感知型固件重托管方法,通过自动推断网络协议并生成有效数据包,使模糊测试输入直达固件深层逻辑,提升了现有工具代码覆盖率并发现多个深层漏洞。
2025-09-17 cs.CR
Faster Fuzzing: Reinitialization with Deep Neural Models
Pacific Northwest National Laboratory(太平洋西北国家实验室)
我们通过使用生成对抗网络(GAN)模型来使用新的种子文件重新初始化系统,从而提高了美国模糊Lop(AFL)模糊测试框架的性能。我们评估性能的基础上,我们产生新的和看不见的代码路径的时间速率。我们比较这种方法,种子文件生成从随机抽取的字节中观察到的训练种子文件。代码路径长度和变化不足以完全取代AFL输入生成。然而,用这些额外的代码路径增强原生AFL证明了对AFL的改进。具体来说,实验表明,GAN比LSTM更快,更有效,并且通过发现的唯一代码路径的数量来衡量,它的性能优于随机增强策略。GAN帮助AFL在相同的CPU时间内比随机策略多发现14.23%的代码路径,多发现6.16%的唯一代码路径,并找到平均长13.84%的路径。使用GAN作为AFL的重新初始化策略,以帮助模糊器在软件中练习深层路径。
2017-11-08 cs.AI cs.CR
ES-Fuzz: Adaptive Modeling of MMIO Data Chunks for Firmware Fuzzing
University of Michigan(密歇根大学)
提出 ES-Fuzz,通过自适应建模 MMIO 数据块克服固件模糊测试中的覆盖瓶颈,在 Fuzzware 上实现最高 68% 的覆盖率提升并发现额外漏洞。
2026-07-02 cs.CR
FuzzSplore: Visualizing Feedback-Driven Fuzzing Techniques
模糊测试技术是当前针对安全问题的软件测试的发展趋势。它们的巨大有效性吸引了研究人员和黑客的注意,并使他们参与开发许多新技术来改进模糊测试。这些技术的评价和交叉比较几乎是一个开放的问题。在本文中,我们提出了一个人驱动的方法来解决这个问题的基础上信息可视化。我们在AFL++模糊框架FuzzSplore上开发了一个原型,分析师可以使用它来获得有关应用于特定目标的不同模糊配置的有用见解,以便在模糊活动期间选择或调整最佳技术。
2021-02-06 cs.CR cs.SE
P$^2$IM: Scalable and Hardware-independent Firmware Testing via Automatic Peripheral Interface Modeling (extended version)
嵌入式固件的动态测试或模糊测试受到硬件依赖性和可扩展性差的严重限制,部分原因是物联网设备普遍存在漏洞。我们提出了一个软件框架,不断执行给定的固件二进制,同时从现成的模糊输入通道,使硬件独立和可扩展的固件测试。我们的框架,使用一种新的技术,称为P $^2$ IM,抽象不同的外设和处理固件I/O的基础上自动生成的模型。P $^2$ IM不受外围设备设计的影响,对固件实现是通用的,因此可应用于各种嵌入式设备。我们使用70个示例固件和来自真实设备(包括无人机、机器人和PLC)的10个固件评估了我们的框架。它成功执行了79%的示例固件,无需任何手动帮助。我们还对真实固件进行了有限的模糊测试,发现了7个独特的未知错误。
2019-09-26 cs.CR
ZTaint-Havoc: From Havoc Mode to Zero-Execution Fuzzing-Driven Taint Inference
该研究利用 AFL++ 的 havoc 变异实现零额外执行的 FTI,并借助热点字节指导变异,以极低开销提升边覆盖率。
2025-06-10 cs.CR cs.SE
SplITS: Split Input-to-State Mapping for Effective Firmware Fuzzing
针对单体固件外设输入中的多字节魔字符串障碍,提出 SplITS 拆分式输入到状态映射与定向变异方法,显著提升多字节比较求解、代码覆盖和漏洞发现。
2023-08-15 cs.CR
Fuzzing Based on Function Importance by Interprocedural Control Flow Graph
基于覆盖的灰盒模糊器(CGF),如AFL,由于其易用性和缺陷发现能力,在漏洞检测方面取得了巨大的成功。由于某些代码片段(如内存分配)比其他代码片段更容易受到攻击,因此已经提出了各种改进技术,通过从被测程序或其执行中收集额外的信息来探索更容易受到攻击的区域。然而,这些改进仅考虑有限类型的信息源,并且忽略了要被模糊化的种子输入的优先级可能受其覆盖的所有代码影响的事实。基于上述观察,我们提出了一种基于函数重要性的模糊化方法。首先,设计了一种称为属性化过程间控制流图(AICFG)的数据结构来组合代码片段的不同特征。其次,基于改进的PageRank算法计算AICFG中每个节点的重要性,该算法还对连接节点之间的影响进行了建模。在模糊过程中,节点的重要性定期更新的传播算法。然后,种子输入的种子选择和能量调度由其执行轨迹的重要性决定。我们实现了这种方法的AFL顶部的一个工具,名为FunAFL,并进行了评估对AFL和它的两个改进的14个现实世界的计划。FunAFL的分支覆盖率平均比其他人高17%,发现了13个bug,其中3个在72小时后被CVE确认。
2021-02-27 cs.CR
SeedSmith: LLM-Driven Seed Synthesis for Directed Fuzzing
UC Santa Barbara(加州大学圣塔芭芭拉分校);Arizona State University(亚利桑那州立大学)
研究针对定向模糊测试常无法触发崩溃的问题,提出SeedSmith这一基于大语言模型的管道,通过复制分析师工作流程合成种子,提升模糊器性能,在Magma和ARVO上取得显著加速和发现新漏洞的成果。
2026-07-16 cs.CR cs.SE
Frankenstein: Advanced Wireless Fuzzing to Exploit New Bluetooth Escalation Targets
无线通信标准和实现方式在安全性方面具有麻烦的历史。由于大多数实现和固件都是闭源的,因此模糊仍然是发现部署系统中远程代码执行(RCE)漏洞的主要方法之一。通用的空中模糊有几个缺点,如速度受限、可重复性有限和调试能力受限。在本文中,我们提出了弗兰肯斯坦,模糊框架的基础上先进的固件仿真,解决了这些缺点。弗兰肯斯坦使固件转储“复活”,并为芯片的虚拟调制解调器提供模糊输入。我们的新模糊方法的加速足以保持与所连接的操作系统的互操作性,从而触发实际的全栈行为。我们通过在Broadcom和Cypress蓝牙堆栈中发现三个零点击漏洞来展示弗兰肯斯坦的潜力,这些漏洞用于大多数Apple设备,许多三星智能手机,Raspberry Pis和许多其他设备。如果蓝牙芯片上有RCE,攻击者可能会将其权限提升到芯片边界之外。我们发现了一个Wi-Fi/蓝牙共存的问题,崩溃多个操作系统内核和蓝牙5.2规范中的设计缺陷,允许从主机的链接密钥提取。关闭蓝牙不会完全禁用芯片,这使得它很难防御RCE攻击。此外,在这些设备上测试我们基于芯片的漏洞时,我们发现了BlueFrag,一个独立于芯片的Android RCE。
2020-06-17 cs.CR cs.NI
FuzzPilot: Plateau-Triggered Recipe Validation for Structured Text Fuzzing
Qingdao University of Technology(青岛理工大学)
FuzzPilot 通过高原触发式配方验证,在覆盖率停滞时利用快照和微测试评估变异配方,以提升 AFL++ 的模糊测试效率。
2026-05-25 cs.CR cs.SE
FuzzBox: Blending Fuzzing into Emulation for Binary-Only Embedded Targets
Università degli Studi di Napoli Federico II(那不勒斯费德里科二世大学)
FuzzBox通过整合模拟与模糊测试,在虚拟化环境中动态注入模糊输入,实现故障检测和覆盖率分析,无需源代码重新编译和硬件依赖,适用于工业系统和物联网固件。
2025-09-06 cs.CR cs.SE
SoK: A Large-Scale Empirical Study of Emulation-Based Dynamic Analysis Research for ARM Cortex-M Firmware (Extended Version)
School of Cyber Science and Engineering, Huazhong University of Science and Technology(华中科技大学网络空间安全学院);Hubei Key Laboratory of Distributed System Security(湖北省分布式系统安全重点实验室);University of Georgia(佐治亚大学)
本研究基于大规模MCU固件数据集,实证评估24种仿真固件分析工具,发现仅34.5%样本可模糊测试且覆盖率低,揭示了现有方法的局限并指明未来研究方向。
2026-10-01 cs.CR
POZZER: A Power Side Channel-guided Fuzzer for Black-Box Embedded Systems
CISPA Helmholtz Center for Information Security(CISPA赫尔霍兹信息安全中心)
POZZER利用功率侧信道轨迹作为反馈,通过图表示引导黑盒嵌入式系统模糊测试,无需固件源码或调试接口,在30个目标-平台组合中26个优于盲模糊测试,并发现两个已确认漏洞。
2026-09-22 cs.CR
Semantic-Aware Fuzzing: An Empirical Framework for LLM-Guided, Reasoning-Driven Input Mutation
School of Computing, Queen’s University(女王大学计算机学院);McGill University(麦吉尔大学);Defence R&D Canada(国防研发加拿大)
针对现有模糊测试缺乏语义推理的问题,提出集成推理LLM与AFL++的微服务框架,实验表明Deepseek表现最佳,变异质量取决于提示复杂度与模型选择。
2025-09-23 cs.AI cs.CR cs.SE
AdaRare: Telemetry-Guided Joint Profile Control for Greybox Fuzzing
Fuzhou University(福州大学)
AdaRare是AFL++扩展,通过遥测引导的联合剖面控制优化灰盒模糊测试,在多组实验中提升了边覆盖率,还发现了5个内存漏洞。
2026-08-20 cs.CR
PBFuzz: Agentic Directed Fuzzing for PoV Generation
University of California, Riverside(加州大学河滨分校);University of Minnesota, Twin Cities(明尼苏达大学双城分校)
PBFuzz通过模拟人类专家流程,自动提取语义约束并高效生成漏洞证明输入,实验表明其在效率和漏洞触发性能上优于现有方法。
2026-10-27 cs.CR cs.SE
ROSA: Finding Backdoors with Fuzzing
本文提出ROSA方法与工具,结合AFL++和新型蜕变测试预言机检测运行时后门触发,并构建ROSARUM基准,实验表明其可自动、快速发现全部17个后门。
2025-05-13 cs.CR cs.SE
UNIFUZZ: A Holistic and Pragmatic Metrics-Driven Platform for Evaluating Fuzzers
为了有效地检测软件漏洞,文献中提出了一系列模糊工具(fuzzers)。然而,迄今为止,由于基准、性能指标和/或评估环境的不一致性,比较模糊器仍然具有挑战性,这掩盖了有用的见解,从而阻碍了有前途的模糊原语的发现。在本文中,我们设计和开发了一个开源的度量驱动的平台,用于全面和定量地评估模糊器。具体来说,迄今为止,ENUZZ已经整合了35个可用的模糊器,20个真实世界程序的基准,以及六类性能指标。我们首先系统地研究了现有模糊器的可用性,发现并修复了一些缺陷,并将它们集成到CNUUZZ中。基于这项研究,我们提出了一个实用的性能指标,从六个互补的角度来评估模糊。我们使用ENUZZ对几个著名的模糊器进行了深入的评估,包括AFL [1],AFLFast [2],Angora [3],Honggfuzz [4],MOPT [5],QSYM [6],T-Fuzz [7]和VUzzer 64 [8]。我们发现,没有一个优于其他所有的目标程序,并使用单一的指标来评估一个模糊器的性能可能会导致片面的结论,这表明了全面的指标的意义。此外,我们确定和调查以前被忽视的因素,可能会显着影响模糊的性能,包括仪器方法和崩溃分析工具。我们的实证结果表明,他们是至关重要的模糊器的评价。我们希望我们的研究结果可以揭示可靠的模糊评估,使我们可以发现有前途的模糊原语,以有效地促进模糊设计在未来。
2020-10-05 cs.CR
Hybrid Fuzzing with LLM-Guided Input Mutation and Semantic Feedback
Independent Researcher(独立研究者)
本文提出一种结合LLM引导变异与语义反馈的混合模糊测试框架,在AFL++上实现,通过语义信号优先探索深层程序行为,在libpng等真实目标上取得更快的漏洞发现速度和更高的语义多样性。
2025-11-06 cs.AI cs.CR
NecoFuzz: Effective Fuzzing of Nested Virtualization via Fuzz-Harness Virtual Machines
The University of Tokyo(东京大学);National Institute of Advanced Industrial Science and Technology(国立研究开发法人产业技术综合研究所)
NecoFuzz通过生成接近有效与无效边界状态的模糊-Harness虚拟机,有效模糊化嵌套虚拟化,发现多个漏洞。
2025-12-09 cs.CR cs.OS
SHAPFUZZ: Efficient Fuzzing via Shapley-Guided Byte Selection
提出ShapFuzz,一种基于Shapley值和上下文多臂老虎机的模糊测试方法,通过低开销量化字节重要性来指导选择与变异,相比现有先进模糊测试器能发现更多边、暴露更多漏洞并发现新CVE漏洞。
2023-10-23 cs.CR
Securing LLM-Generated Embedded Firmware through AI Agent-Driven Validation and Patching
Faculty of Engineering(工程学院);Applied Science Ontario Tech University(应用科学奥尔巴尼技术大学)
本文提出一种结合 LLM 固件生成与 AI 智能体验证的三阶段方法,通过模糊测试和迭代修补显著提升嵌入式固件的安全性、合规性与实时性能。
2025-09-12 cs.AI cs.CR
Fuzzing the PHP Interpreter via Dataflow Fusion
本文提出首个针对 PHP 解释器内存错误的自动化模糊测试框架 FlowFusion,通过数据流融合合并测试用例并结合变异、接口模糊测试和环境交叉策略,发现 158 个未知漏洞,并已集成到官方 PHP 工具链。
2025-02-04 cs.CR
BackREST: A Model-Based Feedback-Driven Greybox Fuzzer for Web Applications
随着美国模糊Lop(AFL)的出现,模糊化的流行程度激增,现代模糊化的范围从简单的黑盒随机输入生成器到复杂的白盒concolic框架,能够进行深度程序内省。然而,Web应用程序模糊器并没有从二进制程序模糊化的巨大进步中受益,并且在本质上仍然是黑盒。本文介绍了BackREST,这是一个完全自动化的,基于模型的,覆盖和污染驱动的模糊器,它使用其反馈循环来更快地找到更关键的漏洞(加速比在7.4倍和25.9倍之间)。为了对Web应用程序的服务器端进行建模,BackREST通过定向状态感知爬行自动推断REST规范。在五个大型(>500 Kbps)Node.js应用程序上将BackREST与其他三个Web模糊器进行比较,显示了它如何始终实现可比的覆盖率,同时报告比最新技术更多的漏洞。最后,使用BackREST,我们发现了九个0天,其中六个没有被任何其他模糊器报告。所有的0-days都已经被公开,其中大部分现在都是公开的,包括两个在非常流行的Sequelize和Mongodb库中。
2021-08-19 cs.CR
Homo in Machina: Improving Fuzz Testing Coverage via Compartment Analysis
本文提出 HM-fuzzing 范式及隔间分析,结合全程序支配者与动态分析定位未覆盖程序区域以指导人工投入,在 OSS-Fuzz 七个项目上显著提升 AFL++ 覆盖率。
2022-12-21 cs.CR
From Library Portability to Para-rehosting: Natively Executing Microcontroller Software on Commodity Hardware
查找微控制器(MCU)固件中的错误是一项挑战,即使对于拥有源代码的设备制造商也是如此。MCU运行与x86不同的指令集,并暴露出非常不同的开发环境。这使x86上许多现有的复杂软件测试工具失效。为了维护一个统一的开发和测试环境,一个简单的方法是将源代码重新编译为商品机器的本机可执行文件(称为rehosting)。然而,ad-hoc re-hosting是一项艰巨而繁琐的任务,并且存在许多问题(库依赖性,内核依赖性和硬件依赖性)。在这项工作中,我们系统地探讨了MCU软件的可移植性问题,并提出pararehosting,以减轻移植过程。具体来说,我们抽象和实现一个便携式MCU(PMCU)使用POSIX接口。它模拟了MCU内核的常见功能。对于外围特定的逻辑,我们提出了基于HAL的外围功能替换,其中高级别的硬件功能被替换为主机上的等效后端驱动程序。这些后端驱动程序由精心设计的para-API调用,可以在许多MCU操作系统中重用。我们将常见的HAL函数分为四种类型,并实现了用于快速后端开发的模板。使用所提出的方法,我们已经成功地重新托管了9个MCU操作系统,包括广泛部署的Amazon FreeRTOS、ARM Mbed OS、Zephyr和LiteOS。为了证明我们的方法在安全测试方面的优越性,我们使用现成的动态分析工具(AFL和ASAN)对重新托管的程序,并发现了28个以前未知的错误,其中5个…
2021-07-04 cs.CR cs.DC cs.PL