在刚刚结束的鲸交所见面会厦门站活动现场,特邀演讲嘉宾慢雾科技创始人余弦面对主持人和观众的“灵魂拷问”,以代码审计方、黑客的视角,用专业、有力、幽默的方式,给予了精彩的解答。
以下摘取了慢雾科技创始人余弦与鲸交所CEO俊晶在提问环节时的精彩言论,让我们换个视角来看鲸交所。
提问:鲸交所的代码在你们审计的500多个项目中处于怎样的水平?
余弦:我们合作的时候也很看重项目方的研发实力。在对鲸交所的审计过程中,会特别去看用户资产相关的管理,还有关于签名数据验证等。这些如果做不好,会直接危害到用户资产。还有风控方面,在代码审计上主要指数据或者资产,因为攻防是一个系统化的整体。
鲸交所的审计重点在合约。当时在审计的时候,其实考验还是很大的,单靠一些工具或者算法,比如像现在比较流行的形式化验证,是不够的,还要满足具体的业务场景需求,这是关键。
慢雾:Grafana存在账户被接管和认证绕过漏洞:金色财经报道,据慢雾消息,Grafana发布严重安全提醒,其存在账户被接管和认证绕过漏洞(CVE-2023-3128),目前PoC在互联网上公开,已出现攻击案例。Grafana是一个跨平台、开源的数据可视化网络应用程序平台,用户配置连接的数据源之后,Grafana可以在网络浏览器里显示数据图表和警告。Grafana根据电子邮件的要求来验证Azure Active Directory账户。在Azure AD上,配置文件的电子邮件字段在Azure AD租户之间是不唯一的。当Azure AD OAuth与多租户Azure AD OAuth应用配置在一起时,这可能会使Grafana账户被接管和认证绕过。其中,Grafana>=6.7.0受到影响。加密货币行业有大量平台采用此方案用来监控服务器性能情况,请注意风险,并将Grafana升级到最新版本。[2023/6/25 21:58:31]
所以,我们特别在意整个合约的逻辑性,这也是鲸交所合约复杂之处。基本上,用户从授权、充值、提现,包括一些管理和操作,我们都会看,还有一些外部接口等。因为这些接口在合约上,合约在链上,有些工具可以直接标准化。如果这部分风控没有做好的话,我们审计中也会发现。
慢雾:Rubic协议错将USDC添至Router白名单,导致已授权合约用户USDC遭窃取:12月25日消息,据慢雾安全团队情报,Rubic跨链聚合器项目遭到攻击,导致用户账户中的USDC被窃取。慢雾安全团队分享如下:1. Rubic是一个DEX跨链聚合器,用户可以通过RubicProxy合约中的routerCallNative函数进行Native Token兑换。在进行兑换前,会先检查用户传入的所需调用的目标 Router是否在协议的白名单中。
2. 经过白名单检查后才会对用户传入的目标Router进行调用,调用数据也由用户外部传入。
3. 不幸的是USDC也被添加到Rubic协议的Router白名单中,因此任意用户都可以通过RubicProxy合约任意调用USDC。
4. 恶意用户利用此问题通过routerCallNative函数调用USDC合约将已授权给RubicProxy合约的用户的USDC通过transferFrom接口转移至恶意用户账户中。
此次攻击的根本原因在于Rubic协议错误的将USDC添加进Router白名单中,导致已授权给RubicProxy合约的用户的USDC被窃取。[2022/12/26 22:07:00]
我们审鲸交所合约花了很长时间,我们拿到审计文档,然后鲸交所团队过来我们这里密切交流,了解业务层的一些设计考虑,即使这样,我们还算是花了一个月的时间,这只是第一期上线前的审计。
慢雾安全预警:Solana出现恶意合约授权钓鱼事件 可转走用户全部原生资产:3月5日消息,Solana上出现多起授权钓鱼事件。攻击者批量给用户空投 NFT (图 1) ,用户通过空投 NFT 描述内容里的链接 (www_officialsolanarares_net) 进入目标网站,连接钱包(图 2),点击页面上的“Mint”,出现批准提示框(图 3)。注意,此时的批准提示框并没有什么特别提示,当批准后,该钱包里的所有 SOL 都会被转走。当点击“批准”时,用户会和攻击者部署的恶意合约交互:3VtjHnDuDD1QreJiYNziDsdkeALMT6b2F9j3AXdL4q8v
该恶意合约的功能最终就是发起“SOL Transfer”,将用户的 SOL 几乎全部转走。从链上信息来看,该钓鱼行为已经持续了几天,中招者在不断增加。
提醒:1. 恶意合约在用户批准(Approve)后,可以转走用户的原生资产(这里是 SOL),这点在以太坊上是不可能的,以太坊的授权钓鱼钓不走以太坊的原生资产(ETH),但可以钓走其上的 Token。于是这里就存在“常识违背”现象,导致用户容易掉以轻心。
2. Solana 最知名的钱包 Phantom 在“所见即所签”安全机制上存在缺陷(其他钱包没测试),没有给用户完备的风险提醒。这非常容易造成安全盲区,导致用户丢币。(慢雾区)[2022/3/5 13:39:42]
现在鲸交所合约多签,我们是有一票否决权,如果我们发现更新后有安全问题,我们就会否定,不通过。
慢雾:Spartan Protocol被黑简析:据慢雾区情报,币安智能链项目 Spartan Protocol 被黑,损失金额约 3000 万美元,慢雾安全团队第一时间介入分析,并以简讯的形式分享给大家参考:
1. 攻击者通过闪电贷先从 PancakeSwap 中借出 WBNB;
2. 在 WBNB-SPT1 的池子中,先使用借来的一部分 WBNB 不断的通过 swap 兑换成 SPT1,导致兑换池中产生巨大滑点;
3. 攻击者将持有的 WBNB 与 SPT1 向 WBNB-SPT1 池子添加流动性获得 LP 凭证,但是在添加流动性的时候存在一个滑点修正机制,在添加流动性时将对池的滑点进行修正,但没有限制最高可修正的滑点大小,此时添加流动性,由于滑点修正机制,获得的 LP 数量并不是一个正常的值;
4. 随后继续进行 swap 操作将 WBNB 兑换成 SPT1,此时池子中的 WBNB 增多 SPT1 减少;
5. swap 之后攻击者将持有的 WBNB 和 SPT1 都转移给 WBNB-SPT1 池子,然后进行移除流动性操作;
6. 在移除流动性时会通过池子中实时的代币数量来计算用户的 LP 可获得多少对应的代币,由于步骤 5,此时会获得比添加流动性时更多的代币;
7. 在移除流动性之后会更新池子中的 baseAmount 与 tokenAmount,由于移除流动性时没有和添加流动性一样存在滑点修正机制,移除流动性后两种代币的数量和合约记录的代币数量会存在一定的差值;
8. 因此在与实际有差值的情况下还能再次添加流动性获得 LP,此后攻击者只要再次移除流动性就能再次获得对应的两种代币;
9. 之后攻击者只需再将 SPT1 代币兑换成 WBNB,最后即可获得更多的 WBNB。详情见原文链接。[2021/5/2 21:17:59]
提问:鲸交所的合约在不断迭代更新,慢雾团队日常是如何监看合约变动的呢?
动态 | 慢雾: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]
余弦:我们开发了EOS天眼这个产品,用来监测链上合约的变动,任何用户都可以到我们平台上,订阅你关注的合约,这个合约如果有更新,我们会自动发邮件给你提示。
提问:跨链进展如何?跨链后鲸交所还安全吗?
俊晶:已经全部开发完成!很快将有独家跨链资产首发鲸交所!
余弦:有我们在,当然安全了!
提问:曾有一个关于交易所安全的评分,其中安全最高的是Coinbase,大概80多分,第二名好像是币安40-50分。余弦怎么看这个评分?鲸交所自评有多少分?
余弦:这些评分基本都不靠谱的,考量的指标都比较简单。因为你真的要去评估交易所,如果没有和团队或内部核心开发紧密交流的话,都很难做出客观的评价。
俊晶:打分不太合适,还是请慢雾来评价。对于安全,我认为,一方面是成本投入,一方面是意识。交易所从上之下都要重视。鲸交所与慢雾有过非常深度和密切的交流。
余弦:我们评价,就不按照分数来了,按照对抗的级别来,可以分为国家级、省级、县级、村级等,很遗憾,没有一家能挡住国家级的。鲸交所至少在省级。
俊晶:关于“国家级”,再补充一句:如果是国家需要,我们捐给国家!不过,大家的资产鲸交所无法触碰,用户自己掌控资产权限,所以用户资产是无法捐出去的啊!
余弦:慢雾也一样!
提问:今天现场很多都是鲸东,他们都很关心团队的情况。慢雾团队和鲸交所团队有着较长时间合作,应该说是最紧密的伙伴了,因为要去同步审计他们的合约情况。从你的角度来评价,鲸交所是怎样的一个团队?
余弦:我们拜访过鲸交所,之前主要在上海,现在在杭州,对团队感觉战斗力非常强,能力非常强,战略战术的打法很清晰。去鲸交所去看下就能感受到“996”了!
提问:你们审计后一般都会给项目方一个证书进行评价。给鲸交所审计完,你们证书上给的评价是什么?
余弦:那肯定是优秀了!
提问:鲸交所是基于EOS开发的,假如有一条新的公链出来,超越了EOS,你们会怎么做?
俊晶:EOS是当时我们的最优选择,EOS交易免费和TPS高,我们在以太坊根本没法用。我认为,目前的公链中,都不足以支持WEB3.0。
鲸交所从设计之初到现在,我们都保留了迁移的能力。如果有更好的公链,我们会考虑的。我们目前已经有多链资产,不会局限在一个链上。我们的原则是,选择最合适的链,做去中心化的交易所。
提问:关于去中心化交易所的定义,有不同的说法。有的去中心化交易所不碰用户资产,也不通过合约托管。相比现在鲸交所目前的形态来说,哪个更好?
俊晶:从交易所的业务来看,不托管用户资产的这种去中心化交易所,在以太坊上就有的——以德。但以德最终还是小水洼里面的DEX。为什么?
交易所到底是为了去中心化而去中心化?还是一门运营的生意?刚你提到的这种DEX,合约其实很容易,直接部署在EOS上,目前国内外都有。
但交易所是强运营的事情,无法单纯的应用去中心化的技术来实现平台的高速运转和成长。再有,用户使用EOS需要处理CPU、RAM等,这些与用户间的摩擦,是无法让用户留存的。
我们举例鲸矿池,鲸矿池你投入后什么都不用管。其实,在EOS中投票权是随着时间有衰减的,如果是你个人,就需要自己去处理这些来实现利益最大化,而目前我们是平台来做的。一种是放在那不用管的躺赚,一种是需要自己处理操作,你会选择哪个?
这只是DEX的一个细节,还有很多。用户体验好,才能让DEX流行起来。我们选择这种模式,也与愿景有关。
余弦:两个团队互相交流很多,我们审计除了合约外,还有非合约层的代码,包括业务层、风控等。比较惊讶地是,鲸交所对安全的细节很在意。“在意”分为两种,一种是不懂,一种是很懂,知道敬畏,鲸交所属于后者。
合约多签是鲸交所第一个做的,每个版本都需要我们审计的,很少有项目这样做。当然,同时也能看出他们996挺疯狂的。后来我跟他们说,你们也不用不好意思找我们,因为我们是7*24小时的。
在安全方面,鲸交所做的很多,很确定的是,用户的资产绝对是在你们自己这里的。鲸交所官方是没法作恶的,内部出问题也没法作恶,好几个角色在把关。比如说私钥,有人可能担心用鲸交所App私钥在本地保存的,是否能提取出来?这些我们有验证,他们做了很多密码学的加密,破解很难。
还有离线保险箱,他们首创的,防止苹果企业证书掉签,很多安全上的做法,都走在行业最前面,会给同业或其他产品很多启发。慢雾内部有独立团队专门响应鲸交所。
回到提问,关于多少比例是去中心化的,这个意义不大,重要看两点:一是用户资产的权限一定要在你自己这里。二是误操作你的权限丢了怎么处理。这两点上,鲸交所是我们看到做的最好的。至于业务层的平衡,这是很好理解的。
提问:假设鲸交所CEO俊晶有一天要是跑路了,鲸交所的合约、用户资产是否会出问题?
余弦:大家都知道Google有句话:don'tbeevil,鲸交所已经做到了can'tbeevil。
结语
去中心化交易所一定是未来的趋势,而鲸交所已经走在了前列,正在迈向星辰大海,让我们拭目以待!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。