全面梳理區塊鏈詐騙攻擊案例及防範措施

發表於 2022-09-25 17:40 作者: Odaily星球日報

SeeDAO IR導言:據安全數據顯示,今年以來有記錄的因詐騙和安全漏洞帶來的加密領域損失已近30億美元。每一個區塊鏈行業的參與者都無異於身處“大西部”,無時不刻受到隱私、財產損失的風險。

雖然業內已經有部分對區塊鏈詐騙、安全漏洞進行分析的工作,但大多只是針對某些案例,或者對背後機制的討論不夠深入。因此,我們很高興爲大家帶來這篇由兩位網絡安全領域的專家所撰寫的萬字長文,爲大家全面且深入的分析當前幾乎所有安全隱患並提供應對策略。

0.前言  

自網絡誕生以來,攻防領域就一直是研究的熱點;區塊鏈誕生之後由於其巨大的財富效應與用戶對安全的認識不足,吸引了無數的黑客挖空心思進行攻擊。在近幾年Defi與NFT高速發展的環境下,利用區塊鏈網絡實施的釣魚詐騙攻擊更是越來越多,各類攻擊場景及攻擊方法層出不窮。

本文前半部分闡述了區塊鏈安全基礎知識,重點闡述了用戶在使用區塊鏈相關應用時應重點關注的安全要素。後半部分整理常見的利用區塊鏈欺騙用戶資產的攻擊案例,通過對黑客攻擊手法進行分析,引出針對特定攻擊手段的防護方案。

1.區塊鏈安全基礎  

區塊鏈安全基礎思維導圖

根據柯克霍夫原則,即使已掌握了密碼系統的運作步驟,但是在密鑰未被泄露的前提下,密碼系統仍然是安全的。在區塊鏈環境下,保護錢包私鑰,是保護鏈上數字資產的重要措施和前提。

1.1 私鑰及助記詞安全

區塊鏈錢包軟件所管理的私鑰通常是256bit長的隨機字符串,爲便於展示區塊鏈錢包工具會將256bit數據轉換爲32字節長的16進制編碼。“0x40e667191f4497cc3ab018ceb524a32c2f4875fbfb0103322767f46f5b319244”即爲區塊鏈錢包軟件生成的錢包私鑰。通過將私鑰導入區塊鏈錢包,用戶即可掌握錢包內對應的數字資產。利用橢圓曲线密碼框架,开發者可以利用私鑰數據便捷的計算出與之對應的公鑰信息,通過對公鑰進行keccak256運算[7]並取運算結果的最後20字節,即獲得區塊鏈錢包地址。使用以太坊ethers工具庫生成公私鑰,並根據公鑰信息計算錢包地址的代碼運行結果如下圖所示:

公私鑰生成錢包地址方法

考慮到哈希運算具有抗強碰撞和弱碰撞特性,因此在不掌握錢包私鑰的前提下攻擊者難以通過隨機碰撞的方式構造出兩個完全一致的區塊鏈錢包地址。爲便於用戶記憶及保存,在BIP39提升改進計劃中引入了使用助記詞表示區塊鏈錢包私鑰的方法。爲便於理解,讀者可以認爲一組由12、15、18、21或24個單詞組成的助記詞列表即對應一組區塊鏈錢包私鑰。在助記詞處於保密狀態時,用戶的錢包私鑰及數字資產是安全的。

在創建區塊鏈錢包時,助記詞及私鑰數據是異常敏感的,在進行敏感操作前用戶檢查周邊環境是否有可疑人物、高清攝像頭等可能產生窺屏事件的不安全因素。用戶通常需要使用紙筆或助記詞鋼板記錄錢包助記詞並妥善保存(如鎖入保險箱)。在使用區塊鏈網絡時,用戶應當做到不向任何人透露與助記詞及私鑰相關的任何信息,切實保障用戶數字資產的安全性。

1.2 智能合約安全

智能合約的出現使以太坊網絡相較比特幣網絡具備了更好的延展性,开發者可通過以太坊提供的SDK开發工具編寫智能合約代碼便捷的开發DAPP。在以太坊中,智能合約是一種部署後則代碼邏輯無法被篡改的計算機程序。待智能合約部署後,區塊鏈用戶即可以按照智能合約對應的代碼邏輯與合約進行交互。

用戶在與智能合約交互前,應檢查:1)智能合約代碼是否已通過區塊鏈瀏覽器完成了开源操作;2)對智能合約代碼關鍵邏輯(例如要調用的智能合約方法)進行審計,待確保代碼不存在惡意使用或轉移用戶數字資產的敏感行爲後,再調用智能合約方法。

調用經過合約开源認證或已通過知名智能合約審計公司安全性審計的智能合約方法,能夠在一定程度上保障用戶持有數字資產的安全性。

1.3 區塊鏈錢包安全

區塊鏈錢包軟件爲其用戶提供了私鑰管理,錢包账戶管理,遠程過程調用(RPC)節點管理、交易籤名、交易管理、與智能合約交互及硬件錢包連接等功能。區塊鏈錢包軟件存在的重要作用就是爲用戶提供了一個界面友好的私鑰容器、密鑰管理系統及交易籤名代理工具,確保用戶能夠在不具備管理私鑰及區塊鏈交易廣播工具能力的基礎上,能夠便捷的與區塊鏈網絡進行交互。

從錢包是否與互聯網存在直接連接進行分類,區塊鏈錢包劃分爲1)冷錢包;2)熱錢包。

從錢包運行平台進行分類,錢包可以劃分爲1)PC主機錢包;2)瀏覽器插件錢包;3)移動手機端錢包;4)硬件錢包;5)網頁錢包等。

優先選擇從官方渠道分發的區塊鏈錢包軟件。以瀏覽器插件錢包爲例,用戶可以從官方網站,瀏覽器應用商店,插件錢包官方Github倉庫等渠道下載並安裝瀏覽器插件錢包。在日常使用過程中,需要定期更新區塊鏈錢包、底層操作系統、瀏覽器並保持其版本總是處於最新狀態,以此來保護用戶持有的數字資產安全。

在使用區塊鏈錢包軟件時,用戶應設置強解鎖口令以避免遭受口令爆破攻擊。在離开電腦前,應主動鎖定屏幕和錢包,以避免遭遇因電腦錢包處於未鎖定狀態導致數字資產被濫用。Metamask錢包提供的自動鎖定定時功能如下所示。

5分鐘後錢包自動鎖定

