從 Web 1.0 轉變為 Web 2.0 的企業面臨一系列新的安全風險。任何使用者都能將內容發佈到網際網路,意味著不受信任和惡意的輸入可能會更容易入侵網站、洩漏資料並感染資料庫。
隨著企業開始探索 Web3 的新世界,他們將不得不面對另一批安全漏洞——其中一些他們可能從未遇到過。試用 Web3 的企業將需要新的方法來應對這些挑戰。
Web3 是針對分散且共同擁有的 Web 版本的願景。Web3 技術建立在分散式資料庫上,這些資料庫要求對任何變更或更新達成多數共識。
總結一下 Web3 與之前的 Web 技術有何不同:
Web 1.0 是可讀的:使用者可以在 Web 上獲取資料,但無法與之互動。
Web 2.0 是可讀寫的:使用者可向 Web 貢獻資料(例如透過上傳內容)。
Web3 可讀可寫可擁有:使用者不僅能夠貢獻資料;他們擁有自己的資料。
這個可讀可寫可擁有的概念因一些基本原則而成為可能:
在網際網路的大部分歷史中,Web 應用程式都由集中式提供者控制。這些提供者控制應用程式的邏輯和資料,並且可以依照需要編輯和清除資料。
在 Web3 中,Web 應用程式分佈在連接節點的點對點 (P2P) 網路中。沒有中央機構或控制者,資料始終對所有節點可見,並且在沒有網路共識的情況下,資料不能被清除或更改。
Web3 需要來自網路的多數共識來驗證新的交易或更新。區塊鏈使用工作量證明 (PoW) 和權益證明 (PoS) 驗證機制來達成共識。
Web3 依賴於加密技術(尤其是雜湊),來確保在未經支援網路達成協定的情況下,資料永遠不會被更改或移除。
例如,區塊鏈上的給定區塊無法自行變更,因為其雜湊記錄在後續區塊中。變更一個區塊也將變更後續區塊的值,這將使其之後的區塊上的雜湊無效,依此類推。換句話說,任何變更都需要變更絕大多數的其他區塊鏈。這種變更確實會發生,但它們需要支援網路的廣泛共識,且需要大量資源。
在許多方面,這使得 Web3 比 Web 2.0 更安全。參與的客戶肯定會收到他們要求的確切資料,並且所要求的資料不能被更改——或者用惡意的內容替換。客戶不必信任集中式提供者;隱式信任已內建於區塊鏈中。
企業正在使用幾種方法來探索 Web3 的可能性,涵蓋從分散式應用程式架構到更具彈性的檔案儲存方法。
區塊鍊是一種跨分散式網路在按時間順序排列的資料區塊中記錄交易的方法。寫入區塊鏈的資料無法變更。
加密貨幣是區塊鏈最廣為人知的應用程式之一,這是當今使用的分散式金融 (DeFi) 服務的關鍵組成部分。但是開發人員也可以編寫使用區塊鏈執行的分散式應用程式 (DApps)(包括不可替代權杖或 NFT)。
智慧型合約是 DApps 的邏輯。智慧型合約是設計用於執行特定功能的代碼——像任何其他可程式設計功能一樣,智慧型合約在被呼叫時執行。智慧型合約建立並儲存在區塊鏈網路上。
從開發的角度來看,DApps 為企業提供了優勢,讓其無需管理和維護支援應用程式所需的完整後端基礎結構。智慧型合約儲存在區塊鏈上並自主運作。部署 DApp 的組織通常也需要部署和維護使用者介面,使用中繼服務在後端對智慧型合約進行 API 查詢。
DApps 是可靠的,因為它們在龐大的點對點網路上執行,而集中式應用程式會在其支援基礎結構出現故障時關閉。
金融是 DApps 的一個主要使用案例,範例涵蓋加密貨幣、錢包和分散式交易所。此外,開發人員還建置了 DApp Web 瀏覽器、遊戲、社交網路和其他服務。
分散式金融 (DeFi) 是在不依賴銀行等集中式機構的情況下獲取金融服務的一系列方法。DeFi 使用者可以提供或接受貸款;購買、出售和交換加密貨幣;賺取利息;以及執行與金融服務部門相關的其他任務,所有這些都使用分散式平台進行。DeFi 主要建立在智慧型合約上(由 Ethereum 區塊鏈提供支援)。集中式交易所支援 DeFi(如 Coinbase),但 DeFi 通訊協定本質上是分散式的。
區塊鏈的分散式交易儲存使其成為 Web3 的核心建置組塊,但它並不是企業正在嘗試的唯一架構類型。Interplanetary File System (IPFS) 是用於實作 Web3 原則的另一個(非區塊鏈)通訊協定。IPFS 會將資料儲存在分散式檔案系統中。透過 IPFS 提供的內容位址無法變更——更新會產生新的唯一內容位址。IPFS 的分散式架構使其比更集中化的儲存方法更具彈性和可靠性。
企業可以依靠 IPFS 以值得信賴的方式向使用者提供內容。IPFS 還可讓使用者輕鬆地從自己的環境中發佈自己的內容。
雖然 Web3 的基本原則在某些方面比 Web 2.0 更安全,但與其他任何技術一樣,它也會帶來其獨有的安全風險。一些安全漏洞來自 Web3 和 Web 2.0 架構的互動方式;其他則是區塊鏈和 IPFS 等通訊協定的運作方式中所固有的。Web3 對網路共識的依賴使得修補這些缺陷和其他缺陷成為一個緩慢的過程。
一些主要的安全風險包括:
大多數人都知道不向未經驗證的請求者提供個人資訊。然而,Web3 應用程式通常依賴 API 呼叫和回應,而這些呼叫和回應不會驗證連線的端點。
理論上,Web3 是完全分散的,網路上任何連接的節點都可以直接與儲存的資料進行連接。實際上,Web3 應用程式前端仍然需要仰賴使用者端點可以輕鬆互動的 Web 2.0 技術。大多數 Web3 應用程式前端使用對 Web3 後端的 API 查詢來實現業務邏輯和資料儲存。
目前,許多 Web3 API 查詢都沒有加密簽名。這使它們容易受到中間人攻擊、資料攔截和其他攻擊——就像使用未加密、未簽名的 HTTP Web 2.0 應用程式會讓使用者容易遭受資料洩露和中間人攻擊一樣。換句話說,儘管有上面描述的「隱式信任」概念,但通常不能保證 Web3 應用程式資料來自正確的來源。
與任何程式碼一樣,智慧型合約可能包含重大安全漏洞,這些漏洞會導致使用者資料或(通常情況下)資金面臨風險。2019 年的一項研究發現,Ethereum 智慧型合約編碼不當,使價值 400 萬美元的 Ether 面臨風險。這個問題並沒有隨著時間的推移而改善;2021 年 12 月,有缺陷的智慧型合約讓攻擊者竊取了大約 3100 萬美元的數位貨幣。2022 年 5 月,有缺陷的演算法導致 TerraUSD 加密貨幣損失了約 500 億美元的價值。
區塊鏈上的資料可以由任何連接的節點儲存和存取,這與 Web 2.0 模型相反,在後者中,可以高度限制對資料庫的存取。根據儲存的資料,這帶來了多種安全性和隱私問題。即使它在待用狀態時是匿名的,但研究始終表明,沒有資料是真正匿名的。
媒體報道了大量有關加密貨幣或 NFT 錢包攻擊的故事。大多數情況下,這類攻擊的發生都源自攻擊者獲取了使用者的私密金鑰,或是透過網路釣魚欺騙使用者自己給出私密金鑰。實際上,如果這些私密金鑰本機儲存使用者的裝置上,它們很容易遭受實際盜竊。
到目前為止,由於加密貨幣通常是 dApp 和 Web3 的主要用途,因此大多數攻擊都針對數位貨幣。但是對 Web3 技術的其他應用程式的影響可能同樣繁重。
並非所有 Web3 都直接建立在區塊鏈上。就像網際網路由建立在彼此之上的層(根據 OSI 模型,分為 7 層)組成一樣,區塊鏈也有建立在其上的通訊協定。一個範例是對「橋接器」的廣泛依賴,這是實現從一個區塊鏈到另一個區塊鏈的傳輸的通訊協定。
這些通訊協定也可能受到攻擊。例如,盜賊在 2022 年 2 月利用 Wormhole 橋接器竊取了約 3.2 億美元的加密貨幣。
使用 Web3,在發現安全問題後很難對其進行修復。由於 Web3 建立在分散式網路共識之上,因此任何變更都必須得到整個網路的核准。
這也許是 Web3 最大的安全挑戰。構建完全安全的應用程式是不可能的,而且缺乏快速修復缺陷的能力會擴大安全漏洞可能產生的影響,因為即使在發現之後,它們也會更長時間地處於作用中。
除卻 Web3 後端外,Web3 前端仍會有許多與 Web 2.0 前端相同的弱點,包括使用者認證竊取和 cross-site scripting 等。程式碼導入、機器人、API 型攻擊和其他威脅媒介可能會使應用程式和使用者面臨風險。
廣泛使用 Transport Layer Security (TLS) 處理 HTTP 要求和回應,大幅度改善了 Web 2.0 的安全性。同樣地,對 Web3 DApps 的 API 查詢和回應強制執行加密和數位簽名對於保護應用程式資料至關重要。
目前,企業在應對 Web 2.0 安全弱點方面已有數十年的經驗。雖然這並不能降低這些弱點的嚴重性,但這確實意味著長期以來一直都可以使用方法來保護使用者帳戶,防止程式碼導入,阻止 cross-site scripting 以及其他攻擊。Web 應用程式防火牆 (WAF)、機器人管理和 API 安全措施可以封鎖應用程式前端的各種攻擊媒介。
這在 Web 2.0 中也很重要,但許多(甚至大多數)組織為了快速發佈和反覆而跳過或急於完成此步驟。畢竟,新發布的功能或產品中的任何安全漏洞都可以在下一個版本中修復。
但在 Web3 中,這並不是那麼簡單。分散式應用程式的更新和新增比 Web 1.0 和 Web 2.0 需要更長的時間,因為它們需要來自整個分散式網路的共識。是被安全漏洞的最佳時機是提前,而不是發生問題之後。在這種情況下,程式碼稽核的重要性加倍。
隨著企業探索並開始與 Web3 互動,他們必須繼續牢記安全性。安全漏洞可能會削弱企業或損害其聲譽。而且由於 Web3 應用程式仰賴 Web 2.0 樣式前端,因此企業必須同時防禦 Web 2.0 和 Web3 的安全性風險。
Cloudflare 可協助面臨各種情境的組織打擊安全漏洞,從內部部署網路保護,到移轉到雲端的組織,再到處於 Web3 等新模型前沿的組織。對於 Web3,Cloudflare 可以幫助保護前端和後端,同時還提供了可以輕鬆與 Web3 進行連接的閘道。
Cloudflare 管理和保護與 Web3 基礎結構的連接,以便企業可以專注於重要的事情:為其使用者構建尖端產品和所需的服務。
Cloudflare 就影響當今技術決策者的最新趨勢和主題發表了一系列文章,本文為其一。
閱讀本文後,您將能夠瞭解:
Web3 與以前的 Web 技術有何不同
企業如何將 Web3 套用至其產品和營運
Web3 常見的安全風險
如何緩解這些安全風險
要為 Web3 做好準備,請參閱 Ethereum Gateway 白皮書,瞭解其底層技術的運作方式。