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

POL:白帽黑客samczsun:針對NFT資產的攻擊會越來越頻繁

Author:

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

注:原文作者是擁有“審計上帝”之稱的白帽黑客samczsun,同時他也是Paradigm的研究合伙人,其最近出手拯救了BitDAOMISO荷蘭拍賣資金池中的3.5億美元資產,而在這篇文章中,他提醒了關于NFT代幣標準的潛在安全風險,他還預測稱,隨著ERC-721和ERC-1155代幣標準變得越來越流行,針對NFT的攻擊很可能會越來越頻繁。

如果你從事軟件工程方面的工作,很可能你聽說過至少一條軟件工程原則。雖然我不主張嚴格遵守每一條原則,但有一些確實是值得關注的。

我今天要講的就是最小驚訝原則,它有一個奇特的名字,但卻是一個非常簡單的想法。它所說的是,當呈現聲稱要做某件事的代碼時,大多數用戶都會假設它是如何完成這件事的。因此,作為開發人員,你的工作是編寫符合這些假設的代碼,這樣你的用戶就不會感到意外。

這是一個很好的原則,因為開發人員喜歡對事物進行假設。如果你導出一個名為calculateScore(GameState)的函數,很多人就會假設該函數只會從游戲狀態中讀取。如果你還改變了游戲狀態,你會使得很多人面臨困惑的狀態,他們試圖弄清楚為什么他們的游戲狀態會隨機被破壞。即使你把它放在文檔中,仍然不能保證人們會看到它,所以最好首先確保你的代碼不會令人驚訝。

報告:以太坊、Solana、Avalanche、Cosmos、Tezos是白帽黑客最為關注的區塊鏈:3月10日消息,Web3漏洞賞金平臺Immunefi在其2023年報告中指出,以太坊是白帽黑客最為關注的區塊鏈生態,有92%的受訪對象表示正在關注該生態的安全情況。

除以太坊之外,Solana以31%位居第二,Avalanche(20.4%)、Cosmos(13.3%)和Tezos(8%)位列前五。Polygon、Arbitrum、Optimism、Near、Polkadot、BNB Chain、Fantom和zkSync也在白帽黑客的關注范圍之內。(The Block)[2023/3/10 12:52:49]

“6小時的調試工作,可以為你們節省5分鐘的文檔閱讀時間。”

越安全越好,對嗎?

早在2018年初,當ERC-721標準被起草出來時,有人就提出了實施轉賬安全性?的建議,以確保代幣不會被卡在不用于處理代幣的接受者合約中。為此,提案作者修改了transfer函數的行為,以檢查接收方是否能夠支持代幣轉賬。他們還引入了unsafeTransfer函數,如果發送者愿意,該函數將繞過這個檢查。

跨鏈橋Wormhole向白帽黑客satya0x支付1000萬美元漏洞賞金:金色財經消息,跨鏈橋Wormhole今日發布博客表示,在2月24日,化名satya0x的白帽黑客披露了以太坊Wormhole核心橋接合約中的一個嚴重漏洞,這個錯誤是一個可升級的代理實現自毀錯誤,有助于防止潛在的用戶資金鎖定。

Wormhole在報告的同一天驗證并修復了問題,沒有任何用戶資金損失。為此,Wormhole向satya0x支付了創紀錄的1000萬美元的漏洞賞金。[2022/5/21 3:31:33]

然而,由于擔心向后兼容性,這個函數在隨后的提交中被重命名了。這使得ERC-20和ERC-721代幣的transfer函數表現相同。但是,現在需要將接收方檢查轉移到其他地方。因此,標準作者就引入了safe類函數:safeTransfer以及safeTransferFrom。

這是一個關于正當性問題的解決方案,因為有許多ERC-20代幣被意外轉移到從未期望收到代幣的合約的例子。而在起草ERC-1155標準時,提案作者從ERC-721標準汲取了靈感,不僅在轉賬時,而且在鑄造也納入了接收方檢查,這一點也不足為奇。

白帽黑客Gerhard Wagner提交Polygon Plasma Bridge雙花漏洞,獲得200萬美元獎金:10月21日消息,漏洞賞金平臺Immunefi表示,白帽黑客Gerhard Wagner于2021年10月5日提交了一個嚴重漏洞,該漏洞影響了Polygon Plasma Bridge,該漏洞允許攻擊者多次從橋退出他們的銷毀交易,最多223次。大約有8.5億美元處于風險之中,僅僅用10萬美元發起攻擊將導致2230萬美元的損失。Polygon確認了該錯誤并立即開始修復潛在問題,在一周內得到解決。Polygon同意為這次提交支付最高金額200萬美元。[2021/10/21 20:47:05]

