カスペルスキーがシードフレーズ窃取型マルウェアを発見

この記事は次の言語でご利用いただけます:

Author logo
Patrick Dike-Ndulue
Post image

2026年7月、Kasperskyのグローバルリサーチ&アナリシスチームは、OkoBotと呼ばれるマルウェアフレームワークの詳細な分析を公開しました。このフレームワークは1年以上前から活動しており、Kasperskyの発表時点でも稼働中でした。OkoBotは20以上のペイロードを持つツールキットで、Windowsマシンに感染し、隠れたリモートチャネルを開いてから、特定の役割を持つ専用プラグインを展開します。

 

Kasperskyはマルウェアの主な侵入経路を2つ記録しています。ひとつは「ClickFix」と呼ばれるソーシャルエンジニアリング攻撃、もうひとつはGitHubからダウンロードしたソフトウェアに仕込まれたマルウェアです。例えば、SQL Server Management Studioの偽パッケージは、実際には本物のAudacity音声編集ソフトに悪意あるライブラリを追加したもので、検索結果の上位に表示されていたため、正規品に見えてユーザーの信頼を得ていました。

 

ユーザーがこの罠にかかると、PowerShellスクリプトTookPSが攻撃者の元へSSHトンネルを構築します。自動化されたボットがウォレットファイルやブラウザのクッキー、認証情報を収集し、さらに重いペイロードのための足がかりを作ります。

 

その中でも特に注目すべきペイロードがありました。KasperskyはこれをSeedHunterと呼び、ハードウェアウォレット利用者のリカバリーフレーズ(シードフレーズ)を盗むためだけに設計されています。私たちはこのレポートを精読し、Tangemのセキュリティ責任者2名に「SeedHunterはTangemにも有効なのか?」と直接質問しました。
 

SeedHunterの実際の動作

SeedHunterは感染したWindows PC上で実行中のプロセス一覧を常時監視しています。狙うのはTrezor Suite、Ledger Live、Ledger Walletの3つのアプリケーションです。これらが起動していると、自身のコードをそのプロセスに注入します。

これらのデスクトップウォレットアプリは、Electronという、ウェブページをデスクトップアプリ化するフレームワーク上で動作しています。SeedHunterはElectronの内部機能にフックし、ユーザーに気付かれずにアプリ表示内容を書き換えることができます。ウォレットのウィンドウ自体が攻撃者のキャンバスとなるのです。
 

マルウェアは定期的にUSBスキャンを行い、ベンダーID・プロダクトIDでフィルタしながら、本物のTrezorやLedgerデバイスが接続されるのを待ちます。Kasperskyの調査によると、このマルウェアはコマンドサーバーから「go」シグナルを受けて発動することも、即座に発動することも可能です。

 

デバイスが接続されると、マルウェアは信頼されたアプリ内にハードコードされたフィッシングページを表示し、各ウォレットブランドに合わせてレイアウトを変えます。このページはユーザーに「リカバリー」や「検証」のためとしてシードフレーズの入力を促します。

 

ユーザーは自分の正規ウォレットソフトを操作していると信じ込み、デバイスを接続したことで入力を促されたと思い込みます。入力されたフレーズはマルウェアによって取得され、コマンドサーバーに送信されると同時に、暗号化されたローカルコピーも保存されます。資産は攻撃者のタイミングで抜き取られてしまいます。

 

OkoBotの他のプラグインは攻撃範囲を大きく広げています。OkoSpywareはExodusのようなウォレットや、1Password、KeePassXCなどのパスワード管理ツールを含む100以上のターゲットアプリのリストを作成し、FFmpegを同梱してウィンドウの映像を録画し、すべてのキーストロークを記録します。

さらに、ブラウザ拡張型ウォレットも同様に標的となります。 Kasperskyのテレメトリによると、MetaMaskやTonkeeperのタブも同様にフラグ付けされ記録されます。別モジュールのMC Keyloggerは、キーストロークやクリップボードの内容(画像含む)、接続されたUSBデバイスの詳細、5分ごとのスクリーンショットまで記録します。

 

Kasperskyの描く構図は、感染マシン全体が監視され、その中心にシードフレーズを狙う罠が仕掛けられているというものです。


攻撃者が盗むものがない場合