用戶應當優先選擇官方渠道購买的硬件錢包。待收到錢包後,需要訪問硬件錢包官方網站對錢包完整性及固件版本進行驗證,以避免遭受供應鏈攻擊。針對硬件錢包實施的攻擊層出不窮:在使用硬件錢包籤名交易時,用戶需查看待籤名交易的完整內容,並對交易合法性進行認證,避免進行盲籤名,以避免遭受非法交易籤名攻擊進而丟失數字資產。

用戶在收到硬件錢包並創建區塊鏈账戶時,應當多次執行創建錢包生成助記詞功能。通過記錄硬件錢包生成的助記詞與之及對應取得區塊鏈錢包地址,比對不同創建錢包操作所生成的助記詞差異,確保硬件錢包生成私鑰所使用的隨機數種子足夠安全,創建錢包操作所生成的私鑰足夠隨機。

盲籤名 又名 Blind Signing 起源於一個問題:如果給我們提供了一份內容完全密封的合同,只留下籤名頁可見,你會愿意籤署這份合同嗎?我的答案是否認的:不會籤署這份合同,避免籤署對自己不利的合同內容。

在區塊鏈環境中,應用硬件錢包與智能合約進行交互與 Blind Signing 很像,因爲籤署智能合約交互交易時,用戶無法通過硬件錢包獲取智能合約的底層行爲邏輯。Ledger的屏幕是非常小的,無法向用戶與智能合約交互交易的全貌。用戶若 enable Blind Signing 時,就代表其已經接受盡管 Ledger 無法向用戶展示智能合約全貌的前提下,任然利用 Ledger 批准與智能合約進行交互的交易:此時,用戶已經同意信任其發送的交易,而不是選擇對交易合法性及行爲進行校驗。

更多關於 Blind Signing 的資料可參考如下鏈接:

1.4 可信RPC節點

以太坊中知名的RPC節點服務主要包括Infura、Alchemy、Moralis等,BSC鏈的RPC節點服務商主要由BSC鏈官方提供。

近年來受到關注的新公鏈解決方案如PolygonOptimismAvalancheFantom的RPC節點服務主要由Ankr提供,區塊鏈用戶在使用特定公鏈時,需要通過在錢包內添加RPC節點地址鏈接的方式與對應的區塊鏈RPC節點建立連接,以便通過RPC遠程調用的方式實現與區塊鏈的通信及交互。RPC節點的作用是重要的,如果沒有RPC節點,用戶個人將難以接入區塊鏈網絡。

下圖給出了 Conflux eSpace 區塊鏈網絡對外公开的 RPC 節點信息,通過錢包連接RPC節點,在用戶發起轉账和智能合約交互時,由RPC代理將交易打包發送至區塊鏈網絡,最終使交易以區塊形式進上鏈。

用戶應當選擇安全性經過驗證的RPC節點服務商,以保障其錢包數據來源的可靠性及與區塊鏈網絡交互的穩定性。惡意的RPC節點提供商可能會惡意顯示不正確的區塊鏈狀態並記錄用戶的鏈上活動數據,嚴重危害用戶數據安全。

1.5 DM及郵件安全

部分攻擊者會通過使用社交網絡私信或發送電子郵件等方式向目標用戶發起攻擊,通過精心設計釣魚場景的方式使受害者確信:只要按照攻擊者指示進行操作(訪問特定站點、與特定智能合約進行交互或將助記詞導入至區塊鏈錢包),即可獲得獎勵:當受害者選擇相信攻擊者時,其已進入了由攻擊者精心構造的釣魚詐騙陷阱。由於區塊鏈交易具有不可篡改和不可逆的特性:大量區塊鏈釣魚攻擊受害者在發現資產因爲自身疏忽而被轉移至攻擊者持有的區塊鏈账戶後,丟失的資產早已無法挽回。

下圖給出了一封以盜取區塊鏈數字資產爲目標的釣魚郵件:用戶需要在特定截止日期(DDL)前在平台處登記區塊鏈錢包,不然就凍結(威脅)账戶。在收到這類電子郵件時,不點擊郵件或私信中包含的任何超鏈接信息或按鈕,待與官方核實確認郵件內容合法性後,再對郵件進行處理。

釣魚郵件

設置防釣魚碼能夠在一定程度解決釣魚郵件的問題,下圖給出了premint平台提供的防釣魚碼功能:

1.6 开發環境安全

开發者在开發DAPP應用時所使用的環境即爲开發環境,保護开發環境安全,是保護應用开發者及DAPP應用使用者資產安全的重要前提。DAPP應用是基於區塊鏈網絡交互框架开發的(如ethers,web3.js等),爲了方便用戶使用DAPP,开發者通常需使用基於JavaScript腳本开發的前端框架react或vue構建DAPP應用前端,便於用戶直接利用前端UI直接與智能合約進行交互。前端开發框架有助於DAPP开發團隊便捷的开發支撐DAPP應用運行和使用的前端系統。

選取經過市場驗證的SDK能夠在一定程度上確保資產安全。

1.7 搜索引擎安全

完全相信搜索引擎結果,是釣魚攻擊成功實施的原因之一。

搜索引擎,是一種按照特定策略、運用特定計算機程序從互聯網上採集信息,在對信息進行整理和歸納後,對外向用戶所提供的一種檢索及結果展示系統,是幫助用戶查找特定資料及信息的有力支撐工具。

在區塊鏈環境中,用戶需訪問DAPP官方網站時,通常也會將搜索引擎的檢索結果作爲參考之一,這給了攻擊者可乘之機。攻擊者可以通過仿冒知名的DAPP平台界面UI,並對仿冒站點進行SEO優化,使仿冒站點出現在搜索引擎結果的第一位或靠前位置。出於對搜索引擎結果的信任,最終導致用戶持有的數字資產丟失。仿冒DAPP通過SOE優化進入搜索引擎結果靠前位置的案例。盡管 Google已將其標記爲Ad,但由於其結果出現在搜索結果第一位,仍然有部分用戶中招。

SOE優化使釣魚站點出現在搜索結果

被仿冒的DAPP應用爲x2y2這一 NFT交易平台,其官方鏈接爲x2y2.io,而仿冒站點鏈接爲x2y2market.com。黑客通常會選取與被仿冒DAPP相近或相關的域名以達到欺騙並盜取用戶數字資產的目的。

1.8 交易籤名安全

在开始這一內容前,我們需要明確一個概念,什么是交易?什么是籤名?什么時候會籤名,在區塊鏈中的交易有以下幾類。

  • 轉账交易:如將 1ETH 轉账至另一個錢包地址

  • 與智能合約交互的交易:如調用智能合約的SafeTransferFrom方法,將NFT轉移至另一個錢包地址,這相當於發起一筆寫智能合約的交易

