Android のアプリケーションに与えられる権限というものは基本的に自分の名前のディレクトリ以外には手出しできないとか、AndroidManifest.xml で設定されていてインストール時に確認できる明示的に付与された権限に基づいた情報にしか手出しができないとか、システムアプリ以外は手出しができない情報があるとか、みんながちゃんとルールに基づいて作ってあればそんなにセキュリティ的に危険なことはないと思うんですよ。
実行するだけでシステムの脆弱性をついて root 権限を取得するようなアプリは別として。
なんか悪意のあるアプリがどうのっていうのは、ただのメモ帳なのに電話帳の情報を弄ったり、インターネットにアクセスする権限があるとかいかにも怪しいアプリをほいほいインストールするユーザーにも責任の一端がありますよと。
でもそんなアプリは入れなければいいんだ。
問題は個人情報を扱うようなアプリなのに…
1.なぜか ContentProvider で何の権限もなく情報が読み書きできるようになっている
なぜ外部に provider として公開する必要があるのか分からないんですが、どうしてこうなった?
Twitter for Android がそんな感じでした。LiveView用にアプリを作ろうと思って調べてる時に見つけたんですが、外部アプリが ContentProvider でテーブル掴んでると Twitter for Android 自身が書き込めなくて落ちちゃう困ったちゃんでしたが、現在のバージョンでは署名(android:protectionLevel="signature")を見るようになってるようで繋げなくなってると思います。
とか
2.なぜかデータファイルのパーミッションが 666 になってる
かの有名な Skype for Android がコレ。わざわざ元々自分しか読み書きできないようになってる SQLite のファイルをプログラム的に誰にでも読み書きできるように してたり通信履歴もコンタクトリストもすべてお見通しされまくる状態でした。さんざん叩かれたので今のバージョンでは改善してます。
まあデータ自体は暗号化されていないので root 権限があれば読み書きし放題なんですがそれは別のお話。
とか
3.データファイル暗号化してあると思ったら Shift JIS なだけだった
誰でも読めるようになってると思ったら暗号化されてるからまあ安心かなと思ったらUTF-8じゃなくて Shift JIS で記録されてるだけだったよ!
みたいなアプリ。
正式版になってパッケージ名が変わったのに辞書が引き継げるなんてセキュリティ的におかしいと思ったんですよ。おかしいでしょ?作った会社がおかしいと思わないのがおかしいんですよ。
個人情報を扱うようなアプリを作ってる会社はもうちょっとセキュリティのことを考えて作ってくださいまし。
コメント
[…] Androidに関する、はてなブックマーク新着情報です。 [Android] こんなアプリは嫌だ(セキュリ的な意味で) : 8796.jp管理日誌 […]
[…] ml で設定されていて インストール時に確認できる明示的に付与された権限に基づいた情報にしか手出しが できない …blog.8796.jp/…/android-こんなアプリは嫌だセキュリ的な意味… […]