Kasperskyの研究者らが、Apple App StoreとGoogle Play Store上の複数のアプリから、仮想通貨ウォレットの秘密鍵(リカバリーフレーズ)を窃取する悪質なSDK(ソフトウェア開発キット)を発見した。「SparkCat」と呼ばれるこの攻撃キャンペーンでは、光学文字認識(OCR)技術を用いて、ユーザーがスクリーンショットとして保存したリカバリーフレーズを自動的に特定し、窃取する物だという。
公式ストアの審査をすり抜けた巧妙な手口
「SparkCat」で使用される悪質なSDKは、”Spark“という名前で配布され、一般的な分析モジュールを装っている。このSDKは以下の特徴を持つ:
- Androidアプリでは主にJavaコンポーネントとして実装
- iOSアプリでは”Gzip”、”googleappsdk”、”stat”といった一般的な名称で偽装
- Rustで書かれたネットワークモジュール”im_net_sys”を使用してC2(Command & Control)サーバーと通信
SparkCatの最大の特徴は、GoogleのML Kit OCRを利用してデバイス内の画像からテキストを抽出する点だ。これにより、スクリーンショットなどに保存された仮想通貨ウォレットのリカバリーフレーズを検出し、パスワードなしで攻撃者のデバイスからウォレットにアクセスすることを可能にする。Kasperskyは、「マルウェアコンポーネントは、システム言語に応じて異なるOCRモデルをロードし、写真内のラテン文字、韓国語、中国語、日本語の文字を識別します」と説明している。
マルウェアは、デバイス情報をC2サーバーに送信し、サーバーからの応答に基づいて動作を制御している。そして、地域(ヨーロッパ、アジアなど)ごとに異なるキーワードを使用して、秘密情報を含む画像を検索するのだ。
Kasperskyの調査によると、感染アプリはGoogle Playだけで242,000回以上ダウンロードされている。特筆すべきは、App Storeでこのような暗号資産窃取ツールが発見されたのは今回が初めてという点だ。
影響を受けるアプリと対策
Kasperskyは以下の感染状況を確認している:
- Androidアプリ:18本
- iOSアプリ:10本
これらの多くは、本記事執筆時点でも両ストアから入手可能な状態にある。
例えば、AndroidのChatAiアプリは50,000回以上のインストール数を記録していたが、現在はGoogle Playから削除されている。影響を受けるアプリの完全なリストは、Kasperskyの公式レポートで確認できる。
これらのアプリをインストールしている場合は、直ちにアンインストールし、モバイルアンチウイルスツールを使用して残存ファイルをスキャンすることを推奨する。また、スクリーンショットに仮想通貨ウォレットのリカバリーフレーズを保存することは避け、オフラインの物理メディアや暗号化されたリムーバブルストレージデバイス、自己ホスト型のオフラインパスワードマネージャーなどに保管するべきだろう。
感染経路と今後の展望
Kasperskyは、悪質なSDKが組み込まれた経緯について、「サプライチェーン攻撃の結果なのか、開発者による意図的な行為なのかは断定できない」としている。一部のアプリは正規のものに見える一方、他のアプリは明らかにユーザーを誘い込むために作られたものだという。
悪質なSDKが正当な機能を提供するため、気付かないうちにモバイルアプリ開発者によって実装されている可能性もある。
被害に遭ったユーザーは、アプリを削除するだけでなく、念のため、仮想通貨を新しいウォレットに移し、新しいシードフレーズを使用することが推奨される。ただし、その前に必ずデバイスをクリーンアップする必要がある。
Sources
- Securelist: Take my money: OCR crypto stealers in Google Play and App Store
- via BleepingComputer: Crypto-stealing apps found in Apple App Store for the first time
コメント