比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > AVAX > Info

NBS:Vyper 被黑的時間線和反思_ETHY

Author:

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

"Trust but verify"(信任,但要核查),不要做“事后諸葛亮”。最厲害的 bug 都是燈下黑。

由于合約的不可變性, 項目會隱性依賴多年前編寫的代碼, 我們在修復 bug 時,就更需要注意它的潛在影響。

這次的事情是這樣發生的。

在本文中,我會用“我們”來指代所有為這次事件努力的人。我覺得,雖然我最初對發現漏洞作出了一些貢獻,但在整個過程中,有無數人提供了更多的幫助。

13:10 UTC pETH/ETH  1100 萬美元 流失。

13:19 UTC Michal 在 ETHSecurity 上發布有關 pETH 價格突然暴跌的消息。

Igor 首先注意到不對勁。多虧了他,我們開始深入調查。

Curve Finance:最好遷移到Vyper 0.3.7+最新版本合約:金色財經報道,Curve Finance在社交媒體提醒稱,Vyper 0.3.7+已進行了較好的重構和審核,雖然不涉及任何保證(也沒有任何保證),但最好遷移到最新版本合約。此前,截至目前,Curve Finance官方已確認四個流動性池受到Vyper編譯器0.2.15-0.30版本影響,分別是:crv/eth、aleth/eth、mseth/eth、peth/eth,另外Arbitrum上tricrypto的一個流動性池“可能”受到影響,審計員和Vyper開發人員仍無法找到漏洞,因此需要投資者盡快退出。[2023/8/1 16:10:57]

但是機器人是如何在remove_liquidity()調用中重入add_liquidity()的呢?

14:01 UTC 就這個問題組建了一個應急小組。

14:07 UTC 我們用我們最喜歡的反編譯器反編譯了 JPEGd 合約,并注意到重入保護存儲槽有點不同。

Curve Finance:攻擊只對使用Vyper版本和“純”ETH的用戶有影響:金色財經報道,DeFi協議Curve Finance在社交媒體發文稱,本次攻擊事件只對使用Vyper版本和“純”ETH的用戶有影響,并且重申對crvUSD合約本身以及其他流動性池沒有影響。今日凌晨由于Vyper部分版本出現故障,許多使用Vyper 0.2.15版本的Curve Finance穩定幣池(alETH/msETH/pETH)遭到攻擊。[2023/7/31 16:08:11]

// Dispatch table entry for add_liquidity(uint256,uint256)label_0057:    if (storage[0x00]) { revert(memory[0x00:0x00]); }    storage[0x00] = 0x01;// Dispatch table entry for remove_liquidity(uint256,uint256)label_1AF3:    if (storage[0x02]) { revert(memory[0x00:0x00]); }    storage[0x02] = 0x01;14:27 UTC 我們通過一個簡單的本地測試合約確認了這個問題。

以太坊編程語言Vyper發布v0.3.9版本:5月30日消息,以太坊編程語言 Vyper 發布 v0.3.9 版本,是針對 v0.3.8 的補丁修復版本,修復了藍圖合約(blueprint contracts)的代碼大小回歸以及導致 v0.3.8 中運行時 Gas 性能退化的問題。[2023/5/30 9:49:50]

@external@nonreentrant("lock")def test(addr: address) -> bool:    return True@external@nonreentrant("lock")def test2(addr: address) -> bool:    return False這不僅僅是另一個重入 bug。

以太坊2.0進展:存款合約已經從Vyper重寫為Solidity語言并重新驗證:以太坊2.0Phase 0開發進度中,開發者考慮到Vyper編譯器的安全性問題,存款合約已經從Vyper重寫為Solidity語言,并且經過重新驗證。同時,新合約保留了之前的接口,因此對于客戶端們來說沒有產生影響,除此之外,由于Solidity的優化程度更高,新合約還能節省Gas費用。[2020/6/28]

此時,我們意識到這將產生多大的影響。封鎖消息,我們刪除了有關該漏洞的公開消息。

14:37 UTC Wavey 幫助確認了存在漏洞的提交和受影響的版本。我和 Charles 通過手動檢查 Vyper 編譯器輸出也證實了這一點。

這是一場與黑客的競賽。

值得慶幸的是,人們還將其與只讀重入混淆。摘自 “Web3 安全警報” 頻道-Alchemix 和 Metronome DAO 也因只讀重入 bug 遭到黑客攻擊

動態 | 新以太坊語言Vyper發布 可與Solidity合用以增強安全性:據newsbtc消息,新的以太坊語言Vyper已經發布,并在社交媒體上引起熱議。該語言是由廢棄語言Serpent?升級而來,為開發者們提供了可以替代Solidity語言的另外一種選擇,早期使用者甚至認為這是一種改進,更勝Solidity。像Solidity一樣,Vyper編譯為以太坊虛擬機(EVM)的字節代碼,而Vyper的設計目的是簡化這個過程,旨在創建更易理解的智能合約,減少攻擊點,增加透明度,目前Vyper Beta已經準備好測試工作。Vyper的創建不是為了取代Solidity,而是為了與其一起使用,因為它們共享相同的字節代碼以增強安全性,據此看來,Vyper未來將大有可為。[2018/7/8]

Michael 發現運行 0.2.15 版本的 alETH 和 msETH 池也存在潛在漏洞。

14:50 UTC msETH/ETH 被耗盡。

