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

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

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 マーケティング新着記事

news046.jpg

F1層(20〜34歳女性)に聞く「タピオカドリンクを飲む理由」――ミュゼマーケティング調べ
タピオカドリンクを購入する理由などを、20〜34歳女性1764人にリサーチしています。

news043.jpg

「GAFA」を脅威と言う前に正しく理解する――オプトホールディング鉢嶺 登氏インタビュー
『GAFAに克つデジタルシフト』(日本経済新聞出版社)を上梓したオプトホールディング代...

news015.jpg

ラグビーに関心を持つ人が急増――マクロミルと三菱UFJリサーチ&コンサルティングが調査
「2019年スポーツマーケティング基礎調査」の結果から速報値を紹介します。