Breakpoint 2023: Web3 Security and Best Practicesのセッションまとめ
この記事はSolana Advent Calendar 2023 12日目の記事です。
本記事ではBreakpoint 2023のWeb3 Security and Best Practicesセッションの動画をChatGPTでテキスト化を行った記事になります。動画を見る時間がない、視覚優位で動画が苦手、動画の補助としてテキストと両方みたいという方向けになります。
元のTranscriptの品質、ChatGPTの精度により不正確な記述がありえることにご注意ください。
セッションの概要
本セッションでは、Web 3.0のセキュリティに重点を置いたプレゼンテーションを行い、セキュリティ対策とベストプラクティスの重要性を深く理解する機会を提供いたします。
Stakeholder Engineer 3としての経験を基に、プライベートキーの管理方法やSolanaの一般的なセキュリティ問題に関する洞察を共有するとともに、推奨される予防策やモニタリング戦略を通じて、開発者やユーザーがセキュリティリスクを最小限に抑える手法について議論します。
更に、マルチシグ技術、オンチェーン監視、AI技術によって生じる新たなセキュリティ脅威に対する認識を深めると共に、組織や個人がセキュリティ計画を策定する際の重要性を強調します。また、AIの発展がセキュリティに与える影響に関する研究結果と実用的な対策についても触れることで、参加者に対して具体的な知見を提供することを目指します。
セッションのハイライト
セキュリティ対策の追求: セッションではWeb 3.0環境でのセキュリティ対策と最新のベストプラクティスが強調され、プライベートキーの安全な管理、二要素認証、ブラウザ拡張機能の慎重な使用などが推奨された。
開発ツールと戦略の紹介: SE3のX-ray静的分析ツールやWatchtowerのようなセキュリティツールの使用を提唱し、これらが開発者にとって便利なソリューションとして機能することを説明し、セキュリティ強化に寄与している。
AIとセキュリティへの影響: 人工知能技術、とくにChatGPTの出現がWeb3やセキュリティにどのような影響を与えるかについての洞察が提供され、新しいサイバー攻撃の可能性や防御策について議論が行われた。
セッション内容
はじめに
私の名前はジャックと申します。私は現在、3回目となるブレークポイントに出席する機会を得て、皆様にお会いできて非常に光栄に思っております。一部の参加者の方々は、私のことをVibesの名前でご存じかもしれません。
本日は、Stakeholder Engineer 3の立場から、Web 3.0環境でのセキュリティ対策及び推奨されるベストプラクティスについての講演を行います。この分野で豊富な経験をお持ちの方々には既知の情報も含まれているかもしれませんが、セキュリティ原則に関する理解を深め、その意義を再確認することは重要です。
それでは、セッションを始めさせていただきます。
Web3のセキュリティ基礎
本日の議論は、開発者の視点を加味した上で、開発環境のセキュリティ向上に寄与する重要なトピックに集中します。具体的には、プライベートキーの管理手法の改善について検討し、またSolanaにおいてよく発生する問題点について詳述します。さらに、ウォレットやスマートコントラクトのアドレスを監視するための効率的なストラテジーを評価することで、全体的な開発作業環境の安全性を高める目的を達成しようとしています。
安全な環境を作り出す
Web3の領域でウェブ開発を開始する際に重要な最初のステップは、安全な環境の構築です。この目的を達成する方法に関する一般的な疑問に対しては、交差汚染を避けるために、Web3開発専用の清潔なマシンを用いることが基本的な対策として推奨されます。
開発者向けの高度なセキュリティ対策
Web3の利用時には、安全対策として広告ブロック機能を有するブラウザ拡張機能の導入を推奨します。その中でも「uBlock Origin」は推奨できるブロック機能を提供します。これは、検索エンジンではしばしば有害な広告を効率よく拒否できないためであり、それら有害広告は検索結果の上部に表示されることが頻繁です。
また、分散型アプリケーション(DApps)を使用する際には、ブックマークを活用して詐欺リンクの誤クリックを防ぐことが大切です。これは、経験豊かなユーザーであってもフィッシング詐欺の被害にあうリスクがあるためです。更に、ウェブサイトが公式のTwitterアカウントと一致しているかを確認することや、信頼できる情報源一覧を信頼に足る人々と照らし合わせることも良い習慣といえます。
さらに、二要素認証(2FA)の利用はオンラインセキュリティを高める上で重要ですが、SMSによる2FAは相対的に脆弱であり、フィッシングに悪用される可能性があることに留意する必要があります。たとえば、ハッカーが電話プランの割引を装って電話をかけ、個人情報を詐取し、電話番号の乗っ取りを試みる事態が考えられます。
そのため、可能な限りSMSを用いない2FA方法を利用することをお勧めします。Web3ではブラウザ拡張機能を通じたインタラクションが多いので、Chrome Web Storeなどの公式のストア以外で提供される拡張機能のダウンロードには慎重になるべきです。信頼性が不明な拡張機能を試す際は、別のブラウザプロフィールを作成して実行することが望ましいでしょう。
TeamViewerやChrome Remote Desktopなどのリモートアクセスツールの使用は、システム脆弱性を招く恐れがあるため、極力控えるべきです。
開発者は、安全な開発環境を整備する際にもセキュリティを最重要視した方法を採用する必要があります。ユーザーであれ開発者であれ、常にセキュリティ意識を保ち、Dockerコンテナ、隔離の仮想環境、専用ワークステーションの使用によって、攻撃に対する耐性を高めるべきです。Solanaなどのプラットフォームでスマートコントラクトを開発する際は、Anchorのようなフレームワークを利用する際に、Sec3のX-ray静的分析ツールなどの自動化セキュリティツールを活用し、既知の脆弱性を検出し、適切な対策を講じることが推奨されます。私たちのツールは50以上の既知の脆弱性を識別する能力があるため、開発者のセキュリティ対策に役立つことでしょう。
鍵管理とベストプラクティス
最新の依存関係情報やセキュリティ警告、脆弱性情報に関して常に更新された状態を保つためには、対応するニュースレターへの登録が効果的です。これにより、潜在的なセキュリティリスクへの対応が可能になります。
キー管理法の改善について議論することも重要です。分散型アプリケーション(dApp)を使用する際は、都度新しいキーとウォレットのペアを生成することが推奨されます。Solana CLIを例に挙げると、これはユーザーフレンドリーなインターフェースを提供し、独自のバニティキーペアを作成する機能を備えています。この方法はセキュリティ違反が発生した際にも、キーの管理とリスク露出を探知する上で有効です。
取引には必要最小限の金額を用い、コールドウォレットをオフライン保持し、キーフレーズはクラウドに保存しないよう注意してください。dAppにはコールドウォレットを接続しないことが望ましいです。また、機密情報を扱う時は、クラウド同期やクリップボードマネージャーを無効にしてデータ漏洩を防ぎましょう。
キーマネージメントのベストプラクティスとして、以下の点に留意する必要があります。プロダクション環境から切り離されたキーの管理、AWS Secrets ManagerやGoogle KMSなどの秘密管理ツールの利用、プライベートキーを環境変数にて扱うこと、不要なキー共有の避けることと詳細なアクセスログの実装、これらのログの定期的な監査、そして定期的なキーの更新を含む異常活動への迅速な対応です。
これらの方法を通じ、セキュリティ管理の強化を図り、潜在的なセキュリティリスクから自身を守るためのアクションプランを確立することが目的です。
オンチェーン監視とウォッチタワー
重要なことは、プライベートキーを平文で送信せず、安全かつ暗号化された方法で保管することです。また、適切なセキュリティメカニズムが設置されていない限り、読出し不可能であることを確保することが不可欠です。
資産やスマートコントラクトを保護する簡易的な手法として、マルチシグの利用が効果的です。長期的な利用が可能なにもかかわらず、これを活用していない開発者やユーザーが多いのが現状です。Solana上で利用可能なマルチシグソリューションとして、Squads、Realms、Mean Financeなどが存在し、これらは利用しやすく迅速な導入が可能です。これらのソリューションを避ける理由はとくにありません。
今回はスマートコントラクト特有のセキュリティ対策には言及してきませんでしたが、次にその対策に焦点を当てます。依存関係は特別な注意が必要で、RustとCargoは依存関係の管理を容易にしますが、古いものや知られた脆弱性を持つ依存関係が存在する場合があります。そのため、「cargo audit」コマンドを利用して、古い依存関係を調査することが重要です。加えて、Rustの型システムはメモリ安全性に関する全ての問題を解決するわけではなく、バッファオーバーフローや使用後解放、未初期化メモリなどのメモリ破壊の問題がコードに影響を与えるリスクが残ります。また、不要なコードの削除やコードの単純化もセキュリティ強化に寄与します。
これらの対策に加えて、私たちが提供するX-Ray Scannerは、8つの一般的な脆弱性やミスを自動的に検出する機能を持っています。
最後に、より良いセキュリティを実現するためにオンチェーンモニタリングについても考慮する必要があります。
AIと新たなるセキュリティ脅威
デジタル資産のセキュリティを維持するためには、取引のモニタリングが極めて重要です。財布の内容をリアルタイムで監視することで、意図しない取引がないかを常にチェックでき、セキュリティの安心感を得ることが可能です。ハッカーによる攻撃は一定の時間を必要とすることが多いため、プライヴェートキーが侵害されたとしても、即座に資産の移動が行われるわけではない場合もあります。一部の攻撃者は、ステーキング契約やNFT市場に存在する資産への注意を怠っている点に目をつけています。迅速な対応を行うことで、被害者は早期にキーの侵害を検知し、資産移動を試みることができます。
私が推奨するアプリ「Ultimate」は、個人用財布やバーナー財布の追跡に利用でき、ダウンロードが容易で、モニタリングを簡単に実施できます。一方で、より詳細な取引分析を希望する場合は、「SE3のWatchtower」の使用が必要です。このツールを使用すると、財布のみならずスマート契約の監視も可能になります。Watchtowerは、ログイン後に財布やスマート契約のアドレスを入力するだけで即座に使用できる使いやすいサービスです。専門知識を用いてモニタリングを簡略化し、過去の取引データを機械学習で解析して平常時の行動パターンを把握します。特定のパターンから逸脱する取引があると、SMS、Discord、ウェブフックなどを通じて警告を受け取ることができます。
ユーザーからは、既に多くのポジティブなフィードバックが寄せられているものの、潜在的な攻撃を事前に防ぎたいニーズに応じて、「Circuit Breaker」という閾値反応機能がWatchtowerに組み込まれました。この機能は、特定の条件下でスマート契約の操作を一時停止するか、トークンアカウントがスマート契約との相互作用を防ぐための閾値を設定できます。
また、Watchtowerには、様々な種類のプリロードされたボットが含まれており、豊富な監視オプションを提供しています。これには「Smart Monitor」を含むいくつかのボット機能があり、ユーザーのニーズに応じた柔軟な監視体制を整えるのに役立ちます。お客様により良いセキュリティ体験を提供することが、本製品の目的です。
個人と組織のセキュリティ計画
分散型自律組織(DAO)は、財務資産に対する侵害を防ぐため、独自のセキュリティ対策を必要としています。このような攻撃、一般に「DAO攻撃」と呼ばれるものは、DAO内で管理されている資産に対して行われる詐欺的な取り引きです。私たちは、このタイプの攻撃を特定し、監視するためのボット開発に成功しました。
DAO攻撃は、全体の財務資産の価値が特定の決定を下すためのトークン購入コストを上回ると発生する可能性が高まります。攻撃者は、市場で必要なトークンを購入し、提案を通じてDAOの資金を不正に迂回させることを目論みます。これは、DAOの運営における深刻なリスクの1つです。
このような状況に対処するため、我々の監視ボットはDAOの財務資産に対する脆弱性を24時間体制で監視し、攻撃の危険性が一定の基準に到達した時点で、事前に警告を発信します。このボットは、プログラムのアップグレードや提案などの重要な操作も追跡可能です。
多くの情報がTwitterやDiscordで共有される中、情報を逐一追うことは困難ですが、当システムはSMSアラートを提供し、利用者が重要な出来事に素早く対応できるようにします。本サービスは、DAOおよび関連するプロトコルに依存している製品で生じる重要な変更事項についての即時通知を目的としています。
SE3サービスと提供内容
本議論の焦点を変更いたしましょう。弊社は、セキュリティサービスを専門とする企業であり、ChatGPTの出現以前から人工知能の分野での活動を続けてきました。私たちは、人工知能がWeb3とWeb2のセキュリティに及ぼす潜在的な影響について、積極的に調査しております。
この技術の進歩は絶えず印象を更新し、一般消費者にとっても身近なものとなりつつあります。こうした背景を踏まえ、我々はその影響力をさらに深く理解し、セキュリティ分野における新たな可能性を探求する意図があります。
結論と連絡先情報
技術進歩が進む中、新たなサイバー攻撃の手法が開発されています。ディープフェイクやボイスフェイク技術は、一枚の写真からでも生成できるようになり、アップル社のような企業により研究されるボイスクローニングシステムでは、約15分から20分の音声サンプルで人の声を複製可能です。こうした技術が悪用されると、親しい人でさえ真偽を見分けられない事態が想定されます。
個人をターゲットとした攻撃のリスクもあり、例えばChatGPTエージェントがオンラインでの大規模なリサーチ業務を可能にしており、LinkedInやTwitterの情報源を利用する等の活動が考えられます。AIのセキュリティ違反が懸念される中、新しいデータが言語モデルのセキュリティに与える影響と、攻撃者による意図しない情報抽出のリスクに警戒が必要です。
これらに対処するための準備と継続的な警戒の重要性が高まっており、個人、家族、職場においてセキュリティプランを策定し、規則的に演習することが推奨されます。また、緊急時の対応手順についての知識の有無を確認し、不足していた場合はチームメンバーとともに計画と練習をすることが重要です。
私たちのチームは日々セキュリティ対策に取り組んでおり、専門家と協力し、セキュリティ慣行を改善しています。万全のセキュリティ対策は存在せず、ゼロデイ脆弱性への対応を含めたソフトウェアとハードウェアの統合的アプローチが求められます。
SE3ウェブサイトやpro.3devで提供するX-Ray Scanner Watchtowerのオープンベータ版を無料で試すことができますので、ご確認いただければと思います。深い統合に興味がある方は、テレグラムを通じてご連絡ください。最後に、貴重なお時間を割いて頂き、ありがとうございました。
セッションのまとめ
講師であるジャック(Vibesとしても知られる)は、ブレークポイントカンファレンスにおいて、Web3.0環境におけるセキュリティ対策とそのベストプラクティスについての講演を行いました。この講演では、プライベートキーの管理、Solanaにおける安全性の問題、及びウォレットとスマートコントラクトのアドレスを監視する戦略など、いくつかの重要なトピックに触れられました。
ジャックは、セキュアな開発環境の確立から広告ブロッキング機能が付いたブラウザの拡張機能の活用まで、基礎から応用までのセキュリティ対策を提案しました。さらに、SMSを用いない二要素認証の利用や、信頼できるソースからのアプリケーションのダウンロードの重要性、そしてキーマネージメントのベストプラクティスについても解説しました。また、X-Ray ScannerやWatchtowerなどのセキュリティツールについても紹介しました。
加えて、AIの進化に伴い出現する新しいセキュリティリスクにも言及し、Web3.0コミュニティにおけるセキュリティ意識の向上と、より強固な保護対策の採用が不可欠であると強調しました。今後、Web 3.0における成長とそれに伴うリスクから守るためには、個人も組織もこれらのセキュリティ対策及びツールの知識を習得し、積極的に取り組むべきであるとの見解を示しました。
ブロックチェーンの利用から開発、その他のいろいろなユースケースに対するセキュリティを包括した良いセッションでした。
個人的にはX-Ray Scannerが気になりました。なかなか良いお値段ですが試してみたいです。
おそらくSolanaのプログラム(スマートコントラクト)開発において最も脆弱性が発生するのはCPIや他プログラムのアカウントを絡めた状態管理だと思っており、このあたりを検知できるならぜひ試したいところです。