宇宙链 宇宙链
Ctrl+D收藏宇宙链

DeFi黑客攻击背后的深入技术研究:随机数不会说谎

作者:

时间:1900/1/1 0:00:00

由于以太坊gas费用在2021年牛市期间飙升至历史新高,导致许多去中心化金融协议无法供临时用户使用,一些项目被迫部署在其他链上。

这导致了对跨链机制的需求激增,能够将用户资产从一条链安全地转移到另一条链。跨链桥一般可以分为中心化托管桥和去中心化非托管桥。

可以预料,对跨链桥的需求激增导致新一波不同声誉的协议的出现。随着跨链桥服务于越来越有价值的用户资产池,恶意行为者和黑客注意到这一点只是时间问题。

一般来说,黑客会以DNCB为目标,因为他们可以利用缺乏经验的开发团队设计的协议中的缺陷。经验丰富的黑客可以轻松利用逻辑错误或嵌入密码学和设计不佳协议设计的漏洞。

这将我们带到了今天:跨链桥多次袭击的后果。又是一个久经沙场的行业的黑洞。回顾一下,仅在2021年7月:

ChainSwap于7月2日遭遇黑客攻击,损失价值约80万美元的用户资产。

AnySwapV3流动性池在7月10日遭遇黑客攻击,损失价值近800万美元的USDC和$MIM。AnySwap是由FusionNetwork提供支持的跨链DEX。

ChainSwap再次遭受黑客攻击,距离第一次黑客攻击仅9天。这一次损失价值400万美元的用户资产。ChainSwap是一个由alameda支持的平台,它将以太坊连接到币安智能链。

DeFi协议dForce将部署至Avalanche:4月14日消息,DeFi协议dForce宣布将部署至Avalanche,功能包括dForce Lending和USX。此前该协议已部署至以太坊、Arbitrum、Optimism、BNB Chain和Polygon。[2022/4/14 14:24:39]

这篇文章的主要目的是相对详细地教育和介绍去中心化跨链桥的两个经常被忽视但至关重要的元素:安全多方计算中涉及的随机数“k”及其导数“R”。

7月2日被黑客利用的ChainSwap代币图片:CoinGecko

AnySwap黑客:两个并不总是比一个好

据报道,发生AnySwap黑客攻击是因为使用相同的“R”值签署了两笔单独的交易。黑客利用这两个签名反向设计了控制AnySwap跨链MPC账户的私钥,窃取了用户的资金。

但是,究竟什么是“R”值?

账户安全的致命弱点——“R”值

区块链中的每个人都学到的第一课是您钱包中的资金由您的私钥控制。

你们都听过这句话:“不是您的密钥,不是您的代币。这个习语意味着任何拥有钱包私钥的人都可以完全控制该钱包中的资产。事实上,将资金从一个账户转移到另一个账户所需的唯一事情就是使用该账户的私钥签署交易。

DeFi交易平台Slingshot融资1500万美元:金色财经报道,DeFi交易平台Slingshot在由Ribbit Capital牵头的一轮融资中筹集了1500万美元。此次A轮融资的投资者还包括K5 Global、Shrug Capital、The Chainsmokers、Jason Derulo、Guillaume Pousaz和Austin Rie等。据悉,Slingshot在2020年10月筹集了310万美元的种子轮,使其总资金达到1810万美元。[2021/12/10 7:29:33]

目前,区块链中使用的标准数字签名算法是椭圆曲线数字签名算法。

ECDSA属于数字签名算法的“非确定性”类别。与在给定特定输入的情况下总是给出相同输出的“确定性”算法不同,即使给定相同的输入,“非确定性”算法也可以产生不同的输出。对于ECDSA,这意味着相同的数据集或交易将具有多个合法签名。

每次使用ECDSA签署交易时,都会生成一个加密安全的随机数“k”。“k”然后用于计算椭圆曲线上的一个点,该点又用于计算“R”值。每次使用ECDSA签署交易时,都必须生成一个新的随机数“k”。

慢雾MistTrack:DeFi项目Pickle Finance pDAI池被盗资金再次发生异动,多次使用Uniswap进行兑换:据慢雾MistTrack监测信息显示,2020-11-22 攻击 pickle pDAI池的黑客地址(0x701781...7a4E08)继1月8日异动后,再次于1月14日发生异动。此前黑客地址转移了1500万DAI到五个新地址,现除了地址5(0x64bA3e...fF62DB),其余四个地址均发生异动,其中地址1(0x607d65...04e461)和地址2(0x17d4fe...2b7a39)分别向另一个地址3(0x157b0f...862a01)转入400万DAI。除此之外,慢雾MistTrack监测到1月9日、11日,黑客均向地址3(0x157b0f...862a01)分别转入176万DAI、300万DAI,紧接着地址3(0x157b0f...862a01)于当天通过Uniswap、1inch将一部分DAI兑换成CORN或COMP,另一部分DAI转到地址1(0x607d65...04e461)、地址2(0x17d4fe...2b7a39)。

