写点什么

【论文速读】| LLM4FUZZ:利用大语言模型指导智能合约的模糊测试

作者:云起无垠
  • 2024-05-09
    北京
  • 本文字数:1844 字

    阅读完需:约 6 分钟

【论文速读】| LLM4FUZZ:利用大语言模型指导智能合约的模糊测试


本次分享论文:LLM4FUZZ: Guided Fuzzing of Smart Contracts with Large Language Models

基本信息


原文作者:Chaofan Shou, Jing Liu, Doudou Lu, Koushik Sen


作者单位:加州大学伯克利分校,加州大学欧文分校,Fuzzland 公司


关键词:区块链,智能合约,Fuzzing,大语言模型


原文链接:

https://arxiv.org/pdf/2401.11108.pdf


开源代码:暂无

论文简介


随着区块链平台的迅速发展,智能合约在数字资产管理中的应用逐渐增多,同时也暴露出许多安全漏洞。本文介绍了一种名为“LLM4FUZZ”的创新方法,该方法利用大语言模型(LLMs)来智能地指导和优先处理模糊测试活动,从而优化智能合约的自动化安全分析。


传统的 Fuzzing 方法在探索庞大的状态空间时效率较低,但 LLM4FUZZ 通过使用 LLM 生成的指标来引导 Fuzz 工具,专注于那些更可能触发漏洞的代码区域和输入序列,从而显著提高测试的效率和覆盖率。

引言


随着区块链平台和去中心化应用的快速发展,管理数十亿美元数字资产的智能合约代码量急剧增加。不幸地,这些关键代码中的漏洞经常被黑客利用,导致了重大资产损失。因此,在部署前全面分析智能合约的安全性至关重要。


传统的人工审计大量的智能合约代码库容易出错,并且经常忽视边缘情况中的漏洞。为了克服这些限制,行业越来越倾向于使用自动化的方法,如测试、动态分析和形式验证。因此,开发能够有效指导 Fuzz 测试并提高其探索效率和安全性的新技术,对保障区块链生态系统的安全至关重要。

研究背景


区块链技术的快速进展使得智能合约成为管理大量数字资产的关键工具。尽管如此,智能合约中频繁出现的安全漏洞已导致巨大的资产损失。传统的安全审计方法主要依靠手动检查,而这种方法往往忽略了边缘案例中的漏洞。因此,业界已开始采用如动态分析和形式验证等自动化方法以提升审计效率。然而,目前的自动化 Fuzz 测试技术在理解代码的语义和状态依赖性方面表现不佳,难以高效地探索代码的复杂状态空间。因此,迫切需要开发更先进的解决方案以提高智能合约的安全测试效率。

相关工作


本论文综述了现有的智能合约 Fuzzing 技术,并指出它们主要依赖静态分析或动态执行跟踪来自动化地生成测试用例。然而,这些技术常局限于现有代码的 API 用法,难以探索新功能或深入挖掘潜在的复杂用例。

论文还讨论了大语言模型在程序代码生成中的应用,展示了这些模型为智能合约安全测试带来的新技术可能性。提出的 LLM4FUZZ 方法结合了大语言模型的分析能力与 Fuzzing 的动态测试优势,旨在显著提升智能合约测试的质量与效率。

实验设计


LLM4FUZZ 首先把智能合约代码转换为抽象语法树(AST),进而执行深入的静态分析。接着,该系统利用大语言模型(LLMs)对代码进行分析,生成有关代码复杂度和潜在漏洞的度量指标。这些指标随后被用来指导 Fuzz 测试工具,优先针对那些更有可能触发漏洞的代码区域和输入序列进行测试。采用这种方法的 LLM4FUZZ 显著提升了测试的目标性和效率,有效减少了重复和无效的测试努力,加快了关键漏洞的发现和修复。这个流程的自动化和智能化显著增强了智能合约的安全验证过程。

实现方法


LLM4FUZZ 实施了一个精细化的流程以优化智能合约的 Fuzz 测试。首先,该系统将智能合约代码转化为抽象语法树(AST),并执行静态分析来识别基本的代码特征。然后,通过大语言模型(LLMs)对这些特征进行详尽分析,产生关于代码区域的复杂性和潜在漏洞的度量指标。这些指标随后整合入 Fuzzer 的调度系统,以指导 Fuzz 测试工具优先针对那些潜在风险较高的区域。LLM4FUZZ 通过这种方式显著提升了智能合约 Fuzzing 的效率和精确度,大幅减少了无目标探索的成本。

研究评估


LLM4FUZZ 已在多个去中心化金融(DeFi)项目中进行实际评估,并与传统 Fuzzing 技术相比表现出显著的性能提升。该技术在提升测试覆盖率、减少漏洞发现时间以及增强漏洞检测能力方面显示出优异的成效。

此外,在测试过程中,LLM4FUZZ 成功识别了多个之前审计未发现的严重漏洞,这些漏洞涉及的潜在财务损失超过 24 万美元。这一成绩证明了 LLM4FUZZ 通过大语言模型优化智能合约 Fuzzing 流程的有效性,并凸显了其在智能合约安全领域的巨大应用潜力。

论文结论


LLM4FUZZ 通过结合大语言模型的深度语义分析功能,极大地提高了智能合约 Fuzz 测试的效率和成效。此方法智能地引导 Fuzz 测试工具专注于高风险的代码区域和输入序列,不仅提升了测试覆盖率,也在更短时间内识别出更多漏洞。随着区块链技术的广泛应用,LLM4FUZZ 为智能合约的安全性验证提供了一种高效的新途径,有助于降低由漏洞引起的财务损失,并推动区块链生态系统的健康发展。


原作者:论文解读智能体

校对:小椰风


用户头像

云起无垠

关注

定义开发安全新范式 2022-10-14 加入

云起无垠致力于为企业提供自动化安全检测能力,让企业更安全,让安全更智能。

评论

发布
暂无评论
【论文速读】| LLM4FUZZ:利用大语言模型指导智能合约的模糊测试_云起无垠_InfoQ写作社区