Unusual Capital參投了Ebay、Instagram、Dropbox等項目;Wei Lien Dang是Unusual Capital的合夥人,也是雲原生安全公司StackRox的聯合創始人(StackRox後來被Red Hat收購,他從投資和創業的角度,對Web3安全領域提出了一些思考,筆者給Wei的文章進行了一些註釋,供大家共同探討和思考。
一組數據
本文3000字左右,閱讀時間18-25分鐘
先來看一組數據:
根據Crunchbase的數據,2021年,在該加密安全(Security&Regtech)領域投資的風投資金已經超過10億美元。注意,這個數字在2020年,風險投資總額還不到1億美元。
圖片來源:Crunchbase
隨著加密市場的火熱,投資者已經開始關注安全性和合規性功能。
互聯網安全的演化
在Web 1.0和Web 2.0中,互聯網安全隨著應用架構的演化而改變,以協助全新的互聯網經濟模式的構建;在Web 1.0時代,安全套接字協議(SSL)是由網景公司(A16Z創始人的之前的創業公司,以研發瀏覽器而聞名)開創的,逐步為用戶瀏覽器和這些服務器之間提供安全通信。 Web2.0時代如穀歌、微軟、亞馬遜這些大廠,和證書機構,在推動傳輸層安全(TLS:Transport Layer Security)方面發揮了核心作用,從某個角度來看,TLS是SSL的演化。
什麼是SSL(Secure Socket Layer)?
1994年,Netscape公司開發了SSL,起初它被設想為一個系統:主要是為了確保網絡上客戶端(Client)和服務器(Server)系統之間的安全通信。漸漸地,IETF(國際互聯網工程任務組)採用了該協議並將其標準化。
啥是IETF?
互聯網工程任務組,成立於1985年底,是一個由為互聯網技術工程及發展做出貢獻的專家自發參與和管理的國際民間機構,也是全球互聯網的技術標準化組織,主要任務是負責互聯網相關技術規範的研發和製定,當前絕大多數國際互聯網技術標准出自IETF。
什麼是TSL?
TLS是安全傳輸層協議,繼承了SSL 3.0的特性,於1999年發布;
我們繼續講:從上面的數據看,2021年,對新的Web3安全公司的投資增加了10倍以上,一定程度上體現了安全對整個行業的必要性。
Web3的成功取決於創新的模式,特別是要解決不同應用架構所帶來的全新的安全挑戰。在Web3中,去中心化的應用程序或”dApps “的建立,並不依賴於Web 2.0中存在的傳統應用邏輯和數據層;在Web3時代,是由區塊鏈、網絡節點和智能合約的模式,管理去中心化互聯網的邏輯和狀態。
從用戶的角度來說,仍然需要通過訪問某個連接到這些節點的前端,從而進行交互,更新數據,一個場景就是:發布新內容或進行購買NFT等類似行為。這類用戶行為,都需要使用私鑰簽署交易,私鑰通常用錢包來管理,這種模式是為了保護用戶的控制權和隱私。區塊鏈上的交易是完全透明的,可以公開訪問,並且是不可改變的。
Web3通常不需要像Web 2.0那樣要求行為被授權、驗證,但帶來的問題就是,通過進行系統更新升級,來解決安全問題的傳統途徑就比較困難。 (舉個例子,下面是本兔放出來的勒索軟件標本,WannaCry, 當年很多人看到它就會哭…不過通過Windows自帶的更新,可以從一定程度防止這種情況)
我們繼續說:Web3用戶可以通過目前模式,保持對自己身份的控制和數據的所有權,但是同樣也存在一定的問題:例如,不存在中介機構,在發生攻擊或關鍵妥協時,為小白用戶提供追索權(例如,Web 2.0供應商會協助用戶恢復被盜資金或幫助你重置密碼)
就這種層面而言,Web3錢包仍然有機會洩露敏感信息;軟件就是軟件,總會存在一定的漏洞和缺陷。
所以,Web3的成功取決於如何在安全層面創新,從而解決不同應用架構所帶來的新的安全挑戰。
現狀
對於個人所有權和數據主權的追求,也會引起了各類安全問題(因為個體對安全知識理解和熟悉層次的差異),但這些安全問題,不應該成為阻礙Web3的發展勢頭。
我們回顧一下歷史:Web 1.0和Web 2.0的相似之處。最初版本的SSL/TLS存在嚴重的漏洞。早期的安全工具通常是初級的,隨著時間的推移會進一步優化。從某個角度來看,Web3安全公司和項目,如Certik、Forta、Slithe和Securify,相當於最初為Web 1.0和Web 2.0應用開發的代碼掃描和應用安全測試工具。
然而,在Web2.0中,安全模型的很重要的一部分是關於響應(response)。在Web3中,交易一旦執行就無法改變,因此,安全的思路通常是,需要建立機制來驗證交易是否應該具備安全的條件,繼而進行,也就是說,安全必須在預防方面做得更好。
Web3社區必須要思考,如何從技術上進行規劃,解決系統性的弱點,預防並組織新的攻擊載體,這些攻擊載體的目標,包括加密原生的問題( cryptographic primitives)和智能合約的漏洞等等。
以下有四個方向,可以推動Web3安全模式的預防。
四個方向
真實來源的漏洞數據(Source-of-truth data for vulnerabilities)
對於已知Web3(項目)漏洞和弱點,需要有一個真實的來源。今天,已經有官方漏洞數據庫為漏洞管理項目提供了核心數據。
Web3需要去中心化的數據對應工作,消除信息不對稱。目前,不完整的(漏洞、風險暴露等)信息,分散在像SWC Registry、Rekt、Smart Contract Attack Vectors和DeFi Threat Matrix,Immunefi運行的Bug賞金計劃就是為了更好地找到新的弱點。
規範的安全決策(Security decision-making norms)
Web3中,關鍵安全設計選擇,和事件的決策模型目前還在探索中。去中心化意味著沒有人能為這些問題負全部的責任,而這對用戶的影響可能是巨大的。比如說,最近的Log4j漏洞,就是將安全問題留給去中心化的社區的一個警醒。
Log4j漏洞是個什麼事情?
Java開源工具log4j2在去年12月,突然暴露了遠程代碼執行漏洞事件(惡意人士可以利用漏洞在受影響的系統上安裝惡意軟件)。 Log4j2是一個應用於Java的開源日誌組件工具,被很多包括谷歌、微軟、亞馬遜等等世界大廠、知名組織和企業廣泛用於業務系統。
Log4j2 由非營利組織Apache 軟件基金會的志願者維護。
因此,需要進一步明確DAO、安全專家、諸如Alchemy和Infura等Web3基礎設施提供商,和其他相關部門,到底如何合作,從而處理突發的安全問題。不過,可以參考大型開源社區組建OpenSSF和CNCF諮詢小組,建立處理安全問題流程的經驗。
認證和簽名(Authentication and signing)
目前市面上的多數dApps,很多都沒有認證或對API respones的簽名。這意味著,當用戶的錢包從這些DApp中檢索數據時,在驗證這種respones是否來自預期的(真的而不是偽造的)應用程序,以及數據是被篡改方面存在著風險。
在一個Dapp沒有採用基本安全常規的最優途徑的世界裡,只能由用戶自己,來確認它們的安全狀況和可信度,這非常的難,確實需要有更好的方法來向用戶提示風險。
更佳的密鑰管理體驗(Easier, user-controlled key management)
密鑰管理,是用戶在Web3範式中進行交易的基礎。密鑰也是出了名的難以管理,很多加密業務已經並將繼續圍繞著密鑰管理而進行。
管理私鑰的複雜性和風險,也是促使用戶選擇託管錢包而不是非託管錢包的主要原因之一。不過,使用託管錢包會導致新的現象:導致新的”中介化產物”產生,如Coinbase,這樣就會不利於Web3的完全去中心化的方向和理想;從一定程度也會限制了用戶利用Web3所提供的所有優勢的能力。理想情況下,進一步的安全創新將可以為用戶提供更好的可用性保護非託管場景用戶體驗。
值得注意的是,前兩項(真實來源的漏洞數據和規範的安全決策)舉措更多的是圍繞著人和流程,而第三和第四項舉措則需要新的技術變革。讓新技術、全新的流程和大量的用戶保持同步,是Web3安全的難點之一。
不過,有一點還是很鼓舞大家的:Web3安全創新是在公開、開源的環境下進行的,創造性的解決方案會在這樣的場景產生。