背景概述
2022年8月3日,Solana公鏈上發生大規模盜幣事件,大量用戶在不知情的情況下被轉移SOL和SPL代幣。慢霧安全團隊第一時間介入分析,并在Slope團隊的邀請下對Slope錢包應用進行分析,分析表明:Slope錢包在2022年6月24日及之后發布的版本存在向第三方應用監控服務發送私鑰或助記詞信息的現象。
但從對Slope錢包應用進行調查到現在,無法明確證明此次事件的根源就是Slope錢包的問題,于是慢霧安全團隊開始對Slope的服務器進行分析取證。
分析過程
事件發生之后各方的關注點主要聚焦在調查本次事件的根源以及資金的追蹤和挽救的可能性。于是慢霧安全團隊制定相關的計劃,開始從鏈下和鏈上兩個部分著手調查和分析。
在事件根源調查這個方向上,慢霧安全團隊重點專注在對Slope服務器的分析取證。這里面有大量且復雜的工作需要推進,也需要有更多明確的證據來解釋這次的大規模盜幣事件的根源。
資金追蹤和挽救的可能性這部分工作,慢霧安全團隊主要依靠MistTrack的追蹤分析能力、標簽數據能力并結合情報能力,盡最大的努力識別和追蹤黑客的鏈上行為。并且也和Slope團隊溝通交流挽救的可能性,Slope團隊也在嘗試與黑客溝通希望通過發布漏洞賞金的方式,鼓勵黑客歸還資產,共同維護Solana這個生態的健康發展。
本篇僅向社區用戶同步階段性的調查情況,還有很多的分析工作正在進行,并且不斷推進。各方人員不僅是慢霧,還有其他第三方安全團隊,以及一些特殊力量也在努力幫忙調查中,希望這次事件最終能夠有相對明確的結論。
注:本文所提到的Sentry服務指的是Slope團隊私有化部署的Sentry服務,并非使用Sentry官方提供的接口和服務。
慢霧:針對傳言火幣信息泄漏事件不涉及用戶賬戶與資金安全 請保持客觀冷靜對待:據官方消息,慢霧注意到近日有白帽子公開了此前一個火幣已經處理完畢的過往漏洞信息。經慢霧與火幣官方確認,火幣本著負責任披露信息的策略,對本次事件做以下說明:本次事件是小范圍內(4000人)的用戶聯絡信息泄露,信息種類不涉及敏感信息,不涉及用戶賬戶與資金安全。事件發生于2021年6月22日日本站測試環境S3桶相關人員不規范操作導致,相關用戶信息于2022年10月8日已經完全隔離,日本站與火幣全球站無關。本次事件由白帽團隊發現后,火幣安全團隊2023年6月21日(10天前)已第一時間進行處理,立即關閉相關文件訪問權限,當前漏洞已修復,所有相關用戶信息已經刪除。感謝白帽團隊對于火幣安全做出的貢獻。最后提醒請大家冷靜對待,切勿傳謠。[2023/7/1 22:12:01]
一些疑問點
在同步分析的情況之前,我們先來回答上篇文章的分析過程中的一些疑問點:
1.Sentry的服務收集用戶錢包助記詞的行為是否屬于普遍的安全問題?
答:Sentry主要用于收集相關應用服務在運行狀態時出現的異常或者錯誤日志信息,在配置錯誤的情況下,可能會收集到預期之外的數據,如:私鑰或助記詞等信息,因此并非普遍存在的安全問題。開發人員在使用第三方應用監控服務切記不能在生成環境中開啟Debug模式。
2.Phantom使用了Sentry,那么Phantom錢包會受到影響嗎?
答:雖然Phantom使用了第三方應用監控服務但是慢霧安全團隊通過對Phantom錢包歷史各版本的監測,并未明顯發現Sentry上傳私鑰/助記詞的行為。
3.SolanaFoundation提供的調研數據顯示本次事件近60%被盜用戶使用Phantom錢包,30%左右地址使用Slope錢包,其余用戶使用TrustWallet等,那這60%被盜用戶被黑的原因是什么呢?
慢霧: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]
答:經過比對發現服務器上的私鑰和助記詞派生出來的地址與受害者地址有交集的有5個ETH地址和1388個Solana地址。目前的調查情況看,還沒有明確的證據能夠解釋另外部分用戶錢包被黑的原因。
4.Sentry作為一個使用非常廣泛的服務,會不會是Sentry官方遭遇了入侵?從而導致了定向入侵加密貨幣生態的攻擊?
答:目前暫無證據表明Sentry官方遭到了入侵和攻擊,Slope錢包使用的Sentry是內部搭建的服務,因此和官方服務被入侵無直接關系。
鏈下分析部分
慢霧: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]
鏈下部分慢霧安全團隊主要聚焦排查鏈下服務器、相關后臺等被入侵的可能性,工作的重點是對Slope服務器進行外圍服務器資產風險排查,服務器的入侵痕跡排查,Sentry數據庫分析,服務器鏡像分析,DNS劫持的可能性分析。如下是排查和分析的情況:
慢霧:Polkatrain 薅羊毛事故簡析:據慢霧區消息,波卡生態IDO平臺Polkatrain于今早發生事故,慢霧安全團隊第一時間介入分析,并定位到了具體問題。本次出現問題的合約為Polkatrain項目的POLT_LBP合約,該合約有一個swap函數,并存在一個返傭機制,當用戶通過swap函數購買PLOT代幣的時候獲得一定量的返傭,該筆返傭會通過合約里的_update函數調用transferFrom的形式轉發送給用戶。由于_update函數沒有設置一個池子的最多的返傭數量,也未在返傭的時候判斷總返傭金是否用完了,導致惡意的套利者可通過不斷調用swap函數進行代幣兌換來薅取合約的返傭獎勵。慢霧安全團隊提醒DApp項目方在設計AMM兌換機制的時候需充分考慮項目的業務場景及其經濟模型,防止意外情況發生。[2021/4/5 19:46:39]
1.外圍服務器資產風險排查
Slope團隊知道Slope錢包回傳助記詞和私鑰信息之后,第一時間就關停了Slope錢包相關的服務。因此Slope錢包相關的服務已經不能通過直接訪問,慢霧安全團隊依靠互聯網搜索引擎等工具對Slope外圍服務器資產進行信息收集,包括slope.finance域名下的子域名和IP等進行模擬滲透測試分析,排查從外圍可能存在的入侵風險點,通過分析和滲透測試并未發現存在可被直接入侵的風險點。
2.服務器的入侵痕跡排查
主要對第三方應用監控服務器進行內部排查,包括服務器登錄日志,系統歷史操作命令,可疑進程,可疑網絡連接,可疑系統計劃任務,數據刪除和獲取操作等,服務器內部還有5個Docker服務也進行同樣的入侵痕跡排查。排查發現幾個可疑登錄IP為:113.*.*.*,114.*.*.*,153.*.*.*,這些IP是在06.24之前訪問過第三方應用監控服務的后臺。雖然這發生在回傳私鑰和助記詞的時間之前,但是仍然存在可疑。
分析 | 慢霧:攻擊者拿下了DragonEx盡可能多的權限 攻擊持續至少1天:據慢霧安全團隊的鏈上情報分析,從DragonEx公布的“攻擊者地址”的分析來看,20 個幣種都被盜取(但還有一些DragonEx可交易的知名幣種并沒被公布),從鏈上行為來看攻擊這些幣種的攻擊手法并不完全相同,攻擊持續的時間至少有1天,但能造成這種大面積盜取結果的,至少可以推論出:攻擊者拿下了DragonEx盡可能多的權限,更多細節請留意后續披露。[2019/3/26]
3.PostgreSQL數據庫分析
由于助記詞和私鑰被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。
BSC鏈:
資金截止發文時間未進一步轉移。
4.黑客鏈上時間線分析
根據黑客鏈上行為梳理出時間線如下圖:
5.黑客痕跡分析
黑客地址列表如下:
疑似黑客地址列表如下:
第一筆轉入
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多個交易所存在存款和提款關系
黑客Solana鏈交易記錄匯總表Sentry回傳問題導致可能暴露的Slope地址被盜交易表
8月15日,Terra創始人DoKwon在Terra崩盤后首次接受采訪時表示,承認其是失敗算法Stablecoin項目BasisCash匿名成員RickSanchez.
1900/1/1 0:00:00FAB公鏈從底層開始,經過一體化設計的三大組成——基礎區塊鏈、輔助鏈及開放存儲架構通過構造制約錯位結構組成,三者相互配合.
1900/1/1 0:00:00尊敬的XT.COM用戶:XMR錢包陞級維護已完成,XT.COM現已恢復XMR充值與提幣業務。XT.COM現已更換所有用戶XMR充值地址,請用戶在充值之前前往充值界面生成最新地址進行充值.
1900/1/1 0:00:00原文作者:SergioGallardo原文編譯:0x214,BlockBeats除去大家耳熟能詳的加密市場工具Nansen、Dune、DefiLlama和Parsec等.
1900/1/1 0:00:00尊敬的XT.COM用戶:BCH錢包陞級維護已完成,XT.COM現已恢復BCH充值與提幣業務。XT.COM現已更換所有用戶BCH充值地址,請用戶在充值之前前往充值界面生成最新地址進行充值.
1900/1/1 0:00:00LinkedIn最近的一項研究將巴西列為全球對區塊鏈人才需求量最大的十個國家之一。從拉美地區來看,除了巴西,排名中只有墨西哥出現.
1900/1/1 0:00:00