管理员权限:Token背后潜伏的“上帝之手”

深度
2019
03/15
20:51
巴比特
分享
评论

风险提示:包括Status和FunFair在内的部分国内外热门区块链项目,智能合约存在管理员权限过高的问题,或导致项目存在过度中心化的风险,相关Token生态极易发生单点失效。致命问题可能会出现在两个方面:一是项目方滥用权限,二是超级管理员身份被盗用。这两种情况一旦发生,相关Token生态可能会迅速崩塌。

恐怖的智能合约管理员权限

作为比特币和区块链爱好者,我们崇尚去中心化。然而,很多持币者可能还不太清楚,目前各类Token项目智能合约管理员拥有超级权限竟已逐渐成为常态。据我们不完全统计,排名前570名的Token合约中,有342个合约存在只有管理员能调用的功能(onlyOwner),不少合约更存在管理员任意铸币、烧币、冻结账户、关停转账等过高权限。

Status(SNT)和FunFair(FUN)项目,我们认为这两个热门项目都存在非常严重的管理员权限过高问题。

Status合约中有名为Controller的管理员角色,可调用generateTokens()往任意地址增发代币,可调用destroyTokens()销毁任意地址上的代币。但Status项目的白皮书并没有相关特殊权限声明。而且,这两个超级权限函数在实现上,并没有触发Mint或Burn事件,只有普通的Transfer事件。

倘若有人利用管理员身份作恶,社区可能难以第一时间发现。通过扫描区块链数据我们发现,目前Status团队仅于2017年6月19日依次传入极小值成功调用了增发和销毁的函数进行测试,因此普通用户无需过分恐慌。但需要知道的是官方团队随时保留有这样的超级权限。

此外,Status合约还应用了可升级的代理合约机制,管理员可以通过任意设置代理合约controller地址的方式,在关键函数前面插入可升级的校验逻辑,来影响转账等关键操作。

知名的FunFair(FUN)项目也存在与Status类似的问题。白皮书中并未提及其Token合约中的特殊权限;通常原本应当在众筹后一定时间内关闭的铸币等功能,项目方依然未关闭。倘若有人作恶,增发巨额数量的Token至市场上抛售,后果不堪设想。

此外还有不少项目有同样的问题。我们呼吁相关项目方应立即向社区做好风险告知与特殊权限披露,社区参与者也可以积极发挥监督力量。

Token持有者有权了解,项目方也有义务披露以下这些内容:

1.Token及业务合约中项目方拥有的特殊权限明细

2.项目方为何需要这些特殊权限

3.特殊权限会在哪些情况下使用

4.特殊权限被滥用会发生哪些后果

5.哪些特殊权限可以被永久关闭以及何时关闭

6.特殊权限动用历史记录的详细说明

7.特殊权限动用的监控渠道

8.项目方采取何种措施来保障特殊权限不被滥用和盗用

9.如何通过更好的智能设计提升社区治理水平

此外,交易所作为区块链项目生态中的中坚力量,也应当积极督促项目方限制过高权限以及透明运营。

管理员权限过高造成损失的真实案例

目前为止还没有热门项目团队利用超级权限作恶的证据,或许我们可以舒一口气。但即使在信任官方团队不会主动作恶的前提下,恶性安全事件依然有可能发生。

加密货币交易平台Bancor于7月10日称遭到攻击,丢失24,984个ETH,3,236,967个BNT,229,356,645个NPXS,折算法币金额为1250万美金的以太坊,1000万美金的Bancor代币和100万美金的Pundix代币。

初期不少媒体报道称Bancor智能合约存在安全漏洞。我们对此安全事件进行追溯分析。

Bancor主要合约包括SmartToken和BancorConverter,分别为ERC20 Token合约以及与业务相关的Token转换交易合约。

本次Bancor平台被盗事件与BancorConverter合约有关,攻击者(黑客/内鬼)极有可能获取了0x009bb5e9fcf28e5e601b7d0e9e821da6365d0a9c账户的私钥。

而此账户正是转换代币合约BancorConverter(0x3839416bd0095d97bE9b354cBfB0F6807d4d609E)的owner,同样拥有极高权限。owner作为该合约的所有者和管理员,有唯一的权限通过withdrawTokens()方法提走合约中的全部ERC20 Token至任意地址。

第一次攻击发生在以太坊主网区块高度5930096,北京时间7月9日8时6分。攻击者利用owner身份,首先调用withdrawTokens()转走0.1 ERC20 ETH进行攻击测试。

三分钟后,攻击者再次转走22000巨额数量的ERC20 ETH至其控制的地址(0x33ed22f4b6b05f8a5faac4701550d52286bd735a)上。

随后,攻击者再调用Ether Token合约(0xc0829421C1d260BD3cB3E0F06cfE2D52db2cE315)的withdrawTo()方法,将ERC20版本的以太代币兑换为真实以太币。

至此,22000个ETH便完全被攻击者借用管理员身份所盗走。

