スマートフォン
 Computer >> コンピューター >  >> スマートフォン >> スマートフォン

Androidのアクセシビリティサービスを悪用するマルウェアの脅威と対策

Androidの「ユーザー補助(Accessibility)サービス」は、高齢者や障害のある方がスマートフォンを快適に使えるよう支援するための重要な機能です。しかし一方で、この仕組みは悪意ある開発者にとって、ユーザーに被害をもたらす悪質なマルウェアを作り出すための入り口にもなり得ます。


本記事では、Androidのユーザー補助サービスの概要と、それがどのように悪用されうるのかを詳しく解説します。


Androidのユーザー補助サービスとは?


Androidのユーザー補助サービスを利用すると、アプリは端末を操作して特別なタスクを実行できるようになります。その主な目的は、障害を持つ方々のスマートフォン利用を支援することです。


例えば、視覚に障害がある方がテキストを読み取れない場合に備えて、開発者はこのサービスを使って画面上の文字を読み上げさせることができます。


さらに、このサービスはユーザーに代わって操作を実行したり、他のアプリの上にコンテンツを重ねて表示(オーバーレイ表示)したりすることも可能です。これらはすべて、幅広い障害を持つユーザーがデバイスを快適に扱えるようにするための機能です。


なお、これは「Android Accessibility Suite」とは別物である点に注意が必要です。ユーザー補助サービスはアプリを強化したい開発者向けの仕組みであるのに対し、Android Accessibility Suiteは障害者支援アプリを提供するためのものです。


ユーザー補助サービスはどのように悪用されるのか?


残念ながら、開発者に端末への強い権限を与えるということは、常に悪用されるリスクを伴います。例えば、ユーザーのためにテキストを読み上げる機能は、画面上のテキストをスキャンして開発者へ送信することにも転用できてしまうのです。


また、ユーザーの操作代行とオーバーレイ表示は、クリックジャッキング攻撃の主要な要素です。マルウェアはこのサービスを利用して、自らボタンをクリックできます。例えば、自身に管理者権限を付与させるといった具合です。さらに、画面上にコンテンツを重ねて表示し、ユーザーを騙してクリックさせることも可能になります。


ユーザー補助サービスの悪用の実例


マルウェアによる悪用の可能性を理論的に語ることもできますが、実際の事例から学ぶのが最も効果的でしょう。Androidのマルウェアの歴史には、ユーザー補助サービスを自己の利益のために利用した攻撃が数多く存在します。ここでは、特に深刻な被害をもたらした代表例をいくつか紹介します。


Cloak and Dagger


Cloak and Daggerは、この種のマルウェアの中でも特に恐ろしい例の一つでした。ユーザー補助サービスとオーバーレイ描画サービスを組み合わせることで、ユーザーのスマートフォン上のあらゆる情報を読み取ることができました。


Cloak and Daggerの対処が困難だった最大の理由は、その実行手法にあります。正規のAndroidサービスを利用して攻撃を実行していたため、アンチウイルスソフトや検出システムをすり抜けることができたのです。さらに、セキュリティチェックに引っかからなかったため、開発者がGoogle Playストアへ感染アプリをアップロードすることも容易でした。


Anubis


Anubisは、ユーザーから銀行の認証情報を盗み出し、開発者へ送信するバンキングトロイの木馬です。バンキングトロイの木馬は、ハッカーが銀行口座へ不正侵入する際によく使われる手法の一つです。


Anubisはユーザー補助サービスを利用して、ユーザーが入力中の内容を読み取っていました。バンキングトロイの木馬は通常、銀行アプリに似せた偽のオーバーレイを表示することで金融情報を窃取します。これにより、ユーザーは公式アプリではなく偽の画面に情報を入力してしまうのです。


ところがAnubisはこの一手間を省き、キーボードで入力された内容を直接読み取る方式を採用していました。ユーザーがどれほど注意深く本物の銀行アプリへ情報を入力しても、Anubisはその情報を取得できたのです。


Ginp


続いて、もう少し最近の事例を見てみましょう。GinpはAnubisに着想を得たAndroidのトロイの木馬です。Anubisのコードを一部含んでいましたが、元のマルウェアの改造版ではありません。開発者はまずゼロからプログラムを構築し、その後に特定の機能のためにAnubisからコードを流用したのです。


GinpはAdobe Flash Playerになりすまし、ユーザーにインストールを促します。その後、ユーザー補助サービスを含む複数の権限を要求しました。


ユーザーが偽のFlash Playerに権限を与えると、Ginpはそのサービスを利用して自分自身に管理者権限を付与します。この権限を手にしたGinpは、端末のデフォルトの電話・SMSアプリとして自分を設定できるようになりました。その結果、SMSメッセージの収集、メッセージの送信、連絡先リストの取得、通話の転送などが可能になったのです。


