近日,据慢雾区消息,以太坊代币「假充值」漏洞影响面非常之广,影响对象至少包括:相关中心化交易所、中心化钱包、代币合约等。
慢雾区透露,仅代币合约,据不完全统计就有3619份存在「假充值」漏洞风险,其中不乏知名代币。慢雾安全团队分析此次影响可能会大于USDT「假充值」漏洞攻击事件,由于这不仅是漏洞,而是真实发生的攻击,相关项目方应尽快自查。
对于至少3619份存在「假充值」漏洞风险的代币,慢雾区认为,一般来说最好的方式是重发,并做好新旧代币映射。因为这类代币如果不这样做,会像个「定时炸弹」,你不可能期望所有中心化交易所、中心化钱包等平台方都能做好安全对接,一旦没做好这个「假充值」漏洞的判断,那损失的可是这些平台方。而如果平台方损失严重,对整个市场来说必然也是一种损失。
今早,「慢雾区」公众号发布了以太坊代币「假充值」漏洞细节披露及修复方案,以下为披露全文:
披露时间线
以太坊第四大巨鲸通过Crypto.com交易所增持60,000枚ETH:据KingData数据监控,以太坊第四大加密巨鲸(0x72A53cDBBcc1b9efa39c834A540550e23463AAcB) 6分钟前通过 Crypto.com 交易所增持60,000枚ETH,价值 1.87 亿美元。目前,该巨鲸共持有103,284.43 枚 ETH。[2022/2/8 9:38:08]
以太坊代币「假充值」漏洞影响面非常之广,影响对象至少包括:相关中心化交易所、中心化钱包、代币合约等。单代币合约,我们的不完全统计就有3619份存在「假充值」漏洞风险,其中不乏知名代币。相关项目方应尽快自查。由于这不仅仅是一个漏洞那么简单,这已经是真实在发生的攻击!出于影响,我们采取了负责任的披露过程,这次攻击事件的披露前后相关时间线大致如下:
2018/6/28慢雾区情报,USDT「假充值」漏洞攻击事件披露
2018/7/1慢雾安全团队开始分析知名公链是否存在类似问题
以太坊网络ETH销毁量突破150万枚:金色财经报道,1月14日,据Ultrasound最新数据显示,以太坊网络ETH销毁量已突破150万枚,本文撰写时为1500011.9ETH,价值约合4,834,178,677.09 美元。目前以太坊网络24小时ETH销毁率为11.97ETH/min(约合38,601.33美元/min),区块利用率为50.9%,当前BaseFee为162GWei。[2022/1/15 8:50:25]
2018/7/7慢雾安全团队捕获并确认以太坊相关代币「假充值」漏洞攻击事件
2018/7/8慢雾安全团队分析此次影响可能会大于USDT「假充值」漏洞攻击事件,并迅速通知相关客户及慢雾区伙伴
2018/7/9慢雾区对外发出第一次预警
2018/7/10慢雾安全团队把细节同步给至少10家区块链生态安全同行
2018/7/11细节报告正式公开
美国政府将于明年9月对以太坊开发者Virgil Griffith进行审判:12月23日消息,美国纽约南区的地方法院法官P. Kevin Castel表示,将于2021年9月对以太坊开发者Virgil Griffith进行全面审判。此前消息,去年11月29日,纽约南区美国检察官办公室和联邦调查局宣布,已逮捕并指控以太坊开发者Virgil Griffith违反美国制裁法。罪名是联邦政府指控他于4月非法前往朝鲜,并在“平壤区块链和加密货币会议”上作了陈述。(Coindesk)[2020/12/23 16:17:05]
漏洞细节
以太坊代币交易回执中status字段是0×1(true)还是0×0(false),取决于交易事务执行过程中是否抛出了异常。当用户调用代币合约的transfer函数进行转账时,如果transfer函数正常运行未抛出异常,该交易的status即是0×1(true)。
如图代码,某些代币合约的transfer函数对转账发起人(msg.sender)的余额检查用的是if判断方式,当balances<_value时进入else逻辑部分并returnfalse,最终没有抛出异常,我们认为仅if/else这种温和的判断方式在transfer这类敏感函数场景中是一种不严谨的编码方式。而大多数代币合约的transfer函数会采用require/assert方式,如图:
去中心化预言机网络DOS Network以太坊主网Caelus正式上线:去中心化预言机网络DOS Network以太坊主网Caelus正式上线。DOS Network主网的特性包括:
1. 网络去中心化;
2. 强安全性,实现可验证的随机数引擎的预言机网络及加密签名技术;
3. 实时可验证结果;
4. 高拓展性低成本;
5. 正向奖惩机制,服务网络中完成数据获取或计算任务的诚实节点将获得奖励激励,作恶节点将受到惩罚。
另外,DOS Network的网络浏览器也已上线。[2020/7/11]
当不满足条件时会直接抛出异常,中断合约后续指令的执行,或者也可以使用EIP20推荐的if/elserevert/throw函数组合机制来显现抛出异常,如图:
我们很难要求所有程序员都能写出最佳安全实践的代码,这种不严谨的编码方式是一种安全缺陷,这种安全缺陷可能会导致特殊场景下的安全问题。攻击者可以利用存在该缺陷的代币合约向中心化交易所、钱包等服务平台发起充值操作,如果交易所仅判断如TxReceiptStatus是success就以为充币成功,就可能存在「假充值」漏洞。如图:
动态 | 以太坊钱包MyEtherWallet更新Chrome浏览器扩展程序:金色财经报道,以太坊钱包MyEtherWallet(MEW)已经发布了更新版本的谷歌Chrome浏览器扩展程序,允许用户创建可销毁钱包地址,以与DApps进行交互。销毁地址不持有任何资金,并且未与任何其他现有的钱包地址关联,从而确保了隐私。[2019/10/31]
参考示例TX:
https://etherscan.io/tx/0x9fbeeba6c7c20f81938d124af79d27ea8e8566b5e937578ac25fb6c68049f92e
修复方案
除了判断交易事务success之外,还应二次判断充值钱包地址的balance是否准确的增加。其实这个二次判断可以通过Event事件日志来进行,很多中心化交易所、钱包等服务平台会通过Event事件日志来获取转账额度,以此判断转账的准确性。但这里就需要特别注意合约作恶情况,因为Event是可以任意编写的,不是强制默认不可篡改的选项:
emitTransfer(from,to,value);//value等参数可以任意定义
作为平台方,在对接新上线的代币合约之前,应该做好严格的安全审计,这种安全审计必须强制代币合约方执行最佳安全实践。
作为代币合约方,在编码上,应该严格执行最佳安全实践,并请第三方职业安全审计机构完成严谨完备的安全审计。
后记Q&A
Q:为什么我们采取这种披露方式?A:本质是与攻击者赛跑,但是这个生态太大,我们的力量不可能覆盖全面,只能尽我们所能去覆盖,比如我们第一时间通知了我们的客户,然后是慢雾区伙伴的客户,再然后是关注这个生态的安全同行的客户,最终不得不披露出细节。
Q:为什么说披露的不仅仅是漏洞,而是攻击?A:其实,以我们的风格,我们一般情况下是不会单纯去提漏洞,漏洞这东西,对我们来说太普通,拿漏洞来高调运作不是个好方式。而攻击不一样,攻击是已经发生的,我们必须与攻击者赛跑。披露是一门艺术,没什么是完美的,我们只能尽力做到最好,让这个生态有安全感。
Q:至少3619份存在「假充值」漏洞风险,这些代币该怎么办?A:很纠结,一般来说,这些代币最好的方式是重发,然后新旧代币做好「映射」。因为这类代币如果不这样做,会像个「定时炸弹」,你不可能期望所有中心化交易所、中心化钱包等平台方都能做好安全对接,一旦没做好这个「假充值」漏洞的判断,那损失的可是这些平台方。而如果平台方损失严重,对整个市场来说必然也是一种损失。
Q:有哪些知名代币存在「假充值」漏洞?A:我们不会做点名披露的事。
Q:有哪些交易所、钱包遭受过「假充值」漏洞的攻击?A:恐怕没人会公开提,我们也不会点名。
Q:这些代币不重发是否可以?A:也许可以,但不完美。不选择重发的代币要么很快是发布主网就做“映射”的,要么得做好通知所有对接该代币的平台方的持续性工作。
Q:为什么慢雾可捕获到这类攻击?A:我们有健壮的威胁情报网络,捕获到异常时,我们默认直觉会认为这是一种攻击。
Q:除了USDT、以太坊代币存在「假充值」漏洞风险,还有其他什么链也存在?A:暂时不做披露,但相信我们,「假充值」漏洞已经成为区块链生态里不可忽视的一种漏洞类型。这是慢雾安全团队在漏洞与攻击发现史上非常重要的一笔。
链闻ChainNews:提供每日不可或缺的区块链新闻。
原文作者:萌大大链闻编译:YY版权声明:文章为作者独立观点,不代表链闻ChainNews立场。
来源链接:www.8btc.com
本文来源于非小号媒体平台:
链闻速递
现已在非小号资讯平台发布1篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/3626934.html
以太坊ETH风险安全漏洞
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
三家交易所在政府检查后遭黑客攻击,韩国惹众怒!
下一篇:
慢雾发布以太坊代币「假充值」漏洞细节披露及修复方案
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。