所有交易在上鏈之前,都需要使用交易發起人對交易Hash進行籤名,在交易上鏈的過程中,通過對籤名結果認證的方式驗證交易合法性,合法的交易打包上鏈的這一刻交易行爲將生效:不管是轉账的ETH還是轉移的NFT都會進入目標地址中。

此外,還有另外一種籤名,比如登錄mirror時需要籤名來驗證用戶掌握連接mirror的區塊鏈账戶。

確保交易籤名安全的重點是:1)確保用戶在確認交易時所看到的待籤名內容是符合用戶預期的;2)確保用戶籤名的交易發送後,區塊鏈能夠按照用戶對交易的預期執行。用戶所見即所籤,所籤即所行。確保經用戶籤名的交易被發送後,執行結果是符合用戶預期的是保障籤名安全的重要指導方針。

在竊取用戶私鑰無果的前提下:部分黑客打起了盜用籤名數據的歪心思:通過誘導用戶對不安全的交易數據進行籤名:誘導用戶訪問釣魚頁面並在釣魚頁面中將存在盜取資產操作的交易利用keccak256生成待籤名數據推送至用戶,若用戶因疏忽進行了籤名操作,則黑客即獲取到能夠向區塊鏈節點證明交易合法性的籤名數據。此時,黑客只需要將籤名數據和構造的交易廣播至區塊鏈網絡,即可實現濫用受害者账戶數字資產的目的(通常爲盜取NFT)。

下圖給出了一個不安全的待籤名請求,發起該請求的站點爲釣魚站點https://thejewsnfts.xyz,在後文我們還將對其通過仿冒推特账戶實施攻擊的方法進行闡述。

不安全的待籤名數據

在站點向用戶發起籤名請求時,用戶需要對站點和待籤名數據的合法性進行認證,經確認無誤後再執行籤名操作,確保籤名操作執行的鏈上行爲符合用戶預期。在遇到待籤名消息爲純16進制不可讀數據時,用戶應堅持拒絕籤名。

下圖給出了一個相對安全的待籤名消息,用戶通過籤名該消息實現使用區塊鏈錢包账戶登錄進入Web3系統的目的:

登錄cryptonatty系統所使用的籤名數據 

1.9 區塊鏈瀏覽器

區塊鏈瀏覽器爲用戶提供一個界面友好的查詢區塊鏈鏈上數據的接口。以太坊區塊鏈瀏覽器Etherscan爲用戶提供了鏈上交易數據查詢,資產轉移信息查詢,智能合約代碼查詢,智能合約交互,區塊數據查詢,地址資產分析、運算服務費用估算、區塊鏈域名解析等功能,利用這些功能,

用戶可以快速的獲取账戶的余額信息;對智能合約代碼進行安全審計,實時查詢鏈上交易費用等。一筆以太坊交易主要包含以下信息:交易hash,交易狀態,交易區塊號,交易時間戳,交易提交账戶,交易接收账戶,交易發送金額(案例中爲0.1Eth),爲完成交易所支付的交易費用及交易的單位燃料費用成本等。在使用區塊鏈瀏覽器查詢交易數據及交易詳情時,應優先選擇由區塊鏈官方开發或推薦的區塊鏈瀏覽器,通過檢查目標合約的交易安全與否規避潛在的釣魚或基於合約的授權攻擊。

以太坊交易樣例

區塊鏈瀏覽器是幫助區塊鏈使用者驗證交易是否成功的一項重要工具:用戶A聲稱其通過區塊鏈網絡向用戶B轉账了1ETH,交易驗證者可要求用戶A分享交易Hash並使用區塊鏈瀏覽器搜索檢查交易信息中的交易接收账戶是否爲B,同時檢查交易發送金額字段是否爲1ETH來驗證交易執行情況。此外,交易驗證者還可以通過區塊鏈瀏覽器直接檢查用戶B錢包地址余額變動情況,以驗證B地址余額是否已增加1ETH。

區塊鏈瀏覽器還提供了智能合約开源展示的功能,便於用戶在與智能合約交互前對代碼安全性進行審查。用戶應當掌握檢查智能合約是否已處於开源驗證狀態的方法。用戶應當優先選擇與已完成智能合約代碼开源驗證的處理的智能合約進行交互。用戶應通過區塊鏈瀏覽器,對智能合約代碼安全性進行審計,在確保代碼不存在權限濫用或惡意使用用戶數字資產的行爲後,再與合約進行交互。已完成智能合約代碼开源驗證處理的智能合約在區塊鏈瀏覽器中的展示信息如下所示:

完成合約認證的智能合約代碼

2.區塊鏈詐騙攻擊案例總結 

在這一章節,我們將重點介紹黑客以盜取區塊鏈數字資產爲目標,通過構造釣魚場景的方式在不需要掌握用戶私鑰的前提下盜取數字資產,通過分析這類攻擊的特性,按照1-1對應的方式,給出防護方案。例如2.1.1中給出了DM類仿冒攻擊後馬上即介紹針對DM類釣魚攻擊的安全建議及防護方案。詐騙攻擊的產生原因也就呼之欲出:既然用戶在努力保護自己的私鑰,也知道私鑰很重要,那我就用一個更合理的辦法讓用戶親自把數字資產送給我。

區塊鏈詐騙攻擊思維導圖

2.1 仿冒類攻擊

2.1.1 DM類釣魚攻擊介紹

利用社交平台向用戶發起私聊實施釣魚攻擊,是一種相對簡單且易於實施的攻擊:通過精心構造的詐騙場景誘導用戶向特定區塊鏈地址轉账或訪問釣魚頁面。

用戶參與某抽獎活動並中獎,獎品是免費向用戶贈送的,但用戶需要向特定錢包轉账0.02ETH作爲gas費,對方再將中獎獎品轉發給中獎用戶。

下圖給出了攻擊者利用社交平台向用戶發起私聊並實施釣魚攻擊的案例截圖

釣魚場景搭建:中獎

DM類釣魚攻擊分析及安全建議

黑客希望通過利益衝昏被釣魚者的頭腦,在使用區塊鏈時,應當堅信沒有免費的午餐。

Ledger硬件錢包在其安全使用建議中專門指出:不要與在Discord、Twitter或任何其他社交平台上給你發送私人信息的人進行互動及交互,在Web3環境中,任何人都沒有理由直接通過社交聯系用戶,並向其發送信息。

在使用 Discord 及 Twitter時,可以選擇關閉DM選項或不查看推特的私信請求,眼不見爲淨。

2.1.2 账號仿冒類攻擊介紹

