• 简体版 | 繁體版
  • 联系我们
  • 加入我们
  • 关于我们
  •  
  • 首页
  • 快讯
  • 价值号
  • 视频
  • 专题
  • 入驻价值号
  • 碳链APP
    微信公众号

    扫码下载App

  • 登录
  • 微信公众号

    微信公众号

导航
  • 首页
  • 快讯
  • 区块链+
  • 价值号
  • 视频
  • 专题
  • DeFi优选
碳链价值APP
专注服务于金融科技和区块链
立即打开

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

慢雾科技慢雾科技  •  2023-03-30
本文研究椭圆曲线加密算法中的扭曲曲线攻击,分析了漏洞的存在的原因。

By: Johan

据慢雾安全团队情报,2023 年 3 月 13 日,Ethereum 链上的借贷项目 Euler Finance 遭到攻击,攻击者获利约 2 亿美元。

黑客在攻击完 Euler 后,为了混淆视听逃避追查,转了 100 ETH 给盗取了 Ronin 6.25 亿多美金的黑客拉撒路。拉撒路顺水推舟将计就计,随即给 Euler 黑客发了一条链上加密消息[1],并回礼了 2 枚 ETH:

消息内容是提示 Euler Exploiter 用 eth-ecies[2] 解密这条消息。

质疑

按道理说在公开的环境下,如果 Ronin Exploiter 只是想加密通讯,使⽤公钥加密是最简单的⽅案。

  • 公钥加密:C = {rG, M + rQ} = {C1, C2}
  • 私钥解密:M = M + r(dG) − d(rG) = C2 − d(C1)

其中密⽂ C,公钥 Q,私钥 d,随机数 r,消息 M。协议很简单,加密过程不需要⽤到的私钥,不存在私钥泄露的路径。

使⽤ eth-ecies 加密是因为⽅便还是另有所图?随后很快就有⼈指出 eth-ecies 存在安全漏洞,Ronin Exploiter 是想窃取 Euler Exploiter 的私钥。

是否真的如此?且让我们先分析⼀下 eth-ecies 存在的是怎么样的⼀个漏洞。

扭曲攻击漏洞

经过分析,我们发现 eth-ecies 使⽤了 "elliptic": "^6.4.0",这是个 Javascript 椭圆曲线库,这个版本的库存在多个安全漏洞,其中⼀个就是扭曲曲线攻击漏洞(twist attacks),这个漏洞的成因是在计算 ECDH 共享密钥时没有验证对⽅的公钥是否在曲线上,攻击者可通过构造⼩⼦群曲线上的公钥,诱导受害者计算共享密钥,从⽽破解出受害者私钥。

但是这个漏洞的利⽤难度是很⾼的,需要有⾮常契合的场景才能发起攻击,Ronin Exploiter 是否有机会发起扭曲攻击呢?

ECDH 算法⻛险

ECDH 算法是基于椭圆曲线加密的密钥交换算法。它与传统的 Diffie-Hellman (DH) 算法类似,但是使⽤的是椭圆曲线上的数学运算来实现密钥交换,从⽽提供更⾼的安全性。

下⾯是 ECDH 算法的步骤:

1. ⽣成椭圆曲线:在密钥交换之前,通信双⽅需要选择⼀个椭圆曲线,该曲线必须满⾜⼀些数学特性,例如离散对数问题。

2. ⽣成私钥和公钥:每个通信⽅都需要⽣成⼀对私钥和公钥。私钥是⼀个随机数,⽤于计算公钥。公钥是⼀个点,它在椭圆曲线上,并由私钥计算得出。

3. 交换公钥:通信双⽅将⾃⼰的公钥发送给对⽅。

4. 计算共享密钥:通信双⽅使⽤对⽅发送的公钥和⾃⼰的私钥计算出⼀个共享密钥。这个共享密钥可以⽤于加密通信中的数据,保证通信的机密性。

为了⽅便描述下⽂ Alice 和 Bob 分别代表上⾯双⽅,G 为基点,假设:

Alice 的私钥是 a,则 Alice 公钥是 A = aG;Bob 的私钥中 b,则 Bob 公钥是 B = bG。

核⼼知识点在共享密钥计算⽅法,根据群的乘法交换律,他们只要获取到对⽅的公钥就可以计算出共享密钥:

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

