NFT 可以被竄改? 世界第二大的 NFT 交易市場 Magic Eden 的圖片變成阿嬤裸照?

剛剛在社群網站看到一篇區塊鏈圈的網路媒體新聞,手上NFT變阿嬤裸照?Magic Eden澄清「肉色海」:圖片暫存遭攻擊 | 動區動趨-最具影響力的區塊鏈媒體 (比特幣, 加密貨幣),果不其然又看到網路酸民留言說什麼…去中心化怎麼還會被竄改?被攻擊?之類的,現在牛市當前,幣價下跌,NFT 交易量爆縮,聽到搞 NFT 的莫不令人退避三舍。
雖然我也不是靠搞區塊鏈吃飯的,但是這新聞一下就引起我的興趣…沒有細讀,但看完之後的印象:在國外有使用者發現 NFT 圖片都被異常換掉了,官方說是被攻擊,整起新聞讓人感到最神奇的就是…要怎麼攻擊 NFT?

大部分 NFT 的圖片其實都不在區塊鏈上

首先之前摸過 NFT 發行之後,從人云亦云稍微變得瞎子摸象,碰到實體也有了點基本概念,簡單來說就是開發設計智能合約程式,放到區塊鏈上的 EVM 上面跑,用無情的機器和礦工貢獻的算力來取代銀行/藝廊之類的中心化機構,讓人類透過更數位化的方式進行 NFT (非同質化代幣)交易的操作。

交易過程會讓區塊鏈上增加一些類似帳本的交易數據,就像現實世界的帳本,只會記錄何時收了山西布政的五千兩,但是山西布政的五千兩本體,當然不會直接跟帳本黏在一起。這個例子很爛,但智能合約更加複雜,有可能還沒交易前就知道會交易什麼,有可能交易後才知道會拿到什麼,總之大部分的 NFT 裡面最終「看得到的東西」也只是一組網址,一些 NFT 展示 APP 則是再把這網址裡的 JSON 資料解析後,再拿到圖片或影片的 metadata 網址,讓購買者知道這個 NFT 圖片/影片/音樂創作長得是圓是扁。

除了極少數特殊機制設計的 NFT,是真的把視覺設計內容存在鏈上,之前聽別人講過一些,但是因為區塊容量有限,這種 NFT 藝術品的線條都非常簡單,看了也沒有留下印象。

其餘絕大多數 NFT 裡面的網址,都是用之前 5分鐘架站:像數位發展部一樣搭配 Cloudflare 把網站放在星際檔案系統(IPFS)上 介紹過的,IPFS 星際網路系統的路徑。

所以是哪家 IPFS 的 public gateway 被駭嗎?

這個案例是本來好好的 NFT 作品圖片變成裸女圖,從新聞來看,很多人都可以輕易看到,不需要像一般的區塊鏈詐騙需要下載什麼東西,也完全沒有在釣魚詐騙網站連結加密錢包。
在全世界各地都有人看到,網站跟圖片當然都有 HTTPS,應該也可以先排除特定某小區域的 ISP 業者或是 WiFi 基地台遭受中間人攻擊,替換傳輸的資料內容的情況。

第一個反應是…所以哪家 IPFS 的 public gateway 被駭客入侵嗎?
IPFS 能稱為第三方暫存服務嗎?
還是那個 NFT 的圖片是放在一些亂七八糟的普通網頁圖床空間?

會不會改天換數發部還是哪個架在 IPFS 上的網站也變裸女圖?
調查之後發現,壓根沒有,這些機制本身安全得很,這個案例的圖也不是放在 IPFS。

首先根據新聞講的 NFT 作品系列名稱 SOLGods 以及 Vault-X,查到藝術品的連結
Magic Eden – Gods
Magic Eden – The Vault-X DAO

新聞中有提到 Magic Eden,我有眼不識泰山,以為是哪個創作者,結果一查發現人家是 Solana 公鏈的 NFT 市場龍頭,而且 Magic Eden 的交易量僅次全球最大的 OpenSea。
既然是提供各種展售與交易的市場,當然上面也可以看到 NFT 的資訊,頁面上就有合約和 token 地址之類的,所以隨便挑了幾個上 Solana 的 chain explorer 去查,
Explorer | Solana – SOLGods 479
Explorer | Solana – Vault-X #2400

NFT 裡面的 metadata 網址一看都是用 Arweave (似乎是 Solana 鏈的特色),例如:
https://arweave.net/UL5wugRsYu0v9678NVk7Hx0uZJPLEOpvgT8A9LzqeDE
https://arweave.net/4nI2SYyhLm75D7-Oof4xa8xdYtzUMNoEPmuodXxtil4

從這步開始就跟 Solana 區塊鏈一點關係都沒有了,metadata 裡的資料網址會再重新導向到另一個 Arweave 網址
https://kc7hboqenrro2l7xv36dkwj3d4os4zetzmiou34bh4apjphkpayq.arweave.net/UL5wugRsYu0v9678NVk7Hx0uZJPLEOpvgT8A9LzqeDE/
https://4jzdmsmmuexg56ipx6hkd7rrnpgf2yw42qynubb6nouhk7dnrjpa.arweave.net/4nI2SYyhLm75D7-Oof4xa8xdYtzUMNoEPmuodXxtil4/

