您好,欢迎您来到国盈网!
官网首页 小额贷款 购房贷款 抵押贷款 银行贷款 贷款平台 贷款知识 区块链

国盈网 > 区块链 > Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

区块链 岑岑 本站原创

作者:约翰

根据慢雾安全团队的信息,2023年3月13日,以太坊链条上的贷款项目欧拉金融遭到攻击,攻击者获利约2亿美元。

攻击欧拉后,黑客将100个ETH转给了从浪人那里窃取了超过6.25亿美元的黑客拉扎勒斯(Lazarus),目的是为了混淆视听,避免追查。拉扎勒斯紧随其后,立即在链上向欧拉黑客发送了一条加密消息。

消息的内容是提示Euler开发者使用etheces。

但是这个漏洞的优势和难度是很难的,需要一个经常契合的场景来发动攻击。浪人剥削者有机会发动扭曲攻击吗?

ECDH算法是一种基于椭圆曲线加密的密钥交换算法。它类似于传统的Diffie-Hellman (DH)算法,但密钥交换是通过椭圆曲线上的数学运算实现的,安全性更高。

以下是ECDH算法的步骤:

1.椭圆曲线:在密钥交换之前,通信方需要选择一条椭圆曲线,该曲线必须填充一些数学特征,比如离散对数问题。

2.分为私钥和公钥:每次通信都需要一对私钥和公钥。私钥是一个随机数,用于计算公钥。公钥是一个点,在椭圆曲线上,用私钥计算。

3.公钥交换:通信伙伴将公钥发送给对方。

4.计算共享密钥:通信特使为发送的公钥和私钥计算共享密钥。这个共享密钥可以用来加密通信中的数据,确保通信的机密性。

为了描述爱丽丝和鲍勃分别代表上双,G是基点,假设:

爱丽丝的私钥是A,那么爱丽丝的公钥是A = aG;

鲍勃的私钥是B,那么鲍勃的公钥是B = bG。

核心知识点在共享密钥计算法。根据群的乘法和交换定律,他们只要得到对的公钥就可以计算出共享密钥:

S = aB = a(bG) = b(aG) = bA

如果Alice想窥探Bob的私钥,可以选择一个常数阶为Q的曲线点H(点数往往很少)(这个点不是任何特定私钥对应的公钥,只是Bob不知道)。因为群是循环群,当Bob计算S′= BH时,他的S′会在这几个点群内。Alice不知道Bob的私钥B,但是她可以通过穷举法得到X充满S' = xh,这种情况下B ≡ x mod Q .显然X是非常,最q的。

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

需要多少个扭转点?这取决于每次选择的阶数q,阶数乘法要求超过私钥的最大值,即满:

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

如果我每次都选择Q点,我需要和N交互的次数可以少一些,但是Q越多意味着越难穷尽,所以需要根据爱丽丝的计算性能来选择。

在事件结束时,我们分析了ECDH算法的风险和攻击原理。让我们回头看看图书馆的文献。事实上,它只制造了一个类似于ECDH的算法。它在构造共享私钥时使用一个临时密钥,根本不需要获取加密的私钥,所以不会对加密造成风险。

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

那么有没有可能Ronin Exploiter是在试图帮助社会科学指导Euler Exploiter制造其他有问题的设备呢?我们知道,PGP加密协议?

无独有偶,我们很快发现了广泛使用的开源库openpgpjs。

在故事的最后,我认为Ronin Exploiter使得低版本elliptic的漏洞秘密窃取Euler Exploiter的私钥成为可能。不,那个链上的消息可能真的是为了讨论。更进步的剧情需要更多的社会课程,但欧拉剥削者已经警醒。

我已经提到了扭转攻击的原理,但是在实际的实施过程中还有一个问题需要解决:

1.如何构造扭曲点?

2.当Bob共享密钥S & # 8217当消息被加密时,它不会发送S & # 8217传输给Alice,因为Bob认为Alice根据协议已经知道了这个密钥,那么Alice如何获得S & # 8217然后呢。

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

例如,这条曲线25519,它的曲线路线是:

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

我们随意改变四个参数,得到一条新的曲线,比如:

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

让Sagemath数学软件来表示)然后我们计算它的阶次并进行因式分解:

grp = e . abelian _ group()G = grp . gens(),

0] Gorder = G.order() print( "{0} = {1}".format(Gorder, factor(Gorder)) )

计算结果:

...=2*3049*14821*19442993*32947377140686418620740736789682514948650410565397852612808537

选择 19442993 这个⼤⼩适中的数,⽤中国剩余定理创建⼀个含有 19442993 个元素的⼦群:

x = crt([1

19442993, Gorder//19442993]) P1 = x * G

到这⾥我们就得到了第⼀个扭曲的点,把它当作公钥发送给 Bob,Bob 就可以计算第⼀个共享密钥:

/image-10/[Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

最终结果可以表示为:

Ronin 黑客计中计 听说过扭曲攻击漏洞吗?

私钥b可以通过中国的余数定理来计算:

x = crt([ x1,x2,x3,x4,x5,x6,x7,x8,x9],[ 19442993,3645143,184879577,5110460161,15272631587,208137522259,64927105657,60824497,213156431])打印该漏洞虽有益于现场,但却是一个有价值的漏洞,希望对经济学家的学习和研究有所启发。

最后,感谢领先的数字资产托管服务提供商Safeheron提供的专业技术建议。

参考资料:

[1].https://ethers can . io/tx/0x cf0 b 3487 DC 443 f1 ef 92 B4 Fe 27 ff 7 f 89 e 07588 CDC 0 e 2 b 37d 50 ADB 8158 c 697 ce a6

[2].https://github.com/LimelabsTech/eth-ecies

[3].GitHub & # 8211open pgpjs/open pgpjs:JavaScript的OpenPGP实现

[4].椭圆曲线构造函数& # 8211;椭圆曲线

温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信(j7hr0a@163.com),我们会及时处理和回复。

原文地址"Ronin 黑客计中计 听说过扭曲攻击漏洞吗?":http://www.guoyinggangguan.com/qkl/167441.html

微信扫描二维码关注官方微信
▲长按图片识别二维码