2023/02/17

Web3領域でのセキュリティは、初心者にとっては理解し難いといえる。Web3は、その基盤となる分散型技術のおかげで、もとより従来のWeb2よりも安全性が高くなる仕組みになっている。しかしその一方で、Web3領域においては攻撃による重大な損失や詐欺プロジェクトがそのコミュニティの足をすくうようなケース、または単純なミスが取り返しのつかない損失に繋がるケースを耳にすることも多い。

実際、どちらも正しい。Web3を支える技術やアーキテクチャが、消費者自身の資産や個人情報におけるセキュリティをより強固なものするのは事実だ。しかし、関連技術が発達するペースが速く、そしてベストプラクティスに関する消費者教育が不足しているため、ハッカーや悪意のある者がWeb3という新しく成長する産業の脆弱な部分に付け入ることが出来てしまうのだ。

現在、インターネットを利用するほとんどの人は「PASSWORD」などといった推定しやすいパスワードは設定しない方が良いことを知っている。また、謎多き海外の王子から多額の遺産を約束する内容が記載されたメールが届いたら間違いなく詐欺であること、そしてブラウザーに「クリックして1,000万円を獲得」などといったポップアップが表示されたら万が一にもクリックしてはならないことも理解しているだろう。

Web3領域でのセキュリティにも、Web2と似たような落とし穴や危険信号が存在するのだが、多くの利用者はそれを識別する方法をまだ学んでいない。実際、Web3関連のプロジェクトを支える開発チームですら、攻撃を避けるためのシンプルなセキュリティの予防措置をとらないことも珍しくはない。

幸運なことに、Web3の利用者と開発者両方がより安全かつ確実にWeb3空間で過ごすために利用できるツールは数多く存在する。以上の点を念頭において、我々は本記事を作成するに至った。このWeb3セキュリティにおける利用者への手引きがあれば、利用者が自身の安全を守るために必要な情報は全て揃うだろう。


■ パスワード管理

現代のインターネットユーザーが多種多様なアカウントを数多く持たなければならないことを鑑みると、彼らが複数のアカウントで同じパスワードを再利用するのは不思議ではないだろう。しかし、これは短期的には簡単な手段に見えても、ゆくゆくは大惨事を引き起こしかねない大きなセキュリティリスクを孕んでいる。

同じパスワードの度重なる利用は、言うなれば中央集権的モデル[1]のリスクを最もわかりやすく示す例だと言えるだろう。唯一のパスワードが漏洩すれば、ハッカーは数々のアカウントに保管された資産や機密情報にアクセスすることが出来てしまうからだ。

そのため、全ての錠に同じ鍵を使い回さないのと同じように、全てのアカウントに同じパスワードを利用するのは避けるべきだ。しかし、現実的には鍵の個数よりもパスワードの個数の方が必要な数が遥かに多い利用者がほとんどだろう。

そこで便利なのがパスワードマネージャーだ。パスワードマネージャーとは、数々のパスワードを保管し、必要に応じて利用するアプリやデバイスのことだ。このツールがあれば、利用者は安全性の高いパスワードをいくつも作成でき、それぞれを暗記する必要もない。

パスワードマネージャーは主に2つの形式をとっており、個人のローカルデバイスに存在するものもあれば、クラウド上に存在するものもある。Web3セキュリティにおいては、それぞれメリットとデメリットがあると言える。

一つのデバイスだけにパスワードマネージャーを設置する場合、ハッカーは攻撃にあたりその唯一のデバイスにアクセスする必要があるため安全性が高いと言える。しかし、複数のデバイスから同じアカウントにアクセスしたい場合には不便になってしまうだろう。現代人のオンライン活動には遠隔操作や複数のデバイスの利用が欠かせないため、一つのデバイスだけでパスワードマネージャーを利用するのは不便かつ非実用的である。

