「數」說wannacry的比特幣錢包

2021-02-23 FreeBuf

*本文原創作者:追影人,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載

5月12日一場網際網路領域的「巨震」席捲全球,wannacry蠕蟲式勒索軟體已驚人的速度席捲上百國家,所到之處,哀鴻遍野,寸草不生(詞窮編不下去了),上一張來自malwaretech的全球感染地圖自己感受。

各安全公司的大牛們從感染初期便開始進行樣本分析,發表諸多技術分析文章,其中均提到了wannacry使用的三個比特幣帳戶,本文便是利用比特幣交易明細公開化的特性,從數據的角度扒一扒這三個帳戶的秘密。

當中招者絕望,想花錢買平安時,才發現對方只支持比特幣支付,這讓日常用慣快捷支付的客戶們情何以堪。選擇如此小眾的支付方式使得門檻提升,用戶體驗太差,讓不少到手的鴨子飛了,這也一定程度上影響了病毒製作者的收益。Why???!!!為什麼會選擇比特幣進行支付?

比特幣已不是新鮮事物,自誕生以來,便憑藉去中心化、高匿名性的優勢快速發展,也因匿名性吸引了不少犯罪力量關注,給比特幣的發展帶來不少爭議。勒索軟體使用比特幣已經由來已久,安全公司曝光的諸多勒索軟體,為了反追蹤溯源絕大部分均使用該支付手段。

Q:比特幣帳戶為何會是匿名的?

A:與以銀行為代表的中心化交易體系相比,比特幣採用分布式結構將所有交易記錄分布存儲在不同的區塊鏈中,沒有統一的中心節點,且所有交易記錄均公開。同時用戶可無需實名認證,隨意生成若干個比特幣錢包地址,且錢包之間的轉帳可隨意進行,無需中間機構認證,這些因素共同確保了比特幣錢包的高匿名性。由於比特幣的使用模式與銀行相比較為複雜,一定程度上屏蔽了很多潛在客戶,為了降低使用門檻,滿足市場需求,一些投資者成立比特幣交易所,來提供貨幣兌換、交易等服務。但是交易所會以一些制度強制力或者帳戶安全性為名,讓客戶提供更多的個人資料,這在一定程度上降低了比特幣錢包的匿名性。這也導致勒索軟體這樣的專業化團夥會儘量避免去交易所進行交易,而選擇地下市場交易。


Q:比特幣交易記錄裡能獲得什麼?

A:銀行的交易記錄只能由交易參與者查看,而比特幣的交易記錄則是全網公開,至於為什麼要這樣做,感興趣的童鞋可以查閱比特幣的交易原理。有很多網站提供比特幣交易記錄的查詢功能,在這推薦btc.com,在該網站上可以查看任何錢包、區塊、礦產等基本信息。在交易記錄上,我們可以很容易獲取與本次交易相關聯的前後交易記錄,這樣我們沿著上下遊一直追溯就可以獲取完整的比特幣流向。


Q:獲取到完整交易鏈後,我們能夠幹什麼?

A:與銀行轉帳一樣,比特幣帳戶的轉帳次數也是無限制的,且轉帳額度無限。通常電信詐騙集團為了逃避打擊,常將大筆交易化整為零,分轉入多個帳戶,然後跨境轉出;而比特幣帳戶無國籍屬性,且每個人都可以註冊N個帳戶,這更加降低了成本,犯罪集團會使用大量帳戶進行轉帳操作,從而提升分析者挖掘有價值信息的成本。需要強調的是,比特幣的交易記錄以區塊的形式進行存儲,而不是一對一存儲,這就會導致如下圖形式的記錄出現。

從這條記錄上我們只能看到輸入\輸出,無法精確到是哪一個帳戶轉給哪一個帳戶,所以這也給分析工作帶來一定幹擾。在下一節中就可以體會到分析過程的複雜性,其交易資金流並非簡單的鏈條關係就能描述清楚,而是複雜的樹型結構,甚至是龐大的圖。

