宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 中币下载 > 正文

解读智能合约:Harmony的跨链桥是如何被盗一亿美金的?

作者:

时间:1900/1/1 0:00:00

内容概要

2022年6月24日,由Layer1公链Harmony开发的,以太坊与Harmony间的资产跨链桥Horizon遭到攻击,损失金额约为1亿美元。

这到底是怎么回事?

虽然黑客攻击发生的当天就能断定属于“公证人私钥被盗”,既然贵客点开,不妨来展开聊聊,放心,有少数硬核源码但全篇讲白话,通俗易懂!

跨链桥分类与技术原理

Horizon合约审计报告解读

被盗原因复盘分析与总结

1、跨链桥技术原理

跨链,顾名思义是不同区块链之间资产信息如何转移的问题,也称之为互操作性,而目前有超50种跨链解决方案,其方案定义是多种多样的。

跨链桥方案一览,谁能汇聚多链流动性》

1.1、跨链方案有哪些?

概括来讲,要实现资产价值在另一条链上恒定,有两种大路径按”价格”锚定和按”物理”锚定

乍一听复杂,其实按价格锚定就是在各公链上的USDT这种稳定币,他与美元1:1锚定,因此也属于跨链资产的一种。

抛开各类稳定币更直观一种跨链方案则是物理锚定,即流动性总量是恒定的,其方案也很多,咱们重点讲公证人模式。

公证人模式依据”公证人是谁“有三种区分:

交易所做担保型:比如币安提币,各种买卖均在中心化交易所进行,提币才兑现

动态 | 西秀区干部大讲堂专题解读区块链:12月3日,2019年第六期西秀干部大讲堂在西秀文化中心开讲,邀请中诚区块链研究院副院长、中国金融培训中心专家讲师、国家信息工程研究院专家讲师马强,为全区广大干部职工专题解读了区块链相关内容。

讲座上,主讲人从什么是区块链、区块链核心技术的突破与发展、区块链在各个行业的典型应用、区块链在政务服务和政务监管中的典型应用、探索使用区块链赋能诚信建设、政府部门如何有效参与和监管企业区块链应用等方面,给大家做了详细的讲解,详细介绍区块链的发展历程及所带来的经济效益,并就区块链的现状和未来进行具体的分析展望,还与现场的参会人员进行了互动解答。

通过这次讲座,大家对区块链在建设网络强国、发展数字经济、助力经济社会发展等方面的作用,有了较为全面的认识,也为今后西秀区在提高运用和管理区块链技术能力、加速推进以信息技术带动全区经济高质量发展奠定了一定的基础。(西秀区委宣传部)[2019/12/6]

流动性池桥接型:比如bridge.connext,o3swap

合约锁定铸造型:各类官方桥通用方案polygon/arbitrum/avax/celer,以及今天的主角harmony

锁定铸造型由于产生的是包装代币,因此往往是各公链具有一定公信力的官方桥才采用。

以上均各有优缺,或是怕交易所跑路,或是流动性枯竭,或是公证人私钥被盗,目前并没有完美实现不可能三角的跨链方案出现。

分析 | 币安中签解读:最新中签率显示持仓逐步分散 机构投资者或有一定撤离:据TokenGazer观察BNB最新的中签信息,TokenGazer猜测机构投资者可能已经有一定程度撤离。

本次elrond中签率仅为11.07%,大幅度低于one的30%和matic的58%;

总签数10833,共计锁定978.5万BNB,约占BNB总体供应的10%,远远高于之前锁定2%左右的量,说明BNB的持仓已经有了一定程度的分散。

而币安自6月中宣布在9月隔离美国用户后出现较大幅度的跌幅,时间点上和本次Launchpad抽签时间段重合,可能说明机构投资者对监管有所顾虑已经出现一定程度撤离。[2019/7/2]

如下图是o3swap的流动性总量和交易量趋势,近半年已然跌去90%,或许是因为去年8月的质押资产被盗案导致不断式微吧。

