背景概述
2022年8月3日,Solana公鏈上發生大規模盜幣事件,大量用戶在不知情的情況下被轉移SOL和SPL代幣。慢霧安全團隊第一時間介入分析,并在Slope團隊的邀請下對Slope錢包應用進行分析,分析表明:Slope錢包在2022年6月24日及之后發布的版本存在向第三方應用監控服務發送私鑰或助記詞信息的現象。
但從對Slope錢包應用進行調查到現在,無法明確證明此次事件的根源就是Slope錢包的問題,于是慢霧安全團隊開始對Slope的服務器進行分析取證。
分析過程
事件發生之后各方的關注點主要聚焦在調查本次事件的根源以及資金的追蹤和挽救的可能性。于是慢霧安全團隊制定相關的計劃,開始從鏈下和鏈上兩個部分著手調查和分析。
在事件根源調查這個方向上,慢霧安全團隊重點專注在對Slope服務器的分析取證。這里面有大量且復雜的工作需要推進,也需要有更多明確的證據來解釋這次的大規模盜幣事件的根源。
資金追蹤和挽救的可能性這部分工作,慢霧安全團隊主要依靠MistTrack的追蹤分析能力、標簽數據能力并結合情報能力,盡最大的努力識別和追蹤黑客的鏈上行為。并且也和Slope團隊溝通交流挽救的可能性,Slope團隊也在嘗試與黑客溝通希望通過發布漏洞賞金的方式,鼓勵黑客歸還資產,共同維護Solana這個生態的健康發展。
本篇僅向社區用戶同步階段性的調查情況,還有很多的分析工作正在進行,并且不斷推進。各方人員不僅是慢霧,還有其他第三方安全團隊,以及一些特殊力量也在努力幫忙調查中,希望這次事件最終能夠有相對明確的結論。
注:本文所提到的Sentry服務指的是Slope團隊私有化部署的Sentry服務,并非使用Sentry官方提供的接口和服務。
慢霧: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]
一些疑問點
在同步分析的情況之前,我們先來回答上篇文章的分析過程中的一些疑問點:
1.Sentry的服務收集用戶錢包助記詞的行為是否屬于普遍的安全問題?
答:Sentry主要用于收集相關應用服務在運行狀態時出現的異常或者錯誤日志信息,在配置錯誤的情況下,可能會收集到預期之外的數據,如:私鑰或助記詞等信息,因此并非普遍存在的安全問題。開發人員在使用第三方應用監控服務切記不能在生成環境中開啟Debug模式。
2.Phantom使用了Sentry,那么Phantom錢包會受到影響嗎?
慢霧:NimbusPlatform遭遇閃電貸攻擊,損失278枚BNB:據慢霧安全團隊情報,2022 年 12 月 14 日, BSC 鏈上的NimbusPlatform項目遭到攻擊,攻擊者獲利約278枚BNB。慢霧安全團隊以簡訊的形式分享如下:
1. 攻擊者首先在 8 天前執行了一筆交易(0x7d2d8d),把 20 枚 BNB 換成 NBU_WBNB 再換成 GNIMB 代幣,然后把 GNIMB 代幣轉入 Staking 合約作質押,為攻擊作準備;
2. 在 8 天后正式發起攻擊交易(0x42f56d3),首先通過閃電貸借出 75477 枚 BNB 并換成 NBU_WBNB,然后再用這些 NBU_WBNB 代幣將池子里的絕大部分 NIMB 代幣兌換出;
3. 接著調用 Staking 合約的 getReward 函數進行獎勵的提取,獎勵的計算是和 rate 的值正相關的,而 rate 的值則取決于池子中 NIMB 代幣和 GNIMB 代幣的價格,由于 NIMB 代幣的價格是根據上一步閃電貸中被操控的池子中的代幣數量來計算的,導致其由于閃電貸兌換出大量的代幣而變高,最后計算的獎勵也會更多;
4. 攻擊者最后將最后獲得的 GNIMB 代幣和擁有的 NIMB 代幣換成 NBU_WBNB 代幣后再換成 BNB,歸還閃電貸獲利;
此次攻擊的主要原因在于計算獎勵的時候僅取決于池子中的代幣數量導致被閃電貸操控,從而獲取比預期更多的獎勵。慢霧安全團隊建議在進行代幣獎計算時應確保價格來源的安全性。[2022/12/14 21:44:29]
答:雖然Phantom使用了第三方應用監控服務但是慢霧安全團隊通過對Phantom錢包歷史各版本的監測,并未明顯發現Sentry上傳私鑰/助記詞的行為。
3.SolanaFoundation提供的調研數據顯示本次事件近60%被盜用戶使用Phantom錢包,30%左右地址使用Slope錢包,其余用戶使用TrustWallet等,那這60%被盜用戶被黑的原因是什么呢?
慢霧:2021年上半年共發生78起區塊鏈安全事件,總損失金額超17億美元:據慢霧區塊鏈被黑事件檔案庫統計,2021年上半年,整個區塊鏈生態共發生78起較為著名的安全事件,涉及DeFi安全50起、錢包安全2起,公鏈安全3起,交易所安全6起,其他安全相關17起,其中以太坊上27起,幣安智能鏈(BSC)上22起,Polygon上2起,火幣生態鏈(HECO)、波卡生態、EOS上各1起,總損失金額超17億美元(按事件發生時幣價計算)。
經慢霧AML對涉事資金追蹤分析發現,約60%的資金被攻擊者轉入混幣平臺,約30%的資金被轉入交易所。慢霧安全團隊在此建議,用戶應增強安全意識,提高警惕,選擇經過安全審計的可靠項目參與;項目方應不斷提升自身的安全系數,通過專業安全審計機構的審計后才上線,避免損失;各交易所應加大反洗錢監管力度,進一步打擊利用加密資產交易的洗錢等違規行為。[2021/7/1 0:20:42]
答:經過比對發現服務器上的私鑰和助記詞派生出來的地址與受害者地址有交集的有5個ETH地址和1388個Solana地址。目前的調查情況看,還沒有明確的證據能夠解釋另外部分用戶錢包被黑的原因。
4.Sentry作為一個使用非常廣泛的服務,會不會是Sentry官方遭遇了入侵?從而導致了定向入侵加密貨幣生態的攻擊?
答:目前暫無證據表明Sentry官方遭到了入侵和攻擊,Slope錢包使用的Sentry是內部搭建的服務,因此和官方服務被入侵無直接關系。
鏈下分析部分
鏈下部分慢霧安全團隊主要聚焦排查鏈下服務器、相關后臺等被入侵的可能性,工作的重點是對Slope服務器進行外圍服務器資產風險排查,服務器的入侵痕跡排查,Sentry數據庫分析,服務器鏡像分析,DNS劫持的可能性分析。如下是排查和分析的情況:
動態 | 慢霧:2020年加密貨幣勒索蠕蟲已勒索到 8 筆比特幣:慢霧科技反洗錢(AML)系統監測:世界最早的知名加密貨幣勒索蠕蟲 WannaCry 還在網絡空間中茍延殘喘,通過對其三個傳播版本的行為分析,其中兩個最后一次勒索收到的比特幣分別是 2019-04-22 0.0584 枚,2019-09-01 0.03011781 枚,且 2019 年僅發生一次,另外一個 2020 還在活躍,2020 開始已經勒索收到 8 筆比特幣支付,但額度都很低 0.0001-0.0002 枚之間。這三個傳播版本第一次發生的比特幣收益都是在 2017-05-12,總收益比特幣 54.43334953 枚。雖然收益很少,但 WannaCry 可以被認為是加密貨幣歷史上勒索作惡的鼻主蠕蟲,其傳播核心是 2017-04-13 NSA 方程式組織被 ShdowBrokers(影子經紀人) 泄露第三批網絡軍火里的“永恒之藍”(EternalBlue)漏洞,其成功的全球影響力且匿名性為之后的一系列勒索蠕蟲(如 GandCrab)帶來了巨大促進。[2020/2/23]
1.外圍服務器資產風險排查
Slope團隊知道Slope錢包回傳助記詞和私鑰信息之后,第一時間就關停了Slope錢包相關的服務。因此Slope錢包相關的服務已經不能通過直接訪問,慢霧安全團隊依靠互聯網搜索引擎等工具對Slope外圍服務器資產進行信息收集,包括slope.finance域名下的子域名和IP等進行模擬滲透測試分析,排查從外圍可能存在的入侵風險點,通過分析和滲透測試并未發現存在可被直接入侵的風險點。
2.服務器的入侵痕跡排查
主要對第三方應用監控服務器進行內部排查,包括服務器登錄日志,系統歷史操作命令,可疑進程,可疑網絡連接,可疑系統計劃任務,數據刪除和獲取操作等,服務器內部還有5個Docker服務也進行同樣的入侵痕跡排查。排查發現幾個可疑登錄IP為:113.*.*.*,114.*.*.*,153.*.*.*,這些IP是在06.24之前訪問過第三方應用監控服務的后臺。雖然這發生在回傳私鑰和助記詞的時間之前,但是仍然存在可疑。
聲音 | 慢霧:使用中心化數字貨幣交易所及錢包的用戶注意撞庫攻擊:據慢霧消息,近日,注意到撞庫攻擊導致用戶數字貨幣被盜的情況,具體原因在于用戶重復使用了已泄露的密碼或密碼通過撞庫攻擊的“密碼生成基本算法”可以被輕易猜測,同時用戶在這些中心化服務里并未開啟雙因素認證。分析認為,被盜用戶之所以沒開啟雙因素認證是以為設置了獨立的資金密碼就很安全,但實際上依賴密碼的認證體系本身就不是個足夠靠譜的安全體系,且各大中心化數字貨幣交易所及錢包在用戶賬號風控體系的策略不一定都一致,這種不一致可能導致用戶由于“慣性思維”而出現安全問題。[2019/3/10]
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地址被盜交易表
不久后,當前的以太坊主網將與信標鏈合并。這標志著以太坊PoW的結束,以及向PoS的全面過渡。合并為包括分片在內的未來擴展升級奠定了基礎,使以太坊的能源消耗減少約99.95%.
1900/1/1 0:00:008月17日消息,紐約一家法院否決了Block.one提出的2750萬美元和解協議,理由是該公司發行的EOS代幣本應注冊為證券銷售。Block.one沒有立即回應置評請求.
1900/1/1 0:00:00因系統升級,ZAPP的存幣挖礦,defi挖礦,余幣理財,量化交易都將于新加坡2022年8月19日14:00進行下架維護。請大家提前進行操作劃轉資金到現貨.
1900/1/1 0:00:00隨著美國通脹壓力的減輕和以太坊合并臨近,加密市場迎來了一定的復蘇,是時候考慮市場下個階段的核心敘事了.
1900/1/1 0:00:00親愛的CoinW用戶: 為了給用戶提供良好的交易深度與使用體驗,幣贏CoinW將MOAC/USDT;ANW/USDT;SDA/USDT;PBCB/USDT;NECC/USDT;POkE/USDT.
1900/1/1 0:00:00親愛的用戶: 為感恩廣大用戶對CoinW的喜愛和支持,CoinWEarn將于8月17日開啟賺幣活動.
1900/1/1 0:00:00