首发 | Mercurity.finance智能合约安全漏洞分析_ISS:ONT

今年美国大选虽说有了广泛意义上的尘埃落定,但竞选结果并未明确。

如今拜登团队宣布胜选,美国媒体纷纷宣布拜登当选下届美国总统。而另一方面,川普拒绝接受败选结果,他持续进行计票,并宣称要采取法律行动。

造成如今这个混乱结果的首要原因在于美国没有设立独立的对大选事务具有权力的权威性的选举委员会,在默认情况下,是新闻机构承担了这个角色。假如川普获得过大的权力,控制了大多新闻机构,营造虚假选票,结果尚未可知。

这就意味着某种程度上,可以说是极尽中心化的“推特治国”后的又一“媒体选举”。

从选举,到互联网,到区块链,2020年,中心化不再是权威的体现,而是“独断”、“专权”的代名词。

首发 | 嘉楠耘智宣布与Northern Data在AI、区块链等高性能计算领域达成战略合作:据官方消息,2020年2月17日,嘉楠耘智宣布与区块链解决方案及数据中心服务提供商Northern Data AG达成战略合作。本次合作的内容涵盖AI、区块链及数据中心运维等高性能计算领域。

嘉楠耘智拥有丰富的高性能计算专用ASIC芯片研发经验。Northern Data AG则专注于区块链和数据中心等高性能计算基础设施的建设。通过本次战略合作,双方将在AI、区块链等新兴领域进一步释放增长潜能。[2020/2/19]

北京时间11月9日,CertiK安全研究团队发现DeFi项目Mercurity.finance智能合约代码部分存在中心化风险。

首发 | 此前18000枚BTC转账是交易所Bithumb内部整理:北京链安链上监测系统发现,北京时间10月24日,17:07分发生了一笔18000枚BTC的转账,经分析,这实际上是交易所Bithumb的内部整理工作,将大量100到200枚BTC为单位的UTXO打包成了18笔1000枚BTC的UTXO后转入其内部地址。通常,对各种“面值”的UTXO进行整数级别的整理,属于交易所的规律性操作。[2019/10/24]

项目拥有者拥有过大权限,可以进行任意数目的铸币,并为给定账户提供任意数目的奖励。

技术步骤分析如下:

ERC20Token.sol

代码地址:

公告 | 火币全球站6月29日16:00全球首发 Project PAI:火币全球站定于新加坡时间6月29日16:00 Project PAI (PAI) 充值业务。7月2日16:00在创新区开放PAI/BTC, PAI/ETH交易。7月6日16:00开放 PAI提现业务。[2018/6/29]

https://github.com/MER-DAO/MEE-core/blob/main/contracts/tokens/ERC20Token.sol

部署地址:

https://etherscan.io/address/0xe1b583dc66e0a24fd9af2dc665f6f5e48978e106#code

金色首发 EOS超级节点竞选投票率达6.49%:金色财经数据播报,截止北京时间6月13日15:50,EOS投票率达6.49%。EOS引力区和EOS佳能作为两个来自中国的超级节点竞选团队暂居第五和第六名。其中EOS引力区的得票总数为903万,占比2.96%;EOS佳能的得票总数为877万,占比2.87%。此前异军突起的EOSflytomars暂居第17位,得票总数为630万,占比2.07%。目前跻身前30名的超级节点竞选团队中,有八个团队来自中国。[2018/6/13]

图一:ERC20Token智能合约构造函数

图二:onlyIssuer修饰词

图三:具有铸币方法的issue函数

如图一所示,项目拥有者在ERC20Token.sol智能合约中的构造函数可以将自身设置为issuer身份。由于在智能合约部署时,其构造函数会被自动执行,因此项目拥有者会自动成为issuer。

通过图二中显示的onlyIssuer修饰词的限制,任意拥有issuer身份的外部调用者将可以执行任意被onlyIssuer修饰词修饰的函数。

因此,拥有issuer身份的项目拥有者可以执行图三中具有铸币方法的issue函数,从而可以为任意账户铸造任意数目的代币。

除此之外,该项目还存在一个允许项目拥有者提供代币奖励的后门。该后门存在与AwardContract.sol智能合约中。

AwardContract.sol

代码地址:

https://github.com/MER-DAO/MEE-core/blob/main/contracts/AwardContract.sol

部署地址:

https://etherscan.io/address/0x8Ea43ce113456f45defd0E27e809d719b9CA2362#code

图四:AwardContract智能合约构造函数

图五:onlyGovernor修饰词

图六:addFreeAward智能合约函数

当AwardContract.sol被项目拥有者部署到区块链上时,AwardContract合约的构造函数会被自动执行,也就意味着图四中43行代码被自动执行后,项目拥有者会自动被赋予governor身份。

拥有governor身份的外部调用者可以类似的执行任意被onlyGovernor修饰词修饰的智能合约函数,例如图六中所示addFreeAward函数。

由于所有外部调用者都可以通过调用图七中withdraw函数来将属于自己的奖励取出,因此当governor身份的外部调用者为某一个账户添加了某一数量的奖励后,A账户可以对该函数进行调用,并通过246行的判断条件检查后,通过在281行调用safeIssue()函数来取出被添加的奖励。

图7:withdraw智能合约函数

综上分析,Mercurity.finance项目中智能合约存在的后门漏洞均来自于项目拥有者权限过大。在该类中心化治理机制中,项目拥有者得到了可以随时获利或者摧毁项目经济系统的权利。

CertiK安全研究团队建议Mercurity.finance更新项目中采用的治理系统,引入社区管理的机制。

CertiK在此提醒广大用户:

1.合约代码需要经过严格的安全验证和审计才可被允许公布。

2.投资者在投资采用中心化治理机制的项目时需衡量风险,谨慎投资。

欢迎搜索微信关注CertiK官方微信公众号,点击公众号底部对话框,留言免费获取咨询及报价!??

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

聚币HBTC Chain如何重塑DeFi公链?_BTC:nhbtc币行情

DeFi的现状与亲身体验DeFi,去中心化金融,2017年就在预热的概念,在今年迎来几个月的爆发期。2017年,各种真假公链混战,1CO漫天飞舞,自然没有太多的人关注这样一个新兴的物种.

[0:0ms0-0:566ms