1.2、Horizon桥的跨链原理

Harmony开发的Horizon桥是非常标准的公证人锁定铸造型。

为何锁定铸造可以被信任呢?

是由于区块链上的合约具有不可更改特性,如果不留后门的话,甚至一旦部署将无任何方式可以影响他的运作,正如无聊猿官方自己将所有权限转入0地址,放弃所有权后,无任何方式可以进一步铸造出新的猴子,其流动性总量将被锁死。

同理的,不同公链之间虽然合约不同,但如果在以太坊上用合约锁住10个ETH,在另一条公链上也以同样有公信力的合约,来释放10个wETH,这样一来其实全局上流动性是固定的,只要wETH可以随时转回以太坊并兑换得到ETH,那wETH就可以被认为是具有了ETH的等同价值。

真融宝吴雅楠解读区块链:风险与机遇共存:21日讯,真融宝董事长吴雅楠谈到区块链的重要性和关键地位,他表示,区块链是互联网金融的底层技术架构,互联网金融的成熟在一定程度上依赖区块链技术的成熟。同时,吴雅楠指出,人行在三年多以前,就组织关于数字货币的研讨会,随后成立了央行数字货币研究所。从投资角度而言,他表示,个人投资者要特别关注虚拟货币作为资产的巨大波动性,主要是技术应用没有专注于数字货币在零售支付方面的应用,而跑到虚拟资产交易方面需要更加慎重;对于机构投资来说,应该着眼于以产业为背景,能够用区块链改变传统产业痛点的、并且能建立生态的共链。[2018/3/21]

因此其核心的操作就是

Lock-and-Mint:A链锁定代币流动性B链发行等量的可流通包装代币

Burn-and-Release:B链销毁包装代币A链解锁等量基础代币的流动性

公证人:负责发现A链Lock锁定事件后,去B链Mint铸造出锚定代币,转入目标地址。

有锁定自然衡量各个跨链桥规模的最佳方式就是TVL,可以显著看到6.24之后,Horizon的TVL瞬间跌入谷底,当安全事故来临再多的TVL也就如流水一般,蜂拥而至也一哄而散。

2、Horizon桥的合约审计报告解读

一次事故对很多Web3项目而言,做不到100%安全就基本等于0的价值,因此为了检查合约的安全性,一般会测试模拟多种攻击场景,通过checklist进行安全审查,以确保合约安全

赵长鹏解读钓鱼网站运作方式:币安创始人赵长鹏再发推文,剖析了钓鱼网站运作方式,他首先配图指出钓鱼网站的域名中两个字母下方比正确地址多了两个点。他还表示,用户在钓鱼网站登录后跳转到真的币安。此外一旦登录后,用户就不能再进入钓鱼网站,而是自动跳转到币安(即使登出账号后)。[2018/3/8]

开发或许几天而已,但要足够可靠则流程多且昂贵

审计报告的核心信息是:风险名称、漏洞描述、风险等级、安全建议、修复状态及审计结果等

而Horizon桥的合约审计报告是老牌审计公司PeckShield进行的,发现了5个漏洞风险

2.1、中低风险点1-兼容不足

是不是很难想象区区3行代码都能有bug?

其实锁定token的逻辑很简单,就是用户制定金额和目标地址,在授权代扣权限后,合约将USDT转入此合约锁定,并发出一个locked事件,让链下的公证人可以得知资产已经被锁定了。

但PeckShield审计发现LockToken锁定函数对通缩型token是不兼容的,用户传入的amount如果是100,自然Locked事件发出的是成功锁定100个

但是如果是”通缩型“的token呢?进行safeTransferFrom?的过程中amount变少了怎么办?这就会出现锁仓额低于B链释放额的风险

可看前文:你买的NFT到底是什么?

