?背景概述
2022年8月3日,Solana公链上发生大规模盗币事件,大量用户在不知情的情况下被转移SOL和SPL代币。慢雾安全团队第一时间介入分析,并在Slope团队的邀请下对Slope钱包应用进行分析,分析表明:Slope钱包在2022年6月24日及之后发布的版本存在向第三方应用监控服务发送私钥或助记词信息的现象。
公众号:币圈一级市场阿生
但从对Slope钱包应用进行调查到现在,无法明确证明此次事件的根源就是Slope钱包的问题,于是慢雾安全团队开始对Slope的服务器进行分析取证。
分析过程
事件发生之后各方的关注点主要聚焦在调查本次事件的根源以及资金的追踪和挽救的可能性。于是慢雾安全团队制定相关的计划,开始从链下和链上两个部分着手调查和分析。
在事件根源调查这个方向上,慢雾安全团队重点专注在对Slope服务器的分析取证。这里面有大量且复杂的工作需要推进,也需要有更多明确的证据来解释这次的大规模盗币事件的根源。
资金追踪和挽救的可能性这部分工作,慢雾安全团队主要依靠MistTrack的追踪分析能力、标签数据能力并结合情报能力,尽最大的努力识别和追踪黑客的链上行为。并且也和Slope团队沟通交流挽救的可能性,Slope团队也在尝试与黑客沟通希望通过发布漏洞赏金的方式,鼓励黑客归还资产,共同维护Solana这个生态的健康发展。
本篇仅向社区用户同步阶段性的调查情况,还有很多的分析工作正在进行,并且不断推进。各方人员不仅是慢雾,还有其他第三方安全团队,以及一些特殊力量也在努力帮忙调查中,希望这次事件最终能够有相对明确的结论。
注:本文所提到的Sentry服务指的是Slope团队私有化部署的Sentry服务,并非使用Sentry官方提供的接口和服务。
慢雾:Moonbirds的Nesting Contract相关漏洞在特定场景下才能产生危害:据慢雾区情报反馈,Moonbirds 发布安全公告,Nesting Contract 存在安全问题。当用户在 OpenSea 或者 LooksRare等NFT交易市场进行挂单售卖时。卖家不能仅通过执行 nesting(筑巢) 来禁止NFT售卖,而是要在交易市场中下架相关的 NFT 售卖订单。否则在某个特定场景下买家将会绕过 Moonbirds 在nesting(筑巢)时不能交易的限制。慢雾安全团队经过研究发现该漏洞需要在特定场景才能产生危害属于低风险。建议 Moonbirds 用户自行排查已 nesting(筑巢)的 NFT 是否还在 NTF 市场中上架,如果已上架要及时进行下架。更多的漏洞细节请等待 Moonbirds 官方的披露。[2022/5/30 3:50:23]
一些疑问点
1.Sentry的服务收集用户钱包助记词的行为是否属于普遍的安全问题?
答:Sentry主要用于收集相关应用服务在运行状态时出现的异常或者错误日志信息,在配置错误的情况下,可能会收集到预期之外的数据,如:私钥或助记词等信息,因此并非普遍存在的安全问题。开发人员在使用第三方应用监控服务切记不能在生成环境中开启Debug模式。
2.Phantom使用了Sentry,那么Phantom钱包会受到影响吗?
答:虽然Phantom使用了第三方应用监控服务但是慢雾安全团队通过对Phantom钱包历史各版本的监测,并未明显发现Sentry上传私钥/助记词的行为。
3.SolanaFoundation提供的调研数据显示本次事件近60%被盗用户使用Phantom钱包,30%左右地址使用Slope钱包,其余用户使用TrustWallet等,那这60%被盗用户被黑的原因是什么呢?
慢雾:ERC721R示例合约存在缺陷,本质上是由于owner权限过大问题:4月12日消息,据@BenWAGMI消息,ERC721R示例合约存在缺陷可导致项目方利用此问题进行RugPull。据慢雾安全团队初步分析,此缺陷本质上是由于owner权限过大问题,在ERC721R示例合约中owner可以通过setRefund Address函数任意设置接收用户退回的NFT地址。
当此退回地址持有目标NFT时,其可以通过调用refund函数不断的进行退款操作从而耗尽用户在合约中锁定的购买资金。且示例合约中存在owner Mint函数,owner可在NFT mint未达总供应量的情况下进行mint。因此ERC721R的实现仍是防君子不防小人。慢雾安全团队建议用户在参与NFTmint时不管项目方是否使用ERC721R都需做好风险评估。[2022/4/12 14:19:58]
答:经过比对发现服务器上的私钥和助记词派生出来的地址与受害者地址有交集的有5个ETH地址和1388个Solana地址。目前的调查情况看,还没有明确的证据能够解释另外部分用户钱包被黑的原因。
4.Sentry作为一个使用非常广泛的服务,会不会是Sentry官方遭遇了入侵?从而导致了定向入侵加密货币生态的攻击?
答:目前暂无证据表明Sentry官方遭到了入侵和攻击,Slope钱包使用的Sentry是内部搭建的服务,因此和官方服务被入侵无直接关系。
链下分析部分
链下部分慢雾安全团队主要聚焦排查链下服务器、相关后台等被入侵的可能性,工作的重点是对Slope服务器进行服务器资产风险排查,服务器的入侵痕迹排查,Sentry数据库分析,服务器镜像分析,DNS劫持的可能性分析。如下是排查和分析的情况:
慢雾:AToken钱包疑似遭受攻击 用户反馈钱包中资产被盗:据慢雾区情报,近期 AToken 钱包(atoken.com)疑似遭受到攻击,用户在使用 AToken 钱包后,币被偷偷转移走。目前已经有较多的用户反馈钱包中的资产被盗。AToken 钱包官方推特在2021年12月20日发布了停止运营的声明。官方 TG 频道中也有多位用户反馈使用 AToken 钱包资产被盗了,但是并没有得到 AToken 团队的回复和处理。
如果有使用 AToken 钱包的用户请及时转移资产到安全的钱包中。具体可以参考如下操作:
1. 立即将 AToken 钱包中的相关的资产转移到新的钱包中。
2. 废弃导入 AToken 或者使用 AToken 生成的助记词或私钥的钱包。
3. 参考慢雾安全团队梳理的数字资产安全解决方案,对数字资产进行妥善的管理。
4. 留存相应有问题的 AToken 钱包 APP 的安装包,用于后续可能需要的取证等操作。
5. 如果资产已经被盗,可以先梳理被盗事件的时间线,以及黑客的相关地址 MistTrack 可以协助挽回可能的一线希望。[2022/2/9 9:39:46]
1.服务器资产风险排查
Slope团队知道Slope钱包回传助记词和私钥信息之后,第一时间就关停了Slope钱包相关的服务。因此Slope钱包相关的服务已经不能通过直接访问,慢雾安全团队依靠互联网搜索引擎等工具对Slope服务器资产进行信息收集,包括slope.finance域名下的子域名和IP等进行模拟渗透测试分析,排查从可能存在的入侵风险点,通过分析和渗透测试并未发现存在可被直接入侵的风险点。
2.服务器的入侵痕迹排查
主要对第三方应用监控服务器进行内部排查,包括服务器登录日志,系统历史操作命令,可疑进程,可疑网络连接,可疑系统计划任务,数据删除和获取操作等,服务器内部还有5个Docker服务也进行同样的入侵痕迹排查。排查发现几个可疑登录IP为:113.*.*.*,114.*.*.*,153.*.*.*,这些IP是在06.24之前访问过第三方应用监控服务的后台。虽然这发生在回传私钥和助记词的时间之前,但是仍然存在可疑。
慢雾:Avalanche链上Zabu Finance被黑简析:据慢雾区情报,9月12日,Avalanche上Zabu Finance项目遭受闪电贷攻击,慢雾安全团队进行分析后以简讯的形式分享给大家参考:
1.攻击者首先创建两个攻击合约,随后通过攻击合约1在Pangolin将WAVAX兑换成SPORE代币,并将获得的SPORE代币抵押至ZABUFarm合约中,为后续获取ZABU代币奖励做准备。
2.攻击者通过攻击合约2从Pangolin闪电贷借出SPORE代币,随后开始不断的使用SPORE代币在ZABUFarm合约中进行`抵押/提现`操作。由于SPORE代币在转账过程中需要收取一定的手续费(SPORE合约收取),而ZABUFarm合约实际接收到的SPORE代币数量是小于攻击者传入的抵押数量的。分析中我们注意到ZABUFarm合约在用户抵押时会直接记录用户传入的抵押数量,而不是记录合约实际收到的代币数量,但ZABUFarm合约在用户提现时允许用户全部提取用户抵押时合约记录的抵押数量。这就导致了攻击者在抵押时ZABUFarm合约实际接收到的SPORE代币数量小于攻击者在提现时ZABUFarm合约转出给攻击者的代币数量。
3.攻击者正是利用了ZABUFarm合约与SPORE代币兼容性问题导致的记账缺陷,从而不断通过`抵押/提现`操作将ZABUFarm合约中的SPORE资金消耗至一个极低的数值。而ZABUFarm合约的抵押奖励正是通过累积的区块奖励除合约中抵押的SPORE代币总量参与计算的,因此当ZABUFarm合约中的SPORE代币总量降低到一个极低的数值时无疑会计算出一个极大的奖励数值。
4.攻击者通过先前已在ZABUFarm中有进行抵押的攻击合约1获取了大量的ZABU代币奖励,随后便对ZABU代币进行了抛售。
此次攻击是由于ZabuFinance的抵押模型与SPORE代币不兼容导致的,此类问题导致的攻击已经发生的多起,慢雾安全团队建议:项目抵押模型在对接通缩型代币时应记录用户在转账前后合约实际的代币变化,而不是依赖于用户传入的抵押代币数量。[2021/9/12 23:19:21]
3.PostgreSQL数据库分析
动态 | 慢雾: 警惕利用EOS及EOS上Token的提币功能恶意挖矿:近期由于EIDOS空投导致EOS主网CPU资源十分紧张,有攻击者开始利用交易所/DApp提币功能恶意挖矿,请交易所/DApp在处理EOS及EOS上Token的提币时,注意检查用户提币地址是否是合约账号,建议暂时先禁止提币到合约账号,避免被攻击导致平台提币钱包的CPU资源被恶意消耗。同时,需要注意部分交易所的EOS充值钱包地址也是合约账号,需要设置白名单避免影响正常用户的提币操作。[2019/11/6]
由于助记词和私钥被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.服务器镜像分析
慢雾安全团队对Sentry的云服务器的镜像进行分析,并对服务器磁盘已删除的数据进行恢复,并在恢复后的数据中发现了私钥和助记词信息。
5.DNS劫持的可能性分析
慢雾安全团队通过各方的能力以及全球情报资源,包括对DNS解析数据查询和分析,目前暂无明确证据能够证明域名o7e.slope.finance曾经发生过DNS劫持事件。
链下调查和分析的阶段性结论:
就现阶段的调查和分析的情况看,未发现服务器可以直接被入侵的风险点;未发现服务器被入侵的痕迹但是对可疑IP仍需要继续调查;DNS劫持的可能性较小;已在数据库表、数据库日志文件、磁盘已删除文件恢复后的数据中发现了私钥和助记词信息。
链上分析部分
链上部分主要聚焦于风险资金评估、被盗资金转移和黑客痕迹分析,重点梳理分析了以下几点内容:
1.风险资金评估
根据Solana链、ETH链、BSC链的被盗资金情况,慢雾安全团队将风险资金分为以下两类:
风险资金:黑客具有地址权限的资金。
疑似风险资金:黑客可能具有地址权限的资金。
根据以下地址列表进行风险资金评估:
被盗地址助记词映射到其他链的地址
被盗地址助记词通过派生路径推导出来的地址
排除风险资金地址列表,根据以下地址列表进行疑似风险资金评估:
Slope服务器上存在助记词/私钥记录的地址
Slope服务器上存在的助记词映射到其他链的地址
Slope服务器上存在的助记词通过派生路径推导出来的地址
未发现大额可转移风险的资金和可能存在风险的资金。
2.被盗资金统计
为了避免一些垃圾币对被盗资金的影响,我们在统计过程中只统计主流币种的被盗资金:
Solana链:SOL、USDC、USDT、BTC和ETH。
ETH链:ETH、USDT、USDC和PAXG。
被盗币种价值取被盗当日价格。
1SOL=$38.54
1BTC=$22,846.51
1ETH=$1,618.87
1PAXG=$1,759.64
1BNB=$298.36
对Slope服务器上的已解密的私钥和助记词对应派生出来的地址与链上统计的受害者地址进行分析,有交集的地址有5个ETH地址和1388个Solana地址,对这些存在交集的地址做被盗资金统计如下,此部分被盗资金占到总被盗资金的31.42%。
3.资金转移分析
Solana链:
资金截止发文时间未进一步转移。
ETH链:
21,801USDT转移到个人钱包地址。慢雾安全团队正在与各方沟通配合努力追查黑客的身份。
剩余大部分资金兑换为ETH后转移到Tornado.Cash。
第一笔转入
Solana链黑客钱包1、2、3和4的链上第一笔转入交易都是来自Solana链疑似黑客钱包的0.1SOL的转账。根据对链上痕迹的分析,评估Solana链疑似黑客钱包可能是黑客地址,也存在更大可能是受害者地址。
黑客过程中使用工具
TransitSwap
Uniswap
MetaMaskSwap
黑客变现方式
转移到疑似OTC个人钱包地址。
转移到Tornado.Cash。
黑客地址与交易所/平台的关联
直接关联:
TRON链,黑客8月5日存款USDT到Binance
存款地址:TE4bkS2PYqWxijgh5eqEz9A5jLn7HcS6fn
存款交易:b6615bf10b2e619edc9315a08f89732664adc9d385c980f77caa6e82872fe376
TRON链,黑客8月5日从Binance提款TRX
提款交易:0e012643a7db1b8c5d1f27447b16e313d4b3f89efaa22b3661188fe399cd2d0e
ETH链,黑客8月5日从Binance提款ETH
提款交易:0xd035e009173e968d8f72de783f02655009d6f85ef906121e5b99b496a10283dd
ETH链,黑客8月8日从Binance提款USDC
提款交易:0xff60f24f8ebd874a1e5da8eae44583af554af9a109a9bd7420da048f12c83cdc
ETH链,黑客8月10日从Binance提款USDC
提款交易:0xc861c40c0e53f7e28a6f78ec9584bfb7722cec51843ddf714b9c10fc0f311806
TRON链,黑客8月10日从Binance提款USDT
提款交易:10c4186e4d95fb2e4a1a31a18f750a39c0f803d7f5768108d6f219d3c2a02d26
间接关联:
Solana链疑似黑客钱包1月8日从Binance提款SOL
提款交易:668jpJec7hiiuzGDzj4VQKSsMWpSnbzt7BLMGWQmrGvHVQQbNGc3i1g8dCj2F5EAxFT8oDG5xWPAeQUMEMBTjhZs
Solana链疑似黑客钱包存在与SolrazrIDOprogram交互的链上痕迹
交易:2LxLhL7oAiTyHGrAXCZEJyazQQLM7veaKvqUZL6iPkonL4wPLHcwV66MFX3ERyWvJtdd2wFdKfgKUuT1oAv2XepK
疑似OTC个人钱包地址与Binance、Kucoin和OKX多个交易所存在存款和提款关系
疑似OTC个人钱包地址的情报关联
根据慢雾获取到的相关情报,疑似OTC个人钱包地址与国内多个案件有关,其中包括电话案、USDT被盗案和TRC20被盗案等。
金色财经报道,拉丁美洲资产代币化公司Koibanx周四宣布筹集了2200万美元的A轮融资,本轮投资由区块链协议Algorand牵头.
1900/1/1 0:00:00ForesightNews消息,根据TechCrunch记者JacquelynMelinek发布的推文.
1900/1/1 0:00:00原文作者:Emiri原文编译:Blockunicorn我们都听说过特洛伊木马的故事。特洛伊木马真正的危险在于它们让你感到安全,你永远不会期待任何威胁,而恰恰在你觉得最安全的时候,才是你最脆弱的时.
1900/1/1 0:00:0021:00-7:00关键词:芝商所、SuperLayer、DAO1.芝商所将于9月12日推出以太坊期权;2.
1900/1/1 0:00:00Gate.ioLiveStreamiscommittedtocreatingabrand-newlivestreamingecosystemfortheblockchainindustry.
1900/1/1 0:00:00因系统升级,ZAPP的存币挖矿,defi挖矿,余币理财,量化交易都将于新加坡2022年8月19日14:00进行下架维护。请大家提前进行操作划转资金到现货.
1900/1/1 0:00:00