以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

PeckShield 深入代碼層面分析,黑客究竟如何盜走 1.7 億 BTT?_TOKE

Author:

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

04月11日凌晨00:17,PeckShield態勢感知平臺監測到TCX1Cay…開頭的黑客,創建了名為BTTx,tokenid為1002278的TRC10token,并于凌晨00:25至01:00之間向多個地址轉入4,000萬個BTTx代幣,這多個地址對TXHFhq…開頭的BTTBank理財類合約實施攻擊。

原文標題:《波場假幣攻擊全過程:BTTBank理財合約遭黑客假BTT攻擊》

BTTBank項目介紹

BTTBank又名TronBankBTT,是屬于TronBank旗下的一款專屬于BitTorrent(BTT)-ThetokenthatwillenableblockchainmassadoptionBTTtoken的投資產品,根據官網TronBank介紹:

TronBankBTT的智能合約將為您產生每天3.6-6.6%的投資收益(取決于你購買的產品計劃),自動發放到你的收益余額中。舉例,購買4.6%收益計劃,21天你即可獲得超過100%收益。收益每秒都會計算,你甚至每秒都可以提取收益或重新投資。當您重新投資收益時,投資金額會增加,可以更快的獲得更多收益。

自稱是PepeCoin創始人之一的人聲稱該項目仍能蓬勃發展:金色財經報道,有人在X平臺上(原推特)發布一篇長文道歉,自稱是PepeCoin創始人之一,并聲稱該項目仍能蓬勃發展。文中還寫到,“在出售16萬億個PEPE后,團隊成員將自己從多重簽名中刪除,試圖免除與PEPE的任何關聯,刪除了他們所有的社交帳戶,只給他留下一條消息,表明多重簽名已經已更新,他現在完全掌控。”

此前報道,從PEPE多簽地址流出的16萬億枚PEPE已流向各交易所。[2023/8/28 13:00:11]

其產品界面如下:

其理財過程大致如下:

1、用戶根據收益率和投資期限購買相應的理財產品;2、投資期限到期之后,用戶提現理財產品到自己的錢包。

使用上,和當前的各類P2P理財產品類似,用戶的使用門檻僅在于一個TRON錢包,但從產品收益率來看,這個資產回報率還是相當可觀的。

攻擊回溯

攻擊事件簡述

ApeCoin DAO計劃發起新提案AIP-155投票,擬設立100萬美元Bug賞金:金色財經報道,ApeCoin DAO已發起新提案AIP-155投票,投票將于美國東部時間1月13日晚9點開啟,并于1月18日結束。發起方為BAYC成員及 Snag Solution 創始人 Zheerwagen。

據悉,新提案擬設立100萬美元(或450萬枚APE)Bug賞金計劃,以支持并推動社區范圍內尋找漏洞,提升生態和APE持有者安全。[2023/1/13 11:10:11]

去年年底,波場孫宇晨發起12號提議,即符合波場TRC10規范的Nativetoken的名字將不再唯一,涉及到TRC10token的轉賬等操作將使用ID來代替。這使得波場創建token的流程變得簡單易上手,然而卻帶來一個潛在的威脅,一旦合約疏于檢查tokenid的匹配性,就會存在假幣攻擊的可能。簡而言之,本次BTTBank遭受攻擊正是因為缺乏tokenid的一致性驗證造成的。

背景知識

TRON中的token分為幾種規范:

PeckShield:Web3項目TRQ疑似被黑客攻擊:金色財經報道,PeckShield監測顯示, Web3項目TRQ疑似被黑客攻擊,導致$TRQ價格大幅下跌。對此,官方放在社交媒體上稱,感謝社區的大力支持。請耐心等待,由于一些特殊原因,交易已經暫停。官方正在處理中。請耐心等待官方進一步公告。[2022/12/11 21:36:45]

TRXTRC20TRC10其中,TRX為TRON的平臺幣,類似于Ethereum中的ETH。

而TRC20是與EthereumERC20兼容的token,實質是一種可編程的智能合約,由用戶通過智能合約創建token之后,其token的轉賬、發送等操作均在智能合約內部完成,對于一般的小白用戶來說,ERC20/TRC20使用過于復雜,不便于上手使用。

故此,TRON中引入了TRC10token,這是一種可以由用戶直接操控的token,每一個自然用戶支付1024TRX便可創建一個TRC10token,同時一個用戶只能創建一個TRC10token。每一個TRC10token在創建之后,由系統分配一個唯一ID,這是一個從1,000,001開始往后自增的整數,一個tokenId標識一個唯一的token,當前TRON平臺上共有1850個TRC10。

ApeCoin宣布集成Polygon:5月3日消息, ApeCoin(APE)宣布與Polygon集成,此前Yuga Labs新項目Otherdeeds NFT鑄幣引發高Gas費的事件引發了對APE集成新鏈的猜測。(Cointelegraph)[2022/5/3 2:48:00]

為了提高TRC10的流動性和使用價值,TRON平臺在Odyssey3.2版本之后,使能了在智能合約內部轉賬TRC10token的功能,參考TRC10TransferinSmartContracts,其示例代碼如下所示:

上述代碼簡單解釋如下:

1、transferTokenTest()接口內部用于轉賬TRC10token,接口調用方可以通過address.transferToken(uint256tokenValue,trcTokentokenId)往address轉賬數量為tokenValue的tokenid為tokenid的TRC10token;2、msgTokenValueAndTokenIdTest()接口表明,調用者可以直接在發送的message中加入tokenid和tokenvalue字段,這也說明了TRC10是TRON平臺上的一等公民,屬于內置類型,與TRC20通過函數參數的形式來表征token價值是完全不同的;3、getTokenBalanceTest()通過tokenid獲取賬號的余額。