如果 Alice 想要刺探 Bob 的私钥,她可以选择⼀个阶数 q ⾮常⼩(点的数量⾮常少)的曲线点 H(这个点不是对应任何特定私钥的公钥,但是 Bob 并不知道),由于群是循环群,Bob 在计算 S′ = bH 时,他得到的 S′ 将在这些少量点群以内。Alice 不知道 Bob 的私钥 b,但可以通过穷举得到满⾜ S′ = xH 的 x,此时 b ≡ x mod q 。显然 x 很⼩,最⼤为 q。

⾮常多的解,所以需要给 Bob 多个这类扭曲的点 H 让 Bob 计算,这样就可以就可以通过计算推出唯⼀解。

需要多少个扭曲点呢?这取决于每⼀次选择的阶数 q,需要阶数相乘能超过私钥的最⼤值,即满⾜:

如果我每次选择的 q ⼤⼀点,那么需要交互的次数 n 就可以少⼀点,但 q 越⼤意味着穷举的难度越⼤,所以这⾥需要根据 Alice 的运算性能做⼀个取舍。

事件结论

上⾯我们分析了 ECDH 算法的⻛险和攻击原理,我们再回来看 eth-ecies 这个库,实际上它使⽤的只是⼀个类似 ECDH 的算法,它在构造共享私钥时使⽤的是临时密钥,根本不需要⽤到加密⽅的私钥,所以并不会对加密⽅构成⻛险。

那么有没有可能 Ronin Exploiter 是想利⽤社会⼯程学引导 Euler Exploiter 使⽤其它有问题的⼯具呢?⽐如我们熟知的 PGP 加密协议?

巧的很,我们很快就发现被⼴泛使⽤的开源库 openpgpjs[3] 最新版本 v5.7.0 还在使⽤了低版本的 "@openpgp/elliptic": "^6.5.1" ,更巧的是,它⽀持基于 Curve25519 的 ECDH 协议,故事本应该进⼊⾼潮,但经过分析发现,openpgpjs 的 ECDH 协议在实现时,和 Ecies 协议⼀样引⼊了临时密钥,即使加密⽅导⼊了私钥,也仅仅⽤于消息签名,⽽不会⽤于构造共享密钥。

故事结束了,我觉得 Ronin Exploiter 使⽤低版本 elliptic 存在的漏洞去隐秘的窃取 Euler Exploiter 私钥的可能性不⼤,⾄于那条链上消息,可能真的是为了共商⼤计,更进⼀步的图谋不轨需要更加⾼超的社会⼯程学⼿段了,但 Euler Exploiter 已经警觉。

意犹未尽

上⾯提到了扭曲攻击的原理,实际⼯程实现上仍然有⼏个问题需要解决:

1. 如何构造扭曲的点?

2. 当 Bob ⽤共享密钥 S' 加密消息时,它并不会把 S' 传输给 Alice,因为根据协议 Bob 认为 Alice 是已经知道 这个密钥的,那么 Alice 如何获取 S' 呢?

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

这⾥以 Curve25519 曲线为例,它的曲线⽅程是:

我们随意改变其中的⼀个参数,得到⼀条新的曲线,⽐如:

使⽤ sagemath 数学软件来表示[4]:

p = 2**255-19

E = EllipticCurve(GF(p), [0,48666,0,1,0])