巧婦難為無米之炊。在對數據分析前首先要做的就是數據採集,曾經有人在我評論下稱我為「freebuf爬蟲帝」,這次依舊老套路上python爬蟲來扒數據,具體的技術細節就不再重複。

針對py爬蟲的編寫大體分兩個路子:

1、基於url2、bs4等python庫的爬蟲;

2、基於scrapy等框架的爬蟲。

推薦新手使用方法一進行編寫,這樣可以通過一次次的碰壁更清楚的了解爬蟲的架構和底層技術細節;而老司機便可選用效率更高中間件更加完善的各類框架來進行數據採集。在本次爬取中為了去重引入redis來處理重複數據,使用mysql資料庫進行本地化存儲數據,數據分析則由sql語句直接完成。

本次分析的交易記錄均來自於逆向獲取的wannacry硬編碼的三個比特幣帳戶:

115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn

12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw

13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94

另外有部分安全廠商分析顯示,wannacry在連接TOR網絡後,會動態為每個用戶獲取一個比特幣收款帳戶,這樣每臺受害者的電腦都會得到不同的付款地址,分析人員也無法統計攻擊者使用了多少個付款地址,牽扯到的勒索金額也無法確切統計。顯然這已經超出本次分析的能力,所以本文只對上面的三個帳戶進行分析。

選取btc.com網站作為交易記錄的數據源,對相關數據進行爬取分析,爬蟲爬取數據的路線大致如下:

由錢包地址,可獲取該錢包的所有交易明細。

由錢包頁面的交易明細可以進入某次交易的詳情頁面。

交易信息都記錄在區塊上,而與本次交易相關聯的區塊(即比特幣的上/下次交易信息)的連結,同樣可在本頁面獲取(上圖紅色區域)。

由此可知,我們只要不斷去迭代追溯交易的上下遊,就可以獲得整個比特幣的運動軌跡,即資金流向。這樣豈不是可以查到這三個帳戶的資金去向嗎?很遺憾,截至發稿前,這三個帳戶沒有資金流出,即沒有構成下遊來供分析者追查。

Q:為何收了錢卻不用呢?

A:我們不妨大開腦洞猜測一下:

maybe1:這次事情波及範圍太廣,遠超作案者預期,導致心怯不敢用錢;maybe2:這三個錢包只是掩護,從tor網絡動態獲取的錢包地址才是作案者真實使用的;maybe3:作案者根本就不是為了錢而來的。maybe4:..(歡迎大家一起在評論區大開腦洞)

至此,我們無法對資金的去向進行分析,但是既然上遊是可以查的,不妨讓我們一起看看匯入這三個帳戶的錢都是怎麼來的吧!!!爬蟲主要收集兩類信息:1、交易區塊基本信息

2、交易明細

由於交易區塊中記錄的帳戶並非一對一,往往出現多對多的形式,所以在存儲時按條存儲,分輸入、輸出兩類。

分析一:攻擊者帳戶交易基本信息

對三個帳戶進行收集,三個帳戶共有300次交易,共532個輸入帳戶,3790個輸出帳戶。

從交易次數可以看出,12日wannacry爆發後,13日迎來了第一個交易高峰,共61次。隨著15日(星期一)的到來,許多公司可能出於恢復業務的需要,選擇花錢買平安,迎來了最高峰84次。

三個帳戶餘額分布圖可以看出金額基本均分,從一定程度上可以看出程序內部對各帳戶的選擇是隨機的。

其帳戶具體金額為

三個帳戶的第一筆交易id為cce780ee91f0eda86d733f8fa93e23eb676ea1dd43c0822353501de61414ece9,轉入13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94帳戶。圖11.png

其中最大的交易發生在下圖,有1.999BTC。最小的則只有0.00000563BTC。

分析二:資金流

我們提取帳戶13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94的所有交易記錄,畫出資金關係圖。

