以太坊基金會的兆元級安全(Trillion Dollar Security,簡稱 1TS)計畫很榮幸地宣布,將向新聞自由基金會(Freedom of the Press Foundation,簡稱 FPF)提供資助,以支持 WEBCAT 的持續開發。WEBCAT 是一個開源工具,能讓瀏覽器驗證已註冊網站所提供的程式碼是否與其開發者發布的內容一致。這項資助也將協助把這種保護機制引入以太坊錢包與應用程式中。
彌補前端驗證的缺口
這項資助針對當今網路應用程式安全防護中的一個缺口。HTTPS 會驗證您連線的網站並對連線進行加密,但它無法證明該網站提供的程式碼與其開發者發布的內容一致。如果沒有獨立的完整性檢查,瀏覽器可能會在沒有警告的情況下執行被竄改過的前端程式碼。
對於以太坊使用者而言,風險在於應用程式的網站本身。當您造訪時,您的瀏覽器會載入並執行該網站的程式碼。被竄改的程式碼可能會替換接收者的地址,或者要求您簽署與頁面顯示內容不同的東西。您的錢包無法單憑連線狀態來判斷頁面是否遭到竄改。
兆元級安全計畫已將前端駭客攻擊視為一種基礎設施風險,並將可驗證的前端視為下一步的發展方向。受損的網頁介面可能會讓使用者暴露於供應鏈攻擊和使用者介面(UI)操縱的風險中,並可能擴大 DNS 劫持等事件的影響範圍。
關於 WEBCAT
WEBCAT 是基於網路的程式碼保證與透明度(web-based code assurance and transparency)的縮寫,它能讓瀏覽器驗證已註冊網站所提供的資源是否與已簽署的清單相符。如果驗證失敗,目前的 alpha 版 Firefox 擴充功能會阻止頁面載入並顯示警告。
開發者會簽署一份清單,描述每次發布所涵蓋的檔案與其他資產。一個分散式、可驗證的註冊系統會維護一份公開紀錄。對於每個參與的網站,該紀錄會保存註冊資訊的密碼學指紋,其中指定了該網站授權的簽署身分與驗證規則。擴充功能會定期下載並驗證該紀錄的快照,因此它可以在本機端驗證已註冊的網站,而無需在每次造訪時聯絡第三方。
FPF 開發 WEBCAT 的部分原因,是因為未來版本的 SecureDrop 將需要可驗證的瀏覽器程式碼。SecureDrop 是 FPF 的開源提交系統,用於記者與匿名消息來源之間的安全通訊。
目前,SecureDrop 會在新聞編輯室的伺服器上,於上傳時對提交的內容進行加密。伺服器在上傳過程中會處理未加密的內容,但會以加密形式儲存提交的資料。FPF 正在為未來版本的 SecureDrop 開發端到端加密協定。在預期的設計下,消息來源的瀏覽器會在發送前對訊息內容進行加密,因此伺服器將儲存密文,而不是在記憶體中保留明文直到伺服器進行加密。該協定仍在開發中,目前尚未涵蓋檔案附件。
由於加密程式碼仍然來自伺服器,受損的伺服器可能會發送被竄改的程式碼,在加密前擷取內容。WEBCAT 旨在偵測並阻擋這類竄改行為。FPF 也透過概念驗證整合,在其他基於瀏覽器的安全應用程式中測試了 WEBCAT。
當以太坊使用者與基於瀏覽器的應用程式前端互動時,同樣適用這種程式碼完整性風險,這也是為什麼一個為保護消息來源和記者而打造的工具,同樣適用於錢包與應用程式。
資助項目的資金用途
這項資助為 WEBCAT 驗證函式庫的開發提供資金,讓錢包可以進行整合。
包含該函式庫的錢包可以驗證已註冊的網站,因此使用者無需安裝額外的擴充功能即可獲得保護。這項資助也為支援 Chrome 與其他 Chromium 瀏覽器的研究、協助團隊將 WEBCAT 加入其應用程式、獨立的安全稽核,以及制定以太坊徵求意見稿(Ethereum Request for Comments,簡稱 ERC)標準提供資金,讓錢包開發者有標準可循。
該函式庫將與其他 1TS 的工作相輔相成,包括 Clear Signing。Clear Signing 協助使用者了解他們正在核准的內容,而 WEBCAT 的整合將協助錢包驗證已註冊應用程式的前端是否與其已簽署的清單相符。
錢包與應用程式團隊的下一步
將這種驗證機制引入錢包需要雙方的採用。錢包擴充功能必須整合該函式庫,而應用程式團隊必須註冊其網域,並在每次發布時提供已簽署的清單。如果您是錢包或應用程式團隊的一員,且對前端完整性感興趣,我們非常希望能收到您的來信,請聯絡:trilliondollarsecurity@ethereum.org。
請前往 trilliondollarsecurity.org 了解更多關於風險控制與優先工作的資訊。


