皇冠官方app(www.huangguan.us)是皇冠体育官方信用网线上直营平台。皇冠官方app开放信用网和现金网代理申请、信用网和现金网会员注册、线上充值线上投注、线上提现、皇冠官方APP下载等业务。皇冠官方app提供皇冠官网管理端登录线路、皇冠官网会员端登录线路,皇冠官网手机网址、皇冠官网最新网址导航等服务。

首页科技正文

新2平台出租(www.hg108.vip):联博api(www.326681.com)_Cosmos团结首创人:一个密码学破绽引发的币安跨链桥攻击

admin2022-10-106

环球ug代理开户www.ugbet.us)开放环球UG代理登录网址、会员登录网址、环球UG会员注册、环球UG代理开户申请、环球UG电脑客户端、环球UG手机版下载等业务。

原文作者:Cosmos 团结首创人Ethan Buchman

关于币安黑客事宜的一些想法。Binance是Cosmos软件的最大用户,他们运营着一个价值数百亿美元的平台,但没有对焦点软件做出有意义的孝顺或介入。从这里发生的事情中,我们可以学到许多。

你可能看到了 samczsun 的优异推文贴展示了这个问题。https://twitter.com/samczsun/status/1578167198203289600 让我们实验弥补一些有关情形的详细信息。

一个官方防御补丁已公布在这里:https://forum.cosmos.network/t/cosmos-sdk-security-advisory-dragonfruit/7614

友谊提醒:若是你发现 Cosmos 软件存在潜在破绽,请遵照我们卖力任的披露流程:

https://github.com/cosmos/cosmos-sdk/blob/main/SECURITY.md

问题的症结在于黑客能够伪造一个默克尔证实(merkle proof),这不应该是可实现的 - 默克尔证实应该是高度平安的。区块链轻客户端(以及 IBC)确立在默克尔证实(merkle proof)之上,因此准确处置它们很主要。

默克尔证实是数据存储中存在某些键值对的密码学证实, 我们可以称之为“包罗证实”。许多区块链将其数据存储在一棵默克尔树(merkle tree)中,以便可以天生证实某些数据包罗在树中的证实。

默克尔证着实 IBC 中被大量使用,例如,一个区块链可以证实它有一个指向另一个区块链的数据包。固然,若是你可以证实某些数据在树中,但现实上并没有,那将是一个大问题。而这就是在 Binance 身上发生的事。

Cosmos 链使用一种称为 IAVL 的默克尔树,它位于 IAVL 存储库中。它附有一首关于默克尔树有多棒的诗。IAVL 是一个自界说的默克尔化平衡二叉搜索树,它类似于以太坊的帕特里夏树(patricia trie)。

https://github.com/cosmos/iavl/blob/master/POEM

每个区块链开发职员在接触这些结构的架构和算法时,都不得不陷入默克尔树的疯狂之中。

IAVL 存储库果然了一个 API,用于使用一个“RangeProof”工具构建和验证证实。一个局限证实(Range Proof)用于证实某些局限的 key 在默克尔树中并列存在。

一个局限证实还可用于证实单个键值对(局限巨细为 1),或证实某个键不在树中(局限巨细为 2)。

IAVL 存储库将 RangeProof 工具用于所有三种证实(包罗、不存在、局限内的键)。但事实证实 RangeProof 的内部事情存在一个严重破绽。

一个证实应该由一个子叶节点和一系列内部节点组成,这些节点勾勒出从子叶到根的路径,并具有足够的信息来盘算树的 merkle 根哈希并验证子叶现实上是树的一部门。

由于这是一棵二叉树,以是每个内部节点都可以有一个左分支和右分支。然则在证实中,你是在树中跟踪路径,因此内部节点应该只包罗其左分支或右分支哈希。另一个是由证实中其他节点的哈希组织的。

,

以太坊数据网

,

