CertiK:十天內三起「炸橋案」 概覽 - 冷萃財經

CertiK:十天內三起「炸橋案」 概覽

CertiK:十天內三起「炸橋案」 概覽

隨著區塊鏈技術的發展及各類新增長的出現,加密貨幣生態系統隨之產生了更多的安全風險及複雜性。

CertiK:十天內三起「炸橋案」 概覽

在2021年的基礎上,2022年的攻擊賽道又出現了一位「強力選手」。跨鏈橋作為新的攻擊載體,安全性方面的發展尚未成熟。因此,跨鏈橋也是所有項目以及開發人員應該提高警惕的領域之一。

2022年的春節假期尚未結束時,跨鏈橋即發生了兩起重大攻擊,算上春節前的另一起同類事件,短短10天內的三起攻擊事件使得黑客在跨鏈橋方面取得了「傲人」成績。

CertiK:十天內三起「炸橋案」 概覽

在對這幾起事件進行了解之前,我們需要先知道什麼是跨鏈橋(cross-chain bridge)以及它的原理。用一個相對簡單的描述:bridge可將資產從一個區塊鏈轉移到另一個區塊鏈。​

跨鏈交易

跨鏈交易的步驟如下:

1.用戶將代幣「存入」一條鏈上的「bridge合約」,並生成一個證明,指定所需的跨鏈信息(例如,要提取的代幣數量及接收者地址)。

2.bridge合約驗證該證明,隨後在目標鏈上用戶可以從bridge合約中 “提取 “代幣。在最近的三起事件中,攻擊者注入欺騙性數據,繞過驗證,將目標鏈上的相應代幣提取到指定地址。

CertiK:十天內三起「炸橋案」 概覽

Bridges上的常見攻擊媒介

Qubit Bridge漏洞事件

攻擊者偽造數據繞過bridge合約的數據真實性檢查,在沒有提供任何加密貨幣的情況下使bridge合約產生了攻擊者已存款的虛假時間證明。

其根本原因在於ETH和ERC-20的存款共享相同的事件證明。這允許攻擊者調用該函數利用不存在的ERC20存款事實生成虛假的ETH存款事件證明,並以此在另一條鏈上提取ETH。

在這種情況下合約中的漏洞被觸發——當代幣地址是EOA(如address(0))時,「safeTransferFrom」函數不會回退。因此,攻擊者在沒有向合約發送任何代幣的情況下獲取了證明。

CertiK:十天內三起「炸橋案」 概覽

CertiK:十天內三起「炸橋案」 概覽

事件詳細分析請戳:https://certik.medium.com/qubit-bridge-collapse-exploited-to-the-tune-of-80-million-a7ab9068e1a0

Meter Bridge漏洞事件

該漏洞與Qubit bridge漏洞很相似——攻擊者避過bridge合約向bridge提供不存在的代幣證明從而跳過了驗證過程,從而可以在另一個鏈上提取代幣。

Bridge合約提供了兩個方法:deposit和 depositETH。

然而,這兩個方法產生了相同的存款事件證明,並且deposit函數並沒有阻止WETH/WBNB的存款交易,也沒有銷毀或鎖定WETH/WBNB。

黑客通過使用deposit,在沒有任何真實存款的情況下使bridge合約產生了虛假的WETH/WBNB存款事件證明。

CertiK:十天內三起「炸橋案」 概覽

CertiK:十天內三起「炸橋案」 概覽

Solana跨鏈橋蟲洞事件

Solana蟲洞的漏洞事件中,攻擊者通過向指令注入一個惡意的「sysvar account」來繞過「verify signature」,並偽造了一個鑄造Wormhole-wrapped Ether的消息。

這個漏洞的根本原因是在驗證簽名過程(「verify_signatures」)中,程序使用了一個在Solana更新至1.8.0時即被廢棄的「load_current_index」函數。

該函數不會驗證輸入的「sysvar account」是否真的是「system sysvar」,從而攻擊者可以趁機偽造這個關鍵帳戶。

此後,攻擊者利用此偽造的賬戶生成了虛假的鑄幣信息,然後根據得到的鑄幣在目標鏈上提取了相應真實代幣。

CertiK:十天內三起「炸橋案」 概覽

三起「炸橋案」總結

Qubit以及Meter.io的bridge代碼未能處理臨界情況,也就是說,合約的ERC20存款功能可以用來生成虛假的ETH/BNB存款事件證明,而後者成為了目標鏈上提取真實ETH/BNB的憑證。

Wormhole bridge則是其合約未驗證調用者注入的「sysvar account」,從而產生了虛假的鑄幣信息。

總而言之,上述三起事件都是由於驗證過程的缺陷而造成的。

如何應對該類漏洞?

在上述攻擊中,我們可以吸取到一些關鍵教訓:

1.對於不同的功能,比如ERC20的存款和ETH/BNB的存款,合約應產生不同的事件證明。

2.始終記得驗證用戶注入的輸入。

3.密切關注近期漏洞事件,並檢查其他項目是否存在類似情況。

4.需要對每個bridge的核心合約進行相應審計。

除此之外,當該漏洞發生後,我們應該:

1.停止中繼消息層並暫停代幣傳輸,bridge合約也應暫停所有充提幣功能。

2.立即通知社區、交易所和平台合作夥伴,監控資金流向。

3.建立與權威安全專家們的溝通渠道,進行有效的討論和信息共享。

4.識別、驗證和修復漏洞。及時測試以確保現有的漏洞得到解決以及未產生新的漏洞,同時對bridge合約進行升級。

5.評估損失,並與社區就被利用的資產數量、可追回的資產以及補償計划進行坦誠地溝通

冷萃財經原創,作者:awing,轉載請註明出處:https://www.lccjd.top/2022/02/13/certik%ef%bc%9a%e5%8d%81%e5%a4%a9%e5%86%85%e4%b8%89%e8%b5%b7%e7%82%b8%e6%a1%a5%e6%a1%88-%e6%a6%82%e8%a7%88/?variant=zh-tw

0

掃一掃,分享到微信

猜你喜歡

文章評論

電子郵件地址不會被公開。 必填項已用*標註

後發表評論

    上一篇

    Web 3創作者須知的10種信息挖掘策略

    下一篇

    Layer2在2022年將實現怎樣的發展?看看行業領袖都怎麼看

    微信公眾號

    微信公眾號