通過仿冒社交账號的方式實施釣魚攻擊:將社交账號名稱,頭像,介紹等信息設置爲與被仿冒社交账號相近的內容,並通過社交網絡釋放釣魚鏈接的方式實施釣魚攻擊。在區塊鏈環境中,知名的DAPP項目方通常會遭受社交账號仿冒類攻擊,嚴重威脅到用戶持有的數字資產安全。

下圖給出了一個正版社交账號:

正版账號

下圖給出了仿冒账號通過社交網絡釋放的釣魚站點鏈接

仿冒账號

账號仿冒類攻擊分析安全建議

通過比對分析能夠發現仿冒攻擊成功實施需要滿足以下要點:

  • 相似的域名:專門注冊“thejewsnfts.xyz”這一域名以便以假亂真,而正版域名爲“thejewsnft.com”,xyz後綴的域名在DAPP中較爲常見,以假亂真;

  • 相似的推特用戶名:爲了以假亂真,攻擊者還專門按照正版账戶的推特用戶名設置規則進行了仿冒,仿冒账戶爲@TheJewsETH,正版账戶爲@TheJewsNFT;

  • 相似的推特暱稱:仿冒账戶的暱稱與正版暱稱相比僅多了“FREE MINT ALIVE”,暗示用戶NFT鑄造活動正在進行中,利用用戶急切參與活動的心理誘導其訪問仿冒账戶通過社交網絡分發釣魚站點執行鑄造NFT操作;

  • 足夠逼真的釣魚站點:釣魚站點實際並沒有提供鑄造NFT的功能,而是通過釣魚誘導用戶將其账戶持有的高價值NFT使用權授權給攻擊者持有的區塊鏈錢包账戶。若用戶訪問釣魚站點並授權交易,則其授權資產將被攻擊者掌握;

  • 獲得授權後,攻擊者可直接調用NFT對應合約中的SafeTransferFrom方法,將資產轉移。

針對該攻擊,主要有以下安全建議:

  • 認准正確的社交账號,必要時通過社交平台搜索進行對比;

  • 通過可信的站點關注DAPP應用社交账號,例如通過premint活動關注的NFT項目方账號是相對安全的;

  • 訪問釣魚站點並不可怕,可怕的是隨意確認釣魚站點處發起的區塊鏈交易;

  • 記住正版推特账號的注冊時間等不易被仿冒的信息。

  • 查看账戶下的回復數及回復信息質量,部分仿冒账號爲了避免用戶在其下罵街會直接關閉回復功能,或設置只允許特定用戶回復。

2.1.3 域名仿冒類攻擊介紹

域名仿冒類攻擊實施通常需要滿足一定的先驗條件:

  • 攻擊者持有相似的域名

  • 攻擊者利用持有的域名部署了類似的DAPP服務;

  • 攻擊者部署的服務能夠以假亂真,使訪問者誤以爲其訪問的是官方網站;

  • 被仿冒站點在近期舉辦了需要使用區塊鏈錢包進行交互的活動等。

在2022年7月13日左右,由明星代言的Theirsverse NFT項目就遭遇了域名仿冒攻擊,攻擊者仿造正版域名“theirsverse.com”注冊了仿冒的域名“theirverse.com”,爲了使訪問到仿冒站點的用戶更加確信其訪問的是官方網站,攻擊者進行了如下工作使其站點看起來更加真實:

  • 復制了部署在“theirsverse.com”域名的前端界面並部署到仿冒域名DNS指向的Web服務器處;

  • 通過重構代碼的方式對前端邏輯進行了修改及調整,添加誘導用戶通過區塊鏈錢包進行approve代幣授權操作,並在獲得用戶授權後直接盜取用戶數字資產的邏輯。

經鏈上數據分析發現了一名遭遇仿冒域名釣魚攻擊的受害者:其損失的數字資產超過1.3w美金。這名受害者的遭遇爲很多區塊鏈用戶提供了重要的警示作用。Theirsverse項目發行的NFT在7月13日左右正在舉辦鑄造NFT的活動,用戶可以支付0.15ETH並mint一個Theirsverse NFT。

受害過程如下:

1)受害者爲了及時參與到搶購活動,在开車時嘗試使用手機錢包訪問項目官方網站;

2)由於受害者沒有記住項目方提供的官方網站域名,在輸入域名時錯將正版域名輸入爲仿冒域名,由於此時受害人正在开車,並沒有注意到域名的差異;

3)攻擊者專門在仿冒域名處部署一套完全克隆了官方網站的代碼,使受害人確信其訪問的站點爲項目官方站點;

4)仿冒網站與官方網站相差無異,此時受害者已進入攻擊者所布置的釣魚陷阱,在沒有連接區塊鏈錢包並進行交易授權時,此時其數字資產仍然是安全的;

5)受害者使用區塊鏈錢包連接仿冒網站,仿冒站點已具備查看受害者錢包地址信息的權限,用戶持有的數字資產及價值已被攻擊者獲取;

6)此時仿冒站點开始頻繁向用戶發起授權請求;

7)受害者誤以爲自己正在訪問Theirsverse官方網站,且與區塊鏈交互所需支付的gas費極低,誤以爲釣魚站點發出的交易請求是兌換Theirsverse NFT的交易,因此點擊了確認按鈕。

8)受害者點擊了3次交易確認按鈕,將錢包中持有的WETH及gOHM代幣以及某知名NFT的spend權限(至少可以轉移)授予至攻擊者控制的區塊鏈合約地址,此時攻擊者已具備轉账其WETH、gOHM這兩種ERC20代幣權限。

9)仿冒站點仍然持續彈出交易確認請求,此時受害者發覺異常,开始拒絕該網站發起的任何交易請求,才沒有造成更嚴重的損失。

10)在獲得轉账權限後攻擊者通過運行自動化腳本立刻將用戶持有的WETH、gOHM代幣轉移至其個人錢包地址,鏈上數據分析工具debank提供的受害者账戶資產被盜取的歷史記錄如下圖所示:

受害者被釣魚後授權了攻擊者地址具備spend其WETH及gOHM代幣的權限

域名仿冒類攻擊分析及安全建議

通過比對分析能夠發現域名仿冒攻擊成功實施需要滿足以下要點:

  • 受害者對站點的真實域名不夠熟悉;

  • 攻擊者持有的域名與真實域名極度相似;

  • 在仿冒域名DNS指向的服務器處部署了與真實域名相似的服務,使訪問者誤以爲訪問的是項目官方網站。

