文/Lisa&Kong
近期,我們發現多起關于eth_sign簽名的釣魚事件。
釣魚網站1:https://moonbirds-exclusive.com/
當我們連接錢包后并點擊Claim后,彈出一個簽名申請框,同時MetaMask顯示了一個紅色提醒警告,而光從這個彈窗上無法辨別要求簽名的到底是什么內容。
其實這是一種非常危險的簽名類型,基本上就是以太坊的“空白支票”。通過這個釣魚,騙子可以使用您的私鑰簽署任何交易。
除此之外,還有一種釣魚:在你拒絕上述的sign后,它會在你的MetaMask自動顯示另一個簽名框,趁你沒注意就騙到你的簽名。而看看簽名內容,使用了SetApprovalForAll方法,同時Approvedasset的目標顯示為AllofyourNFT,也就是說,一旦你簽名,騙子就可以毫無節制地盜走你的所有NFT。如下:
慢霧:DOD合約中的BUSD代幣被非預期取出,主要是DOD低價情況下與合約鎖定的BUSD將產生套利空間:據慢霧區情報,2022 年 3 月 10 日, BSC 鏈上的 DOD 項目中鎖定的 BUSD 代幣被非預期的取出。慢霧安全團隊進行分析原因如下:
1. DOD 項目使用了一種特定的鎖倉機制,當 DOD 合約中 BUSD 數量大于 99,999,000 或 DOD 銷毀數量超過 99,999,000,000,000 或 DOD 總供應量低于 1,000,000,000 時將觸發 DOD 合約解鎖,若不滿足以上條件,DOD 合約也將在五年后自動解鎖。DOD 合約解鎖后的情況下,用戶向 DOD 合約中轉入指定數量的 DOD 代幣后將獲取該數量 1/10 的 BUSD 代幣,即轉入的 DOD 代幣數量越多獲得的 BUSD 也越多。
2. 但由于 DOD 代幣價格較低,惡意用戶使用了 2.8 個 BNB 即兌換出 99,990,000 個 DOD。
3. 隨后從各個池子中閃電貸借出大量的 BUSD 轉入 DOD 合約中,以滿足合約中 BUSD 數量大于 99,999,000 的解鎖條件。
4. 之后只需要調用 DOD 合約中的 swap 函數,將持有的 DOD 代幣轉入 DOD 合約中,既可取出 1/10 轉入數量的 BUSD 代幣。
5. 因此 DOD 合約中的 BUSD 代幣被非預期的取出。
本次 DOD 合約中的 BUSD 代幣被非預期取出的主要原因在于項目方并未考慮到 DOD 低價情況下與合約中鎖定的 BUSD 將產生套利空間。慢霧安全團隊建議在進行經濟模型設計時應充分考慮各方面因素帶來的影響。[2022/3/10 13:48:45]
釣魚網站2:https://dooooodles.org/
慢霧:PAID Network攻擊者直接調用mint函數鑄幣:慢霧科技發文對于PAID Network遭攻擊事件進行分析。文章中指出,在對未開源合約進行在反編譯后發現合約的 mint 函數是存在鑒權的,而這個地址,正是攻擊者地址(0x187...65be)。由于合約未開源,無法查看更具體的邏輯,只能基于現有的情況分析。慢霧科技分析可能是地址(0x187...65be)私鑰被盜,或者是其他原因,導致攻擊者直接調用 mint 函數進行任意鑄幣。
此前報道,PAID Network今天0點左右遭到攻擊,增發將近6000萬枚PAID代幣,按照當時的價格約為1.6億美元,黑客從中獲利2000ETH。[2021/3/6 18:21:08]
慢霧:Cover協議被黑問題出在rewardWriteoff具體計算參數變化導致差值:2020年12月29日,慢霧安全團隊對整個Cover協議被攻擊流程進行了簡要分析。
1.在Cover協議的Blacksmith合約中,用戶可以通過deposit函數抵押BPT代幣;
2.攻擊者在第一次進行deposit-withdraw后將通過updatePool函數來更新池子,并使用accRewardsPerToken來記錄累計獎勵;
3.之后將通過_claimCoverRewards函數來分配獎勵并使用rewardWriteoff參數進行記錄;
4.在攻擊者第一次withdraw后還留有一小部分的BPT進行抵押;
5.此時攻擊者將第二次進行deposit,并通過claimRewards提取獎勵;
6.問題出在rewardWriteoff的具體計算,在攻擊者第二次進行deposit-claimRewards時取的Pool值定義為memory,此時memory中獲取的Pool是攻擊者第一次withdraw進行updatePool時更新的值;
7.由于memory中獲取的Pool值是舊的,其對應記錄的accRewardsPerToken也是舊的會賦值到miner;
8.之后再進行新的一次updatePool時,由于攻擊者在第一次進行withdraw后池子中的lpTotal已經變小,所以最后獲得的accRewardsPerToken將變大;
9.此時攻擊者被賦值的accRewardsPerToken是舊的是一個較小值,在進行rewardWriteoff計算時獲得的值也將偏小,但攻擊者在進行claimRewards時用的卻是池子更新后的accRewardsPerToken值;
10.因此在進行具體獎勵計算時由于這個新舊參數之前差值,會導致計算出一個偏大的數值;
11.所以最后在根據計算結果給攻擊者鑄造獎勵時就會額外鑄造出更多的COVER代幣,導致COVER代幣增發。具體accRewardsPerToken參數差值變化如圖所示。[2020/12/29 15:58:07]
我們使用MistTrack來分析下騙子地址:
慢霧:警惕ETH新型假充值,已發現在野ETH假充值攻擊:經慢霧安全團隊監測,已發現存在ETH假充值對交易所攻擊的在野利用,慢霧安全團隊決定公開修復方案,請交易所或錢包及時排查ETH入賬邏輯,必要時聯系慢霧安全團隊進行檢測,防止資金丟失。建議如沒有把握成功修復可先臨時暫停來自合約地址的充值請求。再進行如下修復操作:1、針對合約ETH充值時,需要判斷內聯交易中是否有revert的交易,如果存在revert的交易,則拒絕入賬。2、采用人工入賬的方式處理合約入賬,確認充值地址到賬后才進行人工入賬。同時需要注意,類以太坊的公鏈幣種也可能存在類似的風險。[2020/5/23]
0xa594f48e80ffc8240f2f28d375fe4ca5379babc7
動態 | 慢霧:10 月發生多起針對交易所的提幣地址劫持替換攻擊:據慢霧區塊鏈威脅情報(BTI)系統監測及慢霧 AML 數據顯示,過去的 10 月里發生了多起針對數字貨幣交易所的提幣地址劫持替換攻擊,手法包括但不限于:第三方 JS 惡意代碼植入、第三方 NPM 模塊污染、Docker 容器污染。慢霧安全團隊建議數字貨幣交易所加強風控措施,例如:1. 密切注意第三方 JS 鏈接風險;2. 提幣地址應為白名單地址,添加時設置雙因素校驗,用戶提幣時從白名單地址中選擇,后臺嚴格做好校驗。此外,也要多加注意內部后臺的權限控制,防止內部作案。[2019/11/1]
通過分析,騙子多次調用SetApprovalForAll盜取用戶資產,騙子地址目前已收到33個NFT,售出部分后獲得超4ETH。
回到正題,我們來研究下這種釣魚方法。首先,我們看看MetaMask官方是如何說明的:
也就是說,MetaMask目前有六種簽名方法,只有一種方式會出現MetaMask警告,發生在eth_sign的簽名情況下,原因是eth_sign方法是一種開放式簽名方法,它允許對任意Hash進行簽名,這意味著它可用于對交易或任何其他數據進行簽名,從而構成危險的網絡釣魚風險。
根據MetaMask官方文檔說明,eth_sign方法是可以對任意哈希進行簽名的,而我們在簽署一筆交易時本質上也是對一串哈希進行簽名,只不過這中間的編碼過程都由MetaMask替我們處理了。我們可以再簡單回顧下從編碼到交易廣播的過程:
在進行交易廣播前,MetaMask會獲取我們轉賬的對象、轉賬的金額、附帶的數據,以及MetaMask自動幫我們獲取并計算的nonce、gasPrice、gasLimit參數進行RLP編碼得到原始交易內容。如果是合約調用,那么to即為合約地址,data即為調用數據。
rlp=require('rlp');//Usenon-EIP115standardconsttransaction={??nonce:'',??gasPrice:'',??gasLimit:'',??to:'0x',??value:'',??data:'0x'};//RLPencodeconstrawTransaction=rlp.encode();
隨后再對此內容進行keccak256哈希后得到一串bytes32的數據就是所需要我們簽名的數據了。
//?keccak256?encodeconst?msgHex?=?rawTransaction.toString('hex');const?msgHash?=?Web3.utils.keccak256('0x'+?msgHex);
我們使用MetaMask對這串數據簽名后就會得到r,s,v值,用這三個值再與nonce/gasPrice/gasLimit/to/value/data進行一次RLP編碼即可得到簽名后的原始交易內容了,這時候就可以廣播發出交易了。
rlp=require('rlp');consttransaction={??nonce:'',??gasPrice:'',??gasLimit:'',??to:'',??value:'',??data:'',??v:'',??r:'',??s:''};//RLPencodeconstsignedRawTransaction=rlp.encode();
而如上所述,eth_sign方法可以對任意哈希進行簽名,那么自然可以對我們簽名后的bytes32數據進行簽名。因此攻擊者只需要在我們連接DApp后獲取我們的地址對我們賬戶進行分析查詢,即可構造出任意數據讓我們通過eth_sign進行簽名。
這種釣魚方式對用戶會有很強的迷惑性,以往我們碰到的授權類釣魚在MetaMask會給我直觀的展示出攻擊者所要我們簽名的數據。如下所示,MetaMask展示出了此釣魚網站誘導用戶將NFT授權給惡意地址。
而當攻擊者使用eth_sign方法讓用戶簽名時,如下所示,MetaMask展示的只是一串bytes32的哈希。
總結
本文主要介紹eth_sign簽名方式的釣魚手法。雖然在簽名時MetaMask會有風險提示,但若結合釣魚話術干擾,沒有技術背景的普通用戶很難防范此類釣魚。建議用戶在遇到此類釣魚時提高警惕,?認準域名,仔細檢查簽名數據,必要時可以安裝安全插件,如:RevokeCash、ScamSniffer等,同時注意插件提醒。
Tags:DODETAETHAMASDODbaseMeta FPStogetherbnb更新了嗎metamask幣種logo
編譯:RR 信息來源自a16z?,略有修改,作者ShangdaXu,?AlexImmerman,?DavidGeorge當資本變得更加昂貴時.
1900/1/1 0:00:00原文標題:《盤點NFT交易的過去,現在和未來》 撰文:Vivian NFT聚合平臺如何促進行業發展?早在2016-2018年,以OpenSea,MakersPlace.
1900/1/1 0:00:00原文標題:《藍籌NFT項目大額融資之后都有怎樣的規劃?》近一個月的時間里,多個藍籌NFT項目獲得了數千萬美元甚至過億美元的融資,在市場上引起了諸多關注.
1900/1/1 0:00:00DeFi數據 1.DeFi代幣總市值:444.78億美元 DeFi總市值數據來源:coingecko2.過去24小時去中心化交易所的交易量49.
1900/1/1 0:00:00作者:Matti,下文由DeFi之道編譯當我們已經開始些許適應熊市節奏的時候,我注意到有些人已經按捺不住想快速跳轉到下一個市場階段了.
1900/1/1 0:00:00需求的變化與市場的變遷是怎樣發生的?其中機會在哪?原文標題:《從下一代數據中心的角度,談談為何Web3終將到來》撰文:阿法兔;ShawnChang.
1900/1/1 0:00:00