作者:Go+Security?
7月17日16:00(UTC+8),premint.xyz遭遇黑客攻擊,部分用戶的NFT失竊。攻擊事件發生后,GoPlus安全分析師迅速對其進行了全面解析,并從普通投資者和開發者兩個角度給出了安全建議。
攻擊過程
攻擊者通過在premint.xyz網站中通過植入惡意的JS腳本進行攻擊,當用戶進行常規操作時,執行惡意代碼,欺騙用戶對授權操作setApprovalForAll(address,bool)的交易進行簽名。騙取到授權后,盜取用戶的NFT等資產。
攻擊原理
當用戶訪問https://www.premint.xyz/時,網站將加載如下js資源文件https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js。
Presidio Ventures對Web3 Pro公司進行戰略投資:金色財經報道,美洲住友公司(“SCOA”)集團旗下公司Presidio Ventures已經加入Web3 Pro, Inc.(“Web3 Pro”)的過渡輪融資。Web3 Pro將利用這輪融資繼續擴大其全球團隊,在NFT和Web3領域構建下一代企業級軟件套件并進入包括娛樂、音樂和體育在內的眾多垂直行業。(prnewswire)[2022/7/15 2:14:19]
此文件被黑客注入了一個script腳本,該腳本加載了另一個托管在屬于黑客的假域名中的攻擊腳本文件https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559。此腳本含有騙取用戶授權的交互。
當用戶進行常規的Verifyingyourwalletonwership簽名操作時,此腳本將被觸發,將原有的驗證簽名代替為一筆授權攻擊者可轉移用戶高價值NFT的交易。一旦次交易被簽,資產將會失竊。
Entrepreneur First完成1.58億美元C輪融資,將投資Web3等領域:6月29日消息,投資基金Entrepreneur First宣布完成1.58億美元C輪融資,多位科技界人士參投,包括Stripe聯合創始人John Collision、LinkedIn聯合創始人ReidHofman、Certific聯合創始人Taavet Hinrikus等。據悉,該基金成立于2011年,專注于金融科技、D2C、Web3和創作者工具等領域投資。(entrepreneur)[2022/6/29 1:40:07]
防不勝防
本次攻擊對于普通用戶來說,可能是最不好對付、最容易中招的。
攻擊的全部C端交互都在Premint的官方網站中,首先就很容易讓大家放松警惕,因為大家總是默認官方網站是沒有任何問題的。
前Coinbase法律執行官Lempres加入SilvergateCapital擔任董事長:加密貨幣交易所Coinbase的前首席法律執行官MichaelLempres已加入SilvergateCapita擔任董事長。在加入Silvergate之前,Lempres在風險投資公司AndreessenHorowitz擔任常駐執行官。(Coindesk)[2021/6/15 23:39:08]
騙取交易簽名的過程發生在正常操作的簽名驗證過程中,由于多數用戶不會去看錢包的簽名詳情,所以攻擊過程極為隱蔽。
漏洞在哪里
大家可能會奇怪,為什么Premint的官方網站還會出現攻擊代碼,這是因為托管的S3上的js資源文件被黑客侵入遭到篡改。
至于為什么會被入侵,根據現有的資料,我們懷疑是S3配置出現錯誤,導致了Bucket未授權訪問,使得攻擊者可以隨意列出、讀取或者寫入S3bucket,從而對js資源文件進行篡改。
Osprey Funds將啟動Polkadot信托基金:金色財經報道,Osprey Funds宣布將推出Polkadot信托投資基金。根據該公司的新聞稿,該基金將提供給合格投資者,最低投資額為25,000美元。該基金將“盡快”在OTCQX市場上市,Coinbase將擔任該基金的托管人。[2021/4/30 21:12:09]
整個過程中最為令人不解的是,黑客的攻擊行為在17日16:00(UTC+8)就被發現,但直到17日22:00(UTC+8)之前,Premint官方依然沒有對被攻擊的js文件進行歸正,boomerang.min.js文件中仍然包含被黑客注入的惡意script,頁面載入時仍然會去加載黑客的攻擊腳本文件,只是這段惡意script本身已經無法訪問了。這種狀態維持了6個小時,很難判斷如果此時該腳本復活,會不會引發更大的損失。
啟示
啟示1:作為普通投資者我們該怎么辦?如果官網都不可靠了,如何避免上當受騙?
本次攻擊對于很多不了解技術的用戶來說,基本可以說是“初見殺”,百分百中招,畢竟誰也不會無端懷疑官網有詐。但仔細想想,所有鏈上的交易都必須通過錢包的簽名,所以只要注意簽名內容還是可以識別出其中風險的。
很多區塊鏈用戶都有個非常不好的習慣,只要操作進入到錢包中,除了調gas的過程,其他步驟都是下意識操作。實際上簽名前的確認信息包含著大量關鍵內容,GoPlusSecurity建議大家進行任何簽名操作前都必須仔細確認。
以此次攻擊為例。當用戶對Premint進行簽名驗證時,由于只是進行信息驗證,沒有任何上鏈的必要,所以發起的SignatureRequest應只包含Origin信息,用戶的地址,Nounce信息,可能有一些附加返回信息。如下圖:
但對于被注入攻擊后遭到篡改的交易簽名,由于須要將交易上鏈,交易將會以合約調用的形式呈現出更多的信息。例如在一個使用setApprovalForAll的NFT授權中,會顯示出這筆交易是在哪進行的,調用了什么方法,授權對象是誰,消耗多少ETH。
回過頭來,我們根據網友貢獻的截圖可見,Permint被注入攻擊后,雖然操作提示的是驗證簽名,但是實際拉錢包簽名的交易完全是上鏈的setApprovalForAll,完全與上圖相符,稍加觀察就能知道此處是有問題的。
實際上,合約各類調用、轉ETH、轉Token等,在錢包中簽名信息都是不同的,所有投資者都應該了解其中的差異,以免遭到此類攻擊時產生損失。在此GoPlusSecurity非常建議大家再親自模擬一下操作過程,了解各種不同的簽名信息,一旦學會看簽名信息,你將基本上規避掉幾乎所有釣魚、注入、欺詐攻擊。
不要懶惰,想要保證自己的安全,學習是唯一的途徑。
啟示2:作為開發者我們該怎么辦?如何避免被注入攻擊?
此次攻擊對于開發者最大的啟示在于,web3.0世界既然無法脫離web2.0獨立存在,那就必然會承受和web2.0一樣的攻擊方式。僅僅在合約層面保障自己的安全是不夠的,所有傳統的安全準備一樣都不能落下,任何一個小的疏忽都可能造成重大損失。
另外,遇到此類問題后應馬上修復或者隔離,倘若存在僥幸心理,沒有第一時間處理風險源,被安全分析師扒皮嘲諷是小事;萬一攻擊手段還可用,損失可是會持續產生的,這可是大事。
作者:Yang,IOSGVentures“數”中自有黃金屋,鏈上數據潛藏著無盡的Alpha。當我們跟隨smartmoney聞風而動,當我們夜以繼日地在NFTParadise中尋找trending.
1900/1/1 0:00:00整理:胡韜,鏈捕手 1、《詳解StarkNet代幣經濟模型:發行理念、分配機制與使用場景》以太坊Layer2擴容解決方案StarkWare連續發布三篇博客公布StarkNet代幣經濟模型.
1900/1/1 0:00:00整理:AChai,鏈捕手“過去24小時都發生了哪些重要事件”?1、SBF:最糟糕的加密危機已經過去FTX首席執行官SamBankman-Fried認為,流動性緊縮的最嚴重時期已經過去.
1900/1/1 0:00:00鏈捕手消息,據Decrypt報道,Snapshot今日宣布推出屏蔽式投票功能,允許DAO成員對提案進行私下投票.
1900/1/1 0:00:00鏈捕手消息,據Decrypt消息,Scott+Scott律師事務所目前正在組織針對YugaLabs的集體訴訟.
1900/1/1 0:00:00鏈捕手消息,人民銀行貨幣政策司司長鄒瀾在新聞發布會上表示,今年上半年,人民銀行繼續會同各參研機構,扎實穩妥推進數字人民幣試點測試.
1900/1/1 0:00:00