SeedHunterが成功するには4つの条件が必要ですが、Tangemの標準設定ではそのすべてが該当しません。

  1. シードフレーズをフィッシングする必要がある。これが攻撃の根幹です。Tangemの標準モデルでは、秘密鍵はカード内の認証済みセキュアエレメントで生成され、外部に出ることはありません。ユーザーがシードフレーズを持っていなければ、フィッシングページが尋ねるもの自体が存在しません。
     
  2. 次に、注入できるデスクトップアプリが必要。SeedHunterは3つの特定のWindowsプロセス(いずれもElectron製デスクトップアプリ)を狙いますが、Tangemにはデスクトップアプリがありません。
     
  3. 3つ目は、検出できるUSBデバイスが必要。マルウェアは既知ウォレットハードウェアのベンダーIDとプロダクトIDをUSBスキャンで探しますが、TangemカードはNFCでスマートフォンと通信します。

     

  4. 4つ目は、信じさせるためのもっともらしい理由が必要。LedgerやTrezorのユーザーはリカバリーや検証フローがアプリに組み込まれていることを知っているため、フレーズ入力のプロンプトも違和感がありません。しかしTangemの標準フローではリカバリーフレーズの入力を求めることはなく、カードやリングをスキャンしバイオメトリクスやアクセスコードを入力します。シードフレーズ入力を求めるプロンプトはTangemユーザーにとって明らかな警告サインです。

     

TangemのCTOであるAndrey Lazutkinは、こうした攻撃が狙う構造的な弱点こそがシードフレーズそのものであると指摘します。

 

「多くの人はハードウェアウォレットを購入すると、そのデバイスが秘密鍵を守ってくれると考えます。しかし従来型ウォレットの多くは、まずシードフレーズをユーザーに表示し、責任をユーザーに戻してしまいます。」

 

「その瞬間から、最も脆弱な部分はハードウェアウォレットではなくなります」と彼は続けます。「それはシードフレーズです。紙、金属プレート、引き出し、金庫、絶対に写真を撮ってはいけない画像、紛失・破損・コピー・漏洩・盗難のリスクがあるフレーズそのものです。」


フィッシング攻撃もシードフレーズ自体を直接狙い続けています。一度でもシードフレーズが漏れれば、ハードウェアウォレットの価格やセキュリティレベルは無意味になります。

スマートフォンを守るものは?

Tangemのモバイルファーストかつハードウェア連動型モデルは、構造的にOkoBotの攻撃を回避します。ただし、モバイルマルウェアというカテゴリ自体は現実に存在します。そこで、アプリ自体がOkoBotの3つの主要手法(偽オーバーレイ、キーロギング、画面キャプチャ)にどう対抗しているかを尋ねました。

Lazutkinによれば、Tangemアプリはランタイムで多層的な保護を実装しています。

  • ランタイム整合性チェック
  • アンチデバッグ
  • アンチエミュレーション
  • root・脱獄検出
  • 暗号化ストレージ
  • セキュア通信
  • 証明書検証
  • WebView保護
  • タップジャッキング対策
  • セキュア入力処理

 

さらに、権限の最小化、コードレビュー、監査、自動セキュリティチェックなども追加されています。これらのうち3つはOkoBotの手法(タップジャッキング、キーロギング、映像キャプチャ)に直接対応しています。

 

タップジャッキング対策は、SeedHunterの偽画面攻撃へのモバイル側の答えです。モバイルでは、アプリのウィンドウを上書きする代わりに、透明または誤誘導のオーバーレイを重ねてユーザーに誤操作をさせる手法が使われます。Tangemアプリはユーザー操作時に画面の一部が覆われていないかを常時チェックし、重要な場面での不正なUIオーバーレイを確実に検出・ブロックします。オーバーレイ攻撃は必ず検知され、遮断されます。

 

セキュア入力処理はキーロガー対策です。カスタムキーボードは入力内容の取得経路となるため、アプリは機密データ入力時にそれを検知します。また、オートコンプリートやスペルチェック、パスワード保存、予測変換なども重要フィールドでは無効化され、これらの利便機能による入力内容のキャッシュや漏洩を防ぎます。

 

スクリーンショット・画面録画の禁止はOkoSpywareの映像キャプチャ対策です。機密情報を表示する画面では、スクリーンショットや画面録画がOSレベルで完全に禁止されます。PC上でウォレットウィンドウを録画するOkoSpywareの手法は、スマートフォンでは通用しません。

 

これらすべての基盤となるのが整合性チェックです。アプリはランタイムで自身のコードを検証し、改ざんや不正バージョンの実行を防ぎます。これはRuntime Application Self-Protectionという分野の一部であり、Tangemは銀行・決済アプリでも使われるLicel社のDexProtectorを採用しています。これはAndroid・iOS両方でEMVCo評価・承認を受けた初のソフトウェア保護ツールです(詳細はこちら)。

サプライチェーンリスク

OkoBotは、検索エンジンにインデックスされた偽のGitHubリポジトリを使い、一般的なソフトウェア名で上位表示されることで拡散しました。正規ツールを探していたユーザーが、まず悪意あるものに誘導されてしまったのです。

 

また、トロイ化された依存ライブラリも利用されました。Kasperskyは最終ペイロードが悪意あるprotobuf.dllに紐付いていたことを突き止めています。このライブラリは見た目は正規品と同じですが、復号化されると本物のプラグインディスパッチャーを起動します。

 

