原文作者:@korpi87
原文編譯:Kxp,BlockBeats
你可能很難想象,Metamask中一個簡單的簽名就能掏空你的錢包。但這樣的事卻發生在了一名資深用戶身上,今天他因一個漏洞損失了近50萬USDC。如果不多加小心的話,你可能就是下一個他。所以,今天我想和大家講講這件事的來龍去脈,告訴大家以后如何注意此類問題。
那是在一個安靜的午后時分,Joe突然發現自己的錢包被轉走了46.9萬USDC。這次轉賬并不簡單,肯定不是攻擊者能做出的行為,因為他們根本不可能得到Joe錢包的權限。那就說明,轉走他所有USDC的應該是某個惡意合約。
數據:火必上ETH期貨合約的未平倉合約達一個月高點:12月25日消息,Glassnode數據顯示,火必上ETH期貨合約的未平倉合約為48,705,588.43美元,達一個月高點。[2022/12/26 22:07:06]
在講述今天的故事之前,我需要先向大家解釋一些術語。USDC是以太坊上的一個具有多種功能的合約,規定了我們可以如何使用USDC。
在眾多功能當中,我們需要特別關注下面兩項功能:
轉賬
代轉
當你需要在錢包之間轉移USDC,或其他ERC20s時,就需要用到轉賬功能。它可以將Token從調用者轉移到其他地址。如果有人能以你的名義惡意使用該功能,那么他一定得先掌握了你錢包的全部權限才行。
YFI核心開發者:ShibaSwap目前是最小可行的版本,所有流動性都可以通過一個地址輕松竊取:yearn.finance(YFI)核心開發者banteg表示,ShibaSwap目前是最小可行的版本,所有流動性都可以通過一個地址輕松竊取,并質疑為什么人們在其中投入了超過1.2億美元?[2021/7/6 0:31:23]
當你與合約產生互動時,它們會通過代轉功能來轉移你的Token,具體金額由你提前預設好的比例決定。因此,如果你允許一項合約轉移無限量的USDC,那么理論上它就可以拿走你所有的USDC。
現在讓我們回到Joe的故事當中,轉走他全部USDC的確實就是transferFrom功能。然而,只有當Joe批準合約使用他的USDC時,transferFrom才能發揮作用。但事實上,Joe堅信自己沒有批準任何事項。
聲音 | 分析師:比特幣在下一個歷史高點將達到7.5萬美元或8.5萬美元:加密貨幣分析師Josh Rager今早發推稱,比特幣的下一個歷史高點可能低于許多人的預期,很多分析指出,BTC在下一個主要上升趨勢中將達到10萬美元至30萬美元甚至是100萬美元。Josh Rager則表示,BTC在下一個歷史高點將達到75000美元或85000美元。(Newsbtc)[2020/1/18]
可是,DeBank的交易記錄清楚地顯示,在漏洞發生前10分鐘,該惡意合約可以無限使用賬戶中的USDC。那么問題就在于,如果不是Joe本人的話,究竟是誰給了該合約這一項批準呢?我只能說,Joe確實批準了這一操作,但卻是在他不知情的情況下完成的。
Etherscan上的信息顯示,Joe本人確實沒有調用該功能,真正批準了這一額度的是其他地址,這才讓惡意合約得以花光Joe全部的USDC。
我們不禁疑問,別人怎么能代替我給予合約許可呢?
許可功能的引入原本是為了改善以太坊的用戶體驗,它只需一個簽名就可以讓用戶在不提交交易的情況下修改批準金額。也就是說,只要有了你的簽名,任何人都可以調用許可功能,并更新你對合約的批準額度。
當你使用1inchdApp時,你就可以體驗到這一功能。如果你想在上面出售USDC,那你并不需要事先批準,只需要簽上你的名字就夠了。有了這個簽名,1inch便獲取了你全部USDC的使用權限。雖然1inch不會無緣無故花光你所有的USDC,但這卻給了惡意合約機會。
Joe一定是不小心在一個惡意網站上簽署了這樣的信息。不幸的是,那一次他用的是熱錢包,簽名只是隨手點擊一下就完成了。如果他用的是硬件錢包的話,就需要在外部設備上簽署信息,那么還會有一個思考的時間。
有了Joe的簽名,其他地址便可以提交一個帶有許可功能的交易,這樣惡意合約就獲取了Joe錢包全部USDC的使用權限。然后,只要它調用transferFrom功能,就可以轉走全部這些資金了。
所以說,一個看似小小的簽名卻可以引來巨大的災難。在某些情況下,Metamask會在你準備簽名是對你發出警告,告知你其中的危險性。簽署一個信息可能是危險的。但一些技術層面上的批準簽名卻不會收到預警,但這些一旦濫用往往會造成巨額的損失。
如何避免今后遇到類似的問題?
1.不要在Metamask中簽署一切內容;
2.花點時間了解你所簽署的內容;
3.對傳統的批準事項要格外小心。
“波卡知識圖譜”是我們針對波卡從零到一的入門級文章,我們嘗試從波卡最基礎的部分講起,為大家提供全方位了解波卡的內容,當然這是一項巨大的工程,也充滿了挑戰.
1900/1/1 0:00:009月縮表950億美金 9.2美聯儲公布8月非農數據9.13勞工局公布8月CPI數據9.15左右ETH2.0合并9.22美聯儲召開議息會議 10月縮表950億美金 如今炒個幣.
1900/1/1 0:00:00Filecoin是一個去中心化的存儲系統,用于“存儲人類最重要的信息”。為了資助其發展,該項目于2017年進行了首次代幣發行(ICO),從中獲得了2.05億美元;其最初的發布窗口定在2019年年.
1900/1/1 0:00:00在杰克遜霍爾會議導致美國市場崩潰后,比特幣進入9月第一周,走的是一條坎坷的下坡路。在美聯儲加強了對通貨膨脹前景的鷹派言論后,風險資產全面拋售,加密貨幣仍在受余波影響.
1900/1/1 0:00:00尊敬的用戶: 為了給用戶提供更好的產品體驗,BitMillion計劃于2022年08月29日晚21點開始進行停服更新,預計更新時長1個小時.
1900/1/1 0:00:008月30日消息,NFT游戲開發商Ragnarok首席執行官Fanfaron發聲明稱,其挪用項目金庫的資金多次購買以太坊而虧損了約182萬美元.
1900/1/1 0:00:00