事件背景
2024年6月,加密货币社区被一场突如其来的争执所震动,这场争执的主角是著名的区块链安全公司CertiK和知名加密货币交易所Kraken。Kraken 于 6 月 9 日收到漏洞赏金报告,称发现了一个「极其严重」的漏洞。虽然团队在数小时时内修复了漏洞,但在深入调查的过程中发现该漏洞被三个账户利用,导致 Kranken 财库近 300 万美元资金被提走。
Kraken将此事视为刑事案件,计划与执法机构进行协调处理。随后安全公司 CertiK称是其发现了 Kraken 中的安全漏洞,且该漏洞可能会导致数亿美元的损失。一时间,对峙双方各执一词,Kraken 将 CertiK 的行为视为「犯罪」,而 CertiK 则要求 Kraken「停止对白帽黑客的任何威胁」。
这一事件不仅在技术层面引起了激烈的讨论,更涉及法律与道德层面的争议。比特丛林将全面回顾事件的全过程,深入分析发现的漏洞技术细节,并探讨其潜在的法律与道德影响。
对峙事件时间线
随着事件的进展,逐渐揭露了更多细节,我们在此基础上整理了事件的详细时间线:
一、5月27日,CertiK的安全研究人员对Kraken进行测试并发现漏洞(尽管CertiK声称是在6月5日才发现并利用了Kraken的漏洞,但链上证据表明,它早已掌握该漏洞)。
二、6月9日:Kraken收到一份漏洞赏金报告,声称发现了一个“极其严重”的漏洞,但未提供具体细节。
三、Kraken的安全团队迅速组建跨职能团队调查漏洞,并发现漏洞的具体情况,即在特定条件下,攻击者可以在未完成存款的情况下增加账户余额。
四、Kraken的安全团队在47分钟内缓解了该漏洞的风险,并在数小时内完全修复了漏洞。
五、Kraken发现有3个账户利用了该漏洞,CertiK先利用漏洞获得了4美元的加密货币(理论上,生成 4 美元时就足以证明漏洞的存在,且该漏洞被 Kraken 评估为‘关键’,这就意味着只要退回生成的 4 美元,就能够向 Kraken 申请 100 至 150 万美元的赏金)。
六、Kraken进一步调查发现,除CertiK公司提供的地址之外,CertiK还利用漏洞非法获取了近300万美元的资金。
七、Kraken曾联系CertiK公司,要求其详细说明活动过程,并归还从漏洞中提取的资金。然而,CertiK拒绝了这一要求,称除非按照漏洞可能造成的损失金额支付奖赏,否则不会退还任何资金。后来,CertiK退还了部分资金,但并非全部。
八、Kraken发布声明,指责CertiK的行为已超出白帽黑客的范畴,并指控其进行敲诈。
九、CertiK公开回应,称其行为是为了增强网络安全,并发布了完整的测试时间线和相关细节。
然而,业内人士提出了证据质疑CertiK公布的时间线的真实性,指称可能存在CertiK早已利用该漏洞长期转移资金的情况。
十、业内人士发推称CertiK 曾对 OKX 和 Coinbase 做过类似测试,以确定这两个交易所是否有 Kraken 相同的漏洞。此外,CertiK的相关地址与Tornado合约有过交互,这个地址可能利用Tornado的混币服务掩盖资金来源和去向,从而规避法律监管和制裁措施。这种行为不仅是对法律的挑战,也进一步增加了CertiK在此次事件中的法律风险和道德争议。
十一、事件经过持续发酵后,近日CertiK称已退还所有资金,且此次事件不涉及真实用户资金损失。Kraken已回应确认,所有被盗资金已全部返还。
尽管目前事件暂告一段落,但未来的进展仍是未知数。或许最终此事将以某种形式的和解结束。接下来,比特丛林将深入分析本次攻击的技术细节,详细揭示漏洞的原理与攻击调用栈,并探讨其可能带来的法律和道德影响。
漏洞原理与攻击过程
黑客攻击调用栈
黑客首先部署了攻击合约
0xe06A1966ADde5A37D9Dad97AA9D8cf669F970185
随后调用该合约的函数0xa04a4c3b,通过低级函数call调用攻击合约的另一个函数0xb6852ff9。
在函数0xb6852ff9中,攻击者向地址
0xa172342297f6e6d6e7fe5df752cbde0aa655e61c充值200MATIC,然后故意触发revert错误。
尽管内部转账事件已生成,由于错误的触发,实际上资金并未到账。
当合约使用send、低级函数call、delegatecall或staticcall时,如果发生异常,它们会返回false作为返回值,而不是将异常返回给父函数。这种机制使得外部交易成功而内部交易失败。
随后,攻击者甚至部署了新的合约,并利用Aave闪电贷进行大额的黑客盗窃攻击,以进一步获取利益。
通过这一系列攻击流程,最终
0xa172342297f6e6d6e7fe5df752cbde0aa655e61c等地址多次从攻击中获利。
Kraken漏洞的根本原因是其后端程序未能正确区分内部转账失败情况,导致误判攻击者虚假支付事件,并未及时触发异常监控和告警。为预防类似事件再次发生,建议交易所改进其交易追踪机制,具体措施包括:
严格区分内外部交易:确保内部交易失败时不会误认为成功。
强化异常处理机制:对所有异常情况进行严格验证和处理。
实时监控与报警:对异常大额和频繁小额转账进行实时监控,并及时发出警报。
定期安全审计:定期对智能合约和后端系统进行安全审计,及时发现并修复潜在漏洞。
法律、道德与安全挑战
该事件引发了广泛的舆论关注和社区讨论,主要集中在以下几个方面:
CertiK的职业道德问题:作为安全公司,合规操作至关重要。然而,CertiK在处理客户资金和披露漏洞时,并未完全符合合规标准。其自主利用漏洞进行资金转移的行为被认为跨越了道德和职业伦理的边界。尽管声称是为了检测和强化网络安全,但这种做法是否符合合规和道德标准备受到广泛质疑。
社区对安全公司的信任:此类事件对整个安全行业的信任产生了负面影响。用户和投资者对于安全公司的独立性、透明度和道德标准提出了更高的要求,希望能够确保其财产和数据的安全性。
法律影响
在法律层面,事件可能涉及以下几个关键点:
盗窃和未经授权访问的法律责任:CertiK和相关安全研究人员可能面临盗窃和未经授权访问的指控。如果他们的行为被认定为非法访问和资金转移,那么他们可能会因此面临刑事或民事诉讼,取决于法院和监管机构的调查和判定,确认他们是否违反了相关法律法规。
利用Tornado的混币服务掩盖资金流向的法律责任:CertiK的相关地址与Tornado合约有过交互,特别是涉及的地址被发现位于美国的制裁名单上。如果这些操作在美国境内进行,可能涉及规避美国的制裁法案。这加剧了其法律风险和道德争议。利用Tornado的混币服务掩盖资金流向可能进一步违反法律监管和制裁措施,这种行为不仅是对法律的挑战,也可能导致严重的法律后果,进一步增加了CertiK在此次事件中的法律风险和道德争议。
综上所述,事件不仅仅是技术漏洞的修复和资金返还,更涉及到法律责任、道德标准和行业规范的重要问题,对加密货币社区和安全行业产生了深远的影响和警示作用。