当前位置:首页区块链“难以想象”的被黑客之旅:无形金融被黑客攻击分析

“难以想象”的被黑客之旅:无形金融被黑客攻击分析

据慢雾地区消息,智能链投币(BSC)隐形金融项目遭遇闪电贷款攻击。慢雾安全小组首次参与分析,分享结果如下:

攻击细节分析

隐形金融的DEX架构参考Uniswapv2,但是pair的实现是不同的。cheapswap和swap这两个接口是以不可能对的方式实现的。cheapswap函数仅限于由路由器契约调用,而swap函数可由任何用户调用以进行代币交换操作。此攻击的根本原因是这种特殊的代币交换体系结构。接下来,我们将对此攻击进行详细分析

首先,攻击者使用flash loan从pancakeswap借入大量wbnb,最后将其转换为if(不可能的金融代币)。

“难以想象”的被黑客之旅:无形金融被黑客攻击分析

然后,攻击者创建一个由自己控制的代币AAA(BBB),并向上一步获得的if代币添加流动性。

“难以想象”的被黑客之旅:无形金融被黑客攻击分析1

然后,攻击者传入一个自定义交换路径(AAA-gt;如果-gt;Busd)将AAA代币转换为Busd代币,问题就在这个过程中。通过链记录,我们很容易发现攻击者两次将AAA代币交换为if代币

“难以想象”的被黑客之旅:无形金融被黑客攻击分析2

为什么在一次交换的过程中要交换两次?

通过分析具体的内部调用过程,我们可以发现攻击者调用路由器契约中AAA契约的transfer-from函数将AAA代币转换成pair契约,并调用pair契约的swap函数一次(即在transfer-from函数中实现正常的转换调用逻辑)。然后,通过项目设计的预期交换,再次执行正常的代币交换操作。

“难以想象”的被黑客之旅:无形金融被黑客攻击分析3

“难以想象”的被黑客之旅:无形金融被黑客攻击分析4

“难以想象”的被黑客之旅:无形金融被黑客攻击分析5

通过以上分析可知,攻击者在一次代币交换过程中,调用swap函数和cheapswap函数两次交换代币,最终获得额外的busd代币。所以既然是交换操作,理论上,每次交换操作都会导致K值的变化,最终使得用户无法获得预期的代币。

然而,通过分析swap函数和cheapswap函数不可能对的具体逻辑,我们发现了一个惊人的情况:在swap函数中,检查K值,而在cheapswap函数中,不检查K值,直接执行更新操作。这会导致攻击者执行多个exchange操作并获取额外的busd。

“难以想象”的被黑客之旅:无形金融被黑客攻击分析6

“难以想象”的被黑客之旅:无形金融被黑客攻击分析7

攻击过程

1.攻击者首先通过pancakeswap flash loan借用wbnb,并将wbnb转换为if代币。

2.创建恶意代币契约AAA(BBB),添加AAA代币,如果代币不可能流动。

3.通过AAA-gt;如果-gt;Busd path进行AAA代币到Busd代币的交换,在AAA代币转换成成对契约并转换成if代币的过程中,if代币与Busd之间的交换操作进行一次,然后进行cheapswap的正常操作。最后,获得了一个额外的busd代币。

4.然后重复上述操作以获取利润。

总结

这种攻击的核心是cheapswap函数中没有k值检查,因此攻击者可以通过在一个交换进程中执行多个交换操作来获取额外的代币。Slow-fog安全团队建议,在其他项目的基础上,在创新过程中对DeFi协议的新模进行充分的检查和验证,以避免此类安全事件的发生。

参考交易:

https://bscscan.com/tx/0x0220704a99ddfb982d26e65cc337f26b77dc057930b7aa1d848cc48ec77984a8

温馨提示:

文章标题:“难以想象”的被黑客之旅:无形金融被黑客攻击分析

文章链接:https://www.btchangqing.cn/287923.html

更新时间:2021年06月21日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

“难以想象”的被黑客之旅:无形金融被黑客攻击分析8
区块链

草间开启老虎机拍卖挑战以太坊?

2021-6-21 20:44:06

区块链

黄金前哨比特币的计算能力跌至近8个月来的新低

2021-6-21 20:48:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索