針對該攻擊,主要有以下安全建議:

  • 認准正確的域名,必要時可向其他用戶進行求證;

  • 使用linktr及link3這類域名聚合服務訪問項目官方站點;

  • 通過合約參與mint,但部分白名單項目需要提供hex proof,需要一定的前端調試基礎。


  • 安裝Revoke.cash插件,能夠幫助用戶檢測資產的授權行爲並發出告警。如下圖所示:

revoke.cash

  • 存在釣魚行爲的域名,通常會向用戶頻繁地彈出交易請求:比如你拒絕了第一個彈出的交易請求,他馬上會彈第二個,再拒絕再彈,會顯得特別嘈雜,所以不放心的時候可以多拒絕幾次站點發起的交易看站點行爲。一個不希望盜取用戶資產的頁面按道理是不會頻繁地給用戶自動彈出交易請求的。

通過申請相近的域名,克隆目標網站的代碼邏輯並修改其中與區塊鏈交互的邏輯,使攻擊者能夠從釣魚攻擊中獲利。

2.1.4 站點仿冒類攻擊介紹

通過仿冒站點通常會發起兩類釣魚交易:

  • 誘導用戶轉账特定數量ETH到攻擊者账戶;肉包子打狗有去無回

  • 誘導用戶授予攻擊者账戶使用其ERC20及ERC721等代幣的spend權限等。如誘導用戶調用SetApprovalForAll方法將持有的NFT授權至攻擊者账戶,獲得授權後立刻轉移資產。

下圖爲仿冒站點,與正版站點頁面樣式相差無二

仿冒站點完全復制了官方站點的界面

站點仿冒類攻擊分析及防護方案

通過比對分析能夠發現站點仿冒攻擊成功實施需要滿足以下要點:

  • 使訪問者誤以爲訪問的是項目官方網站。

  • 觀察訪問目標站點的時間,知名的項目方通常會配置負載均衡或CDN,加載速度較快;仿冒站點通常只會部署在單服務器節點,訪問速度得不到保障。

針對該攻擊,主要有以下安全建議:

  • 使用linktr及link3這類域名聚合服務訪問項目官方站點;

  • 安裝Revoke.cash插件,能夠幫助用戶檢測資產的授權行爲並發出告警

2.1.5 錢包仿冒類攻擊介紹

區塊鏈錢包是用戶接入及區塊鏈網絡的重要方式:如果攻擊者能夠誘導用戶下載並啓用仿冒錢包,並嘗試使用助記詞恢復自己已有的區塊鏈錢包,那么攻擊者就有機會在用戶不知情且無需發起區塊鏈鏈上交易的情況下通過網絡傳輸的方式自動竊取用戶輸入到仿冒錢包內的助記詞或私鑰,進而掌握用戶的數字資產。

大部分區塊鏈錢包都會進行代碼开源以供用戶審計,這也爲攻擊者進行應用仿冒提供了一定的基礎條件。通過下載开源代碼的方式可以快速地構建一套帶有盜用用戶助記詞邏輯的仿冒錢包:在不提供完整的錢包功能的情況下僅保留助記詞導入、將用戶輸入的助記詞外發至攻擊者所控制服務器的功能。仿冒錢包盜取助記詞進而盜取用戶數字資產攻擊的特點是:在資產被盜時,用戶無法准確的確定資產丟失原因。

錢包仿冒類攻擊分析及防護方案

與站點仿冒攻擊類似:仿冒錢包擁有正版錢包相似的界面,但存在外發助記詞或私鑰等惡意行爲。相似的界面是錢包仿冒類攻擊成功實施的重要原因。

針對該攻擊,主要有以下安全建議:

  • 從官方站點或Github官方release倉庫處下載錢包;

  • 選擇知名及經過市場驗證認可的錢包;

  • 在嘗試導入助記詞前,多與錢包內功能進行交互。部分仿冒錢包爲了省事,只會在復制UI的前提下僅編寫導入助記詞的邏輯及處理函數,其他的功能一律不寫,假設用戶點擊創建錢包按鈕,會提示錯誤或界面沒有任何反應,這時就要开始有所懷疑;

  • 每次安裝一個新錢包,都生成一套新的助記詞,不導入老錢包,會相對安全。

2.2 合約交互類攻擊

2.2.1 合約授權類攻擊介紹

在以太坊中,區塊鏈用戶可以持有符合ERC20、ERC721及ERC1155標准的代幣。

上述代幣既可以通過轉账操作由用戶主動轉移至其他账戶,也可以通過授權操作授予特定地址使用或轉移代幣的權限。相關ERC標准中引入的授權方法如下所示:

  • ERC20:approve方法(授權特定地址,具備使用特定數量代幣權限)

  • ERC721:approve方法(授權特定地址,具備使用特定tokenID的代幣權限,比如一個用戶持有100個inkepass,希望在opensea上賣其中編號爲1的inkepass,只需要調用inkepass合約的approve,將編號爲1的inkepass授權opensea的seaport合約,即可允許在opensea使用其編號爲1的inkepass。但是opensea現在默認要走setApprovalForAll方法,所以即使approve了特定編號的NFT也沒法賣)

  • ERC721:setApprovalForAll方法(將當前NFT使用權授予某個地址,比如一個用戶持有100個inkepass,希望在opensea上賣,只需要調用inkepass合約的setApprovalForAll,授權opensea的seaport合約,即可在opensea上掛售其所有的inkepass)

  • ERC1155:setApprovalForAll方法(將特定NFT使用權授予某個地址)

授權操作在ERC20,ERC721及ERC1155標准中是合法的,但是在標准設立時沒有考慮權限濫用問題:若用戶將其持有的代幣使用權限授予黑客所控制的區塊鏈地址,那么用戶所有資產將面臨被黑客濫用及盜取的風險。

合約授權類攻擊分析及安全建議

下圖爲受害者账戶授權gOHM代幣給攻擊者账戶的交易記錄:

授權操作

通過分析鏈上記錄分析,受害者0118.eth在攻擊者誘導下,調用gOHM Token智能合約中的approve方法,將gOHM代幣的使用權限授予至攻擊者控制的智能合約账戶:0xA31573be292BD03d36DB137B6C2AB6eAA3d5e572,授權其轉移的代幣數量是8.8058個(精度爲18位)。隨後攻擊者利用其控制的智能合約账戶,將受害者账戶中的資產全部轉移至0xc1a7575开頭的攻擊者账戶。

將受害者的gOHM代幣全部轉移