金色财经独家解读:韩国区块链协会自律控制案不具备法律效力,但协会可与商业银行合作关闭不参加宣言的交易所的法币兑换通道:今天韩国区块链协会发布数字货币交易所自律控制案,金色财经第一时间对此方案进行了解析。其中对交易所最重要的一点便是,韩国区块链协会自律控制案不具备法律效力,但介于协会与政府及商业银行的友好关系,协会可以通过与商业银行的协议关闭法币-代币转换通道。而这便直接导致了大部分韩国大型交易所一致支持宣言,其中包括bithumb,korbit,coinone等。但upbit或因其主要业务为新币种交易,拒绝接受宣言。在场的小型交易所也因为此方案对广告限制的范围过于广义,而没有同意宣言。

一家小型交易所对金色财经表态,他们认为这样的宣言内容会对中小型交易所造成不利的竞争环境,希望协会能够重新斟酌此方案。[2017/12/15]

标准协议中都会以虚函数为钩子的方法,在转移前后增加逻辑,有些token则可能在这里_beforeTokenTransfer增加交易损耗,从而控制流通量实现通缩。

当然harmony最后肯定是修改优化了,采用转移前后两次读取balance的方法来算出实际锁定额。

2.2、中低风险点2-异常锁定

还是这段代码,是不是很难想象区区3行代码不仅有BUG,而且有2个!

可看前文:你买的NFT到底是什么?

为了安全的Mint,其实标准协议是禁止向0地址mint的,如果lockToken?的时候目的转入地址recipient?填写为0地址,则会B链上铸造失败,造成锁入此合约但无跨链效果,如果此金库合约没有预留合适的转出方法则会永久锁定。

2.3、高风险点

铸造解锁等函数的调用者为单签账户

在原先程序里,Mint铸造资产unlock解锁释放,都是只能指定公证人进行。

这也正是本次中招的原因,harmony是最终将公证人改了多签钱包,但只不过只改成3个,其中2个私钥被盗就可以横行无忌。

怎么说呢,你说他改了吧总觉得有些敷衍,甚至黑客盗出资产的时候,harmony桥依旧在运作中,意味着他的私钥甚至是明文保存被黑客拷贝走的

3、黑客盗取过程

通过合约审计报告的解读可以发现,原来跨链公证人的权限如此之大,只有他可以进行铸造和释放,而黑客事件发生的时候,看他交易操作就能分辨出来被盗原因

区块链浏览器使用指南见:当我们在看Etherscan的时候,到底在看什么?

3.1、关键信息

攻击者钱包

wallet1:0x0d043128146654C7683Fbf30ac98D7B2285DeD00

wallet2:0x9E91ae672E7f7330Fc6B9bAb9C259BD94Cd08715

wallet3:0x58f4baccb411acef70a5f6dd174af7854fc48fa9

跨链桥相关地址

MultiSigWallet:0x715cdda5e9ad30a0ced14940f9997ee611496de6

ETH的金库地址:0xF9Fb1c508Ff49F78b60d3A96dea99Fa5d7F3A8A6

ERC20金库地址:0x2dccdb493827e15a5dc8f8b72147e6c4a5620857

被盗公证人地址:0x812d8622c6f3c45959439e7ede3c580da06f8f25

3.2、盗取过程分析

盗取13100个Ether,详情见交易Link

执行的是确认某个交易ID

公证人确认->等待确认的公证人数量达标->解锁金库资产转入目标地址

在多签合约合约代码里逻辑可以看出,这个函数会进行notConfirmed?判断,因此只有系统之前设置过的公证人地址可以调用

后续会执行executeTransaction?方法,再调用?isConfirmed?方法做判断,如果认证这笔交易的管理员数量达到2位,就会内部调用EthManager?合约的?unlockEth?方法,最终将ETH发送至攻击者钱包。

至此很明显,除了私钥被盗,如此简单明了的合约不会有什么特别的犯错可能性了。

顺道看了下现在跨链桥的ETH金库的余额还有94个Eth,ERC20的金库还有30W刀的各类代币

4、思考总结

4.1、盗者会如何?

