視点:Web3の安全性の鍵は予防にあり、四つのソリューションが革新的な安全モデルを構築する。
著者:Wei Lien Dang、Unusual Venturesの一般パートナー、安全、インフラソフトウェア、開発ツール分野の投資をリード
出典:Techcrunch
編訳:Richard Lee、Chain Catcher
Web1.0とWeb2.0では、アプリケーションアーキテクチャの変化に伴い、セキュリティモデルも変化し、新しい経済を開く手助けをしてきました。
Web1.0では、セキュアソケットレイヤー(SSL)がNetscapeによって初めて提案され、ユーザーのブラウザとこれらのサーバー間で安全な通信を提供しました。信頼されたWeb 2.0の仲介者であるGoogle、Microsoft、Amazon、証明書発行機関は、SSLの後継であるトランスポートレイヤーセキュリティ(TLS)の実装を推進する上で中心的な役割を果たしました。
同様のことがWeb3でも起こります。これが、昨年新しいweb3セキュリティ企業への投資が10倍以上増加し、総額が10億ドルを超えた主な理由です。
Web3の成功は、異なるアプリケーションアーキテクチャがもたらす新たなセキュリティ課題を解決できる革新的なセキュリティモデルに依存しています。Web3では、分散型アプリケーション(Dapp)はWeb2.0に存在する従来のアプリケーションロジックやデータベース層に依存せず、ブロックチェーン、ネットワークノード、スマートコントラクトによってロジックと状態を管理します。
ユーザーは、これらのノードに接続されたフロントエンドにアクセスしてデータを更新できます。たとえば、新しいコンテンツを公開したり、購入を行ったりします。これらの活動には、ユーザーが取引に署名するために秘密鍵を使用する必要があり、秘密鍵は通常ウォレットによって管理されます。このモデルは、ユーザーの制御とプライバシーを保護することを目的としています。ブロックチェーン上の取引は完全に透明で、公開アクセス可能で、変更不可能です(つまり、変更できません)。
どのシステムにも言えることですが、この設計にはセキュリティのトレードオフがあります。ブロックチェーンはWeb 2.0のように参加者を信頼する必要はありませんが、セキュリティ問題を解決するための更新が難しくなります。ユーザーは自分のアイデンティティを制御できますが、攻撃や鍵の漏洩が発生した場合(たとえば、Web 2.0のプロバイダーが盗まれた資金を回復したり、パスワードをリセットしたりする方法)には、中間者が救済を提供することはありません。ウォレットは、イーサリアムアドレスなどの機密情報を漏洩する可能性があります——それは依然としてソフトウェアであり、ソフトウェアは決して完璧ではありません。
これらのトレードオフは当然重大なセキュリティ問題を引き起こしますが、それがweb3の発展の勢いを妨げるべきではありません。実際、それらはあまり可能性がありません。
Web 1とWeb 2の類似点を再考してみましょう。SSL/TLSの初期バージョンには重大な脆弱性がありました。初期のセキュリティツールはせいぜい初歩的なものであり、時間が経つにつれてより堅牢になりました。Web3のセキュリティ企業やCertik、Forta、Slita、Securifyなどのプロジェクトは、最初にWeb1.0およびWeb2.0アプリケーションのために開発されたコードスキャンおよびアプリケーションセキュリティテストツールに匹敵します。
しかし、Web2.0では、セキュリティモデルの大部分は応答に関するものでした。Web3では、トランザクションが一度実行されると変更できず、トランザクションが最初に発生すべきかどうかを検証するメカニズムを内蔵する必要があります。言い換えれば、セキュリティは非常に予防的でなければなりません。
これは、Web3コミュニティが、暗号プリミティブからスマートコントラクトの脆弱性に至るまでのすべての新しい攻撃ベクトルに対して、システム的な弱点を技術的に最も効果的に解決する方法を見つけなければならないことを意味します。同時に、少なくとも4つの計画が予防的なweb3セキュリティモデルを推進することができます:
1. 脆弱性の真実データソース(source-of-truth data)
既知のweb3の脆弱性や弱点に対して、真実のソースが必要です。現在、国家脆弱性データベース(National Vulnerability Database)は脆弱性管理プログラムにコアデータを提供しています。
Web3には、分散型の同等物が必要です。現在、不完全な情報がSWCレジストリ、Rekt、スマートコントラクト攻撃ベクトル、DeFi脅威マトリックスなどに散在しており、Immunefiが運営する脆弱性バウンティプログラムは新しい弱点を暴露することを目的としています。
2. セキュリティ意思決定基準
web3における重要なセキュリティ設計選択と個別のイベントの意思決定モデルは現在不明です。権力の分散は、これらの問題に対して誰も責任を持たないことを意味し、ユーザーにとっては大きな影響を及ぼす可能性があります。最近のLog4j脆弱性などの例は、セキュリティを分散型コミュニティに任せることの警告の物語です。
分散型自律組織(DAO)、セキュリティ専門家、AlchemyやInfuraなどのプロバイダー、その他の人々が緊急のセキュリティ問題をどのように協力して管理するかをより明確に理解する必要があります。大規模なオープンソースコミュニティがOpenSSFやCNCFの諮問グループをどのように構築し、セキュリティ問題を解決するプロセスをどのように確立しているかから、いくつかの適用可能な教訓を得ることができます。
3. 認証と署名
現在、ほとんどのDAPP、特に最も有名なDAPPは、そのAPI応答に対して認証や署名を行っていません。これは、ユーザーのウォレットがこれらのアプリケーションからデータを取得する際に、応答が期待されるアプリケーションからのものであるか、データが何らかの形で改ざんされているかを検証するギャップが存在することを意味します。
基本的なセキュリティのベストプラクティスを採用していないアプリケーションの世界では、ユーザーが自分のセキュリティ状況と信頼性を決定することはほぼ不可能な作業です。少なくとも、ユーザーにリスクを明示するためのより良い方法が必要です。
4. よりシンプルで、ユーザーが制御できる秘密鍵管理
暗号秘密鍵は、ユーザーがweb3のパラダイムで取引を行う能力の基盤を築いています。暗号秘密鍵が正しく管理するのが難しいことは周知の事実です。現在、秘密鍵管理を中心にビジネスが構築されています。
秘密鍵の管理の複雑さとリスクは、ユーザーが非管理型ウォレットではなく管理型ウォレットを選択する主な要因です。しかし、管理型ウォレットを使用すると、2つのトレードオフが生じます:それらは新しい「仲介者」、たとえばCoinbaseを生み出し、web3の完全な分散化の方向性を損ないます。また、ユーザーがweb3の事柄にアクセスする能力を制限します。理想的には、さらなるセキュリティの革新が、ユーザーにより良い使いやすさと非管理型シナリオに対する保護を提供するでしょう。
まとめ
注目すべきは、前の2つの計画が人とプロセスに関するものであるのに対し、3つ目と4つ目の計画は技術革新を必要とすることです。新しい技術、新興プロセス、大量のユーザーを調和させることが、web3のセキュリティを理解するのを難しくしている理由です。
同時に、最も励みになる変化の一つは、web3のセキュリティ革新が公に進行していることであり、私たちはこれが創造的な解決策をもたらす可能性を過小評価すべきではありません。