分享自:

FlashSyn:通过反例驱动近似合成闪电贷攻击

期刊:2024 IEEE/ACM 46th International Conference on Software Engineering (ICSE '24)DOI:10.1145/3597503.3639190

这篇文档属于类型a,是一篇关于区块链安全领域原创研究的学术论文。以下是针对该研究的详细学术报告:


一、作者与发表信息
本研究由多伦多大学(University of Toronto)的Zhiyang Chen、Sidi Mohamed Beillahi和Fan Long合作完成,标题为《FlashSyn: Flash Loan Attack Synthesis via Counter Example Driven Approximation (Extended Version)》,发表于2024年4月的ICSE 2024(IEEE/ACM International Conference on Software Engineering)会议,全文22页。

二、学术背景
1. 研究领域:该研究属于区块链安全与智能合约漏洞检测领域,聚焦于去中心化金融(DeFi, Decentralized Finance)中的闪电贷攻击(Flash Loan Attack)问题。
2. 研究动机:闪电贷攻击通过无抵押借贷大量资产,利用DeFi协议的设计漏洞牟利,已造成超4.18亿美元损失。传统静态分析工具(如Slither)因无法处理多合约交互和复杂数学逻辑,难以检测此类漏洞。
3. 目标:开发首个自动化合成闪电贷攻击向量的工具FlashSyn,通过近似方法绕过DeFi协议的复杂性,实现漏洞检测。

三、研究流程与方法
1. 问题建模
- 将DeFi协议行为建模为标记转移系统(Labeled Transition Systems, LTS),定义攻击向量为一系列合约函数调用序列,目标为最大化攻击者利润。
- 挑战包括:多合约交互复杂性、闭源代码不可见性(如Harvest Finance的Oracle合约)、数学模型复杂性(如StableSwap的五次方程无解析解)。

  1. 核心方法:合成-近似(Synthesis-via-Approximation)

    • 初始近似
      • 通过私有区块链分叉环境收集函数输入-输出数据点(如exchange(usdt, usdc, v)的预状态、参数与后状态)。
      • 采用两种数值方法近似函数行为:
      • 多项式线性回归(Polynomial Linear Regression):使用scikit-learn库拟合多项式特征。
      • 最近邻插值(Nearest-Neighbor Interpolation):基于SciPy库实现局部逼近。
    • 优化查询构建:将近似函数转化为约束优化问题,调用SciPy的全局优化器(SHGO算法)搜索最优参数组合。
  2. 反例驱动的近似改进(CEGDC)

    • 若合成攻击向量的实际利润与估计利润偏差超过5%,将其标记为反例。
    • 通过反向遍历动作序列定位误差来源(如exchange函数的近似偏差),动态增加数据点并迭代优化近似模型。
  3. 动作候选生成(FlashFind组件)

    • 从合约ABI(Application Binary Interface)中筛选非只读函数,排除特权用户调用(如transferOwnership)。
    • 通过交易历史学习非原始类型参数(如地址、数组),分析存储读写依赖关系(RAW依赖)过滤无关函数。
  4. 实验验证

    • 数据集:16个历史闪电贷攻击案例(如Harvest Finance、BZX)和2个虚构攻击(Damn Vulnerable DeFi挑战)。
    • 对比基线:人工提取精确数学表达式的合成器,仅能处理7/18个案例(其余因闭源或复杂逻辑失败)。
    • 评估指标:攻击向量合成成功率、利润最大化能力、发现新攻击路径的能力。

四、主要结果
1. 攻击合成效果
- FlashSyn成功合成16/18个案例的攻击向量,平均利润达历史攻击的94.5%(多项式回归)和64.1%(插值法)。
- 关键案例
- Harvest USDC攻击:通过操纵Curve池汇率,合成向量exchange→deposit→exchange→withdraw,利润11万美元(历史攻击为30.7万美元)。
- Warp Finance攻击:发现新攻击路径,利润达历史2倍(27.7万 vs 16.9万美元)。

  1. 方法优势

    • 近似有效性:多项式回归在3个案例中利润超过人工精确模型(如Warp),因简化表达式加速优化收敛。
    • 反例改进:CEGDC将平均归一化利润从0.717提升至0.945(初始2000数据点)。
  2. FlashFind辅助

    • 在11/14案例中识别额外候选动作(如Onering的withdrawSafe),6案例中发现历史未利用的攻击路径。

五、结论与价值
1. 科学价值
- 提出首个基于近似方法的闪电贷攻击自动化合成框架,解决了多合约交互与复杂数学逻辑的分析难题。
- 反例驱动 refinement 技术为程序合成中的近似误差修正提供了新思路。

  1. 应用价值
    • 工具已被智能合约审计公司Quantstamp采用,发现2个零日漏洞。
    • 开源实现(GitHub/Zenodo)支持扩展至其他DeFi协议分析。

六、研究亮点
1. 方法创新
- 将数值近似与程序合成结合,避免直接解析复杂合约逻辑。
- 动态反例修正机制显著提升近似精度。

  1. 工程贡献
    • 集成Foundry区块链模拟、Scikit-learn/SciPy数值计算库,实现端到端工具链。
    • FlashFind自动化降低人工标注成本。

七、其他价值
- 提供首个大规模闪电贷攻击基准数据集(18个协议),推动后续研究可比性。
- 揭示DeFi协议设计中Oracle操纵(如Harvest)和数学模型缺陷(如StableSwap)的共性漏洞模式。


该研究通过跨学科方法(程序合成+数值分析)推动了区块链安全领域的技术边界,其工具与数据集将持续赋能DeFi生态的安全防护。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com