Androidタブレットに混入した「Keenadu」マルウェアについて

公開日: 2026/03/15

はじめに

Keenaduと呼ばれるマルウェアが、一部のAndoridタブレットに混入していたことがKasperskyの調査で明らかになりました。

格安タブレットで知られるAlldcube社のタブレットもマルウェア感染していることで発表され、話題となりました。

AlldcubeのKeenadu感染の声明
Alldcube製タブレットのKeenadu感染の報告

このKeenaduの攻撃手法が興味深かったので、調べた内容をわかりやすくまとめました。

Keenaduの概要

Keenaduは、Android端末のファームウェアに仕込まれたバックドア型マルウェアです。

デバイス出荷時のファームウェアのビルド段階で混入し、任意のアプリを起動すると各プロセスへ入り込み不正なコードを実行するという特徴があります。

アプリ起動時に、強い権限を入手してアプリインストールや検索キーワードの入手、個人情報の入手も技術的には可能であり、深刻な情報漏えいリスクをもたらす危険なマルウェアです。

攻撃手法の詳細

Kasperskyの以下の図がわかりやすいです。
この図を見ながら後述の説明を読んでもらえればと思います。

Keenaduの攻撃手法の図
Keenaduの攻撃手法の図解

マルウェア感染の仕組み

Androidでアプリを起動するときは、Zygoteとよばれるプロセスをforkして作られます。

Zygoteはアプリに必要なAndroidライブラリ等を事前に読み込んでおり、アプリの起動を効率化するためのプロセスです。

このZygoteはlibandroid_runtime.soと呼ばれるライブラリも含んでいます。

1libandroid_runtime.so はAndroidの標準クラス(android.view等)と、OSの深い層やHALの橋渡しをしている共有ライブラリです(感染していないAndroidソースコードにも存在する)。

libandroid_runtime.soはAndroidのログ出力(android.util.Log)の橋渡しもしていて、低いレイヤーにあるAndroidのログ管理システムに書きこむことをしています。

このlibandroid_runtime.soのログ出力用のメソッドprintln_nativeにマルウェアが埋め込まれていました。

要するに、Zygoteと呼ばれるアプリ起動時に必ずforkされるプロセスの中にマルウェアが埋め込まれていて、ログを1回でも出力するとマルウェアに感染するようになっていました。

マルウェア実行の仕組み

println_nativeに仕込まれたマルウェアは、まず自分がsystem_server[1]上で動いているかを確認します。

system_serverプロセスであればAKServer、通常のアプリプロセスならAKClientを起動します。

AKServersystem_serverに常駐する司令塔で、各アプリ側のAKClientBinderでプロセス間通信をします。

AKClientは、各アプリプロセス内で悪意のあるコードを実行する追加のDEX[2]を読み込むための足場として動きます。

つまり、攻撃者はAKServerでDEXファイルで悪意のあるコードを配信し、アプリ内のAKClientがそれを受信することで、任意の悪意あるコードをアプリ内で実行できる状態になっていました。

マルウェアによる被害

前述の通り、技術的にはアプリで実行できることはほとんどできてしまうため、認証情報窃取や個人情報の窃取など深刻な被害ももたらすことも可能になっています。

ただKasperskyの報告によると、現時点で主に広告不正と不正インストールの収益化に使われていたとみられています。

確認された、あるいはコードから判断された被害内容の一例は以下の通りです。

  • バックグラウンドでの不正な広告クリック
  • ショッピングカートへの不正追加
  • 不正なアプリのインストール
  • 位置情報・端末情報の収集
  • etc

混入経路

疑問に思うのは「どこからマルウェアが混入したんだ?」という点だと思います。

具体的な経路は報告されていませんが、Androidのファームウェアのビルド段階での混入が主な経路とされています。

ファームウェアをビルドするコンピュータがウイルス感染をしており、そこから不正なコードを埋め込んだlibandroid_runtime.soに置き換えて、ビルドされて、市場に出回ってしまったとされています。(典型的なサプライチェーン攻撃)

所感

サプライチェーンで入れられたら何もできんなぁと思った。OTAアップデートを祈りながら待つしかない。

格安タブレットはこういうサプライチェーンが信頼できないとこもリスキーなんだよな、ある程度なの知れたところを買うのが吉な気がする。

今回はお小遣い稼ぎが、目的っぽいけどやろうとすれば個人情報も抜けるしで怖すぎる。

なんかこういうマルウェアはたまたま世に出てきただけで、潜伏しているのはまだまだありそう。

参考

脚注
  1. system_server`はOSの一部として動くシステム用のプロセスであり、例えばアプリにどの権限を与えるかなど管理している。 ↩︎

  2. Androidアプリの実行用バイトコード形式で、ARTがDEXを読み込んで実行する。 ↩︎