PS:紅色點:交易區塊;綠色點:比特幣錢包帳戶;藍色線:資金由錢包輸入;橙色線:資金輸出到錢包。

該圖很明顯看出位於中心的節點便是帳戶13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94,局部放大圖。

然後順著這個帳戶的所有交易記錄向上追溯(由於數據量太大,只追溯一部分),得到的關係圖如下。

如此複雜的圖已經很難從中找到關係了。。。。希望大牛給出一個解決方案

為了降低難度,簡化問題。現只對id為f25d1ab85c889d601f3981c7bd3d33c55e91ec549cf46d69104bbef30361c81e的交易記錄進行追溯,並且只沿第一個輸入帳戶向上追溯,即只把第一個輸入帳戶的前一個交易塊作為追溯路徑,而不對其他輸入項進行追溯,這樣會減少節點規模。共提取184筆交易,涉及帳戶5446個,有一筆交易是來源於挖礦3437518aef70276e2b0101d7556e436a4cb00fc4dda6b5db9822b9aafb91be52。

上圖為根據上述數據繪製的交易關係全局圖,可以看到雖然經過了一定的簡化,依舊形成了複雜的圖。

局部放大圖可以看到很多綠點連接同一個紅點形成樹狀結構,這代表同一筆交易由多個帳戶共同完成。

紅點為交易記錄塊,綠點為錢包,藍線為轉出,橙線的轉入,這樣我們就可以得到一條如上圖所示的資金流向圖。

由於wannacry的三個帳戶並沒有發生任何的轉出行為,所以不能順著資金的下遊流向來進行分析,這是本文的遺憾之處。而對於比特幣帳戶的匿名性,並不能確保在任何時候均有效,在本次勒索軟體事件發生後,一些數據分析師則表示比特幣在一定情況下是可以追溯的,只是需要更多的數據和成本來完成。大數據時代,只要有行為發生就會被記錄,通過不同渠道來源的數據匯合分析後,也許就會破除數據的匿名性。

*本文原創作者:追影人,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載

