安全顾问反水成黑客, 靠瞎猜盗得5000万美元的以太币, 一个区块
图片来源图虫:已授站长之家使用
声明:本文来自于微信公众号区块链大本营(ID:blockchain_camp ),译源:WIRED,编译:Guoxi,授权站长之家转载发布。
在以太坊上,猜测私钥就像猜测彩票中奖号码一样,从统计学上来说并不现实。但就有一些用户耍小聪明,将自己的以太坊私钥设置成容易记忆的字符,方便了自己的同时,也给区块链大盗留下了可乘之机。
最近《连线(Wired)》杂志曝出了一个区块链大盗的事迹,他仅靠猜测以太坊私钥盗走了 5000 万美元的以太币,然而币价崩溃他的不义之财缩水了 85% 。
那么,他是怎么偷窃以太币的呢?靠猜测就能破解别人的私钥,这是神马神操作?他又是怎么被揪出来的呢?让我们一起走进这个区块链大盗的悲喜人生。
Adrian Bednarek 是一名安全顾问,而他的客户饱受加密货币失窃的困扰,于是 Bednarek 开始站在对手的角度上思考问题。
从去年夏天开始,如何窃取以太币这个问题一直困扰着 Adrian Bednarek。当然了,他并不是真的想要成为一个“区块链大盗”。
不过有这么多种加密货币,为什么 Bednarek 要选择以太币呢?这是因为以太坊出了名的复杂性,同时以太坊各个复杂的组件都可能会带来潜在的安全漏洞,这使得以太币很容易被攻击。
不过,这里的容易被攻击只是相对而言的,以太坊也并不是不堪一击。所以, Bednarek 选择从最简单的攻击方式:私钥入手。
我们都知道,以太坊的私钥是其上账户所有权的证明,它可以用来管理以太币。按照以太坊的规定,私钥应该是一串很难被猜出的长达 256 位的二进制数。
不过以太坊用户为了方便记忆也可以任意设置私钥,就比如说设置为 1,但这种简单的私钥很容易被猜出来,因而安全性很差,往往不被人们所采用,人们通常都会使用钱包软件生成有随机性的私钥。
然而出人意料的是,通过检索区块链上存储的以太币交易数据,Bednarek 发现还真的有人使用这种极其简单的私钥进行交易。
不过这个账户中的以太币已经被转走了,几乎可以肯定这笔钱是被区块链大盗偷走的,他赶在 Bednarek 之前偷走了这笔钱。与比特币等其他加密货币相同,如果有人知道了你的以太坊私钥,他就能从私钥中计算得出你的公钥以及账户地址。
所以区块链大盗可以使用这个私钥转走你账户中的以太币余额,而区块链上验证交易的矿工不会也不能核实发起交易的是不是账户真正的主人。
这个发现激起了 Bednarek 的好奇心。所以他连续尝试了几个简单的私钥:2、3、4,然后又试了10、20、 30 这样复杂一点的私钥,不过所有这些私钥对应的账户余额都被清空了,这么看来,靠猜测私钥盗窃以太币并非个案。
为了捕捉更多区块链大盗的信息,Bednarek 和他在安全咨询公司 Independent Security Evaluators 的同事们编写了一些代码,在云服务器上自动化地检查了上百万个简单的私钥。
Bednarek 的团队将这次实验的结果写成了一篇论文,并在周二发表了出来。论文中讲到,Bednarek 的团队发现在过去的几年中,不断有用户将自己珍贵的加密货币存储在几百个私钥非常容易被猜出来的账户之中。
同时,他们还揪出了一个“区块链大盗” 。这个大盗已经使用这种猜测私钥的盗窃方法偷走了近 4.5 万个以太币,按照当时的币价来算,这笔不义之财价值 5000 万美元。
“这个区块链大盗做了和我们一样的事情,只不过他捷足先登了,” Bednarek 说, “我们不知道这个区块链大盗背后是一个人还是一个团伙,但可以肯定的是,他花费了大量的时间和算力来监视每一笔以太币交易,检测每一个以太币钱包,尝试着去偷走以太币。”
中国观察