随着越来越的人参与到区块链这个行业中来,为行业注入新活力的同时也由于相关知识的薄弱以及安全意识的匮乏,给了攻击者更多的可乘之机。
面对频频爆发的安全事件,慢雾特推出区块链安全入门笔记系列,向大家介绍区块链安全相关名词,让新手们更快适应区块链危机四伏的安全攻防世界!
短地址攻击?ShortAddressAttack
短地址攻击(ShortAddressAttack)是针对以太坊上ERC20智能合约的一种攻击形式,利用的是EVM中的对于输入字节码的自动补全机制进行攻击。
一般而言,针对ERC20合约中的transfer函数的调用,输入的字节码位数都是136字节的。当调用ERC20中的transfer函数进行ERC20Token转账时,如果攻击者提供的地址后有一个或多个0,那么攻击者就可以把地址后的零省去,提供一个缺位的地址。
动态 | 伊朗央行为金融业正在开发区块链平台“Borna”:据BTC Manager消息,5月2日,中东和北非地区独立报告与分析平台Al-Monitor发布一份报告显示,伊朗央行一直在开发一个名为Borna的平台,为区块链技术在伊朗使用提供通用标准,并降低开发区块链解决方案的成本,允许伊朗的银行机构及其他金融实体在更大范围内测试和实施区块链。报告透露,伊朗央行区块链解决方案平台Areatak与信息学服务公司建立三方合作关系,催生区块链平台“Borna”。该平台最初将提供电子客户识别、令牌管理和在线审计等服务。[2019/5/7]
当对这个地址转账的时候,比方说转账100的AToken,然后输入的地址是攻击者提供的缺位地址,这时候,经过编码输入的数据是134字节,比正常的数据少了2字节,在这种情况下,EVM就会对缺失的字节位在编码数据的末尾进行补0凑成136字节,这样本来地址段缺失的0被数据段的0补齐了,而由于给地址段补0,数据段会少0,而数据段缺失的0由EVM自动补齐,这就像数据段向地址段移动补齐地址段缺失字节位,然后数据段缺失的字节位由EVM用0补齐。
分析 | 4月区块链融资金额环比下降69.7%:据统计,2019年4月,全球区块链领域共斩获37笔融资,项目数量接近3月份,但融资总额仅为13.39亿元,环比下降了69.7%。从披露情况来看,4月份未公开具体融资金额的项目比3月份多了5个,这在一定程度上影响了4月份融资金额统计的精确程度。不过,从整体融资环境来看,区块链资本市场的热情在历经前几个月的逐步升温之后,当前的确正呈现降温的趋势。在2019年4月的37笔融资事件中,国内区块链融资项目虽然高达14笔,但融资金额仅为2.03亿元,环比下降了72.1%;而美国则有10笔区块链项目拿到融资,融资金额为10.03亿元,环比下降了46.5%。(互链脉搏)[2019/5/6]
这种情况下,转账金额就会由100变成100*16的n次方,n是地址缺失的0的个数。通过这种方式,攻击者就能对交易所或钱包进行攻击,盗窃交易所和钱包的资产。
动态 | Coinbase收购区块链跟踪初创公司Neutrino:据Coindesk报道,Coinbase收购了区块链分析初创公司Neutrino,目前交易价格尚未公开。Neutrino旨在推进一些研究项目,研究项目涉及在相关商业和服务中部署区块链技术和数字货币的应用,日本银行业巨头瑞穗曾宣布赞助Neutrino项目,并将成为该空间的长期租户。[2019/2/19]
慢雾安全团队建议交易所和钱包在处理转账的时候,要对转账地址进行严格的校验,防止短地址攻击的发生。详情可参考:遗忘的亚特兰蒂斯:以太坊短地址攻击详解
假币攻击?Fake?Token?Attack
假币攻击(FakeTokenAttack),是针对那些在创建官方?Token?时采用通用创建模版创建出来的代币,每个?Token的识别仅根据特定的标记进行识别,如EOS官方?Token的识别标记是"eosio.token"合约,波场的TRC10的识别标记是tokenid,以太坊的ERC20是用合约地址作为识别标记。
京津冀三省市公证协会等联合发表倡议,积极探索区块链等新技术手段:北京市公证协会、天津市公证协会、河北省公证协会及京津冀法律服务业、法律科技界、企业法务界等上下游业界,在北京市长安公证处承办的“京津冀公证协同发展暨法律服务深度融合研讨会”上联合发表倡议书,倡议内容包括“主动适应现代信息科技对法律服务及上下游工作的革命性影响,积极探索运用人工智能、大数据、区块链等新技术手段创新服务产品、优化服务模式、提升服务效率”。[2018/6/1]
那么这样就会出现一个问题,如果收款方在对这些Token进行收款的时候没有严格校验这些Token特有的标记,攻击就会发生,以EOS为例子,由于EOS官方Token采用的是合约来发行一个名为EOS的Token,标记EOS本身的标识是"eosio.token"这个发行帐号,如果在接受转账的时候没有校验这个标识,攻击者就能用其他的帐号同样发行一个名为EOS的Token,对交易所或钱包进行假币充值,换取真的代币。
区块链技术雷声大雨点小!调研显示仅1%的公司开发了相关应用:著名研究机构451 Research进行了“2017年企业之声:云转型,供应商评估”研究,调查了600家公司。结果表明,仅1%的公司开发了基于区块链的应用。这说明,由于缺乏技能和行业知识,绝大多数公司不知道如何使用该技术。超过1/4的受访公司正在尝试使用区块链,20%的受访公司正在评估这项技术的潜在用途,4%的受访公司表示正在开展试点项目,仅几家公司表示已经开发出有用的应用程序。另外还有4%的公司或者正在开发环境中测试应用程序,或者正准备推出一个应用程序。[2018/3/21]
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锁仓合约的拒绝服务漏洞。
这个漏洞问题的本质在于对新建的锁仓合约的余额的这个条件进行竞争。攻击者可以监控所有链上的锁仓请求,提前计算出锁仓合约的地址,然后向合约地址转账,造成锁仓失败。
在官方没有修复之前,要防止这种攻击,只能使用比攻击者更高的手续费让自己的锁仓交易先行打包,从而与攻击者形成竞争避免攻击。最后,官方修复方案为不对锁仓合约的余额进行强制性的相等检查,而是采用大于等于的形式,避免了攻击的发生。
慢雾安全团队建议智能合约的开发者在智能合约中对某些状态进行修改的时候,要根据实际情况充分考虑条件竞争的风险,防止遭受条件竞争攻击。
系列回顾:
区块链安全入门笔记(三)|慢雾科普
区块链安全入门笔记(四)|慢雾科普
区块链安全入门笔记(五)|慢雾科普
区块链安全入门笔记(六)|慢雾科普
区块链安全入门笔记(七)|慢雾科普
标签:TOKENKEN区块链RC2ROIMA INC Tokenushark AI tokenaia币区块链erc20币是什么意思
美国主流媒体CNBC非常热衷于报道加密货币,同时也是圈内知名的反指。而资深投资者BrianKelly经常会在CNBC的节目上分享有关加密货币投资的信息.
以太坊网络的市值已跌至2017年大幅上涨之前的水平。目前存在的所有ETH的总价值仅占整个加密货币市场的不到8%。在以太坊的鼎盛时期,这个智能合约平台占据了整个数字货币市场逾三分之一的份额.
近年来,由于区块链在解决信任问题上存在技术优势,很多上市公司对区块链展开了探索和研究,并高调宣称进军区块链领域。有的公司在喊出转型区块链之后,业务快速跟进,但更多的公司却没有了下文.
导读 北京时间8月16日深夜,隶属于洲际交易所集团旗下的数字通证期货平台Bakkt在官方博客发表文章称已获得纽约州金融服务厅的批准,将于9月23日正式上线BTC期货合约.
关于印度政府计划全面禁止加密货币的谣言最终证实是真的。官方报告以及负责制定加密使用框架的委员会的法案草案,于7月22日在最高法院审理加密案件的前一天发布.
作为最早的公链之一,以太坊曾被冠以“公链之王”的美誉。ICO狂潮退却后,项目方开始大肆抛售ETH,也使得ETH价格从历史高点暴跌80%.