作者|KIM ZETTER
編譯|吳說區塊鏈
兩年前,當“Michael”,一位加密貨幣持有者,聯系 Joe Grand 尋求幫助,以恢復他存儲在電腦上加密格式的約 200 萬美元的比特幣時,Grand 拒絕了他。
Michael 位於歐洲,要求匿名。他將加密貨幣存儲在一個密碼保護的數字錢包中。他使用 RoboForm 密碼管理器生成了一個密碼,並將該密碼存儲在一個用 TrueCrypt 加密的文件中。某個時候,該文件損壞了,Michael 失去了對他爲保護 43.6 BTC(2013 年時價值5,300 美元)所生成的 20 位密碼的訪問權限。Michael 使用 RoboForm 密碼管理器生成了密碼,但沒有將其存儲在管理器中。他擔心有人會黑進他的電腦獲取密碼。
“當時,我對我的安全性真的很偏執,”他笑着說。
Grand 是一位著名的硬件黑客,2022 年他曾幫助另一位加密錢包持有者恢復對他認爲永遠丟失的 200 萬美元加密貨幣的訪問權,該持有者忘記了其 Trezor 錢包的 PIN。自那以後,幾十個人聯系了 Grand,希望他幫助他們找回財富。但 Grand,也就是黑客代號“Kingpin”,出於各種原因拒絕了大多數請求。
Grand 是一名電氣工程師,從 10 歲起就开始破解計算機硬件,2008 年共同主持了 Discovery 頻道的《Prototype This》節目。他現在爲構建復雜數字系統的公司提供咨詢,幫助他們了解像他這樣的硬件黑客如何可能破壞他們的系統。他在 2022 年使用復雜的硬件技術破解了 Trezor 錢包,迫使 USB 式錢包泄露了密碼。
但 Michael 將加密貨幣存儲在基於軟件的錢包中,這意味着 Grand 的硬件技能這次無用武之地。他考慮過暴力破解 Michael 的密碼——編寫一個腳本自動猜測數百萬個可能的密碼以找到正確的密碼——但認爲這是不可行的。他曾短暫考慮過 Michael 用來生成密碼的 RoboForm 密碼管理器可能在生成密碼的方式上存在漏洞,這會使他更容易猜出密碼。然而,Grand 不確定這種漏洞是否存在。
Michael 聯系了多位專門破解密碼學的人士,他們都告訴他“沒有機會”取回他的資金。但去年六月,他再次聯系了 Grand,希望能說服他幫忙,這次 Grand 同意嘗試,並與他的朋友 Bruno 一起合作,Bruno 也在德國從事數字錢包破解。
Grand 和 Bruno 花了幾個月時間逆向工程他們認爲 Michael 在 2013 年使用的 RoboForm 程序版本,發現用於生成密碼的僞隨機數生成器確實存在重大漏洞,使得生成的隨機數並不那么隨機。RoboForm 程序不明智地將生成的隨機密碼與用戶電腦上的日期和時間綁定——它確定了電腦的日期和時間,然後生成可預測的密碼。如果你知道日期、時間和其他參數,你就可以計算出過去某個日期和時間生成的任何密碼。
如果 Michael 知道他在 2013 年生成密碼的日期或大致時間範圍,以及他用來生成密碼的參數(例如密碼的字符數,包括大小寫字母、數字和特殊字符),這將使可能的密碼猜測範圍縮小到可管理的數量。然後他們可以劫持 RoboForm 檢查電腦日期和時間的功能,讓它相信當前日期是 Michael 生成密碼的 2013 年的某一天。RoboForm 會吐出 2013 年那幾天生成的相同密碼。
有一個問題:Michael 記不清他創建密碼的具體時間。
根據他軟件錢包的日志記錄,Michael 首次將比特幣轉入他的錢包是在 2013 年 4 月 14 日。但他不記得自己是否在同一天或之前或之後的某個時間生成了密碼。因此,查看他使用 RoboForm 生成的其他密碼的參數後,Grand 和 Bruno 配置 RoboForm 生成包含大小寫字母、數字和八個特殊字符的 20 位密碼,時間範圍從 2013 年 3 月 1 日到 4 月 20 日。但還是沒有生成正確的密碼。於是 Grand 和 Bruno 將時間範圍延長至 2013 年 4 月 20 日到 6 月 1 日,使用相同的參數。仍然沒有成功。
Michael 說他們不斷回來問他是否確定自己使用的參數。他堅持自己的答案。
“他們真的讓我很煩,因爲誰知道我 10 年前做了什么,”他回憶道。他找到了他在 2013 年用 RoboForm 生成的其他密碼,其中兩個沒有使用特殊字符,所以 Grand 和 Bruno 進行了調整。去年十一月,他們聯系 Michael,安排了一次面對面的會議。“我想,‘天哪,他們又要問我設置參數了。’”
相反,他們告訴他,他們終於找到了正確的密碼——沒有特殊字符。該密碼生成於 2013 年 5 月 15 日,格林尼治標准時間下午 4:10:40。
“最終,我們很幸運地選擇了正確的參數和時間範圍。如果其中任何一個是錯誤的,我們將會……繼續盲目猜測,”Grand 在給 WIRED 的電子郵件中說。“預先計算所有可能的密碼會花費顯著更長的時間。”
Grand 和 Bruno 制作了一個視頻,更詳細地解釋了技術細節。
RoboForm 由位於美國的 Siber Systems 开發,是市場上最早的密碼管理器之一,目前全球有超過 600 萬用戶。根據公司報告,Siber 似乎在 2015 年修復了 RoboForm 密碼管理器。Grand 和 Bruno 簡單查看後沒有發現 2015 版本中的僞隨機數生成器使用了電腦時間,這讓他們認爲 Siber 移除了這一功能以修復漏洞,不過 Grand 表示需要更深入的檢查才能確定。
Siber Systems 公司向 WIRED 確認,他們確實在 2015 年 6 月 10 日發布的 RoboForm 版本 7.9.14 中修復了這一問題,但發言人未回答關於修復方式的問題。在公司網站的變更日志中,只提到 Siber 程序員進行了更改以“增加生成密碼的隨機性”,但未說明具體如何操作。Siber 發言人 Simon Davis 表示,“RoboForm 7 在 2017 年停產。”
Grand 說,在不清楚 Siber 如何修復問題的情況下,攻擊者可能仍然能夠再生成 2015 年修復前版本的 RoboForm 生成的密碼。他也不確定當前版本是否包含這個問題。
“在不清楚他們實際上如何改進最近版本中的密碼生成之前,我仍然不確定是否值得信任,”他說。“我不確定 RoboForm 是否知道這一特定弱點有多嚴重。”
客戶可能仍在使用修復前版本生成的密碼。Siber 似乎從未在 2015 年發布修復版 7.9.14 時通知客戶他們應該爲重要账戶或數據生成新密碼。公司未對此問題作出回應。
如果 Siber 未通知客戶,這意味着像 Michael 這樣在 2015 年之前使用 RoboForm 生成密碼並仍在使用這些密碼的人,可能會有容易被黑客再生成的密碼。
“我們知道,大多數人不會在未被提示的情況下更改密碼,”Grand 說。“在我的密碼管理器(非 RoboForm)中有 935 個密碼,其中 220 個是在 2015 年及以前生成的,並且其中大多數是我仍在使用的網站。”
根據該公司在 2015 年修復問題的方式,較新的密碼也可能存在漏洞。
去年十一月,Grand 和 Bruno 從 Michael 的账戶中扣除了一定比例的比特幣作爲工作報酬,然後將密碼交給他。當時比特幣的價格爲每枚 38,000 美元。Michael 等待價格上漲至每枚 62,000 美元並出售了一部分。他現在有 30 BTC,價值 300 萬美元,並等待價格升至每枚 100,000 美元。
Michael 說,他很幸運在多年前丟失了密碼,因爲否則他會在每枚 40,000 美元時賣掉比特幣,從而錯過更大的財富。
“忘記密碼在經濟上是一件好事。”
海量資訊、精准解讀,盡在新浪財經APP責任編輯:張靖笛
標題:特稿:幫助找回比特幣的“硬件黑客” 曾破解 Trezor 錢包
地址:https://www.utechfun.com/post/383572.html