それに対し、クラウドを基盤とするパスワードマネージャーは全てのデバイスにパスワードを同期することでこの問題を解決できる。さらに、パスワードの監視や管理を行う管理者を設定できる組織向けの追加機能なども備えている。ただし、クラウドベースのパスワードマネージャーの場合ハッカーの遠隔攻撃が可能になってしまう他、データ送受信中のデバイスがより危険に晒されやすいことから、より多くの攻撃を受けやすくなるというリスクがある。

クラウドベースのパスワードマネージャーは最も実用的な策ではあるが、セキュリティレベルが高いサービスを選ぶことが非常に重要である。

パスワードマネージャーを選ぶ際の基準:

・クラウドベースであること
・パスワードとその他のデータ項目の暗号化アルゴリズムが優れていること
・二要素認証(2FA)を導入していること
・アカウント復元の際には復号キーが必要であること

[1]意思決定能力や機能などが中央に集中しているモデルのこと。


■ スマートコントラクト監査

セキュリティの弱いパスワードマネージャーを避けるべきなのと同様に、Web3におけるセキュリティを真剣に受け止めないプロジェクトには関わるべきでない。特定のプロジェクトがセキュリティに対して積極的な姿勢を取っているか確認するためには、定期的にスマートコントラクト監査を行っているかを確かめるのが一つの手だ。

スマートコントラクト監査とは、第三者機関がプロジェクトの基盤となるコードを一行ずつ確認し、間違いや脆弱性、悪意のある要素がないか確かめる工程のことだ。この工程を行うことでプロジェクトは将来的な攻撃を予防できる他、投資家や利用者にとって安全に同プロジェクトに参加できることを確認する手段にもなる。

ただし、スマートコントラクト監査も市場に存在する商品であるため、より徹底的な監査を行う商品もあればそうでないものもある。CertiKの業界屈指の技術は、最先端のAI技術を活用してプロジェクトを支えるコードの包括的な調査を行った上で、調査結果を一流のコンピュータ科学の専門家が精査する体制をとっている。そして、最終的に得られた所見を元にCertiKはプロジェクトの脆弱性を「致命的/高/中/低/注意点」の5つのスケールで明示し、修正するために取るべき次のステップを提供する。

スマートコントラクト監査はWeb3セキュリティにおいては重要なポイントである。そのため、ユーザーはスマートコントラクト監査を「ローンチ前の準備に必要な程度」と軽く受け止めるプロジェクトには注意すべきだ。プロジェクトはアップデートを繰り返す中でコードも変更していくため、スマートコントラクト監査はWeb3セキュリティにおいて常に定期的に行うべきである。

スマートコントラクト監査を選ぶ際の基準:

・最先端のAIアルゴリズム及び人間の専門家の知見を共に用いて脆弱性を発見すること
・第一線でセキュアなプロジェクトに対する監査実績が確実にあること
・より広範なセキュリティのエコシステムの一部としてスマートコントラクトを提供していること
・脆弱性を修正するための、実行に移せる推奨事項と次のステップを提供すること


■ KYC認証

スマートコントラクト監査に加え、エンドツーエンドのWeb3セキュリティに役立つ商品も増えつつある。KYC(Know-Your-Customer)認証は、チームの匿名性から生ずる脆弱性に対抗するために使用する新たなツールである。

Web3領域では匿名での活動が一般的ではあるが、匿名なら高リスクかつ悪意のある活動に対して責任が問われにくいことを利用して、数々のチームがそのような活動に勤しんでいる。Web3のプロジェクトへの投資を考えているユーザーは、プロジェクトチームの素性が不透明だったり匿名だったりする場合は詐欺プロジェクトである可能性を考えるべきだ。

CertiK KYCなどに代表されるKYC認証は、プロジェクトに関する説明責任や透明性を推進できるようプロジェクトチームに対して認証を行うものだ。KYC認証は、ユーザーや投資家にとって、プロジェクトが正当でありユーザーの資産を盗むようなものでは無いことを確認する手段となる。なお、CertiK KYCはスマートコントラクト監査に加えてKYC認証を提供する唯一の大手セキュリティ企業だ。

