提案攻击——黑客的新潮流

不得不承认,在区块链世界里,黑客往往是走在最前沿的一群人。去中心化应用一直在这群黑客笼罩的阴影下不断迭代和前行。

目前DAO已经成为常见的dapp协议的治理模式,在DAO模式下,协议的资金管理、重要参数的修改、协议升级都通过DAO合约进行管理。而治理代币的持有者可以向DAO合约发起提案、投票、执行提案。

相应地,基于DAO提案的攻击也成为了黑客的“新潮流” 前有Beanstalk Farms被“恶意提案+闪电贷”攻击,后有Fortress Loans被“恶意提案+预言机操控”攻击。

Beanstalk Farms

在这次攻击事件中,攻击者创建了一个恶意提案,通过闪电贷获得了足够多的投票,并执行了该提案,从而从协议中窃取了资产,总共获利差不多8000万美金

攻击流程

相关地址

1、从跨链桥获取初始资金

0x1fb73ec5ed8c25b9ca7c9c3c465ab4bbca8554927094f939d96600271475e101

2、创建并提交提案

0xe5ecf73603d98a0128f05ed30506ac7a663dbb69(恶意提案)
0x677660ce489935b94bf5ac32c494669a71ee76913ffabe623e82a7de8226b460(创建)
0x68cdec0ac76454c3b0f7af0b8a3895db00adf6daaf3b50a99716858c4fa54c6f(提交)

3、发起攻击

0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7

黑客使用的一些欺骗手法

在Beanstalk的治理合约中提供了emergencyCommit方法执行提案

提案从提交到执行,需要超过2/3的投票以及24小时的窗口期。一方面,黑客通过闪电贷获取足够的投票权;另一方面,黑客为了更好的的隐藏自己,使用了一些方法: 1、黑客的初始资金来自跨链桥,而不是混币器,可以在一定程度上躲避安全公司的监控,目前的混币器资金出入基本受到了各安全公司的监控 2、黑客还创建了一个正常的提案 IniBip18 ,用来混淆视线

提交恶意提案的交易

0x68cdec0ac76454c3b0f7af0b8a3895db00adf6daaf3b50a99716858c4fa54c6f

提交伪装的正常提案的交易

0x9575e478d7c542558ecca52b27072fa1f1ec70679106bdbd62f3bb4d6c87a80d

执行恶意提案

0xcd314668aaa9bbfebaf1a0bd2b6553d01dd58899c508d4729fa7311dc5d33ad7

Fortress Loans

Fortress Loans协议是一个借贷协议,且通过DAO治理,FTS是其治理代币,该协议在代码层面和经济层面都存在一些问题,最终被黑客利用,耗干了流动性。黑客获利接近300万美金。

攻击流程

相关地址

1、缺陷合约

0xe79ecdb7fedd413e697f083982bac29e93d86b2e(治理合约,通过提案的阈值太低)
0x00fcf33bfa9e3ff791b2b819ab2446861a318285(价格预言机,对FTS价格获取专门处理)
0xc11b687cd6061a6516e23769e4657b6efa25d78e(可修改FTS价格)

2、攻击交易

0x13d19809b19ac512da6d110764caee75e2157ea62cb70937c8d9471afcb061bf

黑客攻击的成本

这是一起针对借贷协议的攻击,没有用到闪电贷,攻击成本主要体现在让恶意提案通过的投票成本,约为11个ETH,但最终获利1000多个ETH,可以说相对获利可忽略不计。

总结

  • DAO作为一种新的社会组织形式,体现了区块链的去中心化思想,具有很大的魅力。但也带来了新的安全问题。
  • 因为协议的升级、资金管理、参数修改以及其它一些业务逻辑都是由DAO合约进行管理,DAO合约对整个协议的各种操作具有很高的权限,而它对任何人都是开放的。一方面DAO合约本身的实现是否安全,另一方面,协议业务逻辑的实现需要DAO合约的深度融合,给协议逻辑带来了新的变量,使得原本的逻辑容易出现没有考虑到的情况。这些都需要得到关注
  • 此外,DAO合约还带来了经济上的问题。从某种意义上来说,DAO合约的治理代币对协议进行了一次“资产”定价,且DAO对协议的参与和耦合越深,其定价效应越明显。这使得当我们考虑协议的安全性的时候,不仅需要从逻辑和代码层面进行考虑,还需要从经济上对可能产生攻击的投入产出比进行量化分析,比如Fortress Loans的攻击中,黑客投入11个ETH就可以在未被察觉的情况执行提案,就是一个风险项。

DAO给协议带来的新的安全考量

本文为转载文章,文章作者为合约审计大佬: huk.hu, github 链接:https://github.com/jianghaiyusheng

全部评论(0)