本文Hash (SHA1):418ea6548326a5f3b9496aa7912935fec8ca925c
編號: 鏈源科技 PandaLYSecurity Knowledge No.031
什麼是區塊鏈釣魚攻擊?
大家可能對“釣魚”這個詞不陌生,最早它指的是那些通過假冒網站或郵件,誘導人們點擊鏈接然後騙取個人信息的網絡詐騙手段。現在,隨着區塊鏈和加密貨幣的流行,這種“釣魚”也演變到了區塊鏈世界。
區塊鏈釣魚攻擊其實本質和傳統釣魚差不多,都是攻擊者假裝成你信任的對象,比如某個你常用的錢包網站、交易平臺,甚至是你參與過的項目方。他們會通過僞造的鏈接、假冒的社交媒體賬號,或者看似正規但實則有漏洞的智能合約,引誘你輸入私鑰、助記詞,或者簽署一個惡意交易。結果呢?你的加密資產就這麼不知不覺被轉走了。
舉個例子,想象一下你在某個社交平臺上看到一個“官方空投”活動,裏面有個鏈接,看起來像你熟悉的錢包網站。你點進去輸入助記詞,然後發現,裏面的錢全都沒了。這就是一個典型的區塊鏈釣魚攻擊場景。
釣魚攻擊特別狡猾,因爲它們專門瞄準那些對區塊鏈技術不是很熟悉、對防護措施不夠了解的用戶。很多人都是因爲一時疏忽,或貪圖小便宜,中了攻擊者的圈套。所以,我們必須對這些攻擊方式保持警惕,時刻防範。
那如何識別釣魚攻擊呢?這就得從他的原理講起了。
釣魚攻擊的工作原理
釣魚攻擊主要有四種方式,分別爲虛假空投、誘導簽名、後門工具和上供助記詞。
虛假空投:
攻擊者利用地址生成器生成和用戶錢包地址非常相似的地址(一般是前幾位或後幾位相同),然後往這些地址裏多次轉入小額的資金(如0.001 USDT),或是攻擊者自己部署的假USDT。這讓用戶誤以爲這些地址是之前的正常收款地址。在用戶進行新的轉賬時,可能會複製歷史交易記錄,誤將資金轉入攻擊者的地址,導致資產丟失。
誘導簽名:
攻擊者通過創建僞造的網頁,如知名項目的仿冒網站、虛假的空投鏈接或購物平臺,誘導用戶連接錢包並執行簽名操作,進而竊取資產。
常見的誘導簽名攻擊包括以下幾種:
直接轉賬
攻擊者將簽名操作僞裝成領取空投、錢包連接等功能,實際操作是把用戶的資產轉到攻擊者的地址。
授權代幣轉移
用戶在釣魚網站上籤署交易,如ERC20的approve調用或NFT的setApproveForAll,攻擊者得到授權後可以隨意轉移用戶的資產。
空白地址授權釣魚
空白地址授權釣魚是授權釣魚的升級版。用戶點擊釣魚鏈接進行授權時(通常也是approve或increaseAllowance),spender的地址是沒有任何鏈上記錄的空地址,如果受害者簽署授權,空地址就會被通過create2方法部署一個合約,將受害者的資金轉走。採用空白地址授權可以避免授權地址被檢測工具標記的情況,從而繞過一些錢包的安全檢查。
零元購NFT釣魚
欺騙用戶簽名 NFT 的銷售訂單,NFT 是由用戶持有的,一旦用戶簽名了此訂單,攻擊者就可以直接通過 OpenSea 購買用戶的 NFT,但是購買的價格由攻擊者決定,也就是說攻擊者不花費任何資金就能“買”走用戶的 NFT。
eth_sign空白支票(盲籤)
eth_sign也叫盲籤,使用eth_sign簽署任意哈希值,等於給攻擊者開了一張空白支票,因此攻擊者可以構造任意自定義的交易竊取用戶資產。
Permit 釣魚
permit是erc20協議的一個擴展功能,它允許用戶通過簽名消息完成授權操作,並將簽名結果發送給另外一個錢包,這可以完成資產轉移操作。通過誘導用戶簽署ERC20的permit授權,攻擊者可以獲得轉移用戶代幣的權限。
personal_sign簽名
personal_sign通常用於簽名可讀的內容,但也可以將簽名的內容處理成哈希值。
例如:0x62dc3e93b0f40fd8ee6bf3b9b1f15264040c3b1782a24a345b7cb93c9dafb7d8消息,是目標明文被keccak256哈希後的結果。被釣魚的用戶,看不懂簽名的內容,如果進行簽名的話,就會被釣魚攻擊。
惡意多重簽名:
多重簽名的本意爲爲了使得錢包更安全,允許多個用戶共同管理和控制同一個錢包的使用權限。
以TRON爲例,TRON多重簽名分爲了Owner(最高權限,可以管理權限和進行一切操作),Witness(參與投票管理)和Active(用於日常操作,如轉賬或調用合約),新建賬戶時,賬戶地址默認擁有Owner權限。
當攻擊者通過釣魚網頁/應用獲取到用戶私鑰後,攻擊者可以將Owner/Active轉移或授權給自己的地址,注意轉移爲移除用戶的Owner權限而授權則是不移除用戶的權限,但不論如何,用戶便失去了錢包資產轉出的權利。
由於用戶仍能轉入資金,攻擊者可能會“放長線釣大魚”,不會第一時間轉走受害者資產,直到受害者發現錢包被惡意多籤,不再轉入資金後,攻擊者再轉走資金。
後門工具:
僞裝成科學家工具
“科學家工具”通常是指區塊鏈生態中的一些高級用戶(即所謂的“科學家”)使用的交易輔助工具,比如用於快速批量鑄造NFT,批量發送代幣或是快速執行某些複雜的鏈上操作等。這類工具深受一級市場用戶歡迎,因爲它們可以極大提高操作效率。
然而,攻擊者會僞裝成這類工具的開發者,發佈看似合法的工具,實際上在工具內部植入了後門程序。這些後門程序可能在用戶使用工具時偷偷獲取私鑰或助記詞,又或是直接操控用戶錢包發送代幣至攻擊者指定錢包,攻擊者隨後就可以通過這些敏感信息控制用戶的錢包。
虛假的瀏覽器插件
許多用戶喜歡使用瀏覽器插件(如MetaMask,Token Pocket)來方便地進行區塊鏈交易。攻擊者可能會通過釣魚網站誘導用戶安裝假冒的插件。這些插件一旦安裝,會偷偷記錄用戶的交易行爲,竊取私鑰,進行多重簽名。
交易加速器或優化工具
這類工具通常聲稱能幫助用戶加速交易確認或優化鏈上操作,用戶往往需要輸入私鑰或簽名來使用這些功能。攻擊者通過誘導用戶在使用過程中輸入關鍵信息,將其偷偷記錄下來。
上供私鑰/助記詞:
攻擊者會創建一些僞造的交易網站或Telegram小程序(如僞造的Pepebot),要求用戶提供私鑰或助記詞來綁定錢包,誘騙用戶進行“土狗”交易或其他操作。實際上,攻擊者通過這些手段竊取用戶的私鑰,然後轉走錢包裏的所有資產。
典型案例分析
假空投騙局:
項目Wormhole發佈空投公告時,許多推特模仿官方賬戶發佈假空投鏈接。圖1項目方名稱爲@studioFMmilano·1h,圖2假冒項目方爲@studioFMmilano,而真正的項目方爲@wormhole。
誘導錢包簽名:
冒仿網站簽名:
以moonbirds-exclusive.com/釣魚網站爲例,該網站爲模仿www.proof.xyz/moonbirds的冒仿網站,當用戶連接錢包並點擊Claim後,會彈出一個簽名申請框。此時,Metamask會顯示一個紅色警告,但由於彈窗上並未明確顯示簽名內容,用戶很難判斷這是否是一個陷阱。一旦用戶進行了簽名,騙子就可以使用用戶的私鑰簽署任何交易,包括轉移資產。
Permit簽名:
某用戶在質押期間在釣魚網站進行了Permit簽名,用戶第一時間去檢查了也沒發現異常授權。釣魚卻在之後上鍊這筆 permit 離線授權簽名,給目標地址的目標資產開了個授權風險敞口,但目標用戶並沒法知曉,直到目標用戶提出相關再質押的 ETH 資產,釣魚立即轉走,因此該用戶丟失了 212 萬美金。
圖3.賬戶被permit離線授權簽名
惡意多重簽名:
惡意多重簽名的釣魚方法有很多,最常見的爲“攻擊者故意泄漏私鑰”或“虛假插件/錢包”
攻擊者故意泄漏私鑰:
攻擊者在社交媒體或通過其他途徑泄露私鑰,通過各類話術誘騙受害者往錢包內轉入加密資產,直到受害者發現資產無法轉出後,攻擊者再將錢包資產進行轉移。
虛假TokenPocket錢包:
受害者在搜索引擎上搜索“TP錢包”並非官方網站下載“TP錢包”。而實際下載的並非官方錢包,而爲攻擊者在互聯網投放的虛假錢包,用戶綁定助記詞後,受害者的錢包就會自動被多籤,從而無法將資產轉移。
後門工具:
受害者在推特發現了一個自稱專做WEB-3“擼毛”及各類腳本開發的博主,受害者下載並運行了該博主免費贈送的腳本,結果發現錢包被洗劫一空,失去了價值700USDT的代幣。
如何預防區塊鏈釣魚攻擊
覈實鏈接和網址
在訪問任何與加密貨幣相關的網站時,務必覈實鏈接和網址的真實性。釣魚攻擊者常常會創建與官方網站極爲相似的假冒網站,僅修改幾個字符,一但不小心就可能中招。因此,防範的第一步就是:
1.避免點擊陌生鏈接:收到的任何陌生郵件、社交媒體消息或不明來歷的鏈接都需要格外小心,尤其是那些聲稱來自“官方”渠道的推廣信息、空投活動或賬戶問題提示。
2.使用書籤保存常用的官方網站:訪問加密貨幣交易所或錢包服務時,建議直接使用瀏覽器中保存的書籤,而不是通過搜索引擎查詢,以防誤入釣魚網站。
多重身份驗證(2FA)
多重身份驗證(2FA)是增加賬戶安全的重要措施之一。在賬戶登錄時,除了密碼外,還需要額外的驗證步驟,通常是通過手機短信、身份驗證器應用程序生成的動態驗證碼,來確認身份。
1.開啓2FA:務必爲所有支持2FA的加密貨幣賬戶開啓這一功能,包括交易所賬戶、錢包應用等。即便攻擊者獲取了你的密碼,沒有2FA的驗證碼,他們仍然無法登錄賬戶。
2.使用身份驗證器應用:儘量選擇使用Google Authenticator、Authy等身份驗證器應用,而非短信驗證,因爲短信可能會遭遇SIM卡劫持攻擊。
3.定期更新2FA設備:確保你綁定的手機或驗證設備是最新的。如果手機丟失或更換,及時更新2FA設備,避免安全隱患。
安全意識培養
區塊鏈釣魚攻擊的手法不斷演變,因此必須持續學習和保持安全意識。
1.關注安全社區和新聞:定期關注區塊鏈和加密貨幣安全的相關新聞、博客和社區論壇,獲取最新的安全資訊和預警,避免掉入新的釣魚陷阱。
2.提高警惕:養成在任何敏感操作(如授權簽名、交易轉賬)前仔細檢查操作內容的習慣,不隨意在陌生網站或平臺上連接錢包或進行簽名操作。
錢包安全管理
錢包是加密貨幣的核心存儲工具,妥善管理錢包的安全對防止釣魚攻擊起至關重要的作用。
1.不要泄露助記詞或私鑰:助記詞和私鑰是控制錢包的關鍵,一旦泄露,攻擊者可以直接獲取錢包中的資產。因此,助記詞和私鑰必須妥善保管,絕不能透露給任何人,也不要存儲在聯網設備上。
2.使用冷錢包儲存大額資產:冷錢包是指未連接互聯網的錢包,通常是硬件錢包,安全性較高。對於長期持有的大額資產,建議存放在冷錢包中,以防止在線攻擊。
3.合理使用熱錢包:熱錢包是連接互聯網的錢包,便於日常交易,但安全性相對較低。建議將少量的日常交易資金放在熱錢包中,儘量將大部分資金存放在冷錢包裏,分散風險。
4.定期備份錢包數據:確保錢包助記詞、私鑰或恢復密碼等信息有可靠的備份。建議將備份信息存放在安全的、離線的地方,如加密的USB設備或實體紙張。
結語
在區塊鏈的世界中,用戶的每一步操作都可能直接影響資產安全。隨着技術的發展,釣魚攻擊手法也在不斷升級,因此我們必須時刻保持高度警惕,提升自我防護意識,避免掉入騙局。無論是覈實鏈接、使用安全設備、開啓多重身份驗證,還是妥善管理錢包,這些細小的舉措都能爲我們的資產構築起一道堅固的防線。
務必慎之又慎,莫操之過急!
鏈源科技是一家專注於區塊鏈安全的公司。我們的核心工作包括區塊鏈安全研究、鏈上數據分析,以及資產和合約漏洞救援,已成功爲個人和機構追回多起被盜數字資產。同時,我們致力於爲行業機構提供項目安全分析報告、鏈上溯源和技術諮詢/支撐服務。
感謝各位的閱讀,我們會持續專注和分享區塊鏈安全內容。