Page 369 - 《软件学报》2026年第1期
P. 369

366                                                        软件学报  2026  年第  37  卷第  1  期


                 检测闪电贷价格操纵攻击, 实验表明该工具能够准确识别出正在进行的攻击行为并及时响应. 另一种检测方法是
                 利用对抗攻击和插值技术         [133] . 该方法绕过  DeFi 协议的复杂性, 使用多项式近似和最近邻插值的数值方法来近似
                 DeFi 协议的功能, 然后通过生成对抗性攻击来检测包括闪电贷价格操纵攻击在内的闪电贷攻击. 文章展示了使用
                 该技术的工具     FlashSyn  在预防闪电贷攻击中的有效性, 通过这种方法, 系统能够在攻击完成之前识别并阻止恶意
                 行为, 减少攻击带来的经济损失. DeFiTail       [134] 采用符号执行和深度学习的方法针对闪电贷利用和访问控制漏洞进
                 行检测. 该框架通过符号执行堆栈来验证控制流图中数据路径的可行性, 然后将经过验证的可行数据路径输入模
                 型, 并使用  BERT  和图卷积网络     (graph convolutional network, GCN) 来学习这些路径的特征, 从而实现对    DeFi 协
                 议的漏洞检测.
                    预言机操纵漏洞的检测同样可以使用符号执行的方法. BLOCKEYE                    [135] 是一种通过符号分析和交易分析来实
                 时检测预言机操纵漏洞的方法. 该系统首先对给定                 DeFi 协议的智能合约进行符号分析, 一旦发现依赖于               Oracle
                 的状态更新, BLOCKEYE     就会将   DeFi 协议识别为潜在的漏洞. 然后        BLOCKEYE  为易受攻击的     DeFi 协议安装运
                 行时监视器, 以检测外部攻击, 并生成攻击验证的分析报告. ProMutator               [136] 通过模拟攻击的方式来检测       DeFi 协议
                 的预言机价格操纵漏洞, 该方法改变预言机价格计算所需的数据在本地模拟价格预言机攻击, 可以不需要任何已
                 检查合约的高级源代码就能实现漏洞的检测. OVer               [137] 同样采取符号分析的方法检测预言机操纵漏洞, OVer 首先
                 对给定的合约进行符号分析, 并构建一个约束模型. 然后, 该框架利用                    SMT  求解器来识别允许其安全运行的参数.
                 此外, 可以为可能使用预言机值的智能合约生成               guard  语句, 从而有效防止预言机操纵攻击. SecPLF        系统  [138] 通过
                 基于价格观测的攻击预防方法来抵御预言机操纵攻击. SecPLF                  通过形式化可贷资金 (protocols for loanable fund,
                 PLF) 协议的标准操作和对手模型来剖析预言机操纵攻击的攻击机制, 然后跟踪每种加密资产的价格状态并对价
                 格预言机的使用施加价格限制, 以此达到预防攻击的目的.
                    除了针对特定的借助闪电贷进行价格操纵以及预言机价格操纵的研究, 目前也有一些针对价格操纵漏洞进行
                 检测的通用检测工具. DeFiRanger     [139] 基于交易的高级语义来检测价格操纵攻击, 该方法首先从原始交易构建现金
                 流树, 然后将低级语义提升为高级语义, 包括             5  种高级  DeFi 操作. 最后, 使用恢复后的 DeFi 语义所表达的模式来
                 检测价格操纵攻击. DeFiTainter   [140] 是一个用于检测价格操纵漏洞的合约间污点分析框架, 该框架通过恢复调用信
                 息来构建合约间污点分析的调用图, 然后专门为检测价格操纵漏洞而定制的高级语义归纳, 最终实现准确识别污
                 点源和跟踪污点数据, 完成对         DeFi 协议的价格操纵漏洞检测. 林炼升等人           [141] 基于价格清洗和代理防护实现了一
                 种针对价格操纵攻击的防御机制. 该机制利用链下价格来指导链上价格操纵行为的识别, 并通过合同代理拦截价
                 格操纵交易.
                  3.2.2    其他方法
                    除了上述针对价格操纵漏洞的检测方法外, 研究者们还开发了一些其他方法, 用于检测                            DeFi 协议中的各类漏
                 洞, 例如跨链桥漏洞等.
                    在跨链桥漏洞的检测方面, Xscope        [142] 提出了  3  类跨链桥漏洞, 并基于攻击模式匹配进行跨链桥攻击检测. 基
                 于这些模式, Xscope 可以自动化查找跨链桥中的安全漏洞并检测现实世界的攻击. SmartAxe                      [143] 通过构建跨链控
                 制流图和数据流图, 并结合污点分析技术, 成功检测出跨链环境中的漏洞. SmartAxe 不仅适用于单链环境, 还能够
                 在复杂的多链生态系统中发挥作用, 体现出其强大的适应性和检测能力.
                    此外, 还有研究针对      DeFi 攻击开发了多种检测方法. Liao       等人  [144] 提出了一个通过字节码级静态分析检测跨
                 合约漏洞的新框架       SmartDagger. SmartDagger 从智能合约字节码中恢复合约属性信息, 同时有选择地分析函数子
                 集并重用数据流结果以提高静态分析的效率. DeFiScanner             [145] 是一种基于深度学习进行表征和检测利用逻辑漏洞
                 的  DeFi 攻击的系统, 其中运用了一个新颖的神经网络, 包括全局模型、局部模型和融合模型来表征                             DeFi 攻击.
                 Parhizkari 等人  [146] 基于字节码分析的方法来检测    DeFi 攻击, 该方法通过分析恶意智能合约的部署字节码来及时
                 识别  DeFi 攻击中受害者地址, 包括提取潜在受害者地址、分析部署者地址、确定实际受害者, 并通过实验验证其
                 有效性. 这一方法可以在攻击发生前识别受害者, 从而采取预防措施, 减少攻击带来的损失.
   364   365   366   367   368   369   370   371   372   373   374