2007年04月03日 05時00分 公開
特集/連載

Ajaxのセキュリティ――悪用防止の5つの対策Column

Webアプリケーション内でAjaxを利用すると、その全体的な複雑性は大幅に増大し、サーバ側の各機能が攻撃者にとって新たなターゲットになる。こういった脅威を軽減するための5つの対策を示す。

[Michael Cobb,TechTarget]

 グーグルのGmailは最近、Ajax(Asynchronous JavaScript and XML)の可能性をめぐってWeb開発者コミュニティーの間で関心を集めた。Ajaxは、ブラウザの機能を拡張するために組み合わせて用いられる技術セットであり、ユーザーとアプリケーションがコンテンツにアクセスし、それを共有、編集することを可能にする。このWeb開発手法は特に新しいものではないが、Web 2.0(次世代のWebサービス)の一部と見なされている。Ajaxはすべてのインターネットベースのサービスと同様、独自のセキュリティ問題を抱えている。Ajaxの仕組み、それを悪用する手口、そして攻撃を防ぐための対策をみることにしよう。

Ajaxの仕組み

 Ajaxアプリケーションは基本的に、ユーザーのマシン上で実行される。これらのアプリケーションは、Webページ全体をリロードしなくても済むように、ユーザーに意識されることなくサーバと少量のデータをやりとりする。これにより、Webページに機能が付加され、応答性が高くなったように感じられる(その例としては、Gmailのリアルタイムスペルチェック機能などがある)。Ajaxは、CSS(Cascading Style Sheet)、DOM(Document Object Model)、DHTML(Dynamic HTML)などの技術を使用するが、その主要な原動力となっているのはJavaScriptのXMLHttpRequestオブジェクトである。XMLHttpRequestは陰で非同期に動作し、ユーザーのキー入力やタイマーなどのイベントによって起動するように設定することが可能だ。これはつまり、Webページ上のJavaScriptコードがユーザーから独立してWebサーバに接続し、クロスドメインコンテンツを取り込めることを意味する。

ハッカーがAjaxを悪用する方法

 Webアプリケーションは一般に、同じオリジン(配信元)ポリシーを使用するため、ベースページを配信したサーバだけに接続するように制限されている。しかしこれはAjaxスクリプトには当てはまらないので、悪質なスクリプトや改ざんされたスクリプトは、cookieに保存されたデータを盗み出したり、配信元サーバに直接アクセスしたりすることができるのだ。例えば、攻撃者はクロスサイトスクリプティングの脆弱性をひそかに悪用する可能性がある。Ajaxを利用したアプリケーションは、複数のリクエストをバックグラウンドで実行でき、しかもユーザーには普通の機能のように見えるからだ。

Ajaxの悪用を防ぐには

ITmedia マーケティング新着記事

news030.jpg

コンテンツSEOでやらかしてしまいがちな3つの勘違い
ITmedia マーケティングで2021年3月に連載して多くの反響をいただいた「勘違いだらけのEC...

news158.jpg

「リベンジ消費」は限定的、コロナ禍以前の状態に完全に戻ると考える人はわずか25%――野村総合研究所調査
コロナ禍が収束した場合の生活者の消費価値観や生活行動はどうなるのか。野村総合研究所...

news176.jpg

Teslaが成長率1位、LVMHグループ5ブランドがランクイン 「Best Global Brands 2021」
毎年恒例の世界のブランド価値評価ランキング。首位のAppleから10位のDisneyまでは前年と...