Superfluid_HQ被黑分析

本文约485字,阅读全文需要约1分钟
以太坊DeFi 协议superfluid遭遇黑客攻击,损失超1300万美元。

前⾔

2022年2月8日,知道创宇区块链安全实验室 监测到以太坊上的 DeFi 协议 superfluid 遭遇黑客攻击,损失超1300万美元。实验室第一时间跟踪本次事件并分析。

Superfluid_HQ被黑分析

攻击涉及基础信息

Superfluid:0xEBbe9a6688be25d058C9469Ee4807E5eF192897f

攻击交易hash:0x396b6ee91216cf6e7c89f0c6044dfc97e84647f5007a658ca899040471ab4d67

黑客地址:0x1574F7F4C9d3aCa2EbcE918e5d19d18aE853c090

攻击合约地址: 0x32D47ba0aFfC9569298d4598f7Bf8348Ce8DA6D4

漏洞分析

漏洞核心

Superfluid_HQ被黑分析

此次漏洞核心在于函数callAgreement,该函数主要作用在于提供一个名为ctx的数据结构,“ctx”被用于协议间的通信共享。而此次事件的攻击者就是对”ctx“数据进行了 伪造,达到欺骗合约的目的。

Superfluid_HQ被黑分析

漏洞利用

为什么假数据会被采用以及攻击者是如何构造假“ctx”数据的?

从交易中可以看到攻击者是直接在callData结尾处传入了假“ctx”,同时真“ctx”数据也被构建出来了的,只是程序在处理数据时会将callData数据与“ctx”打包成一个对象,当协议对该对象进行解码时,ABI解码器仅会处理位于前面的数据而忽略掉后面的数据。

Superfluid_HQ被黑分析

而构建一个假“ctx”数据也并不复杂,由于“ctx”结构末尾为全零所以仅需要仿照“ctx”结构将其直接添加在userData中,以下是官方示例如何构建一个假“ctx”:

Superfluid_HQ被黑分析

总结

本次攻击事件在于协议数据处理时无条件信任来源数据,应当对用户数据与官方构造数据进行标识区分。近期,各类合约漏洞安全事件频发,合约审计、风控措施、应急计划等都有必要切实落实。

原创文章,作者:创宇区块链安全实验室。转载/内容合作/寻求报道请联系 report@odaily.email;违规转载法律必究。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选