在接下來的幾年里,這些標準大多處于休眠狀態,而ERC-20代幣標準保持了它的流行狀態,而最近gas成本的飆升,以及社區對NFT興趣的增強,自然而然導致開發者越來越多地使用ERC-721和ERC-1155代幣標準。有了這些新的興趣,我們應該慶幸這些標準的設計考慮了安全性,對嗎?

越安全越好,真的嗎?

Ok,但對于轉帳和鑄造來說,安全意味著什么呢?不同的當事人對安全有不同的解釋。對于開發人員來說,一個安全函數可能意味著它不包含任何bug或引入額外的安全問題。而對于用戶來說,這可能意味著它包含額外的護欄,以保護他們不被意外射中自己的腳。

Poly Network白帽黑客發公開信公布私鑰:8月23日消息,PolyNetwork攻擊事件黑客在今日下午通過鏈上轉賬留言,交出了3/4的多簽錢包秘鑰,并表示這是好的結局。該黑客自稱為Poly Network的首席安全顧問,表示:我的行動是深思熟慮后的決定,我想讓這件事情變得完美而永恒,包括今天公布的最后的私鑰。然而,有一點是美中不足的:在整個談判過程中,我唯一的請求,也是沒有立刻退款的唯一動機,就是為了解鎖被凍結的USDT。在我看來,這次美好的歷史事件被USDT凍結一事所玷污。如果我們利用非中心化的方式處理這部分被凍結的USDT,本可以成為一個利用智能合約在匿名對手間建立信任關系的完美案例。但這只是我個人的一廂情愿,由于交涉雙方的溝通并不同步,這個愿望可能永遠不會發生。可以說,把USDT作為原罪而扣留它其實是很公平的。

據此前報道,因為質疑Poly Network驗證人權限過大,白帽黑客并未與Poly Network團隊達成一致,未能移交私鑰。[2021/8/23 22:31:43]

事實證明,在這種情況下,這些函數更多的是后者,而較少會是前者。這是特別令人遺憾的,因為在transfer和safeTransfer函數之間進行選擇時,你為什么不選擇安全的那個函數呢?名字都體現出來了!

美國國務院向白帽黑客提供高達1000萬美元的加密獎勵:8月17日消息,美國正在提供加密貨幣資產,以激勵白帽黑客在暗網中發現國家支持的行為者和潛在的恐怖分子。美國國務院新的 \"正義的獎賞 \"平臺允許舉報人提交匿名的線索和信息,以換取數字資產的獎賞。該平臺在7月31日至8月5日在拉斯維加斯舉行的美國黑帽活動中得到了推廣,用戶可以通過一個名為#Rewardsnotransoms的不安全Wi-Fi網絡提交線索。據CNN報道,這個開放的網絡是特意設置的,以鼓勵與會者登錄并訪問RFJ網站。為了交換關于各種恐怖嫌疑人、極端分子和國家支持的黑客的信息,正在提供高達1000萬美元的獎賞。舉報人可以選擇是否希望以加密貨幣資產的形式獲得補償。美國國家反間諜和安全中心前主任William Evanina將這一舉措描述為美國政府有史以來對加密貨幣資產的最公開的嘗試。(cointelegraph)[2021/8/17 22:18:43]

好吧,其中的一個原因可能是我們的老朋友reentrancy,或者我一直在努力將其重命名為:不安全的外部調用。回想一下,如果接收方是攻擊者控制的,則任何外部調用都可能不安全,因為攻擊者可能會導致你的合約轉換為未定義狀態。根據設計,這些“安全”函數執行對代幣接收者的外部調用,通常在鑄造或轉移期間由發送者控制。換句話說,這實際上是不安全外部調用的教科書示例。

但是,你可能會問自己,如果允許接收方合約拒絕他們無法處理的轉賬,那最壞的后果是什么?好吧,讓我通過兩個案例研究來回答這個問題。

例子1:Hashmasks

Hashmasks是一個供應有限的NFT頭像項目,用戶每次交易最多可以購買20個maskNFT。下面是購買mask的函數:

你可能覺得這個函數看起來非常合理。然而,正如你可能已經預料到的,在_safeMint調用中隱藏著一些險惡的東西。讓我們來看看。

為了安全性,這個函數對token的接受者執行了一次callback回調,以檢查他們是否愿意接受轉賬。然而,我們是token的接收者,這意味著我們剛剛得到了一次callback回調,在這個點上我們可以做任何我們想做的事情,包括再次調用mintNFT函數。如果我們這樣做,我們將在僅鑄造了一個mask后重調用該函數,這意味著我們可以請求再鑄造另外19個mask。這導致最終鑄造出了39個maskNFT,盡管規則允許鑄造的最大數量只有20個。

例子2:ENS域名封裝器

