该攻击不会导致交易所任何资金损失,但是会锁定了交易所XMR流动性。
原文标题:《门罗币(XMR)锁定转账攻击细节分析》作者:team
近日据慢雾区情报显示,针对门罗币(XMR)转账锁定攻击在多个交易所出现,慢雾安全团队在收到情报第一时间进行分析跟进,本着负责任披露的原则我们第一时间在慢雾区进行了预警并为我们所服务的客户进行了及时的情报同步以及协助检测和修复。如有其他需要提供验证和检测服务欢迎联系慢雾安全团队。
攻击步骤
0x01:通过monero-wallet-cli输入密码登录钱包
0x02:通过命令发送锁定交易
0x03:转账完成,交易所未进行锁定交易(locked_transfer)检测,接收到被设置锁定区块高度才能解锁的币(可以理解为锁定了指定时间)。
0x04:恶意用户立即提币走人,留下交易所一脸懵逼。
造成影响
首先该攻击不会导致交易所任何资金损失,但是会锁定了交易所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泄露事件始末
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。