Google は、
潜在的に有害なアプリ(PHA)からユーザーを守るためのシステム改善を続けています。通常、PHA の作成者は、有害なアプリをできるだけ多くの端末にインストールしようとします。しかし、一部の PHA の作成者は、作った有害なアプリを多くの労力、時間、金銭を使って 1 台またはごく少数の端末にインストールさせようとします。これは、
標的型攻撃と呼ばれています。
本ブログ投稿では、新しく発見されたスパイウェアの系統である Chrysaor について説明します。Chrysaor は少数の Android 端末を狙った標的型攻撃に使われています。また、Google がさまざまな脅威から Android ユーザーを保護する上で、このような分析がどのように役立つかという点についても説明します。
Chrysaor とは
Chrysaor は、標的型攻撃のソフトウェアやインフラの作成、販売に特化している
NSO Group Technologies が作成したと考えられているスパイウェアです。Chrysaor は、
最初に iOS で発見され、
Citizen Lab および
Lookout が分析した Pegasus スパイウェアに関連があると考えられています。
昨年末、Google は Lookout から疑わしいパッケージ名の一覧を受け取り、そこから数十台の Android 端末に Pegasus に関連したアプリがインストールされている可能性があることがわかりました。Chrysaor と名付けられたこのアプリは Google Play では公開されていませんでしたが、私たちは
アプリの確認を使って問題の影響範囲を即座に特定しました。その際、影響を受けた端末から情報を収集するとともに、ユーザーへの影響をさらに詳しく把握するため、Chrysaor アプリを入手しようとしました。また、影響を受けた可能性があるユーザーに連絡し、その端末でアプリを無効化し、すべてのユーザーを保護するためにアプリの確認に変更を加えました。
Chrysaor の影響範囲
Chrysaor は Google Play で公開されたことはなく、インストール数はごくわずかなものでした。アプリの確認で保護されている端末は 14 億台以上ありますが、その中で Chrysaor がインストールされていたのは 30 台程度で、それらの端末が所在する国は以下のとおりです。
Google による保護策
Android 端末およびユーザーを保護するため、Google Play は完全なセキュリティ サービスを提供しています。これは、プラットフォーム リリースとは独立してアップデートされます。端末を安全に保つために、ユーザーが追加のセキュリティ サービスをインストールする必要はありません。2016 年には、このサービスは次のようにして 14 億台以上の端末を保護しており、Google は世界でも有数の端末セキュリティ サービス プロバイダとなっています。
さらに、セキュリティ業界が協力して PHA に立ち向かえるよう、詳細な技術情報も提供しています。
ユーザーが行うべきこと
皆さんやまわりの方々が不正ソフトウェア Chrysaor による影響を受けている可能性はかなり低いでしょう。分析を通じて、Chrysaor による影響を受けた端末は 30 台程度であることがわかっています。また、それらの端末で Chrysaor を無効化し、影響を受けたことがわかっている端末の全ユーザーに通知しています。さらに、改善された保護機能は、セキュリティ サービスの全ユーザーで有効になっています。
PHA などの脅威から完全に身を守るために、以下の 5 つの基本的なステップを実行することを推奨します。
- 信頼できるソースのアプリのみをインストール: アプリは Google Play などの信頼できるソースからインストールします。Google Play には Chrysaor アプリはありませんでした。
- 保護されたロック画面の利用: PIN、パターン、パスワードのいずれかから、覚えやすく他人が想像しにくいものを選びます。
- 端末のアップデート: 最新のセキュリティ パッチを適用し、端末を最新に保ちます。
- アプリの確認: アプリの確認を確実に有効にします。
- 端末を探す: Android デバイス マネージャーで端末を探す練習をしておきます。PHA をインストールする可能性よりも、端末をなくす可能性の方がはるかに高いためです。
Chrysaor の仕組み
攻撃者は、Chrysaor をインストールさせるために、攻撃の対象となった個人をだまして悪意のあるソフトウェアを端末にダウンロードさせたものと思われます。Chrysaor がインストールされると、リモートのオペレータがマイク、カメラ、データ収集、電話や SMS など通信アプリのアクティビティのログやトラッキングによって、被害者の端末やその周りの動作を監視できるようになります。
分析した代表的な Chrysaor アプリのサンプルは、Jellybean(4.3)以前を実行する端末が対象でした。以下に説明するのは、Samsung 端末を狙った
com.network.android
という Chrysaor アプリのスコープと影響です。このアプリの SHA256 ダイジェストは、次のようになっています。
ade8bef0ac29fa363fc9afd958af0074478aef650adeb0318517b48bd996d5d5
インストールされたアプリは、framaroot と呼ばれる既知の脆弱性を悪用して権限を昇格させ、Android アプリのサンドボックスをすり抜けます。悪用できる脆弱性が対象端末に存在しない場合は、
/system/csk
に配置されているスーパーユーザー バイナリを使って権限の昇格を行おうとします。
権限を昇格したアプリは、即座に自身を保護し、次のようにしてデータの収集を始めます。
- ファクトリー リセットを行っても消去されないように、
/system
パーティションに自身をインストールします。
- 自身が削除されることがないように、Samsung のシステムアップデート アプリ(
com.sec.android.fotaclient
)を削除し、自動アップデートを無効化(Settings.System.SOFTWARE_UPDATE_AUTO_UPDATE
を 0 に設定)します。
- WAP プッシュ メッセージを削除し、WAP メッセージ設定を変更します。これは、分析を妨害するための措置と考えられます。
- コンテンツの監視と、リモートからのコマンドを受け取って収集したデータを送信するメインタスクのループを開始します。
このアプリは、6 つの手法を使ってユーザーデータを収集します。
- 繰り返しコマンド: アラームを使って端末上で定期的にアクションを繰り返し、位置データなどを収集して送信します。
- データ収集: 端末に存在するすべてのコンテンツをキューに格納します。データ収集ツールは繰り返しコマンドと連携し、SMS 設定、SMS メッセージ、通話履歴、ブラウザの履歴、カレンダー、連絡先、メール、および WhatsApp、Twitter、Facebook、Kakoa、Viber、Skype などのメッセージング アプリのメッセージからユーザーデータを収集します。このために、各アプリの /data/data ディレクトリをどこからでも読み出せるようにしています。
- コンテンツ監視: Android の ContentObserver フレームワークを使い、SMS、カレンダー、連絡先、電池情報、メール、WhatsApp、Facebook、Twitter、Kakao、Viber、Skype などの変更を収集します。
- スクリーンショット: ローフレーム バッファを使って現在の画面のイメージを取得します。
- キーロギング:
/system/lib/libbinder.so
から IPCThreadState::Transact
をフックして入力イベントを記録し、com.android.internal.view.IInputContext
インターフェースを使って android::parcel をインターセプトします。
- 盗聴: ある電話に対して自動的に応答してバックグラウンドで通話状態を維持し、スマートフォンのマイクが音を拾える範囲の会話を発信者が盗聴できるようにします。ユーザーが端末のロックを解除すると、黒い画面が表示されます。その間にアプリは電話を切り、通話設定をリセットしてユーザーが通常通りに端末を使えるようにします。
また、アプリは以下の 3 通りの方法で自身を削除することができます。
- サーバーからのコマンド
- 端末がサーバーにチェックインできない状態が 60 日間続いた場合、自動削除
- ワクチン ファイルの適用。端末に
/sdcard/MemosForNotes
が存在すると、Chrysaor アプリは端末から自身を削除します。
VirusTotal へのサンプルのアップロード
セキュリティ コミュニティによるさらなる分析を促すため、サンプル Chrysaor アプリを Virus Total にアップロードしています。
パッケージ名
|
SHA256 ダイジェスト
|
SHA1 証明書
|
com.network.android
|
ade8bef0ac29fa363fc9afd958af0074478aef650adeb0318517b48bd996d5d5
|
44f6d1caa257799e57f0ecaf4e2e216178f4cb3d
|
com.network.android
|
3474625e63d0893fc8f83034e835472d95195254e1e4bdf99153b7c74eb44d86
|
516f8f516cc0fd8db53785a48c0a86554f75c3ba
|
Chrysaor 関連のその他のダイジェスト
分析の結果、上記の他にも以下の Chrysaor 関連のアプリが特定されています。
パッケージ名
|
SHA256 ダイジェスト
|
SHA1 証明書
|
com.network.android
|
98ca5f94638768e7b58889bb5df4584bf5b6af56b188da48c10a02648791b30c
|
516f8f516cc0fd8db53785a48c0a86554f75c3ba
|
com.network.android
|
5353212b70aa096d918e4eb6b49eb5ad8f59d9bec02d089e88802c01e707c3a1
|
44f6d1caa257799e57f0ecaf4e2e216178f4cb3d
|
com.binary.sms.receiver
|
9fae5d148b89001555132c896879652fe1ca633d35271db34622248e048c78ae
|
7771af1ad3a3d9c0b4d9b55260bb47c2692722cf
|
com.android.copy
|
e384694d3d17cd88ec3a66c740c6398e07b8ee401320ca61e26bdf96c20485b4
|
7771af1ad3a3d9c0b4d9b55260bb47c2692722cf
|
com.android.copy
|
12e085ab85db887438655feebd249127d813e31df766f8c7b009f9519916e389
|
7771af1ad3a3d9c0b4d9b55260bb47c2692722cf
|
com.android.copy
|
6348104f8ef22eba5ac8ee737b192887629de987badbb1642e347d0dd01420f8
|
31a8633c2cd67ae965524d0b2192e9f14d04d016
|
Lookout は、Google が入手したサンプルに対する独自の調査を終えています。報告書は、
こちらから参照できます。