以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > MATIC > Info

POL:從安全研究視角看Poly Network事件

Author:

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

在過去的一周里,陸續發生了幾起安全事件,包括PolyNetwork和DaoMaker等造成大額資金損失的安全事件。雖然后續損失資金大部分或者全部被追回,但仍然給DeFi的安全敲響了警鐘。

PolyNetwork:6億美金

DaoMaker:700萬美金

Maze:500萬美金

PunkProtocol:800多萬美金

在本文中,我們主要從安全研究的視角來分析一下PolyNetwork攻擊事件,包括如何對安全事件進行分析和復盤以及如何能將整個生態的安全性做的更好。

0x1PolyNetwork安全事件

事件發生在2021年8月10日傍晚,網上一些渠道傳出PolyNetwork被攻擊的消息,但是對于攻擊的手段是什么,項目方的漏洞成因并沒有準確的消息。對安全研究團隊來說,第一時間需要能搞清楚問題的根本原因所在。在明白問題所在之后,才能對事情的性質做基本判斷:是代碼漏洞所致、還是人為因素造成、亦或者是虛假消息。

0x1.1確定攻擊交易

BlockSec團隊首先從以太坊的攻擊交易入手,這源于我們已經有一個比較好的交易trace分析系統(https://tx.blocksecteam.com),能用可視化的方式將函數調用過程恢復。

Glassnode聯創:加密貨幣通常在納斯達克停滯后得到提振:金色財經報道,區塊鏈分析公司Glassnode聯合創始人Yann Allemann在社交媒體發文稱,加密貨幣通常在納斯達克停滯后得到提振,這一趨勢表明,在納斯達克表現不佳期間,投資者可能會將資金轉向風險較高的資產,即加密貨幣。Yann Allemann稱這一趨勢可以追溯到2019年,他指出納斯達克100指數用了186天的時間才重回7,600點水平,這是與經濟衰退前的恐懼相關的標志。

相比之下,比特幣用了大約220天的時間才達到6,500美元的水平。但根據Allemann的數據,一旦比特幣開始攀升,其表現就大大超過了納斯達克,然后這種趨勢會轉移到其他數字資產,如以太坊 (ETH)、Solana (SOL)、狗狗幣 (DOGE) 和NFT。[2023/6/18 21:45:45]

因此,我們首先在分析系統中重放了以太坊上的一筆攻擊交易,交易hash值是:0xd8c1f7424593ddba11a0e072b61082bf3d931583cb75f7843fc2a8685d20033a。

函數調用非常清晰和簡單,這和之前利用價格操縱來進行攻擊的情況有非常顯著的區別。在價格操縱中,攻擊的trace往往非常復雜,攻擊者需要經過多次的trade才能完成攻擊。而在本次攻擊中,攻擊者只進行了有限的操作,最后就完成了資金轉賬。

BonqDAO攻擊者開始嘗試將資金轉入Tornado Cash:金色財經報道,據PeckShield監測,非托管借貸平臺 BonqDAO 的攻擊者開始嘗試將資金轉入Tornado Cash,目前已轉入1枚以太坊。[2023/2/3 11:45:39]

0x1.2分析合約代碼

在捋清楚調用序列后,我們需要研究攻擊合約和被攻擊合約的源代碼。有意思的是,被攻擊合約在etherscan上是沒有提交源代碼驗證的。也就是說,這樣一個高TVL的項目方的合約居然未發布驗證的源代碼!

雖然etherscan上并沒有源代碼,但是我們通過項目方的github一些線索和函數簽名,找到了可能的源代碼。因此接下來的事情就是分析源代碼了。

在分析源代碼的過程中,我們仔細比對了代碼邏輯,并沒有發現明顯的邏輯漏洞。我們將該攻擊交易和其他正常交易的trace進行了比較,攻擊的整個調用trace和一條正常合法的交易并沒有本質區別。?

0x1.3恢復關鍵狀態

自此,分析進入了死胡同,而時間也到了深夜。在從外圍沒辦法打開局面的情況下,我們只能去對執行過程中的關鍵變量進行恢復。整個的攻擊過程是從函數VerifyHeaderAndExecuteTxEvent開始,我們恢復出來了函數的調用參數和函數執行過程中關鍵變量的值。這就有了我們當時在blog?中所提到的關鍵參數的值。

安全團隊:BSC上的ORT)項?遭受攻擊:1月17日消息,據Fairyproof監測,BSC上的 OMNI Real Estate Token (ORT) 項?遭受攻擊,攻擊原因疑似為合約代碼有漏洞。

攻擊者地址為:0x9BbD94506398a1459F0Cd3B2638512627390255e,其中?個攻擊合約為

0x0eFfECA3dBCBcda4d5e4515829b0d42181700606,攻擊初始gas來源 FixedFloat熱錢包,攻擊者獲利超過236個BNB,價值約70705美元。

