By: 山
“我不需要知道Jerry 是誰,在網絡上做生意,你相信的就是網絡上的小面板,剝掉面板,你就知道這玩意實際上有多脆弱,而事實上在那網站後面操作的真人,他們才是你需要信任的人。“
——《別相信任何人:虛擬貨幣懸案》
NFT 背景
2008 年11 月1 日,中本聰提出比特幣(Bitcoin)的概念,2009 年1 月3 日,比特幣正式誕生,而後隨著全球數字經濟加速發展,加密資產等概念爆熱,2012 年第一個類似NFT 的通證Colored Coin(彩色幣)誕生。彩色幣由小面額的比特幣組成,最小單位為一聰(比特幣的最小單位)。隨著技術的持續發展,時間一轉來到2021 年,NFT 迎來了爆發性增長,逐步成為市場最熱的投資風向標之一。
藝術家Beeple 的NFT 作品《Everydays:The First 5000 Days》在佳士得官網上以69,346,250 美元成交,虛擬遊戲平台Sandbox 上的一塊虛擬土地以430 萬美元售出……隨著水漲船高,層出不窮的高價項目持續刺激著人們的神經。然後在高價光環之下,NFT 也漸漸進入了犯罪分子的視野,從此開啟了針對NFT 的瘋狂釣魚、盜竊等行動。
NFT 現狀
引言這段話出自Netflix 的自製紀錄片《別相信任何人:虛擬貨幣懸案》,故事講述加拿大最大加密貨幣交易所QuadrigaCX 首席執行官格里·科滕離奇死亡後,他將2.5 億美元客戶資金密碼也帶進了墳墓。大量驚恐的投資者拒絕接受官方的說法,他們認為格里的“死亡”具有“金蟬脫殼”的所有特徵:他還活著,已經帶著投資者的錢跑路了!
其實QuadrigaCX 的故事只是Web3 世界的冰山一角,而我們今天要聊的NFT 世界裡,被盜幾乎每天都在上演,列舉幾個知名案例:
2021 年2 月21 日,OpenSea 用戶遭到personal_sign 類型網絡釣魚攻擊,有32 位用戶簽署了來自攻擊者的惡意交易,導致用戶部分NFT 被盜,包括BAYC、Azuki 等近百個NFT,按當時價格計算,黑客獲利420 萬美元;
2022 年4 月29 日,周杰倫持有價值320 萬元的無聊猿 NFT 被盜;
2022 年5 月25 日,推特用戶@0xLosingMoney 稱監測到ID 為@Dvincent_ 的用戶通過發布釣魚網站p2peers[.]io 盜走了29 枚Moonbirds 系列NFT,價值超70 萬美元;
2022 年6 月28 日,Web3 項目Metabergs 創作者Nickydooodles.eth 發推稱,黑客使用釣魚手段攻擊了他的錢包,損失了17 枚ETH(約合21,077 美元)和全部NFT 藏品,包括Goblintown NFT、Doodles NFT、Sandbox Land 等;
2022 年11 月1 日,KUMALEON 項目的Discord 遭黑客入侵,攻擊者通過發布釣魚鏈接的方式實施攻擊,導致社區用戶大約111 枚NFT 被盜,包括BAYC #5313 、ENS、ALIENFRENS 和Art Blocks 等;
2021 年12 月31 日,推特用戶Kramer 在推特稱其點擊了一個看起來像真的NFT DApp 鏈接,結果這是一次網絡釣魚攻擊,他的16 個NFT 被盜,包括8 個Bored Apes、7 個Mutant Apes 和1 個Clonex,價值190 萬美元;
2023 年1 月15 日,知名博主@NFT_GOD 因點擊谷歌上的釣魚廣告鏈接,導致所有賬戶(substack、twitter 等)、加密貨幣以及NFT 被盜;
2023 年1 月26 日,NFT 知名項目Moonbirds 創始人Kevin Rose 的錢包被盜,丟失約40 枚NFT,損失超過200 萬美元;
2023 年1 月28 日,NFT 知名項目Azuki 官方Twitter 賬號被黑,導致其粉絲連接到釣魚鏈接,超122 枚NFT 被盜,損失超過78 萬美元;
2023 年2 月8 日,一名受害者因一個存在已久的NFT 釣魚騙局,連接到釣魚地址,損失超過1,200,000 美元的USDC;
……
鑑於NFT 被盜的頻發和影響嚴重性,慢霧科技針對NFT 釣魚團伙發布兩次針對性追踪分析:
2022 年12 月24 日,慢霧科技首次全球披露《朝鮮APT 大規模NFT 釣魚分析》, APT 團伙針對加密生態的NFT 用戶進行大規模釣魚活動,相關地址已被MistTrack 標記為高風險釣魚地址,交易數也非常多,APT 團伙共收到1055 個NFT,售出後獲利近300 枚ETH。
2023 年2 月10 日,慢霧科技再次發布《數千萬美金大盜團伙Monkey Drainer 的神秘面紗》,據MistTrack 相關數據統計,Monkey Drainer 團伙通過釣魚的方式共計獲利約1297.2 萬美元,其中釣魚NFT 數量7,059 個,獲利4,695.91 ETH,約合761 萬美元,佔所獲資金比例58.66%;ERC20 Token 獲利約536.2 萬美元,佔所獲資金比例41.34%,其中主要獲利ERC20 Token 類型為USDC, USDT, LINK, ENS, stETH。
除此之外,據慢霧區塊鏈被黑事件檔案庫(Hacked.slowmist.io)和Elliptic 的數據統計,截止2023 年1 月,NFT 被盜的知名安全事件有幾百起,攻擊者偷走了價值近2 億美元的NFT。
據SlowMist 數據顯示,2022 年NFT 盜竊案主要集中在Ethererum 鏈,發生在社交媒體平台上,通過虛假域名、項目方相似域名、惡意木馬、Discord 入侵發布虛假鏈接釣魚等手法進行攻擊,詐騙者平均每次盜竊10 萬美元。似乎不論牛市還是熊市,只有黑客在“0 元購” 賺的盆滿缽滿。
那麼問題來了:不管是普通用戶還是項目方創始人都屢遭釣魚攻擊,面對如此惡劣的NFT 釣魚、欺詐環境,NFT 用戶是不是就毫無辦法?用戶就是待宰的羔羊嗎?
No!現在我們安全防禦一直推行人防+技防的手段,即人員安全意識防禦+技術手段防禦。人員安全意識防禦即個人安全意識,建議加密貨幣從業者可以學習下區塊鏈黑暗森林自救手冊:
https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook/
鑑於人是個複雜的高等動物,所以人員安全意識防禦我們今天不展開講,大家區塊鏈黑暗森林自救手冊好好讀一下。
而技術防御手段又是什麼?簡單講就是通過軟硬件、瀏覽器插件等安全方式來保證資產等安全,而在NFT 用戶群體,瀏覽器交互是90% 的NFT 用戶最常用的操作方式,也是最容易出現問題的環境,現在市場上已經有多款防釣魚瀏覽器插件,下面我們來盤點與對比下,希望能給NFT 用戶一些安全指引。
安全插件對比
免責提示:以下對比的幾款瀏覽器安全插件僅從基本信息層、NFT 實時釣魚檢測層、基本操作層進行對比,慢霧僅作為中立第三方,不承擔任何義務和法律責任。
下面我們來從幾個角度評比下幾款我們熟悉的防釣魚瀏覽器插件,看看他們各自都有哪些特點:
1、是否開源、安裝次數、支持鏈、主要功能描述:
2、NFT 釣魚網站、實時黑名單真實測試:
我們找最常見的朝鮮APT NFT 釣魚特徵和Monkey Drainer NFT 釣魚特徵,進行實時特徵掃描,找到團伙最新的釣魚網站,發現時差3 小時左右,來看下各個防釣魚插件的反饋情況:
最新惡意NFT 釣魚站點:https://blur.do (發現時間為北京時間2020-02-19 17:32:12)
下面為測試內容:
1 – PeckShieldAlert(Aegis)
結果:無任何提示,仍正常打開釣魚網站。
2 – Pocket Universe
結果:無任何提示,仍正常打開釣魚網站。
3 – Revoke.cash
結果:無任何提示,仍正常打開釣魚網站。
4 – Fire
結果:無任何提示,仍正常打開釣魚網站。
5 – Scam Sniffer
結果:提醒釣魚網站並阻止訪問釣魚網站。
6 – Wallet Guard
結果:無任何提示,仍正常打開釣魚網站。
7 – MetaDock
結果:無任何提示,仍正常打開釣魚網站。
8 – Metashield
結果:無任何提示,仍正常打開釣魚網站。
9 – Stelo
結果:無任何提示,仍正常打開釣魚網站。
為了測試NFT 站點釣魚的實時性、真實性,9 個安裝的插件展示如下:(Ps:Wallet Guard 已展示出我所安裝的插件。)
以上是以3 小時時差級別的真實NFT 釣魚網站結果。
3、基本操作層測試內容
1 – PeckShieldAlert(Aegis)
安裝後是讓用戶自己輸入一個Token Contract 來檢測,這種方式不符合目前NFT 用戶急於第一時間知道站點是否是釣魚網站的需求。它更像一個在線惡意合約掃描器插件。
personal_sign 測試:無提示。
2 – Pocket Universe
安裝後可以知道邏輯用戶觸發交易時開始檢測,所以在第一步用戶打開NFT 釣魚網站時,是不能第一時間提醒用戶的。我們來看下第二步:
personal_sign 測試:提醒用戶已經根據鏈上地址識別出風險地址,讓用戶不要簽名,還是不錯的,符合安全插件預期。
3 – Revoke.cash
第一步沒有標示出NFT 釣魚網站,在第二步用戶連接釣魚網站後,根據鏈上地址識別出風險地址,提醒用戶不要簽名。符合安全插件預期。
personal_sign 測試:
4 – Fire
第一步沒有標示出NFT 釣魚網站,在第二步用戶連接釣魚網站後,根據鏈上地址沒有識別出風險地址,也沒有提示簽名風險。但是Fire 可以把簽名預執行內容可讀性顯示出來,這點比較不錯。
personal_sign 測試:無提示。
5 – Scam Sniffer
安裝後用戶訪問NFT 釣魚網站時,直接提示風險並阻斷了訪問釣魚網站。符合安全插件預期。
personal_sign 測試:無提示。
6 – Wallet Guard
安裝後是在用戶觸發交易時開始檢測,所以在第一步用戶打開NFT 釣魚網站時,不能第一時間提醒用戶,我們來看下第二步:
personal_sign 測試:提醒用戶現在已經標記到這個釣魚網站(發現Wallet Guard 有使用Scam Sniffer 的惡意地址庫),提醒有風險,不要簽名,還是不錯的。符合安全插件預期。
7 – MetaDock
安裝後用戶連接釣魚網站,釣魚網站騙取用戶簽名時,插件依舊沒什麼提示,無任何風險提示。更像是需要用戶主動去提交掃描的方式,不符合安全插件預期。可能MetaDock 不是一個防釣魚插件?有興趣的小伙伴可以找項目方確認下。
personal_sign 測試:無提示。
8 – Metashield
安裝後與“MetaDock”、 “PeckShieldAlert” 類似,用戶連接釣魚網站,釣魚網站騙取用戶簽名時,插件依舊沒什麼提示,無任何風險提示。需要用戶主動去提交掃描的方式,不符合安全插件預期。
personal_sign 測試:無任何提示。
9 – Stelo
安裝後用戶連接釣魚網站,釣魚網站騙取用戶簽名時,插件依舊沒什麼提示,無任何風險提示。
personal_sign 測試:惡意信息提示為低風險。不符合安全插件預期。
至此,對比結束。
最終對比結果
下圖為最終對比結果:
在對比後,我們發現在第一步(用戶打開釣魚網站)的識別上多數安全插件都做得不夠好,只有Scam Sniffer 識別到了這個3 小時時差的最新NFT 釣魚網站,在第二步(用戶連接釣魚網站)開始eth_sign、personal_sign 簽名等危險操作時,Pocket Universe、Revoke.cash、Wallet Guard 均做出了安全風險識別等提醒。
但這只是目前的基礎對比項,未來可能會進一步細化。
測試的安全插件名稱及版本號如下圖:
在此感謝吳說區塊鏈的拋磚引玉;感謝以上優秀的插件項目方,雖然產品定位、對比結果各不相同,不少仍有改進的空間,但是他們的努力讓區塊鏈安全更進一步!
除此之外,推荐一個使用組合(不構成任何建議):
1、Rabby wallet + Scam Sniffer
2、Rabby wallet + Pocket Universe
3、MetaMask+ Pocket Universe
4、MetaMask+ Revoke.cash
寫在最後
縱觀區塊鏈行業的釣魚攻擊,對個人用戶來說,風險主要在“域名、簽名” 兩個核心點,其中90% 的NFT 釣魚都跟虛假域名有關。對用戶來說,在進行鏈上操作前,提前了解目標地址的風險情況是十分必要的,如果用戶在打開一個釣魚頁面時,相關的瀏覽器安全插件或錢包就能直接提示風險,這樣就可以把風險阻斷在第一步,直接阻斷了用戶後面的風險。就像Web2 世界中360 時代,直接解決了當時小白用戶被病毒攻擊的困擾,但它也並非解決了所有木馬病毒問題,因為病毒的查殺和病毒的免殺(一種專業的躲避殺毒軟件查殺技術,可以自行Google 了解)永遠存在時間差,如何做到時間差更小、樣本數更快、識別更精準就決定了殺毒軟件的厲害程度。
同樣,在區塊鏈、NFT 行業,如何能第一步識別、提醒到釣魚站點的實時情況,在用戶端快速反饋、識別出釣魚網站,就決定了一款防釣魚安全插件的能力;而如果相關產品因為時間差的問題沒有在第一步識別到這些釣魚域名,用戶丟幣的風險就大大增加;那麼接下來到第二步,用戶交互時授權鏈接、簽名步驟,如果瀏覽器安全插件或錢包有騙簽識別,能夠識別、友好的展示出用戶要簽名的詳細信息,如授權什麼幣種、授權多少、授權給誰等人類可讀數據,比如Rabby Wallet,在一定程度上也可以提示風險,一定程度上可以避免陷入資金損失的境地。
對錢包項目方來說,首先是需要進行全面的安全審計,重點提升用戶交互安全部分,加強所見即所簽機制,減少用戶被釣魚風險,如:
-
釣魚網站提醒:通過生態或者社區的力量匯聚各類釣魚網站,並在用戶與這些釣魚網站交互的時候對風險進行醒目地提醒和告警。
-
簽名的識別和提醒:識別並提醒eth_sign、personal_sign、signTypedData 這類簽名的請求,並重點提醒eth_sign 盲籤的風險。
-
所見即所簽:錢包中可以對合約調用進行詳盡解析機制,避免Approve 釣魚,讓用戶知道DApp 交易構造時的詳細內容。
-
預執行機制:通過交易預執行機制可以幫助用戶了解到交易廣播執行後的效果,有助於用戶對交易執行進行預判。
-
尾號相同的詐騙提醒:在展示地址的時候醒目的提醒用戶檢查完整的目標地址,避免尾號相同的詐騙問題。設置白名單地址機制,用戶可以將常用的地址加入到白名單中,避免類似尾號相同的攻擊。
-
AML 合規提醒:在轉賬的時候通過AML 機制提醒用戶轉賬的目標地址是否會觸發AML 的規則。