ネットアクセスや個人情報読み取りの権限を使わないアプリも安全とは限らない! 考えられる手口を知って対策しよう

Androidでは、悪用される恐れがある機能を実行するには、利用する機能をあらかじめ列挙しておいて、インストール前にユーザーの許可を得なければならないようになっている。アプリの機能の実現に必要ないはずの権限を求めるアプリは、有害なアプリである可能性が高いので、インストールしないよう注意が必要だ。

permission_001Androidアプリ版のGoogle Playストアでアプリをインストールしようとすると、このような画面で、アプリが利用する機能の一覧を確認できる。各項目をタップすれば、説明が表示されるぞ。

permission_002パソコン用のWebページ版Google Playストアでは、「アクセス許可」のタブをクリックすることで、利用する機能の一覧を説明と共に確認できる。

permission_003非公式マーケットや作者のサイトからダウンロードしたり、インストールしてからバックアップしたAPKファイルをインストールする場合は、このような確認画面が表示される。


ネット権限がなくても別アプリとの連携で情報の不正送信は可能

アプリがインターネットにアクセスするためには、「完全なインターネットアクセス」という権限が必要だが、この権限を要求しないからといって、個人情報の不正送信などの有害な動作の心配がないとは言い切れない。ネットアクセス権限が無くても、ブラウザを起動して特定のURLを開かせたりすることはできるので、情報を不正送信することは不可能ではないのだ。
また、個人情報を読み取るアプリとインターネットアクセス権限を利用して情報を送信するアプリの2つを連携させて情報を流出させる手口も存在するかもしれない。
個人情報へのアクセス権限を要求するアプリは、ネット権限が必要なくても油断せず、開発者の身元などに不審な点がないか確認してからインストールするようにしよう。

permission_004ほかのアプリを起動するアプリといえば、一番身近なのはホームアプリだ。ホームアプリでは、ユーザーが指定したURLのサイトが開かれるだけだが、有害アプリでは送信したい情報を埋め込んだURLを開くことで、自分のサーバに不正に情報を送信する。

個人情報読み取り関連の権限なしでも盗み出せる情報はある

個人情報の不正送信を行なうアプリでは、「連絡先データの読み取り」や「機密ログ データの読み取り」などの権限が悪用されることが多いが、ほかにも個人情報を盗み出す方法は存在する。

特に簡単なのが、クリップボードにコピーされたテキストの監視だ。クリップボードにコピーされたテキストの読み書きには特別な権限は必要なく、どんなアプリからでも読み書きできてしまう。
文字入力に使用するキーボードアプリも、入力した内容を不正に送信するかも知れないので注意が必要だ。「SocialIME」などのオンライン仮名漢字変換サービスを利用するアプリでは、送信した入力内容が盗聴やサーバ乗っ取りで流出する可能性もある。
重要な個人情報を入力するときは、クリップボードによるコピー&ペーストは利用せず、信頼できるキーボードアプリに切り替えて手動で入力するといいだろう。

ほかにも、「ユーザー補助」や「テキスト読み上げ」の機能が悪用される可能性もある。
「ユーザー補助」は、通知メッセージをステータスバー以外で表示するアプリなどに使われるが、連絡してきた相手のアドレスを傍受したりする悪用が可能だ。
「テキスト読み上げ」でも、読み上げ対象のテキストを不正送信されるかもしれない。Webサイトの読み上げ等にしか使わなければあまり問題は無いが、連絡してきた相手のアドレスを読み上げるアプリを使っていたりすると、個人情報漏洩の恐れがある。
これらの機能を利用するアプリは、インストールしてから設定画面で有効化しないと動作しないので、許可を与えてしまわないように注意しよう。

permission_005クリップボードにコピーされたテキストの履歴を保存して後で素早く貼り付けられるようにするツールは多数公開されているが、個人情報の読み出しに使われそうな権限は何も要求しないものが多い。

permission_006「Simeji」では、変換候補一覧の矢印をタップして展開し、キノコのアイコンをタップすると、入力された読みが「SocialIME」に送信され、登録された変換候補を取得して表示してくれる。メールアドレスやパスワードなどを送信してしまわないように注意しよう。

