金利0無利息キャッシング – キャッシングできます

 | 

2012-10-25

WebKit組み込んでるアプリにおいて純粋にWebKit由来のバグであれば勝手に直ったりするけどWebKitをどういう設定で使っているかに起因する仕様上の欠陥は勝手に直らない

19:02 | WebKit組み込んでるアプリにおいて純粋にWebKit由来のバグであれば勝手に直ったりするけどWebKitをどういう設定で使っているかに起因する仕様上の欠陥は勝手に直らない  - 金利0無利息キャッシング – キャッシングできます を含むブックマーク はてなブックマーク - WebKit組み込んでるアプリにおいて純粋にWebKit由来のバグであれば勝手に直ったりするけどWebKitをどういう設定で使っているかに起因する仕様上の欠陥は勝手に直らない  - 金利0無利息キャッシング – キャッシングできます

http://subtech.g.hatena.ne.jp/mala/20121023/1351004574 を書いてちょっと嫌な予感がしたので調べてみたのですが

例えばSleipnirの場合

で、ローカルのHTMLファイルからローカルファイルを読み取ってリモートに送るということが出来てしまう。

いずれにせよ、httpからfile://への移動は制限されているので、Webページ閲覧中にいきなりローカルファイルが読み取られたりすることはないです。Appleは問題を認識して、Mountain Lionにおいては、SafariでダウンロードしたファイルをSafariで開く際には安全になるようにしたけど、例えば標準ブラウザをSafariにしていてサブでSleipnirを使っているような人がSleipnirでダウンロードしたHTMLファイルをダブルクリックで開くとSafariではローカルファイル読み放題の状態で開かれてしまう。逆もまたしかり。

問題はいくつかあって、

  • SleipnirにおいてローカルHTMLファイルにおけるSame originが制限されていない
  • Sleipnirにおいてダウンロードしたファイルに拡張属性を付与しない(Lionの場合警告が出ない、Mountain Lionの場合隔離モードで開かない)
  • Safaricom.apple.quarantine を付与しないアプリケーションのことをスルーしている

例としてSleipnirを挙げたけどこれはサードパーティのアプリ全般の問題で、Appleは自社製品を組み合わせて使った場合には影響が軽減するような措置を取ったわけだけど、結局アプリ側が com.apple.quarantine を付けてない場合には、SafariのローカルHTMLファイルの取り扱い自体は変わっていないわけだし、WebKit組み込みのブラウザがどうすべきなのかという指針も示していない。サードパーティのアプリが受信したHTMLファイルにフラグ付けずにSafariで開くような機能付けてたら結局のところそのHTMLファイルからはローカルファイルを読み取ってどっかに送るということは出来てしまう。

ただちに危険だというものではなく、もうユーザーに(ある程度は)そういうものだと認識してもらったほうが良いと思っているので、ブラウザ作ってる人はどういう対応をするかも含めてゆっくり検討すれば良いと思います。

ダウンロードしたファイルにメタデータ付与

Google Chromeと同等のことをやる

setAllowFileAccessFromFileURLs と setAllowUniversalAccessFromFileURLs というオプションがあるので、それを使うと良いです。

これはGoogle Chromeが対応したときに作られたはずです。

Firefoxと同等のポリシーをサポートするかどうかについての議論

そして、ローカルHTMLファイル上でJavaScriptの開発/実行をする場合に、それなりに副作用が大きい変更であるので、Google Chromeはallow-file-access-from-filesという起動オプションで挙動を変えられるようになっている。

アプリケーション実行プラットフォームとしてHTMLを見た場合には「出来て当然、出来なくては困る」のですが、単なるリッチテキストフォーマットとしてHTMLを見た場合には「異常な仕様」で、ブラウザ側が対処しないことにはどうにもならない。いずれにせよローカルHTMLファイルを開くときは気を付けなくてはいけなくて、ユーザーは自分が使っているブラウザのポリシーを把握していなければ安全にローカルHTMLファイルを開けない。この状況は当面改善しないので信用できないHTMLファイルを開くのであればw3mを使うと良い。readme.htmlみたいに単にドキュメントとしてHTMLを配布したい側へのアドバイスは、JavaScriptを含めないことです。特に外部からロードするJavaScriptを含めてしまうと、そのHTMLファイルが安全であったのかどうか後から全く検証ができなくなります。

LarisaLarisa2013/03/06 13:59This is just the perfect awnser for all forum members

glmzvoqetglmzvoqet2013/03/11 01:17k5PiQC , [url=http://wlpafvfxqwnx.com/]wlpafvfxqwnx[/url], [link=http://snzqlhpkhjrp.com/]snzqlhpkhjrp[/link], http://qhucfcvvywmg.com/

トラックバック - http://subtech.g.hatena.ne.jp/mala/20121025
 |