blogこの広告は、90日以上更新していないブログに表示しています。ockeghem(徳丸浩)の日記にて報告したように、ドコモのiモードブラウザ2.0のJavaScript機能が5/28に停止されていたが、本日ケータイアップデートが準備されたので、深夜3時まで待たずに即座にアップデートを実行した。JavaScriptが復活していることを確認した。mpw.jp管理人のBlogで報告されているように、alert関数や、setRequestHeaderメソッドが無効化されていることを確認した。関数自体は削除されていないのだが、実行しても何もおこらない状態になっている。alertを無効化した理由は理解に苦しむが、setRequestHeaderを無効化したのは、携帯JavaScriptとXSSの組み合わせによる「かんたんログイン」なりすましの可能性で指摘したような危険性を避けるためかもしれない。setRequestHeaderを無効化したことで、あらたなリスクが生じるのだがそれについては稿を改めて報告したい。JavaScriptの機能制限はそれだけではないようだ。Policyすなわちドメインの制約を受けるだけでなく、ディレクトリの制約も受けるようだ。具体的には、XMLHttpRequestが記述されたコンテンツのディレクトリと同じか、そのサブディレクトリのデータのみ読み込める。ディレクトリをさかのぼるようなリクエストはエラーになる。私がこの現象に気づいたのは、以下のようなテストをしていてのことだ。呼び出して、HTTPリクエストヘッダを調べようとしていたが、リクエストが発行されていない。試行錯誤の結果、同じコンテンツをhttp://example.jp/6.htmlに配置したら呼び出すことができた。呼び出すことができた。上記の実験から、P-07Aの(恐らくは、iモードブラウザ2.0の)XMLHttpRequestは、ディレクトリの制限が掛けられており、親ディレクトリにさかのぼるディレクトリは読み込めないと結論づけた。@ITの2ページ目で、私は次のように書いた。ケータイブラウザではHTMLソースを表示できないことを理由として、ケータイWebは、PC用の一般サイトよりも安全性が高いと思っている方がいますが、これは誤解であり【中略】その理由は、本来見えないはずのHTMLソースが閲覧できる場合があるからです。【中略】このほか、クロスサイトスクリプティング(XSS)脆弱性が当該サイトに存在すると、HTMLソースの一部あるいは全部が閲覧される可能性があります。ケータイのJavaScriptが利用できるようになると、サイトの1個所でもXSS脆弱性があれば、任意のページのHTMLを閲覧できるようになります。http://www.atmarkit.co.jp/fsecurity/rensai/keitaiweb01/keitaiweb02.html上記は、通常のJavaScriptでは正しい指摘なのだが、本日分かったiモードブラウザ2.0の新たな制約により、少し訂正が必要となった。「任意のページ」のHTMLではなく、「XSSの存在するページのディレクトリとサブディレクトリ」のHTMLのみが読み込める。これがiモードブラウザ2.0にて、XMLHttpRequestのディレクトリ制限がかけられた理由かどうかは分からない。@ITにも書いたように、ケータイWebの安全性は、クローズドなネットワークと携帯端末の機能制限に依存している部分がかなりある。JavaScriptにも制限を掛けざるを得ないというのは理解できることだ。その制限の範囲や方法には疑問があるし、どのような制限を掛けたかは、NTTドコモのサイトには掲載されていないようだ。これはサイト開発者にとっては不便だろう。私自身、XMLHttpRequestの非常に簡単なサンプルが動かなくて首をひねった。制限はある程度やむを得ないとして、NTTドコモには、もっと情報公開をしていただきたいと希望する。inhibited」となりますので、やはり明確に禁止されているとみるべきでしょう。KCCSにて「ケータイWebセキュリティ対策セミナー」を開催しておりますので、上記のような話も含めた最新の話題を提供したいと思います。興味のある方はお申し込み下さい。