さらに悪いことに、GinpはAnubisの手法も取り入れ、銀行詐欺へと手を広げました。ユーザー補助サービスを使って、公式アプリの画面の上に偽の銀行ログインページを重ねて表示し、ユーザーのログイン情報やクレジットカード情報を収集していたのです。


Googleはユーザーを守るために何をしているのか?


ユーザー補助サービスがマルウェア開発者の手に渡ったことを受け、Googleは悪用の防止に乗り出しました。2017年には、障害者支援以外の目的でこのサービスを使用するアプリは直ちに削除するとの方針を、開発者宛てのメールで通知しています。


しかし残念ながら、これによって感染アプリのアップロードが完全に止まることはありませんでした。むしろ、正規のサービスを利用するという性質上、ユーザー補助機能の悪用は非常に気づきにくいのです。


サードパーティストアのアプリの状況も決して楽観できません。GoogleはGoogle Playを常時スキャンしてハッキングアプリを検出・削除していますが、サードパーティストアにはそのような監視体制が整っていません。つまり、サードパーティストア上のアプリは、検出されることなくユーザー補助サービスを好き放題に悪用できてしまうのです。


Androidユーザー補助サービスのマルウェアを回避する方法


Androidにアプリをインストールする際、アプリが求める権限の一覧が表示されることがあります。メモアプリがSMSメッセージへの完全な制御権限を求めるようなケースは、分かりやすい危険信号と言えます。


しかし、アプリがユーザー補助サービスへのアクセスを求めても、あまり怪しく感じないかもしれません。「障害者を支援する追加機能があるのかもしれない」と考えてしまうからです。ユーザーが安心して「許可」を押しやすい権限であるだけに、アプリに悪意がある場合には重大な問題を引き起こしかねません。


したがって、ユーザー補助サービスの権限要求には常に注意を払いましょう。知名度が高く評価も優良なアプリがこの権限を求める場合は、障害者支援のためだと判断してよいでしょう。一方、レビューがほとんどない新しいアプリが突然この権限を求めてきた場合は、慎重になるべきです。無理にインストールを進めず、見送るのが賢明かもしれません。


また、できる限り公式のGoogle Playストアを利用することも重要です。ユーザー補助攻撃は発見が難しいものの、Googleは悪質なアプリを発見次第削除します。一方、サードパーティストアでは、より多くのユーザーへ感染が拡大し続けている間も、こうしたアプリが放置される恐れがあります。


権限の悪用からスマートフォンを守るために


アプリに障害者支援サービスへのアクセスを許可することは一見無害に思えますが、その結果は決してそうとは限りません。悪意あるアプリはAndroidのユーザー補助サービスを悪用して、入力内容の監視、偽のオーバーレイによる詐欺、さらには自身への更高い権限の付与まで行うことができます。不安を感じたら、「Androidがハッキングされているか確認する方法」をチェックしてみましょう。


他のアクセシビリティ機能にも興味がある方は、「ビデオゲームにおいてアクセシビリティが重要である理由」もあわせてご覧ください。


マルウェアによる権限の悪用についてさらに詳しく知りたい方は、「今すぐ確認すべきスマートフォンのアプリ権限」の記事を参考にしてください。

  1. AndroidスマホをAndroid Nougat(7.0)にアップグレードする方法

    最新バージョンのAndroidをいち早く使いたい人の多くは、Nougatのイメージファイルを探してこの記事にたどり着いたことでしょう。この記事では、Nougatのイメージファイルを見つける方法や、お使いのデバイスに最新版Androidを導入するための別の手段について詳しく解説します。Android Nougatとイメージファイルとは?Android Nougat(Android 7.0)は当時の最新バージョンで、マルチウィンドウ表示をはじめ、エンスージアストから一般ユーザーまで楽しめる数々の新機能が搭載されています。ここでいう「イメージファイル」とは、OSをデバイスに「フラッシュ」(書き込み)

  2. AndroidスマホでPCの音声をワイヤレス再生する方法「SoundWire」の使い方

    PCとAndroidスマホをワイヤレスでつなぎ、ファイル共有や特定アプリの操作、さらにはスマホ本体のリモート操作を可能にするアプリは数多く存在します。そんな中、「SoundWire」はPCの音声をAndroidスマホへ送信できるユニークなアプリです。AndroidアプリとPC用サーバーを組み合わせることで、PCで再生している音声をどのAndroidスマホでも聴けるようになります。PCの音声をスマホに飛ばす用途はさまざまです。例えば、PCのスピーカーが故障していたり、オーディオジャックが使えない場合でも問題ありません。また、ワイヤレスで聴けるため、家の中を自由に移動しながらPCの音声を楽しむこと