Bitfinex推出ApeCoin(APE)保證金交易:金色財經報道,據Bitfinex官方社交媒體賬戶透露,該加密貨幣交易平臺已宣布推出 ApeCoin(APE)保證金交易,支持交易對為 APE/USD 和 APE/USDT,用戶將能夠以相對保守的 1.66 倍的最大杠桿、60% 的初始保證金和 30% 的維持保證金進行交易。[2022/5/3 2:46:10]

由此可知,TRC10token可以在智能合約內部通過tokenid完成轉賬,TRC10token作為價值承載者,在智能合約內部即反映在tokenid的差異上。

因此,合約開發者在處理TRC10轉賬相關邏輯時,需要特別注意tokenId的有效性和真實性。

攻擊事件

PeckShield安全人員在分析BTTBank合約時,發現其合約源碼實現中存在致命漏洞,可導致項目方資金受損。

下圖為黑客攻擊的原過程:

1、黑客先行創建一個名為BTTx的TRC10token;2、黑客往一批自己控制的賬號中轉入4,000萬個BTTxtoken;3、通過控制的賬號往BTTBank合約發起數次攻擊;4、最后順序將BTT提取到控制的賬號中。

下文從BTTBank投資及贖回的過程還原本次BTT假幣攻擊的全過程。

投資

投資的核心代碼如下:

public接口的invest()提取msg.tokenvalue,并調用private的invest()函數完成投資的過程,invest()內部計算并保存用戶這一次的投資數量、時間等信息到合約的內部資產賬單上。值得注意的是,這里invest()只提取了msg.tokenvalue,這里并沒有提取msg.tokenid,也沒有驗證msg.tokenid是否屬于BTTToken的tokenid(為1002000)。

前面我們提到BTTBank是一款投資理財類DApp,用戶存入BTTtoken,資產到期之后,再贖回投資的BTT和對應的利息,在這里并沒有檢查是否是真正的BTT,也就是不論你投資的阿貓阿狗幣,都被認為是BTTtoken。

提現

提現的核心代碼如下:

贖回的過程比較簡單,先從合約的內部投資賬單上計算用戶已經到期的投資金額,并將這一部分投資金額轉回給用戶,注意:msg.sender.transferToken(withdrawalAmount,BTT_ID)中是固定的BTT_ID即1002000.

至此,用戶投入BTT,收獲BTT;而黑客投入BTTx,收獲BTT,一個完美的『貍貓換太子』過程。

防御策略

PeckShield安全人員在此提醒廣大開發者,雖然TRC10/TRC20都是token,但兩者在TRON平臺上有著本質的差異性,若要在智能合約內部轉賬TRC10,一定要檢查所轉移的TRC10對應的tokenid是否為預期值。針對上例,可將投資代碼增強如下:

另外,PeckShield安全人員根據上述的代碼樣式分析TRON平臺上其它類BTTBank合約時,也發現了相似的問題。在此,PeckShield安全人員提醒在進行智能合約開發的時候,雖然復用現有代碼可能會帶來開發功能上面的便利,但也須注意可能帶來的安全風險。

來源鏈接:mp.weixin.qq.com

本文來源于非小號媒體平臺:

PeckShield

現已在非小號資訊平臺發布1篇作品,

非小號開放平臺歡迎幣圈作者入駐

入駐指南:

/apply_guide/

本文網址:

/news/3627176.html

免責聲明:

1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險

2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場

上一篇:

波場DApp再遭手!游戲TronWow變提款機,Peckshield深度講解黑客手法

下一篇:

少寫一行代碼的教訓:TronBank1.7億BTT僅3小時就被洗劫一空

Tags:TOKEKENTOKTOKENBlueSparrow Token (New)CVR TokenDXD Tokenimtoken錢包app蘋果版

歐易交易所
引介 | 以太坊 1.x 乃是改變 “流程” 的一次嘗試_以太坊

編者注:本文為AlexeyAkhunov介紹以太坊1.x理想開發流程的一篇文章,既總結了現有開發流程中的一些局限,也列舉了新開發流程可能會面臨的一些挑戰.

1900/1/1 0:00:00
媒體:Facebook的GlobalCoin毀掉加密貨幣的所有優勢_加密貨幣

針對“Facebook計劃在2020年推出加密貨幣GlobalCoin”,CryptoBriefing發文稱GlobalCoin毀掉了加密貨幣的優勢特征:1.Facebook計劃在某些特定地區通.

1900/1/1 0:00:00
減產將至,萊特幣還會繼續漲嗎?_萊特幣

幣圈有一句俗話:比特金,萊特銀。加密貨幣市場經歷了十年沉浮,除了比特幣依舊風光,很多山寨幣早已被洗出了市場,而萊特幣到現在依舊處于市值前十的行列.

1900/1/1 0:00:00
行情分析:BTC震蕩整理期間,還需耐心等待_BTC

據BBC消息,Facebook計劃于2020年第一季度在全球十多個國家發布自己的數字支付系統。該貨幣在內部被稱為globalcoin,預計今年夏天給出詳細計劃,年底開始測試.

1900/1/1 0:00:00
數據公示:「PHV期權補償基金」5.23 虧損補償數據_ANK

為了慶祝LBank期權交易火熱上線,并拓展PHV的交易場景。我們啟動了預算共10BTC的「PHV期權補償基金」激勵補償活動.

1900/1/1 0:00:00
量能衰減至5500附近橫盤震蕩水平 BTC大概才會選擇方向突破_BTC

4小時走勢看,BTC仍處于箱體區間7500美元至前高8360美元上下震蕩,同時也處于上升楔形三角區間內震蕩上行,量能逐漸衰減,MACD有即將死叉趨勢,短期仍有下探的風險.

1900/1/1 0:00:00
ads