比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

從一個錢包被盜的案例,探討Web3的安全指南_APP

Author:

Time:1900/1/1 0:00:00

原文標題:《技術|從一個錢包被盜的案例,探討Web3的安全指南》

原文來源:阿法兔研究筆記

原文作者:Chris阿法兔

事件

2022年元旦假期的某個早上,小C準備寫代碼,繼續測試Web3js的鏈上合約交易。突然發現自己的測試賬號在MetaMask歸零了,明明前一晚賬戶內還有100usd,然后查完轉賬就發現:

錢都沒了,錢哪去了?

背景

技術出身的小C,最近在學習區塊鏈開發。本身是專業開發者,已經很謹慎小心了,通常都是在測試網絡上跑,跑完之后,再會去正式網絡上部署,但是沒有意識到整個產業目前還處在相對混亂的階段,麻痹大意,順手習慣導致造成了損失。

損失是如何造成的?

2021年的最后一天,小C偶然看到一個賬號很有趣,就追蹤了他的一些鏈上交易,然后看到了一個非常有意思的項目,然后就鬼使神差地連上了自己的MetaMask,然后鬼使神差的進行了approve,因為一般Web3的項目就是這個流程,approve然后轉賬就結束了。

但是令人驚呆的一幕出現了:點完之后,整個網站突然卡死了,沒有任何反應,小C當時沒當回事,把站點給關了,去做其他事情了。

L2網絡協議Milkomeda已完成主網C1最新橋接合約V5部署:5月20日消息,Layer 2網絡協議Milkomeda在社交媒體宣布已完成主網C1最新橋接合約V5的部署,據悉目前橋接驗證者已經開始更新自己的橋接軟件。

部署V5橋接合約是Milkomeda主網C1過渡到V2版本的關鍵步驟之一,V2版本將包括封裝智能合約、流動性質押、救助金庫聚合器、新版驗證者軟件等功能,還將推出多個dApp。

去年10月,Milkomeda完成310萬美元融資,Archetype領投,Algorand基金會、Circle Ventures和Coinbase Ventures等參投。[2023/5/20 15:15:11]

過了大概一天,小C重新回來開發的時候,發現賬上的錢全部沒有了,去查了歷史記錄,發現賬上的余額已經被全部轉走。

回顧過程

盜取者是怎么把小C賬戶上的錢都轉走的?

現象:只要你approve了,不需要私鑰理論上也可以把對應的錢全部轉走。

小C進行了下溯源,大概是在一個釣魚網站的approve出了問題,于是追溯該轉賬記錄。

Stratford Finance CEO:香港可能在年底前向至少8家加密貨幣公司發放牌照:金色財經報道,金融服務公司Stratford Finance首席執行官、香港證券及期貨事務監察委員會(SFC)前監管人員Angelina Kwan表示,作為香港新的加密貨幣牌照制度的一部分,香港可能會在今年年底前向至少8家加密貨幣相關公司發放虛擬資產交易牌照。Kwan表示,希望在香港成立的加密公司需要迅速采取行動,因為在新的許可制度于6月生效時,申請審查可能會積壓。

香港證監會上月發布的一份咨詢文件顯示,針對虛擬資產交易平臺的新牌照制度,香港證監會計劃要求交易所申請牌照,允許散戶投資者交易某些大型代幣。[2023/3/30 13:35:23]

如圖,可以看到,先是approve了一個合約,授權了釣魚合約能夠對賬號里面BUSD進行操作,而且是沒有數量限制的。

為什么會是BUSD呢?小C回憶了一下,一進入這個釣魚站點是默認選了BUSD,估計在瀏覽站點鏈接錢包之后,盜取者就已經篩選了出了賬號里面錢最多的token了。

然后當小C以為這是一個新的swap合約,并且有很高的年化收益,準備先試試的時候,按照常規流程就進行approve。approve結束后,網站直接卡了。

區塊鏈數據基礎設施nxyz完成4000萬美元A輪融資,Paradigm領投:10月12日消息,為區塊鏈提供數據基礎設施的Web3平臺nxyz宣布完成4000萬美元A輪融資,Paradigm領投,Coinbase Ventures、Greylock Partners、紅杉資本,以及Balaji Srinivasan、Jaynti (JD) Kanani、Jing Wang、Packy McCormick、Surojit Chatterjee、Ryan Selkis等天使投資人參投。

nxyz旨在通過提供快速、靈活和可靠的區塊鏈索引和數據基礎設施,使新一代的建設者、創意者和企業家能夠開發更好的互聯網,其平臺可以直接從區塊鏈及其相關應用程序中攝取實時數據,為開發人員提供了一個高性能的API套件,以幫助他們輕松使用區塊鏈數據。

