慢雾科技:EOS、以太坊网络攻防情报及智能合约安全分享

谈到区块链安全,星球日报认为行业处于“薛定谔的”中间态。攻击事件层出不穷、安防等级难以量化、风控权责不易划分……区块链生态参与者似乎一直在“成功被黑”和“还没出事”间徘徊。行业中既出现过颇具影响的风险事件:2016年6月,以太坊最大众筹项目The
DAO被攻击,黑客获得超过360万个ETH(当时价值约 6000
万美元),后直接导致以太坊硬分叉。2017年7月,以太坊多重签名钱包Parity出现漏洞,攻击者从多重签名合约中窃取超过
15 万个 ETH(当时价值约 3000
万美元)。2018年1月,日本大型数字货币交易所Coincheck遭黑客攻击,平台上价值超过5.2亿美元的
NEM(新经币)被非法转移。近半年,“防守一方”也积累了不少“成功案例”:2018
年3月
,慢雾安全团队披露了一起由于以太坊生态缺陷导致的亿级数字资产盗窃事件:攻击者利用以太坊节点
Geth/ParityRPCAPI 鉴权缺陷,恶意调用
eth_sendTransaction,盗取数字资产,持续时达两年。2018
年5月,360发现了EOS区块链系统在解析智能合约 WASM
文件时的一个越界缓冲区溢出漏洞,验证了该漏洞的完整攻击链并进行披露,防止黑客最终控制整个
EOS 网络。2018年上半年,派盾PeckShield陆续曝出美链 BEC、SMT、EDU
等能合约的重大安全漏洞,并持续发布有关公链与交易所的各类攻击预警。

图片 1

图片 2

导读

导语:在整理近两个月发生的安全事件时,笔者不禁想起互联网的早期,也曾走过安全事件频发的阶段。即使到现在,互联网行业的安全事故也没有完全杜绝。其实,任何新生的事物,都会存在安全隐患。区块链在经历18年的疯狂之后,慢慢回归理性,各种落地应用产品正在慢慢面世。对于新兴的行业来说,经历的安全事件是必不可少的。

区块链生态中恶意攻击事件频发?冲击过后我们还应当如何搭建安全堡垒?安全是区块链行业发展背后的坚实力量,技术则是在攻防战争中矛与盾的力量转化。这里有一份以技术为导向的不完全安全指南,看一线网络安全攻防实战的团队如何做到负责任的披露,希望能够引领更多公链安全修习者共筑更为强大与健壮的数字未来。我们也许难以辩明黑暗丛林中的猎人,有人选择打开了潘多拉的魔盒,还应有人点燃寓意希望的圣火。

所以猎豹区块链安全将会坚持盘点每月的安全事件,在整理的同时,也和大家,以及整个区块链行业共同经历着成长。

DoraSpeaker

2019年1月16日——ETH君士坦丁堡升级推迟

DoraSpeaker是DoraHacks旗下的内容分享栏目,会围绕hackathon主题,引进属于时代的各种技术领域最资深的行业专家和学者为DoraHacker们带来分享。

图片 3

图片 4

事件背景

分享主题:EOS和以太坊等公链安全研究分享时间:2018.6.16 20:00
-21:00分享人:慢雾科技安全研究员keywolf,“以太坊黑色情人节”事件披露者之一。

根据计划,以太坊社区原定会在7,080,000
区块高度时进行君士坦丁堡分叉,这个时间大概是在中国的2019 年 1 月 16 日。
但是在升级前夜,ChainSecurity
发布了君士坦丁堡升级相关的潜在问题。出于谨慎考虑,以太坊基金会决定推迟此次分叉。

开场语录:

漏洞类型:可重入漏洞

在分享开始之前,先来给大家介绍我们慢雾科技:“慢雾”,来源于三体,代表黑暗森林中的安全区域。慢雾科技专注于区块链生态安全,核心能力包括安全审计、安全顾问、防御部署、以及地下黑客风向标追踪。我们目前已经为全球多家交易所、钱包、智能合约做了安全审计和防御部署,同时相信大家也有从各个媒体上关注到,我们与区块链行业内众多团队达成了战略合作。

