« 2008年04月02日 | メイン | 2008年04月04日 »
2008年04月03日
Webは修理が必要だ — Turducken問題
New Yorkで3月に開催されたAjax World East2008で、YahooのDouglas Crockford氏が、「Webを修理できるか」という題で講演しています。
○講演を紹介したブログ:Crockford Speaks on “Fixing the Web” and Appears on Channel 9
○MSDNのチャンネル9でのインタビュー:http://channel9.msdn.com/Showpost.aspx?postid=391047
○講演内容のPowerPointスライド:http://yuiblog.com/assets/crockford/crockford-fix.zip
Douglas Crockford氏はJavascript分野で大変有名な人らしいですが、講演内容を見ますと相当にショッキングな内容です。
スライドをピックアップして紹介します。
1.Webブラウザは、Ajaxのために設計されたものではない。賢い人たちが動かし方を見つけだしたもの。(スライド4)
2.我々は既にブラウザのポテンシャルを探索し終えた。(スライド5)
3.Ajaxは、不必要に複雑であり、実装も変化しやすいが、それは最大の問題ではない。(スライド6)
4.セキュリティが最大の問題。(スライド7)
5.ブラウザは、安全なプログラミング環境ではない。生来、安全ではないのだ。(スライド8)
6.攻撃者が貴方のWebページに、なにかのスクリプトを入れたら何ができるか?(スライド9~15)
・世界中のサーバから、任意の追加スクリプトを要求できる。
・貴方のサーバのリクエストを作ることができる。
・文書を読むことができる。
・ディスプレイの制御を奪って、ユーザに情報を要求できる。
・その情報を世界中の任意のサーバに送ることができる。
ブラウザは、上のどれも防止することができない。
7.攻撃が成功したら恐ろしいことになる。(スライド17)
8.Turducken問題:(七面鳥の中に、鶏肉巻き、その中にアヒル巻きをつめた料理)。ブラウザでは、様々な言語がネストする。(スライド18)
9.ある文脈で安全なテキストは他の文脈では脅威になる。(スライド19)
10.単純なXSS攻撃の例(スライド20~21)
11.これは、Web2.0の問題ではなく、1995年のNetscape2から存在する。(スライド21)
12.脆弱性は、標準の要求による(スライド22)
13.Javascript、DOM、クッキーが問題(スライド23)
14.Javascriptのグローバル・オブジェクトはXSS攻撃の根源(スライド24)
15.Javascriptは、安全な言語ではない(スライド25)
16.DOMの全てのノードは、他のノードやネットワークにつながる(スライド26)
17.二つまたはそれ以上のソースからきたスクリプトがあれば、それはセキュアではない。(スライド29~32)
・マッシュアップはセキュアではない。
・広告はセキュアではない。
---続く---
日経コンピュータ 4月1日号には、「組織犯罪がWebを襲う-3月だけで2万ページにウイルス埋め込み」という記事が出ています。
JavascriptでDOMを操作するAjaxが全盛になりつつあります。しかし、このようなセキュリティの脅威があるとすると恐ろしい時代になりつつあるようです。
投票をお願いいたします