nxyz的區塊鏈API由Google和Neeva背后的分布式系統工程師構建,可在不到200毫秒的時間內提供實時區塊鏈數據。nxyz擴展以支持高吞吐量的能力將直接有利于錢包和NFT項目等應用程序。(Businesswire)[2022/10/12 10:32:34]

后來經過追溯,大概在授權之后幾十秒,合約就直接觸發了一個轉賬操作,直接把BUSDtoken給轉走了。

山東省首發政務數字藏品“數仔”:金色財經報道,山東省大數據局7月21日宣布與“海豹數藏”聯合重磅推出首款政務數字藏品“數仔”并完成空投首秀。根據“十四五”數字強省規劃安排,從今年起,山東將每年舉辦數字強省宣傳月活動。[2022/7/21 2:28:17]

后來去查了一下授權的信息

基本上MetaMask默認授權的時候是:

轉換成數字,我們認識的就是1.157920892373162乘以10的59次方。基本上就可以理解為無限量轉賬了,也就是這個授權的操作,可以讓這個合約無限量的操縱我賬號的token。看到這里感覺背后一涼,因為以前點過很多次approve都是不會去看的。

然后黑客操縱一個可以控制這個合約方法的錢包地址,就發起合約轉賬方法,把錢轉走了。所以小伙伴之后點metamask授權的時候一定要小心。

小C查了下,盜取者現在這個賬號里大概已經有了3w美金的token了,現在還有源源不斷的受害者在轉錢。但是面對區塊鏈沒有辦法,根本無法找不到這個黑客是誰。

Evmos域名服務Evmos NS將于6月16日上線測試網并于6月28日上線主網:5月23日消息,Evmos域名服務Evmos Name Service宣布將于北京時間6月16日2:00上線測試網,并將于6月28日上線主網。[2022/5/23 3:35:45]

出現問題的環節

問題到底出在哪里?

因為最近在學習區塊鏈。小C大概理了一下這個釣魚的邏輯方式,害人之心不可有,防人之心不可無。大家有興趣可以了解一下:

正常轉賬

案例一:直接用戶間轉賬A用戶向B用戶轉賬BUSD

合約正常會檢查以下邏輯

1)判斷A用戶賬戶余額是否有足夠的錢;2)是否是A用戶發起的轉賬

流程如下圖

正常合約兌換

就是我們平時使用pancakeswap、uniswap等兌換時候的流程

案例二:通過swap進行token兌換A用戶進行token兌換流程合約進行判斷:

1)A用戶賬戶余額是否有足夠的BUSD,

2)swap合約取A賬戶下的500BUSD放入swap的合約池中

3)成功后合約再向A賬戶轉入1BNB

注意第2、3點,是由合約控制token進行操作。那么也就是說合約可以繞過我們直接發起對我們賬號下的token的操作。

釣魚合約

先看這張溯源圖

正常的轉賬,轉賬方和合約執行的轉賬方應該是同一個人,即上圖與應該是由同一個人發起的。而我被轉賬的這筆交易,這兩個不是同一個地址。推測應該是由一個可以執行釣魚合約的錢包地址控制執行了合約,然后將我授權給釣魚合約里的BUSD轉走了。

去查看釣魚合約,不出意料釣魚合約是一個加密的合約。不過想一下也不難,稍微學過Solidity的人都知道,在合約定義的時候,多設置幾個Admin或者Owner就可以了。

所以以后一定要注意項目方的背書,不要隨便給不知道的項目授權!!!

安全建議

因為這件事,小C搜了一些有用的建議和方法,也看到了很多血淋淋的教訓。

這里列出來一些方法大家可以根據自己的需要選擇。

1)不要共用密鑰

之前看有帖子說一個助記詞生成多個賬號的,這種我不建議哈,因為很可能被一鍋端。

2)密鑰離線保存

因為現在有很多剪貼板工具輸入法會將你的剪貼板記錄上傳到云端,如果你直接復制了,如果云端泄漏,你的密鑰就直接無了。

我的建議就是生成之后,第一時間抄到本子上。當然抄到本子上,你也可以參考我對密鑰自己的字典加密,比如a用1代替,b用2代替,1用a代替,這樣就可以保證即使有人看到了你的紙質密鑰,也不能動你的數字資產。

3)開發和測試分開