事件经过及安全分析

图片 5image

为了更好的在未来过度到POS模式,以太坊基金决定推出过渡的升级方案——君士坦丁堡升级。因为在以太坊社区内部没有太多争议,所以不会导致硬分叉,而是以软分叉方式平稳过渡到下一阶段。

这次给大家带来的分享内容是我们慢雾科技目前所做的一些公链安全研究。主要内容有三个方面:首先是以太坊RPC安全;第二个是以太坊智能合约安全,目前在这方面已经频繁爆出了许多问题;最后则是我们慢雾最近做的EOS安全研究。

君士坦丁堡升级包括减少矿工回报等一系列的改进方案,其中的EIP
1283将代替原来的1087,调整 SSTORE 操作码的净 Gas 计量。

由于时间有限,没有办法展开详细说明,接下来会给大家介绍相关的推荐内容及文档链接,以供参阅、研究。下面我们开始进入正题吧。

虽然这看上去是对开发者很友好的方案,但是ChainSecurity
却发现了其中的隐患:攻击者可以使用updateSplit设置当前split,以第一个地址接收所有的资金;并且调用splitFunds函数,(该函数将执行检查*,并使用transfer将这对地址的全部存款发到合约);从回调函数,攻击者可以再次更新split,这次将所有资金分配到攻击者的第二个账户;splitFunds的执行继续,全部存款也转到第二个攻击者账户。

图片 6image

u
由于Gas费的下降。在升级之前,每个storage操作都需要至少5000gas。远远超过了使用transfer或send来调用合约时发送的2300gas费。

我们从RPC的安全攻防开始说起。通常,在区块链上都会有RPC。关于以太坊的RPC,我们之前在披露“以太坊黑色情人节”的时候进行过深入的研究分析,发现其中有不少问题。

而在升级之后,攻击者合约可以使用2300gas费成功操纵漏洞合约的变量。

1.1 以太坊黑色情人节事件回顾与原理剖析

简单来说,攻击者可以在以太坊升级后执行The DAO级别的重入攻击。

3月20号,我们发布了《以太坊生态缺陷导致的一起亿级代币盗窃大案》这篇文章。在披露过程中我们发现,攻击目前仍在持续,并且这样的一个盗币行为造成的损失已高达2000多万美金。

基于安全考虑,以太坊在深度讨论后,于太平洋时间上午12点宣布推迟君士坦丁堡升级计划

在这边给大家简单介绍一下攻击过程:攻击者会在全球扫描8545以太坊RPC端口,以及8546
WebSocket RPC
端口,频繁查询账户列表及账户余额,同时获取区块高度;第二步是在得到服务器的IP及端口列表之后,不断重复调用sendTransaction的方法将余额转出到攻击者自己的钱包,一个关键点在于,如果正好碰上节点的用户在机器上对自己的钱包执行unlockAccount时,在默认的300秒时间内,攻击者从RPC调用的时候就不再需要密码,就能够对这个交易转出进行签名,这样就可以把这个节点里面的ETH或者Token转到攻击者钱包。

安全小豹的看法

我们在披露了
“以太坊黑色情人节”之后,还建立了专题网站,对这样的攻击行为进行持续跟踪和监控。在我们的专题网站中,能够看到被盗取的币和Token数量都在不断增加。

现实与理性总是会有一定距离,简单的几行代码就拖住了以太坊的升级步伐,在全面转向POS之前,又会经历哪些困境?分片,雷电网络这些优秀的技术何时才能面世?在成为“世界计算机”之前,以太坊还有很长的路要走。

以太坊生态缺陷导致的一起亿级代币盗窃大案:

2019年1月6日——ETC被51%攻击

Billions of Tokens
Theft Case cause by ETH Ecological Defects:

图片 7

事件背景

以太坊黑色情人节专题跟踪:

作为The
Dao事件的硬分叉产物,是全球市值第二大的分叉链。分叉之后ETC一直使用POW算法,但全网算力一直处于比较低的水平,这导致了ETC主网在1月6日遭受了51%的双花攻击。

