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

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

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%收益。收益每秒都會計算,你甚至每秒都可以提取收益或重新投資。當您重新投資收益時,投資金額會增加,可以更快的獲得更多收益。

ApeCoin提案AIP-289獲得通過,將推出主題社區吉祥物:金色財經報道,據Snapshot信息顯示,ApeCoin社區發起的新提案AIP-289以61.68%的贊成率獲得通過,批準推出以“猿猴(ape)/猴子(monkey)”為主題的社區吉祥物。據悉,該提案發起人是ApeCoin Thankape藝術大賽參賽作品《Apekin》設計師AnnieRawrz,但目前尚不確認是否會將《Apekin》確定為ApeCoin社區吉祥物。[2023/8/18 18:08:07]

其產品界面如下:

其理財過程大致如下:

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

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

攻擊回溯

攻擊事件簡述

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

ApeCoin發起新提案AIP-121:擬提升生態系統資金分配透明度:金色財經報道,ApeCoin DAO社區發起新提案AIP-121“生態系統基金分配透明度法案”,旨在提高ApeCoin DAO的資金透明度。該提案希望提高涉及生態系統基金分配的AIP的透明度,加強投票過程并規范定期報告,將APE資金庫將得到更好的保護,包括費用公示、團隊成員披露、月度報告。據悉,該提案將在11月23日下周三之前進行投票,通過后預計會在兩周內實施。[2022/11/18 13:20:09]

背景知識

TRON中的token分為幾種規范:

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

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

PeckShield:穩定幣USDN下降至0.92美元:金色財經報道,據PeckShield數據監測,穩定幣Neutrino USD(USDN)下降至0.92美元。[2022/9/14 13:28:22]

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

為了提高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獲取賬號的余額。

動態 | PeckShield 安全播報: “假EOS”攻擊再出現 又一EOS競猜類游戲遭黑客攻擊:據 PeckShield 態勢感知平臺11月21日數據顯示:今天15:43 - 18:31之間,黑客(kuybupeykieh)向EOS競猜游戲合約(vegasgame111)發起攻擊,共計獲利數百個EOS,追蹤鏈上數據發現,為了防止資金流向被追蹤,該黑客采用多達幾十次的創建子賬號操作來順序轉移所獲資產。PeckShield 安全人員分析發現,該黑客利用的是“假EOS”漏洞實施攻擊,這一漏洞在10月份較為普遍,不過隨著多數開發者合約開發趨于規范,類似攻擊事件已經很少。一些較小規模的游戲還可能還存在類似漏洞,PeckShield在此提醒廣大游戲開發者和游戲玩家,警惕安全風險。[2018/11/21]

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

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

行情 | PeckShield漏洞研究總監羅元琮:以太坊公鏈安全相較智能合約更不容忽視:在2018 ISC互聯網安全大會上,區塊鏈安全公司PeckShield漏洞研究總監羅元琮指出,公鏈作為基礎設施,一旦遭到攻擊,其影響范圍和危害程度超乎想象。PeckShield在本次大會的議題中披露了若干個存在于以太坊公鏈上的致命漏洞,目前這些漏洞均已和以太坊基金會溝通完成修復。此次披露的“EPoD 2”具體表現為:攻擊者可通過geth LES協議實現缺陷,向受影響geth節點發送惡意AnnounceMsg,致使受害節點耗盡內存而卡死,甚至可能會連帶大面積硬件終端宕機。其潛在危害也可能導致以太坊網絡2/3以上的節點瞬間停擺,造成難以估量的嚴重影響。[2018/9/6]

攻擊事件

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:KENTOKENTOKETOKGreen Satoshi Token(SOL)Xi TokenFairyLand TokenTOKO價格

中幣
聽專業的加密分析師分析,比特幣突破 8000 美元真是牛市信號?_比特幣

作者|TryBlockchain5月伊始,比特幣價格突破5,000美元,5月9日突破6,000美元,3天后突破7,000美元.

1900/1/1 0:00:00
以色列法院:比特幣是資產而非貨幣 交易獲利需納稅_ISA

據5月21日以色列媒體globes.com報道,以色列中央地方法院接受了以色列稅務局的立場,認定比特幣是一種資產而非貨幣,在其出售中獲利可能需要繳納資本利得稅.

1900/1/1 0:00:00
比特幣還是現代貨幣理論,誰將最終獲勝 ?_ITC

當今出現了兩種強有力的經濟理論:現代貨幣理論和比特幣。雖然對話的核心仍然是圍繞左派經濟學與右派經濟學這個基本而永恒的辯論來展開的。兩種新興且極端的理論逐漸開始重新塑造現有的經濟對話格局.

1900/1/1 0:00:00
美國前國會議員羅恩·保羅:比特幣或成美元替代品_加密貨幣

作者:TonySpilotro九年前的今天,一位名叫LaszloHanyecz的美國佛羅里達州程序員用一萬個比特幣購買了兩個PapaJohn’s披薩.

1900/1/1 0:00:00
搶跑 Staking Economy 賽道,Cobo 一舉推出兩項云服務_數字資產

數字資產存儲與管理服務商Cobo一舉推出兩項服務,一個是面向區塊鏈創業企業的CoboWaaS,另一個是面向數字資產機構的CoboStaaS.

1900/1/1 0:00:00
比特幣放量拉升,幣種普漲,市場會再度走牛?_EOS

昨日,比特幣先跌后漲,今日在LTC的帶領下再次拉升,量能應該與昨日相仿,因此難以突破前方的高點,不能算有效突破.

1900/1/1 0:00:00
ads