本文来自:安比实验室&AnChain
用户唯一可以操纵的就是msg.sender字段,我们是否可以将msg.sender作为Nonce来挖矿呢?答案显然是可以的,智能合约的地址是根据发起者账户+nonce决定的,于是有了第1代方法:创建合约用户-------------------->新合约用户-------------------->新合约用户-------------------->新合约用户-------------------->新合约但是这种方式需要用户持续部署合约,消耗的矿工费代价非常大,且成功率极低,每次都是以1/1000的中奖概率在尝试。由于第1代惊人的失败率,显然无法利用,于是有了第2代攻击方法:这种方法的主要思想是,合约创建的新合约地址由合约地址+nonce确定:部署合约|------------------|hash(caddr,nonce)用户---------->|循环创建合约,|------->新合约|直到攻击成功或到达终|------->新合约|止条件才停止,可能需|------->新合约|要部署大量合约。|------->新合约|-----------------|这种方式类似于挖矿,固定区块头部,不断修改nonce来试探能否成功获得奖励,但是问题在于,如果在循环第1000次才发现合法的nonce,那么意味着之前部署的999个合约都属于浪费Gas的操作。那么如何更高效地寻找合法的nonce呢?我们回想比特币挖矿,一个挖矿任务中,不仅有nonce,还有extraNonce。在比特币区块的Coinbase字段中,有一个自由修改的区域,修改这个区域会导致MerkleRoot被修改,从而实现Header被修改,具有nonce的效果,因此被称作extraNonce。为什么需要引入extraNonce呢?原因在于nonce为32bit数字,搜索范围只有2^32,矿机几乎一瞬间就遍历完了,通过不断修改extraNonce来扩大本地搜索范围,我们甚至可以不修改nonce只修改extraNonce来挖矿。也许黑客也想到了这一点,他们通过提前部署1000个代理合约来实现有1000个extraNonce的效果。至此,攻击方法升级到了第3代:部署合约用户-------------------------------------->管理合约C调用合约C,预先创建代理合约(extraNonce)用户-------------------------------------->1000个代理合约调用合约C,循环尝试可以成功攻击的代理合约用户-------------------------------------->部署合约(尝试攻击)显而易见,这种攻击方式同时实现了2个效果:提升了攻击成功率减少了攻击合约部署数量,大大减少了Gas消耗。彩蛋2黑客预先创建的合约数量与中奖概率
跨链DeFi平台Umee集成智能合约安全监控项目Forta Network:金色财经消息,跨链DeFi平台Umee宣布集成智能合约安全监控项目Forta Network,以及时响应技术问题。Forta的警报集成还将使Umee能够更灵活地对检测到的风险和问题采取行动。[2022/6/11 4:17:36]
前文提到黑客预先部署1000个代理合约,这个数字有什么讲究呢?if((seed-((seed/1000)*1000))<airDropTracker_)seed经由一系列以太坊链上环境以及多次Hash运算得出。Hash结果对1000取余数,可以得到0~999的伪随机数。我们假设哈希输出结果是均匀的,并且哈希是抗碰撞的,那么平均每次中奖的概率为1/1000。模拟结果:
公式运算结果:尽管更多合约能够提供更高的中奖概率,但是需要考虑到Gas消耗与GasLimit等因素,不宜过大。安比实验室认为黑客选择部署1000个合约,是根据概率代码1/1000想当然做出的判断。彩蛋3黑客可能利用了空投概率计算的另一个bug
Alonzo升级后Cardano智能合约部署数量已超2500个:金色财经报道,据最新数据显示,自从Alonzo完成升级后,Cardano智能合约部署数量已超2500个,本文撰写时为2,554个。[2021/9/18 23:33:55]
黑客仍然需要更高效地攫取利润,他们甚至“发现”了Fomo3D空投规则在这种攻击方式下暴露出的缺陷。攻击合约需要在最开始获取空投奖励信息,作为后续操作的依据。因此,攻击合约会先依次调用游戏合约的两个查询接口,分别是0xd87574e0airDropPot_()和0x11a09ae7airDropTracker_()。Fomo3D空投奖励的airDropTracker_计算方式为如下方法:if(_eth>=100000000000000000){airDropTracker_++;if(airdrop()==true){...}}Fomo3D判断是否能中空投奖励使用了如下方法:if((seed-((seed/1000)*1000))<airDropTracker_)return(true);根据我们分析,0x820d后期更新的攻击合约直接去除了对airDropTracker_的判断,但这样做其实有利有弊。如果你了解细节,猜出了黑客的用意,或者知晓这种做法的优缺点,欢迎添加小安同学微信,她会把你加入到「SECBIT智能合约安全技术讨论」的群里。尾声下一个是谁?
声音 | 中国电子技术标准化研究院李鸣:区块链与智能合约和人工智能的结合会产生难以预料的结果:金色财经报道,中国电子技术标准化研究院区块链研究室主任李鸣在接受专访时表示,从长远发展来看,区块链与智能合约和人工智能的结合会产生难以预料的结果,甚至是科幻小说的场景也可能变为现实。可以说,区块链有很多的好处,也面临不少挑战。具体来讲,首先是监管层面。比如ICO等相关活动对金融秩序造成了很大的影响。其次是不良信息层面。区块链的技术特点是上链信息不能更改,而不良信息上链会引发一些不良影响,因此上链前要过滤掉不良信息以消除风险。最后是数据的跨境流动。区块链是点对点通信,就像比特币或以太坊,很多数据可以流到境外。而数据已经成为生产要素,数据流动也要进行监管。同样,区块链也是软件形态,和其他软件面临的风险也是一样的,如网络层、平台层、应用层的安全威胁。另外,区块链因其技术特点还有其自身的安全问题,像算力攻击、智能合约漏洞等。[2019/11/30]
8月14日,BAPT-LW20黑客团队的0x820d再次部署了两个新版攻击合约,这一次他们将炮筒又对准了另一款一天前新部署的不知名合约。望着大屏幕上AnChain.ai态势感知态势感知平台不断闪烁的红点,安比实验室和AnChain.ai都很清楚,区块链世界里的战役还远远没有结束。2009年,中本聪创造了一个虚拟的去中心化新世界。这仿佛是一片流着奶和蜜糖的应许之地,人们欢呼雀跃,蜂拥而至。但与所有的生态系统一样,新世界有生命,就有捕食者。有交易者,就有黑客。区块链上的应用在进化,攻击者也同样,我们给大家展示的是区块链世界不为人知的另一面,暗流涌动。意料之外,也在意料之中。BAPT-LW20&BAPT-F3D大事件时间表:
ADA发布智能合约测试网 涨幅近10%:Cardano(ADA)官方发布消息,IOHK已经发布ADA第一个智能合约测试网——KEVM 测试网。受此利好消息影响,ADA自今日10点起开始大幅上涨,市场普跌时依然保持涨幅势头,行情显示,ADA全球均价0.199美元,涨幅9.43%。[2018/5/30]
2018/07/06Fomo3D游戏合约上线2018/07/08Zethr核心开发者Etherguy发现并利用空投漏洞2018/07/20Fomo3D游戏在国内走红2018/07/20BAPT-LW20黑客团队地址开始活跃2018/07/21BAPT-LW20团队第一次成功利用Fomo3D空投漏洞2018/07/23BAPT-LW20团队攻击山寨游戏?鼠会RatScam2018/07/23Pe?ter在Reddit爆料Fomo3D空投漏洞2018/07/24安比实验室发布Fomo3D及山寨版游戏空投漏洞预警2018/07/24BAPT-LW20黑客团队攻击FoMoGame2018/07/26BAPT-LW20黑客团队部署新版攻击合约0x54832018/08/06类Fomo3D游戏LastWinner上线2018/08/07LW游戏开始火爆2018/08/07BAPT-LW20黑客团队开始攻击LW游戏2018/08/09以太坊未确认交易数创年内新高2018/08/10凌晨AnChain.ai态势感知系统发出预警2018/08/10安比实验室与AnChain.ai联手开展调查2018/08/10BAPT-LW20黑客团队转移旧合约中资金,使用新版合约继续开展攻击2018/08/11完成BAPT-LW20攻击时间线复原2018/08/12完成BAPT-LW20攻击手法复原2018/08/13针对更多攻击源分析2018/08/13完成BAPT-F3D和BAPT-LW20攻击数据全景分析,黑客获利超5000Ether2018/08/14BAPT-LW20黑客团队再次部署新版攻击合约,开始攻击一个不知名合约2018/08/17BAPT-LW20黑客团队夺取LW最终大奖7754Ether2018/08/17安比实验室完成BAPT-LW20攻击事件报告
以太坊竞争对手RSK发布比特币智能合约平台:以太坊竞争对手RSK实验室已经宣布:比特币智能合约平台主网于周一正式上线。该公司声称获得了90%的比特币哈希算力的支持,用于RSK侧链挖矿。且鼓励所有开发者在测试阶段参与寻找bug的奖励计划。[2017/12/5]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。