相關焦點

  • 比特幣錢包大全
    在您使用比特幣進行任何正式交易之前,請務必閱讀您需要了解的信息,並完成正確的步驟,以確保您錢包的安全。永遠記住:你應該仔細選擇你的錢包,並採取好的措施來保護你的錢。比特幣桌面錢包。比特幣核心.Bither是一個簡單安全的錢包,可以在很多平臺上運行。通過冷/熱方法的具體設計,用戶可以使用兩種簡單易用的安全方法。Bither的XRANDOM使用不同的加密源為用戶生成真實隨機數。通過同時使用HDM,用戶可以擁有高清的優勢和多重籤名的安全性。駐極體.
  • 比太錢包成為首個被比特幣官方推薦的「國產」比特幣錢包
    作為眾多數字貨幣錢包開發團隊之一,4人團隊的比太錢包誕生一年,已經在比特幣錢包方面做出多次創新:1、比太錢包是原生支持平臺最多的比特幣錢包, 包括iOS、Android、Mac OS、Windows、 Linux;2、首個利用智慧型手機實現冷熱分離的錢包解決方案;3、首創極隨機(XRANDOM)的真隨機數解決方案。
  • 比特幣私鑰、帳戶與錢包
    對於比特幣用戶來講,與它們最直接相關的就是比特幣中私鑰、帳戶及錢包了,這裡講述一下這三個概念及相關細節。
  • 比特幣錢包(BTC錢包)大全
    總是要記住:你要小心選擇你的錢包並採取很好的措施來保護你的錢。比特幣桌面錢包Bitcoin Core 網址(https://bitcoin.org/)比特幣核心是一個實現了全節點的比特幣客戶端,它組成了整個比特幣網絡的支架。
  • 比特幣錢包欺詐:Bitcoin.com提供比特幣錢包稱其為「比特幣
    2017年11月20日,Bitcoin.com在蘋果的應用商店中更新了他們的比特幣錢包。
  • Case:比特幣的實體錢包
    專注於比特幣的創業公司CryptoLabs上周發布了一款信用卡大小的比特幣硬體錢包,支持多重籤名與生物認證。這是該公司的首款產品,希望在這個由智慧型手機支付應用與硬體錢包割據的市場下,奪取一塊地盤。摸得著的錢包2014年。放在50年前的科幻小說裡,這個時間戳就代表著未來。罔顧各種在線支付app的侵襲,說起「支付」這個詞,人們最先想到的應該是信用卡。磁條自上而下地一刷,你的現金就就悄無聲息地溜走。對比特幣這種純粹的虛擬貨幣來說,一個實體錢包或多或少能夠讓我們感受一下支付的過程。為此,這款能夠放進錢包的設備也才有意義。
  • 如何挑選最適合你的比特幣錢包?
    對於比特幣用戶,尤其是新用戶來說,一個非常常見的問題是「哪個比特幣錢包最好?」由於不同的用戶希望的功能及其實際需要是不同的,這個問題的答案自然也是不同的。蘿蔔青菜,各有所愛。這篇文章將會談到,當你創建和使用一個比特幣錢包時,需要考慮的必要的東西。從基本的開始。你想使用一個流行的在線錢包嗎,就像Blockchain.info?這種在線錢包是控制你的私鑰的。
  • 比特幣助記詞錢包的崛起,11大罪狀致使紙錢包沒落
    新人常常會提問有關如何存儲比特幣的建議,而有些人則會告訴他們使用紙錢包的方式來存儲比特幣。對此話題,r/Bitcoin社區成員belcher_認為我們不能再對此保持沉默,其表示紙錢包是非常糟糕和危險的,它們已導致價值數十萬美元的比特幣丟失了。而下面的這篇文章,解釋了紙錢包存在的所有問題,即使專業用戶也無法修復它們的缺陷。
  • 如何使用手機錢包安全地存儲比特幣
    很多人手上都有退役的安卓手機,把舊手機格式化恢復出廠設置,只裝一個手機錢包+備份好種子數(私鑰),平時關機,用時才開機,這樣安全性並不比冷錢包差,但易用性上足以讓諸多小白輕鬆使用。重置後的手機,除了比特幣錢包,不要安裝任何其他app(包括更新預裝app),以確保安全。2、安裝比太錢包通過手機自帶的瀏覽器打開比太錢包官網 bither.net,下載安裝比太錢包。
  • 勒索病毒 Wannacry 的防範手法
    感染後設備上的所有文件都將會被加密,攻擊者聲稱用戶需要支付300~600美元的比特幣才可以解鎖。而目前眾多高校學生正在忙著論文,一旦被加密即使支付也不一定能夠獲得解密密鑰。疑似通過校園網傳播,十分迅速。目前受影響的有賀州學院、桂林電子科技大學、桂林航天工業學院以及廣西等地區的大學。另外有網友反映,大連海事大學、山東大學等也受到了病毒攻擊。
  • 比特幣錢包冷儲存技術淺談
    今天我們就來回顧一下比特幣冷儲存技術的基礎知識,在了解了冷儲存相關知識後,相信小夥伴們的比特幣錢包會更加的安全。什麼是冷儲存?比特幣錢包的冷儲存(Cold storage)是指將錢包離線保存的一種方法。具體來說,玩家在一臺離線的電腦上生成比特幣地址和私鑰,並將其妥善保存起來。
  • 比特幣錢包怎麼選 - 分類與比較分析
    但比特幣本身只是一個數字,為什麼比特幣錢包裡的這個數字就值錢,而我在一個文本文檔或EXCEL表格中寫個數字就一文不值,那是因為比特幣的數字能夠被全網認可,任何人都無法隨意修改這一數字。保障這一點的,正是比特幣錢包裡存放的私鑰。所以,準確地說,比特幣錢包是用來存放比特幣私鑰的。私鑰如此重要,所以我根據私鑰的存放方式,將錢包種類劃分如下:
  • 比特幣核心錢包全解析
    而在這篇論文發布後的第二年,也就是2009年1月3日,比特幣軟體就正式啟動了,世界上第一個區塊鏈數據也由此而生。  在隨後十年不到的時間裡,比特幣成長速度讓世人震驚,區塊鏈也開始真正改變這個世界。而今天我們將向大家介紹的是比特幣的核心客戶端程序,通過閱讀這篇文章,區塊鏈幣風港相信能幫助大家更好地理解比特幣和區塊鏈。
  • 六個熱門又實用的比特幣錢包應用
    因此,這離不開提供加密貨幣存儲的行動應用程式。比特幣錢包應用程式是一個行動應用程式,專門存儲您的比特幣或其他加密貨幣的私鑰和公鑰。大多數應用程式都提供了與加密貨幣交易相關的功能,比如買賣令牌。某些應用允許用戶使用QR碼向加密貨幣支付商家費用。當選擇一個比特幣錢包應用程式,記住要考慮你正在尋找的是什麼,並仔細研究錢包潛在的功能與應用。
  • 2019年排名前15的比特幣錢包
    有些錢包不收取任何佣金,但是在連接到交易平臺時你必須支付費用。理想情況下,你應該使用錢包的組合 - 每個都是為了它的目的。這將確保更高的安全性和快速訪問你的數字資金。比特幣錢包的類型比特幣錢包有四大類。它們因你訪問資產的方式而異。
  • WannaCry勒索病毒:全球網絡攻擊的幕後黑客取走比特幣贖金
    英國國家衛生服務機構受該次襲擊的打擊特別嚴重,旗下的醫院和醫生手術停擺,一些服務數天後都未能恢復正常。WannaCry在初次爆發後仍有受害者中招:6月,本田由於感染WannaCry被迫關閉工廠,澳大利亞維多利亞測速相機也成為WannaCry勒索病毒受害者。
  • OBPP報告:隱私性最好的比特幣錢包都有哪些?
    開源比特幣隱私工程(Open Bitcoin Privacy Project 簡稱OBPP)發布了比特幣錢包性能報告第二版,對20款比特幣錢包進行了測評,根據這些錢包所提供的安全水平進行了評級。報告發現,越來越多的比特幣錢包都採用了分層確定性(Hierarchical Deterministic 簡稱HD)架構,這是專注於保護隱私的比特幣錢包的一個重要特徵,它可以幫助客戶避免地址重用。報告說:大部分比特幣錢包在創新上似乎都處於停滯的狀態,可是現在迫切需要進一步提高比特幣錢包的性能以保護用戶資金的獨立和安全。
  • 比特幣錢包HandCash獲得了進一步融資
    HandCash還與「競爭對手」Bitcoin SV(BSV)錢包MoneyButton達成了協議,確保兩個錢包之間可以不通過第三方而直接進行BSV交易。如此一來,便實現了比特幣創造者中本聰所設想的點對點系統。
  • Kryptokit發布Jaxx:比特幣+以太坊的錢包服務平臺
    本月初,比特幣錢包服務商KryptoKit的創始人安東尼•迪•伊奧裡奧(Anthony Di Iorio)宣布了Jaxx的公測,Jaxx是一個統一平臺,既提供比特幣錢包服務,也為以太坊用戶提供錢包服務。Jaxx錢包由分層確定性的比特幣錢包和以太坊輕量級錢包組成。
  • 比特幣Blockchain錢包使用圖文教程
    通過安裝比特幣客戶端(或稱比特幣本地錢包)來獲得比特幣地址,但比特幣客戶端安裝後需要同步到當前區塊,否則現在發生的交易是無法看到的,對於那些想將收到的比特幣快速變現的朋友來說非常不便