起底假充值攻擊如何突破交易所的層層防禦

引言

假充值攻擊,是指攻擊者通過利用交易所在處理充值過程中的漏洞或系統錯誤,發送偽造的交易信息到交易所錢包地址,這些偽造的交易信息被交易所誤認為是真實的充值請求,並將對應的數字資產或貨幣添加到攻擊者的賬戶中。攻擊者利用這種方式,可以獲得未經支付的數字資產,導致交易所的資產損失。

本文旨在深入探討假充值攻擊如何突破交易所的防禦機制。我們將分析假充值攻擊的原理,揭示攻擊者利用的漏洞和策略。同時,我們將通過實例分析假充值攻擊,以便更好地理解攻擊方式和影響。此外,我們還將討論交易所應對假充值攻擊的應急措施和預防措施,以提供相關保護資產和應對類似攻擊的建議。

充值原理解析

在了解假充值之前,我們需要先了解交易所的充值原理。

一個典型的流程如下:

1. 錢包地址生成

交易所為每個用戶分配一個唯一的錢包地址,用於接收用戶的充值。這些地址通常由交易所的系統自動生成。用戶在進行充值時,需要將數字資產發送到交易所賬戶中的特定錢包地址。

2. 區塊鏈賬本掃描

交易所的節點會與區塊鍊網絡中的其它節點同步,以獲取最新的區塊鏈狀態和交易信息。當交易所節點收到新的區塊時,它會從區塊包含的交易內容,或者區塊觸發的交易執行事件中,提取出用戶的充值交易ID 及對應的金額,加入待充值列表。

3. 確認入賬

交易所通常要求交易在區塊鍊網絡中獲得一定數量的確認後才被視為有效。確認是指交易所在區塊被一定數量的區塊所引用,並被其他礦工驗證和確認。交易所設定的確認數目可以根據不同的數字資產和網絡而有所不同。

如圖所示:

(假充值攻擊發生在步驟5 和6)

假充值攻擊模式

交易所是黑客攻擊的重災區,因此交易所通常會把服務器置於重重防禦系統的背後,對於管理資金的核心服務,甚至要離線託管。然而由於區塊鏈系統對數據完整上的要求,惡意交易並不會被外圍安全系統攔截。

需要說明的是,假充值攻擊並非區塊鏈的漏洞,而是攻擊者利用區塊鏈的一些特性,構造出特殊的交易。這些惡意交易會讓交易所誤認為是真實的充值請求,或者多次處理同一筆充值請求。慢霧安全團隊經過長期的實戰,總結出了幾種常見的假充值攻擊手法:

自2018 年以來,慢霧安全團隊多次首髮披露過多個假充值攻擊,包括:

  • USDT 虛假轉賬安全⻛險分析
  • EOS 假充值(hard_fail 狀態攻擊)紅色預警細節披露與修復方案
  • 以太坊代幣“假充值”漏洞細節披露及修復方案
  • 比特幣RBF 假充值風險分析

除了這些已經公開的假充值攻擊,還有多個我們未曾公開的經典攻擊手法,以及一些普適性的攻擊手法。例如:

  • Bitcoin 多簽假充值
  • Ripple 部分支付假充值
  • Filecoin 雙花假充值
  • TON 反彈假充值

如果要了解更多詳情,歡迎和我們聯繫以深入探討。

實例分析:TON 反彈假充值

幾乎所有的區塊鏈都存在假充值問題,只是有的攻擊很容易避免,有的卻要對區塊鏈的特性有十分深入的研究才能免受其害。

以TON 的假充值為例,我們將向大家展示狡猾的攻擊者如何利用TON 的特性攻擊交易所。

TON(The Open Network)是知名通訊軟件Telegram 發起的一個區塊鏈項目,支持在用戶的賬號上部署智能合約。

交易所在對接TON 充值時,按之前描述的方法,它首先會為用戶生成一個充值地址,然後用戶將資產轉移到充值地址,最後確認入賬。

交易所如何確認一筆交易是它的用戶的呢?我們通過RPC 接口來查看一筆正常的轉賬:

通常交易所會判斷in_msg 裡的destination 是否為用戶的充值地址,如果是,那麼把金額value 按照精度換算後為用戶入賬。但這樣安全嗎?

TON 交易有一個特性,幾乎所有在智能合約之間發送的內部消息都應該是可反彈的,即應該設置它們的bounce 標誌位。這樣,如果目標智能合約不存在,或者在處理這條消息時拋出未處理的異常,該消息將被“反彈”回來,並攜帶原始值的餘額(減去所有的消息轉賬和燃氣費用)。

也就是說,如果一個惡意攻擊者通過設置bounce 標誌位,給一個未部署過合約的賬號轉賬,那麼充值金額在扣掉手續費以後會被反彈回原賬號。交易所檢測到了用戶的充值記錄,但沒想到充值的幣居然還會原路返回“反彈”到攻擊者的賬號上。

