[论文解读] Harnessing the Power of LLM to Support Binary Taint Analysis
该论文提出了LATTE,这是首个基于大语言模型(LLM)的静态二进制污点分析框架,可自动检测漏洞而无需人工规则工程。通过结合危险数据流切片与基于LLM的代码理解,LATTE在检测污点风格漏洞方面表现卓越——在真实固件中发现了37个此前未被发现的漏洞,其中7个获得了CVE编号,显著提升了自动化水平、检测效果与可扩展性,超越了以往最先进的工具。
This paper proposes LATTE, the first static binary taint analysis that is powered by a large language model (LLM). LATTE is superior to the state of the art (e.g., Emtaint, Arbiter, Karonte) in three aspects. First, LATTE is fully automated while prior static binary taint analyzers need rely on human expertise to manually customize taint propagation rules and vulnerability inspection rules. Second, LATTE is significantly effective in vulnerability detection, demonstrated by our comprehensive evaluations. For example, LATTE has found 37 new bugs in real-world firmware which the baselines failed to find, and 7 of them have been assigned CVE numbers. Lastly, LATTE incurs remarkably low engineering cost, making it a cost-efficient and scalable solution for security researchers and practitioners. We strongly believe that LATTE opens up a new direction to harness the recent advance in LLMs to improve vulnerability analysis for binary programs.
研究动机与目标
- 解决传统静态二进制污点分析中依赖手工编写传播与检查规则所导致的高工程成本与人工投入问题。
- 克服现有污点分析工具因依赖专家知识且易受规则不准确影响而导致误报/漏报的局限性。
- 利用大语言模型(LLM)的语义理解与上下文推理能力,自动分析经过剥离的二进制程序中的漏洞。
- 通过以LLM驱动的代码分析替代人工规则创建,实现可扩展、成本低廉且完全自动化的二进制漏洞分析。
- 证明将LLM与程序分析技术结合用于静态二进制安全审计的可行性与有效性。
提出的方法
- 执行危险数据流切片,追溯二进制程序中已知安全数据接收点(sink)到外部输入源的污点传播路径。
- 从二进制程序的控制流与数据依赖路径中提取相关代码片段,形成适合LLM分析的连贯程序片段。
- 利用切片后的代码片段构建上下文感知的提示(prompt),并辅以元数据(如函数名、数据类型)以引导LLM的理解。
- 使用GPT-4.0作为LLM引擎,分析提示序列,判断数据流是否会导致可利用的漏洞。
- 采用两阶段过滤机制:首先识别潜在的污点源与接收点;其次利用LLM验证该数据流是否构成真实漏洞。
- 支持灵活部署,允许插拔式LLM接口,便于未来迁移至其他演进中的LLM。

实验结果
研究问题
- RQ1LLM能否在无源代码的情况下,有效理解并分析低级二进制代码片段,以检测安全漏洞?
- RQ2LLM驱动的污点分析在检测真实世界漏洞方面,相较于传统基于规则的静态分析器,其性能提升程度如何?
- RQ3危险数据流切片与基于LLM的推理相结合,在降低二进制污点分析中的误报与漏报方面效果如何?
- RQ4基于LLM的方法能否实现漏洞检测的完全自动化,从而消除在污点传播与接收点检查中对手动规则定义的需求?
- RQ5LLM分析在处理复杂漏洞(如逻辑错误或依赖时间窗口的竞争条件)方面存在哪些局限性?
主要发现
- LATTE在真实世界固件中发现了37个此前未被发现的漏洞,其中7个获得CVE编号,证明其具备发现零日级缺陷的能力。
- 在所有污点风格漏洞类型(包括缓冲区溢出与命令注入)上,LATTE均优于最先进的基线工具Emtaint、Arbiter与Karonte。
- LATTE实现了漏洞检测的完全自动化,无需为污点传播与接收点检查手动创建规则。
- 将危险数据流切片与基于LLM的推理相结合,显著提升了分析准确率,并减少了人工干预。
- 在标准数据集与真实固件上的评估表明,LATTE的方法既有效又可扩展,工程成本低且检测覆盖率高。
- 尽管具有诸多优势,LATTE在分析逻辑漏洞及复杂数学运算时仍面临挑战,原因在于LLM对深层嵌套或时间敏感代码模式的理解有限。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。