針對該攻擊,主要有以下安全建議:

  • 存在釣魚行爲的域名,通常會向用戶頻繁地彈出交易請求:比如你拒絕了第一個彈出的交易請求,他馬上會彈第二個,再拒絕再彈,會顯得特別嘈雜,所以不放心的時候可以多拒絕幾次站點發起的交易看站點行爲。一個不希望盜取用戶資產的頁面按道理是不會頻繁地給用戶自動彈出交易請求的。

  • 使用Rabby這類帶有授權檢查的錢包,在進行敏感操作時會對用戶進行顯著的提示。

  • SetApprovalForAll方法的函數選擇器值爲0xa22cb465,在看到與交易交互數據前幾位爲0xa22cb465,一定要謹慎確認目標合約安全性,交易發起站點的可信度等。

  • 安裝Revoke.cash插件,能夠幫助用戶檢測資產的授權行爲並發出告警,比如下圖的ERC20代幣授權操作即被檢查出

ERC20代幣授權告警

  • 授權NFT操作時仔細觀察一下Metamask彈出的交易詳情,下圖給出了用戶在希望賣出Boki NFT 的時候,需要授權opensea合約的操作,重點需要關注權限請求字段“http://opensea.io may access and spend this asset”,一定要確保這個https开頭的站點域名用戶是相信的,而如果在釣魚站點彈出的權限請求字段會是這樣“釣魚站點域名 may access and spend this asset”,如果發現其中域名你無法相信時,一定要拒絕交易。必要時還可點擊“您正在允許以下合同訪問您的資金”中的合約,去區塊鏈瀏覽器查詢下目標地址的行爲及操作,如果有惡意行爲(例如頻繁轉移用戶資產)就拒絕,如果是私人地址而不是合約地址一定要拒絕。

ERC721授權接口

  • 授權ERC20代幣時同樣需要觀察交易詳情,下圖給出了授權https://app.primex.finance使用用戶持有的WETH的交易請求,一定要確保這個https开頭的站點域名用戶是相信的,而如果在釣魚站點彈出的權限請求字段會是這樣“釣魚站點域名 可以訪問並使用此最大數額”,如果發現其中域名你無法相信時,一定要拒絕交易。必要時還可點擊“您正在允許以下合同訪問您的資金”中的合約(紅框圈出了),去區塊鏈瀏覽器查詢下目標地址的行爲及操作,如果有惡意行爲(例如頻繁轉移用戶資產)就拒絕,如果是私人地址而不是合約地址一定要拒絕。

授權合約使用用戶持有的ERC20代幣

2.2.2 釣魚站點發起的不安全合約籤名攻擊

這一節內容非常重要,攻擊者瞄准的目標是用戶已授權給Opensea合約Seaport的NFT,如下圖所示,已完成步驟1的這類NFT:

授權

用戶可以在Etherscan上查看其授權給Seaport合約的NFT,這類NFT都是攻擊者希望竊取的目標:

看到了嗎,就是下面這些NFT是攻擊者的目標,因爲這些NFT用戶已經授權Opensea使用了,隨時可以通過上圖Confirm listing操作,只要一個籤名就可以進行掛售及調低掛售金額:

已授權給OpenSea的NFT都是攻擊目標

釣魚站點發起的不安全籤名攻擊介紹

黑客還可以根據开源合約代碼構造合法籤名數據,並誘導用戶進行籤署,使攻擊者通過籤名獲利,這一攻擊造成的後果是嚴重的:攻擊者能夠以極低的價格購买受害者持有的NFT。這一攻擊的基本實施流程如下:

有的攻擊者會採用空投NFT的方式實施攻擊,也有的會直接分發釣魚站點,並在頁面布置一個吸引用戶點擊的按鈕(如mint按鈕),用戶點擊,籤名就會中招。

以下流程展示了攻擊者以Opensea爲目標平台,對用戶進行釣魚的方案:

  • 攻擊者向受害者地址空投小圖片 NFT

  • 攻擊者對空投的 NFT 發起一個高額出價(通常高於 1 WETH)

  • 用戶選擇接受攻擊者的出價,然而 Opensea 上授權失敗(原因是該 NFT 的合約只允許特定地址執行授權,例如 onlyOwner 修飾符)

  • 用戶前往“NFT項目官網”查詢原因(此“官網”往往會在 Opensea 上該 NFT 頁面上顯示),“官網”首先對連接的錢包地址搜索所有用戶授權允許 Opensea 使用(售賣)的 NFT

  • “官網”布置了各種坑,比如 Free mint 按鈕,比如 Stake 按鈕等等等等,都是爲了引導用戶籤名,該籤名數據是根據 Opensea 掛售 NFT 的籤名邏輯(已开源)構造的(接受並驗證用戶籤名的合約爲 Opensea 官方的 SeaPort 智能合約,然而籤名請求是通過釣魚站點向用戶發起的,待籤名數據由攻擊者構造並向用戶提供)

  • 一旦用戶執行籤名操作,前面搜索出來的其持有的 NFT 將以0 ETH 的價格在 Opensea 掛單售賣

  • 攻擊者布置的腳本會自動搶購用戶的以極低價格掛售的 NFT;

  • 此時用戶 NFT 資產已經沒了。

釣魚站點發起的不安全籤名攻擊分析及安全建議

SeaPort爲Opensea官方交易所使用的智能合約,但發起籤名請求的narotunft.com爲攻擊者釣魚站點:釣魚站點提供的待籤名數據對攻擊者有益,通過將籤名數據中的售賣價格設置爲1(單位不是1ETH而是1ether,相當於幾乎不花錢就可以买走用戶掛單的NFT),誘導用戶籤署(籤署後,對應的NFT將以低價掛售)最終獲利。用戶在實施籤名操作時沒有對待籤名數據來源(釣魚站點)及數據內容合法性進行認證是攻擊成功實施的重要原因。

不安全的掛單籤名

針對該攻擊,主要有以下安全建議:

  • 安裝revoke.cash,在釣魚站點發起不安全掛單請求時,會提示用戶注意。可以看到由於實驗账戶中的boki沒有授權給Opensea,所以不會出現在告警提醒中。

在站點向用戶發起籤名請求時,用戶需要對站點和待籤名數據的合法性進行認證,經確認無誤後再執行籤名操作,確保籤名操作執行的鏈上行爲符合用戶預期。在遇到待籤名消息爲純16進制不可讀數據時,用戶應堅持拒絕籤名。

2.3 遠控類攻擊

2.3.1 木馬程序攻擊案例

通過誘導用戶執行存在惡意行爲的可執行程序,遠程控制用戶電腦,若用戶電腦中存在數字資產,則直接轉移是黑客通過釣魚遠控實施攻擊的特點。

