2012-04-12

何もパーミッションのないAndroidアプリケーションにできることは?

By Taro Yamazaki  |  21:30 No comments

Androidで意図せずにマルウェアをインストールしてしまうことを避けるため、Androidアプリケーションをインストールする時にはそのアプリケーションのパーミッションを確認してからインストールすることが勧められています。インストールしようとしているアプリケーションに不要と思われるパーミッションが設定されている場合には「要注意」ということですね。

パーミッションはAndroidアプリケーションの開発者がアプリケーションごとに設定するものですが、ではパーミッションをまったく設定していないアプリケーション(つまり最低限の権限しかないアプリケーション)にはどんなことができるのでしょうか? 調査の結果、盲点になりそうな点が「Security scare of the week: What can an app with no permissions do?」にまとめられています。

SDカードの内容の読み取りはできる

SDカード内のデータの保存や修正にはパーミッション (android.permission.WRITE_EXTERNAL_STORAGE : 「SDカードのコンテンツを修正/削除する」) が必要ですが、実は読み取りには権限は必要ありません(こちらでも取り上げられています)。アプリケーションがSDカードにデータを保存する際に何の対策もしていなければ、保存されたデータは他のアプリケーションからも参照できてしまいます(しかも、権限は必要ありません)。ですから、「重要なデータはSDカードにそのまま保存しない」のが鉄則です。SDカードに重要なデータを保存する際には、隠しフォルダにするか、何らかの手法で暗号化する、という対策を取る必要があります。

/data/system/packages.listの読み取りはできる

デバイスにインストールされているパッケージが列挙されている /data/system/packages.list の読み取りには権限が必要ありません。このこと自体が脆弱性というわけではありませんが、間接的に脆弱性につながる可能性はあります。たとえば、重大な脆弱性のあるアプリケーションがあったとして、そのアプリケーションがインストールされていることが /data/system/packages.list から判明した場合、その脆弱性を利用されるリスクがあります。

/proc ディレクトリの読み取りはできる

Linuxをお使いの方であればご存知だと思いますが、/proc ディレクトリにはOSやハードウェアに関する情報が逐次書き込まれています。Androidにおいても、カーネルのバージョン、ROMバージョンなどがここから読み取れますが、この読み取りには権限が必要ありません。

開発者、ユーザーともに特に注意すべきはSDカード内のファイルでしょう。デバイス本体のメモリに比べて大容量なSDカードには、写真や音声、映像、アプリケーションのデータなど、さまざまなデータが保存されています。怪しげなアプリケーションをインストールしないのはもちろんのこと、重要なデータや、不要になったデータはこまめに消す(またはPCなどに移動しておく)などの対策が必要ですね。

Author: Taro Yamazaki

0 コメント:

© 2015 yamata::memo | Distributed By My Blogger Themes | Created By BloggerTheme9
TOP