世界上有一群人,互联网对于他们来说就是提款机。
是的,过去是,现在更是,因为电子货币的出现,他们提款的速度变得更疯狂。
在2017年,我们的蜜罐监测到一起针对以太坊的全球大规模攻击事件,我们将其命名为以太坊“偷渡”漏洞。
通过该漏洞,黑客可以在没有服务器权限、没有keystore密码权限的情况下,转走钱包中的所有余额。
而如此严重的漏洞,1年前就在reddit.com被曝光有黑客在利用,并且最早可追溯到2016年的2月14号就有黑客通过此漏洞窃取到比特币:
近期也有中国的慢雾安全团队揭露了这种攻击手法:
在长达2年的时间里,并没有多少用户关注到,以太坊也没有进行针对性的防护措施,直到今日,以太坊的最新代码中依然没有能够抵御这种攻击。
因此我们决定将我们所掌握的详细数据公布给所有人,希望能促使以太坊的开发者承认并修复该漏洞。
漏洞成因
以太坊目前最流行的节点程序都提供了RPCAPI,用于对接矿池、钱包等其他第三方程序。
杜均:推动NFT走向主流的关键在于如何解决其资产属性问题:5月18日晚,火币联合创始人杜均做客由新浪财经和微博直播联合主办的《超话1?X》连麦专场线上直播,与美国投研机构首席增长官另维、硅谷独立投资人王川和火星财经创始人王峰共同解读“海外大火的NFT投资机会”。
杜均在直播中表示,现实世界对于NFT的市场需求是切实存在、可供挖掘的,NFT面临的将会是一片广阔的蓝海市场,而推动NFT走向主流的关键在于如何解决其资产属性问题。
杜均以游戏领域为例,指出“道具所有权的归属、道具滥发、游戏生命周期短、利益分配不均等游戏产业的问题存在许久,而大部分的游戏装备、角色都是独一无二且能自由流通的,非常适合采用NFT进行表征。”杜均表示,随着链上可扩展性的提升和加密游戏的发展,NFT极有可能融入到未来游戏的经济模型中,形成开放透明信任的游戏生态。
最后杜均提醒到,当前NFT市场上的流动性多数的确来源于投机效应,项目的真实价值是难以量化的,用户需谨慎投资。[2021/5/18 22:16:28]
默认情况下,节点的RPC服务是无需密码就可以进行接口调用,官方实现的RPCAPI也并未提供设置RPC连接密码的功能,因此,一旦将RPC端口暴露在互联网,将会非常危险。
李礼辉:如何进行必要的数字金融制度建设等问题值得关注:12月31日,由清华大学经济管理学院数字金融资产研究中心主办的“数字金融:创新、发展与监管”高端研讨会中,中国银行原行长李礼辉表示,如何能满足适用于我国规模化可靠应用的需求、如何进行必要的数字金融制度的建设、负责数字人民币技术架构的研发、维护、运行等方面工作的机构体制如何设立及如何探索我国主导的全球化数字货币的可行路径是值得关注的重要问题。[2021/1/4 16:22:26]
而我们所捕获的以太坊“偷渡”漏洞,正是利用了以太坊默认对RPC不做鉴权的设计。
被攻击的用户,需要具备以下条件:
节点的RPC端口对外开放节点的RPC端口可直接调用API,未做额外的鉴权保护节点的区块高度已经同步到网络的最新高度,因为需要在该节点进行转账,如果未达到最高度,无法进行转账当用户对自己的钱包进行了解锁,在解锁超时期间,无需再输入密码,便可调用RPCAPI的eth_sendTransaction进行转账操作。
漏洞的关键组成,由未鉴权的RPCAPI服务及解锁账户后有一定的免密码时间相结合,以下是解锁账户的unlockAccount函数:
大咖零距离 | 合约交易秘籍 如何穿越牛熊市:3月27日19:00,金色盘面邀请资深金融从业者,有超20年投资交易经验的丁一老师做客金色财经《大咖零距离》直播间,将分享《合约交易秘籍 如何穿越牛熊市》,敬请关注,欲进群观看直播扫描海报二维码报名即可![2020/3/27]
代码路径:go-ethereum/internal/jsre/deps/api.go
通过函数的实现代码可见,解锁账户的api允许传入超时时间,默认超时为300秒,
真正进行解锁的函数TimedUnlock实现如下:
代码路径:go-ethereum/accounts/keystore/keystore.go
当传入的超时大于0时,会发起一个协程进行超时处理,如果传入的超时时间为0,则是永久不会超时,账户一直处于解锁状态,直到节点进程退出。
详细的用法参考官方文档:https://github.com/ethereum/go-ethereum/wiki/Management-APIs#personal_unlockaccount
动态 | EOS社区在如何使用eosio的资金上存在分歧:据Coindesk消息,EOS区块链上的eosio.saving账户余额不断增加,价值接近1.92亿美元。EOS社区对如何处理这些资金存在分歧。EOS核心工作小组的成员希望看到这些资金被用于造福社会。然而,也有明显的声音,敦促社区关闭WPS,取消其资金来源,“烧掉”或销毁目前在eosio.saving帐户中的所有Token。[2018/8/27]
攻击手法揭秘
1.寻找对外开放以太坊RPC端口的服务器,确认节点已经达到以太坊网络的最高区块高度
黑客通过全球的端口服务扫描,发现RPC服务为以太坊的RPC接口时,调用eth_getBlockByNumber(‘last’,false),获取最新的区块高度。
但是由于有些以太节点是以太坊的分叉币,高度与以太坊的不一样,因此黑客即使发现节点高度与以太坊的高度不一样,也不会放弃攻击。
2.调用eth_accounts,获取该节点上的所有账户。
eth_accounts的请求将返回一个账户地址列表:
金色财经现场报道 海纳云CTO邹均:区块链技术难点在于如何让所有节点统一步调:金色财经现场报道,在2018区块链技术及应用峰会上,海纳云CTO邹均认为,区块链技术当前的限制难点在分布式系统中让所有节点统一步调,区块链目前存在性能限制、扩展性限制、易用性限制、兼容性跨链互联限制、存储限制、治理限制、软件升级限制等问题。[2018/3/31]
3.调用eth_getBalance,查询地址余额。
这个过程黑客可在自己的服务器完成以太坊的余额查询,因为以太坊的区块链账本数据库是随意公开获取的。
有部分黑客没有搭建以太坊的全节点,没有自行查询余额,因此也会在被攻击服务器进行eth_getBalance操作。
4.持续调用转账操作,直到刚好用户用密码解锁了钱包,完成非法转账操作的“偷渡”
黑客会构造eth_sendTransaction的转账操作,并填写余额、固定的手续费:
{“jsonrpc”:”2.0″,”id”:2,”method”:”eth_sendTransaction”,”params”:}{“jsonrpc”:”2.0″,”id”:2,”method”:”eth_sendTransaction”,”params”:}{“jsonrpc”:”2.0″,”id”:2,”method”:”eth_sendTransaction”,”params”:}
其中的value的单位是以太的最小单位:wei,计算为以太的话需要除10的18次方:
0x112345fc21234500019758522752314920960L19758522752314920960L/100000000000000000019L
黑客会持续发转账操作,并定期监控余额变化,更新转账的金额,直到用户使用钱包,输入密码解锁了钱包,此时钱包余额会立即被转走。
快速漏洞测试
安装python的web3库,然后连接RPC端口,发起请求,如果获取到返回结果,便可能存在该漏洞。
参考:http://web3py.readthedocs.io/en/stable/quickstart.html
fromweb3importWeb3,HTTPProvider,IPCProviderweb3=Web3(HTTPProvider(‘http://ip:port’))printweb3.eth.blockNumber
黑客解密及IOCs情报
黑客钱包
目前我们掌握了3个黑客的钱包收款地址,未转走的账户余额为2220万美金:
https://etherscan.io/address/0x957cD4Ff9b3894FC78b5134A8DC72b032fFbC464,余额为38,076ETH,最早进账为2016-2-14,最新进账为2018-3-21
https://etherscan.io/address/0x96a5296eb1d8f8098d35f300659c95f7d6362d15,余额为321ETH,最早进账为2016-8-10,最新进账为2017-11-28。
https://etherscan.io/address/0xdc3431d42c0bf108b44cb48bfbd2cd4d392c32d6,余额为330ETH,最早进账为2018-2-06,最新进账为2018-3-20。
黑客攻击源IP
146.0.249.87162.251.61.133190.2.133.11485.14.240.84
目前大部分的黑客使用https://github.com/regcostajr/go-web3进行频繁API请求,如果有看到大量user-agent为“Go-http-client/1.1”的POST请求时,请记录下请求内容,确认是否为恶意行为。
紧急响应及修复建议
关闭对外暴露的RPC端口,如果必须暴露在互联网,请使用鉴权:https://tokenmarket.net/blog/protecting-ethereum-json-rpc-api-with-password/借助防火墙等网络防护软件,封堵黑客攻击源IP检查RPC日志、web接口日志,是否有异常大量的频繁请求,检查请求内容是否为eth_sendTransaction等待以太坊更新最新代码,使用修复了该漏洞的节点程序文章来源:BLS区块链安全实验室
来源链接:www.gongxiangcj.com
本文来源于非小号媒体平台:
共享财经
现已在非小号资讯平台发布1篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/3626768.html
以太坊ETH漏洞风险安全
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
美国国家安全局被曝追踪大量比特币用户
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。