
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ジャパン)
- いまさら聞けないTwitter超入門−@IT記事も対応なう (2010/2/4)
Twitterは最近話題のつぶやきツール。基本的な使い方から、iPhoneアプリの使い方、RTの解説、4人のご意見番の活用例や感想まで - HTML5は開発者側の都合。ユーザーには関係ない (2010/2/2)
3つのレンダリングエンジンを載せている“国産”ブラウザベンダは、HTML5やWeb/ブラウザの進化について何を語るのか - テキスト・フォント周りをキレイに見せるCSS、13選! (2010/1/29)
無数にあるCSSのプロパティを大まかに分類し、1つずつ紹介していく本連載。初回は、テキスト・フォント周りについて - OpenGL ESが大変な3Dアプリ開発を楽にするUnity (2010/1/27)
iPhoneゲーム開発に必須のOpenGL ES。そのコーディングに手こずっている方に有用なツールを紹介し簡単なサンプルを作成します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |






