该攻击不会导致交易所任何资金损失,但是会锁定了交易所XMR流动性。
原文标题:《门罗币(XMR)锁定转账攻击细节分析》作者:team
近日据慢雾区情报显示,针对门罗币(XMR)转账锁定攻击在多个交易所出现,慢雾安全团队在收到情报第一时间进行分析跟进,本着负责任披露的原则我们第一时间在慢雾区进行了预警并为我们所服务的客户进行了及时的情报同步以及协助检测和修复。如有其他需要提供验证和检测服务欢迎联系慢雾安全团队。
攻击步骤
0x01:通过monero-wallet-cli输入密码登录钱包
0x02:通过命令发送锁定交易
慢雾:攻击者系通过“supply()”函数重入Lendf.Me合约 实现重入攻击:慢雾安全团队发文跟进“DeFi平台Lendf.Me被黑”一事的具体原因及防御建议。文章分析称,通过将交易放在bloxy.info上查看完整交易流程,可发现攻击者对Lendf.Me进行了两次“supply()”函数的调用,但是这两次调用都是独立的,并不是在前一笔“supply()”函数中再次调用“supply()”函数。紧接着,在第二次“supply()”函数的调用过程中,攻击者在他自己的合约中对Lendf.Me的“withdraw()”函数发起调用,最终提现。慢雾安全团队表示,不难分析出,攻击者的“withdraw()”调用是发生在transferFrom函数中,也就是在Lendf.Me通过transferFrom调用用户的“tokensToSend()”钩子函数的时候调用的。很明显,攻击者通过“supply()”函数重入了Lendf.Me合约,造成了重入攻击。[2020/4/19]
0x03:转账完成,交易所未进行锁定交易(locked_transfer)检测,接收到被设置锁定区块高度才能解锁的币(可以理解为锁定了指定时间)。
动态 | 慢雾:9 月共发生 12 起较典型的安全事件,供应链攻击趋势愈发明显:过去的 9 月区块链生态共发生 12 起较典型的安全事件,包括:EOSPlay 遭受新型随机数攻击、资金盘项目 FairWin 智能合约权限管理缺陷、EOS 黑名单账号 craigspys211 利用新晋 BP 黑名单缺陷转移走 19.999 万枚 EOS 等典型安全事件。此外,慢雾区块链威胁情报(BTI)系统监测发现,针对区块链生态的供应链攻击越来越多,形如:去年 11 月慢雾披露的污染 NPM 模块 EventStream、今年 7 月披露的对数字货币钱包 Agama 构建链的攻击、今年 8 月披露的针对数字货币行情/导航站的 URL 劫持攻击,还有 9 月慢雾披露的针对交易所使用的第三方统计、客服 js 的恶意代码植入,进行实施盗币攻击。[2019/10/1]
0x04:恶意用户立即提币走人,留下交易所一脸懵逼。
声音 | 慢雾:99%以上的勒索病使用BTC进行交易:据慢雾消息,勒索病已经成为全球最大的安全威胁之一,99%以上的勒索病使用BTC进行交易,到目前为止BTC的价格已经涨到了一万多美元,最近一两年针对企业的勒索病攻击也越来越多,根据Malwarebytes统计的数据,全球TO B的勒索病攻击,从2018年6月以来已经增加了363%,同时BTC的价格也直线上涨,黑客现在看准了数字货币市场,主要通过以下几个方式对数字货币进行攻击:
1.通过勒索病进行攻击,直接勒索BTC。
2.通过恶意程序,盗取受害者数字货币钱包。
3.通过数字货币网站漏洞进行攻击,盗取数字货币。[2019/8/25]
造成影响
首先该攻击不会导致交易所任何资金损失,但是会锁定了交易所XMR流动性。
极端情况举例:如果交易所收到的都是需要锁定一年甚至更多年的门罗币则会导致一年内用户来提币的时候无币可以提(只能去购买额外的币来给用户提取)。
关于locked_transfer命令
monero-wallet-cli关于locked_transfer命令解释如下:
locked_transfer](|)
转账命令:locked_transferFromAddressToAddress0.010120000
FromAddress:发送地址(一般为攻击者钱包地址)ToAddress:接收地址(一般为交易所钱包地址)0.0101:为转账金额20000:为锁定区块数
如何防护
一般交易所会通过get_transfersRPC接口来解析XMR交易检测充值是否到账,在进行解析的时候只需要对unlock_time字段进行判断是否大于0则可以进行有效检测。
注:unlock_time为int类型,如果大于0则意味着该交易有锁定区块,为恶意交易可以不予确认到账。为了避免充值不予到账损害「用户」利益可以进行另外一种处理:判断锁定区块是否到达,如果未到达则不予入账。
所有受影响RPC接口
get_transferget_bulk_paymentsshow_transferget_payments
同理:在其他地方使用了如上四个接口的地方也需要对unlock_time字段进行判断是否大于0,大于0则不予充值到账。
该问题之前在HackerOne也有被白帽子提过漏洞赏金,其中门罗官方回复:
文章链接:https://hackerone.com/reports/417515
附:官方文档摘录
来源链接:mp.weixin.qq.com
本文来源于非小号媒体平台:
Chinanews
现已在非小号资讯平台发布1篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/4090323.html
门罗币XMR
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
详解DeFi借贷项目资产安全性:以MakerDAO、Compound与Dharma为例
下一篇:
币安与黑客谈判记录首次披露,梳理币安KYC泄露事件始末
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。