'区块链Bandit':黑客如何通过猜测弱私钥来窃取数百万的ETH价值

本周早些时候,总部位于美国的安全咨询公司Independent Security Evaluators(ISE)发布了一份关于以太坊区块链私钥的报告。

尽管建立了大约700个经常被多人使用的弱私钥,研究人员发现了一个“区块链强盗”,他通过成功猜测这些虚弱的私钥,成功收集了近45,000个以太(ETH)。 Cointelegraph采访了ISE高级安全分析师阿德里安·贝德纳雷克(Adrian Bednarek),以了解更多关于他们所谓的“以太坊”的信息。

研究背景和主要发现

Bednarek说他偶然发现了黑客。当时,他正在为一家企业客户进行研究,该客户计划使用集成密钥生成算法实现自己的钱包。

“作为一名安全分析师,在你开始任何评估之前,你必须非常清楚地了解基础技术 – 基本上就像你自己创造它们一样,”他告诉Cointelegraph。

“私钥生成是我们必须研究的组件之一,我正在研究以太坊上的私钥的基础知识:它有多大?它是如何产生的?它是如何用于推导公钥和公共地址的呢?“

在以太坊,比特币(BTC)或支持ECDSA(椭圆曲线数字签名算法)协议的任何其他主要区块链中,私钥由256位数字表示。在他们的研究期间,ISE将其缩小到256位密钥空间中的8个32位“子区域”,因为在较大区域内强制私钥的暴力意味着统计不可能性。

这8个子区域总共包含340亿个较弱的密钥,ISE随后扫描了这些密钥。 “这花了一整天,”Bednarek说。

值得强调的是,这些密钥是由于错误的代码和错误的随机数生成器而生成的,研究人员专门针对次优密钥。

“私钥是你的用户ID和你的密码同时出现,”安全分析师在打破基本机制的同时解释道。 “这与您的银行登录不同,您的用户名和密码(…)因此,当两个人使用相同的密码创建Brainwallet时(即,作为生成私钥的一部分需要密码的钱包) – 比如'password123' – 他们都拥有相同的钱包。“正如Bednarek所说,”就像将两个人连接到同一个银行账户一样。“

最初,ISE专家发现,由于它是可能的私钥的下限而被选中的“1”*的私钥实际上被用在区块链上。此外,它涉及数千笔交易。

* – (0x0000000000000000000000000000000000000000000000000000000000000001,如果使用256位代码写入)

“这是一面红旗,”Bednarek回忆道。 “为什么人们使用1的私钥?这应该是不可能的。“他的团队开始扫描更多的钥匙,看看这个问题有多广泛。虽然ISE研究人员已经确定这个问题并不是特别无所不在,但他们发现多达732个弱私钥与总共49,060个交易相关联。

“粗略地说,在以太坊(区块链)上使用了大约5000万个密钥,我们只发现了其中的732个密钥。”

区块链强盗

如上所述,在他们的研究过程中,ISE团队注意到与私钥相关的一些钱包 – 用他们的次优方法找到 – 有很多交易进入特定地址,而且没有钱回来。正如Bednarek在ISE网站上发布的解释性视频中所说:

“有一个人有一个地址,他正在四处走动,从我们可以访问的一些钥匙中抽走钱。我们发现735个私钥,他碰巧从我们也有权使用的12个密钥中取钱。从统计上来说,他不可能偶然猜出那些钥匙,所以他可能也在做同样的事情。 (……)当他们进入人们的钱包时,他基本上就是在窃取资金。“

在与Cointelegraph的对话中,Bednarek解释说,黑客(或一群黑客)已经建立了一个节点,可以自动从弱密钥地址中刷资金。为了验证这一点,研究人员使用了一个蜜罐:他们使用一个他们知道黑客知道的弱私钥来发送一美元,看看它的速度有多快。这笔钱在几秒钟内消失了,ISE员工说:

“如果这是一个手动的东西,也许它会在一天之内或其他任何事情。但是一旦我们发送了它,我们就去了区块链浏览器,我们看到有一个转移立即发出,几秒钟之内。所以他(黑客)基本上就是一个区块链节点,它是某个地方设置的交易网络的一部分。一旦它看到交易带有他所知道的私钥,它就会立即发出转移资金的请求。“

根据从Etherscan获得的数据,黑客的钱包包含大约45,000个ETH(截至撰写本文时,价值超过730万美元)。在以太的价值高峰时,据估计强盗的战利品已售出超过5000万美元。

根据欺诈者钱包地址的评测部分,它已经窃取了几年的资金。其中一条评测据称是由主要的ETH钱包提供商MyEtherWallet(MEW)提交的,其中包含一个2016 Reddit主题的链接,标题为“具有不安全RPC设置的以太坊节点被积极利用。”其中,一个redditor描述了设置以太坊节点“它的HTTP RPC API暴露在互联网上“并在上线后几分钟内受到攻击。