漏洞合約為項?的 StakingPool合約,在 _Check_reward 函數中,當 durations 為0時,條件判斷沒有覆蓋,會返回?個上次的全局變量值(預期外的值),造成獎勵計算錯誤。

攻擊者調?invest函數時, end_date 輸?為0,此時合約未驗證?戶輸?,因此合約可以繼續運?, duration[msg.sender] = 0 ,?在 _Check_reward 函數中也未驗證 durations 的值,并且在 _Check_reward 函數中使?了全局變量來參與計算,多重因素造成了?錯誤的獎勵值。[2023/1/17 11:15:57]

2022年元宇宙概念股年終匯總:福石控股領漲60.37% 歌爾股份領跌68.72%:金色財經報道,12月30日,2022年A股收官,截止今日,A股共有124只元宇宙概念股。從2022年整年的表現來看,共有21只個股出現不同程度的漲幅,103只股票處于下跌狀態。其中福石控股以全年累計漲幅60.37%居于榜首,歌爾股份以跌幅68.72%位列跌幅榜之首。此外從前三季度的業績來看,宣亞國際以352.35%增長位列業績增長榜之首,深桑達A以-10860.04%居于業績增長之末尾。[2022/12/31 22:18:12]

通過這個過程,我們發現驗證的keeper只有一個(如上圖)。由于這個值是從真實的攻擊交易中恢復出來的,因此是準確的。并且我們發現攻擊者的交易確實在整個過程中都通過了簽名校驗。結合只有一個keeper的發現,當時我們的判斷是唯一的keeper私鑰泄露了或者服務端簽名程序有bug。

這里我們犯了一個錯誤,做攻擊分析,要像剝洋蔥一樣一層一層深入進行,只有找到真正的“rootrootrootcause”才能結束。因此,雖然我們從當時的表象“一個keeper,簽名校驗也是通過的”得出了兩個可能“私鑰泄露或者服務端簽名有bug”,但是沒有并沒有進一步去研究keeper是否被人修改過,而這正是整個攻擊比較關鍵的一步。寫完初步分析文章已經是凌晨3點,于是就各自回家休息。

英偉達取消RTX 30系列顯卡挖礦限制:10月14日消息,英偉達已經在最新的522.25驅動中取消了RTX 30系列顯卡的挖礦限制。網友RedditTimbers007已經確認GeForce RTX 3080 Ti已經不再受限制的影響,可實現112 MH/s的挖礦速度。此外,RTX 3060 v2(帶LHR的型號)使用最新驅動程序也能達到47 MH/s的速度。據悉,英偉達于2021年5月推出了LHR版本的RTX 30顯卡,限制顯卡挖礦算力。[2022/10/14 14:27:35]

0x1.4?新的線索

在早上醒來后,發現twitter上Kelvin和慢霧都分別給出了新的線索。新的線索表明,keeper曾經被修改過,并且修改keeper是通過hash碰撞來完成的。

這個時候,我們意識到第一次的分析還不完整。

因此,根據新的線索,我們很快也確認了修改keeper的交易是

0xb1f70464bd95b774c6ce60fc706eb5f9e35cb5f06e6cfe7c17dcda46ffd59581。修改keeper的交易并沒有復雜之處。

但是請注意,在這一次修改keeper的交易中,keeper還沒有被修改,是4個keeper,而且這4個keeper和合法交易一樣--說明key是官方的。這一筆惡意交易也完整地通過了簽名校驗。那么攻擊者是如何能讓這一筆攻擊交易上鏈并且能得到執行呢?也就是說,這個時候,最根本的原因還沒有找到。

0x1.4尋找源頭交易

由于有了第一次的教訓,我們并沒有到此就結束分析,而是繼續挖掘下去,并且在twitter上和社區交流。

既然從以太坊來看這是一條合法的交易,那么這個交易是怎么最初到以太坊上的呢?我們沿著這個思路,仔細研究了項目的白皮書和源代碼。Poly是一個跨鏈的平臺,用來在不同的鏈之間進行資產轉移。因此在以太坊上的調用是目標鏈,那么必然存在一條源頭鏈,用來發起交易。

我們通過以太坊上的交易進而找到了polychain上的交易。根據polychain上的中間交易,進而找到了源頭的Ontology鏈。

這里有一個非常隱蔽的點,曾經困擾了我們很久。因為有了修改keeper的以太坊交易trace,我們已經能恢復出來關鍵的交易hash。比如下圖中的txHash。從ChainID,我們很容易知道Polychain和Ontology鏈上的交易hash,但是我們使用這個hash并沒有在這兩個鏈上找到完整的交易,難道是恢復出來的數據不對?

經過一番的努力,我們終于發現,是因為參數中的hash和在鏈上的交易hash數據表達方式不同。比如圖中的polychain的txHash是0x80cc978479eb082e1e656993c63dee7a5d08a00dc2b2aab88bc0e465cfa0721a。