遠控類攻擊主要分爲兩種類型:1)惡意程序攻擊;2)遠控軟件口令破解類攻擊。

  • 在第一類攻擊中,攻擊者主要通過社交網絡分發惡意代碼並誘導用戶點擊達到控制用戶主機的目的。如果用戶電腦中有Metamask且未鎖定時,直接轉走資產;如果鎖定,可以通過鍵盤鉤子竊取用戶鍵入的解鎖口令,利用該口令破解私鑰。

  • 第二類攻擊主要利用了部分遠控軟件在引入安全特性時引入的脆弱點:破解會話口令即可控制受控主機。在區塊鏈場景下,部分用戶爲使用區塊鏈需要自行運行RPC節點,爲方便隨時掌握節點運行情況需要配置遠控工具以便實時查看受控主機狀態,更新配置文件。大部分用戶所設置的會話控制口令爲弱口令,遠控工具默認提供的會話口令也易於被攻擊者破解。當會話口令被破解,攻擊者將直接接管受控主機的控制權限,盜取區塊鏈數字資產。

前段時間BoxMrChen就遭遇了這類攻擊

釣魚可執行程序類攻擊分析及安全建議

運行不安全的exe程序,腳本,設置較弱的解鎖口令是上述攻擊實施的主要原因。

針對上述攻擊提供的安全建議如下


  • 善用沙箱及虛擬機,從任意用戶處接受的文件,不要直接打开,用沙箱觀察一下有沒有發起遠程連接(IP連接,如下圖):

遠控工具存在連接遠程主機185.106.92.91的行爲

  • metamask設置強解鎖口令,這個口令是參與加密錢包私鑰的,如果太弱的口令被黑客推測並破解後,用戶的私鑰也是不安全的。

  • 不要隨便拿Windows電腦運行exe文件,或解壓縮zip文件並立刻運行其中的可執行程序。

  • 重要資產存在硬件錢包內。

  • 優先使用Mac作爲主機。

  • 安裝殺軟及防火牆

2.3.2 0day攻擊

通常是尚未披露的應用類漏洞,攻擊者利用這類漏洞通常能夠實現遠程溢出,並執行任意命令實現控制用戶電腦。在控制用戶電腦後查詢本地安裝錢包的信息,並嘗試進行資產轉移。

0day攻擊分析及安全建議

  • 及時更新系統版本


  • 及時更新瀏覽器插件版本

  • 錢包設置強解鎖口令

2.4 私鑰掃描攻擊

部分开發者在开發代碼時,由於缺乏安全意識,直接將其持有的錢包私鑰以明文形式存儲至所开發的應用代碼中,攻擊者可直接利用Github等开源平台的API編寫自動掃描腳本,在匹配並獲取私鑰後快速檢測目標账戶中持有的數字資產並轉移。

針對該攻擊,主要有以下安全建議:


  • 善用.gitignore文件,並將私鑰配置信息放入.env文件內,避免被推送至Github,下圖給出了使用hardhat生成DAPP項目時默認的。gitignore文件

  • 爲項目开發專門注冊一個新錢包,比如我可以使用Metamask進行鏈上交互,开發錢包可以使用Rabby Wallet,使开發账戶與日常使用區塊鏈的账戶進行助記詞級別的隔離。把rabby Wallet內的錢包私鑰導入到Metamask也能很方便的進行开發,即使私鑰丟失,丟失的也是开發账戶的資產。

  • 不往开發账戶內充值任何主網資產,只存測試網資產。

2.5 供應鏈攻擊

區塊鏈中的供應鏈攻擊主要包括以下幾類:

  • 开發環境供應鏈攻擊,代碼投毒

  • 硬件錢包供應鏈攻擊:快遞替換,固件篡改

  • 軟件錢包供應鏈攻擊:加入惡意代碼竊取用戶助記詞,直接加後門等

2.5.1 开發環境供應鏈攻擊

隨着前端开發框架應用場景逐步擴張,越來越多的前端框架安全漏洞被披露,在2022年7月份,知名的NFT白名單領取平台premint就遭遇了黑客攻擊,黑客在premint平台的前端代碼中注入惡意JS腳本以實施釣魚攻擊:通過欺騙用戶籤署將NFT使用權授予攻擊者錢包地址的交易而實施。這一攻擊所造成的後果是嚴重的,爲補償用戶損失,premint共向受害者賠付了超過340ETH。

部分灰色產業利用开源代碼配合供應鏈的攻擊方法,利用包管理分發存在惡意行爲的區塊鏈开發框架,利用惡意框架黑客可直接盜取DAPP开發者的账戶私鑰,嚴重影響用戶和开發者的數字資產安全。下圖給出了被供應鏈共計污染的區塊鏈开發框架,黑客可直接提取开發者所使用的錢包助記詞並發送至黑客控制的亞馬遜雲服務器,對DAPP程序开發者和用戶持有的數字資產安全帶來嚴重的威脅。

竊取助記詞

开發環境供應鏈攻擊分析及安全建議

开發者在選用區塊鏈SDK开發套件時,需要對开發框架的合規性及安全性進行分析,避免使用被供應鏈攻擊污染的SDK开發套件。通過對开發框架所包含組件的數據完整性,軟件包內容分發網絡安全性進行查驗,能夠避免因供應鏈攻擊或前端框架漏洞導致存在惡意行爲的JS腳本注入到DAPP運行網站的實際業務邏輯中所引發代碼污染風險,切實有效的保障DAPP用戶持有的數字資產安全。

2.5.2 軟硬件錢包供應鏈攻擊

2022年8月4日,知名公鏈Solana發生大規模用戶丟幣事件,大量用戶聲稱其持有的SOL及SPL標准代幣被轉移至特定的四個Solana錢包,隨後Solana官方安全研究人員發現,盜幣事件與支持Solana的區塊鏈錢包Slope相關:Slope錢包違規使用了sentry監控服務,將用戶的任何行爲及操作數據都會被上傳至Slope官方的服務器並被記錄:在用戶創建Solana錢包時,錢包對應的助記詞及私鑰都以明文形式上傳至服務器。安全研究人員通過抓包檢測到Slope錢包存在明文傳輸用戶隱私信息行爲如下:

不管該錢包是新創建的,還是用戶導入的,其私鑰都會被發送至Slope錢包服務器處保存

軟硬件錢包供應鏈攻擊分析及安全建議

私鑰丟失了,資產就不受用戶控制了,只是缺少一個觸發的盜竊動作的時間點。在Slope錢包攻擊案例中:不管該錢包是新創建的,還是用戶導入的,其私鑰都會被發送至Slope錢包服務器處保存。

