Kasperskyがシードフレーズ窃取用マルウェアを発見

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

Author logo
Patrick Dike-Ndulue
Post image

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

 

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

 

ユーザーがこの罠にかかった場合、TookPSというPowerShellスクリプトが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は100以上のターゲットアプリ(Exodusのようなウォレットや1Password、KeePassXCなどのパスワードマネージャーを含む)のリストを作成し、FFmpegを使ってウィンドウの映像を録画し、すべてのキー入力を記録します。

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

 

Kasperskyが描くのは、感染端末の全行動が監視され、その中心にシードフレーズ用の罠が仕掛けられているという全体像です。


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

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

  1. It needs a seed phrase to phish. これが攻撃の根本です。Tangemの標準モデルでは、秘密鍵はカード内の認証済みセキュアエレメントで生成され、外部に出ることはありません。ユーザーがシードフレーズを持っていなければ、フィッシングページが聞き出すもの自体が存在しません。
     
  2.   Second, it needs a desktop app to inject into. SeedHunterは3つの特定のWindowsプロセス(いずれもElectron製デスクトップアプリ)をターゲットとしますが、Tangemにはデスクトップアプリがありません。
     
  3.   Third, it needs a USB device to detect. マルウェアのトリガーは、既知のウォレットハードウェアのベンダーID・プロダクトIDをUSBスキャンで検出することです。TangemカードはスマートフォンとNFCによるタップで通信します。

     

  4. Fourth, it needs a believable pretext. LedgerやTrezorのユーザーは、リカバリーや検証フローがアプリに組み込まれていることを知っているため、フレーズ入力のプロンプトが出ても違和感がありません。しかしTangemの標準フローでは、リカバリーフレーズの入力を求めることはありません。カードやリングをスキャンし、生体認証またはアクセスコードを入力するだけです。シードフレーズ入力を求める画面が出れば、Tangemユーザーには明らかな不審点となります。

     

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

 

「多くの人はハードウェアウォレットを購入する際、秘密鍵を守ってくれると期待します。しかし従来型ウォレットの多くは、まずシードフレーズをユーザーに表示し、その管理責任をユーザー自身に委ねてしまいます。」

 

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


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

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

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

Lazutkinによれば、Tangemアプリは実行時保護のフルスタックを実装しています。

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

 

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

 

Tapjacking protectionは、SeedHunterの偽画面対策です。モバイルでは、アプリのウィンドウを上書きする代わりに、透明または誤誘導のオーバーレイを重ねて、ユーザーのタップを本来と異なる操作に誘導する手法が使われます。Tangemアプリはユーザー操作時に画面の被覆状態を常時検査し、重要な部分で不可視UIオーバーレイによる乗っ取りを防ぎます。オーバーレイ攻撃は必ず検知・ブロックされます。

 

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

 

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

 

これらすべての基盤となるのがintegrity checking(整合性チェック)です。アプリは実行時に自らのコード改ざんを検出し、不正または許可されていないバージョンの実行を防ぎます。これは「ランタイムアプリケーション自己防御(RASP)」と呼ばれる分野の一部です。TangemはLicel社のDexProtectorを採用しており、これは大手銀行や決済アプリでも利用され、EMVCoによるAndroid・iOS双方の評価・認定を受けた初のソフトウェア保護ツールです。

サプライチェーンリスク

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

 

また、トロイの木馬化された依存ライブラリも利用されました。Kasperskyは最終ペイロードが悪意あるprotobuf.dll(オープンソースユーティリティに同梱)であることを突き止めており、見た目は正規ライブラリと同一でも、復号後は本物のプラグインディスパッチャの裏でマルウェアが起動します。

 

正規プログラムがこのライブラリを読み込むと、同時にマルウェアも実行されます。これは、信頼された依存関係を汚染することで、下流すべてに毒が広がるという、過去に多くのソフトウェアプロジェクトが被害を受けた手法と同じカテゴリです。

 

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

 

「複数の対策を組み合わせています」と彼は答えます。最初は、特に重要な部分で外部コードへの依存を減らすことです。「必要な外部ライブラリのうち、最も重要なものはフォークして独自管理しています。」フォークして社内管理することで、公開依存ライブラリのようにトロイの木馬版へすり替えられるリスクを排除できます。

 

次の層はプロセスの厳格な運用です。「セキュアな開発プロセスを導入し、すべての依存関係に脆弱性チェックを行い、更新タイミングも管理しています。コードレビューも徹底しています。」ここで重要なのは、依存関係の自動更新を避けている点です。新バージョンが公開された瞬間に自動で組み込むのではなく、内容を精査してから手動で導入することで、悪意あるパッケージの混入リスクを下げています。

 

また、依存関係経由でなく、公式アプリストア経由で開発者アカウントが乗っ取られ、悪意あるアップデートが配信される可能性についてもLazutkinに聞きました。


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

脅威監視体制

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.