织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

跨链协议陷安全风波时,听 Dragonfly 详述跨链「桥」设计思路

时间:2021-08-24 20:44来源:未知 作者:admin 点击:
8 月 10 日,又有一个跨链互操作性协议遭遇了黑客攻击。 这次有点不同,因为它是加密历史上最大的黑客攻击,并被 主流媒体 争相报道。而黑客与以太坊社区之间的玩笑更给本次事件

8 月 10 日,又有一个跨链互操作性协议遭遇了黑客攻击。

这次有点不同,因为它是加密历史上最大的黑客攻击,并被 主流媒体 争相报道。而黑客与以太坊社区之间的玩笑更给本次事件抹上了一层传奇的色彩,其中一名社区成员因为向黑客提供了有关如何躲避执法的 建议,以及与黑客进行了一次问答而收到 13.37 ETH,黑客透露他计划归还被盗的资金。

在这些喧嚣背后,是 Poly Network 遭黑客攻击事件,以及其他四个桥接器遭黑客攻击事件揭示了跨链互操作性解决方案当前不尽如人意的状态:

如今,许多互操作性解决方案使用起来并不安全,甚至无法使用。现在是很多「桥」被临时拼凑起来以满足项目的直接需求。但最终,它们或被更好的产品所取代,或演变成去中心化的解决方案或受信任的第三方。

要理解为什么会变成这样,我们需要了解如何使跨链交互成为可能,以及一些可能导致关键安全和用户体验缺陷的主要设计方案。

我们先从 Poly Network 被黑事件开始谈起。

到底发生了什么?

实际上,Poly Network 被利用的漏洞,部分原因在于其受信任的中继器(用他们的话来说,「keeper」)设置,部分是由于 Poly Network 在跨链发送信息时未能正确验证交易。

Poly Network 上的跨链交易由一组受信任的 keeper 促成,他们在源区块链上对区块签名。然后他们的签名在目标链上由「守门人」智能合约进行验证,然后执行交易。同一个智能合约还控制着一个 keeper 目录,并且可以在验证签名时对其进行修改。

黑客首先在 Ontology 链上调用了一个(无效的)函数,该函数产生了一个与签名哈希值碰撞的函数签名,而在正确签名时变更 keeper 目录的函数将会产生。这一函数被「守门人」智能合约批准,因为它是 Ontology 上的有效交易(尽管碰撞函数本身不存在)。黑客随后通过「守门人」智能合约的任意交易执行服务调用这一函数更改以太坊目录中的 keeper。合约被欺骗,相信了相应交易确实在 Ontology 上被调用并得到签名,因为黑客之前调用的碰撞函数产生了相同的函数签名。合约然后执行变更 keeper 功能,使得黑客能够将所有 keeper 更改为他控制的地址,随后将该网络洗劫一空。

Poly Network 跨链设计的直接缺陷似乎是:它不应该将「看门人」智能合约设置为 keeper 目录的控制器,但这种桥接设计更根本的问题是:用户的资产完全委托给 keeper,无需额外检查交易的有效性。

这里要注意,「看门人」合约并不验证链上的交易,而是盲目地相信 keeper 的签名,作为交易在源链上发生的证据。这意味着任何成功模仿 keeper 的人,都可以欺骗合约执行他们想要的任何交易。雪上加霜的是,keeper 人数较少,其对网络的访问记录存放在最终被攻陷的目录中。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容