损失规模:约 110 万美元

1.2 以太坊 RPC 攻击手法一览

攻击类型:51%攻击

在披露了“以太坊黑色情人节”之后,我们持续地对RPC进行研究,除了这个发送交易的攻击,还有其他的一些攻击方法,主要就是针对RPC相关的模块,例如:如果RPC里面启用了personal模块,那么就可以通过RPC调用personal_unlockAccount的方法去猜测钱包的账户密码,假如说账户密码是弱口令的话,就可以一次性实现解锁和转账;再一个是比较重要的miner
模块,这是与挖矿相关的。miner模块里有一个方法是通过miner_setEtherbase可以修改挖矿收益的钱包地址。假如说,RPC里面启用了这样的方法,并且节点里面正在进行打包的话,攻击者就可以通过修改挖矿地址来实现劫持矿机。

事件经过及安全分析

以太坊 RPC 功能列表:

2019年1月6日,安全团队警告ETC团队,ETC存在
被51%攻击的可能性。第二天,Coinbase 官方确定ETC总共发生 15 次攻击,其中
12 次包含双花,损失共计 219,500 ETC(约 110
万美元。coinbase也暂时关闭了ETC的交易。

通过分析发现,此次事件的受害者主要是Biture和Gate.io两家交易所

同时我们还发现以太坊生态里的Geth、Parity等的日志没有很好地记录到通过RPC请求的方法及来源IP。在进行溯源的时候,由于这样的日志机制不够完善,我们难以去获取到这些攻击者的信息。

紧接着,安全公司通过与Gate.io,Bitrue和Binance交易所的配合,尝试定位攻击者。

1.3 以太坊 RPC 安全加固方法

1月14日,Gate.io方面表示,目前已经有价值10万美元的ETC被归还。

讲完了上面的几个攻击方法,再重点说一下防御以及加固的方法:

安全小豹的看法

针对攻击面来说,一个是修改端口。尽量不要用默认的RPC
API端口,避免别人进行全网扫描的时候发现这样的端口。

本质上来说,51%攻击是没有任何办法进行提前的监测的,要想完全杜绝51%攻击,只能想办法提升全网算力,或者干脆修改共识算法。站在安全公司的角度看,可以通过计算购买算力需要的成本与攻击可能获得的代币,再参考当前币价,来综合判断某个时间点某条公链被51%的可能性。虽然无法完全杜绝,但是一旦发生51%攻击,我们可以提高每一笔交易的确认区块数量以及暂停这个币种的充提币,来把损失降到最小。

更重要的就是尽可能地不要把这个端口暴露在公网上,可以通过修改监听地址为内网的方法,让RPC在内网进行调用。

2019年2月——EOS DAPP被大量攻击

第三,假如说你需要对外提供查询的话,也可以配置iptable来源IP白名单作为限制。

图片 8

Geth 命令行参数列表:

事件背景

19年1月,EOS公链上的一系列竞猜类游戏遭到了新型交易阻塞攻击事件。中招应用包括EOS.Win、FarmEOS、影骰、LuckBet、GameBet、EOSDice、STACK
DICE等热门DAPP。

再有就是,不要将账户信息存放在节点上
(因为如果账户不在节点上,就不会用到unlockAccount
)。如此一来,攻击者在通过RPC查询的时候也不会看到账户信息。

损失规模:约20起,500万美元

在全节点的使用方面,尽可能把签名的过程拿到钱包里,或者选择不在全节点上进行操作,可以使用web3的
sendTransaction 和 sendRawTransaction 发送私钥签名过的 transaction。

漏洞类型:阻塞攻击等

图片 9image

事件经过及安全分析

接下来我们会讲以太坊智能合约安全。最近这段时间频繁地有团队爆出智能合约安全问题,例如早期从BEC、SMT爆出的问题,还有最近EDU、BAI的问题。

不同于以往频发的随机数或交易回滚攻击等合约层的攻击行为,这是一种利用底层公链缺陷而发起的攻击行为。深入分析后发现,这是存在于主网层的致命拒绝服务漏洞,攻击者可发起大量垃圾延迟交易导致
EOS
全网超级节点无法打包其它正常交易,即通过阻断打包正常用户的交易进而瘫痪
EOS 网络。

2.1 智能合约准则(code is law)

由于该漏洞本质上属于底层主网问题,任何DApp游戏,只要依赖如账号余额或时间等相关链上因素产生随机数,都存在被攻击的可能。

两起著名的利用智能合约漏洞的事件

这也是为什么在一月份出现大量EOS的DApp被攻击的原因。

The DAO 攻击、黑客攻击Parity事件

安全小豹的看法

智能合约的准则就是代码即法律。相信The
DAO事件和Parity事件大家都有所耳闻。在智能合约的准则下面,默认的是合约在发布之后代码无法进行修改,但可以通过一些分层的设计来进行局部更新。

EOS漏洞事件频出,很多都是由于开发人员不严谨导致的,据笔者了解,很多DApp背后只有1-2个程序员,连完整的测试人员都不存在。在这种情况下,漏洞出现的可能性就非常大,更可能被攻击。

2.2 智能合约漏洞一览

为目前EOS的开发人员并不多,成熟的开发者就更少了。但是对于EOS这样的公链来说,这是一个必须经历的阶段,相比于去年,EOS上的Dapp和用户都呈现激增的态势,加上安全公司的努力,未来前景还是非常光明的。

2019年1月14日——Cryptopia交易所被盗

接着讲的是智能合约的漏洞。上面的DASP网站里有去中心化应用安全问题的TOP10,其实大家在近期了解到的智能合约问题上,比较多的是溢出和逻辑设计方面的缺陷。

图片 10

DASP的可重入漏洞( Reentrancy Vulnerabilities )也是The
DAO攻击的根源,还有的就是权限控制缺失以及拒绝服务、短地址攻击。

事件背景

DASP在我们慢雾区也有中文版文档,大家可以去搜索一下。由于时间关系,在这次分享中不能与大家展开说明。

Cryptopia是位于新西兰的一个小型交易所,被圈内称为C网,日均交易量大概在300万美元左右,交易的币种超过500种。

2.3 如何写安全的智能合约

损失规模:约1600万美元

漏洞类型:私钥泄露

以太坊智能合约 —— 最佳安全开发指南

图片 11

事件经过及安全分析

如何写出安全的智能合约呢?一个推荐是参考OpenZeppelin的框架,同时ConsenSys也总结了以往的智能合约漏洞,并给出开发方面的安全建议。

当地时间2019年1月15日,Cryptopia交易所官方发布通知,交易所遭黑客攻击,Cryptopia交易所将关闭交易所服务,全力配合警方调查并尝试追回被盗资金。

图片 12image

从公开资料来看,被盗的数字货币主要是ETH以及以太坊区块链上的各种ERC-20代币,总计价值约1600万美元。

下面我们简单聊聊EOS方面的安全,最近EOS主网上线也是一个大家关注的热门话题。

根据Elementus的分析,C网对此次安全漏洞的反应非常迟缓。
黑客在1月13日到17日的5天时间,陆续将76000个ETH从钱包中转移。而交易所方面没有任何反应,并对用户声明:黑客拥有私钥,可以随意从任何Cryptopia钱包中提取资金。

我们在主网上线过程中有对几十个超级节点进行安全检测,同时也输出了多份文档。

种种迹象看来,很可能的原因是C网简单的把私钥存储在某个服务器上,而黑客通过黑掉该服务器,导致C网无法从服务器获取私钥。

3.1 EOS P2P 拒绝服务漏洞

安全小豹的看法

在研究过程中我们发现了P2P拒绝服务的漏洞,发现并验证这个问题之后,我们也进行了负责任的披露,将问题提交给EOS官方,同时也申请了CVE。

可以看到,C网在管理私钥方面的混乱和随意,导致了悲剧的发生。这次事件再次提醒了广大交易所与用户,对私钥管理要存在敬畏之心,确保100%安全的保护私钥是区块链世界最基本的法则。

CVE-2018-11548 EOSIO P2P 拒绝服务漏洞:

另外,众所周知,C网在业内以币种多著称,原因之一是,在C网上架山寨币非常简单粗暴,只需给钱和投票两个步骤,这就导致C网上大部分币种交易量很低,主要成为搬砖党的乐园。笔者认为这种上币模式是非常糟糕的,在此建议大大小小的交易所,在上币前,一定要有对项目进行安全审计的流程,这是最基本的,对用户负责的体现。

交易所其他安全事件:

在EOS官方修复这个漏洞后,我们才在社区披露漏洞的细节和安全问题。这是我们所做的负责任的披露工作。

春节期间,加拿大最大的加密货币交易平台QuadrigaCX被爆出创始人Cotten
意外死亡,

拒绝服务漏洞的根源是由于默认的P2P链接数上限是25,同时没有对来源IP进行唯一校验。这样攻击者就可以使用同一个IP来发起成千上万的连接去占满超级节点的连接数。

2月13日,Coinbase交易所发放了价值3万美元的漏洞悬赏,从金额上可以看出,该漏洞是系统性的关键漏洞。这种悬赏对行业来说非常有价值,建议每个交易所和公链都应该做类似的激励以促进安全领域的进步。

3.2 EOS超级节点安全

2019年1月——Ryuk勒索病毒猖獗事件背景

我们针对EOS共识算法以及节点的配置出具了一份《EOS
超级节点安全执行指南》,在RPC安全、配置安全、网络安全、DDoS
防御和主机安全以及威胁情报方面进行了深入的研究思考,并且整理了这样一份安全执行指南输出到社区里:

美国网络安全公司跟踪了臭名昭著的,名为Ryuk的勒索病毒,该病毒在互联网上传播,通过锁定计算机文件,向受害者索取比特币,并且建立激励机制鼓励参与者传播病毒。

EOS 超级节点安全执行指南:

图片 13

损失规模:约370万美元

同时我们也提供了一份安全审计方案以供节点来进行自我审计,校验自己节点的安全性:

漏洞类型:勒索病毒

EOS 超级节点安全审计方案:

事件经过及安全分析

在过去的5个月内,GRIM SPIDER的黑客组织通过勒索病毒收到超过705个,相当于
370万美元的BTC。

3.3 EOS 智能合约安全

勒索病毒的特点是,一旦电脑中了该病毒,所有的硬盘文件会被加密锁定,直到受害者联系黑客并支付比特币。

在EOS主网启动之后,会有越来越多的DApp开始在上面运行,那么EOS智能合约安全也会是我们关注的重点。

在新年期间,美国的一些主流媒体中招,导致服务暂停,受害者包括“洛杉矶时报”、“圣迪戈联合论坛报”、“华尔街日报”和“纽约时报

EOS合约在溢出及权限设计方面和以太坊是类似的。在规避溢出方面,C++也提供了一些基础的函数库来规避溢出。

此次攻击与去年发生的勒索攻击不同,黑客攻击对象主要瞄准了企业计算机,并且会根据目标组织的价值和规模计算赎金的金额

EOS智能合约我们也在不断地进行研究和实践,以后还有更多分享带给大家,敬请期待。

根据CrowdStrike的报告,此次勒索攻击最低赎金是1.7 BTC,最高的是99
BTC,目前已经有37个BTC地址收到了52笔交易,GRIM
SPIDER黑客集团已经非法获利705.80 BTC,价值约为370万美元。

总结

就目前来看,行业的安全事件还一直居高不下,这其中的原因很多,比如区块链行业的技术标准和规范不统一,每家都有自己的基础架构;开发者和用户的安全意识还不够,无论企业团队还是开发团队,都需要加强这方面的培养;最后,行业中安全机构与专业安全人才还太少,面对层出不穷的黑客攻击,亟需更多安全人才的加入。

其实,基于区块链的技术特点,任何开发者都需要有很强的安全意识,第一条代码开始,就要有意识到基础可能会遇到的安全问题,让项目减少为认知所付出的成本。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

CopyRight © 2015-2020 普京集团娱乐网 All Rights Reserved.
网站地图xml地图