在裡面可以找到作品的圖片網址,仍然還是在 Arweave 上面,所以常常笑說 NFT 玩家花大錢買 JPG 頭像,在這個作品是不成立的,因為人家是 PNG…
https://www.arweave.net/9KnAqNjeMMIZ5EyHvKTyqjjDkqIvfyqxDthsZgGTVAo?ext=png
https://www.arweave.net/U1svZf9LqWSJjzcJPPN78frNzYO7daZ_GmpEr2K7jbg?ext=png

格式不是重點,總之最終的藝術品圖片網址會再重導向到另一個 Arweave 的路徑去
https://6su4bkgy3yymegpejsd3zjhsvi4mhevcf57svmio3bwgmamtkqfa.arweave.net/9KnAqNjeMMIZ5EyHvKTyqjjDkqIvfyqxDthsZgGTVAo?ext=png
https://knns6zp7jouwjcmpg4etz4336h5m3tmdxn22m7y2njck6yv3rw4a.arweave.net/U1svZf9LqWSJjzcJPPN78frNzYO7daZ_GmpEr2K7jbg?ext=png

Arweave 也是 web3 領域相當有名的東西,因為跟 IPFS 不一樣,這個是「真的」區塊鏈儲存技術。那竄改攻擊之類的就更不可能發生了。

而且如果上述重新導向的步驟發生問題…
那新聞中所提的事件原因: 第三方暫存服務出現故障又是怎麼回事?

網站顯示問題甘區塊鏈屁事

第三方暫存服務出現故障的說法,是那個交易市場 Magic Eden 自己在推特 發的原文

Hey guys our image provider, a 3rd party service we use to cache images, was compromised. Your NFTs are safe and Magic Eden has not been hacked. Unfortunately you might’ve seen some um, unsavory images. Make sure you do a hard refresh on your browser to fix it.

仔細看了一下大家看到圖片異常顯示的地方…

那些民眾拍到的出包畫面是 Magic Eden 官網的 NFT 藝術品展示清單,
而不是買家自己的加密錢包裡面的圖變成別的圖,
也不是鏈上數據被竄改。
追到這邊,整起事件看起來跟區塊鏈技術沒什麼關係。

那 Magic Eden 官網的圖床是放在哪裡?

現在看是在 https://img-cdn.magiceden.dev 底下。
而出事前是用哪一家的? 不知道,從 Wayback Machine 也看不出來。

更新: 列表的圖有一個圖片代理伺服器,例如上圖展開來完整的是 URL 是 https://img-cdn.magiceden.dev/rs:fill:400:400:0:0/plain/https://bafybeidgh3h7hjc3gz4oe4pmpcj7mxp6wvzfimkmzoeiecj23jylik66nm.ipfs.nftstorage.link/SOLGods_images/%206599.png,紅字部分的網址會依藍字的參數裁切後暫存在 img-cdn.magiceden.dev 上面。目前測試有擋非圖片的東西。
從藍字部份的參數可以看出應該是 imgproxy 的服務。

後續 Magic Eden 也有發佈較為完整的事件報告 Magic Eden Response to Unverified NFTs Reports
大致就是上了兩個新功能,但沒多久就被人發現漏洞,讓未經驗證的 NFT 圖片可以顯示在作品列表頁面(collection page)上,節錄兩段內文:

The technical explanation is that our activity indexer for these two tools did not check that the creator address is verified.

We disabled the Snappy Marketplace and Pro Trade features around 5:00 am PT to eliminate the entry points where unverified NFTs could be shown on the collection page. After this fix, users were no longer able to see unverified NFTs in the collection pages for new sessions.

不只 NFT 市集,可能大家都有機會碰到

仔細想想,新聞也沒講說 NFT 可以竄改,只是說 NFT 變成 XX 圖,XXX 遭攻擊之類的,讓一些民眾自動腦補成 NFT 被攻擊,這種技巧在政治新聞媒體的標題也常看到,總之在心中埋下恐懼的種子,幻想說 Solana 區塊鏈可以竄改,NFT 可以竄改,今天花幾百萬買的圖片和賦能可能有一天突然變成搞笑圖。

NFT 圖片變垃圾,賦能變成空氣,根本不用靠駭客入侵,現實中已經發生很多例了…

運用 CDN,或網站的靜態檔案和其他部份分離,或是其他更高級的圖片顯示或處理機制,在稍微大型或高流量的網站還滿常見的,但多一層服務就多一隻鬼,隱藏未知的風險。
理論上今天這件事可能只要有網站的都有機會碰到,不只是幣圈的事。

但今天是有 CDN 或圖床輕易被人入侵嗎? 看起來也不像,
只知道有新功能讓網站受到影響,讓網頁顯示錯誤的圖片。

交易市場的網頁程式漏洞,可以無限上綱到區塊鏈機制的功能崩壞嗎?
大概就跟今天有個有個 XX 購物電商平台的圖片跑不出來,大家會說 XX 購物快倒了,不如去買淘寶?
今天有個電動車官網的圖片跑不出來,大家會說車子輔助駕駛要失效了,趕快把車子開到路邊停好或是賣掉?
這根本不相干的兩件事嘛!

Tags: #cdn#web3
留言:

近期熱門 Hot Posts