Cobo安全团队
日期:2023年06月16日 04:53 浏览量:7
本文由 Cobo 区块链安全团队提供。团队成员来自知名区块链安全厂商,具有丰厚的智能合约审计阅历。他们在多个 DeFi 项目中发觉了高风险破绽。团队目前专注于智能合约平安、DeFi安全等方向,研讨和分享前沿的区块链安全技术。
我们也希冀在加密数字货币范围具有研讨肉体和迷信方法论的终身迭代进修者可以参与我们,向行业输入思想见地和研讨观念!
这是Cobo的第16篇文章
前言
随着 ETH 升级为 PoS 共识系统,原 PoW 机制的 ETH 链在局部社区(以下简称 ETHW)的支持下胜利硬分叉。但是,由于一些链上协议在想象之初没有为可以的硬分叉做好准备,相应的协议在ETHW分叉链中具有肯定的安全风险,其中最严酷的安全风险是重放攻击。
硬分叉完成后,ETHW 主网上至少有 2 次运用重放机制的攻击,区分是重放攻击和重放攻击。本文将以这两个事情为例,剖析重放攻击对分叉链的影响,以及协议应当如何防止此类攻击。
重播类型
首先,在末尾剖析之前,我们需求对重放攻击的类型有一个初步的了解。一般来说,我们将重放攻击分为两类,即买卖重放和签名音讯重放。接下去我们来说说这两种播放机制的区别。
买卖重播
买卖重放是指将原链中的买卖一成不变地迁移到手段链的操作。它属于事务级别的重放。重放后能够一般实施交易eth分叉时间,完成交易考证。最知名的案例是平台上的攻击事情,直接招致了逾越2000万个OP代币的丧失。但在EIP 155实施后,由于交易自身的签名有(用于区分链自身与其他分叉链的标识符),假定重放的手段链不同,则交易自身无法重放。的。
签名音讯重播
签名音讯重放不同于交易重放。它用于重放运用私钥签名的音讯(例如 Cobo 是最好的)。在签名消息重放中,攻击者不需求重放整个交易,而只需重放签名消息。在消息签名中,最好以 Cobo 为例,由于消息不包括任何与链相关的特地参数,因此消息在签名后实践上能够在任何分叉链中有效。可以检查。为了防止分叉上的消息重播,可以在消息方式中加上,比如Cobo最好+()。照应特定链标识后,不同分叉链上的消息方式不同,消息签名也不同,无法直接重放和重用。
和攻击原理
让我们来剖析和攻击原理。首先得出结论,这两种攻击本身并不是事务重放攻击。缘由是 ETHW 使用的和 ETH 主网不同,所以无法考证直接重放交易。那么剩下的独一选择就是消息重放了,那么我们来逐一剖析一下它们各自在ETHW分叉链上是如何被消息重放攻击的。
它是xDAI与ETH主网之间中止资产转移的桥梁。它主要依托桥提交的指定跨链消息来完成跨链资产的转移。中,提交的考证消息的逻辑是这样的
在这个函数中,首先会依据#L2行的签名校验区分提交的签名能否被指定的签名,然后在#L11行对数据报文中止解码。从解码方式不难发觉,前往的字段中包括字段,那么是不是表示签名的消息无法播放呢?我们继续分析。
经过跟踪函数,发往常#L11行检查了函数的合法性
经过继续分析前面的函数逻辑,不难觉察,实际的校验并没有使用evm原生的来获取链本身,而是直接使用了变量中存储的值,那么这个值清楚是由管理员 所以可以以为消息本身没有链身份eth分叉时间,所以实践上可以重放签名的消息。
由于在硬分叉时期,分叉前的一切外形在两条链上都会坚持不变,后续的 xDAI 团队没有额外的操作。分叉后,Omni 合约在 ETHW 和 ETH 主网上的外形不会改动,也就是说合约不会改动。基于这种状况,我们可以推断,主网上的签名也可以在 ETHW 上停止考证。然后,由于签名消息本身不包括它,攻击者可以使用签名重放在 ETHW 上提取同一合约的资产。
与 Omni 一样,它是往复于 ETH 主网的资产转移的桥梁。与 Omni 不同,它依赖区块证明来提款。逻辑如下:
经过函数逻辑不难觉察,合约经过两个检查来肯定消息的合法性,一个是反省总和,以确保交易实际发生在子链(Chain)中。第一次反省其实是可以绕过的,由于任何人都可以经过交易数据来结构自己的,但是第二次检查是不能绕过的,由于经过检查逻辑可以发觉:
从合同中提取相应的一项。依照这个逻辑,我们看一下设置
不难发觉,在#L2这行代码中,只检查了签名数据,而没有检查链本身。由于消息是由合约签名的,实际上攻击者也可以分叉链。重放消息的签名是合法的,通过调用ETHW链中的exit函数并提交相应的交易证明,可以胜利撤回并通事前续的校验。
以地址b9为例,该地址通过以下方法成功完成了ETHW链上的套利
首先,依托钞票才干在主网交易所提币。通过链上传递的功用存钱;通过ETH主网调用的exit函数放款;复制并提取提交的ETH主网;在 ETHW 中重放上一步提取的签名消息;在 ETHW 中调用 exit 提取货币
为什么会这样?
从下面分析的两个例子不难发现,这两个协议在ETHW上遭受重放攻击是由于协议本身没有做好防重放维护,招致协议对应的资产被掏空分叉的链。但是,由于这两个桥不支持ETHW分叉链,用户并没有遭受任何丧失。但我们需求思索的是,为什么这两座桥没有想象好重放维护措施?其实缘由很冗杂,由于他们设想的使用场景很冗杂,只是用来将资产转移到自己指定的对应链上,没有多链布置的计划,所以没有维护。该协议本身没有安全隐患。
相比之下,ETHW 上的用户,由于这些桥接器本身不支持多链场景,假定用户在 ETHW 分叉链上操作,就会在 ETH 主网上遭到消息重放攻击。
比如在以后的矿池合约中,有一个函数,这个函数中有变量,其中包括变量。
这个变量首先定义在 . 这个变量包括,在设想之初就包括了能够的多链场景的重放防止,但是依据矿池合约的逻辑,如下:
曾经在结构函数中定义了,也就是说,硬分叉后,即使链本身发生了变化,矿池合约也无法获取新的更新。假设用户未来授权了 ETHW,那么 ETHW上的签名可以在 ETH 主网上重放。另外,相似的协议还有很多,比方特定版本下的yearn vault合约,也是采用活动的状况。用户在 ETHW 上停止交互时,还需求防范此类协议的重放风险。
协议设想之初的留意事项
关于开拓者来说,在为协议本身定制消息签名机制时,应当思索到后续能够出现的多链场景。假设路途图中具有多链布置的能够性,则应将其作为变量增加到签名消息中。同时,在考证签名时,由于硬分叉不会在分叉前改动任何外形,所以用于考证签名消息的合约变量不应设置为合约变量,而应在之前重新获取每次考证,然后对签名停止验证以确保安全。.
对用户的影响
一般情况下,假如协议不支撑分叉链,应尽量不要对分叉链进行任何操作,以防止相应的签名消息在主网上重播,招致用户在主网上丧失资产。
对交易所和托管人的影响
由于很多交易所本身都支持ETHW代币,因此这些因攻击而提取的代币能够会被充值到交易所出售。但是需求留意的是,这样的攻击并不是链共识本身的效果。交易所形成的恶意增发,因此关于交易所而言,此类攻击无需额外防范
总结
随着多链场景的展开,重放攻击从实际层面逐渐成为主流攻击手段。开拓人员应仔细思索协议设计。在设计消息签名机制时,尽量参与其他要素作为签名形式。遵照相关的最佳实际以防止用户资产丧失。
Cobo是亚太地域最大的加密货币托管机构。自成立以来,已为逾越500家行业顶尖机构和高净值人士提供了优质效力。在保证加密资产安全存储的前提下,也完成了加密资产的坚定收益。深受世界各地用户的疑心。Cobo专注于树立可扩展的基础装备,为机构提供安全托管、资产增值、链上交互、多类型资产跨链跨层管理等多种处置计划,为机构向Web转型提供处置计划3.0 最弱小的技术底层支持和赋能。Cobo 包括 Cobo、Cobo DaaS、Cobo MaaS、Cobo StaaS、Cobo、
原文源自微信群众号(Cobo):Cobo安全团队——ETH硬分叉中的隐患与套利机遇
推荐阅读
-
当前热门虚拟货币(十大虚拟加密货币排名)
2023-06-16
经过跟踪函数,发往常#L11行检查了函数的合法性经过继续分析前面的函数逻辑,不难觉察,实际的校验并没有使用evm原生的来...
-
虚拟货币游戏点币(跳跳币怎么获得)
2023-06-16
经过跟踪函数,发往常#L11行检查了函数的合法性经过继续分析前面的函数逻辑,不难觉察,实际的校验并没有使用evm原生的来...
-
虚拟币被平台下架怎么办(虚拟币被平台下架怎么办啊)
2023-06-16
经过跟踪函数,发往常#L11行检查了函数的合法性经过继续分析前面的函数逻辑,不难觉察,实际的校验并没有使用evm原生的来...
-
虚拟币平台会跑路吗(虚拟币平台圈钱跑路)
2023-06-16
经过跟踪函数,发往常#L11行检查了函数的合法性经过继续分析前面的函数逻辑,不难觉察,实际的校验并没有使用evm原生的来...
-
虚拟币平台搬砖软件 虚拟币平台搬砖软件下载
2023-06-16
经过跟踪函数,发往常#L11行检查了函数的合法性经过继续分析前面的函数逻辑,不难觉察,实际的校验并没有使用evm原生的来...
-
虚拟币平台跑路警察管吗 虚拟币平台跑路了犯法吗
2023-06-16
经过跟踪函数,发往常#L11行检查了函数的合法性经过继续分析前面的函数逻辑,不难觉察,实际的校验并没有使用evm原生的来...