我們來看這一筆交易,對比正常交易可以發現,多了一個out_msg,這個out_msg 就是資金被反彈回原賬號的操作。

交易所如果只檢驗了in_msg,那麼就會錯誤地為攻擊者入賬,造成平台資產損失。

預防假充值攻擊的最佳實踐

防範假充值攻擊的一些基本策略有:

**1. 多重確認機制:**設定充值的多重確認要求,確保交易在區塊鏈上得到足夠的確認後才被視為有效。確認數目應根據不同數字資產的安全性和區塊鏈的確認速度來設定;

**2. 嚴謹的交易匹配:**從區塊中篩選用戶交易時,只有完全匹配正常轉賬模式的交易才能自動設置為到賬,最後還要檢查餘額變化;

**3. 風險控制系統:**建立完善的風險控制系統,監測和檢測異常交易活動。該系統可以通過分析充值模式、交易頻率、交易規模等因素來識別潛在的風險和異常行為;

**4. 人工審核:**對於較大金額或高風險交易,採用人工審核機制進行額外的審核。人工審核可以增加交易的可信度,發現異常交易,並防止惡意充值;

**5. API 安全:**對外部API 接口進行安全認證和授權,避免未經授權的訪問和潛在的漏洞。定期審查API 接口的安全性,並進行及時的安全更新和修復;

**6. 限制提款:**充值發生後,暫時限制用戶對充值資產的提款操作。這樣可以給交易所足夠的時間來確認充值的有效性和防範潛在的假充值攻擊;

**7. 安全更新:**及時更新交易所軟件和系統,修復可能存在的安全漏洞。持續監控交易所的安全狀態,並與網絡安全專家合作,定期進行安全審計和滲透測試。

對於特定區塊鏈的假充值防範,則需要通讀官方說明文檔,了解交易中存在的特徵。

Badwhale 假充值檢測系統

慢霧安全團隊在長期的攻防實踐中開發出Badwhale 假充值測試系統,專門為數字資產管理平台開發。該系統旨在幫助它們檢測和評估其防範假充值攻擊的能力,優化其防禦機制,以保障用戶資產的安全和數字資產管理平台的可靠性。

Badwhale 是慢霧安全團隊獨家且沉澱多年的商業系統,為數十個平台持續服務多年,已避免了預估幾十億美金資產的假充值風險。

特色功能:

**1. 模擬假充值攻擊:**Badwhale 能夠模擬各種類型的假充值攻擊,並自動發送虛假的充值請求到被測試的數字資產管理平台。這有助於評估數字資產管理平台的弱點,發現潛在的漏洞和安全隱患;

**2. 多樣化的測試場景:**系統提供多樣化的測試場景和攻擊模式,可以根據實際情況對數字資產管理平台的假充值防禦進行全面測試;

**3. 高度可擴展性:**Badwhale 設計為高度可擴展的測試系統,支持為不同數字資產管理平台和區塊鏈平台提供測試,可以靈活適應不同系統架構和技術環境的需求。

Badwhale 目前已經支持數百條公鏈、數万代幣的假充值測試,包括:

  • 比特幣家族(BTC/LTC/DOGE/QTUM...)
  • 比特幣現金
  • 以太坊家族

(ETH/BSC/HECO/RON/CFX-evm/FIL-evm/AVAX-evm/FTM-evm/RSK/GNO/MOVR-evm/GLMR-evm/KLAY/FSN/CELO/CANTO/EGLD/AURORA-evm /TLC/WEMIX/CORE/VS/WAN/KCCL/OKX...)

  • ERC20代幣(USDT...)
  • 以太坊 L2 (ARB/OP/METIS...)
  • 多邊形
  • 多邊形代幣
  • Cosmos 家族(ATOM/LUNA/KAVA/IRIS/OSMO...)
  • EOS 系列和 EOS 代幣(EOS/WAX/XPR/FIO/TLOS...)
  • 波紋
  • 流動
  • 公寓
  • 索拉納
  • Solana SPL 代幣
  • 匯流
  • 圓點系列(DOT/ASTR/PARA/MOVR/GLMR...)
  • 文件幣
  • 序數詞 (ORDI...) *……

借助Badwhale 的強大功能,數字資產管理平台可以進行全面的假充值防禦測試,了解其在面對假充值攻擊時的表現,並優化其防禦機制,提升用戶資產的安全保障。 Badwhale 的引入將幫助數字資產管理平台加強安全防護,提高對抗假充值攻擊的能力,確保數字資產交易的可靠性和用戶信任度。

結語

通過深入研究假充值攻擊的突破方式,我們可以更好地認識到數字資產管理平台在保護用戶資產和維護安全的重要性。只有通過增強安全防禦措施、持續監測漏洞並採取適當的應對措施,數字資產管理平台才能有效地應對假充值攻擊和其他安全威脅,確保數字資產交易的可信度和可靠性。

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)