大机构真的安全吗?解读币安、KuCoin、Jump主要钱包的合约授权风险
原文来源:Dilation Effect 与吴说区块链共同发布
主流交易所和机构在网络安全防护上无疑都投入了大量资金和人力,Dilation Effect 无法得知这些机构内部的安全水平和实施细节,但出于好奇,我们想尝试通过公开信息来对这些机构钱包地址做简单分析,见微知著,从普通用户角度来考量这些地址是否存在潜在安全风险,以及潜在风险敞口有多大。
本次快闪点评的数据全部来源于 Etherscan、Debank 等公开服务。
1、分析对象选择
查看 Etherscan 的 Top 1000 Accounts,挑出其中打了标签的机构地址。
2、分析维度选取
由于不了解这些交易所和机构生成和管理钱包的技术细节,该如何对地址的安全性做分析?Dilation Effect 这次选取的维度是分析这些地址的合约授权情况。
因为地址被恶意合约骗取授权或者授权过的合约存在漏洞而导致被盗币是很常见的攻击。限制授权额度、定期清理授权已经成为最佳安全实践。那么这些大型交易所的地址做的如何呢,我们随机挑选几个地址来做分析。
案例一
地址:
Binance 8
这是 Binance 余额最大的钱包地址,ETH 链为 100 亿美金,其他链加起来一共 161 亿美金。部分资产截图如下:
查看此地址在 ETH 链的合约授权情况,发现提示 32 亿美金存在风险。当然这里并不是说一定存在确定性安全风险,这只是一种潜在风险敞口的可能性描述。
那么我们具体来看看此地址是如何做授权的,比如什么币种授权给了什么合约,授权额度如何。以下摘录部分查询结果。
这时我们会发现一个奇怪的现象,就是这个地址上有的币种限制了授权额度,有的币种却直接无限制,授权额度规则看起来并不统一。我们特别关注到 BUSD、Matic、SHIB、SAND 这几个余额较大的币种,地址余额分别为 19 亿美金、 4.6 亿美金、 2.6 亿美金、 1.4 亿美金,相关授权记录如下:
这里存在几个明显的问题:
一是对合约的授权没有定期清理。比如针对 BUSD 的合约授权,两年多过去了都没做过清理,要么没关注到要么觉得没必要。这说明 Binance 在内部安全管理上缺少对这块的系统覆盖。也许有人会说,已经分析过相关授权合约发现这些合约能做的操作有限,相对安全。但我们想说的是,这里首先并不是单纯的技术问题,而更多是安全管理的问题。即 Binance 在这里该如何全面系统的去管理第三方合约带来的风险,我们认为可以做的更严格深入。其实如果仔细看,你会发现 Aave: Lending Pool V2 是个可升级的代理合约,假如(我是说假如)Aave 合约被攻击,这里就是 19 亿美金的损失。
二是大量的币种授权额度无限制。一旦发生相应合约被攻击的极端情况,如果限制了授权额度会相应的降低风险。这同样暴露出 Binance 在内部安全管理上缺少对这块的系统覆盖。当然你会说这都是极端情况,但是对 Crypto 行业来说很多小概率事情历史上就发生了。我们需要提高风险敏感度,对风险要保持极度的厌恶是非常必要的。
三是币种授权规则不统一,有些币种限制了额度,有些完全没限制额度,动作不统一。这说明 Binance 内部安全管理操作不明确,或者内部团队没有做好分工配合。
另外我们也很好奇,资产余额规模如此巨大的地址,为何要频繁参与 Defi 合约的操作呢?Binance 是否可以做出更细粒度的地址规划和隔离设计呢?
案例二
地址:
Kucoin 6
这是 Kucoin 交易所的地址,其 ETH 链上有 17 亿美金,其他链加起来 19 亿美金。此地址资产截图如下:
查看此地址在 ETH 链的合约授权情况,发现提示 11 亿美金存在风险。同样的,这并不是指一定存在安全风险,而只是一种潜在风险敞口的可能性描述。
那么具体来看看 Kucoin 这个地址的授权情况。
哇!我们又发现了一些有意思的东西。
1、此地址的 APE 币种在 2022-04-02 授权给了 Multichain 的跨链 Router 合约,大家应该知道前几天 Multichain 出现了不可抗力因素的事件,但 Kucoin 并没有在第一时间取消对 Multichain 合约的授权。这体现出 Kucoin 在风险应急响应上还存在改进空间。
2、此地址的大金额币种 USDT(5 亿美金)、USDC(2.9 亿美金)、KCS(4.8 亿美金) 等全部都授权给了名为 Bridge 的合约,且授权额度完全无限制。简单分析后发现 Bridge 是 KuCoin 社区链 KCC 的跨链桥合约,但在 KCC 的官网上查看搜索,并没有发现相关的安全审计报告,这不禁又让人心一慌。大家还记得 BNB Chain 的 200 万枚 BNB 攻击事件吗?
案例三
地址:
Jump Trading
这是机构 Jump Trading 的地址,其 ETH 链上有 1.4 亿美金,其他链加起来 1.5 亿美金。此地址资产截图如下:
查看此地址在 ETH 链的合约授权情况,发现提示 2500 万美金存在风险。同样的,这并不是指一定存在安全风险,而只是一种潜在风险敞口的可能性描述。
那么具体来看看 Jump Trading 这个地址的授权情况
可以发现此地址上币种的授权不多,而且绝大部分的授权都做了额度限制,总体上管理得还不错。
但是 USDC 币种在 2021-02-04 授权给了 Curve 合约,未设置限额,且一直未取消。这一点需要做出提醒,如果不需要对应的合约操作,建议立即取消对此合约的授权。
总结
这次的快闪点评到这里就结束了。Dilation Effect 随机抽取了几个交易所和机构地址做分析,从结果来看,这些机构在合约授权方面做得并不是很完美,希望我们的分析能给相关机构提供参考。没有抽取到地址的交易所和机构,也可以参考上文中的分析过程来检查是否存在类似问题。