比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Bitcoin > Info

被盜 1.7 億 BTT 今又被盜 2600 萬 TRX,TronBank 在刻意埋藏后門?_tron

Author:

Time:1900/1/1 0:00:00

此次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官方排行榜可以看到他就是排名第二的大戶玩家。

推特用戶CryptoNovo被盜三個CryptoPunks,或為釣魚攻擊所致:1月4日消息,推特用戶CryptoNovo發推稱,自己所持有的三個CryptoPunks(#3706、#4608、#965)被盜。慢霧創始人余弦分析稱,三個失竊NFT分別流向了兩個不同的釣魚攻擊地址,被盜應是釣魚所致。[2023/1/4 9:52:34]

數據來源:https://player.dapp.review/

發生被盜事件約2個小時之后,在一個名為ScamWatch的Discord頻道中,調走這一筆2673萬TRX的地址THeRTT擁有者wojak現身了。

根據wojak的說法,他寫了個腳本在分析波場虛擬機字節碼,批量掃描合約并發起交易看看有沒有什么能賺到錢的方法,結果偶然之中命中了Tronbank合約的bug。一開始連他自己都不知道這筆錢是從Tronbank打過來的。

社區里部分人建議wojak把錢還給Tronbank開發者,而wojak認為這不是他的問題,開發者應該自己寫測試例子,做審計以及至少跑一些形式化驗證,他愿意把這筆錢原封不動還給Tronbank的每一個投資者,而不是項目方的開發者。

wojak要求參與了Tronbank的投資者發給他投資的交易hash值以及自己的地址,他將寫一個腳本進行驗證,并承諾退款給有損失的Tronbank投資人。

刻意埋藏的后門?

隨著調查的深入,那一筆觸發Bug的交易被放回桌面上被仔細的剖析。我們再來看一下:

注意到,該筆交易調用的是合約里withdraw函數,發送的金額為0.011911TRX,要注意在Tronbank正常的業務邏輯下,調用withdraw函數是不應該發送任何TRX的,金額應該為0.這一點在源代碼中就可以驗證。

Acala:黑客攻擊系iBTC/aUSD池配置錯誤,相關被盜資產已被禁止轉移:8月14日消息,Acala發推表示,此前的黑客攻擊系iBTC/aUSD流動性池的配置錯誤,導致大量aUSD的錯誤開采。該配置錯誤已被糾正,收到錯誤鑄造的aUSD的錢包地址已被確定,Acala正在對這些地址進行鏈上活動追蹤。

據初步的鏈上追蹤顯示,99%以上錯誤鑄造的aUSD仍在Acala平行鏈上,被兌換為ACA或其他Token。在Acala社區集體治理決定如何解決錯誤鑄幣之前,留在Acala平行鏈上的這些錯誤鑄造的aUSD及其兌換Token將被禁止轉移。[2022/8/14 12:24:51]

像Tronbank這樣資金盤屬性的Dapp,往往都會把代碼開源讓合約和邏輯變得透明可信來吸引投資人,在網站最明顯的位置,也標明了通過第三方驗證工具tronsmartcontract.space進行合約代碼驗證后的代碼信息。

從TSC點開源代碼之后,找到withdraw函數,函數第一行會先調用_withdraw()來取得可以提取的TRX金額,在_withdraw()函數的第一行我們可以看到:

require(msg.value==0,"wrongtrxamount");

這一行代碼的意思是要求該筆交易發送的TRX金額必須為零,否則無法繼續執行,交易會被REVERT。

也就是說,按照開源代碼的邏輯,那一筆觸發Bug的交易根本不可能發生。

現實變成了,TRXPro的合約實際執行邏輯和所謂「開源」的代碼邏輯并不一致。

動態 | 慢霧發布有關IOTA用戶Trinity錢包被盜幣攻擊的推測:IOTA 因為近期不少用戶的 Trinity 錢包被盜幣攻擊,為了阻止攻擊繼續、調查與修復具體原因,主網協調器都暫停運行了。這是一個被低估的經典攻擊,官方沒披露具體攻擊細節,但通過慢霧的分析,可以做出某些重要推測,首先可以明確的幾個點:1. 不是 IOTA 區塊鏈協議的問題,是 IOTA 的 Trinity 桌面錢包的問題(官方說的,且先相信)2. 這款桌面錢包基于 Electron(一個使用 JavaScript 為核心構建桌面應用的框架),意味著核心代碼是 JavaScript 寫的3. 在做該做錢包新舊版本代碼的 diff 分析時,發現去除了之前內置的一個交易所功能模塊 MoonPay,這其中關鍵點是去掉了一段可怕的代碼:const script = document.createElement('script');

script.src = 'https://cdn.moonpay.io/moonpay-sdk.js';

document.write(script.outerHTML);如果這個第三方 JavaScript 鏈接主動或被黑作惡,那該桌面版錢包就可以認為是完全淪陷了。到這,慢霧很有理由相信這是個很大的定時炸彈,如果這個定時炸彈是真的炸了,那很吻合官方的一些說辭與解釋,如:盡快升級新版本的 Trinity 桌面錢包,盡快改密碼,盡快轉移資產到安全種子里等等。且看官方的后續披露。[2020/2/19]

這里補充說明一下,所謂的代碼認證過程是這樣:

1、開發者在主網發布合約;2、開發者在TSC上傳代碼,選擇編譯版本,編譯為bytecodes;3、TSC把步驟2中的bytecodes和步驟1中發布合約的bytecodes做匹配,匹配成功,則認證通過,理論上多或者少一個空格都不行;

動態 | 幣安被盜BTC中又一關鍵地址異動,黑客持續洗錢中:據PeckShield數字資產護航系統(AML)最新數據顯示,繼昨天幣安被盜7,074枚BTC的其中1個包含1,060枚BTC bc1q2rdpy開頭的地址密集洗錢后,今天下午16時54分,另一存放有1,060枚BTC 16SMGihY9開頭的地址也出現異動。黑客又以不斷切割、分散的方式,頻繁操作了數百筆交易,直至新地址上最小額僅有0.78枚BTC。截至目前,幣安被盜7,074枚BTC分散后的7個主要地址中,已有2個開始密集洗錢,其中大部分小額地址存洗錢成功可能。[2019/6/15]

進一步深扒,從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的開源代碼中是不存在的,看起來就像是是一個被藏起來沒有公布的后門。

用更簡單的語言梳理一遍:

1、在主網上部署的合約,通過反編譯發現,調用withdraw函數時,如果發送金額等于0.011911TRX,則會轉移全部合約余額;2、在TSC上認證過的開源代碼中,如果發送金額不為零調用withdraw函數,交易會被撤回。

動態 | 因輕信他人游說 七旬老人投資比特幣被盜:據武漢晚報消息,2月10日,武漢首例比特幣盜竊案判決正式生效。2016年從事pos機推銷工作的黃某盜取受害人劉某比特幣錢包中的0.22個比特幣,轉手獲利2.4萬元。該案經漢陽法院審理,黃某因盜竊罪被判處有期徒刑一年三個月,并處罰金人民幣3000元,所得贓款也被判繼續追繳并發還被害人劉某。據承辦法官介紹,黃某并未采取侵入或其他技術手段獲取賬號密碼,而是通過其幫被害人申請賬戶的便利條件從而掌握了賬號密碼,并進而秘密竊取了被害人擁有的比特幣,其行為符合盜竊罪的構成要件,故以盜竊罪定罪處罰。[2019/2/10]

那么一切就很清晰了,實際發生的與第一點完全吻合,主網的代碼運行沒有問題,即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:RONTROtronBANtronlink官網版appmetro幣今日價格tronlink波寶錢官網地址Koban

Bitcoin
京東躍居前3 世界區塊鏈專利20強遭BATJ屠榜_數字金融

5月20日,在2019年全國科技活動周上,京東數字科技首次對外披露區塊鏈專利申請情況。數據顯示,目前其已申請的區塊鏈專利數量近200件,區塊鏈技術已經在品質溯源、數字存證、信用網絡、價值創新等場.

1900/1/1 0:00:00
對于此次升級延遲,以太坊社區成員們如何看待?_ETH

2019年1月15日,ChainSecurity在Medium上發表了一篇題為ConstantinopleenablesnewReentrancyAttack的文章,文中通過代碼示例的方式.

1900/1/1 0:00:00
5.26早間行情:又到方向選擇時 該何去何從_USH

市場并沒有出現我們期待的輪動行情,二三線標的暫時還是沒什么動靜,不過BNB是真的強勢,我們前面也多次說過,該標的的漲幅完全取決于里面人的貪婪程度,有多貪婪就會漲多高.

1900/1/1 0:00:00
區塊鏈加持下, 你的版權你做主 | 鋅聲_區塊鏈

文:余錫清 編輯:王巧 數字經濟時代是一個科技至上的時代,更是一個版權裸露的時代。今年4月,視覺中國因黑洞及國旗國徽圖片導致的版權維權爭議,引發了公眾對“版權碰瓷”行為的關注.

1900/1/1 0:00:00
幣安生態野心,除了流量還能給項目方帶來什么?_中心化交易所

文/31QU小萍 幣安強勁的上升勢頭令人印象深刻。年初,幣安重啟LaunchpadIEO模式,其他交易所跟風模仿,引領了一波小牛市.

1900/1/1 0:00:00
5.23早間行情:趨勢向下 注意風險_BTC

今日各幣種普跌,BNB跟隨市場出線回調,但是暫時還沒跌破5天線,本輪上漲就是依托5天線,注意5天線的得失以及方向,失守5天線也就意味著本輪的上漲可能會告一段落.

1900/1/1 0:00:00
ads