以太坊钱包私钥爆破产业链和攻击案例

这篇具有很好参考价值的文章主要介绍了以太坊钱包私钥爆破产业链和攻击案例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一:产业链频道:小飞机搜索"BRUTE_FORCE_CRYPTO_WALLET"
2、github项目(有成熟的工具)
GitHub - Houzich/CUDA-GPU-Brute-Force-Mnemonic-Old-Electrum-V1: CUDA-GPU-Brute-Force-Mnemonic-Old-Electrum-V1
3、揭秘以太坊 Vanity 生成器 Profanity 私钥破解漏洞

二:案例如下:
近日,Wintermute 钱包遭攻击损失约 1.6 亿美元,被盗原因是 Wintermute 为了节省 Gas 费使用了 Profanity 来创建 Vanity 钱包(开头 0x0000000),此前去中心化交易所聚合器 1inch 发布了一份安全披露报告,声称通过名为 Profanity 的工具创建的某些以太坊地址存在严重漏洞。慢雾安全团队对此事件进行了深入分析,并分享给大家。

以太坊钱包私钥爆破产业链和攻击案例


椭圆曲线加密(ECC)是区块链领域最常用的加密算法,ECC 是一个加密算法大类,它包含了多种不同的曲线和加密算法,例如 secp256k1/secp256r1/ed25519/schnorr 等,比特币和以太坊都是使用 secp256k1 加密。

以太坊钱包私钥爆破产业链和攻击案例



在使用以太坊时,我们首先会生成一个私人账号(以 0x 开头 + 40 字母),具体过程如下:

(1)生成一个不可预测的随机数种子,通常基于系统的 /dev/urandom 随机发生器;
(2)利用随机种子生成一个私钥(256 位,32 字节)
(3)通过私钥生成公钥(64 字节)
(4)公钥使用 keccak-256 哈希算法,取哈希值十六进制字符串后 40 个字母,开头加上 0x 生成最终的以太坊地址。

特别记一下这些公私钥的大小,因为它关乎我们后面要做的计算量。

这里需要提的一个关键公式:

Q = kG

这是私钥推导出公钥的核心算法,私钥推出公钥计算很简单,但反向推导几乎不可能。
Q 是公钥,k 是私钥,k 由有限域内的大整数构成,相当相当大,以致于几乎不可能去猜测,G 是椭圆曲线上的一个点,默认是一个固定的值,kG 就是 k 个 G 点相加(椭圆曲线的点相加不是简单的实数相加,计算方法这里不展开讨论)。

如果我们想要穷举以太坊账号,找到 Vitalik 的私钥,那么在知道他的公钥后,最多需要进行 2^256 (2 的 256 次方)次的 Q = kG 计算,对大数字我们天然不敏感,所以我把它换算成工作量,就是目前一台苹果 M1 电脑大概 40M/s 的速率,那么大概需要的年份是 8 后面跟上 62 个零。一万年太久,只争朝夕。

有一些错误的私钥生成方法,会导致私钥的取值范围变成更小范围内的数值,变得可猜解。常见的原因有:

(1)随机数种子不够随机,例如使用了时间戳做为随机数种子,那么我们只要穷举过去一段时间所有的时间戳就能找到生成公钥所用的种子和私钥;
(2)软件算法存在缺陷,导致随机强度不够(Profanity 正是存在这样的缺陷);

Profanity 的设计目的,是帮助人们生成一个具有特殊视觉效果的账号,比如以特殊字符开头或者结尾的账号,另一方面,一些开发者使用它来生成开头为很多个 0 的账号,如 0x00000000ae347930bd1e7b0f35588b92280f9e75,它可以在调用智能合约时达到节省 Gas 的效果。

Profanity 为了更快地爆破出 Vanity Address,只在程序的开头获取了一次随机数,后续所有的私钥都是基于这个随机数迭代扩展而来,我们来看一下它的随机数生成算法:



这里使用了 random_device 来获取系统提供的随机数,这个随机数源是满足加密所需要的强度的。但是当我们注意到变量类型时,我们发现 rd() 返回的是一个 32 位长度的随机值,上文我们提到一个私钥是 256 位长度,那么一次获取随机数的过程并不能填充整个私钥,于是 Profanity 使用 mt19937_64 产生随机数来填充整个私钥。mt19937_64 和 random_device 的随机算法有着本质的区别,mt19937_64 是确定性的,它的随机性依赖于输入的随机数,并不产出新的随机性。

也就是说,如果 rd() 传递给 mt19937_64 的值在某个范围,那么 distr(eng) 的值也在对应的某个范围,createSeed 函数返回的 r 值自然也是在某一个范围。

关键点来了: rd() 的所有可能性是 2^32,离私钥的安全性(2^256)相差了 224 个数量级,但是 2^32 这个数量级也挺大的,那么它需要多少计算量才能破解出私钥?

Profanity 在获取到第一个私钥 SeedPrivateKey 以后,为了碰撞出需要的账号地址,会通过一个固定的算法不断跌代这个私钥,最多 200 万次(数值来源于 1inch 披露的文章),这个公钥的计算方式可表示为:

PublicKey = kG = (SeedPrivateKey + Iterator)*G

Iterator 是一个递增的数字,当 PublicKey 已知时,我们可以通过穷举 SeedPrivateKey 和 Iterator 来得到 SeedPrivateKey,计算量大概为 2^32 乘以 200 万次,在 1 台 M1 电脑上需要 60 多年时间,看上去这辈子有希望 :D。如果我用大量算力更大的显卡进行并行计算,那么在几天甚至几个小时碰撞出想要的结果也完全可以。