安裝2個瀏覽器,一個可以是chrome,一個是brave。一個管理你的主錢包。另外一個可以參與領取空投,各種鏈上操作等

4)不要下載來歷不明的軟件

不要去用baidu這些下載來歷不明的軟件,我看到有案例是下載盜版metamask,直接破產的。一定要去正規的地址下載,有條件的可以參考googleplay。chromewebstore等

5)立即檢查你的授權

檢查的網址有下面幾個,debank沒有開源,但是UI交互比較好,后續的有開源的,大家自己抉擇吧。

https://debank.com/

https://approved.zone/

https://tac.dappstar.io/

https://ethallowance.com/

看到圖上所示,基本上就是無限的。

每次喚起MetaMask的時候一定要多看看授權,不要像我現在這樣無腦點授權下一步。

6)進行授權前,對合約安全進行確認

https://www.slowmist.com/service-smart-contract-security-audit.html

可以使用慢霧的合約審計功能。

也可以看看該合約是否開源,如果開源的話需要確認該合約是否是可升級合約等等。

7)擼空投和福利的時候注意安全

用小號去領取,別用大號,授權的時候可以設置額度!!!

8)警惕社工的入侵,小心Discord私聊你的陌生人

比如Discord或者Telegram,有人跟你認識幾天,說要帶你賺錢拿空投,讓你安裝他發給你的軟件并登錄,這種99.99%你會血本無歸。賬號被盜。

特別地,Discord里面,進NFT的官方Discord,會有人私聊你,告訴你獲得了白名單,附帶一個mint鏈接。騙子會把頭像和名稱改成官方的樣子,其實是把他和你拉了一個組來實現的。

其實只要不貪,這種騙局還蠻好識破的,一般會告訴你在幾個小時內mint,數量1-10。很多大熱項目一個白名單mint一兩個不錯了,這一上來頂格10個還帶時間限制。

還有,會有騙子模仿項目官網做個假網站,私信給項目Server里的人,讓他們來mint.

還有小伙伴在opensea買了假NFT后來發現不是官方的然后過了幾天那個NFT就從賬戶消失了然而已經扣了...(怎么發現的?看鏈條還有官方discord發了官方Opensea網址)

還有假的collab.land騙錢包密碼,給大v空投然后號稱大v買了那個NFT/token.

新的一年到來,大家一定要注意安全呀,希望看到本文的朋友都能平平安安順順利利!

本文感謝作者Chris

Tags:APP區塊鏈PROKEN中幣app下載不了區塊鏈域名還有市場前景嗎PROPHETC Universal token

以太坊交易
Eaglebrook Advisors完成2000萬美元A輪融資,Castle Island Ventures和Brewer Lane Ventures領投_BRO

鏈捕手消息,加密財富管理公司EaglebrookAdvisors完成了2000萬美元A系列融資,CastleIslandVentures和BrewerLaneVentures領投.

1900/1/1 0:00:00
流動性協議 Primex Finance 完成570萬美元種子融資,Stratos Technologies和CoinFund領投_SAMA

鏈捕手消息,跨鏈大宗經紀流動性協議PrimexFinance宣布于近日完成570萬美元種子輪融資,本輪融資由StratosTechnologies和CoinFund領投.

1900/1/1 0:00:00
拆解 Web3 基礎設施公司 Alchemy:發展歷程與商業模式_HEM

作者:阿法兔,阿法兔研究筆記在Web1.0時代,IBM低估了個人PC的市場,微軟通過Windows的方式迅速切入了這個賽道。Web2.0,瀏覽器和移動OS大放光彩,蘋果和谷歌征服了市場.

1900/1/1 0:00:00
DeSyn Protocol完成二輪融資,獲得超五百萬美元融資金額_CAP

鏈捕手消息,DeSynProtocol(www.desyn.io)已完成二輪融資,由TPSCapital,OKXBlockdreamVentures,MEXC,MiranaVentures.

1900/1/1 0:00:00
Coinbase計劃今年招聘2000名員工;RSS3 公布路線圖 | 2·15日報_COI

整理:RichardLee、胡韜“今天真正重要的事有哪些”1、Coinbase計劃今年在產品、工程和設計部門擴招2000名員工Coinbase首席人事官LJBrock今日宣布.

1900/1/1 0:00:00
Cosmos IBC鏈間賬戶來了,一文帶你看懂這次重大升級的意義_MOS

來源:DeFi之道 來了,InterchainAccounts終于來了,它有能力為Cosmos鏈間交易帶來可組合性,從而將整個Cosmos生態提升到一個全新的水平.

1900/1/1 0:00:00
ads