虽然马上harmony开出了100W美金,提出黑客归还资产并承诺不追究责任,但即使黑客归还且官方不追究也会有其他社会团队做公诉,因此黑客的最佳路线只有想尽一切办法为被盗资产脱敏。

截至6月29日,攻击者已将大约35,000个以太坊转移到?TornadoCash,这是一种常见的混币器,虽然区块链是账本公开,任何交易均可被追踪,但是混币器犹如为100个人集合交易,并不能准确得出哪笔资金最终落到哪个人手里。

4.2、如何更安全?

harmony对多签的实现是每笔投票均上链,或许是出于成本的考虑所以他的公证人只有3位,当初的降本优化造成了满盘皆输

要优化可采用分布式托管的方法,托管给MPC(Multi-PartyComputation)公证人网络,不超过一定比例的节点同时作恶即可保证安全

即使公证人稀少也可以参考雪崩桥采用的SGX可信计算技术

AvalancheBridge:用英特尔SGX保护跨链资产

本质上还是对安全重要性的淡漠,在跨链桥的开源代码中写的执行计划,2年前就实现了可用的链桥,却迟迟不进一步优化。

引用:

iosg-跨链桥方案一览,谁能汇聚多链流动性

Horizon桥官方GIT:https://github.com/harmony-one/ethhmy-bridge

Horizon链桥TVL图:https://dune.com/queries/118245

盗取交易Link:

https://etherscan.io/tx/0x27981c7289c372e601c9475e5b5466310be18ed10b59d1ac840145f6e7804c97

《PeckShield对Horizon桥的审计报告》

https://docs.harmony.one/home/general/bridges/horizon-bridge/audit

《AvalancheBridge:用英特尔SGX保护跨链资产》

https://medium.com/avalancheavax/avalanche-bridge-secure-cross-chain-asset-transfers-using-intel-sgx-b04f5a4c7ad1

标签:区块链ETHHarmonyORI区块链游戏币最高涨多少Monethaharmony币知乎Victoria VR

中币下载热门资讯
交易所的WEB3.0生态何去何从

WEB3的理念早已有之,从最开始只读的互联网,到后面我们可以读写的进步,已经是质的飞跃。但是互联网的最终形态远不止如此,WEB3就很好的诠释了未来互联网的形态。不仅可读,可写,还可拥有。这就是WEB3的基本理念.

1900/1/1 0:00:00
Symbiosis Finance计划推出veSIS以提高SIS实用性

据官方消息,多链流动性协议SymbiosisFinance表示,其治理代币SIS部署在以太坊上,用于质押以在中继器网络中运行一个节点,以及治理SymbiosisDAO.

1900/1/1 0:00:00
Xumm钱包提醒用户当心者通过假冒Ripple官网盗取XRP

7月9日消息,基于XRPLedger的非托管钱包Xumm提醒XRP持有者称,有不法分子试图以一种新手段盗取他们的XRP。根据该加密货币钱包提供商的一份声明,子假装是Ripple官方向潜在的受害者发送电子邮件.

1900/1/1 0:00:00
从经济派博弈的角度来看这场美联储加息

今天有小伙伴问我关于BTC持仓价格分布这张表格的整理依据,这里解释一下,该表格采用的URPD的统计,只是我把它数据化了而已,这里统计的就是每一个价格下变动的BTC的数量,取值是根据BTC最后一次移动时的价格来计算的.

1900/1/1 0:00:00
BKEX 关于ETP专区新增RLC3L、RLC3S(iExec RLC)的公告

尊敬的用户: BKEXETP专区将于2022年7月13日15:00上线RLC3L、RLC3S,具体详情如下:? 交易标的 交易对 BKEX Global正式上线全新升级版本BKEX挖矿宝:据BKEX Global公告.

1900/1/1 0:00:00
Cloud Exchange上线KIC的公告

尊敬的CloudExchange用户:CloudExchange即将上线KIC/USDT交易对,详情如下:币种名称:KIC(KIC)币种全称:麒麟币流通量:1,000.

1900/1/1 0:00:00