正規プログラムがこのライブラリを読み込むと、同時にマルウェアも読み込まれます。これは大規模ソフトウェアプロジェクトでも大きな被害を出した手法で、信頼された依存関係が毒されると、その下流すべてが影響を受けます。

 

Tangemのビルドパイプラインがこうしたリスクにどう対処しているか、CISOのAnton Afanasyevに聞きました。

 

「私たちは複数の対策を組み合わせています」と彼は答えます。まず、最も重要な部分では外部コードへの依存を減らしています。「必要な外部ライブラリの一部はフォークまたは自社で再実装し、内部で管理しています。」フォークして社内管理することで、公開リポジトリからのサイレントなすり替えを防げます。

 

次の層はプロセス管理です。「安全な開発プロセスを確立し、すべての依存関係に脆弱性チェック、更新ウィンドウの管理、コードレビューなどを行っています。」ここで重要なのは、依存ライブラリの自動更新を避け、更新は必ずレビューを経て意図的に導入する点です。これにより、公開直後の悪意あるパッケージによる被害を防ぎます。

 

また、依存関係経由ではなく、公式アプリストア経由で開発者アカウントを乗っ取られた場合のリスクについてもLazutkinに尋ねました。


この攻撃が成立するには、「攻撃者は開発者認証情報を侵害し、MFAや社内アクセス制御を突破し、リリース承認プロセスを通過し、公式ビルドに悪意あるコードを注入し、AppleやGoogleの審査をすり抜け、公式アプリとしてのIDを維持し、プラットフォームのマルウェア検知を回避し、私たちのチームや監視システム、オープンソースコミュニティにも気付かれない必要があります」と彼は説明します。

脅威監視体制

OkoBotは検索結果で偽リポジトリを上位表示し、信頼できるブランドを装ってユーザーの信頼を得ていました。この配布戦略に対抗するには、継続的な監視が不可欠です。Tangemが偽アプリや偽リポジトリ、ブランドを模したフィッシングページをどう検知しているか、Afanasyevに聞きました。


「Tangemはマルウェアの脅威インテリジェンスやニュースチャンネルを監視し、ユーザーに関連するマルウェアファミリーやキャンペーンを追っています。私自身がこの監視を直接担当しています。」偽造やなりすまし対策については、「さまざまなリソースや非公式Androidアプリストア、GitHubも含めて監視しています」と述べています。


フィッシングサイトのテイクダウンは2つのルートで行われます。「ユーザーからフィッシングサイトや偽SNS・メッセンジャーアカウントの通報を受けます」とAfanasyevは説明します。もう1つのルートは非公開ですが、フィッシングリソースが特定されると、Tangemは関係各所と連携して対応しています。


最後に最も鋭い質問をしました。OkoSpywareがMetaMaskやTonkeeperを監視対象にしているように、Tangemアプリが既知のスティーラーやスパイウェアファミリーの監視リストに加えられたことはあるのでしょうか? 

 

「今のところ、そのようなモバイルマルウェアは確認されていません」とAfanasyevは答えています。ただし、1つだけ存在するものについては明確に言及しました。デスクトップでは、攻撃者がユーザーに偽の「Tangem Desktop」アプリをダウンロードさせるキャンペーンを実施したことがあります。「これは単純なリモートアクセス型ウイルスで、被害者のPCへの遠隔操作を可能にするものです。」SeedHunterのようなシードフレーズ窃取型の標的型攻撃ではありません。特殊な攻撃が成立しないため、攻撃者は一般的なリモートアクセスマルウェアに頼っているのです。


まとめ

SeedHunterは、特定の設計(USB接続のデスクトップウォレットアプリがシードフレーズを表示する)を狙った高度な攻撃です。

 

Tangemはこれら3つの条件を満たしていません。そのため、このフレームワークの高度なプラグインもTangemユーザーには何もできません。存在しないUSBウォレットを探し、存在しないデスクトッププロセスへの注入を待ち、書き留められたことのないフレーズをフィッシングしようとします。


この結果は、「余計な要素を加えるのではなく、削る」というセキュリティ哲学の当然かつ予測可能な帰結です。最も重要な秘密鍵はチップ内に封じ込められ、接続するPCを信頼する必要もありません。


ただし、ユーザー側の責任も残ります。外部のシードフレーズをTangemにインポートし、紙で保管した場合は、SeedHunterが狙うまさにその弱点を再び持ち込むことになります。その場合、他の経路からフィッシング被害に遭うリスクが残ります。

参考文献

Andrey LazutkinはTangemのCTO、Anton AfanasyevはTangemのCISOです。

Author logo
著者 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
レビュー担当者 Andrey Lazutkin

Chief Technology Officer at Tangem.