2010-06-18(金) [長年日記]
■ HTC Android端末のスクリーンショット付きブックマークはセキュリティホールか?
miyagawaさんから教えてもらったのだけど、HTCのDROID Incredibleにセキュリティホールが見つかっているらしい。miyagawaさんとのやりとりからわかったのは(なにしろ英文の理解は相変わらず貧相なので):
- ブラウザの「スクリーンショット付きブックマーク」に他人に見られたらよくない情報が含まれ得ること
- それが簡単には削除できない(工場出荷状態に戻しても消えない)場所にあること
が問題らしい。デフォルトのブラウザにはたしかに、そのページのスクリーンショットが見られるブックマーク機能があるけど、あれがHTCの独自拡張とは知らなかったよ。たしかに上記のとおりならセキュリティ問題になるだろう。
さて、我がDesireはというと、たしかに.bookmark_thumb1というディレクトリはある。ただしSDカード上に。中にはJPEGファイルがいっぱい入っていて、まさにブックマークのスクリーンショットが詰まっていた。自分の意識していない状況下で撮られたスクリーンショットもあるので、これはあんまり気持ちのいいものではないな。
ファイラで端末の内部メモリを探してみたが、(Desireに関しては)同名のディレクトリは発見できなかった。Incredibleの方が新しい(のかな?)ので、どこかで仕様変更があったのだろうか。
この問題についてTwitterで識者の意見を求めてみたものの、ほとんど反応がなかったので、日記にも書いておくことにした。ちなみに自分はすでにDolphineブラウザに乗り換えているので、今後この機能を使う予定はない。.bookmark_thumb1をサクっと削除して対応完了……と思うのだが、はて、ファイラから見えないディレクトリなんてものがあったらお手上げである。
というわけで、Androdid識者がここを読んでいたら教えてもらいたいのだけど、Desireにおけるブックマーク・スクリーンショットの保存場所は/sdcard/.bookmark_thumb1だけなのだろうか? もしそうなら、対処は簡単でいいのだけど。
Androidに簡単なスクリーンショット機能がない理由が、このようにユーザの意図しないスクリーンショットがバックグラウンドで動作しているアプリから撮影されてしまうリスクがあるためと説明されている。その回避方法について先のエントリのツッコミ欄で議論している。
今回のは(おそらく)ブラウザが自分のレンダリングエンジンからひっぱってきたデータを保存しているだけなので、いわゆるスクリーンショットとは違うが、ユーザが意図しない(場合がある)ため同様なリスクがある。他のアプリから参照可能な普通のJPEGファイルなので、暴露ウィルスみたいなものに引っかかったら困ったことになりそうだ。
とはいえ、これをセキュリティホールと言ってしまうと、任意のタイミングでスクリーンショットが撮れるPCはどうなんだという話になるわけで、セキュリティホールとは言えないと思うけど(PCと携帯では基準が違うだろ、という議論はありだが)。
意図せずサムネが保存されるというのは、HTCが拡張しているSenseUIのブラウザ共通の仕様です。
EVO 4Gで見てみましたが、SDカードのみの模様。root取ってないので、本当に/sdcardのみかどうかの検証は出来てませんが、少なくとも一般のパーミッションで読めるディレクトリでは、ということになりますけど。
ちなみに、アプリケーションの管理からブラウザのキャッシュを消しても、ブラウザの設定から閲覧履歴を消しても、このサムネが削除されることはありませんでした。この仕様はまずい。
Incredibleでは内蔵フラッシュが拡張されて、/emmcというパーティションが追加になり、工場出荷時への初期化のさいに、この追加されたエリアの初期化をしないという仕様が問題になっているようです。
.bookmark_thumb1を消したあとで、適当なファイルを.bookmark_thumb1という名前で保存しておき、ディレクトリ作成を妨害するという対症療法がどっかのコメにありました。
情報ありがとうございます! ちなみにFloyoのブラウザにも同様の拡張がされているという情報も……。実装が同じかどうかわかりませんが。
あと、Incredibleのはセキュリティホールだけど、SDカードに保存される端末では「セキュリティリスク」ではないかという指摘もありました。それはそうですね(ユーザが意識している限りは←現状は周知が足らないと思いますけど)。
同名のファイルを作っておくという対策は面白いですね。さっそくやろうと思います。
はじめまして
.bookmark_thumb1で検索して来ました。
暴露ウィルスに感染したかと慌てましたけがHTCがバックグラウンドjpgで保存してるのですよね?なんだか、気味が悪いです。
大変参考になりました!
ありがとうございます。