硬件錢包的供應鏈攻擊也是一樣的,半路被人調換一個一模一樣的錢包,但固件已被人篡改的可能性同樣存在。

針對上述安全攻擊給出的安全建議如下:

  • 選擇知名及經過市場驗證的錢包

  • 從官方渠道購买硬件錢包,避免李鬼李逵

  • 在使用硬件錢包創建地址時,多生成幾次助記詞,看看助記詞隨機性怎么樣,有一些攻擊就是通過擾亂硬件錢包的隨機數種子,使攻擊者易於生成一樣的私鑰並盜取用戶資產。

  • 選購帶有抗供應鏈攻擊的硬件錢包,如ledger和keystone

Ledger Live會對硬件錢包進行檢測

2.6 NFT釣魚攻擊案例分析

這應該是本文的最後一個案例,是日常遇到的一個很有意思的釣魚,攻擊者先通過推特分發了一個釣魚鏈接,進去之後就會彈窗要連錢包,隨後請求授權,簡單看了一下站點的源代碼。

釣魚站點後台配置邏輯

const address = "0x6261B75c1087198BE93F83D09DF404d8709843Db";    // Your wallet that you have to receive NFTsconst infuraId = "8c15147b9b1c4498b7b7a260e437058a"     // Infuria ID | https://infura.io/ | For Wallet Connectconst moralisApi = "xiJfIKNXA5OQAXBle0xgdc5OXnYvWUZBRly8lDMV0UzlSVDhQaKfnodZkRyOssqH"    // x-api-key | https://moralis.io/ | For NFTs
const collectionInfo = {    name: "NFTs GIVEAWAY",    title: "THE STICKMAN TOY", // Title prefix (ex "Buy your {name}") - You can use {name} to insert the collection name    date: "30.07.2022",    socialMedia: {        discord: "https://discord.gg/example",        twitter: "https://twitter.com/example",    },    medias: {        preview: "preview.gif",        favicon: "logo.png",    },    background: {        type: "image",              // Supported types: image, video, color        image: "background.jpg",    // Image for image type, video preview for video type        video: "background.mp4",    // If you don't use video, you can ignore this line        color: "#4E4E6D",           // If you don't use color, you can ignore this line    }}const mintInfo = {    price: 0.02,         // Price per NFT.    totalSupply: 999,   // Total supply of NFTs.    minUnits: 1,        // Min units to buy.    maxUnits: 10,        // Max units to buy.    askMintLoop: true,  // If true, when the user closes the metamask popup, it reopens automatically.}
const nftsInfo = {    active: true,   // Active (true) or not (false) NFTs stealer.    minValue: 0.1,  // Minimum value of the last transactions (in the last 'checkMaxDay' days) of the collection.    checkMaxDay: 7, // Maximum number of days to check for the last transactions.    receiveAddress: "" // leave empty if you want to use the same address }
/*     = = = = = END OF SETTINGS = = = = =*/
//#region Check Configurationif (mintInfo.minUnits > mintInfo.maxUnits) console.error(`Error: minUnits (${mintInfo.minUnits}) is greater than maxUnits (${maxUnits})`);if (mintInfo.minUnits if (!address.startsWith("0x") ||    (        address.length >= 64 ||        address.length

該站點有兩種盜取用戶數字資產的業務邏輯:

1)以0.02ETH的價格銷售NFT,但支付的0.02ETH會直接通過轉账打入黑客账戶;

2)檢測已連接錢包內持有的NFT資產,一旦該NFT在最近7天內的最低交易價格大於0.1ETH,即誘導用戶授權攻擊者账戶具備轉账對應NFT的權限,在授權後將NFT轉移至攻擊者账戶並變現。

3.結語  

編寫本文的緣由來自SeeDao投研工會的一次討論,舟舟當時提出了一個在2.2.2中介紹的釣魚攻擊怎么實施的問題及爲何會成功的原因:正巧我最近在總結整理相關的案例,在日常使用中也遇到了一些通過這類方式實施的釣魚攻擊,就結合自己的理解做了解答。大家後續討論了下,認爲很有必要整理一篇相關的攻擊手段及安全建議,供大家進行參考,這便是此篇文章產生的原因。在這裏也要特別感謝SeeDao及舟舟的提議。

利用區塊鏈網絡實施釣魚欺騙及詐騙類的攻擊越來越多,各類攻擊手段層出不窮。追本溯源,很多釣魚攻擊其實是通過簡單的攻擊進行組合後實施的,通過利用用戶着急參與活動、希望通過Web3賺取更多利潤等心理向用戶實施攻擊。

在這篇文章中所闡述的攻擊案例,基本上都是我及一些Web3的深度參與用戶日常遇到的,素材全部是自己截圖及使用的,希望大家能夠尊重原創。爲了這篇文章的出爐,我寫了兩天時間,但素材的積累和整理花費了超過2個月的時間,本來希望以另一種形式與大家見面(可能是論文),但是發現該類文章的實踐性偏強,時效性不適合在論文中發表。但未來我也會仍然持續的探索,用更加通用的方式發表相關的內容。此文中參考他人的內容,基本都已通過外鏈的方式放入,也特別感謝相關作者在構建更加安全的Web3使用環境所做出的努力。

作爲一名網絡安全專業的學生,我也深感榮幸和責任,掌握屠龍刀法應該讓我們更好的懲惡揚善,即使沒有懲惡的能力(至少我這菜雞沒有),但把已有的攻擊案例總結歸納,讓大家有一顆防範之心,應該能在一定程度上減少受害者的損失及受害幾率。就像Nice discord釣魚的那次,我也在群裏攔住了很多訪問目標站點的網友,我想一定程度上減少了他們的損失,這樣大家都很开心。安全的研究和防護往往需要從一件小事做起,才能支撐已經發展了多年還在持續發展的鏈上系統。

編寫這篇文章離不开身邊朋友的支持,謝謝豆子,w33d,yzbban,Heisenberg,SeeDao安全學習小組的群友們,Inkepass群友們,LookmeDao的群友們以及老白鏈遊群的群友們。

由於時間匆忙,加上自己研究還不夠透徹,有些內容並沒有完全展开或存在紕漏,還請各位批評指正。大家隨時可以在SeeDao投研工會聯系我,期待大家的意見和建議。

來源:星球日報

原文作者:r0ckgh0st.eth & cybercaf.eth

原文編譯:The SeeDAO

    標題:全面梳理區塊鏈詐騙攻擊案例及防範措施

    地址:https://www.coinsdeep.com/article/7140.html

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

    你可能還喜歡
    熱門資訊