![Android Android](https://srad.jp/static/topics/android_64.png)
Android 4.3で追加されたパーミッション設定機能、Android 4.4.2で削除される 55
ストーリー by headless
削除 部門より
削除 部門より
Android 4.3では個人情報などへのアクセス許可をアプリごとに設定できる「App Ops」という隠し機能が追加されていたが、先日リリースされたAndroid 4.4.2で取り除かれてしまったそうだ(Electronic Frontier Foundationの記事、
The Vergeの記事、
本家/.)。
Androidアプリには、システムリソースや個人情報などへのアクセスを要求するパーミッション設定がある。アプリの中には無断で個人情報を外部送信するものも多いが、各項目へのアクセス許可をユーザーが指定することはできず、インストール時に確認してアプリを使うかどうかを選択することしかできなかった。Android 4.3ではApp Opsを使用することで、アプリが要求するアクセス許可の項目をリストアップし、望ましくない項目を無効化できるようになっていた。しかし、Android 4.4.2にアップデートするとApp Opsは利用できなくなる。GoogleではApp Opsについて誤ってリリースされてしまったもので、まだ実験段階であり、アプリによっては正常に動作しないものもあるなどと説明しているとのことだ。
Androidアプリには、システムリソースや個人情報などへのアクセスを要求するパーミッション設定がある。アプリの中には無断で個人情報を外部送信するものも多いが、各項目へのアクセス許可をユーザーが指定することはできず、インストール時に確認してアプリを使うかどうかを選択することしかできなかった。Android 4.3ではApp Opsを使用することで、アプリが要求するアクセス許可の項目をリストアップし、望ましくない項目を無効化できるようになっていた。しかし、Android 4.4.2にアップデートするとApp Opsは利用できなくなる。GoogleではApp Opsについて誤ってリリースされてしまったもので、まだ実験段階であり、アプリによっては正常に動作しないものもあるなどと説明しているとのことだ。
反応を予想 (スコア:5, おもしろおかしい)
ユーザー:なんてことを!
端末開発者:助かった!
マルウェア開発者:助かった!
Re: (スコア:0)
実際のところ、時期尚早とすれば「ユーザーが設定してもアプリ側に回避手段がある」ってのが理由じゃないかな。
Re: (スコア:0)
「ユーザーが設定してもアプリ側に回避手段がある」ならば、今回オミットする理由が理解できないのだが。(無いよりある方がマシ)
Re: (スコア:0)
インストール時の選択なら、権限のチェックも簡単だろうけど、「過去に許可していた権限を取り上げる」のは完全に理解している人以外には使いづらいと思う。「本来なら書き込めない/読み込めないはずの領域」が場当たり的で理解しにくくなるから。
アプリ側でインストール時にやりたい放題する手法が流行してしまったら問題だろう。例えば、インストールした瞬間にアドレス帳を全部読み込んでローカルな権限の緩い部分へコピーする、みたいな動作が当たり前になると、後でユーザーが明示的にアドレス帳へのアクセスを禁止した場合に、「ユーザーの意図」と「アプリケーションの挙動」はずれる。
一貫性の面から考えると、セキュリティモデルとしては全く問題はないので、これを仕様と言い切ることも不可能ではないだろう。しかし、大多数のユーザーにとっては訳が分からないだろうから、実質的には脆弱性と変わらない。
Re: (スコア:0)
>例えば、インストールした瞬間にアドレス帳を全部読み込んでローカルな権限の緩い部分へコピーする、みたいな動作が当たり前になると
お前がAndroidを知らないということはよくわかった
Re: (スコア:0)
>お前がAndroidを知らないということはよくわかった
いや、別に普通にできますよ。
Androidにはインテントという仕組みがあるので、
いろんなイベントに山ほどインテントを登録しておけば
アプリとしてインストールされたのち、利用者が起動操作をしない
(で、権限剥奪操作をしようとしている)間でもアプリが動けるケースが多く発生します。
そのときにアドレス帳でもなんでもいいですが、
抜ける限り抜いておいて/data配下のアプリ自身のディレクトリ配下にでも書いておけばいいでしょう。
Re:反応を予想 (スコア:2)
このACさんは「インストール時の選択なら、権限のチェックも簡単だろうけど」っていうところを「記事にあるようにインストール時に確認してアプリを使うかどうかを選択する現行の動作なら」みたいに解釈してるんじゃないでしょうか。実際はAndroidだとインストール時に要求する権限一覧が出てそれをまるごと受け入れるかインストールを中止するかしかできないので、そんなことも知らないのかって笑ってると予想。言えばいいのに。
Re: (スコア:0)
>いや、別に普通にできますよ。
>アプリとしてインストールされたのち、利用者が起動操作をしない
>(で、権限剥奪操作をしようとしている)間でもアプリが動けるケースが多く発生します。
やっぱりわかってない。
Re: (スコア:0)
> やっぱりわかってない。
それしか言えないほど情けない知識で暴れることはせず、
素直にApple信仰を捨てて真人間として勉強したらどうでしょう?
Re: (スコア:0)
外野から見ててどこら辺がどう分かってないのか分からないので、
具体的な指摘を追加して欲しい。
Re: (スコア:0)
「ユーザーが設定してもアプリ側に回避手段がある」ならば、今回オミットする理由が理解できないのだが。(無いよりある方がマシ)
ユーザが設定して安心と思ってたら実は回避されてた、ってことになると
批判されるのは穴のあるOSの機能をリリースしたGoogleってことになるじゃないか。
未完成と分かってる機能で叩かれるのは損だから引っ込めたんだろ。
実験段階ってことは、いずれリリースに組み込む意思はあるんじゃないの?
Re: (スコア:0)
> ユーザが設定して安心と思ってたら実は回避されてた、ってことになると
> 批判されるのは穴のあるOSの機能をリリースしたGoogleってことになるじゃないか。
なりませんよ。
そもそも今回の機能は実験的な機能ですし、
インストール”した”アプリの権限を制限するという機能は問題なく実装されています。
そこには回避も何もありません。
あなたが「究極完璧を前提として押し付ければなんだって叩けるから」で
叩きたい対象に矛先を向けようとしているだけです。
Re: (スコア:0)
その理由には「時期尚早」と言うには違和感なるね。
個人情報を元に商売してるとこからのクレームがgoogleの想定より酷い状況になりそうだったんじゃないかな。
つまり、googleの今の政治力ではまだ理解していただけないと
アプリ製作者とかアフィリエイトを飯の種にしてたりするしね。
Re:反応を予想 (スコア:1)
それがGoogle社内の別部署だったりってオチじゃね
Re:反応を予想 (スコア:1)
アプリ内広告表示って各自が作成しているわけじゃなくて、
ネット広告会社(代理店?)からSDKが配られてる。
「このライブラリを埋め込んでおくだけでお小遣い程度の儲けができますよ」
ってなうたい文句に釣られてわけもわからず突っ込んでるアプリばかり。
そのライブラリがどういう情報を収集して、どこに送っているかは、ソースコードがないのでわからない。
そりゃ逆アセンブルすればわかるんだろうけど・・・
これ、ブラウザでいうところの広告ブログパーツとほぼ構図は同じ。
ブラウザでいうところの情報コントロール(sandboxやthrid party cookie規制)がないからやりたい放題。
「インストール時にpermissionで許可もらいましたよね?(^^)」ってことで電話帳も抜き取りOK。
すでに広告会社のサーバ側でユーザIDが紐付けられていることでしょう。
ところがこのapp opsでもってアプリが吸い取れる情報を抑制できるようになってよかったね、、、
と思っていた矢先の出来事。
問題は最初に言った広告SDKの業者の一部はgoogleの公認パートナー的な位置づけだったりすること。
そこからクレームが入ったということは十分考えられる。
Re: (スコア:0)
少なくとも日本では
>「インストール時にpermissionで許可もらいましたよね?(^^)」ってことで電話帳も抜き取りOK。
は通用せんよ。
Re: (スコア:0)
アプリが正常に動作しなくなるが理由だろ、そもそも裏ワザみたいな機能じゃないか、信用出来ないならインストールするなと。
要求された権限が与えられなかった場合、それこそどんな動作をするか分からんだろうに、
Re: (スコア:0, フレームのもと)
Re: (スコア:0)
>アプリが正常に動作しなくなるが理由だろ
たぶん、その場合、必要ない権限まで要求している半マルウェアだと思うが。
Re: (スコア:0)
>たぶん、その場合、必要ない権限まで要求している半マルウェアだと思うが。
権限がなぜ必要なのか知らずに「この権限は動作に必要無いんじゃないか」と思って止めてしまう場合も想定できます。
例:音楽プレーヤーに「端末のステータスとIDの読み取り」(電話の着信検知に必要)
Re: (スコア:0)
Re: (スコア:0)
いいえ、着信してもずっとボリュームが下がらず曲が流れっぱなしになるのです。要は着信したかわかりづらくなる。
Re: (スコア:0)
> たとえそうだとしても単に電話の着信検知ができなくなるだけだろ。
違います。
本来であれば、Google Playから「端末のステータスを読むよ」と言って
許可を取ってインストールされるアプリは、
端末のステータスを読むAPIを叩いた時、それがエラーにはならない、を前提とできます。
ところが今回の場合、インストール後に強制的に権限をはく奪できるので、
アプリからすれば不意打ちでAPIがエラーを返してきます。
「端末のステータスを読む」以外の山ほどある権限について、
この変化を考慮して作りこみなおさなければなりません。ほとんどのアプリが。
それについて、さすがに時期尚早だったという話です。
おそらく、今後1~2年の猶予を宣言してからまた再チャレンジするでしょう。
Re: (スコア:0)
Re: (スコア:0)
> GoogleのAPIのドキュメントにはそのAPIがエラーを返すかどうか書いてないのだろうか。
> エラーを返すと書いてあるにもかかわらずエラー処理を書かずにアプリが落ちたらアプリ製作者の責任だけど
全く問題ないし、責任もありませんよ?
APIがエラーになったら正常に「落ちる」のが仕様なわけで、
そういうアプリの作りというだけの話です。
逆に言えば、そのような仕様のアプリについては、
今回の機能により利用者は
「アプリが落ちるようにすることができる」ことになり、これ自体もまったく問題ありません。
そういう挙動になるのがシステムの作りだからです。
しかし、
Re: (スコア:0)
マルウェア:OOPS!4.3の中にいる!!
むー (スコア:1)
たぶんAppOpsで制限した状態で4.4.2にアップデートしたのが原因だと思うんだけど、一部のシステム機能が正しく動かないしそれを戻せない...どうしたものか。
Re:むー (スコア:1)
制限した状態で 4.4.2 にあげてしまったらもう設定変更できない。
リセットするにはアプリをアンインストールするしか無かったはず。
当然端末内のアプリのデータも消える。
個人情報はどうなるの? (スコア:0)
ソフトウェア作者自身は、個人情報の使い道はないよね。
となると、情報を売るんだよね。誰が買うの?
マーケティングの会社かなと思うが、実際にフリーウェア作者で、そのような話が来た人いませんか。
Re: (スコア:0)
で、そこが…おっとお客さんが来たようだ、、、
この辺は酷くなる一方だな。 (スコア:0)
アプリとしてはクリーンなものが増えているのに、
ストアからは以前表示されていた権限が今はインストール時にポップアップで確認するしかなくなった。
4系でプレインストールのクラップウェア(GREEマーケット等)を凍結できるようになったのは良かったが。
塞がれた穴はまた開けられた (スコア:0)
http://forum.xda-developers.com/showthread.php?t=2564865&page=3 [xda-developers.com]
インストールする時点で無効化出来なきゃ意味無くね? (スコア:0)
と言うことに気付いてしまったんだな
Re: (スコア:0)
個人情報の提供はAndroid最大のセールスポイントですからね。
Googleのサービスは基本的に外部への公開がデフォルトですから。
Re: (スコア:0)
こういう自称事情通が
「NFCでSuicaが読めるなんて、さすがGoogle、個人情報の収集に余念がない!」
とかドヤ顔でのたもうてるんだろうな
Re: (スコア:0)
> 個人情報の提供はAndroid最大のセールスポイントですからね。
> Googleのサービスは基本的に外部への公開がデフォルトですから。
Appleってそんなひどい企業だったんですねー
これが原因なのかな? (スコア:0)
imap4でマルチバイトコードのフォルダ。要は日本語フォルダのメールを同期すると
ハングアップしていたけど、今回のアップデートでなおったから、そのへんかな。
Re: (スコア:0)
Android 4.4でマルチバイト関連がばぐってて4.4.1だか4.4.2で修正された影響じゃね?
Re: (スコア:0)
マルチバイト言語なんか使うからですよ
Re: (スコア:0)
マルチバイトで書き込むなよ
Re: (スコア:0)
別ACだが。
本文とか人だけが読めればいいところがマルチバイトなのはいいだろ。
ファイル名とかシステムも読むものをマルチバイトにするのはやめたほうがいい。
Re: (スコア:0)
本文の終わり(次のヘッダーの開始位置)がおかしくなる場合があるので駄目では?
Re: (スコア:0)
十中八九Shift-JISとかいう腐った文字コードのせいだろ。
linuxはカーネルレベルでUTF-8に対応しているから、ファイル名だろうが無問題
Re: (スコア:0)
つまりグーグルはわざわざlinuxはカーネルレベルのUTF-8対応機能を削除したと?
Re: (スコア:0)
マルチバイトのバグっていっても、UTF-8なら関係なかった気がする。
Re:これが原因なのかな? (スコア:1)
Androidのマルチバイトバグがどういうものかは知りませんが、
IMAP4 の日本語フォルダ名の方は、修正UTF-7でエンコード [wikipedia.org]されています。UTF-8は使われていません。
最初から組み込めばいいのに (スコア:0)
なぜGoogleはAndroid最初のバージョンから権限選択機能をつけなかったのだろう。ユーザーが求めるのはあくまで「自由」であり、開発者が好き放題できることじゃないのに。Googleは自由の意味を履き違えてるんじゃないか?
Re:最初から組み込めばいいのに (スコア:2)
Androidの権限システムがそもそもSymbian OS/Nokia S60のケイパビリティを真似て作ったものだからじゃないですか? あれのセキュリティモデルも事前に"DRM"とか"AllFiles"とか"NetworkServices"とか要求する権限を決めておいてバイナリを署名してそれ以外を要求したら蹴るようになってましたし、AndroidはそこからCAが複数持てるとかCAによって承認できる最高の権限が違うとかいくつかの仕様を省いた作りですし。
S60はAndroidが出た時点では世界の携帯出荷の過半とかめちゃくちゃなシェアがあったので、Windows Mobileにもないしとりあえず入れたけども、あまり深く検討できなかったってことじゃないでしょうか。
Re: (スコア:0)
なぜAppleはiOS最初のバージョンから権限選択機能をつけなかったのだろう。ユーザーが求めるのはあくまで「自由」であり、開発者が好き放題できることじゃないのに。Appleは自由の意味を履き違えてるんじゃないか?
Re: (スコア:0)
Googleはユーザーの自由なんてどうでもいいんですよ。
Googleが自由ならなんでもいいんです。