此次TronBank合約被盜事件再次印證了一個簡單到令人發指的常識——所謂智能合約的開源并不能等同于「無條件的安全」,而且粗糙的去中心化機制可能存在被利用的中心化黑幕可能。在目前這個混沌無序的市場環境中,作為一個成熟的「韭菜」,請不要再輕易相信任何口頭上的去中心化承諾。
原文標題:《2600萬TRX被盜背后的羅生門》作者:DR小伙伴
北京時間5月3日凌晨4點12分,一筆神奇的合約調用轉走了TronBank合約中的2673萬TRX,合約余額歸零。
僅僅在20多天前,Tronbank團隊的第二個游戲BTTBank在發布3小時內即被黑客用假幣攻擊并盜走數千萬BTT,事隔不到一個月,第三款游戲TRXPro于4月29日20點正式上線,幾天時間之內,合約余額已經突破2500萬TRX。
這是否是TRON生態上的Dapp又一次被黑客盯上并成功洗劫一空?
而接下來發生的這一切,更讓所有人始料未及
偶然觸發的Bug?
合約余額歸零后,項目方telegram群里面騙局和黑客的質疑聲不絕于耳,DappReview和小伙伴們開始著手研究到底發生了什么。「黑客」的地址為THeRTTCvN4SHEVYNqcLVLNGGVsWLR4smyH,利用DappReview的玩家數據查看工具,可以看到該地址的所有者像是一個正常的Dapp玩家,從今年1月到5月該玩家涉獵過數十個Dapp,其中TronGoo是他玩過最多的游戲,從TronGoo官方排行榜可以看到他就是排名第二的大戶玩家。
BitKeep:已凍結部分黑客轉移資金,呼吁被盜用戶配合團隊調查:12月27日消息,多鏈錢包BitKeep發布公告稱,團隊正處理此次黑客劫持事件,目前取得進展是已凍結部分黑客轉移資金,將竭盡所能為大家追回資產,被盜用戶可直接在表單中填寫資料。希望受害用戶能積極配合官方在社群內發起的團隊調查,只有大家的配合才能順利推進被盜款項的追回。
金色財經此前報道,昨日多名用戶在BitKeep中文社區Telegarm群中反饋資產被盜。BitKeep發布公告稱,經過團隊初步排查,疑似部分APK包下載被黑客劫持,安裝了被黑客植入代碼的包,如用戶的資金出現被盜情況,下載或者更新的應用或許是被劫持的不明版本(非官方發布版本)。經BitKeep與慢霧、派盾等機構統計,本次事件被盜金額約為800萬美元。[2022/12/27 22:10:11]
數據來源:https://player.dapp.review/
發生被盜事件約2個小時之后,在一個名為ScamWatch的Discord頻道中,調走這一筆2673萬TRX的地址THeRTT擁有者wojak現身了。
根據wojak的說法,他寫了個腳本在分析波場虛擬機字節碼,批量掃描合約并發起交易看看有沒有什么能賺到錢的方法,結果偶然之中命中了Tronbank合約的bug。一開始連他自己都不知道這筆錢是從Tronbank打過來的。
社區里部分人建議wojak把錢還給Tronbank開發者,而wojak認為這不是他的問題,開發者應該自己寫測試例子,做審計以及至少跑一些形式化驗證,他愿意把這筆錢原封不動還給Tronbank的每一個投資者,而不是項目方的開發者。
Slope:發現漏洞后已刪除服務器端日志記錄,1444個被盜錢包或可追溯到該漏洞:8月4日消息,Solana生態錢包Slope表示,在發現中心化Sentry服務器引發的漏洞后已刪除服務器端日志記錄。目前,受影響的9223個錢包中有1444個(15%)可能被追溯到此漏洞。Slope正在與審計合作伙伴和Solana基金會合作,以發現任何潛在的額外攻擊媒介,并且已通知相關執法機構,以便對攻擊者進行刑事調查。
區塊鏈安全機構OtterSec此前在社交媒體上發文表示,在過去兩天內,超過400萬美元資產從Solana錢包中被盜,已經確認Slope移動應用通過TLS將助記符發送到其中心化Sentry服務器,然后這些助記符以明文形式存儲,這意味著任何有權訪問Sentry的人都可以訪問用戶私鑰。在本次攻擊中這些地址中的約1400個地址存在于Sentry中,不過這并非所有被盜地址。我們仍在調查可能的其他媒介。另外,在Sentry實例中發現了超5300個未包含在此次漏洞攻擊的私鑰,其中2358個地址中有Token,建議Slope用戶盡快轉移資金。[2022/8/4 12:01:44]
wojak要求參與了Tronbank的投資者發給他投資的交易hash值以及自己的地址,他將寫一個腳本進行驗證,并承諾退款給有損失的Tronbank投資人。
刻意埋藏的后門?
隨著調查的深入,那一筆觸發Bug的交易被放回桌面上被仔細的剖析。我們再來看一下:
注意到,該筆交易調用的是合約里withdraw函數,發送的金額為0.011911TRX,要注意在Tronbank正常的業務邏輯下,調用withdraw函數是不應該發送任何TRX的,金額應該為0.這一點在源代碼中就可以驗證。
OpenSea凍結被盜NFT資產策略引起社區質疑:1月17日消息,OpenSea 凍結被盜 NFT 資產策略引引起社區質疑。根據 OpenSea 網站披露的政策信息顯示:當 OpenSea 收到可靠的報告或得知某件物品被盜時,我們會鎖定該 NFT 物品,使其無法使用 OpenSea 進行買賣或轉讓。對此,Bankless 播客主持人 Ryan Sean Adams 和 David Hoffman 質疑表示:「在這種政策下,NFT 被偷的人輸了,購買 NFT 的人也輸了,而拿走了 ETH 的黑客贏了。總的來說,這似乎是一個不好的先例,因為你可能會引誘更多小偷來竊取 NFT。」事實上,藝術 NFT 盜竊已成為 OpenSea 近來一個緊迫的問題,越來越多的創作者和影響者批評 OpenSea 在保護藝術家方面做得不夠。[2022/1/17 8:54:30]
像Tronbank這樣資金盤屬性的Dapp,往往都會把代碼開源讓合約和邏輯變得透明可信來吸引投資人,在網站最明顯的位置,也標明了通過第三方驗證工具tronsmartcontract.space進行合約代碼驗證后的代碼信息。
從TSC點開源代碼之后,找到withdraw函數,函數第一行會先調用_withdraw()來取得可以提取的TRX金額,在_withdraw()函數的第一行我們可以看到:
require(msg.value==0,"wrongtrxamount");
這一行代碼的意思是要求該筆交易發送的TRX金額必須為零,否則無法繼續執行,交易會被REVERT。
公告 | 青蛙云算力:已處理完畢被盜提用戶資產損失:據青蛙云算力平臺公告和官方證實,2月19日14時,經用戶反饋發現ZEC提現地址被惡意篡改,導致部分用戶資產被盜提,青蛙云算力平臺迅速反應并采取積極措施:為保障用戶利益,平臺以補打ZEC形式彌補用戶當日資產損失,24小時內已完成確認用戶補打工作。
截至2月20日12時,青蛙云算力平臺對19日當天發現并確認的共7個被盜提地址總計246.13ZEC資產已補打完畢。更多詳情點擊原文鏈接查看。[2020/2/20]
也就是說,按照開源代碼的邏輯,那一筆觸發Bug的交易根本不可能發生。
現實變成了,TRXPro的合約實際執行邏輯和所謂「開源」的代碼邏輯并不一致。
這里補充說明一下,所謂的代碼認證過程是這樣:
1、開發者在主網發布合約;2、開發者在TSC上傳代碼,選擇編譯版本,編譯為bytecodes;3、TSC把步驟2中的bytecodes和步驟1中發布合約的bytecodes做匹配,匹配成功,則認證通過,理論上多或者少一個空格都不行;
進一步深扒,從tronscan上找到TRXPro合約的bytecodes,用反編譯工具進行處理得到:
反編譯工具:
https://www.trustlook.com/products/smartcontractguardian
在withdraw函數中,多了一個判斷elseif((0x2E87==msg.value)),如果滿足條件,那么就會把合約的余額全部轉給交易發起者!我們把16進制的數字0x2E87轉換成10進制,也就是11911,要知道TRX的精度為6位,11911所對應的TRX金額就是0.011911TRX...而這一部分判斷在TSC的開源代碼中是不存在的,看起來就像是是一個被藏起來沒有公布的后門。
聲音 | NULS回應“200萬代幣被盜”:攻擊者或為熟悉Nuls底層的人:12月23日,針對團隊賬戶遭黑客攻擊,200萬代幣被盜一事,NULS聯合創始人冉小波透露,黑客攻擊時間發生在本月20日,團隊于昨日18時發現漏洞,首先和交易所進行溝通,凌晨2點修復完漏洞后,進行測試并發布最新版本。關于此次事件攻擊者,冉小波認為,“可能是熟悉Nuls底層的人,但是不知道是誰,我們追蹤到了OKEx,但是他們只提供協助凍結,不能提供信息給我們。”[2019/12/23]
用更簡單的語言梳理一遍:
1、在主網上部署的合約,通過反編譯發現,調用withdraw函數時,如果發送金額等于0.011911TRX,則會轉移全部合約余額;2、在TSC上認證過的開源代碼中,如果發送金額不為零調用withdraw函數,交易會被撤回。
那么一切就很清晰了,實際發生的與第一點完全吻合,主網的代碼運行沒有問題,即TronBank在主網部署的合約中存在一個可以直接提走合約余額的后門代碼,而有意思的在于第二點,明明不一樣的代碼邏輯是如何上傳后通過了TSC的認證過程?
根據已有的信息,斷定「是開發者在合約之中放置后門」這個結論仍然為時過早,目前我們可以得出的客觀結論只有兩點:
1、TRXPro在主網的合約中存在后門
2、TSC上認證過的代碼與實際合約運行邏輯不符
注:以下內容是基于現有事實依據的可能性探討,不代表最終結論和真相,請在傳播時不要斷章取義。
至于后門是誰放置的,如何放置的?目前沒有任何實錘證據,有的人認為是Tronbank開發者,有的人認為開發者的實力還不足以通過欺騙TSC驗證與實際部署所不同的代碼。
客觀來分析存在的可能性,有以下幾種:
可能性一:Tronbank開發者在實際部署的合約中夾雜私貨放置了后門,并成功欺騙了TSC完成了另一份沒有后門的代碼驗證。
在探討這種可能性時,如何欺騙TSC成為了焦點,如果真的TSC的驗證存在Bug,那么這意味著之前所有通過TSC認證并標榜開源的Dapp都不再可信和透明,事實上,在Discord群里,TSC的開發者Khanh承認代碼已經很久沒有維護并存在bug的可能性,也有其他開發者證實自己實際部署的代碼和通過認證的代碼可以不完全相同。
另一方面,Tronbank開發者在Telegram群中多次聲稱團隊沒有在合約中放置任何的后門,有一種自證清白的方式是:官方給出部署時的源代碼以及編譯方式,理論上任何人按照同樣方式編譯出來的bytecode和線上部署的TRXPro合約應該一致。但當我們提出該質疑時,官方回復如下:
這個回復的內容如果當真,則該事件將更加戲劇化和復雜化,參考可能性三
可能性二:Tronbank團隊和TSC團隊合謀,部署了有后門的合約,同時TSC協助用另一個沒有后門的合約完成驗證。
這是在「欺騙TSC」很難成立的前提下提出的可能性,TSC最終打上驗證的標簽其實是中心化的行為,完全可以人為操作,但對于TSC作為一個第三方合約驗證工具來說,目前尚無競品,做這樣的事情無疑嚴重損傷自己的品牌,串通合謀是在性價比太低。
可能性三:Tronbank團隊沒有在合約中放置后門,而是后門在合約部署過程中以某種方式產生。
這種可能性是基于「可能一」中的官方回復的一種暗示,即項目方在合約部署時確實使用的是沒有后門的合約,編譯工具在部署合約到主網的過程中出現了貓膩,加入了有問題的后門。但項目方目前沒有提供任何的可驗證信息,使用的編譯工具,以及同樣代碼兩次編譯不同結果的信息。
不論如何,TronBank開發者實際部署的代碼原樣我們不得而知,也無法驗證真偽,該事件的真相需要等待各方提供更有說服力的證據才能被逐漸還原出來。
至少在此刻,我們還不能下定論,究竟是誰埋下了這個后門。
投資者的錢怎么辦?
在以上錯綜復雜的信息之下,大部分玩家已經放棄了追查真相,而更關注的則是找回損失。
在承諾退款并要求蒙受損失的投資人發送交易信息之后,wojak整整失聯了超過12小時,這期間wojak賬戶里的錢大部分被轉移到了幣安交易所。有人開始懷疑wojak并沒有打算退錢準備捐款跑路,還有人認為這是TronBank項目方監守自盜,wojak就是項目方之一。
5月3日下午2點44分
另一邊,在Tronbank的官方群里,管理員貼出的置頂消息是「TRXPro被黑客THeRTTCvN4SHEVYNqcLVLNGGVsWLR4smyH攻擊,目前開發團隊正在緊急處理,將會及時在群里更新消息」
5月3日晚上9點13分
wojak再次現身,說自己花4個多小時寫了腳本從鏈上獲取到tronbank的投資數據來跟收集到的損失信息對比,其中有不少人虛報損失,甚至有完全沒有參與過投資的用戶也來謊報損失,僅有少數人誠實地匯報了數字。wojak也把比對信息貼了出來https://pastebin.com/raw/gMtxCw97。
5月4日下午1點24分
整整一天之后,Tronbank項目方再次發出通知,他們正在聯系wojak進行退款,如果wojak在5月4日晚7點時沒有任何回復,官方將提供給投資人的補償方案。
5月4日下午3點-4點
針對之前所承諾的24小時內給出事件分析報告,官方將再次延期,聲稱將聯系安全公司,TSC以及波場官方做更多的調查。同時評論到,有很多細節仍需確認,之前從未遇到類似情況,這有可能是一個精彩的故事。
5月4日晚上7點
Tronbank項目方如約公布了賠償方案,令大部分人吃驚的是項目方沒有跑路,而是承諾在24小時內收集信息,并在72小時內進行全額賠付。如果賠付照常發放,這可能是Dapp歷史上最大的一次項目方賠付。
而此次賠付通知,可以說是給投資者吃了一顆定心丸,使得大部分用戶打消了「后門是由開發者留下」的疑慮。但在真相露出水面之前,DappReview依舊保留質疑的態度,等待項目方公開更多的調查報告。
結語
原本看起來是一起常見的黑客攻擊事件,卻喜劇般演化成一場羅生門。究竟是開發者留后門,巧被程序員打開,還是如項目方所說有更底層的問題存在?除了當局者本身,無人知曉。
投資者們對于去中心化的信任崩塌,寄托于中心化的信任。雖然嚴格意義上來講最終的真相可能并不是「去中心化的鍋」,但對于普通用戶而言,很難區分其中差異,大部分用戶的認知只能停留在「智能合約為什么開源了明明沒有問題還被黑了?」
在本次事件中,雖然Tronbank承諾賠付投資人受損的利益,但受傷的無疑是波場的整個Dapp生態,基于TSC認證的開源代碼所產生的信任和背書已經毫無價值,在波場官方出來驗證工具之前,DappReview建議各位Dapp玩家不要輕信項目方所謂代碼開源言論。
此外,截至到發稿,wojak尚未再次露面,也未將資金退還給任何投資人。
來源鏈接:mp.weixin.qq.com
本文來源于非小號媒體平臺:
DappReview
現已在非小號資訊平臺發布1篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/3627214.html
TRX波場
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
下一篇:
如何利用CORS配置錯誤漏洞攻擊比特幣交易所
Tags:RONTROtronBANKApron Networkpetro幣官網tronlink錢包安全嗎Profit Bank
當今出現了兩種強有力的經濟理論:現代貨幣理論和比特幣。雖然對話的核心仍然是圍繞左派經濟學與右派經濟學這個基本而永恒的辯論來展開的。兩種新興且極端的理論逐漸開始重新塑造現有的經濟對話格局.
1900/1/1 0:00:00iExec是基于Ethereum的分布式計算項目,旨在創建一個安全可擴展的去中心化虛擬算力平臺,iExec允許DApp開發者、數據提供方、算力提供方與使用者在其平臺上公平自由地交易算力與數據.
1900/1/1 0:00:00火星財經APP一線報道,NewsBTC分析師AayushJindal指出,雖然BTC、ETH在回調,但加密市場總值正在上升.
1900/1/1 0:00:00Facebook為了發行新的全球加密貨幣,已經同美國最大交易機構和加密貨幣交易所進行了談判,其中包括扎克伯格的死敵——Winklevoss兄弟創辦的交易所.
1900/1/1 0:00:00北京時間5月21日凌晨,趣頭條今日發布了截至3月31日的2019財年第一財季財報。報告顯示,趣頭條第一財季凈虧損為人民幣6.882億元,相比之下上年同期的凈虧損為人民幣3.026億元,虧損額同比.
1900/1/1 0:00:00據TokenInsight數據顯示,反映區塊鏈行業整體表現的TI指數北京時間5月26日8時報699.31點,較昨日同期上漲5.26點,漲幅為0.76%.
1900/1/1 0:00:00