被黑 6.1 亿美金的 Poly Network 事件分析与疑难问答
文章图片
免责声明:本文旨在传递更多市场信息 , 不构成任何投资建议 。 文章仅代表作者观点 , 不代表火星财经官方立场 。
小编:记得关注哦
来源:慢雾科技
2021年08月10日 , 据慢雾区消息 , 跨链互操作协议PolyNetwork遭受黑客攻击 , 慢雾安全团队第一时间介入分析 , 并将分析结果分享如下 。
攻击背景
PolyNetwork是由Neo、Ontology、Switcheo基金会共同作为创始成员 , 分布科技作为技术提供方共同发起的跨链组织 。
如下图 , 通过官方的介绍我们可以清楚的看出PolyNetwork的架构设计:用户可以在源链上发起跨链交易 , 交易确认后由源链Relayer将区块头信息同步至PolyChain , 之后由PolyChain将区块头信息同步至目标链Relayer , 目标链Relayer将验证信息转至目标链上 , 随后在目标链进行区块头验证 , 并执行用户预期的交易 。
文章图片
以下是本次攻击涉及的具体地址:
文章图片
攻击核心
1、源链未对发起的跨链操作的数据进行检查 。
2、目标链未对解析出的目标调用合约以及调用参数进行检查 。
3、EthCrossChainData合约的owner为EthCrossChainManager 。
4、bytes4(keccak256(abi.encodePacked(_method,''(bytes,bytes,uint64)'')))可以被hash碰撞 。
攻击细节
PolyNetwork会在各个链上部署智能合约以便进行跨链互操作(分析将以在以太坊部署的智能合约为例) , 其中EthCrossChainManager合约用于验证PolyChain同步来的区块头以确认跨链信息的真实 。 EthCrossChainData合约用于存储跨链数据 , 中继链验证人(即Keeper)的公钥也存储在这个合约中 。 LockProxy则用于资产管理 。
本次攻击中 , 攻击者分两步来完成这次攻击 , 我们接下来进行详细分析:
首先攻击者通过在其他链调用crossChain函数构造数据发起跨链交易 。
我们切入此函数进行分析:
EthCrossChainManager.crossChain
(https://github.com/polynetwork/eth-contracts/blob/master/contracts/core/crosschainmanager/logic/EthCrossChainManager.sol#L91)
文章图片
从上图我们可以清晰的看出 , 此函数只是用于帮助用户构造makeTxParam并存储了构造后的哈希以便后续验证 , 其并未对用户传入的跨链操作参数进行任何限制 , 因此攻击者完全可以通过构造任意想构造的数据而让Relayer毫无防备的将其同步至PolyChain , 通过PolyChain将其同步至以太坊Relayer 。
随后在以太坊上的Relayer通过调用EthCrossChainManager合约中
的verifyHeaderAndExecuteTx函数提交区块头信息来验证这笔跨链信息的真实性 。
我们切入此函数进行分析:
EthCrossChainManager.verifyHeaderAndExecuteTx
(https://github.com/polynetwork/eth-contracts/blob/master/contracts/core/crosschainmanager/logic/EthCrossChainManager.sol#L127)
文章图片
通过上图代码我们可以看出其先对区块头进行反序列化 , 以解出所需要验证的具体信息 。 随后调用getCurEpochConPubKeyBytes函数从EthCrossChainData合约中获取Keeper公钥 , 并通过deserializeKeepers函数得到Keeper地址 。
接下来将通过ECCUtils.verifySig验证签名是否为Keeper , 从以下代码中我们可以发现verifySig函数中会切出签名者的vrs , 并通过ecrecover接口获取签名者地址 , 然后调用containMAddresses函数循环比较签名者是否为Keeper , 只要Keeper签名数量符合要求即可通过检查 , 数量要求即为EthCrossChainManager合约传入的n-(n-1)/3) 。
- 产业|打造世界级产业地标 中国声谷冲刺5000亿产值
- 亿美元|美国 AT&T 赢得 3.45GHz 频段 5G 网络竞标,耗资 90 亿美元
- 儿童教育|首个播放量破 100 亿的 YouTube 视频诞生,竟然是儿歌
- 普莉希拉|祖籍徐州的普莉希拉,嫁全球第5富豪扎克伯格,坐拥6530亿被说丑
- 攻克|打破日本垄断!售价7亿元的设备被中企攻克,已开始量产
- CPU|元宇宙+高端制造+人工智能!公司已投高科技超100亿,股价仅3元
- 分成|YY直播:2021年公会和主播分成超50亿
- 为了你的iPhone能磁吸充电,苹果又花了5亿买材料
- 百度|马化腾的一句话,腾讯市值一小时暴涨1400亿港币,马云格局还是小了
- 罗永浩|三年时间还掉六个亿的债,中年男人罗永浩的还债故事