刚好最近以太坊转 PoS 共识,存在大量的闲置的显卡算力,如果矿工拿显卡来破解这个私钥,那不是分分钟就能成功?当然这个阴谋论没有意义,我们只想研究破解的可能性。我们更希望能用不那么暴力的方法来解开私钥。

我们稍微移动一下等式两边,对上面的公式进行变换,可得:

SeedPrivateKey*G = PublicKey - Iterator*G
我们可以思考另一种攻击方法,如果首先预计算 SeedPrivateKey*G,需要最多 256 G 左右的内存空间去存储计算结果,在一台普通的服务器上完全可以做到,所需要的计算是 2^32 次,大概几十分钟就可以完成。然后我们再把需要破解的 PublicKey 代入等式右边,然后对 Iterator 跌代碰撞,所需要的计算量大概是 200 万次,还有 200 万次的查表,所需要的时间是秒级。这,就有意思了,原来 32 位的随机数是这么的微不足道,任何人都有可能在几十分钟内还原出私钥。

至此,我们总结出了 Profanity 的漏洞成因,是由于未对 256 位私钥进行足够随机播种,导致私钥取值范围严重降低。同时也分析了对这类随机性问题的破解可能性,希望能给大家一些启发。

若有收获,就点个赞吧文章来源地址https://www.toymoban.com/news/detail-439195.html

到了这里,关于以太坊钱包私钥爆破产业链和攻击案例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023全球数字经济大会召开,天翼云携手产业链共建开放共赢云生态

    近日,由北京市人民政府、国家发展和改革委员会、工业和信息化部、商务部、国家互联网信息办公室、中国科学技术协会共同主办,中国云产业联盟暨中关村云计算产业联盟(简称“云联盟”)承办的“2023全球数字经济大会·云融技术创新引领论坛”在国家会议中心隆重召

    2024年02月15日
    浏览(55)
  • 自动驾驶产业链躁动,四维图新能否做好新时代“Tier 1”?

    自动驾驶行业的“劲风”又来了。 6月21日,工信部副部长辛国斌在国务院政策例行吹风会上表示,将启动智能网联汽车准入和上路通行试点,他强调,“这里面讲的是L3级,及更高级别的自动驾驶功能商业化应用”。此前工信部曾透露,《智能网联汽车标准体系指南》即将正

    2024年02月13日
    浏览(82)
  • AI安全白皮书 | “深度伪造”产业链调查以及四类防御措施

    以下内容,摘编自顶象防御云业务安全情报中心正在制作的《“深度伪造”视频识别与防御白皮书》,对“深度伪造”感兴趣的网友,可前往顶象留言,在该白皮书完成后,会为您免费寄送一份电子版。   “深度伪造”就是创建高度逼真的虚假视频或虚假录音,然后就可以盗

    2024年03月09日
    浏览(62)
  • 制造业中的人工智能创新生态:如何实现产业链的互联互通

    制造业是国家经济的重要组成部分,也是国家实现高质量发展的重要支柱。随着人工智能(AI)技术的不断发展和进步,制造业中的各种智能化应用也在不断涌现。人工智能创新生态是指利用人工智能技术来推动制造业创新的生态系统。这种生态系统涉及到多个方面,包括技术、

    2024年02月21日
    浏览(47)
  • 挡不住了,中国芯片制造产业链的重大突破,5nm设备即将发给台积电

    据悉中微半导体设备(上海)股份有限公司制造的5nm刻蚀机已完成量产准备,下半年就将交付给台积电投入使用,这是国产芯片制造产业链的又一个重大突破。 由于众所周知的原因,当下芯片制造方面对光刻机的关注度最高,但是由于种种原因,中国在获取先进光刻机方面面

    2024年02月12日
    浏览(41)
  • 智能云工厂模式普惠中小企业,千鸟互联或成纸包装产业链“带头大哥”

    从废纸回收与线上交易平台,到纸包装闭环供应链交易平台,再到聚合中小企业闲置产能,成为具有实质生产能力的纸包装“大工厂”。自2017年创立至今,短短5年时间里,千鸟互联完成跨越式的三级飞跃,并凭借普睿特智能云工厂的创新模式,斩获数千万B轮融资,成为产业

    2024年02月02日
    浏览(49)
  • 激光雷达技术路线及产业链梳理:OPA+FMCW或成为未来激光雷达终极解决方案

    前言:本文对激光雷达产业进行梳理,从上游器件、中下游终端厂商等几个部分来剖析激光雷达产业链。 激光雷达:自动驾驶的核心传感器 激光雷达是通过发射激光束作为来探测目标位置、速度、结构等特征的雷达系统。与其他雷达系统的原理类似,激光雷达是向目标发射

    2024年02月07日
    浏览(37)
  • 电商API数据采集接口||大数据的发展,带动电子商务产业链,促进了社会的进步

    最近几年计算机技术在诸多领域得到了有效的应用,同时在多方面深刻影响着我国经济水平的发展。除此之外,人民群众的日常生活水平也受大数据技术的影响。 主流电商API数据采集接口||在这其中电子商务领域也在大数据技术的支持下,得到了明显的进步。虽然电子商务领

    2024年04月27日
    浏览(47)
  • 解析MPC多方计算钱包:私钥分片与备份的新安全前沿_详解析mpc钱包

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新网络安全全套学习资料》

    2024年04月26日
    浏览(42)
  • GO语言-区块链离线钱包开发之如何存储私钥

    # 如何存储私钥 在确保私钥安全的情况下,为了更好的体验,我们需要让钱包把私钥存储起来。给用户更好的体验感。Geth是将私钥通过加密技术转换为json格式的文件,这个文件虽然是明文的,但是解析它的时候需要密码,否则将无法解密。 在Geth中,使用`personal.newAccount(\\\"p

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包