北京时间5月13日消息,certik安全技术团队发现,Defa质押和流动性政策平台xtoken遭到攻击,xbntabancor池和xsnxabalancer池立即耗尽,损失近2500万美元。
自5月份以来的一半时间里,这起袭击以及5月份发生的其他袭击已经偷走了大约8500万美元。
袭击是怎么发生的?
certik安全团队在2020年发现的主要漏洞分为三类:逻辑错误、闪贷和项目端欺诈。
这次事件不是典的闪电袭击。
快速贷款可以不需要任何抵押品。当然,所有操作都必须在一个事务块中完成。
开发者可以从AAVE或dydx等协议中借款,条件是在交易结束前将流动性返还给资金池。
如果资金没有及时归还,交易将被撤回,以确保储备池的安全。
flashloan有很多功能和用例,但是我们看到的大多数flashloan都用于套利交易。
恶意使用是攻击其他一些DeFi协议或操纵预言机的价格,这正是这次发生的事情。
研究员弗兰克在推特上解释了袭击是如何发生的
详细分析
攻击xsnxa
1.黑客使用flash loan在dydx上借用了大约61800个ETH。
2.在AAVE上存入1万ETH,贷出56.4万SNx,然后通过掉期将5500 ETH兑换成70万SNx。
之后,他在Uniswap V2上卖出了120万台SNx,获得了818ETH,大大降低了SNx的价格。
3.降价后,攻击者仅用0.12 ETH投下12亿xsnxa。
这是因为该协议通过kyber price 预言机购买SNx,并将xsnxa转换为Uniswap v2的价格。
4.然而,在均衡器协议中,xsnxa的价格与原始价格相同,攻击者可以用1.05亿xsnxa换取414ETH。
5.之后,攻击者利用ETH在Uniswap上购买SNx并在AAVE上偿还贷款,将现有的xsnxa出售给SNx/ETH/xsnxa(25/25/50)平衡器池,同时支付dydx的闪电贷款。
攻击xbnta
Xbnta合同通过ETH铸造Xbnta。
其原理是在智能合约中用Bancor协议中的BNT代替ETH,用BNT的个数来计算xbnta的个数。
然而,合同中的mint方法并未验证与ETH交换的硬币是否为BNT。攻击者使用大量的代币SPD来替换BNT,伪造BNT的个数,使得无限次的发布xbnta成为可能。
攻击者四次调用“铸币”方法,每次以0.03以太铸造大量XBNTA,最终获得39亿XBNTA,并用大约78万bnts替换了一半获得的XBNTA。
但为什么这次黑客攻击不同于以往的闪贷攻击呢?
因为攻击者使用flashbots-MeV来实现事务,保证了事务的私密性,防止了事务在与AMM交互时被其他用户“夹心攻击”。
术语的详细解释
① Flashbots是一家研发机构,其初衷是缓解矿工可提取价值(MeV)给智能合约平台区块链带来的负面影响和生存风险。
他们提议为MeV设计一个无许可证、透明和公平的生态系统,以保护以太坊的理念。
② 矿工可提取价值(MeV)是研究共识安全性的标准。它通过在miner(或节点验证器)生成的块中任意包含、删除或重新排序事务来模拟miner(或节点验证器)的利润。
例如,攻击者可以看到一个有利可图的交易,并试图通过提前支付更高的交易费用来获利。或者通过三明治攻击AMM交易。
③ 夹心攻击:当攻击者观察到交易池中的某个交易,其中资产x交易资产y时,攻击者可以提前购买资产y,然后要求受害者执行该交易以提高资产y的价格,然后在资产y价格上涨后出售之前购买的资产y以获取利润。
因此,即使是攻击者也需要警惕黑暗森林中所有潜在的捕食者。
flashbot要求用户使用自己的API密钥,攻击者在使用flashbot时很可能会留下自己的痕迹。
因此,查找API密钥的使用历史也可以作为恢复丢失的手段之一。
写在**
作为一个**的DeFi项目,已经过一家大安全公司的审核,xtoken受到这样的攻击并不常见。
这也再次向我们揭示了一个事实:静态安全审计不能保证*的安全性。
安全不是一次性的,它是一个连续的过程。
区块链技术日新月异,新的攻击方式层出不穷。
我们无法知道和预测我们将面临的下一次袭击。作为业内领先的区块链安全公司,certik开发了一系列安全工具和完善的安全服务,为项目方和投资者提供安全保障。如果加密资产被意外窃取,损失将降到**。
文章标题:有人能逃脱黑客的攻击吗
文章链接:https://www.btchangqing.cn/258540.html
更新时间:2021年05月15日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。