最近,來自ENS的NickJohnson聯系了我,他想讓我看看他們正在進行的ENS域名封裝器工作。這個域名封裝器允許用戶用新的ERC-1155token代幣化他們的ENS域名,這提供了對細粒度權限以及更一致的API的支持。

概括地說,為了封裝任何ENS域名,你必須首先批準域名封裝器以訪問你的ENS域名。然后,你調用wrap(bytes,address,uint96,address),它既為你鑄造一個ERC-1155token,也負責管理底層的ENS域名。

下面就是這個wrap函數,它相當簡單。首先,我們調用_wrap,它執行一些邏輯并返回哈希域名。然后,我們確保交易發送方確實是ENS域名的所有者,然后再接管該域名。請注意,如果發送方不擁有底層的ENS域名,則整個交易應還原,撤銷在_wrap中所做的任何更改。

下面是_wrap函數本身,這里沒有什么特別的。

不幸的是,正是這個_mint函數,它可能會給毫無戒心的開發者帶來可怕的驚喜。ERC-1155規范規定,在鑄造token時,應咨詢接收者是否愿意接受該token。在深入研究庫代碼后,我們發現情況確實如此。

但這到底對我們有什么好處呢?好的,我們再一次看到了一個不安全的外部調用,我們可以用它來執行重入攻擊。具體地說,請注意,在callback回調期間,我們擁有了代幣ENS域名的ERC-1155token,但域名封裝器尚未驗證我們擁有基礎ENS域名本身。這使我們能夠在不實際擁有ENS域名的情況下對其進行操作。例如,我們可以要求域名封裝器解開我們的域名,燃燒掉我們剛剛鑄造的token并獲取底層的ENS域名。

現在我們擁有了底層的ENS域名,我們可以用它做任何我們想做的事情,比如注冊新的子域名或者設置解析器。完成后,我們只需退出callback回調。域名封裝器將和底層ENS域名的當前所有者交互,并完成交易。就像那樣,我們已經取得了域名封裝器被批準用于的任何ENS域名的臨時所有權,并對其進行了任意更改。

結論

令人驚訝的代碼可能會以災難性的方式破壞事物。在本文的兩個案例下,開發人員合理地假設safe函數類可以安全地使用,卻無意中增加了他們的攻擊面。隨著ERC-721和ERC-1155代幣標準變得越來越流行及廣泛,這類攻擊情況很可能會越來越頻繁。開發人員需要考慮使用safe類函數的風險,并確定外部調用如何與他們編寫的代碼進行交互。

Tags:ENSPOLWORPOLYens幣值得長期持有嗎POLARWorld PoliticsPolypuX

FTT
PCI:印度證券交易委員會要求存托機構使用區塊鏈技術監控證券

據Livemint8月16日消息,印度證券交易委員會已要求存托機構創建、主持和維護一個使用分布式賬本技術或區塊鏈技術的系統,以記錄和監測證券的創建,以及不可轉換證券的契約.

1900/1/1 0:00:00
以太坊:一文了解智能合約執行引擎的前世今生

Solidity作為最早提出的智能合約語言,它的出現為區塊鏈的應用場景打開了新的大門。 ——?緣起—— 智能合約這個術語最早于1994年由跨領域法律學者尼克·薩博?次提出.

1900/1/1 0:00:00
PUN:觀察 | 從生成藝術的角度簡單理解NFT

今天的NFT類似于2012年的比特幣這里不是說NFT的價格跟2012年的比特幣類似,因為兩者完全不是一種東西,無法在價格或價值層面進行比較.

1900/1/1 0:00:00
POL:Poly Network攻擊者:有責任在內部人員隱藏和利用漏洞之前揭露它

PolyNetwork攻擊者剛剛發布了自問自答。攻擊者表示,攻擊是為了好玩。選擇PolyNetwor是因為跨鏈攻擊很火。轉走代幣是為了保證安全。攻擊者稱:“當發現bug時,我有一種復雜的感覺.

1900/1/1 0:00:00
數字人:國家金融與發展實驗室副理事長:香港在數字人民幣的跨境支付結算等方面具有重要地位

據中國經濟網8月14日報道,近日,國家金融與發展實驗室副理事長、中國社會科學院金融研究所黨委書記胡濱在接受采訪時表示,數字人民幣的推出,為人民幣跨境支付結算提供了嶄新手段.

1900/1/1 0:00:00
比特幣:調查:東歐地區在過去一年中向加密龐氏騙局和詐騙案發送了8.15億美元的資金

據Cointelegraph消息,9月1日,區塊鏈研究公司Chainalysis發表報告表示,位于東歐地區的加密貨幣地址在非法活動中的曝光率僅次于非洲.

1900/1/1 0:00:00
ads