目前地址1(0x607d65...04e461)有1亿9千万cDAI,地址2(0x17d4fe...2b7a39)有4亿3千万cDAI,地址3(0x157b0f...862a01)有32万DAI,地址5(0x64bA3e...fF62DB)有400万 DAI。[2021/1/15 16:15:10]

如果用同一个“k”来签署多笔交易,那么两笔交易的“R”值就会相同,私钥就会泄露。这被称为“k”值冲突,是2010年底索尼PS3黑客攻击的原因。这也是AnySwap黑客攻击的原因。

DeFi项目MoneySwap支持HUSD稳定币流动性挖矿:12月28日,根据DeFi平台MoneySwap官方公告,平台现已开放HUSD的流动性矿池。据悉用户在MoneySwap存入HUSD,可以进行该协议原生token MSWAP的流动性挖矿。

MoneySwap是韩国AnimalGo团队旗下的DeFi项目。MSWAP是项目的原生token,可用于治理、兑换和将来即将上线的借贷功能。HUSD是由Stable Universal 发行的合规稳定币,与美元1:1锚定。HUSD已经在数字资产交易、支付、DeFi等应用中落地。[2020/12/28 15:54:39]

接下来,我们来看看AnySwap黑客是如何逆向控制AnySwap跨链MPC账户的私钥,窃取用户资金。

两个绝对不总是比一个好

考虑使用相同的随机数“k”签署两个交易时会发生什么。由于“k”用于派生“R”,因此两笔交易的“R”值也将相同。让我们称这两个签名为(s1)和(s2)。

根据ECDSA,代表这两笔交易的方程式是:

其中S1、S2和‘R’代表签名数据和交易数据。这是区块链上公开可见的所有数据。这留下了两个剩余的未知参数:随机数“k”和帐户的私钥。

BiKi平台DeFi币种今日普涨:据BiKi行情数据显示,截止今日18:00(GMT+8),平台内DeFi币种今日普涨,LID今日目前涨幅为27.59%,现价0.0785USDT。ANT今日目前涨幅22.58%,现价7.2217USDT。BZRX今日目前涨幅17.75%,现价0.638USDT。[2020/8/24]

那些记得高中代数的人会立即知道如何使用这两个方程求解未知参数。因此,私钥sk可以写为:

AnySwap黑客注意到两个交易具有相同的“R”值,这意味着两者都使用了相同的随机数“k”。这使得黑客可以使用简单的代数对控制AnySwap跨链MPC账户的私钥进行逆向工程,窃取用户的资产。

关键错误是在多个交易中使用了相同的随机数“k”。显然,“k”不是随机生成的!那么如何避免这种情况呢?

需要安全的多方计算

与基本交易签名相比,安全多方计算确实相当复杂。然而,额外的努力是值得的。如果SMPC被正确地用于生成真正的随机数,则不存在随机数“k”被暴露的风险。

在利用SMPC时,签名代理不再是个人,而是多人协同工作来签署交易。

有了基本的交易签名,一个真正的随机数生成器就足以生成“R”值并保证安全性。但是,由于SMPC涉及多个不相关方,因此始终存在这些方中的一个或多个恶意的威胁。

因此,允许一个人单独生成“R”值是不合理的,因为他们可能是恶意行为者。如果他们单独控制随机数“k”和“R”值,他们将能够逆向工程帐户的私钥并窃取资产。因此,在使用SMPC生成‘R’值时必须遵守三个原则:

1.“R”值不能由一个人产生;

2.没有一个人可能知道用于推导“R”值的随机数“k”;

3.随机数“k”必须足够随机,才能无偏且不可预测。

用外行的话来说,SMPC需要一群人一起完成一项任务,但不知道他们在做什么,也不知道他们在和谁一起工作。

SMPC标准制定者:Wanchain的可公开验证的秘密共享设计

Wanchain的跨链桥依赖于一种独特的机制,该机制使用SMPC将跨链资产锁定在由25个称为Storeman节点的匿名方管理的帐户中。Storeman节点的数量可以根据需要增加。

当从锁定账户签署交易时,“R”值由这25个Storeman节点通过一个称为公开验证秘密共享的过程共同确定。此过程可确保不会有两笔交易具有相同的“R”值。

这25个Storeman节点所承担的具体步骤如下:

1.每个Storeman节点(Pi)使用真随机数生成器在本地生成一个随机数“ki”;

2.每个Storeman节点(Pi)通过使用Shamir的秘密共享的安全通道与其他节点共享其随机数“ki”。Shamir’sSecretSharing是一种秘密共享方案,旨在以分布式方式共享秘密。秘密被分成多个部分,称为共享。可以使用最少数量的共享来重建秘密。Shamir的秘密共享经常用于密码学。

