随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界!系列回顾:区块链安全入门笔记(二)|慢雾科普区块链安全入门笔记(三)|慢雾科普区块链安全入门笔记(四)|慢雾科普区块链安全入门笔记(五)|慢雾科普区块链安全入门笔记(六)|慢雾科普hard_fail状态攻击hard_failAttack
hard_fail是什么呢?简单来说就是出现错误但是没有使用错误处理器(errorhandler)处理错误,比方说使用onerror捕获处理,如果说没有onerror捕获,就会hard_fail。EOS上的交易状态记录分为executed,soft_fail,hard_fail,delayed和expired这5种状态,通常在链上大部分人观察到的交易,都是executed的,或者delayed的,而没有失败的交易,这就导致大部分开发者误以为EOS链上没有失败的交易记录,从而忽略了对交易状态的检查。攻击者利用这个细节,针对链上游戏或交易所进行攻击,构造执行状态为hard_fail的交易,链上游戏或交易所进行假充值攻击,从而获利。该攻击手法最早由慢雾安全团队于2019年3月10日一款EOSDApp上捕获,帐号名为fortherest12的攻击者通过hard_fail状态攻击手法攻击了EOS游戏Vegastown。随后,相同攻击手法频频发生,慢雾安全团队在此提醒交易所和EOSDApp游戏开发者在处理转账交易的时候需要严格校验交易状态,确保交易执行状态为executed。详细细节可参考:EOS假充值(hard_fail状态攻击)红色预警细节披露与修复方案重放攻击ReplayAttack重放攻击(ReplayAttack),是针对区块链上的交易信息进行重放,一般来说,区块链为了保证不可篡改和防止双花攻击的发生,会对交易进行各种验证,包括交易的时间戳,nonce,交易id等,但是随着各种去中心化交易所的兴起,在智能合约中验证用户交易的场景越来越多。这种场景一般是需要用户对某一条消息进行签名后上传给智能合约,然后在合约内部进行验签。但由于用户的签名信息是会上链的,也就是说每个人都能拿到用户的签名信息,当在合约中校验用户签名的时候,如果被签名的消息不存在随着交易次数变化的变量,如时间戳,nonce等,攻击者就可以拿着用户的签名,伪造用户发起交易,从而获利。这是一种最早出现于DApp生态初期的攻击形态,由于开发者设计的开奖随机算法存在严重缺陷,使得攻击者可利用合约漏洞重复开奖,属于开发者较为容易忽略的错误。因此,开发者们在链上进行验签操作的时候,需要对被签名消息加上各种可变因子,防止攻击者对链上签名进行重放,造成资产损失。更多详情可参考:以太坊智能合约重放攻击细节剖析重入攻击ReentrancyAttack
NFT项目Sockhodler获Algorand基金会赠款支持:3月10日消息,NFT项目Sockhodler获Algorand基金会赠款支持,SockHodler是提供袜子实物支持的NFT项目,Algorand基金会奖金将用于将区块链整合到服饰使用中。用户可以用手机扫描特定袜子以参与Token奖励计划,也可以参与抽奖、NFT质押等活动。Sockhodler旨在弥合NFT与实物商品之间的差距。[2022/3/10 13:47:27]
重入攻击(ReentrancyAttack)首次出现于以太坊,对应的真实攻击为TheDAO攻击,此次攻击还导致了原来的以太坊分叉成以太经典(ETC)和现在的以太坊(ETH)。由于项目方采用的转账模型为先给用户发送转账然后才对用户的余额状态进行修改,导致恶意用户可以构造恶意合约,在接受转账的同时再次调用项目方的转账函数。利用这样的方法,导致用户的余额状态一直没有被改变,却能一直提取项目方资金,最终导致项目方资金被耗光。慢雾安全团队在此提醒智能合约开发者在进行智能合约开发时,在处理转账等关键操作的时候,如果智能合约中存储了用户的资金状态,要先对资金状态进行修改,然后再进行实际的资金转账,避免重入攻击。假充值攻击FalseTop-up
Algorand 基金会宣布拨款 1000 万美元,重点关注 EVM 兼容性:金色财经报道,Algorand 基金会今天宣布了一项价值 10,000,000 美元的SupaGrant 奖励,奖励给那些将探索和加速在 Algorand 上提供 EVM 兼容性所需的技术工作的团队。这将使那些希望利用 Algorand 的高性能、可持续和具有成本效益的区块链但已经习惯于在 EVM 上构建的创新者能够实现这一目标。(prnewswire)[2022/2/18 10:00:00]
假充值攻击(FalseTop-up),分为针对智能合约的假充值攻击和对交易所的假充值攻击。在假充值攻击中,无论是智能合约还是交易所本身,都没有收到真实的Token,但是用户又确实得到了真实的充值记录,在这种情况下,用户就可以在没有真正充值的情况下从智能合约或交易所中用假资产或不存在的资产窃取真实资产。1.智能合约假充值攻击
Algorand基金会宣布Staci Warden担任首席执行官:2月10日消息,Algorand基金会宣布任命Staci Warden为首席执行官,立即生效。Warden自2021年9月以来一直在Algorand基金会董事会任职。
根据其Linkedin资料,在加入Algorand之前,Warden曾担任摩根大通的执行董事,负责欧洲、非洲、俄罗斯和中亚的多边机构关系。她还曾在纳斯达克工作,负责监督该交易所为微型股企业开发的上市交易平台BBX的开发。(CoinDesk)[2022/2/10 9:43:26]
针对智能合约的假充值主要是假币的假充值,这种攻击手法多发于EOS和波场上,由于EOS上代币都是采用合约的方式进行发行的,EOS链的系统代币同样也是使用这种方式发行,同时,任何人也可以发行名为EOS的代币。只是发行的合约帐号不一样,系统代币的发行合约为"eosio.token",而其他人发行的代币来源于其他合约帐号。当合约内没有校验EOS代币的来源合约的时候,攻击者就能通过充值攻击者自己发布的EOS代币,对合约进行假充值攻击。而波场上的假充值攻击主要是TRC10代币的假充值攻击,由于每一个TRC10都有一个特定的tokenid进行识别,当合约内没有对tokenid进行校验的时候,任何人都可以以1024个TRX发行一个TRC10代币对合约进行假充值。2.交易所假充值攻击
以太坊未确认交易为87,309笔:金色财经消息,据OKLink数据显示,以太坊未确认交易87,309笔,当前全网算力为254.25TH/s,全网难度为3.38P,当前持币地址为50,000,211个,同比增加247,988个,24h链上交易量为3,531,122.31ETH,当前平均出块时间为13s。[2020/11/13 14:09:44]
针对交易所的假充值攻击分为假币攻击和交易状态失败的假充值攻击。以EOS和以太坊为例。针对EOS可以使用名为EOS的假币的方式对交易所进行假充值攻击,如果交易所没有严格校验EOS的来源合约为"eosio.token",攻击就会发生。同时,区别于EOS,由于以太坊上会保留交易失败的记录,针对ERC20Token,如果交易所没有校验交易的状态,就能通过失败的交易对交易所进行ERC20假充值。除此之外,hard_fail状态攻击也是属于假充值攻击的一种。慢雾安全团队在此建议交易所和智能合约开发者在处理转账的时候要充分校验交易的状态,如果是EOS或波场上的交易,在处理充值时还要同时校验来源合约是否是"eosio.token"或tokenid是否为指定的tokenid。更多几大币种假充值问题可参考:1、USDT假充值:USDT虚假转账安全?险分析|2345新科技研究院区块链实验室2、以太坊代币假充值:以太坊代币“假充值”漏洞细节披露及修复方案3、XRP假充值:PartialPayments-XRPLedgerDevPortal4、EOS假充值:EOS假充值(hard_fail状态攻击)红色预警细节披露与修复方案
动态 | 以太坊2.0工作进展:Least Authority将对第0阶段全面审核,Eth2 v0.10.0版本计划于1月发布:12月19日,以太坊官方博客更新ETH 2.0工作进展。博客内容显示,以太坊已授权计算机科学技术公司Least Authority进行ETH 2.0第0阶段全面审核,重点针对关键项目,例如拒绝服务(DoS)攻击,可能导致意外分支、对抗链资源滥用攻击,与网络相关、资金相关的任何攻击等。此外,ETH 2.0工作进展还包括:
1. 以太坊开发团队Sigma Prime正式发布第一个具有主网配置的Eth2公共测试网Lighthouse(此前12月11日已报道);2. 以太坊客户端Nimbus集成本机nim-libp2p,将于下周在测试网中启动。
3. Bitfly开源eth2区块浏览器beaconcha.in增加对Lighthouse的支持;
4. Eth2规范版本v0.9.3已发布,该版本进行了测试修复和网络更新。
同时,v0.10.0版本计划于1月发布,将致力于将新的BLS标准集成到核心Eth2规范中。[2019/12/20]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。