背景概述
2022年8月3日,Solana公链上发生大规模盗币事件,大量用户在不知情的情况下被转移SOL和SPL代币。慢雾安全团队第一时间介入分析,并在Slope团队的邀请下对Slope钱包应用进行分析,分析表明:Slope钱包在2022年6月24日及之后发布的版本存在向第三方应用监控服务发送私钥或助记词信息的现象。但从对Slope钱包应用进行调查到现在,无法明确证明此次事件的根源就是Slope钱包的问题,于是慢雾安全团队开始对Slope的服务器进行分析取证。分析过程
事件发生之后各方的关注点主要聚焦在调查本次事件的根源以及资金的追踪和挽救的可能性。于是慢雾安全团队制定相关的计划,开始从链下和链上两个部分着手调查和分析。在事件根源调查这个方向上,慢雾安全团队重点专注在对Slope服务器的分析取证。这里面有大量且复杂的工作需要推进,也需要有更多明确的证据来解释这次的大规模盗币事件的根源。资金追踪和挽救的可能性这部分工作,慢雾安全团队主要依靠MistTrack的追踪分析能力、标签数据能力并结合情报能力,尽最大的努力识别和追踪黑客的链上行为。并且也和Slope团队沟通交流挽救的可能性,Slope团队也在尝试与黑客沟通希望通过发布漏洞赏金的方式,鼓励黑客归还资产,共同维护Solana这个生态的健康发展。本篇仅向社区用户同步阶段性的调查情况,还有很多的分析工作正在进行,并且不断推进。各方人员不仅是慢雾,还有其他第三方安全团队,以及一些特殊力量也在努力帮忙调查中,希望这次事件最终能够有相对明确的结论。注:本文所提到的Sentry服务指的是Slope团队私有化部署的Sentry服务,并非使用Sentry官方提供的接口和服务。一些疑问点
在同步分析的情况之前,我们先来回答上篇文章的分析过程中的一些疑问点:1.Sentry的服务收集用户钱包助记词的行为是否属于普遍的安全问题?答:Sentry主要用于收集相关应用服务在运行状态时出现的异常或者错误日志信息,在配置错误的情况下,可能会收集到预期之外的数据,如:私钥或助记词等信息,因此并非普遍存在的安全问题。开发人员在使用第三方应用监控服务切记不能在生成环境中开启Debug模式。2.Phantom使用了Sentry,那么Phantom钱包会受到影响吗?答:虽然Phantom使用了第三方应用监控服务但是慢雾安全团队通过对Phantom钱包历史各版本的监测,并未明显发现Sentry上传私钥/助记词的行为。3.SolanaFoundation提供的调研数据显示本次事件近60%被盗用户使用Phantom钱包,30%左右地址使用Slope钱包,其余用户使用TrustWallet等,那这60%被盗用户被黑的原因是什么呢?答:经过比对发现服务器上的私钥和助记词派生出来的地址与受害者地址有交集的有5个ETH地址和1388个Solana地址。目前的调查情况看,还没有明确的证据能够解释另外部分用户钱包被黑的原因。4.Sentry作为一个使用非常广泛的服务,会不会是Sentry官方遭遇了入侵?从而导致了定向入侵加密货币生态的攻击?答:目前暂无证据表明Sentry官方遭到了入侵和攻击,Slope钱包使用的Sentry是内部搭建的服务,因此和官方服务被入侵无直接关系。链下分析部分
慢雾:针对传言火币信息泄漏事件不涉及用户账户与资金安全 请保持客观冷静对待:据官方消息,慢雾注意到近日有白帽子公开了此前一个火币已经处理完毕的过往漏洞信息。经慢雾与火币官方确认,火币本着负责任披露信息的策略,对本次事件做以下说明:本次事件是小范围内(4000人)的用户联络信息泄露,信息种类不涉及敏感信息,不涉及用户账户与资金安全。事件发生于2021年6月22日日本站测试环境S3桶相关人员不规范操作导致,相关用户信息于2022年10月8日已经完全隔离,日本站与火币全球站无关。本次事件由白帽团队发现后,火币安全团队2023年6月21日(10天前)已第一时间进行处理,立即关闭相关文件访问权限,当前漏洞已修复,所有相关用户信息已经删除。感谢白帽团队对于火币安全做出的贡献。最后提醒请大家冷静对待,切勿传谣。[2023/7/1 22:12:01]
链下部分慢雾安全团队主要聚焦排查链下服务器、相关后台等被入侵的可能性,工作的重点是对Slope服务器进行外围服务器资产风险排查,服务器的入侵痕迹排查,Sentry数据库分析,服务器镜像分析,DNS劫持的可能性分析。如下是排查和分析的情况:1.外围服务器资产风险排查
Slope团队知道Slope钱包回传助记词和私钥信息之后,第一时间就关停了Slope钱包相关的服务。因此Slope钱包相关的服务已经不能通过直接访问,慢雾安全团队依靠互联网搜索引擎等工具对Slope外围服务器资产进行信息收集,包括slope.finance域名下的子域名和IP等进行模拟渗透测试分析,排查从外围可能存在的入侵风险点,通过分析和渗透测试并未发现存在可被直接入侵的风险点。2.服务器的入侵痕迹排查
主要对第三方应用监控服务器进行内部排查,包括服务器登录日志,系统历史操作命令,可疑进程,可疑网络连接,可疑系统计划任务,数据删除和获取操作等,服务器内部还有5个Docker服务也进行同样的入侵痕迹排查。排查发现几个可疑登录IP为:113.*.*.*,114.*.*.*,153.*.*.*,这些IP是在06.24之前访问过第三方应用监控服务的后台。虽然这发生在回传私钥和助记词的时间之前,但是仍然存在可疑。3.PostgreSQL数据库分析
慢雾:利用者通过执行恶意提案控制了Tornado.Cash的治理:金色财经报道,SlowMist发布Tornado.Cash治理漏洞解析。 5月20日,Tornado.Cash遭受了治理攻击,利用者通过执行恶意提案控制了Tornado.Cash的治理。5月13日,利用者发起了20提案,并在提案中说明20提案是对16提案的补充,具有相同的执行逻辑。但实际上,提案合约多了一个自毁逻辑,其创建者是通过create2创建的,具有自毁功能,所以在与提案合约自毁后,利用者仍可以部署不同的以与以前相同的方式将字节码发送到相同的地址。不幸的是,社区没有看到拟议合约中的犯规行为,许多用户投票支持该提案。
在5月18日,利用者通过创建具有多个交易的新地址,反复将0代币锁定在治理中。利用提案合约可以销毁并重新部署新逻辑的特性,利用者在5月20日7:18(UTC)销毁了提案执行合约,并在同一地址部署了一个恶意合约,其逻辑是修改用户在治理中锁定的代币数量。
攻击者修改完提案合约后,于5月20日7:25(UTC)执行恶意提案合约。该提案的执行是通过 Delegatecall 执行的,因此,该提案的执行导致治理合约中由开发者控制的地址的代币锁定量被修改为 10,000。提案执行完成后,攻击者从治理库中解锁了TORN代币。金库中的TORN代币储备已经耗尽,同时利用者控制了治理。[2023/5/21 15:17:00]
由于助记词和私钥被Slope钱包的第三方应用监控服务回传到服务器上,所以慢雾安全团队也对服务器中可能存在私钥或助记词的位置进行了分析,分析发现私钥或助记词较大可能会留存在如下位置:Sentry的数据库表中PostgreSQL的数据库日志中镜像磁盘已删除的数据中Docker运行时的数据文件中在分析过程中发现第三方应用监控服务采用了PostgreSQL数据库,其中nodestore_node表的data字段里发现存在第三方应用监控服务采集的私钥和助记词数据。经过分析调查得到以下信息:私钥和助记词数据内容在nodestore_node表的数据库记录时间为2022.7.28-2022.8.5。慢雾安全团队通过对数据解密和分析,发现私钥或助记词数据内容中记录的最早是2022.6.29上传的数据,也就是说Sentry在6月29号采集的数据延迟了一个月的时间才在2022.7.28开始陆续被存储到了PostgreSQL数据库的nodestore_node表,但是这部分延时的数据占较少,大部分的私钥和助记词采集的时间是集中在2022.07.28-2022.08.05。进一步排查数据库操作日志,发现在7.28之前nodestore_node表存在SQL语句执行失败的记录,原因是键值冲突,经过深入排查和沟通发现是由于Kafka服务出错导致没有进行数据写入。由于部分数据在日志记录和数据恢复的时候暂时不能恢复出完整的数据,需要进一步对数据进行修复,因此优先解密可以被完整恢复的数据,解密出来的地址数量为189个ETH地址和4914个Solana地址,有5073组助记词,而链上黑客事件的钱包地址有42个ETH地址和9231个Solana地址,经过比对发现服务器上的私钥和助记词派生出来的地址与受害者有交集的地址有5个ETH地址和1388个Solana地址。在数据库操作日志中还发现另一个内部测试的应用com.slope.game在3月份也存在私钥和助记词的上报数据,该内部测试应用并未对外发布。4.服务器镜像分析
慢雾:BXH 第一次被盗资金再次转移,BTC 网络余额超 2700 BTC:金色财经报道,10月8日凌晨(UTC+8),慢雾监控到 BXH 第一次被盗资金再次出现异动,经慢雾 MistTrack 分析,异动详情如下:
黑客地址 0x48c9...7d79 将部分资金(213.77 BTCB,5 BNB 和 1 ETH)转移至新地址 0xc01f...2aef,接着将资金兑换为 renBTC 跨链到 BTC 网络,跨链后地址为 1JwQ...u9oU。1JwQ...u9oU 在此次转移中接收到的总资金为 204.12 BTC。截止目前,BXH 第一次被盗事件在 BTC 网络共有 4 个黑客地址,总计余额为 2701.3 BTC,暂未进一步转移。慢雾 MistTrack 将持续监控被盗资金的转移。[2022/10/8 12:49:28]
慢雾安全团队对Sentry的云服务器的镜像进行分析,并对服务器磁盘已删除的数据进行恢复,并在恢复后的数据中发现了私钥和助记词信息。5.DNS劫持的可能性分析
慢雾安全团队通过各方的能力以及全球情报资源,包括对DNS解析数据查询和分析,目前暂无明确证据能够证明域名o7e.slope.finance曾经发生过DNS劫持事件。链下调查和分析的阶段性结论:就现阶段的调查和分析的情况看,未发现外围服务器可以直接被入侵的风险点;未发现服务器被入侵的痕迹但是对可疑IP仍需要继续调查;DNS劫持的可能性较小;已在数据库表、数据库日志文件、磁盘已删除文件恢复后的数据中发现了私钥和助记词信息。链上分析部分
链上部分主要聚焦于风险资金评估、被盗资金转移和黑客痕迹分析,重点梳理分析了以下几点内容:1.风险资金评估
慢雾:Equalizer Finance被黑主要在于FlashLoanProvider合约与Vault合约不兼容:据慢雾区消息,6 月 7 日,Equalizer Finance 遭受闪电贷攻击。慢雾安全团队以简讯形式将攻击原理分享如下:
1. Equalizer Finance 存在 FlashLoanProvider 与 Vault 合约,FlashLoanProvider 合约提供闪电贷服务,用户通过调用 flashLoan 函数即可通过 FlashLoanProvider 合约从 Vault 合约中借取资金,Vault 合约的资金来源于用户提供的流动性。
2. 用户可以通过 Vault 合约的 provideLiquidity/removeLiquidity 函数进行流动性提供/移除,流动性提供获得的凭证与流动性移除获得的资金都受 Vault 合约中的流动性余额与流动性凭证总供应量的比值影响。
3. 以 WBNB Vault 为例攻击者首先从 PancekeSwap 闪电贷借出 WBNB
4. 通过 FlashLoanProvider 合约进行二次 WBNB 闪电贷操作,FlashLoanProvider 会先将 WBNB Vault 合约中 WBNB 流动性转给攻击者,随后进行闪电贷回调。
5. 攻击者在二次闪电贷回调中,向 WBNB Vault 提供流动性,由于此时 WBNB Vault 中的流动性已经借出一部分给攻击者,因此流动性余额少于预期,则攻击者所能获取的流动性凭证将多于预期。
6. 攻击者先归还二次闪电贷,然后从 WBNB Vault 中移除流动性,此时由于 WBNB Vault 中的流动性已恢复正常,因此攻击者使用添加流动性获得凭证所取出的流动性数量将多于预期。
7. 攻击者通过以上方式攻击了在各个链上的 Vault 合约,耗尽了 Equalizer Finance 的流动性。
此次攻击的主要原因在于 Equalizer Finance 协议的 FlashLoanProvider 合约与 Vault 合约不兼容。慢雾安全团队建议协议在进行实际实现时应充分考虑各个模块间的兼容性。[2022/6/8 4:09:22]
根据Solana链、ETH链、BSC链的被盗资金情况,慢雾安全团队将风险资金分为以下两类:风险资金:黑客具有地址权限的资金。疑似风险资金:黑客可能具有地址权限的资金。根据以下地址列表进行风险资金评估:被盗地址助记词映射到其他链的地址被盗地址助记词通过派生路径推导出来的地址排除风险资金地址列表,根据以下地址列表进行疑似风险资金评估:Slope服务器上存在助记词/私钥记录的地址Slope服务器上存在的助记词映射到其他链的地址Slope服务器上存在的助记词通过派生路径推导出来的地址未发现大额可转移风险的资金和可能存在风险的资金。2.被盗资金统计
动态 | 慢雾:Cryptopia被盗资金发生转移:据慢雾科技反(AML)系统监测显示,Cryptopia攻击者分两次转移共20,843枚ETH,价值超380万美元。目前资金仍停留在 0x90d78A49 和 0x6D693560 开头的两个新地址,未向交易所转移。据悉,今年早些时候加密货币交易所Cryptopia遭受了黑客攻击,价值超过1600万美元的以太坊和ERC-20代币被盗。[2019/11/17]
为了避免一些垃圾币对被盗资金的影响,我们在统计过程中只统计主流币种的被盗资金:Solana链:SOL、USDC、USDT、BTC和ETH。ETH链:ETH、USDT、USDC和PAXG。被盗币种价值取被盗当日价格。1SOL=$38.541BTC=$22,846.511ETH=$1,618.871PAXG=$1,759.641BNB=$298.36
对Slope服务器上的已解密的私钥和助记词对应派生出来的地址与链上统计的受害者地址进行分析,有交集的地址有5个ETH地址和1388个Solana地址,对这些存在交集的地址做被盗资金统计如下,此部分被盗资金占到总被盗资金的31.42%。
3.资金转移分析
Solana链:资金截止发文时间未进一步转移。ETH链:21,801USDT转移到个人钱包地址。慢雾安全团队正在与各方沟通配合努力追查黑客的身份。剩余大部分资金兑换为ETH后转移到Tornado.Cash。
BSC链:资金截止发文时间未进一步转移。4.黑客链上时间线分析
根据黑客链上行为梳理出时间线如下图:
5.黑客痕迹分析
黑客地址列表如下:
疑似黑客地址列表如下:
第一笔转入Solana链黑客钱包1、2、3和4的链上第一笔转入交易都是来自Solana链疑似黑客钱包的0.1SOL的转账。根据对链上痕迹的分析,评估Solana链疑似黑客钱包可能是黑客地址,也存在更大可能是受害者地址。黑客过程中使用工具TransitSwapUniswapMetaMaskSwap黑客变现方式转移到疑似OTC个人钱包地址。转移到Tornado.Cash。黑客地址与交易所/平台的关联直接关联:TRON链,黑客8月5日存款USDT到Binance存款地址:TE4bkS2PYqWxijgh5eqEz9A5jLn7HcS6fn存款交易:b6615bf10b2e619edc9315a08f89732664adc9d385c980f77caa6e82872fe376TRON链,黑客8月5日从Binance提款TRX提款交易:0e012643a7db1b8c5d1f27447b16e313d4b3f89efaa22b3661188fe399cd2d0eETH链,黑客8月5日从Binance提款ETH提款交易:0xd035e009173e968d8f72de783f02655009d6f85ef906121e5b99b496a10283ddETH链,黑客8月8日从Binance提款USDC提款交易:0xff60f24f8ebd874a1e5da8eae44583af554af9a109a9bd7420da048f12c83cdcETH链,黑客8月10日从Binance提款USDC提款交易:0xc861c40c0e53f7e28a6f78ec9584bfb7722cec51843ddf714b9c10fc0f311806TRON链,黑客8月10日从Binance提款USDT提款交易:10c4186e4d95fb2e4a1a31a18f750a39c0f803d7f5768108d6f219d3c2a02d26间接关联:Solana链疑似黑客钱包1月8日从Binance提款SOL提款交易:668jpJec7hiiuzGDzj4VQKSsMWpSnbzt7BLMGWQmrGvHVQQbNGc3i1g8dCj2F5EAxFT8oDG5xWPAeQUMEMBTjhZsSolana链疑似黑客钱包存在与SolrazrIDOprogram交互的链上痕迹交易:2LxLhL7oAiTyHGrAXCZEJyazQQLM7veaKvqUZL6iPkonL4wPLHcwV66MFX3ERyWvJtdd2wFdKfgKUuT1oAv2XepK疑似OTC个人钱包地址与Binance、Kucoin和OKX多个交易所存在存款和提款关系
疑似OTC个人钱包地址的情报关联根据慢雾获取到的相关情报,疑似OTC个人钱包地址与国内多个案件有关,其中包括电话案、USDT被盗案和TRC20被盗案等。附-链上分析数据源黑客Solana链交易记录汇总表Sentry回传问题导致可能暴露的Slope地址被盗交易表原地址
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。