织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 区块链

区块链安全公司CertiK:注意DeFi中的4大安全风险(2)

时间:2021-05-31 16:24来源:未知 作者:admin 点击:
拼写错误 数字错误 缺少/不正确的变量值赋值 一个值得注意的例子是Uranium Finance的黑客事件,该事件发生在一个未经审计的合约上,最终导致了5700万美元

  •   拼写错误

  •   数字错误

  •   缺少/不正确的变量值赋值

  •   一个值得注意的例子是Uranium Finance的黑客事件,该事件发生在一个未经审计的合约上,最终导致了5700万美元的损失。这是由于在比较交换前后池中两个代币余额的乘积时,使用了不一致的乘数,使得攻击者可以从资金池中换出大部分代币,而成本只有1 Wei。

      Uranium Finance代码:

      正确代码:

      另一个例子是来自于Value DeFi的黑客事件,该事件导致了1000万美元的损失。据悉,合约中的初始化函数漏掉了 “initialized = true”,也就是说,任何人都可以重新初始化资金池并将自己设置为操作员。2021年5月5日,攻击者重新初始化了资金池,并将操作员的角色设置为了自己,然后使用 “governanceRecoverUnsupported() ”函数耗尽了池中的质押代币。

      Value DeFi中的漏洞代码:

      修复代码:

      上述两个例子都是由简单的编码错误引起的,而且都造成了重大损失。但是,这些类型的错误完全可以通过适当的同行评审、单元测试和安全审计来轻松消除。

    闪电贷和价格操纵

      闪电贷是一种从Aave或DyDx等协议中借入大量资金以获得一定费用的方式。其要求是,贷款需要在同一交易中归还。如果没有,贷款就会被退回。这些贷款的一般利用流程如下:

    •   使用闪电贷借入大量的代币A

    •   在DEX上将代币A换成代币B(降低代币A的价格,大幅提高代币B的价格)

    •   利用一个依赖A/B交易对价格的DeFi项目

    •   偿还闪电贷

    •   近日,PancakeBunny就遭遇闪电贷攻击,攻击者共获得了114K BNB和697K Bunny(当时约为4000万美金)。攻击者利用闪电贷操纵了PancakeSwap USDT-BNB V1池的价格,导致大量的BNB流入BNB-Bunny池,从而使得该合约能够以虚高的BNB对Bunny的价格铸造Bunny。PancakeBunny则使用以下函数来计算Bunny价格:

        随着大量的BNB流入BNB-Bunny池,变量 “reserve0 ”变得很大。最终,由于价格计算存在缺陷,攻击者共获得了697K Bunny。

        此外,遭受过闪电贷攻击的受害者还有很多,其中也不乏DeFi领域的一些知名项目,包括PancakeBunny($4000万资金损失),Harvest Finance($2500万资金损失),Yearn($1100万资金损失),Value DeFi($700万资金损失),AKROPOLIS($200万资金损失),Cheese Bank,XToken,bZx等等。 (责任编辑:admin)

    织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容