区块链安全入门笔记(八)_区块链:TOK

!webp\"data-img-size-val=\"1600,900\"\u002F\\>

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

短地址攻击ShortAddressAttack

短地址攻击(ShortAddressAttack)是针对以太坊上ERC20智能合约的一种攻击形式,利用的是EVM中的对于输入字节码的自动补全机制进行攻击。

一般而言,针对ERC20合约中的transfer函数的调用,输入的字节码位数都是136字节的。当调用ERC20中的transfer函数进行ERC20Token转账时,如果攻击者提供的地址后有一个或多个0,那么攻击者就可以把地址后的零省去,提供一个缺位的地址。当对这个地址转账的时候,比方说转账100的AToken,然后输入的地址是攻击者提供的缺位地址,这时候,经过编码输入的数据是134字节,比正常的数据少了2字节,在这种情况下,EVM就会对缺失的字节位在编码数据的末尾进行补0凑成136字节,这样本来地址段缺失的0被数据段的0补齐了,而由于给地址段补0,数据段会少0,而数据段缺失的0由EVM自动补齐,这就像数据段向地址段移动补齐地址段缺失字节位,然后数据段缺失的字节位由EVM用0补齐。这种情况下,转账金额就会由100变成100*16的n次方,n是地址缺失的0的个数。通过这种方式,攻击者就能对交易所或钱包进行攻击,盗窃交易所和钱包的资产。

经济参考报:充分运用区块链等新技术整合东北地区信息资源:6月23日,经济参考报刊文“科技金融为东北产业链振兴提供新机遇”。文章表示,应构建立体化、多元化的科技金融服务体系。充分运用区块链、云计算等新技术,整合东北地区金融机构、企业、政府三方的信息资源,搭建信息对接平台。[2020/6/23]

慢雾安全团队建议交易所和钱包在处理转账的时候,要对转账地址进行严格的校验,防止短地址攻击的发生。详情可参考:

遗忘的亚特兰蒂斯:

以太坊短地址攻击详解

假币攻击FakeTokenAttack

假币攻击(FakeTokenAttack),是针对那些在创建官方Token时采用通用创建模版创建出来的代币,每个Token的识别仅根据特定的标记进行识别,如EOS官方Token的识别标记是"eosio.token"合约,波场的TRC10的识别标记是tokenid,以太坊的ERC20是用合约地址作为识别标记。那么这样就会出现一个问题,如果收款方在对这些Token进行收款的时候没有严格校验这些Token特有的标记,攻击就会发生,以EOS为例子,由于EOS官方Token采用的是合约来发行一个名为EOS的Token,标记EOS本身的标识是"eosio.token"这个发行帐号,如果在接受转账的时候没有校验这个标识,攻击者就能用其他的帐号同样发行一个名为EOS的Token,对交易所或钱包进行假币充值,换取真的代币。

声音 | 新华社经济分析师:区块链将成为数字经济高质量快速发展的一大法宝:新华财经今日发表文章《区块链赋能数字经济行稳致远》,文中提到,由于政策利好,区块链热潮成为市场关注焦点。区块链这项具有开创性的技术,颠覆了人们对信任的认知,为数字经济发展注入新动能,为民生领域的防伪溯源和数字经济的信息孤岛等问题提供了最需要的解决方案。新华社经济分析师认为,在合理监管的框架下,利用区块链的根本特性,与数字经济领域防伪溯源、信息共享、产业链上下游信用传导等相结合,区块链将成为数字经济高质量快速发展的一大法宝。[2019/11/29]

2019年4月11日,波场DappTronBank1小时内被盗走约1.7亿枚BTT。监测显示,黑客创建了名为BTTx的假币向合约发起“invest”函数,而合约并没有判定发送者的代币id是否与BTT真币的id1002000一致。因此黑客拿到真币BTT的投资回报和推荐奖励,以此方式迅速掏空资金池。对此,交易所和钱包在处理转账的时候,切记要严格检验各种代币各种标识,防止假币攻击。

