オリジナル作成者: 23pds @slowmist セキュリティ チーム
背景
2024 年 6 月 3 日、Twitter ユーザー @Cryptonakamao が、悪意のある Chrome 拡張機能 Aggr をダウンロードした結果、100 万米ドルが盗まれたことについて投稿しました。これにより、暗号通貨コミュニティ ユーザーの大多数が拡張機能のリスクに注意を払い、懸念するようになりました。独自の暗号資産のセキュリティを確保します。 5 月 31 日、SlowMist セキュリティ チームは、悪意のある Aggr 拡張機能の邪悪な手法の詳細な分析を提供する記事「羊の服を着た狼 | 偽の Chrome 拡張機能盗難の分析」を公開しました。ユーザーの間でブラウザ拡張機能に関する背景知識が不足していることを考慮して、SlowMist 最高情報セキュリティ責任者 23 pds は、この記事で 6 つの質問と 6 つの回答を通じて拡張機能の基礎知識と潜在的なリスクを説明し、拡張機能のリスクに対処するための提案を提供します。このプラットフォームは、個々のユーザーと取引を支援し、アカウントと資産のセキュリティを保護する機能を向上させます。
(https://x.com/im 23 pds/status/1797528115897626708)
QA
1. Chrome 拡張機能とは何ですか?
Chrome 拡張機能は、ブラウザの機能と動作を拡張できる Google Chrome 用に設計されたプラグインです。ユーザーのブラウジング エクスペリエンスをカスタマイズしたり、新しい機能やコンテンツを追加したり、Web サイトを操作したりできます。 Chrome 拡張機能は通常、HTML、CSS、JavaScript、その他の Web テクノロジーから構築されます。
Chrome 拡張機能の構造は通常、次の部分で構成されます。
Manifest.json:拡張機能の基本情報 (名前、バージョン、権限など) を定義する拡張機能構成ファイル。
バックグラウンド スクリプト:ブラウザのバックグラウンドで実行して、イベントや長期的なタスクを処理します。
コンテンツ スクリプト: Web ページのコンテキストで実行され、Web ページと直接対話できます。
ユーザー インターフェイス (UI):ブラウザのツールバー ボタン、ポップアップ ウィンドウ、オプション ページなど。
2. Chrome 拡張機能は何をするのですか?
広告ブロック:この拡張機能は Web ページ上の広告をブロックしてブロックし、Web ページの読み込み速度とユーザー エクスペリエンスを向上させます。たとえば、AdBlock や uBlock Origin などです。
プライバシーとセキュリティ:一部の拡張機能は、追跡の防止、通信の暗号化、パスワードの管理など、ユーザーのプライバシーとセキュリティを強化できます。たとえば、Privacy Badger や LastPass などです。
生産性向上ツール:拡張機能は、タスクの管理、メモの作成、時間の追跡など、ユーザーの生産性の向上に役立ちます。たとえば、Todoist や Evernote Web Clipper などです。
開発者ツール: Web ページ構造の表示、コードのデバッグ、ネットワーク リクエストの分析など、Web 開発者向けのデバッグおよび開発ツールを提供します。たとえば、React Developer Tools や Postman などです。
ソーシャル メディアとコミュニケーション:この拡張機能では、ソーシャル メディアとコミュニケーション ツールを統合して、ユーザーが Web 閲覧中にソーシャル メディアの通知やメッセージなどを簡単に処理できるようにします。たとえば、Grammarly や Facebook Messenger などです。
Web ページのカスタマイズ:ユーザーは、テーマの変更、ページ要素の再配置、追加機能の追加など、拡張機能を使用して Web ページの外観と動作をカスタマイズできます。たとえば、Stylish や Tampermonkey などです。
タスクの自動化:拡張機能を使用すると、ユーザーはフォームへの自動入力、ファイルのバッチダウンロードなど、反復的なタスクを自動化できます。たとえば、iMacros や DownThemAll などです。
言語翻訳: Google 翻訳など、一部の拡張機能は Web コンテンツをリアルタイムで翻訳して、ユーザーがさまざまな言語の Web ページを理解できるようにします。
暗号通貨支援: MetaMask などの拡張機能は、ユーザーが暗号通貨トランザクションをより便利にするのに役立ちます。
Chrome 拡張機能の柔軟性と多様性により、ほぼすべての閲覧シナリオに適用できるため、ユーザーはさまざまなタスクをより効率的に完了できます。
3. Chrome 拡張機能をインストールすると、どのような権限が与えられますか?
Chrome 拡張機能をインストールすると、特定の機能を実行するために一連の権限を要求する場合があります。これらのアクセス許可は拡張機能のmanifest.jsonファイルで宣言されており、インストール中にユーザーに確認を求めるプロンプトが表示されます。一般的な権限には次のものが含まれます。
<all_urls>:拡張機能がすべての Web サイトのコンテンツにアクセスできるようにします。これは、拡張機能が Web サイトのすべてのデータを読み取り、変更できるようにする広範な権限です。
tabs: 拡張機能が、現在開いているタブの取得、タブの作成と閉じるなど、ブラウザのタブ情報にアクセスできるようにします。
activeTab:拡張機能が現在アクティブなタブに一時的にアクセスできるようにします。通常は、ユーザーが拡張機能ボタンをクリックしたときに特定のアクションを実行するために使用されます。
storage:拡張機能が Chrome のストレージ API を使用してデータを保存および取得できるようにします。これは、拡張機能の設定、ユーザー データなどを保存するために使用できます。
Cookie:拡張機能がブラウザーの Cookie にアクセスして変更できるようにします。
webRequest および webRequestBlocking:拡張機能がネットワーク リクエストをインターセプトおよび変更できるようにします。これらの権限は通常、広告ブロックやプライバシー保護の拡張機能に使用されます。
ブックマーク:拡張機能がブラウザのブックマークにアクセスして変更できるようにします。
History:拡張機能がブラウザの履歴にアクセスして変更できるようにします。
通知:拡張機能がデスクトップ通知を表示できるようにします。
contextMenus:拡張機能がブラウザのコンテキスト メニュー (右クリック メニュー) にカスタム メニュー項目を追加できるようにします。
geolocation:拡張機能がユーザーの地理位置情報にアクセスできるようにします。
ClipboardRead および ClipboardWrite:拡張機能がクリップボードの内容を読み書きできるようにします。
ダウンロード:拡張機能がダウンロードの開始、一時停止、キャンセルなどのダウンロードを管理できるようにします。
管理:拡張機能がブラウザの他の拡張機能とアプリケーションを管理できるようにします。
背景:拡張機能が長時間実行されるタスクをバックグラウンドで実行できるようにします。
通知:拡張機能がシステム通知を表示できるようにします。
webNavigation:拡張機能がブラウザのナビゲーション動作を監視および変更できるようにします。
これらの権限により、Chrome 拡張機能は多くの強力で多様な機能を実行できるようになりますが、Cookie や認証情報などのユーザーの機密データにアクセスする可能性があることも意味します。
4. 悪意のある Chrome 拡張機能がユーザーの権限を盗む可能性があるのはなぜですか?
悪意のある Chrome 拡張機能は、ユーザーのブラウザ環境やデータに直接アクセスして操作できるため、要求された権限を悪用してユーザーの権限や認証情報を盗む可能性があります。具体的な理由と方法は以下の通りです。
広範な権限アクセス:悪意のある拡張機能は通常、すべての Web サイト (<all_urls>) へのアクセス、ブラウザー タブ (タブ) の読み取りと変更、ブラウザーのストレージ (ストレージ) へのアクセスなど、多数の権限を要求します。これらの権限により、悪意のある拡張機能はユーザーの閲覧アクティビティとデータに広範にアクセスできるようになります。
ネットワーク リクエストを操作する:悪意のある拡張機能は、webRequest および webRequestBlocking 権限を使用してネットワーク リクエストを傍受および変更し、ユーザー認証情報と機密データを盗む可能性があります。たとえば、ユーザーが Web サイトにログインするときにフォーム データを傍受し、ユーザー名とパスワードを取得する可能性があります。
ページ コンテンツの読み取りと書き込み:悪意のある拡張機能は、コンテンツ スクリプトを通じて Web ページにコードを埋め込み、ページ コンテンツの読み取りと変更を行うことができます。これは、フォーム情報や検索クエリなど、ユーザーが Web ページに入力したあらゆるデータを盗むことができることを意味します。
ブラウザ ストレージへのアクセス:悪意のある拡張機能は、ストレージ アクセス許可を使用して、機密情報が含まれる可能性のあるブラウザ ストレージ (LocalStorage や IndexedDB など) を含むユーザーのローカル データにアクセスし、保存する可能性があります。
クリップボードの操作: clipboardRead および ClipboardWrite 権限を使用すると、悪意のある拡張機能がユーザーのクリップボードの内容を読み書きできるため、ユーザーがコピーして貼り付けた情報を盗んだり改ざんしたりできます。
正規の Web サイトに偽装する:悪意のある拡張機能は、ブラウザのコンテンツを変更したり、ユーザーが訪問した Web ページをリダイレクトしたりすることで、自身を正規の Web サイトに偽装し、ユーザーに機密情報の入力を誘導する可能性があります。
長期的なバックグラウンド実行:バックグラウンド権限を持つ悪意のある拡張機能は、ユーザーがアクティブに使用していない場合でも、バックグラウンドで実行され続ける可能性があります。これにより、ユーザーのアクティビティを長期間にわたって監視し、大量のデータを収集することができます。
運用上のダウンロード:ダウンロード権限を使用すると、悪意のある拡張機能が悪意のあるファイルをダウンロードして実行し、ユーザーのシステム セキュリティをさらに危険にさらす可能性があります。
5. この悪意のある拡張機能の被害者はなぜアクセス許可を盗まれ、資金が侵害されたのでしょうか?
今回、悪意のある Aggr 拡張機能は上で説明した背景情報を取得しただけであるため、以下は悪意のあるプラグインの Manifests.json ファイルのアクセス許可コンテンツの一部です。
クッキー
タブ
<すべての URL>
ストレージ
6. 悪意のある Chrome 拡張機能は、ユーザーの Cookie を盗んだ後、何をすることができますか?
アカウントへのアクセス:悪意のある拡張機能は、盗んだ Cookie を使用して、取引プラットフォームのアカウントにログインするユーザーをシミュレートし、残高や取引履歴などのユーザーのアカウント情報にアクセスする可能性があります。
トランザクションの実行: Cookie が盗まれると、悪意のある拡張機能がユーザーの同意なしにトランザクションを実行したり、暗号通貨を売買したり、資産を他のアカウントに転送したりする可能性があります。
資金の引き出し: Cookie にセッション情報と認証トークンが含まれている場合、悪意のある拡張機能が 2 要素認証 (2FA) をバイパスして直接資金の引き出しを開始し、ユーザーの暗号通貨を攻撃者が管理するウォレットに転送する可能性があります。
機密情報へのアクセス:悪意のある拡張機能は、ユーザーの取引プラットフォームのアカウントにある認証文書や住所などの機密情報にアクセスして収集する可能性があり、さらなる個人情報の盗難や詐欺に使用される可能性があります。
アカウント設定の変更:悪意のある拡張機能は、バインドされた電子メール アドレス、携帯電話番号などのユーザーのアカウント設定を変更して、アカウントをさらに制御し、より多くの情報を盗む可能性があります。
ユーザーになりすましてソーシャル エンジニアリング攻撃を実行する:ユーザー アカウントを使用してソーシャル エンジニアリング攻撃を実行します。たとえば、ユーザーの連絡先に不正な情報を送信して、危険な操作の実行を誘導したり、より機密性の高い情報を提供したりします。
反応
これを見て、大多数のユーザーは、インターネットから切断してプレイをやめたらどうしよう、と考えるかもしれません。別のコンピューターを使用していますか? Web ログイン プラットフォームは必要ありませんか?インターネット上には棒で殺すことについての言い伝えがたくさんありますが、実際には、そのような危険を合理的に防ぐ方法を学ぶことができます。
個人ユーザー向けの対策:
個人のセキュリティ意識を高める:最初の予防策は、個人のセキュリティ意識を高め、常に懐疑的な態度を維持することです。
信頼できるソースからのみ拡張機能をインストールする: Chrome ウェブストアまたはその他の信頼できるソースから拡張機能をインストールし、ユーザー レビューと許可リクエストを読んで、拡張機能に不必要なアクセスを許可しないようにしてください。
安全なブラウザ環境を使用します。不明なソースからの拡張機能のインストールを避け、定期的に確認して不要な拡張機能を削除し、別のブラウザをインストールし、プラグイン ブラウザとトランザクション ファンド ブラウザを分離します。
アカウントのアクティビティを定期的にチェックする:アカウントのログインアクティビティと取引記録を定期的にチェックし、不審な動作が見つかった場合は直ちに措置を講じます。
必ずログアウトしてください: Web オペレーティング プラットフォームを使用した後は、必ずログアウトしてください。便宜上、多くの人はプラットフォームにログインして操作を完了した後、クリックしてログアウトしません。この習慣にはセキュリティ上のリスクがあります。
ハードウェア ウォレットを使用する:大量の資産の場合は、ストレージとしてハードウェア ウォレットを使用してセキュリティを強化します。
ブラウザ設定とセキュリティ ツール:安全なブラウザ設定と拡張機能 (広告ブロッカー、プライバシー ツールなど) を使用して、悪意のある拡張機能のリスクを軽減します。
セキュリティ ソフトウェアを使用する:セキュリティ ソフトウェアをインストールして使用し、悪意のある拡張機能やその他のマルウェアの悪事を検出して防止します。
最後に、プラットフォームのリスク管理に関する提案があります。これらの対策により、取引プラットフォームは悪意のある Chrome 拡張機能によってユーザーに生じるセキュリティ リスクを軽減できます。
2 要素認証 (2FA) の使用を強制します。
- 2FA をグローバルに有効にする: すべてのユーザーは、ログインして重要な操作 (取引、注文、資金引き出しなど) を実行するときに 2 要素認証 (2FA) を有効にする必要があり、ユーザーの Cookie が盗まれた場合でも攻撃者が簡単にアクセスできないようにする必要があります。アカウントにアクセスします。
- 複数の認証方法: SMS、電子メール、Google Authenticator、ハードウェア トークンなど、複数の二次認証方法をサポートします。
セッション管理とセキュリティ:
- デバイス管理: ログインしているデバイスを表示および管理する機能をユーザーに提供し、ユーザーはいつでも不明なデバイスとのセッションからログアウトできます。
- セッション タイムアウト: セッション タイムアウト ポリシーを実装して、長時間非アクティブなセッションを自動的にログアウトし、セッション盗難のリスクを軽減します。
- IP アドレスと地理的位置の監視: 異常な IP アドレスまたは地理的位置からのログイン試行を検出してユーザーに警告し、必要に応じてこれらのログインをブロックします。
アカウントのセキュリティ設定を強化します。
- セキュリティ通知: アカウントのログイン、パスワードの変更、資金の引き出しなどの重要な操作に関する通知をユーザーに即座に送信します。ユーザーは電子メールまたは SMS を通じて異常なアクティビティを思い出させることができます。
- アカウント凍結機能: 緊急事態において、被害範囲を制御するためにアカウントを迅速に凍結するオプションをユーザーに提供します。
監視およびリスク管理システムを強化します。
- 異常な動作の検出: 機械学習とビッグデータ分析を使用してユーザーの動作を監視し、異常な取引パターンとアカウントアクティビティを特定し、タイムリーなリスク管理介入を実施します。
- リスク管理警告: アカウント情報の頻繁な変更、ログイン試行の頻繁な失敗などの不審な行為に対して早期警告と制限を提供します。
ユーザーにセキュリティ教育とツールを提供します。
- セキュリティ教育: 公式ソーシャル アカウント、電子メール、プラットフォーム内通知、その他のチャネルを通じてセキュリティに関する知識をユーザーに広め、ブラウザ拡張機能のリスクとアカウントの保護方法に注意を払うようユーザーに思い出させます。
- セキュリティ ツール: ユーザーがアカウントのセキュリティを強化し、潜在的なセキュリティの脅威を検出してユーザーに警告できるように、公式のブラウザ プラグインまたは拡張機能を提供します。
結論
率直に言って、技術的な観点から見ると、多くの場合、上記のリスク管理措置をすべて講じることが最善の方法ではない可能性があります。セキュリティとビジネスのバランスをとる必要があります。セキュリティを重視しすぎると、たとえば注文時に 2 番目の認証が必要になるため、多くのユーザーはそれをオフにしてしまいます。 その結果、Cookie が盗まれてコインを引き出すことができなくなると、ハッカー同士が対戦してユーザー資産に損害を与えることができるため、ユーザーとハッカーにとって好都合になります。したがって、リスク管理方法はプラットフォームやユーザーごとに異なります。セキュリティとビジネスのバランスについては、プラットフォームごとに異なる考慮事項があり、プラットフォームがユーザー エクスペリエンスを考慮しながらユーザー アカウントと資産のセキュリティを保護できることを期待しています。