三公必胜方法www.eth108.vip)(三公大吃小)是用以太坊区块高度哈希值开奖的棋牌游戏,有别于传统三公开船(三公大吃小)棋牌游戏,三公开船(三公大吃小)绝对公平,结果绝对无法预测。三公开船(三公大吃小)由玩家PK,平台不参与。

,

www.326681.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

这就是 IAVL RangeProof 的代码遇到问题的地方。IAVL RangeProof 允许填充 InnerNode 中的 Left 和 Right 字段。而这不应该发生。

攻击者基本上行使了将信息粘贴到 Right 字段中的优势,它们从未经由验证,也从未影响哈希盘算,从而使验证者信托某些子叶是树的一部门。因此,他们乐成地伪造了一个默克尔证实。

值得注重的是,这个问题取决于攻击者能否将子叶添加到单个证实中,由于 RangeProof 允许你一次证实多个子叶。因此,纵然你的协议只希望一次证实一个 key,使用 RangeProof 也会为攻击者打开攻击面。

以是使用 RangeProof 并不是一个好主意。然则我们也可以提出一个简朴的防御措施——若是任何内部节点同时填充了 Left 和 Right 字段,则预先拒绝证实。这样做应该可以解决这个问题。

虽然 RangeProof 是一个焦点 Cosmos 存储库 (IAVL) 的一部门,但它现实上并未用于 Cosmos 客栈内的区块链协议中。IAVL 树自己被所有 Cosmos SDK 链使用,但 RangeProofs 并没有。这是明晰的要害!

相反,对于 IBC 中的默克尔证实,开发者根据 IBC 尺度设定的更严酷的流程开发了一个新规范。该规范称为 「ICS23」,它位于 IBC 规范存储库中:https://github.com/cosmos/ibc 中。

那什么是 ICS23?这是支持多种默克尔树的默克尔证实的通用尺度(包罗 IAVL 树)。ICS23 界说了一种用于序列化和验证默克尔证实的通用名堂。

IBC 没有使用 IAVL 树的内置 RangeProof 系统,而是使用 ICS23 尺度来天生和验证 IAVL 树的默克尔证实。而 ICS23 代码中并没有这个破绽。

这不仅仅是使用差其余代码,并因此荣幸躲过一劫的问题。这代表了一种基本差其余软件工程方式。

ICS23 遵照更严酷的设计流程,旨在最大限度地削减攻击面,同时仍然是通用的,这是一项艰难的义务!作为其中的一部门,它明确地拒绝了 range proofs,ICS23 中并没有 range proofs。

因此,该破绽自己在 ICS23 规范中是不能接受的,这是好的,IBC 的目的是使跨链通讯加倍平安。

固然,IBC 规范和协议可能并不完善,并将继续改善。作为一个庞大的协媾和软件实现,它(IBC)甚至可能存在我们社区必须应对的尚未被发现的破绽,平安需要一个社区。

我们都必须认真看待平安。若是发现潜在破绽,请卖力任地披露:https://github.com/cosmos/cosmos-sdk/blob/main/SECURITY.md。

若是你可以为改善软件和协议做出孝顺,我们约请您这样做!

总的来说,这次事宜是一个时机,它提醒了人人在软件开发生命周期中增强平安实践的主要性,流传一些关于 IBC 是什么及其事情方式的一些熟悉,并约请整个生态来辅助改善 IBC。

跨链桥黑客对我们的行业来说是一个真正的问题,若是不认真致力于更高的平安性和尺度流程,它们(跨链桥)就不会变得更好。让 IBC 成为一个辉煌的例子。

这里尚有一个关于使用开源软件的主要教训:遵照最佳实践,保持最新状态,并向上游孝顺资源!很喜悦看到 binance 成为更卖力任和协作的生态介入者!


查看更多,

新2平台出租www.hg108.vip)是皇冠(正网)接入菜宝钱包的TRC20-USDT支付系统,为皇冠代理提供专业的网上运营管理系统。系统实现注册、充值、提现、客服等全自动化功能。采用的USDT匿名支付、阅后即焚的IM客服系统,让皇冠代理的运营更轻松更安全。

网友评论

热门标签