
Ajax解体新書(2)
Ajaxの特徴に潜むリスクをサンプルアプリで確認しよう
株式会社NTTデータ
技術開発本部 ソフトウェア工学推進センタ
木村 利幸
2006/7/19
| 第1回 Ajax技術の目に見えない通信内容をのぞいてみようでは、Ajaxの技術背景を解説しました。今回は、「セキュリティ」という観点でAjaxを見ていきたいと思います。 2回目の今回は、非常に幅広く、奥が深い「Ajaxの特徴に潜むセキュリティリスク」を、実際のサンプルアプリケーションの通信や、マウスの動きを動画で見ながら、理解しましょう。スパイウェアやキーロガーへの基本的な対策も解説します。 |
| 通常のWebアプリと異なるAjaxの特徴に潜むリスク |
- - PR -
|
すでに、各ブラウザのAjax実装である「XMLHttpRequest」で対策が講じられているものもありますが、その前に上記の特徴に潜むセキュリティ上のリスクを確認しておきたいと思います。
| 通信中のURIが表示されない |
皆さんは、どうやってWebアプリケーションの正当性(正しいサイト・コンテンツであるかどうか)を見分けているでしょうか? 恐らくほとんどの方が、Webブラウザの「アドレス欄」に表示されるアドレス(URI)を信じ、判断していると思います。
Ajaxの場合は、JavaScriptのプログラム内にアドレス情報が埋め込まれているため、単にアドレス欄を見ているだけでは、実際どのURIにアクセスしているかまでは正確に知ることができません。
| 通信が任意のタイミングで発生する |
これまでのWebアプリケーションでは、例えば「リンク選択」「Submitボタンの押下」などのユーザー操作がトリガとなって画面遷移がスタートするため、サーバとの通信タイミングは、一目瞭然で非常にシンプルな形でした。
しかし、Ajaxでは、ユーザーが一切操作しない場合であっても、JavaScriptによって通信が起動されることがあり、無意識のうちにサーバ通信が発生することも考えられます。
| 通信の有無を確認しにくい |
これまでのWebアプリケーションでは、Webブラウザがサーバと通信し、データをダウンロード中である場合、「ステータスバーに通信状態を表示」したり「ロゴアイコンがアニメーション」したりするため、通信の有無をユーザーが意識しやすい形になっています。
一方Ajaxでは、(Webブラウザの種別にもよりますが)ユーザーから通信状態が見えにくい(もしくは全く見えない)状態となります。
| JavaScriptが有効になっている |
これまでのWebアプリケーションでは、セキュリティ上の問題を発生するリスクが高まるという理由で、「JavaScript」は無効化することが推奨されてきていました。しかし、Ajaxの台頭によって「JavaScript」が復権を果たし、JavaScriptを有効とすることを求めるサイトも増えてきています。その裏側では、セキュリティ上のリスクにさらされている危険性があります。
ここまでご説明した内容は、「このような問題があるからAjaxは怖い」と恐怖心をあおるのが目的ではなく、セキュリティ上で注意すべきポイントがどこにあるのかを確認するためのものです。以降で、セキュリティが低下する事例や対策状況などについてご紹介したいと思います。
| 1/4 |
|
INDEX |
||
| Ajaxの特徴に潜むリスクをサンプルアプリで確認しよう | ||
| Page1<通常のWebアプリと異なるAjaxの特徴に潜むリスク/通信中のURIが表示されない/通信が任意のタイミングで発生する/通信の有無を確認しにくい/JavaScriptが有効になっている> | ||
| Page2<セキュリティ低下のサンプル/クリップボードへのコピペ参照> | ||
| Page3<マウス座標位置のトラッキング/マウスの動きを記録する> | ||
| Page4<Ajaxのセキュリティ対策状況/SSLによる暗号通信/クロスドメインの制限/大事なのは危険性を知っておくこと> | ||
Ajax解体新書 バックナンバー
- 第1回 Ajax技術の目に見えない通信内容をのぞいてみよう
- 第2回 Ajaxの特徴に潜むリスクをサンプルアプリで確認しよう
- 第3回 Webアプリに使えるAjaxライブラリ8選!
ホワイトペーパー(TechTargetジャパン)
- 現場の無駄な流血を止めるための「プロトタイプ」とは (2010/3/12)
サイトやWebアプリ/RIAの設計やデザインを効率良く進めるには、プロジェクト関係者の想定を一致させていくことが大事だが… - Flashを閃光のごとく高速化するための基礎知識 (2010/3/9)
Flash高速化のための基礎知識や実践的テクニックを紹介する連載。初回は“処理負荷”を調べる具体的な方法を解説します - Windows 7でどんだけ“おばか”なアプリが作れるの? (2010/3/4)
おばかの発想の源やアプリの作り方などについて、おばかアプリ選手権の歴戦の受賞者や、マイクロソフトの代表者に話を伺った。アイデアのご参考に - APIでGoogleスプレッドシートの追加/更新/削除 (2010/2/24)
ワークシートの追加・削除、メタ情報の更新、行単位でのデータの追加・更新・削除する方法を徹底解説します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 New! |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
お勧め求人情報

**先週の人気講座ランキング**
〜Java編〜
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |

| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |

| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |
| ◆ | 直属上司が海外にいるのエンジニアに見る 【実例】場所に捉われないワークスタイル |

| ◆ | 「仮想化工房」のマイスターが選んだのは VMware、Hyper-V、そしてVirtageだった! |
| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |






