区块链产业

中国区块链新闻网讯,无许可跨链燃烧协议BlackHoleProtocol获得GateLabs、MXCLabs、红链资本、心跳加速...
区块链投资

中国区块链新闻网讯,社交网络平台BitClout创始人Diamondhands在发给Coindesk的邮件中披露了一份BitClou...
'Blockchain Bandit':黑客如何通过猜测弱私钥来窃取数百万的ETH价值
发布时间:2019/04/29 区块链经济 浏览:354
本周早些时候,总部位于美国的安全咨询公司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报告确定最受欢迎的弱私钥之一是从空恢复短语生成的私钥 – 即“” – 使用奇偶校验钱包。据报道,该地址共有8,772笔交易,共转让5,215,586 ETH。
“有一段时间,Parity允许你使用默认密码,它会根据它生成私钥,”Bednarek解释说,并补充说钱包开发者据称在某个时候解决了这个问题。 “我认为他们已经引入了最低密码要求[从那时起]。它可能只是一个字符,但如果你正在使用他们软件的最新版本,你现在就不能在Parity上使用空白密码。“
根据Bednarek的说法,还没有钱包创作者联系过ISE。
“这是一个有趣的问题,因为很难说哪个钱包是负责任的,如果有一个钱包 – 它可能只是人们输入错误的私钥,它可能是钱包的早期调试版本,它可能是开发人员自己。有点难以说明为什么存在以及哪个钱包有问题。这是我认为我们永远不会知道的事情。“
对于那些不懂计算机的人来说,Bednarek的主要建议是使用众所周知且值得信赖的钱包,如果涉及大量的加密货币,可能会转向硬件或纸质钱包。他说:
“如果要交易或持有大量货币,那么请使用硬件钱包,其中永远不会泄露私钥。