区块链安全入门笔记(七)_EOS:KEN

随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界!系列回顾:区块链安全入门笔记(二)|慢雾科普区块链安全入门笔记(三)|慢雾科普区块链安全入门笔记(四)|慢雾科普区块链安全入门笔记(五)|慢雾科普区块链安全入门笔记(六)|慢雾科普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

行情 | 比特币年内涨幅接近翻倍 美股主要区块链概念股盘前大涨:据财联社报道,美股区块链概念股盘前多数上涨,Riot Blockchain涨10.15%,Marathon Patent涨6.16%,DPW涨9.4%。消息面上,比特币近八个月来首次突破7500美元关口,年内涨幅超过90%。[2019/5/13]

重入攻击(ReentrancyAttack)首次出现于以太坊,对应的真实攻击为TheDAO攻击,此次攻击还导致了原来的以太坊分叉成以太经典(ETC)和现在的以太坊(ETH)。由于项目方采用的转账模型为先给用户发送转账然后才对用户的余额状态进行修改,导致恶意用户可以构造恶意合约,在接受转账的同时再次调用项目方的转账函数。利用这样的方法,导致用户的余额状态一直没有被改变,却能一直提取项目方资金,最终导致项目方资金被耗光。慢雾安全团队在此提醒智能合约开发者在进行智能合约开发时,在处理转账等关键操作的时候,如果智能合约中存储了用户的资金状态,要先对资金状态进行修改,然后再进行实际的资金转账,避免重入攻击。假充值攻击FalseTop-up

动态 | IBM利用区块链技术帮助荷兰解决自行车盗窃问题:5月4日讯,IBM比荷卢(比利时-荷兰-卢森堡)正在利用区块链技术帮助荷兰打击自行车盗窃行为。据悉,荷兰84%的公民拥有一辆或多辆自行车。IBM欧洲负责人Louis de Bruin表示,所有关于被盗自行车和车主的信息都会被记录在区块链上,每个人都可以进行查看。通过区块链技术,失窃自行车的索赔可以在几秒钟内进行处理,而不是几周或几个月。[2019/5/4]

假充值攻击(FalseTop-up),分为针对智能合约的假充值攻击和对交易所的假充值攻击。在假充值攻击中,无论是智能合约还是交易所本身,都没有收到真实的Token,但是用户又确实得到了真实的充值记录,在这种情况下,用户就可以在没有真正充值的情况下从智能合约或交易所中用假资产或不存在的资产窃取真实资产。1.智能合约假充值攻击

声音 | 《财富》杂志:预计今年区块链相关专利数会达到创纪录的1200多例:据PingWest品玩消息,截止2018年10月,全球的区块链专利已经达到5771项。而且区块链专利数在今年更是呈现出井喷之势。根据《财富》杂志的预测,仅仅今年一年,区块链技术相关的专利数可能就会达到创纪录的1200多例。目前区块链专利数排列前三的分别是阿里巴巴、IBM和万事达卡。阿里巴巴、IBM、腾讯等对于技术类专利更加关注;而以金融业务为主的机构,如万事达卡等,对于应用类专利的关注更高。[2018/12/7]

针对智能合约的假充值主要是假币的假充值,这种攻击手法多发于EOS和波场上,由于EOS上代币都是采用合约的方式进行发行的,EOS链的系统代币同样也是使用这种方式发行,同时,任何人也可以发行名为EOS的代币。只是发行的合约帐号不一样,系统代币的发行合约为"eosio.token",而其他人发行的代币来源于其他合约帐号。当合约内没有校验EOS代币的来源合约的时候,攻击者就能通过充值攻击者自己发布的EOS代币,对合约进行假充值攻击。而波场上的假充值攻击主要是TRC10代币的假充值攻击,由于每一个TRC10都有一个特定的tokenid进行识别,当合约内没有对tokenid进行校验的时候,任何人都可以以1024个TRX发行一个TRC10代币对合约进行假充值。2.交易所假充值攻击

声音 | 中央财经大学欧阳日辉:区块链技术使互联网法院走在传统法院前面:据科技日报报道,中央财经大学中国互联网经济研究院副院长欧阳日辉表示,相较于传统法院,互联网法院运作最大的不同就是对互联网精神和手段的注重,比如区块链和人工智能。虽然基本沿用现有法院的程序来审理案件,但在使用的技术手段上,互联网法院走在前面。[2018/9/26]

针对交易所的假充值攻击分为假币攻击和交易状态失败的假充值攻击。以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状态攻击)红色预警细节披露与修复方案

动态 | “兰白自创区”将利用区块链等新技术提升新兴产业竞争力:兰州新闻网7月3日讯,“兰白自创区”建设实施方案(三)中指出,加快产业高技术化转型升级,把人工智能、二次元产业、区块链等新技术作为提升新兴产业竞争力的基点,推进各领域新兴技术跨界创新。另外,发挥区块链技术在知识产权领域的应用和影响,加强特色产业集聚区和重点产业知识产权快速维权,营造良好的营商环境。[2018/7/3]

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

金宝趣谈

[0:0ms0-4:548ms