Harmony被攻击事件分析:被盗1亿美元 验证者节点安全如何保障?
一个亿美元的资产, 是如何被黑客盗走的?
2022年6月24日, 成都链安链必应-区块链安全态势感知平台 舆情监测显示,由Layer1公链Harmony开发的 以太坊 与Harmony间的资产跨链桥Horizon遭到攻击, 损失金额约为1亿美元 。目前Harmony官方已通知交易所并暂停了Horizon跨链桥。成都链安安全团队对此事件进行了分析,现与大家分享。
#事件背景
Harmony Bridge是一个跨链桥项目,由五个验证者节点进行操作验证, 本次攻击主要原因是由于两个验证者节点的私钥疑似泄露,导致合约的confirmTransaction函数被成功调用。
#攻击过程
攻击者地址:
0x0d043128146654C7683Fbf30ac98D7B2285DeD00
私钥疑似泄露地址:
0xf845A7ee8477AD1FB4446651E548901a2635A915
0x812d8622C6F3c45959439e7ede3C580dA06f8f25
被攻击合约:
0x715cdda5e9ad30a0ced14940f9997ee611496de6
示例哈希:
0x6e5251068aa99613366fd707f3ed99ce1cb7ffdea05b94568e6af4f460cecd65
被攻击的transactionId:
21106-21118(eth),120515-120518(bsc)
私钥泄露地址0x812d......8f25地址调用了0x715c......6de6合约的 confirmTransaction函数进行操作验证 ,此处我们以被攻击的 transactionId:21107 进行分析。
可以发现在本次交易中,isConfirmed的验证返回为true。
但是我们在合约中进行验证者节点查询会发现,虽然owner有五个,但是仅有两名验证者进行了验证。
攻击者就利用这两个验证者节点成功使用external_call获取了相应的代币,并反复利用此攻击来获利。
后续项目方通过transactionId为21126的交易(BSC上为120531)将验证者节点confirm通过的数量从2改为了4。
#资金追踪
本次攻击事件以太坊上损失了85,867个 ETH ,990个 AAVE 和78,500,000个AAG,BSC上损失了5,000个BNB和640,000个BUSD,共计约100,428,116美元,目前被盗资金还保存在攻击者地址。成都链安将用链必追对被盗资金进行持续追踪。
#事件总结
这次攻击事件中, 攻击者利用了验证者节点验证通过需求数量较少的情况,利用两个验证者节点从而盗取了上亿美金的资产。 建议项目方在设计验证者节点验证数量需求尽量选择较多节点,并且做好验证者节点的节点安全。此外建议项目上线前选择专业的安全审计公司进行全面的安全审计,规避安全风险。