Superfluid_HQ被黑分析

2022年2月8日,以太坊上的DeFi协议Superfluid遭受黑客攻击,损失超过1300万美元。攻击者通过伪造函数callAgreement中的“ctx”数据结构欺骗合约,导致安全漏洞。建议加强合约审计、风控措施和应急计划,确保协议数据处理的安全性。
摘要由CSDN通过智能技术生成

前⾔

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

在这里插入图片描述

攻击涉及基础信息

Superfluid:0xEBbe9a6688be25d058C9469Ee4807E5eF192897f

攻击交易hash:0x396b6ee91216cf6e7c89f0c6044dfc97e84647f5007a658ca899040471ab4d67

黑客地址:0x1574F7F4C9d3aCa2EbcE918e5d19d18aE853c090

攻击合约地址: 0x32D47ba0aFfC9569298d4598f7Bf8348Ce8DA6D4

漏洞分析

漏洞核心

在这里插入图片描述

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

在这里插入图片描述

漏洞利用

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

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

在这里插入图片描述

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

在这里插入图片描述

总结

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值