每個月,MetaMask 安全總監 Luker 都會報告您需要了解的最新加密貨幣攻擊事件與新興風險。
本月,我們的團隊與 Wallet Guard 共同參與了一場關於加密安全現況的 Twitter Space 討論,Consensys 的 Harry Denley 分享了智能合約安全最佳實踐。Gal Weizman 與 Zbigniew Tenerowicz 深入解析了 LavaMoat 的「scuttling」機制與沙盒技術如何防禦 JavaScript 供應鏈攻擊,Herman Junge 則在 DeFi 安全峰會前預覽了全新的 DeFi 事件資料庫 Menpo。我們也整理了學習資源,涵蓋 DeFiHackLabs 到 OWASP API Security Top 10。完整內容如下,但首先……
本期 STEM 先驅人物:生物學家暨愛滋病研究者 Bruce Voeller
Bruce Voeller(1934–1994)是美國生物學家及同志權益倡議者,普遍被認為是「AIDS」一詞的創造者。他創立了 Mariposa 教育與研究基金會,致力於研究 HIV 傳播途徑及防護措施的有效性。Voeller 堅持以嚴謹、實證為基礎的研究來保護高風險族群,這與健全的安全工作所要求的標準如出一轍:先驗證假設,再依據數據採取行動。
我們的團隊與 Wallet Guard 共同參與了由 Taylor Monahan 主持的安全現況:MetaMask x Wallet Guard Twitter Space,深入探討加密安全議題。對話涵蓋威脅的演變、開源的重要性,以及 Atomic Wallet 事件等多項主題。這場對話讓聽眾得以坦誠地一窺兩個團隊在瞬息萬變的威脅環境中如何思考用戶保護。
MetaMask Security 的 Harry Denley 分享智能合約安全最佳實踐
在一期 Coffee With Calyptus 節目中,Consensys 安全專家 Harry Denley 分享了智能合約安全的最佳實踐,並重點介紹了兩個 MetaMask 專案:MetaMask Snaps——在安全環境中擴展 MetaMask 功能;以及 LavaMoat——在 JavaScript 生態系統中提供執行時期保護。Denley 強調在安全性與功能性之間取得平衡:由於智能合約具有不可更改性,安全性應優先考量,任何新增功能都需經過嚴格測試,並建議逐步增加新合約中鎖定的資產價值,以此作為保護用戶的方式之一。他推薦的實踐包括:安全設計原則、使用 OpenZeppelin 等受信任的函式庫、以安全為導向的開發者思維、全面測試、專業程式碼審查,以及持續學習新興風險。
Herman Junge 將在 2023 DeFi 安全峰會介紹 Menpo——一個 STIX 2.1 DeFi 事件資料庫
在 2023 年 7 月 15 日於巴黎舉行的 DeFi 安全峰會上,Herman Junge 將介紹 Menpo——一個採用 STIX 2.1 標準化 DeFi 事件分類的專案,峰會已正式宣布此消息。透過提供描述事件的共同詞彙,Menpo 促進跨組織的威脅情報共享,使安全資源得以更有效率地分配,並能在事件發生時即時共享事件報告。
Zbigniew Tenerowicz 關於 JavaScript 供應鏈防禦的演講
在一場 DevSecConf24 演講中,Zbigniew Tenerowicz(ZB)探討了一個棘手的問題:是否應該執行來自陌生人的程式碼。儘管存在固有風險,他承認這在科技界是普遍的做法。他深入探索 JavaScript 專案的領域,特別研究如何主動防禦供應鏈攻擊。這種主動防禦的討論建立在一個前提之上:假設已下載的相依套件本身已夾帶惡意相依項目。ZB 建議採取的方法包括:限制每個套件對全域變數的存取,以及控制套件存取網路或檔案系統的能力。
此外,他也針對消除原型污染(prototype pollution)這一 JavaScript 專案中常見漏洞的重要議題進行了說明。ZB 也將目光投向未來的 JavaScript 特性,特別是目前在 TC39 中討論中的提案。他示範了如何運用這些新興特性來保護當下的專案。為了提供更具實踐性的理解,ZB 進行了一場生動的現場示範,展示如何安全地執行真實惡意軟體,從而強調了所討論防禦措施的重要性與有效性。
Gal Weizman 解說 LavaMoat 的「scuttling」功能
Gal Weizman 以淺顯易懂的方式解釋了 LavaMoat 的「scuttling」機制。應用程式依賴大量第三方程式碼,其中任何一個都可能變成惡意程式。LavaMoat 使用 SES 對每個相依套件進行沙盒隔離,使其只能取得所需的資源。但如果某個套件逃脫沙盒並存取到全域 window 物件——那裡存放著強大的 API——就會造成問題。Scuttling 會從 window 中移除這些 API,讓逃脫的相依套件無路可走。應用程式照常運作;攻擊者則無功而返。
LavaMoat 更新:React Summit 演講、React Native 行動端進展、Snow 與 ScorchWrap
除了 DevSecConf24 的演講之外,同一主題的影片——由 Zbyszek 主講的 React Summit 2023 Git Nation 版本——也於 2023 年 7 月 5 日正式上線。在行動端方面,針對 React Native iOS 原生動畫程式碼的深入研究(延續先前的調查),追蹤到斷言巨集在父子節點上失敗,進而導致導航時 WebView 頁面載入失敗,最終發現根本原因是排除了 React Native 的全域 Promise polyfill,改用原生 JSC Promises——這是目前在已填充根視圖的情況下啟動鎖定版 MetaMask 行動應用所必要的做法。後續步驟包括修復剩餘的 Detox iOS 端對端煙霧測試,再透過 Appium 支援 Android。此外,Snow 收到了修復更多潛在繞過方式的更新,ScorchWrap webpack 插件的 webpack 專屬部分也趨於穩定,為開始整合 LavaMoat 功能鋪平了道路。
學習資源:DeFiHackLabs、NFT 攻擊向量與 OWASP API Top 10
儘管 NFT 日益普及,但相關清晰易懂的資訊仍然匱乏,使其成為詐騙者與駭客的常見目標。這份報告整理了多項學習資源。SunWeb3Sec/DeFiHackLabs 使用 Foundry 重現 DeFi 駭客事件——迄今已收錄 233 起——並附有事件根本原因分析,以及學習常見智能合約漏洞的配套資源庫。由 QuillAudits 維護的 Quillhash/NFT-Attack-Vectors 整理了常見的 NFT 漏洞利用手法。2023 年 OWASP API Security Top 10 則列出了今年開發者應防範的 API 風險。
MetaMask 2023 年 6 月加密安全報告涵蓋了首屆 MetaMask 與 Wallet Guard 安全現況 Twitter Space、Harry Denley 在 Coffee With Calyptus 分享的智能合約安全最佳實踐,以及 LavaMoat「scuttling」功能防禦 JavaScript 供應鏈攻擊的詳細說明。瀏覽 MetaMask 加密安全報告的往期內容,獲取更多威脅資訊、趨勢分析與生態系統安全防護建議。