攻击者还控制了以下账户,如法炮制地偷走其账户余额,以及其所管理合约中的代币。

0x0024d891047e844186758f89eb2f4dcfbb02c952

0x00894a35bc9deea9f9e20040c21c5607740a37a0

0x5aa9e9de3e667ad79a097b4b75ccde10acb7f930

目前,区块链浏览器网站EtherScan已将攻击者的地址标注为Fake_Phishing1701和Fake_Phishing1702。

此外,Bancor SmartToken ERC20合约也由owner完全控制,目前是一个名为MultiSigWallet的合约,暂未被盗用。

owner对SmartToken合约具有以下权限:

1.owner可通过disableTransfers()任意禁用转账功能

2.owner可通过issue()任意增发代币

3.owner可通过destroy()任意销毁代币

以上这些功能均通过ownerOnly进行限定,换句话说,owner对Bancor合约拥有最高权限。

Bancor团队如何处理被盗事件

Bancor项目方在攻击发生后,识别出攻击者地址,声称冻结了攻击者偷来的BNT代币。

经我们调查,Bancor管理员实际动用了destroy()方法来“销毁”用户手中的Token。管理员可以从任意账户_from中扣除任意金额_amount的Token,同时将总供应量totalSupply缩减。

这就是常说的烧币功能。由于攻击者在得手后,将偷来的币分散到若干个地址中。Bancor的管理员不得不挨个依次调用destroy()来销毁对应地址的代币,再调用issue()方法将烧毁的币重新增发到自己手中。但此补救方法对于NPXS Token和已转走的ETH无效,这些被盗的币将被转至交易所抛售。

Bancor团队也发表声明称普通用户的钱包没有受到影响,并进一步解释铸币、烧币以及存储大量以太币是他们协议中价格发现机制的一部分。

Bancor安全事件的影响与反思

除开巨额被盗事件,Bancor团队的这一声明和处理方式,同样引起了社区的恐慌。人们纷纷质疑Bancor项目智能合约中owner管理员的超级权限,甚至称之为“后门”。

Udi Wertheimer早在一年前就曾发文抨击Bancor项目无论是众筹合约还是ERC20 Token合约都缺乏良好的设计,称所有的Token都由Bancor团队完全掌控,管理员拥有绝对控制权,极度中心化。而Bancor团队则一直声称自己十分重视安全,并采用业内最佳的钱包和私钥管理方案。不过,他们并没有披露此次被盗事件的细节,如攻击者如何能控制多个管理员账户。

我们把目光放至整个通证生态。社区参与者对管理员拥有的权限知之甚少,而项目方的相关披露与风险提示更少。

对于Token合约,当有账户存在超级权限时,整个Token生态极容易发生单点失效。致命问题可能会出现在两个方面,一是项目方作恶,二是超级管理员身份被盗用。当Token的价值全部依赖在某一个人或少数几个人身上时,可想而知这其中暗藏的风险会非常之高。以Bancor为例,在巨大的经济利益面前,即使我们信任了发行方不会滥用权限,却依然无法保证别有用心者不会借此攻击。对于发行与运营极度依赖项目方的Token,可能我们永远无法形成类似对比特币的共识与信仰。

Bancor危机也给我们带来很多反思:

1.Bancor是否是真正的去中心化交易协议

2.智能合约在哪些情况下需要管理员

3.合约管理员权限的边界在何处

4.如何保障钱包及私钥安全

管理员权限是把双刃剑。在Bancor事件中,黑客利用了管理员权限盗取代币,而项目方也正利用了管理员权限来降低损失。不过我们认为,开发者依然可以通过良好的代码设计来降低Token和协议合约对管理员的依赖。同时,我们也号召大家,去更多地了解相关项目的智能合约(它可能跟你想象的不太一样),关注手中的Token到底由谁控制,利用社区力量监督项目管理员权限。

(来源: 巴比特)

THE END
广告、内容合作请点击这里 寻求合作
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表环球360的观点和立场。

相关热点

近期,多地农产品滞销新闻见诸报端,引发社会关注。为促进农产品产销对接,由农业农村部主办的2018全国贫困地区农产品产销衔接活动日前在京举行,农产品采购量达到252.6万吨。...
洞见
相较于李嘉诚时代频繁的抛售地产,李泽钜主导长和系的这段时间里,却几乎每个月都在公布有关地产投资的消息。...
产经
在楼市调控政策坚持不放松的大背景下,房地产开发从“高利”转为“微利”,房企如何做好利润与质量的平衡关,不仅关乎品牌形象,更与企业发展息息相关。...
产经
2月26日,波司登在中国最高地标建筑——上海中心,举办“逆势突围 共创传奇”2018战略成果发布会,揭秘波司登在经济寒冬下如何取得逆势增长。...
洞见
分时租赁行业之所以运营了这么久还没有出现像网约车和共享单车行业一样的寡头,很重要的两个原因就是重资产和资源封闭。...
洞见

相关推荐

1
3