3.每个Storeman节点收到其他节点的秘密份额后,收集秘密份额,乘以椭圆曲线基点,广播结果;

4.每个Storeman节点使用广播数据执行拉格朗日插值,以获得横坐标为“R”值的椭圆曲线点。

上述过程虽然相当复杂,但核心概念却相当简单。“R”值由25个Storeman节点共同确定。每个Storeman节点贡献部分加密随机数“k”。然后通过加密操作确定“R”值。

换句话说,这25个Storeman节点一起协同工作,而不知道它们在做什么,也不知道其他的Storeman节点是谁。

可公开验证的秘密共享

可公开验证的秘密共享可确保:

1.任何两笔交易不可能有相同的R值

这有两个主要原因。首先,“R”值由25个Storeman节点共同决定,而不是由个人决定。理论上,只要有一个诚实节点,‘R’值就会是随机的。其次,每个Storeman节点的贡献是由真随机数生成器生成的。

结合起来,如果两个交易中所有25个Storeman节点选择的随机数的总和相同,则两个交易将仅具有相同的“R”值。这种情况发生的概率是2^(-256)。当您阅读这句话时,这比您现在被陨石击中的可能性要小。

2.用于导出“R”值的随机数“k”保持隐藏

如前所述,一旦知道随机数“k”,就可以对私钥进行逆向工程。从锁定帐户签署交易时,每个Storeman节点仅生成随机数“k”的一部分。由于每个份额都通过安全通道传输,因此没有Storeman节点可以恢复随机数“k”的全部值。

换句话说,由于Wanchain的SMPC设计,用于导出“R”值的随机数“k”始终保持隐藏状态。Wanchain行业领先的跨链桥中使用的锁定帐户非常安全。私钥不存在泄露的可能。

判决

Wanchain研发团队不同意AnySwap黑客对采用SMPC的其他项目构成普遍风险。Wanchain研发团队与业界其他实施SMPC的开发者保持一致,不认为允许AnySwap黑客攻击的漏洞或错误视为一般风险。

该团队还想强调随机数在区块链中的重要作用。随机数不仅用于签署交易。它们用于多个技术设计层面,是PoS共识和分片算法的重要组成部分,直接决定了区块链网络的安全性。

有效地生成可靠的随机数并非易事。它是整个数学和密码学领域的圣杯。才华横溢的人们将他们的一生和他们的思想奉献给了优化随机数的生成。

世界各地的区块链开发者需要延续这一传统,开发更好的分布式随机数生成算法,同时继续优化链上随机数生成。实际上,DeFi的未来是整个区块链,它将建立在今天所做的工作之上。

标签:MPCSMPSMPCMPC币MPC价格SMP价格SMP币SMPC价格SMPC币

狗狗币最新价格热门资讯
管理员刷屏提醒:这个操作没有必要去操作,大家一定要重视起来!

Pi的app更新频繁,更新过程中有时会发布一些新功能,但是这些功能都是英文的,很多人看不懂,但是会根据自己的感受去操作.

1900/1/1 0:00:00
认识劳动力池,Pi网络上的第一个自由职业者市场

WorkforcePool允许先驱们联系和雇佣世界各地的自由职业者。印度央行行长:现在人们普遍认识到加密货币存在的主要风险:金色财经报道,印度央行行长表示,现在人们普遍认识到加密货币存在的主要风.

1900/1/1 0:00:00
了解范成雕博士,尼古拉斯·科卡利斯博士是如何建设Pi的

派网络是当前备受期待的全新数字货币资产,旗下应用程序已在全球范围内拥有4500万用户,并得到Play商店和APP商店的广泛下载.

1900/1/1 0:00:00
Pi Network之所以能够成功,是因为它总结了区块链行业发展的利弊

到现在为止,Pi网络的每一步进展都在三年前就已经设计好了,并在2018年被写入了白皮书,至于能否按计划进行,就看天意了!事实证明,上天为所欲为.

1900/1/1 0:00:00
你准备好了吗?6月和7月,Pi将迎来大爆发!

六月和七月是炎热的月份,我们的Pi正在做第三季度KYC的最后准备,第四季度冲刺主网...Nicholas在聊天室说:六月会有很多平台更新! 数以千计的PiDapp应用即将推出.

1900/1/1 0:00:00
PiDataboard向用户提供了有关Pi区块链的实时数据

PiDataboard在加密和区块链领域为先锋提供了独特的服务。顾名思义,该平台提供每日Pi区块链数据。虽然该平台没有官方网站,但用户可以通过其访问移动矿业区块链的每日数据官方推特账号.

1900/1/1 0:00:00