← 最新论文
💻 computer science

Triggering and Detecting Exploitable Library Vulnerability from the Client by Directed Greybox Fuzzing

本文提出了名为 LiveFuzz 的新方法,利用基于目标元组的定向灰盒模糊测试技术,无需依赖现成的概念验证(PoC)即可从客户端程序检测第三方库漏洞的可利用性,并通过抽象路径映射和基于风险的自适应变异机制显著提升了漏洞触达效率与覆盖率。

原作者: Yukai Zhao, Menghan Wu, Xing Hu, Shaohua Wang, Meng Luo, Xin Xia

发布于 2026-04-07
📖 1 分钟阅读☕ 轻松阅读

原作者: Yukai Zhao, Menghan Wu, Xing Hu, Shaohua Wang, Meng Luo, Xin Xia

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

这篇论文介绍了一个名为 LiveFuzz 的新工具,它的任务是帮程序员找出软件中那些“潜伏”的安全漏洞。

为了让你更容易理解,我们可以把整个软件世界想象成一个巨大的物流系统

1. 背景:为什么会有问题?

想象一下,你开了一家快递公司(这就是客户端程序)。为了送快递,你不需要自己造卡车、自己修路,你直接雇佣了专业的第三方物流公司(这就是第三方库,比如处理图片的库、处理视频的库)。

  • 好处:你不用自己造轮子,效率极高。
  • 风险:如果第三方物流公司的某辆卡车(代码)有个刹车失灵(漏洞),你的快递车只要用了这辆卡车,你的整个公司就可能面临危险。

以前,安全专家想检查这些漏洞,通常需要一张“藏宝图”(PoC,概念验证代码),告诉他们:“嘿,只要把卡车开到那个特定的路口,刹车就会失灵。”
但是,很多时候这张“藏宝图”根本不存在,或者还没被画出来。这就让很多公司不敢轻易更新第三方库,因为怕更新后自己的系统会崩溃,结果就是带着隐患继续运行。

2. LiveFuzz 是怎么工作的?

LiveFuzz 就像是一个超级聪明的“寻宝侦探”。它的目标是在没有“藏宝图”的情况下,主动驾驶你的快递车,去尝试撞开那个失灵的刹车。

它主要用了三个“独门秘籍”:

秘籍一:双目标导航(Target Tuple)

  • 传统方法:以前的侦探只盯着“最终目的地”(漏洞发生的地方)。这就像只盯着终点线,却不管前面的路有多复杂。
  • LiveFuzz 的做法:它把任务分成了两步。
    1. 第一步:先找到你公司内部的“调度员”(客户端函数),看他们有没有把任务派出去。
    2. 第二步:再找到第三方物流的“仓库管理员”(库函数),看他们有没有收到任务。
    • 比喻:就像侦探不仅盯着“仓库大门”(漏洞点),还盯着“调度室”(调用点)。只有当调度室把车派出去,且车真的开到了仓库,才算有效。这样它就能更精准地规划路线,不会在死胡同里浪费时间。

秘籍二:抽象路径映射(Abstract Path Mapping)—— 拒绝“走捷径”

  • 传统方法的缺陷:以前的侦探有个坏习惯,喜欢选“路程短”的路线。比如,去仓库有两条路:
    • 路 A:很短,但只能走到半路。
    • 路 B:很长,但能直达仓库。
    • 以前的工具会觉得路 A 更“近”,于是拼命测试路 A,结果永远到不了仓库。
  • LiveFuzz 的做法:它发明了一种“相对进度表”。它不看绝对距离,而是看你完成了整个旅程的百分之多少
    • 比喻:就像跑步比赛。以前只比谁离终点线近(不管你是不是在跑错方向)。LiveFuzz 则看谁跑完了总赛程的 80%。即使路 B 很长,只要它跑完了 80%,侦探就会觉得:“这条路线很有希望!”从而优先测试它。这解决了“路虽长,但能到”的问题。

秘籍三:风险自适应变异(Risk-Based Adaptive Mutation)—— 该粗则粗,该细则细

  • 传统方法的缺陷:以前的侦探在修改输入数据(比如修改快递单上的地址)时,要么“大刀阔斧”(把整段地址都改了),要么“小心翼翼”(只改一个字母)。他们通常随机选择,不管当前走到哪一步。
    • 如果车刚出发,大刀阔斧地改地址可能直接让车开进沟里(数据校验失败)。
    • 如果车快到了,只改一个字母可能太慢,无法触发刹车失灵。
  • LiveFuzz 的做法:它会根据车子当前的“风险等级”来调整策略。
    • 刚出发时:用“大刀阔斧”的改法,快速探索各种可能性,看看能不能把车开进正确的车道。
    • 快接近仓库时:用“精细微调”的改法,专门针对那个刹车失灵的条件(比如把速度从 49 改成 50)进行微调。
    • 比喻:就像钓鱼。刚开始撒网要广(粗粒度),鱼快上钩了,就要轻轻提竿(细粒度),不能把鱼吓跑。

3. 效果怎么样?

研究人员找来了 61 个真实的“事故案例”(包含 42 个不同的漏洞),让 LiveFuzz 和其他几个老牌侦探(工具)进行比赛。

  • 结果
    • 找路更多:LiveFuzz 比对手多找到了 37% 到 195% 不等的有效路线。
    • 速度更快:触发漏洞的速度平均快了 5 到 7 倍
    • 独家发现:有 3 个 极其隐蔽的漏洞,只有 LiveFuzz 找到了,其他工具完全没反应。

总结

简单来说,LiveFuzz 就是一个不需要“作弊地图”(PoC)就能自动寻找软件漏洞的超级工具。

它通过把长距离的探索任务拆解成两步用相对进度代替绝对距离、以及根据进度灵活调整测试手段,成功解决了以前工具“只挑近路走”和“乱改数据”的毛病。这让开发者能更早、更准地发现那些隐藏在第三方库里的定时炸弹,从而在更新软件时更有底气。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →