USPD 黑客攻擊:詳細信息和問題

本文為機器翻譯
展示原文

美國警察局(USPD)遭到黑客攻擊,攻擊者採用了一種被描述為秘密隱蔽的攻擊手法。該團隊聲稱,此次攻擊在 Etherscan 上無法檢測到,攻擊者擁有隱藏的訪問權限。但這些說法都是歪曲事實,甚至可能是謊言,我們將在下文中加以證明。或者,這或許只是對整件事過於簡單化的解讀。

一個稱職且不失職的團隊本可以也應該在9月份協議遭到破壞時立即發現問題。任何支持“這是隱藏的”這種觀點的安全“研究人員”同樣是不稱職、不負責任的,不應被信任。

僅使用像 Etherscan 這樣公開的免費工具,團隊就能在部署時發現問題。一個稱職且盡職的團隊本應能發現這個問題,無需任何特殊工具。誠然,Etherscan 有時會隱藏一些相關信息。我們曾明確指出,盲目信任 Etherscan 的判斷是不可取的。我們也曾指出,我們認為,一些團隊會利用 Etherscan 的不足來掩蓋自身對產品的控制程度。或許我們應該更加謹慎:如果這些團隊因為 Etherscan 沒有顯示控制信息而沒有意識到自己擁有控制權呢?那將是多麼混亂、愚蠢令人遺憾的事情。

但美國警察局的情況並沒有那麼複雜。這顯然是疏忽和無能的混合體現,因為相關信息並沒有被隱瞞。沒錯,我們應該期望開發人員使用一切必要的工具來確保他們的系統能夠正確部署。但是,未能使用專用軟件或自行構建複雜的監控工具,與這裡發生的事情是有區別的。這個團隊沒有使用標準的、免費的軟件,然後還謊稱這些問題在使用此類軟件時無法發現。

現在我們將證明,這並非是某個理智的團隊可能忽略的複雜秘密攻擊,而是出於無知和失誤。沒錯,團隊確實忽略了這個問題,這一點我們並不否認。但我們此舉的目的是揭露團隊的無能和疏忽。我們將指出問題發生時團隊未能察覺的那些實時可見的警示信號,以此來證明這一點。

細節

我們可以在項目的 GitHub 倉庫中看到,他們部署的合約之一是位於 0x1346B4d6867a382B02b19A8D131D9b96b18585f2 的“穩定器”合約。我們可以使用標準工具在 Etherscan 上查看部署交易記錄。根據 Etherscan 的記錄,該交易執行於 2025 年 9 月 16 日下午 1:01:59 UTC。

然後,我們可以看到 2025 年 9 月 16 日下午 1:02:11 UTC 時間,同一個 0x1346 地址的6 條日誌,比之前晚一個數據塊。可以使用各種標準的免費工具輕鬆查看日誌。這 6 條日誌是:

  1. 授予閉源合約的角色,據推測來自攻擊者,地址為:0xc2a0aD4Bd62676692F9dcA88b750BeC98E526c42。
  2. 授予同一閉源合同的另一個角色
  3. InsuranceEscrowUpdated ,將保險託管合同更新為相同的閉源合同。
  4. 已初始化,表示協議已初始化。
  5. 已升級,表示某種代理升級到 0xAC075b9bf166e5154Cc98F62EE7b94E5345Cc090,這是另一個閉源合約。
  6. 這次升級到了真正的 USPD 實施合同。

如果團隊在部署後查看一下自己合同上的事件記錄,就能發現這些事件。這可以通過 Etherscan 或其他各種免費或收費的平臺來實現。

文中提到的兩份閉源合同十分可疑,團隊應該會立即意識到問題所在。任何稱職的團隊都會注意到這些來路不明的合同,並詢問原因。

我們如何確定這些並非團隊預期的合約?因為在這些事件中暴露的地址現在已被標記為攻擊者。接下來我們將詳細討論一些細節,但實際上,一旦團隊發現意外地址獲得了管理員權限和代理關聯……這無疑是一個極其明顯的警示信號。團隊並未預料到這兩個地址會出現在任何地方,所以要麼 a) 他們看到了這些日誌但忽略了,要麼 b) 他們根本沒看到這些日誌。無論哪種情況,都是團隊的失職。

RoleGranted 日誌與協議內的權限有關,再次強調,向隨機的外部合約授予權限是一個明顯的危險信號。

《老爸老媽的浪漫史》裡的笑點在於,“隨便籤什麼就行”這份工作簡直荒謬至極。美國警察局幾個月來都願意接受“襲擊者”提出的任何要求。真是份美差啊。

正如我們前面提到的,安全研究人員現在已將上述兩個地址列為惡意地址。對於外部人員來說,無法確定它們是否是某種黑客攻擊的一部分。這些也可能是錯誤。或許團隊錯誤地部署了這些合約,並且從未費心去公開源代碼,因為這些錯誤永遠不會在生產環境中使用。我們經常發現開源協議中存在對隨機閉源合約的臨時升級。通常沒有人會費心去驗證這些臨時錯誤部署。有時,協議甚至 謊稱自己是開源的。這顯然是個問題,但它與開源問題有所不同。

但美國警察局(USPD)團隊應該知道這些是安全問題。他們清楚自己部署了哪些合同,也知道這些地址不在他們的控制之下。對於外部人員來說,當時很難發現問題所在。但對於一個稱職的團隊來說,僅使用簡單、免費、標準的工具,就完全可以發現問題。外部人員完全可能發現異常並提出疑問。而最有趣的情況莫過於,當時某個安全研究人員向美國警察局提出質詢,卻遭到拒絕或置之不理。可惜的是,這種情況似乎並沒有發生。如果您知道此事,請隨時與我們聯繫。

團隊實際做了什麼

在上述事件發生數小時後,我們可以看到團隊在 GitHub 上記錄了 0x1346 部署地址。我們可以看到一位開發者為此花費了幾個小時,並且需要多次提交才能完成所有更新。有趣的是,這位開發者當時正在編寫測試代碼。他們甚至在 9 月 18 日提交了一個腳本來“使用新的實現和權限重新部署 USPDToken”,所以你不禁會想, tomw1808是否知道存在問題?我們不知道這個人是否負責驗證鏈上部署,但這或許是一個值得著手調查的方向。也許這裡面隱藏著一些尚未被挖掘的笑料。

最後需要注意的是,這兩項項目審計都早於部署,因此不可能發現部署過程中的任何問題,因為當時部署尚未進行。而且似乎沒有人對部署過程進行審計。或者,即使有人進行了審計,那也不是一次合格的審計——或者說,這次審計可能沒有得到認可。

總之:問題不在於代碼本身,而在於代碼的部署方式。但這並不意味著代碼本身就特別好!以下摘自一份審計報告的目錄:

你不需要是編程專家也能看出那些代碼“糟糕、業餘且過時”。兩次審計都發現了初始化過程的問題,並且都聲稱在一定程度上審查了部署過程。所以,審計人員確實應該受到部分指責,因為他們沒有更清楚地指出部署和初始化過程的缺陷。但團隊無疑應該承擔最大的責任。再次強調:如果參與審計過程的任何人知道更多內幕,請務必告知我們。我們願意相信,這個問題曾經被討論過,但最終被忽略或協商解決了。

當然,如果你願意,你可以聲稱部署本身超出了範圍。但是,對於一個代碼無法升級的系統來說,“協議中存在冗餘代碼”以及“cUSPD存在集中化風險”這類問題,如果集中化本身就是設計的一部分……這些都算不上什麼嚴重的問題。這些審計充其量只是用一些無關緊要的無關內容填充了內容。我們不知道這些內容是否也經過了協商,或許還掩蓋了一些其他的娛樂內容。

這是黑客行為嗎?

在這種情況下,“攻擊者”搶先執行了部分部署流程,並運行了一些自己的代碼,從而搶在團隊交易之前獲利。這裡我們使用“搶先執行”一詞僅指技術層面,並不意在表達任何關於合法性或道德的觀點。

這聽起來很像佩雷爾-布埃諾案,所謂的“黑客”利用以太坊核心的競爭性區塊構建過程竊取了他人的錢財。在USDP案和佩雷爾-布埃諾案中,沒有人竊取任何人的私鑰,沒有人闖入任何人的住宅或辦公室,也沒有人進行網絡釣魚攻擊或以其他方式撒謊。一切都在以太坊協議的框架之內。

這兩種情況都存在某種形式的搶先交易。在USDP中,這有點像有人忘記關前門,把車鑰匙放在桌子上。只不過以太坊上的交易環境不同,在這個環境中,拿走那輛車並不被視為盜竊。

利用複雜的中繼器-區塊構建器-內存池-共識機制搶先交易去中心化交易所(DEX)和搶先部署類似這樣的項目,本質上並無區別。兩者都“利用”了以太坊社區想要構建和使用的相同協議特性。

Coin Center 提交的法庭之友意見書支持 Peraire-Bueno 兄弟,認為他們在以太坊上的搶先交易行為完全公平、合理且合法:

以太坊是一個全球性的技術和生態系統。它新穎、快速變化且不受監管,但其內部的經濟激勵機制、加密控制以及驗證者之間(包括被告和所謂的受害者)的激烈競爭(如下所述)使其得以存在。以太坊的開源軟件為這種競爭建立了規則和控制機制,這得益於成千上萬才華橫溢的開發者自願貢獻的軟件,他們以透明且合作的方式開展工作。認為少數檢察官的判決可以導致對合法參與該技術的行為制定特定的替代技術標準,並且認為這些標準會明顯與開源軟件中許多既定規則相牴觸,這種想法簡直是荒謬至極。

所以,整個體系建立在“清晰”的“既定規則”下的“激烈競爭”之上。任何遵守這些規則的人都沒有違法,因為所有參與者都是自願選擇這種安排的。至少,這種說法是這麼說的。Coin Center 繼續說道:

事實上,所謂的受害者是那些使用非常成功的軟件機器人的用戶,他們參與了這場殘酷的競爭,力求在協議的極限範圍內獲取最大可提取價值,正如業內參與者所預期的那樣。所謂的損害僅僅在於,他們被被告擊敗,被告也尋求多種商業和技術途徑,以在協議為“誠實”參與設定的狹窄共識規則所規定的上限範圍內最大化自身的區塊獎勵。

他們繼續辯稱這一切都很好,因為簡單明瞭的規則是獲得最佳結果的唯一途徑,而且,所有參與者都是自願選擇接受這些條款的:

在加密貨幣領域的思想家看來,讓礦工或驗證者在最小且清晰的約束下競爭,並對違規行為施加自動懲罰,這並非出於對市場的固有偏見,也不是戈登·蓋科式的貪婪是好事。相反,這源於對自身利益始終存在的認知,以及對更簡單的競爭規則的認可——這些規則不受無法驗證的外部信息或壓力(例如區塊鏈數學驗證之外的因素)的影響——能夠更好地確保這種自身利益被限制在一個簡單且政治中立的目的上:即純粹的數學交易驗證。

USPD的“攻擊”並未違反以太坊的任何共識規則。沒有人竊取任何東西。這僅僅是一位精明的業內人士“勝過”了一個實力明顯不足的團隊。如果你想論證該團隊缺乏參與以太坊競爭所需的必要能力,那麼你需要解釋一下准入審批流程是如何運作的。保護弱勢群體和無知者或許是一個崇高的目標,但必須有一套流程來界定誰屬於弱勢群體和無知者,以及誰有資格參與到這場競爭中來。稱其為黑客攻擊,就等於認為參與以太坊共識流程應該要求通過一項能力測試,而不僅僅是能夠運行軟件。嗯。

這就讓我們陷入了一個有趣的境地。Web3 行業的大部分成員都認同 Coin Center 對 Peraire-Bueno 事件的看法。如果這種立場是真誠的,那麼他們也必然認同這並非黑客攻擊。此外,業界需要認識到,這個團隊和流程都存在嚴重缺陷。

對美國警察局“黑客攻擊”事件的報道揭示了一些不一致之處。

如果對這種“黑客”行為視而不見,認為其完全可以接受,那就清楚地表明,除了自身利益之外,業界的立場始終前後矛盾。我們並不指望Web3遊說團體在智識上保持一致,所以當他們拒絕就此類暴露其虛偽的案例進行溝通時,我們也不會感到驚訝。但這個問題值得一提。

最後:如果不對這些不稱職的開發者進行哪怕是最基本的社會制裁,只會讓此類事件在未來更加頻繁地發生,因為這僅僅依賴於以太坊社區想要使用且不願移除的功能。團隊本應在發佈前實時發現問題並修復部署流程。如果你接受以太坊生態系統目前的現狀,那麼USPD的問題本質上是社會問題而非技術問題。這意味著“解決方案”也應是社會性的。


USPD Hack: Details & Questions最初發表在 Medium 上的ChainArgos上,人們正在那裡通過突出顯示和回覆這篇文章繼續進行討論。

Medium
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
68
收藏
18
評論