Superfluid_HQ被黑分析

安全实验室?监测到以太坊上的DeFi协议superfluid遭遇黑客攻击,损失超1300万美元。实验室第一时间跟踪本次事件并分析。

攻击涉及基础信息

Superfluid:0xEBbe9a6688be25d058C9469Ee4807E5eF192897f

XTZ跌破5美元关口 日内跌幅为11.85%:火币全球站数据显示,XTZ短线下跌,跌破5美元关口,现报4.998美元,日内跌幅达到11.85%,行情波动较大,请做好风险控制。[2021/5/19 22:19:04]

攻击交易hash:0x396b6ee91216cf6e7c89f0c6044dfc97e84647f5007a658ca899040471ab4d67

XTZ突破5美元关口 日内涨幅超9%:火币全球站数据显示,XTZ短线上涨,突破5美元关口,现报5.0022美元,日内涨幅达到9.33%,行情波动较大,请做好风险控制。[2021/2/13 19:42:19]

黑客地址:0x1574F7F4C9d3aCa2EbcE918e5d19d18aE853c090

动态 | Alcor Life Extension基金会宣布接受BCH捐赠:Alcor Life Extension基金会透露,该公司正在接受比特币现金(BCH)捐赠,捐赠资金将用于其在亚利桑那州斯科茨代尔(Scottsdale)的人体冷冻学研究和运营。据悉,说服该基金会接受BCH的人为Roger Ver,2014年也是Roger说服了该基金会接受通过Bitpay支付的BTC付款。[2019/8/15]

攻击合约地址:0x32D47ba0aFfC9569298d4598f7Bf8348Ce8DA6D4

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

漏洞利用

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

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

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

总结

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-6:1ms