但是在polychain瀏覽器中,hash是1a72a0cf65e4c08bb8aab2c20da0085d7aee3dc69369651e2e08eb798497cc80。發現這個關鍵的點之后,我們找到了polychain上的交易以及源頭本體鏈上的交易,于是在11號下午16:55我們在tg上向社區分享了我們的發現。

0x1.5尋找根本原因

但是這個時候,仍然不能回答”為什么這個交易會被上鏈“?如果不能回答這個問題,對于漏洞仍然沒有找到根本原因。因此我們繼續從Ontology鏈入手,追蹤整個交易流向。我們發現整個交易的流向如下:

Ontologytransaction->Ontologyrelayer->Polychain->Ethereumrelayer->Ethereum

因此想要弄清楚問題的本質,還需要對Ontology和relayer進行研究。我們通讀了Ontology和relayer的代碼,發現原因是Ontology的relayer對交易缺乏驗證。在團隊成員反復討論和互相challenge之后,我們認為這個發現是接近事實真相的。因此在12號凌晨2點41Twitter上公布我們的發現,并且在medium上公開我們的分析全文。

自此我們的分析結束,其他安全廠商也陸續發布獨立的分析報告,比如派盾在12號早上也公布了是由Ontology鏈發起了攻擊交易。

0x2經驗和教訓

本次事件對于整個DeFi社區是非常重要的一起安全事件,雖然攻擊者最終返還了被攻擊的數字貨幣,但就像余弦所說”這種能力太過消耗,成本也非常高,也有運氣成分”。我們不能期待每一次的攻擊事件都會有好的結局。因此,社區如何做才能讓整個生態的安全變得更好?

要讓安全滲透到項目方的血液當中,包括安全的意識、設計、編碼、管理、運營、監控、事件處理等每一個方面。一個好的DeFi項目必須首先要是一個安全優先的項目,否則用戶將資產投入到項目里面,他們的資產安全由誰來守護?很遺憾的是,從這個事件來看,項目方的安全設計意識是不足的。作者本人在講授本科生的軟件安全課程,我們在軟件安全第一堂課就會講威脅模型和攻擊面。很顯然,這一次的跨鏈設計并沒有對攻擊面做一個梳理,沒有在預防可能的攻擊面上有過深入思考。或者有過深入的分析,但是最后的實現并沒有完全能遵循設計。

項目方的上線合約代碼沒有經過驗證,雖然項目方在github開源了一些代碼,但是其在鏈上并沒有上傳經過驗證的代碼。去中心的基礎是信任,信任的基礎是透明。而這樣一個沒有驗證源代碼的黑盒項目居然有那么大的鎖倉量,說明社區在繁榮的同時,用戶也缺乏必要的安全意識。如何在用戶安全意識上破局,需要新的解決方案。

Tags:EPEKEEKEEPPOLPEPECHAIN幣bitkeep怎么提現vv幣bitkeep錢包下載最新版本pols幣適合長期持有嗎

MATIC
ETH:為什么ETH可以替代美國國債 成為無風險資產?

關于ETH的價值和未來,社區里一直有很多討論。一部分支持者堅定地認為ETH將成為優質的貨幣,而且是ultrasoundmoney;也有一部分人認為,ETH將承擔起更多價值儲存的功能.

1900/1/1 0:00:00
THE:《掃黑風暴》全集遭泄露 區塊鏈能否破解盜版頑疾

原標題:《掃黑風暴》全集遭泄露,技術手段能否杜絕侵權?日前,熱播連續劇《掃黑風暴》送審樣片全集版本被曝光網絡并在極短時間內廣泛傳播.

1900/1/1 0:00:00
NFT:熱議NFT:助益知識產權保護

網絡侵權一直是互聯網時代的大難題,如今NFT猛然殺入主流,對內容創作的知識產權問題會有怎樣的影響?NFT不僅是創意作品的新媒介.

1900/1/1 0:00:00
ORK:Facebook發布“炸場級”虛擬現實功能 元宇宙世界大門即將開啟?

搞了這么多年VR,Facebook終于出了一個拿得出手的應用。在VR上曾無數次的遭到“群嘲”的Facebook,現在乘著元宇宙概念爆火的東風,似乎又能重新燥起來了.

1900/1/1 0:00:00
BIT:Axie Infinity GameFi的未來?

AxieInfinity,GameFi的未來?AxieInfinity在過去的幾周成為市場焦點,7月份DAU突破80萬,迄今為止累計交易量突破10億美元,超過NBATopShot.

1900/1/1 0:00:00
PPL:全球百大銀行中55%直接或間接投資于加密和區塊鏈

據報道,全球管理資產百大銀行中,有一半以上是基于加密貨幣和區塊鏈技術的主要公司和項目的投資者。據報道,全球銀行業巨頭正在通過為該行業的項目和企業提供早期和后期資金的方式,加大對新興加密貨幣和區塊.

1900/1/1 0:00:00
ads