permission_007Androidの設定の「ユーザー補助」の画面で、ユーザー補助アプリの許可設定を行える。

permission_008テキスト読み上げアプリの有効化は、Androidの設定の「音声入出力」(Android4.0からは「言語と入力」)の画面から行える。

アンインストールの妨害などに悪用できる権限にも注意

入力テキストの監視など、回りくどい方法で個人情報を流出させる有害アプリでは、少しでも長く活動するため、アンインストールされるのを防ぐための細工が施されている可能性がある。
また、端末の使用を妨害して「解除して欲しければ金を振り込め」などと要求する有害アプリも存在するかもしれない。

特に注意すべきなのは、「デバイス管理者」の許可設定だ。
インストール後に設定画面でこの許可を与えられたアプリは、許可を取り消さなければアンインストールできなくなってしまう。アンインストールを妨害する方法はほかにもいくつかあるが、デバイス管理者となったアプリは、パソコンとのデバッグ接続からの「adb uninstall」でもアンインストールできなくなってしまうため、非常に厄介だ。

「実行中のアプリの取得」の権限は、自分をアンインストールしたり「デバイス管理者」の設定を解除しようとしているのを検出して妨害動作を実行するのに悪用されるかも知れない。「アプリの強制終了」権限は、アンインストール画面などを強制終了してアンインストールを妨害するのに悪用できる。

ほかのアプリの画面より前に画面を表示するための「システムレベルの警告の表示」という権限も、アンインストール画面を操作できなくするのに悪用されるかも知れない。また、情報不正送信のために起動したブラウザの画面を隠したり、タップを下の画面に透過する偽の画面を表示して「デバイス管理者」などの許可ボタンを押させるなどの悪用方法も考えられる。

権限一覧では「すべて表示」を押さないと表示されない危険度の低い権限とみなされているが、通知欄を開く動作を実行させられる「ステータス バーの拡大/縮小」も、アンインストール画面を遮って妨害するために悪用されるかも知れない。

端末を再起動すれば、これらのアンインストール妨害動作を停止させることは可能だが、「起動時に自動的に開始」の権限を持つアプリは、再起動しても復活してしまう。

このような権限を必要とするアプリは、システムユーティリティなど一部のジャンルに限られている。ゲームなどのエンターテインメント系アプリでは、必要になることは極めて希だ。これらの権限を要求するアプリは、開発元が十分に信頼できる場合以外はインストールしないように注意しよう。

permission_009デバイス管理者の許可設定は、Androidの設定の「セキュリティ」画面から行える。この許可を必要とするアプリでは、自身の許可設定画面を開くことで有効化を促すことがあるが、信頼できないアプリでは有効化しないようにしよう。

permission_010「実行中のアプリの取得」や「アプリの強制終了」権限は、タスクマネージャやタスクスイッチアプリなどの一部のユーティリティ系アプリでしか必要ないはずだ。

permission_011「光学☆迷彩」は、「システムレベルの警告の表示」を使ってカメラの映像を半透明表示しているが、映像が表示されている部分をタップしても、後ろのアプリの画面がタップされる。この機能を悪用すれば、偽の画面を表示させてユーザーのタップを誘い、アプリのインストール許可ボタンやデバイス管理者の有効化ボタンなどを押させることもできてしまう。

歩きながらのスマホ利用時は前方視界を確保せよ! 「光学☆迷彩」でカメラ映像を半透明で常時表示 | あんどろいどスマート

permission_012「SukeSukeWidget」はほかのアプリの前にウィジェットを半透明表示させられ、タップで操作も行なえる便利なアプリだ。このように、自分の画面を最前面に表示してタップを受け付けることで、下のアプリの画面をタップできなくすることもできてしまう。

ウィジェットを半透明で常時表示させられる「SukeSukeWidget」はランチャーとしても使える | あんどろいどスマート

関連記事

2012年04月18日13時27分 公開 | カテゴリー: セキュリティ | キーワード:, | Short URL
このエントリーをはてなブックマークに追加

最新記事