随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。
面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界!
短地址攻击?ShortAddressAttack
短地址攻击(ShortAddressAttack)是针对以太坊上ERC20智能合约的一种攻击形式,利用的是EVM中的对于输入字节码的自动补全机制进行攻击。
一般而言,针对ERC20合约中的transfer函数的调用,输入的字节码位数都是136字节的。当调用ERC20中的transfer函数进行ERC20Token转账时,如果攻击者提供的地址后有一个或多个0,那么攻击者就可以把地址后的零省去,提供一个缺位的地址。
金色实力派 | 区块链助力社会气象观测 引领“观测即共享”新浪潮:5月21日16:00,金色财经邀请到中国气象局气象服务首席朱定西、北京市气象局高级工程师李强、宙斯在线科技CEO Tony做客「金色实力派」,一起聊聊区块链是如何助力气象预测,敬请期待!更多详情见原文链接。[2020/5/21]
当对这个地址转账的时候,比方说转账100的AToken,然后输入的地址是攻击者提供的缺位地址,这时候,经过编码输入的数据是134字节,比正常的数据少了2字节,在这种情况下,EVM就会对缺失的字节位在编码数据的末尾进行补0凑成136字节,这样本来地址段缺失的0被数据段的0补齐了,而由于给地址段补0,数据段会少0,而数据段缺失的0由EVM自动补齐,这就像数据段向地址段移动补齐地址段缺失字节位,然后数据段缺失的字节位由EVM用0补齐。
动态 | 区块链医疗公司SimplyVital Health获得美国国家科学基金会22.5万美元的经费:总部位于新英格兰的区块链公司SimplyVital Health获得来自美国国家科学基金会(NSF)的225,000美元的经费。SimplyVital将用该笔资金进行研究和开发,以将石墨烯协议集成到其区块链协议Nexus中。(cointelegraph)[2019/10/11]
这种情况下,转账金额就会由100变成100*16的n次方,n是地址缺失的0的个数。通过这种方式,攻击者就能对交易所或钱包进行攻击,盗窃交易所和钱包的资产。
慢雾安全团队建议交易所和钱包在处理转账的时候,要对转账地址进行严格的校验,防止短地址攻击的发生。详情可参考:遗忘的亚特兰蒂斯:以太坊短地址攻击详解
动态 | 韩国釜山区块链条例自由特区规划听证会将于明天举行:据韩联社消息,对于韩国釜山区块链条例自由特区规划听证会将于5月21日下午2点在釜山市厅国际会议场举行。为收集居民、企业和专家等意见,釜山市在推进限制自由特区计划之前,举行了该听证会。釜山市计划,在听取听证会等意见后,将于本月末确定“区块链条例自由特区计划案”,并提交给中小企业。[2019/5/20]
假币攻击?Fake?Token?Attack
假币攻击(FakeTokenAttack),是针对那些在创建官方?Token?时采用通用创建模版创建出来的代币,每个?Token的识别仅根据特定的标记进行识别,如EOS官方?Token的识别标记是"eosio.token"合约,波场的TRC10的识别标记是tokenid,以太坊的ERC20是用合约地址作为识别标记。
声音 | 政协委员:充分利用区块链等技术手段加强对侵权行为的识别:据新华网消息, 十三届全国政协第十九次双周协商座谈会28日在京召开。此次会议围绕“网络环境下的知识产权保护”建言资政。一些委员建议,要充分利用区块链、大数据、云计算、人工智能等现代信息技术手段,加强对侵权行为的在线识别、实时监测、源头追溯以及证据采集固定等,注意将业界成功技术和规则上升为行业标准。[2019/1/28]
那么这样就会出现一个问题,如果收款方在对这些Token进行收款的时候没有严格校验这些Token特有的标记,攻击就会发生,以EOS为例子,由于EOS官方Token采用的是合约来发行一个名为EOS的Token,标记EOS本身的标识是"eosio.token"这个发行帐号,如果在接受转账的时候没有校验这个标识,攻击者就能用其他的帐号同样发行一个名为EOS的Token,对交易所或钱包进行假币充值,换取真的代币。
茂业通信:子公司有研究区块链技术发展,暂未有产品及相关收入:茂业通信(000889)今日表示,公司主业是信息传输与通信网络维护,所属全资子公司北京创世漫道科技有限公司从事移动互联网软件开发及应用服务跟踪、研究区块链技术发展,暂未有产品及相关收入。茂业通信现价13.90 元。[2018/3/29]
2019年4月11日,波场DappTronBank1小时内被盗走约1.7亿枚BTT。监测显示,黑客创建了名为BTTx的假币向合约发起“invest”函数,而合约并没有判定发送者的代币id是否与BTT真币的id1002000一致。因此黑客拿到真币BTT的投资回报和推荐奖励,以此方式迅速掏空资金池。
对此,交易所和钱包在处理转账的时候,切记要严格检验各种代币各种标识,防止假币攻击。
整型溢出攻击?IntegerOverflowAttack
数据的存储是区块链上重要的一环。但是每个数据类型本身是存在边界的,例如以太坊中uint8类型的变量就只能存储0~255大小的数据,超过了就存不下了。
那么如果要放一个超过数据类型大小的数字会怎样呢?例如把256存进uint8的数据类型中,数据显示出来会变成1,而不是其他数值,也不会报错,因为uint8本身能存一个8位二进制数字,最大值为11111111,如果这个时候加1,这个二进制数就变成了100000001,而因为数据边界的关系,只能拿到后8位,也就是00000001,那么数字的大小就变成1了,这种情况我们称为上溢。
有上就有下,下溢的意思就是一个值为0的uint8数据,如果这个时候对它进行减1操作,结果会变成该数据类型所能存储的最大值加1减去被减数,在这个例子中是255,也就是该数据类型所能存储的最大值。
那么如果上述两种情况发生在智能合约当中的话,恶意用户通过下溢的操作,操纵自己的帐号向其他帐号发送超过自己余额数量的代币,如果合约内没有对余额进行检查,恶意用户的余额就会下溢出变成一个超大的值,这个时候攻击者如果大量抛售这些代币,就能瞬间破坏整个代币的价值系统。
慢雾安全团队建议所有的智能合约开发者在智能合约中对数据进行操作的时候,要严格校验数据边界,防止整形溢出攻击的发生。详情可参考:BEC智能合约无限转币漏洞分析及预警。
条件竞争攻击?RaceCondition
条件竞争(RaceCondition)攻击的方式很多样,但是核心的本质无非是对某个条件的状态修改的竞争,如上期介绍的重入漏洞,也是条件竞争的一种,针对的是用户余额这个条件进行竞争,只要用户的余额没有归零,用户就能一直提走智能合约的钱。这次介绍的条件竞争的例子是最近发生的著名的Edgeware锁仓合约的拒绝服务漏洞,详情可参考:
关于Edgeware锁仓合约的拒绝服务漏洞。
这个漏洞问题的本质在于对新建的锁仓合约的余额的这个条件进行竞争。攻击者可以监控所有链上的锁仓请求,提前计算出锁仓合约的地址,然后向合约地址转账,造成锁仓失败。
在官方没有修复之前,要防止这种攻击,只能使用比攻击者更高的手续费让自己的锁仓交易先行打包,从而与攻击者形成竞争避免攻击。最后,官方修复方案为不对锁仓合约的余额进行强制性的相等检查,而是采用大于等于的形式,避免了攻击的发生。
慢雾安全团队建议智能合约的开发者在智能合约中对某些状态进行修改的时候,要根据实际情况充分考虑条件竞争的风险,防止遭受条件竞争攻击。
系列回顾:
区块链安全入门笔记(三)|慢雾科普
区块链安全入门笔记(四)|慢雾科普
区块链安全入门笔记(五)|慢雾科普
区块链安全入门笔记(六)|慢雾科普
区块链安全入门笔记(七)|慢雾科普
标签:区块链KENTOKTOKEN区块链运用的技术中不包括哪一项Ac/sWanaka Farm WAIRERE TokenSOLVE tokenChiva Token
文章来源:蓝鲸财经原文标题:《大型虚拟币盘PlusToken操盘手疑被检方批捕》8月16日晚间,人民检察院案件信息公开网发布.
1900/1/1 0:00:00摘要事件:本周,市场持续震荡。8月10日,中国人民银行支付结算司副司长穆长春在中国金融四十人论坛上总结了央行法定数字货币的设计思路与构架.
1900/1/1 0:00:00自2014年中国人民银行就成立法定数字货币的专门研究小组以来,对央行数字货币的研究已经进行了五年。而近两个月,对于央行数字货币话题的讨论也经历了从回暖、到被关注再到热议.
1900/1/1 0:00:00最近投资市场因各种宏观消息面的突变,出现了较大幅度的波动,恐慌情绪还在蔓延,在最近不到十个交易日里,一些主流资产大幅调整,美国道琼斯工业指数最近十个交易日下跌了超过5%.
1900/1/1 0:00:00昨晚,据HOLD行情显示,比特币短时下跌,今日早上7点一度跌破10000美元,24h下跌幅度超过5%,是半月以来首次跌破1万美元关口,目前于10100美元上下震荡.
1900/1/1 0:00:00随着测试项目TornadoCash的上线,以太坊网络已经可以执行隐私交易。这就意味着用户可以在不公布交易金额或者早前交易记录的情况下创建交易.
1900/1/1 0:00:00