声音 | Ripple全球战略客户主管:区块链技术可以解决跨境支付的低效问题:据globalbankingandfinance报道,8月31日,Ripple全球战略客户主管Marcus Treacher发文表示,区块链技术可以解决跨境支付的低效问题,并为当前系统提供更快,更便宜和更安全的替代方案。使用区块链,金融机构可以在几秒钟内发送和结算付款,而且只需支付传统银行转账成本的一小部分,这使得中小企业可以像在互联网上分享信息一样轻松地在全球范围内转移资金。我们称之为“价值互联网”。价值互联网可以从根本上创造一个更加透明和高效的新金融服务生态系统,允许中小企业通过降低进出口管理成本来与更大的企业竞争。虽然传统的跨境银行业务模式是为大额支付而创建的,但这种新方法是根据中小企业的需求量身定制的,并提供了一种更快,更具成本效益的方式来处理小额支付。独立的数字资产可以让不同的市场参与者轻松地交换货币价值,而无需在外国银行的账户中持有现金,从而提高流动性。在此场景中,数字资产充当支付的发送方和接收方之间的桥梁,支持几乎实时的货币交换。[2019/9/2]

整型溢出攻击IntegerOverflowAttack

声音 | 法迪·切哈德:区块链或将改变互联网的商业模式:据新京报报道,世界经济论坛执行主席高级顾问法迪·切哈德认为,在基础设施层面,5G技术将进一步崛起,成为改变游戏规则的变革力量。其次,我认为区块链将为我们创造机遇,甚至将改变互联网的商业模式。我不是非常专注于互联网在社交方面的作用,但从经济的角度来看,区块链将在未来五年中产生重大影响。此外,人工智能的发展也将备受瞩目。[2018/11/8]

数据的存储是区块链上重要的一环。但是每个数据类型本身是存在边界的,例如以太坊中uint8类型的变量就只能存储0~255大小的数据,超过了就存不下了。那么如果要放一个超过数据类型大小的数字会怎样呢?例如把256存进uint8的数据类型中,数据显示出来会变成1,而不是其他数值,也不会报错,因为uint8本身能存一个8位二进制数字,最大值为11111111,如果这个时候加1,这个二进制数就变成了100000001,而因为数据边界的关系,只能拿到后8位,也就是00000001,那么数字的大小就变成1了,这种情况我们称为上溢。有上就有下,下溢的意思就是一个值为0的uint8数据,如果这个时候对它进行减1操作,结果会变成该数据类型所能存储的最大值加1减去被减数,在这个例子中是255,也就是该数据类型所能存储的最大值。那么如果上述两种情况发生在智能合约当中的话,恶意用户通过下溢的操作,操纵自己的帐号向其他帐号发送超过自己余额数量的代币,如果合约内没有对余额进行检查,恶意用户的余额就会下溢出变成一个超大的值,这个时候攻击者如果大量抛售这些代币,就能瞬间破坏整个代币的价值系统。

券商股午后直线拉升上涨 区块链概念维持强势:午后,随着地产股进一步走强,券商股午后直线拉升上涨,沪指逼近3400点,最高点达到3399.71点。盘面上,地产、券商、环保和工程建设等板块涨幅居前,航天军工、保险、煤炭和通讯等跌幅居前。概念股方面,租售同权概念在地产股提振下大涨,区块链概念维持强势,氟化工、土地流转和草甘膦等涨幅其次。[2018/1/5]

慢雾安全团队建议所有的智能合约开发者在智能合约中对数据进行操作的时候,要严格校验数据边界,防止整形溢出攻击的发生。详情可参考:

BEC智能合约无限转币漏洞分析及预警

条件竞争攻击RaceCondition

条件竞争(RaceCondition)攻击的方式很多样,但是核心的本质无非是对某个条件的状态修改的竞争,如上期介绍的重入漏洞,也是条件竞争的一种,针对的是用户余额这个条件进行竞争,只要用户的余额没有归零,用户就能一直提走智能合约的钱。这次介绍的条件竞争的例子是最近发生的著名的Edgeware锁仓合约的拒绝服务漏洞,详情可参考:

关于Edgeware锁仓合约的拒绝服务漏洞

。这个漏洞问题的本质在于对新建的锁仓合约的余额的这个条件进行竞争。攻击者可以监控所有链上的锁仓请求,提前计算出锁仓合约的地址,然后向合约地址转账,造成锁仓失败。在官方没有修复之前,要防止这种攻击,只能使用比攻击者更高的手续费让自己的锁仓交易先行打包,从而与攻击者形成竞争避免攻击。最后,官方修复方案为不对锁仓合约的余额进行强制性的相等检查,而是采用大于等于的形式,避免了攻击的发生。

慢雾安全团队建议智能合约的开发者在智能合约中对某些状态进行修改的时候,要根据实际情况充分考虑条件竞争的风险,防止遭受条件竞争攻击。

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

水星链

[0:15ms0-0:717ms