'NoVoice' Android malware on Google Play infected 2.3 million devices

NoVoiceと名付けられた新しいAndroidマルウェアは、既知の脆弱性を悪用してrootアクセスを獲得し、Google Playストアの50以上のアプリを通じて配布され、少なくとも230万ダウンロードされた。

悪意のあるペイロードを搭載したアプリには、クリーナー、画像ギャラリー、ゲームなどが含まれていました。これらのアプリは不審なパーミッションを必要とせず、約束された機能を提供していた。

感染したアプリを起動すると、マルウェアは2016年から2021年の間にパッチを受けた古いAndroidの脆弱性を悪用して、デバイスのルートアクセスを取得しようとした。

Wiz

サイバーセキュリティ企業McAfeeの研究者は、NoVoiceの動作を発見したが、特定の脅威行為者と関連付けることはできなかった。しかし彼らは、このマルウェアがAndroidトロイの木馬Triadaと類似点を共有していることを強調した。

App on Google Play carrying the NoVoice payload
NoVoiceペイロードを搭載したGoogle Play上のアプリ
ソースはこちら:マカフィー

NoVoiceの感染チェーン

McAfeeの研究者によると、脅威の主体はcom.facebook.utilsパッケージに悪意のあるコンポーネントを隠し、正規のFacebook SDKクラスと混ぜていました。

ステガノグラフィーを使用してPNG画像ファイル内に隠された暗号化されたペイロード(enc.apk)が抽出され(h.apk)、痕跡を消すためにすべての中間ファイルを消去しながらシステムメモリにロードされます。

McAfeeは、脅威の主体が中国の北京や深圳のような特定の地域のデバイスに感染することを避け、エミュレータ、デバッガ、VPNに対する15のチェックを実装していると指摘しています。ロケーションパーミッションが利用できない場合、マルウェアは感染チェーンを継続します。

Validation checks performed on the infected device
感染デバイスで実行される検証チェック
出典:McAfee:マカフィー

その後、マルウェアはコマンド&コントロール(C2)サーバーに連絡し、ハードウェアの詳細、カーネルのバージョン、Androidのバージョン(およびパッチレベル)、インストールされているアプリ、rootステータスなどのデバイス情報を収集し、エクスプロイト戦略を決定します。

次に、マルウェアは60秒ごとにC2をポーリングし、被害者システムをルート化するように設計されたデバイス固有のエクスプロイトのためのさまざまなコンポーネントをダウンロードする。

研究者らは、配信段階からインジェクション段階までの感染チェーンのマップを作成した。

Compromise chain for the NoVoice Android malware
NoVoice Androidマルウェアのコンプロマイズチェーン
ソースはこちら:マカフィー

McAfeeによると、use-after-freeカーネルのバグやMali GPUドライバの欠陥を含む22のエクスプロイトが観測されたという。これらの悪用により、操作者はルートシェルを使用できるようになり、デバイスのSELinuxの強制を無効にして、基本的なセキュリティ保護を効果的に停止することができます。

デバイスをroot化した後、libandroid_runtime.soや libmedia_jni.soなどの主要なシステムライブラリは、システムコールを傍受し、実行を攻撃コードにリダイレクトするフックされたラッパーに置き換えられます。

このルートキットは、リカバリー・スクリプトのインストール、システム・クラッシュ・ハンドラーのルートキット・ローダーへの置き換え、システム・パーティションへのフォールバック・ペイロードの保存など、複数のレイヤーの永続性を確立します。

工場出荷時のリセットでは、デバイスのストレージのその部分は消去されないため、マルウェアは積極的なクリーンアップを行った後でも持続する。

ウォッチドッグ・デーモンは60秒ごとに実行され、ルートキットの完全性をチェックし、欠落しているコンポーネントを自動的に再インストールする。チェックに失敗すると、デバイスが強制的に再起動され、ルートキットがリロードされます。

WhatsApp データ盗難

侵入後の段階では、攻撃者が制御するコードが端末上で起動する全てのアプリに注入される。1つはアプリのサイレントインストールや削除を可能にするもの、もう1つはインターネットにアクセスできるアプリ内で動作するものです。

後者はデータ窃取の主要なメカニズムとして機能し、McAfeeの観測によると、主にWhatsAppメッセージングアプリを標的としている。

感染した端末でWhatsAppを起動すると、マルウェアは暗号化データベース、Signalプロトコルキー、電話番号やGoogle Driveのバックアップ情報などのアカウント識別子など、被害者のセッションを複製するために必要な機密データを抽出します。

これらの情報はC2に流出し、攻撃者は被害者のWhatsAppセッションを自身のデバイス上に複製することが可能になる。

Code for stealing WhatsApp databases
WhatsApp データベースを盗むコード
ソースはこちら:マカフィー

研究者は、WhatsAppに特化したペイロードのみを回収したものの、NoVoiceのモジュール設計により、デバイス上のあらゆるアプリケーションを標的とする他のペイロードを使用することが技術的に可能であると指摘しています。

NoVoiceのペイロードを搭載した悪意のあるAndroidアプリケーションは、App Defense AllianceのメンバーであるMcAfeeがGoogleに報告した後、Google Playから削除された。

グーグルの広報担当者は、2021年5月以降にアップデートされた端末はNoVoiceから保護されていると述べている。

「追加の防御レイヤーとして、Google Playプロテクトは自動的にこれらのアプリを削除し、新規インストールをブロックします。ユーザーは常に、自分のデバイスで利用可能な最新のセキュリティアップデートをインストールする必要があります。”

しかし、以前にインストールしたことのあるユーザーは、自分のデバイスとデータが危険にさらされていると考えるべきだ。

NoVoiceは2021年5月までに修正された欠陥を対象としているため、それ以降のセキュリティ・パッチが適用されたデバイスにアップグレードすることで、現在の形でこの脅威を効果的に軽減することができる。

Androidユーザーは、積極的にサポートされているモデルにアップグレードし、Google Play上であっても、信頼できる有名なパブリッシャーからのアプリのみをインストールすることを推奨する。

更新[4月2日]: NoVoiceが数年前に対処された古い脆弱性を悪用しており、旧式の端末に影響を及ぼしていることをより明確にするため、Googleからの声明を掲載し、記事を更新しました。

.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}

.ia_button {
width: 100%;
margin: 0px auto;
}
}

自動ペンテストは6面のうち1面のみをカバーする。

自動ペンテストはパスの存在を証明する。BASは、あなたのコントロールがそれを止めるかどうかを証明します。ほとんどのチームは、一方を実行し、もう一方を実行しない。

このホワイトペーパーは、6つの検証サーフェスをマッピングし、どこでカバーが終了するかを示し、実務者にあらゆるツール評価のための3つの診断質問を提供します。