GhostMapのバグでAndroidスマホが再起動ループに陥る

セキュリティ専門家は、Androidスマートフォンに新たな脆弱性が見つかったと警告しています。この脆弱性を悪用されると端末がクラッシュループに陥り、復旧には工場出荷時へのリセットを強制的に実行するしかありません。

Bitdefenderによると、同社がラボで、実環境から収集したAndroidパッケージ(APK)を実行したところ、エミュレーターがクラッシュしたことで問題を発見しました。調査の結果、原因はマルウェアではなく、Android OS自体のバグだと判明しました。

同社はブログ記事で次のように説明しています。「OSがZIPエントリ内の2つのフィールド、すなわち圧縮方式と宣言された非圧縮サイズを誤って処理します。このようなエントリを読み込むと、そのファイルに触れたプロセスでSIGBUS(無効なメモリ空間にアクセスしたプロセスを停止させるため、CPUが送信するシグナル)が発生します」

「私たちはこれをGhostMapと名付けました。細工されたエントリによって、Androidは割り当てられていないメモリ領域にファイルをマッピングしてしまいます。プロセスがその空の領域から読み込もうとした時点でクラッシュが起こります」

Androidのバグに関する関連記事:Google APIキーが、Android端末のGeminiへ知らぬ間にアクセス可能に 

Bitdefenderによると、クラッシュループは再起動後も続き、セーフモードでも解消しません。つまり、脱出する唯一の方法は、端末内に保存されたデータがすべて消去される工場出荷時へのリセットです。

このバグはAndroid 10以降のすべてのバージョンに影響します。しかしGoogleは、この問題はセキュリティ修正の対象範囲外だと主張しており、現時点で対処していないと報告書は指摘しています。

セキュリティベンダーであるBitdefenderは、8月20日にGoogleへ通知しました。

攻撃者によるGhostMapの悪用シナリオ

Bitdefenderは、サイバー犯罪者がこの手法を偽アプリに仕込んで被害者のスマホを使用不能にしたり、GhostMapの脅威を材料に恐喝を行ったりする可能性が理論上あると警告しています。

同社は、考えられるシナリオをいくつか示しました。

  • 被害者のスマホを文鎮化する:Androidのシステムサービスが読み込む必要のあるリソースに、意図的に不正な細工をしたマルウェアアプリを作成します。システムサービスがそのリソースを読み込むとsystem_serverがクラッシュし、スマホは使用不能になります。これは恐喝に利用される恐れがあります
  • 悪意あるアプリを削除不能にする:アイコンに不正な細工をしたリソースを含めると、Androidがそれを表示しようとした時点でクラッシュが起こります。ユーザーがアンインストールしようとしても、ランチャー、設定のアプリ一覧、アプリ自体の情報画面のいずれもクラッシュします
  • セキュリティツールを無効化する:モバイル向けセキュリティアプリ、マルウェア解析用サンドボックス、自動スキャンのパイプラインは、不審なアプリを調べるためにAndroidのリソース解析コードを使う必要があります。APKに不正な細工をしたリソースを埋め込めば、攻撃者はGhostMapを引き起こし、検査を行うあらゆるものをクラッシュさせることができます
  • アプリのアップデートを通じた配布:ダウンロード時には信頼できるアプリに見えても、理論上は、不正な細工をしたファイルを後から紛れ込ませることができます。その場合、アプリストアの審査やセキュリティスキャンをすり抜け、はるかに多くの潜在的な被害者に一度に感染させる可能性があります

「これはAndroid自体の欠陥であり、本記事の公開時点で修正は提供されていません。そのため、ユーザーが端末上で取れる防御策は限られています。最も現実的な対策は、バグが引き起こされる前にそのファイルを見分けることです」と、Bitdefenderは結論づけています。

「不正な細工はファイルの構造上に現れているため、アプリをインストールしたり実行したりしなくても確認できます。スキャナーは、ファイルを実行するのではなく検査することで、細工されたファイルと通常のファイルを見分けられます」

同社は、この問題をAndroid.Riskware.Ghostmap.rAとして検出します。

翻訳元: https://www.infosecurity-magazine.com/news/ghostmap-bug-android-phones-stuck/

本記事は infosecurity-magazine.com の記事を翻訳・要約したものです。