スマートコントラクト監査と同じように、KYC認証においてもAIツールと人間のやり取りの両方を活用すべきだ。KYC認証の徹底性を確保するためには、AIを基盤とした検出システムや、ビデオ通話やマニュアルでの情報収集と調査などといった生身の人間による調査方法の両方を活用するプロバイダーを探すと良いだろう。

KYC認証ツールを選ぶ際の基準:

・AI検出ツールを用いて身元証明を行っていること
・集められたKYCデータが安全に保管されていること
・KYC対象者とビデオ通話を行うこと
・プロジェクトメンバーらの身辺調査を通して過去に不審な行為や活動があったかを確認していること


■ ブロックチェーン分析

ブロックチェーンの分析ツールは、プロジェクトローンチ後にオンチェーンで行われる活動のライブモニタリングを提供することでWeb3セキュリティを大きく後押ししてきた。ライブモニタリングを通じてプロジェクトチームは彼らのスマートコントラクトに関する重要な知見を得られ、プロジェクト内の傾向を発見できるようになるため攻撃を受けた際には速やかな対応が可能となる。

ブロックチェーン分析ツールを選ぶ際には、レスポンス性と徹底性、そして可読性の3つの指標に着目すると良い。

レスポンス性とは、分析プラットフォームが急な流動性の変化やオンチェーン上での不審な活動を検知する速さを指す。一般的に、優れたレスポンス性を実現するためには、CertiKのSkynetが提供するような「DEX流動性モニタリング[2]」が必要だ。これによって、プロジェクトチームは差し迫る攻撃を示唆するいかなる活動についても注意を張り巡らすことができる。

ブロックチェーン分析の提供者の徹底性を調べる際には、モニタリングを行う際の手法と、提供されるデータの豊富さを確認すると良い。なお、使用されるツールについては、最良のブロックチェーン分析では何らかの形でAI技術を活用してプロジェクトのコードを常にスキャンしている。

徹底的で優れたブロックチェーン分析ツールは市場のボラティリティ、ガバナンスと自律性、リスクアセスメント、ソーシャルメディアのセンチメントなどといったセキュリティに関する基本要素を浮き彫りにすることで、Web3空間にすでに存在する脆弱性や新しく生じる脆弱性をいち早く検知し、それらを強調して示す質の高いデータを提供する。そして、プロジェクトは先に述べた指標を示すデータベースを保有することで、時の経過と共にプロジェクトのトレンドや成長を追うことができる。

最後に、ブロックチェーン分析ツールは簡単に読み解けるものであるべきだ。ブロックチェーンデータは非常に複雑であるため、ブロックチェーン分析ツールにとってはそれをいかに読みやすくするかが肝心なポイントとなる。いくら質の高いデータを提供できたとしても、過度に複雑で実用的な行動に繋がらないのであれば意味がない。

そこで、プロジェクトのセキュリティをより広範なWeb3セキュリティのエコシステムと比較できるようにするのも一つの手段だ。CertiKのSkynetではプロジェクトごとにセキュリティスコアをつけた上で、CertiKのWeb3セキュリティ・リーダーボードで他のプロジェクトらと共にランク付している。また、SkyTraceなどといったその他の分析ツールでは、ウォレット間の資金の流れを可視化できるようになっている。これは、攻撃の際に盗まれた資金の追跡やハッカーへの責任追及を実現するためには肝心なツールだと言えるだろう。

ブロックチェーン分析ツールを選ぶ際の基準:

・DEX流動性モニタリングを備えていること
・複数のセキュリティに関する基本要素をカバーした高品質かつ多様なデータを提供していること
・読みやすく実用性のある知見を提供すること

[2]プロジェクトが提供するDEX(分散型取引所)の流動性を監視するサービス。


※本レポートはCertiK社が作成し、HashKey DXが翻訳したものです。

Share

HashKey DX Magazine トップへ戻る