Github用户1400枚比特币被盗事件分析
共享财经 2020-09-03 13:00:43发布
82087
摘要:用户在下载钱包更新的时候要注意验证下载URL是否与官方一致,在下载完成后要对钱包的签名进行验证  

有天,你在支付宝操作转账时,弹窗提示你因版本过低而导致转账失败。


币世界-Github用户1400枚比特币被盗事件分析


如果弹窗内不仅仅提示你交易失败,还附上支付宝更新链接,大部分人可能都会顺手点击链接进行更新。


如果这个链接是个钓鱼链接,直接获取了你的转账权限,那么代表你账户内的钱也会被无情转移。


这次,就有一个用户遭遇了类似的情况。


北京时间8月31日,CertiK天网系统 (Skynet) 检测到,Github用户“1400BitcoinStolen”1400枚比特币被盗事件的代币,已开始被输送到多个不同的地址当中。


受害者在electrum的Github issue中讲述了自己丢失了1400个比特币并贴出了自己的比特币钱包地址。


币世界-Github用户1400枚比特币被盗事件分析


在区块链浏览器(参考链接3)中可以看到8月30日一共1404枚BTC(价值1670万美元)从他的钱包中被取出,存入了黑客的钱包中。


币世界-Github用户1400枚比特币被盗事件分析


事件还原与分析


该用户使用的是Electrum比特币钱包,上次使用是在2017年。此后Electrum已经发布了安全更新,但该用户一直没有安装。


用户在使用Electrum进行交易时,钱包会向服务器广播一笔交易,如果这笔交易出现了问题,服务器将返回错误信息并以弹窗的形式展现给用户。


3.3.2版本之前的Electrum钱包不会对服务器返回的错误信息进行验证,甚至还会对返回的信息进行html渲染(参考链接4)。


值得一提的是,任何人都可以去搭建一个Electrum节点服务器。如果一个用户连接到了攻击者的服务器并发起了一笔交易,服务器可以返回任何设计好的错误信息。比如返回一个让用户去更新Electrum钱包的错误信息,如下图所示。


币世界-Github用户1400枚比特币被盗事件分析


然而,图中的链接指向了攻击者自己写的恶意软件,一旦用户下载安装该软件并把自己的钱包导入其中,钱包里所有的比特币就会被攻击者转走。


这其实本质上是一种钓鱼攻击,但由于攻击者发出的钓鱼信息是通过Electrum官方钱包展示出来的,很多人都会信以为真。


在本次事件中,受害者的钱包连接上了攻击者所控制的服务器,导致其收到了服务器发出的钓鱼信息,进而被攻击者转走了自己的所有比特币。


Electrum钱包存在的该问题早在2018年底就引起了广泛讨论(参考链接4)。


Electrum官方在2019年,钱包版本3.3.4中对该问题进行了修复,后续版本的Electrum钱包不再会将服务器返回的内容直接展示给用户,也不会对其进行html渲染。


此外,由于旧版本的钱包仍然存在这个问题,因此所有的正常的服务器会对3.3版本之前的钱包进行拒绝服务(DoS)攻击,以强制用户进行更新(参考链接5)。


CertiK安全团队建议


用户在使用钱包进行交易的时候,需确保钱包为最新版本,已防旧版本的钱包可能存在可被黑客利用的漏洞。


用户在下载钱包更新的时候要注意验证下载URL是否与官方一致,在下载完成后要对钱包的签名进行验证。


对于钱包开发团队,需要寻找专业团队做好测试工作,以免项目出现漏洞给用户带来损失。


参考链接:

1. https://github.com/spesmilo/electrum/issues/5072

2. https://zhuanlan.zhihu.com/p/53920688

3. https://www.blockchain.com/btc/tx/2db616f5b4545805dc1de59bc65b21b548c0d553ab187fa1625ef73c727f1e54

4. https://github.com/spesmilo/electrum/issues/4968

5. http://twitter.com/electrumwallet/status/1106479573917724672


来源:CertiK

比特币
点击进入招聘详情>
微信扫一扫
关注区块链新金融
扫一扫
下载数链APP
内容合作/商务合作:
gxcj@gongxiangcj.com
联系电话:
021-31128751