スマホが乗っ取られているか、無料ツールで調べられる
朝の出汁版(通勤2分)
- ポイント1: オープンソースのフォレンジックツール「MVT」を使うと、iPhoneやAndroidに対してスパイウェアや不正アクセスの痕跡が残っていないかをコマンドラインから調査できると、公式ドキュメントに記載されている。
- ポイント2: 使う側として知っておくべきは、このツールがPegasusのような高度な監視ソフトの検出実績を持ちつつ、Pythonさえ動けば無償で使える点で、セキュリティ知識がなくても手順に沿って進められる設計になっている。
- ポイント3: 始めるなら公式リポジトリのREADMEに日本語環境でも動くセットアップ手順が整理されているので、まず自分の手元のスマホをスキャン対象に試してみるところから入るのがよい。
出汁の素(深読みモード)
Pegasusも検出できるフォレンジックツールが、無料で使える
「MVT(Mobile Verification Toolkit)」は、Amnesty Internationalのセキュリティラボが開発・公開しているオープンソースのスマホ解析ツール。iPhoneおよびAndroid端末に対して、スパイウェアや不正アクセスの痕跡が残っていないかを調査することを目的として設計されている。
特筆すべきは、世界的に問題視されたイスラエル製スパイウェア「Pegasus」の検出実績を持つ点。Pegasusは政府機関や報道関係者を標的にした監視ツールとして知られており、日本でも国会議員が標的になった可能性が指摘されたことがある。そのレベルの監視ソフトに対して有効な検出手段が、GitHubで公開されているという状況だ。
ツールの中身としては、端末のバックアップデータやシステムログを解析し、既知のスパイウェアが残す痕跡(IOC:侵害の痕跡)と照合する仕組みになっている。スター数は13,000超と、セキュリティ系ツールとしては相当な注目度だ。
「コマンドラインが必要」な部分と「そうでない部分」を整理する
MVTの利用にあたって、技術的な前提を正直に整理しておきたい。
Pythonが動く環境(macOSやLinux推奨)があれば、公式ドキュメントの手順に沿ってインストール自体は進められる。ただし、コマンドラインの操作が必須になる。GUIのアプリのように「ボタンを押すだけ」という性質のツールではない。
iPhoneの場合は、まず端末の暗号化バックアップをPCに取り、それをMVTに読み込ませる形で解析する。Androidの場合は、ADB(Android Debug Bridge)経由で接続する手順が加わる。
コードが書けると有利な場面として、独自のIOCリスト(特定の企業や地域向けに公開されている侵害痕跡の定義ファイル)をカスタマイズして読み込ませることができる点がある。公式が提供するデフォルトのIOCセットだけでなく、外部リポジトリのものを追加することで検出精度を上げられる。コードなしでも基本的なスキャンは動かせるが、精度を高めたい場合はこのあたりに手を入れることになる。
セキュリティ知識がゼロでも手順自体は追えるようドキュメントが整備されているため、「コマンドラインを触ったことがある」レベルなら、まず動かすことは難しくない。
「自分のスマホが怪しい」と感じたら、まず確認すべきサイン
MVTを使う前に、そもそも調査が必要かどうかを判断する材料として、疑うべき状況を整理しておく。
公式ドキュメントや関連研究が挙げているリスクの高い状況としては、「身に覚えのない設定変更が起きている」「バッテリー消費が急に激しくなった」「特定のリンクを踏んだ後から端末の挙動が変わった」などが典型的なサインとして挙げられている。SNSアカウントの乗っ取りや、メッセージアプリを通じた不審なリンク経由での感染が多いとされている。
特にリスクが高いとされるのは、公的な活動をしているジャーナリスト、弁護士、NPO関係者、あるいは企業秘密を扱うポジションにいる人。一般ユーザーを対象にした大規模スパイウェアは現時点ではそれほど一般的ではないが、高度なフィッシング攻撃との組み合わせで狙われるケースは報告されている。
「別に自分は関係ない」と思いがちだが、使い倒し型の人間は外部ツールとの連携が多く、それだけ攻撃面(アタックサーフェス)が広い。自分の端末環境の状態を一度確認しておくのは、むしろ合理的な判断だ。
実際に自分の端末を調べてみる:最初の一手
始めるなら、公式リポジトリのREADMEとドキュメントサイト(https://docs.mvt.re)を出発点にするのが確実。インストールから実行までの手順が英語で整理されており、日本語環境のmacOSでも動作する。
iPhoneを調べたい場合の流れ(概略)
- MacにMVTをpipでインストール(
pip install mvt) - Finderでエンドポイントを暗号化バックアップとして保存
mvt-ios check-backupコマンドでスキャン実行- 出力されるレポートで異常フラグの有無を確認
Androidを調べたい場合 ADB経由での接続が必要になるため、開発者オプションの有効化が前提になる。手順の難易度はiPhoneよりやや高め。
IOCリスト(検出パターンの定義ファイル)は、Amnesty TechのGitHubリポジトリ(github.com/AmnestyTech/investigations)から最新版を取得するとよい。このリストを更新しないと、新しい脅威には対応できないため、定期的な更新が推奨されている。
「まず自分の手元のスマホをスキャン対象に試してみる」という使い方が最もシンプルな入り口。仕様書を先に書くとAIコードが変わるでも触れたように、ツールを動かす前に「何を確認したいか」を明確にしておくと、出力レポートの読み方がぐっと楽になる。
CI/CDやサーバー監視と組み合わせて定期スキャンを自動化する
MVTはコマンドラインツールなので、スクリプト化して定期実行する使い方が現実的に有効。たとえば、iPhoneのバックアップを定期的に取得しているMacがあれば、そのバックアップフォルダをMVTに自動で食わせるシェルスクリプトを書き、cronやLaunchAgentで週次実行するという構成が作れる。
出力レポートはJSON形式でも取得できるため、異常フラグが出た場合だけSlack通知を飛ばすといった連携も難しくない。ログイン済みブラウザをAIに操作させる新手法のように自動化の組み合わせに慣れている人であれば、「バックアップ取得→スキャン実行→Slack通知」のパイプラインを1日で組めるレベルの難易度だ。
また、IOCリストの自動更新もスクリプトに組み込むことで、常に最新の脅威定義でスキャンが走る状態を維持できる。複数台の端末を管理する立場(家族分、チームの検証端末など)であれば、この自動化の価値は一段と上がる。
参照ソース
- [GitHub]cloudflare/quiche→ github.com/cloudflare/quiche
- [GitHub]cv-cat/DouYin_Spider→ github.com/cv-cat/DouYin_Spider
- [GitHub]mvt-project/mvt→ github.com/mvt-project/mvt
