SharkTeam:十大智能合约安全威胁之提案攻击
问:我们常常所提到的区块链智能合约系统漏洞可以说是实际操作中威协较大、产生最频繁地网络安全问题吗?
答:完全不是那般。比如“外溢”、“外界启用”等常所提到的区块链智能合约网络安全问题并不是最经常产生,威协最大的一个。
究竟什么安全风险从产生次数和不良影响上可以称之为Top10的啊?SharkTeam合同安全性系列课程之【十大区块链智能合约安全风险】和你一起讨论和深层次。第九课【详细说明提案攻击】。
一、什么叫提案攻击
在区块链技术自治组织 (DAO)中,参加者会明确提出关于未来协议书更新、资金分配等一些提案。为了能让提案起效,必须对它进行投票。在DAO中,参加者若想参加提案投票,必须拥有相对应的整治代币。有着整治代币的持有人,能够进行进行提案、投票、实行提案一系列主题活动。
尽管提案整治有益于基本建设区块链技术未来的发展,但也存在一些缺点。整治代币拥有占比比较小的消费者对参加整治采用客观冷淡心态,这进一步造成 DAO 之中投票权的去中心化,继而立足于极少数人权益。拥有比较多整治代币的消费者,有着过多投票权。
如同上边提到的一些缺点,提案经常出现下列风险性:
(1)管理决策危害:根据行贿有偏见的提案危害持币者管理决策;
(2)废弃物提案:参加者能通过付款廉价代币明确提出随意提案;
(3)参与性低:持币者有时无法理解太强技术性的提案,因而作出不上恰当的理解参加治理确定;
(4)高投票权:持币者有着很多根据提案所需要的代币总数,即有着主导权,随便确定提案是不是根据。
因而,攻击者可以通过得到充足的投票权来重构标准,或是危害充足的代币持有人,对提案开展有偏见的投票。这种行为,也称为提案攻击。
二、攻击事件分析
2.1 Beanstalk Farms
2022年4月17日,优化算法稳定币新项目Beanstalk Farms遭网络黑客攻击,损害超出8000万美金,包含 24830 ETH 和 3600 万 BEAN。
提案攻击全过程如下所示:
(1)根据闪电贷从Aave平台筹集资金350M DAI,500M USDC及其150M USDT,从Uniswap服务平台借款32.1M BEAN,从SushiSwap服务平台筹集资金11.6M LUSD;
(2)将筹集资金的DAI、USDC及其USDT所有投入到了Curve DAI/USDC/USDT流动性挖矿软件中,铸造出979,691,328个流动性代币3Crv;
(3)将15M 3Crv折算成15,251,318 LUSD,将964,691,328 3Crv加上流动性得到795,425,740 BEAN3CRV-f,将32,100,950 BEAN及其26,894,383 LUSD加上流动性,获得58,924,887 BEAN3CRV-f;
(4)应用上边所得到的全部BEAN3CRV-f提案开展投票,使提案根据并实施。随后赢得了36,084,584 BEAN,0.5407 UNI-V2,874,663,982 NEAN3CRV-f及其60,562,844 BEANLUSD-f;
(5)清除流动性得到1,007,734,729 3Crv及其28,149,504 LUSD;
(6)偿还SushiSwap闪电贷的11,678,100 LUSD及其32,197,543 BEAN,主要包含了服务费;
(7)将剩下的16,471,404 LUSD折算成16,184,690 3Crv,清除流动性3Crv,获得522,487,380 USDC,365,758,059 DAI及其156,732,232 USDT;
(8)向Aave平台各自存进350,315,000 DAI,500,450,000 USDC及其150,135,000 USDT用以还款闪电贷及其服务费;
(9)清除0.5407 UNI-V2的流动性,得到10,883 WETH及其32,511,085 BEAN并偿还闪电贷金额及其服务费;
(10)向Ukraine Crypto Donation捐助了250k USDC,将剩下的Token折算成WETH;
(11)将所获得的24,830 WETH分离出来,并转帐到攻击者详细地址,进行攻击。
人们通过剖析发觉,投票合同里的投票数是通过账户上的BEAN3CRV-f代币拥有量计算所得到的。
攻击者运用了这一系统漏洞,根据闪电贷得到很多代币,把这些代币投入到了挖矿软件中,临时性得到大量BEAN3CRV-f代币,从而得到了绝对性投票数优点,使自己的提案能够由自己决定,而无需别人的投票。最后窃取了很多的Token
2.2 Fortress Loans
2022年5月9日信息,Fortress Loans遭受网络黑客攻击。本次攻击事情流失了1048.1 ETH及其40万DAI。
提案攻击全过程如下所示:
(1)Id=11的提案的建立,期为5月3日;
(2)提案投票随后导入到实行序列,期为5月6日;
该提案在参与到实行序列以前,接受到2次投票,再将提案导入到序列中。
将提案导入到序列中,调用queue函数。
我们都知道鼓励的投票数只需不少于400,000 FTS,投票就能导入到实行序列中等候实行。2次投票鼓励的总投票数为296,193 119,774 = 415,917 FTS > 400,000 FTS,而且eta一直为0,因而提案状态应该给Suceeed,能够被参与到实行序列中。
(3)攻击者合同启用Fortress整治合同实施了Id=11的提案,而且Id=11的提案内容为设定fToken的质押因素为700000000000000000;
(4)改动完质押因素后,攻击合同启用了Chain合同的submit函数,因为submit函数中缺乏了对signer本身的校检及其power的校检,因而可以改动初始条件fcds,进一步影响了价钱预言机的价格计算;
(5)进行之上重新编辑,攻击者从借款合同中借出了很多的别的Token。
此次提案攻击产生的主要原因有两种:
(1)价钱预言机算价的信息来源Chain合同缺乏签字地址的认证及其power的认证;
(2)整治合同中,遭受FTS价钱危害,提案投票最低适用投票数(FTS总数)的总额低,促使提案还可以在投入比较小的成本下根据并实施。
三、防范措施
在DAO中,整治代币分配市场经济体制没法区别需要为项目作出珍贵的贡献消费者和十分重视毁坏或者以多种方式操纵工程项目的攻击者,这俩人群全是想要高价钱选购大量整治代币。我们会有三个很明确的挑选:减少攻击其价值,提升得到投票权成本,及其提升实行攻击成本。
(1)减少攻击其价值
新项目越小越取得成功,其价值越大,就越容易变成网络黑客的攻击总体目标。想要在不损害本身新项目前提下,减少攻击其价值,有关设计者能够限定提案整治范畴来限定攻击其价值,例如限定提案里的变更协议书参数管理权限。
(2)提升得到投票权成本
间接性减少整治代币的流动性,新项目能够提供激励机制。例如根据质押贷款或授予代币相对较高的单独使用价值。单独使用价值带来的好处,现阶段持币者将不愿意去售卖,这其实也会增加价格行情。
(3)提升实行攻击成本
设计者必须某类客户身份认证才可以参加投票,比如KYC查验或信誉个人信用成绩阀值。
最终,推荐项目方挑选第三方审计机构对内容进行财务审计之后再发布,进一步提高新项目安全性,避开安全隐患。
公司介绍:SharkTeam的企业愿景是全方位维护Web3全球的安全性。团队人员遍布于北京、南京市、苏州市、美国硅谷,由全球各地资深的安全性专业人员高级科学研究人员构成,熟练区块链和区块链智能合约的最底层基础理论,提供专业的区块链智能合约财务审计、链上剖析、应急处置等工作。已经与区块链生态体系各行各业的重要参加者,如Polkadot、Moonbeam、polygon、OKC、Huobi Global、imToken、ChainIDE等创建合作关系关联。
Twitter:https://twitter.com/sharkteamorg
Discord:https://discord.gg/jGH9xXCjDZ
Telegram:https://t.me/sharkteamorg
大量区块链安全咨询和分析,点击进入连接查询
D查下|链上风险性审查 https://m.chainaegis.com
转载:驼鸟区块链
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。