“如果你谷歌(黑客)的地址有很多人抱怨他,”Bednarek证实,承认欺诈者的机智已被证明非常成功:

“这家伙采取多种方式来窃取资金。”

然后,安全分析师更详细地描述了欺诈者的方法:“一个 – 他正在查看糟糕的私钥。二 – 他正在考虑基于弱密码的钱包和错误配置的RPC。你真的不应该暴露你的以太坊节点的RPC,但有时人们会这样做,如果你没有设置密码,某人基本上可以清空与你的节点相关的默认钱包。“

但ISE安全研究人员警告说,这种资产攫取并不是以太坊区块链所独有的问题。 “它(区块链)按预期工作,它只是人们使用它的方式,”他说,描述了他的团队在进行研究时遇到的道德相关问题:

“在我们开始研究之前(研究),我们遇到了一个道德困境 – 如果我们发现钱包里面有一百万美元的钥匙怎么办?我们把它留在那里吗?但是,如果我们把它留在那里,我们就知道它背后是一个糟糕的私钥,很可能会被盗,因此我们会有点负责这笔钱被盗,因为我们可以通知某人。但第二个问题是我们通知谁?没有简单的方法来识别私钥的所有者。也许我们可以暂时拿走钱,直到有人证明这是他们的?但后来它产生了很多法律问题。因此,公司的首席执行官(他们正在进行研究)联系IFS寻求法律建议,他们基本上说:“如果你发现了什么,就把它留在那里。不要做任何转移。这样你就不会陷入任何合法的热水。'“

安全建议和进一步研究

因此,根据Bednarek的说法,由于两个主要因素,私钥往往容易受到攻击。第一个是负责生成它们的软件中的编码错误。其次,一些加密货币所有者倾向于通过诸如“abc123”之类的弱密码来获得相同的私钥,或者甚至将它们留空。

例如,ISE报告确定最受欢迎的弱私钥之一是从空恢复短语生成的私钥 – 即“” – 使用Parity钱包。据报道,该地址共有8,772笔交易,共转让5,215,586 ETH。

“有一段时间,Parity允​​许你使用默认密码,它会根据它生成私钥,”Bednarek解释说,并补充说钱包开发者据称在某个时候解决了这个问题。 “我认为他们已经引入了最低密码要求(从那时起)。它可能只是一个字符,但如果你正在使用他们软件的最新版本,你现在就不能在Parity上使用空白密码。“

根据Bednarek的说法,还没有钱包创作者联系过ISE。

“这是一个有趣的问题,因为很难说哪个钱包是负责任的,如果有一个钱包 – 它可能只是人们输入错误的私钥,它可能是钱包的早期调试版本,它可能是开发人员自己。有点难以说明为什么存在以及哪个钱包有问题。这是我认为我们永远不会知道的事情。“

对于那些不懂计算机的人来说,Bednarek的主要建议是使用众所周知且值得信赖的钱包,如果涉及大量的加密货币,可能会转向硬件或纸质钱包。他说:

“如果要交易或持有大量货币,那么请使用硬件钱包,其中永远不会泄露私钥。我的很多长期持有的朋友都会使用纸质钱包,他们会生成随机密钥并将其存储在纸上,因此它根本不会触及计算机。“

尽管如此,即使涉及到流行的软件也总是存在一些风险,Bednarek警告说,Iota钱包的例子被牛津的一位开发商所侵害,他被捕并被指控上个月偷了大约1000万欧元。

鉴于Iota钱包是开源的,其代码公开发布在Github上。在某些时候,欺诈者通过提交对代码的更改来修改随机数生成器。

“这是以非常模糊的方式完成的,”Bednarek说。据他说,“尽管很多人都可以查看代码,但他们只是认为它应该可行。”

ISE专家解释说,这样,黑客能够看到如何生成私钥并使用他注入的代码重现它们。

“在很多人失去了大量资金之后,有人最终将他的修改反向设计为随机数生成器,他们能够看到他正在关键空间的特定范围内创建序列号。”

至于未来,ISE计划继续更大规模地监控区块链和弱私钥。 “我们将使用我们的扫描方法来使用GPU,我们将能够在几秒钟内扫描380亿个密钥,”Bednarek告诉Cointelegraph。

“当我们使扫描更有效率时,我们将能够做一些疯狂的事情,比如脑力钱包或其他可能有问题的密钥生成算法。因此,我们将扩展到不同的领域,以识别更多的密钥。“

此外,安全研究小组将发布更多信息 – 包括错误的公钥 – 供人们进行自己的研究,并对可能的安全漏洞保持警告。 “也许这将成为一种协作努力,以帮助找到一些原因,”Bednarek建议道。

资讯来源:由0x资讯编译自COINTELEGRAPH,原文:https://cointelegraph.com/news/blockchain-bandit-how-a-hacker-has-been-stealing-millions-worth-of-eth-by-guessing-weak-private-keys。版权归作者所有,未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