然后我们计算它的阶数,并对这个阶数进⾏因式分解:

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,0], [19442993, Gorder//19442993])

P1 = x * G

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

最终得到的结果可表示为:

使⽤中国剩余定理即可计算出私钥 b:

x = crt([ x1, x2, x3, x4, x5, x6, x7, x8, x9], [ 19442993, 3645143, 184879577, 5110460161, 15272631587, 208137522259, 64927105657, 60824497, 213156431])

print(x == b)

print(hex(x))

总结

本⽂我们通过⼀个不同常理的对话开始研究了椭圆曲线加密算法中的扭曲曲线攻击,分析了漏洞的存在的原因,虽然漏洞利⽤场景有限,但不失为⼀个很有价值的漏洞,希望能对⼤家的学习研究有所启发。

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

参考资料:

[1].https://etherscan.io/tx/0xcf0b3487dc443f1ef92b4fe27ff7f89e07588cdc0e2b37d50adb8158c697cea6

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

[3]. GitHub - openpgpjs/openpgpjs: OpenPGP implementation for JavaScript

[4]. Elliptic curve constructor - Elliptic curves

展开全文
打开碳链价值APP  查看更多精彩资讯
声明:本文内容为作者独立观点,不代表碳链价值立场,且不构成任何投资理财建议。
0 0
Ronin

扫一扫,分享到微信

相关推荐

从共识机制和桥安全分析,看这五大 NFT 平台的安全性 滚动

从共识机制和桥安全分析,看这五大 NFT 平台的安全性

Captain Hiro 2022-04-13 滚动
安全ImmutableNFTSolanaPolygonOptimismRonin
对一些最受欢迎的 NFT 平台的安全性进行详细且公正的评估
慢雾:解析被盗超 6.1 亿美元的Ronin Network 价值号

慢雾:解析被盗超 6.1 亿美元的Ronin Network

慢雾科技 2022-03-30 价值号
Ronin​Axie Infinity​NFT
本次攻击事件主要原因在于 Sky Mavis 系统被入侵,以及 Axie DAO 白名单权限维护不当。
Ronin被盗官方梳理:6天前发现漏洞,5个私钥被盗 深度

Ronin被盗官方梳理:6天前发现漏洞,5个私钥被盗

链捕手 2022-03-30 深度
Axie InfinityRonin
Ronin被盗事件官方解读。

碳链快讯更多 ›

2023-06-07

外媒:美SEC冻结Binance.US相关资产申请获得法院批准

2023-06-07

Robinhood 或将下架 SOL、MATIC 等被美 SEC 命名为未注册证券的代币

2023-06-07

美SEC向币安附属公司BAM以及赵长鹏发出临时限制令

2023-06-07

美国 SEC 请求法院冻结 Binance US 资产

2023-06-07

Coinbase CEO:SEC 和 CFTC 发表了相互矛盾的声明

2023-06-06

DCG创始人:SEC的「证券」清单中没有任何PoW代币,我相信BTC

2023-06-06

美SEC起诉加密货币交易所Coinbase

2023-06-06

红杉资本将拆分为三家公司,红杉中国重新命名为「Hongshan」

2023-06-06

数据:币安过去 24 小时资金流出量达 7.19 亿美元,目前稳定币余额约 80 亿美元

2023-06-06

Arthur Hayes:当前市场处于紧张状态,下半年会因货币超发而有所好转

2023-06-06

SEC:做市商 Sigma Chain 实际控制人为赵长鹏

2023-06-06

数据:美 SEC 起诉币安后,币安已流出约 1 万枚比特币

2023-06-06

MakerDAO 已将 5 亿美元转入 Coinbase 托管服务

2023-06-06

SEC将SOL、ADA、MATIC、FIL、ATOM、SAND等列为证券

2023-06-06

美SEC:对币安赵长鹏提出 13 项指控

2023-06-05

彭博社:美国SEC起诉Binance与CZ违反美国证券规则

2023-06-05

路透社:一名币安高管曾在 2019 年到 2020 年期间控制 Binance.US 银行账户

2023-06-05

萨尔瓦多计划建设 241MW 的可再生能源发电园区进行比特币挖矿

2023-06-05

梁凤仪:香港证监会聚焦虚拟资产等范畴,Web3 和生成式 AI 等是重大机遇

2023-06-05

许正宇:香港金管局正拟订「稳定币」规管框架

2023-06-05

知情人士:若赵长鹏因监管困境离职,Richard Teng 将接任币安 CEO

2023-06-05

OpenAI网站访问量飙升至10亿次

2023-06-04

新发现被盗 795 万枚 USDT 的用户,Atomic 钱包被盗总额已超 3500 万美元

2023-06-04

工信部部长:加快人工智能、区块链、云计算、网络安全等新兴数字产业发展

2023-06-03

美共和党人提出新的加密草案,为 SEC 和 CFTC 规定明确的监管角色

2023-06-03

Dune Analytics:5 月份超50万个独立钱包在Uniswap上交易,创历史新高

2023-06-02

路透社:马斯克在狗狗币集体诉讼案中被投资者指控进行内幕交易

2023-06-02

携程集团孵化首个 NFT 系列「Trekki」,将于第三季度进行盲盒销售

2023-06-02

Galaxy Digital 创始人:机构投资者购买放缓导致了加密市场近期的低落

2023-06-02

微软与 CoreWeave 签署一项价值数十亿美元的多年期协议

2023-06-02

Meta发布新款VR头戴式装置Meta Quest 3

2023-06-02

百域资本:不再以任何方式参与火必工作

2023-06-02

Silvergate Bank 同意美联储命令,将在 10 天内提交自我清算计划

2023-06-01

Bitcoin Magazine Ventures 推出比特币生态系统基金,已超额认购 9000 万美元

2023-06-01

矿企 CleanSpark 以 4050 万美元购买 1.25 万台比特大陆矿机

2023-06-01

微信搜索已支持显示比特币汇率查询服务

2023-06-01

数据:5 月份 ETH 质押数量为 382 万枚,创单月历史最高

2023-06-01

橄榄油生产商 Lamar Olive Oil 使用 Obligate 发行首个链上债券

2023-06-01

香港数字资产平台 OSL 已向 SFC 申请牌照升级

2023-06-01

河北保定市财政预算单位已于 5 月底实现数字人民币工资发放

2023-06-01

新火科技中期财报亏损 2.32 亿港元,因 FTX 事件损失 1.02 亿港元

2023-06-01

香港虚拟资产交易平台指引于今日生效,证监会开始接受虚拟资产交易平台牌照申领

2023-06-01

香港证监会发布虚拟资产交易平台发牌制度过渡安排通函

2023-06-01

香港数字资产信托机构 First Digital 推出美元稳定币

2023-06-01

LSD 协议 unshETH 的合约部署私钥被泄露,已紧急暂停提款并联系黑客

2023-06-01

Circle 储备资金中已不含美国国债

2023-06-01

私募公司 STEP 旗下 StepStone VC 已为两个区块链私募股权基金筹集 9654 万美元

2023-05-31

首个区块链技术领域国家标准正式发布

2023-05-31

英特尔联合蚂蚁链发布可信计算平台MAPPIC

2023-05-31

离岸人民币稳定币CNHC发行方失联,或因涉案被司法部门带走

推荐文章

  • 传统与数字金融行业如何共存?

    2023-03-28

  • 不只OpenAI,这些公司手上也握着AIGC下个十年的船票

    2023-03-28

  • 疯狂三月:一场ChatGPT引发的千亿“钞”能力竞赛

    2023-03-27

  • 麻省理工科技评论:生成式 AI 与生产力再思考

    2023-03-27

  • ChatGPT怎么看「以太坊上海升级」

    2023-03-27

价值号更多 ›

达瓴智库
达瓴智库
文章: 155
  • 如何通过MVRV判断加密牛市还是熊市?
  • ETH在上海升级期间表现如何?
  • 熊末牛初:Ordinals是福是祸?
区块链骑士
区块链骑士
文章: 1301
  • 继美国后,澳洲也有大动作?澳洲参议员提案将优化数字资产监管
  • SEC主席正在成为数字资产“教父”?高强度监管是否矫枉过正?
  • 传统与数字金融行业如何共存?
TinTinLand
TinTinLand
文章: 35
  • 一家银行倒闭后,加密市场发生了什么?
  • 打破科研困境的 DeSci 是什么?
  • 上海升级的机遇,值得关注的 Layer2 与 LSD 赛道
换一批

热门标签

新基建 比特币 以太坊 矿业 DeFi 共识对话 区块链+ 研报 美联储 央行数字货币 无限QE 加密衍生品 AI 云计算 大数据 5G 政策 交易所 稳定币 电子支付 Libra 算力产业 联盟链 公链 区块链 加密货币 Nervos Cosmos EOS STO

邮件订阅

及时、全面、专业、准确的资讯与数据,致力于为区块链爱好者以及数字货币投资者提供最好的服务。

App内打开

邮件订阅

及时、全面、专业、准确的资讯与数据,致力于为区块链爱好者以及数字货币投资者提供最好的服务。

Moshou

碳链价值是集资讯、行情、数据于一身的区块链信息服务平台,我们追求及时、全面、专业、精确的资讯与数据,致力于为区块链创新者和数字货币投资者提供优质的服务。

关于我们 加入我们 联系我们 隐私条款
微信公众号

扫一扫关注微信公众号

Copyright © 2018-2020 碳链价值 京ICP备18046423号
下载碳链App

下载碳链App

微信公众号

微信公众号

微信公众号

微信公众号

打赏文章作者

支付宝打赏二维码 支付宝扫一扫打赏
微信打赏二维码 微信扫一扫打赏

# 热门搜索 #

CBDC 比特币 DeFi 以太坊 区块链