15:34 UTC alETH/ETH 被耗盡。

15:43 UTC 我們發現用 Vyper 版本 0.3.0 編譯的CRV/ETH 存在漏洞。我們必須盡可能長時間保密受影響的合約,這一點至關重要。

16:11 UTC 我們開始研究白帽漏洞。

不幸的是,太多的組織在同時進行獨立研究,謠言四起。16:44 UTC,我們決定針對受影響的版本發布公開聲明。

到 18:32 UTC,我們有了一個可用于潛在白帽拯救的概念證明漏洞。Chainlight 的 bpak 也同時在研究一個漏洞,并于 19:06 UTC 分享。

五分鐘后,19:11 UTC,有人盜走了資金。

攻擊結構與我們的概念證明有很大不同,不太可能是我們團隊泄密。無論如何,這非常令人沮喪。

盡管如此,還有很多事情要做。

21:26 UTC Addison 提出了一個雄心勃勃的計劃,拯救 CRVETH 池中的剩余資產。

21:52 UTC bpak 做了一個可行的概念證明,可以拯救 3100 ETH。

十分鐘后,22:02 UTC,我們再次被擊敗。出乎意料的是,CRV 管理費用機器人已被取走資金,并且池子已耗盡。

責備(Balme) 是一個很強烈的詞。指責是沒有用的。我認為思考一下哪些方面可以做得更好才是有用的。

白帽的努力都在不到半小時的時間內被擊敗。有時候,每一秒都非常重要。

也許可以有更好的準備和資源來執行這些攻擊。同時,這似乎是一把雙刃劍。把如何執行黑客攻擊的信息匯總起來真的是個好主意嗎?我們應該信任誰?

另一方面,我認為整個過程非常有效。我們在 2 小時 4 分鐘內從最初的懷疑到確認出誰易受攻擊。

我既是審計員又是白帽黑客。

審計行業有著特有的發布文化。我們因技術思想領先和對漏洞的深刻理解而獲得報酬。證明他們的領先與深刻的一種方法是發布有關黑客行為的“獨家新聞”。研究人員花費巨大,而投資的回報就是宣傳。

另一方面,有一個令人信服的論點認為:受影響版本的早期披露會對白帽拯救產生重大影響。

如果再多半小時,就可以拯救 1800 萬美元。

審計師不會為他們的報告所造成的影響付出代價。相反,他們會得到點贊、轉發和報道。這似乎是一個問題。

我不同意“我們需要形式化驗證來解決這個問題”之類的觀點。這個錯誤可以通過單元測試來捕獲。形式化驗證對于許多錯誤類型都非常有用,但我不相信它對于相對簡單的、未優化編譯器也同樣有用。

需要注意的是,這個錯誤在 2021 年 11 月已修復。

我認為這個 Vyper 漏洞不是 Vyper 團隊的技術或語言本身的問題,更多是流程問題。這個錯誤在很久以前的版本已被修復,但在修復的時候并沒有意識到它的潛在影響。

不幸的是,公共物品很容易被忽略。由于合約不可變性,項目會隱性依賴多年前編寫的代碼。協議開發人員和安全專家應該了解整個執行堆棧的最新安全開發情況。

登鏈社區

個人專欄

閱讀更多

Foresight News

金色財經 Jason.

白話區塊鏈

金色早8點

LD Capital

-R3PO

MarsBit

深潮TechFlow

Tags:NBSBSPETHUTCNBS價格BSPTETHYutc幣發行量

AVAX
GIL:美聯儲加息至22年來最高水平 鮑威爾警告年內不會降息_MAR

編譯:比推BitpushNews Mary Liu美東時間周三下午,美聯儲批準加息25個基點,這是 17 個月內的第 11 次加息,使聯邦基準借貸成本升至 22 年來的最高水平.

1900/1/1 0:00:00
UNI:分析 Unibot 數據:靜態數據具備吸引力 但主要收入來自 $UNIBOT 交易稅_Unibot.cash

作者:蔣海波 Telegram 交易機器人已有一段時間的歷史,近期隨著 MEME 代幣的火熱和 Unibot 等項目的發幣,這一賽道再次受到關注.

1900/1/1 0:00:00
SEC:彭博分析師:現貨BTC ETF獲批幾率從1%飆升到65%_ARTHUR

來源:bitcoinist;編譯:區塊鏈騎士彭博行業研究(Bloomberg Intelligence)分析師James Seyffart和Eric Balchunas根據近期的行業動態.

1900/1/1 0:00:00
金字塔:擺脫內卷:從城市居民到數字居民_kingdefi幣歸零

作者:馮光能;歪脖三觀 在《生境與希望:從躺平無為到照亮世界的數字游民》一文中,鄙人論證了現代文明最緊迫的問題在于公共生活逐漸消解.

1900/1/1 0:00:00
STO:臺灣區塊鏈和加密貨幣法律法規_4-Stock

作者:Robin Chang,Eddie Hsiung;編譯: TaxDAO 1. 政府的態度和定義 加密貨幣目前不被臺灣央行(“CBC”)接受為貨幣.

1900/1/1 0:00:00
CHA:ChatGPT爆火這半年:熱錢、巨頭與監管_AIGPT價格

經歷了半年的AI洗禮,或許很難找到比“應激反應”更恰當的詞,來形容今天科技行業中每個人的狀態——緊張、刺激、壓力.

1900/1/1 0:00:00
ads