第3回 Ajaxのセキュリティ、特殊なものだと思ってました


杉山 俊春
株式会社ユービーセキュア
技術本部 テクニカルサービス部
セキュアオーディットコンサルタント
2007/12/7
(Illustrated by はるぷ)

HTTPの基本は(なんとなく)分かった! と満足のクウ。そこにジュンさんから思いもかけない提案のメッセージが飛んできました。今回は気になるAjaxのセキュリティで気をつけるべきポイントを解説します(編集部)

 HTTP基礎、もう一度成果をまとめてみよう!


クウ 「今日も疲れたなー。一応メールチェックだけして寝ようかな」

 仕事を終え、家に帰ったクウはPCを立ち上げた。疲れていたのでメールチェックだけ、というつもりであったが、PCが立ち上がると、メッセンジャーでジュンさんが話し掛けてきた。

@IT messenger v1.31b

ジュンこんばんはー。

クウあっ。ジュンさんこんばんはー。

ジュンこないだは、ちょっと中途半端な感じになったけど大丈夫だった? HTTPとかいろいろやってみた?

クウtelnetで簡単なのはできたんですけど、Webアプリとかなると大変で……。

ジュンああー。そうだよねー。

クウ全部打ち込むとなるとかなり時間がかかっちゃって、しかも間違えたりして〜。

ジュンそっかー。取りあえず基本の動作だけ、って思ってたからtelnetでのアクセス方法教えたけど、ちょっと足りなかったねぇ。

クウ大変だーっ! って思ったのでツールとか探しちゃいました

ジュンどんなツール?

クウえっと、なんか、プロキシっぽくなってて、ブラウザからのHTTP通信を途中で捕まえて書き換えができたりするやつです。

ジュンおおっ。プロキシのツール使うところまでやったのね。えらいえらい。telnetしか教えてなかったからあの後どうしたのかなーと密かに思ってたの(笑)。

クウいくつか見つけていろいろ試してはみたんですけど、まだ始めたばかりでよく分かってないかもデス……。

ジュンほうほう。なるほど〜。

 クウはすぐに寝るはずだったのだが、つい話が弾んでしまい結局話し込んでしまった。

 Ajaxのセキュリティって、何をすればいいんだろう?


@IT messenger v1.31b

クウあっ。もうこんな時間なんですね。そろそろ寝ないと……。

ジュンそうだ。今週末だけど、ちょうど勉強会やるからおいでよ。

クウホントですか? それって私が行っても大丈夫なのかな……。

ジュン大丈夫大丈夫♪ 結構気楽な感じでー。Webアプリのセキュリティに興味がある人のオフ会みたいなもんだよ。

クウでも、興味はあるけど、知識とかないので行ってもおジャマになるだけのような……。

ジュンそんなことないよー。全然開発とかしたことない人とかも参加する感じだし。

クウじゃあ、行ってみようかなぁ。

ジュンぜひぜひ来てくださいなー。詳細はメールかなんかで送っておくね。ほいじゃ、おやすみー。

クウおやすみなさいー。

システム:ジュンはオフラインになりました

 後日、ジュンさんから勉強会についての詳細がメールで届いた。勉強会のテーマとしては、「Web 2.0のセキュリティ」を取り上げる予定のようだ。といっても、「Web 2.0」というくくりではあまりに広すぎるため、特にその中で代表的な「Ajax」に話題を絞った形で議論を行うらしい。

 Ajax(Asynchronous JavaScript and XML)とは、JavaScript(主にXMLHttpRequestを利用)によりサーバと通信を行い、その通信結果に応じてダイナミックHTMLで動的にページの一部を書き換える手法である。画面遷移を伴わずにサーバと通信を行うため、利用者は、いつサーバと通信を行い、どういった結果が返ってきているかを意識する必要がなく、従来のWebアプリケーションに比べて操作性が高い特徴がある。

図1 Ajaxの基本的な動作

 クウもWebアプリケーションの開発でAjaxを使ったことはあるが、Ajaxのセキュリティというと何を考えなければいけないのかという段階では理解できてはいなかった。

クウ (Ajaxとセキュリティかぁ。気にはなってたんだよなぁ。ちょうどよかったかも……)

 勉強会のその日は参加ができそうだったので、クウは参加申し込みをした。クウにとってこういった勉強会は初めてであったため、少し不安もあったが、ネット上だけで知り合ったジュンさんと会ってみたいという動機もあった。

 勉強会、参加することに意義があります!

 勉強会当日、会場に着いたクウは、案内の張り紙を見つけると、勉強会が行われる会議室へと向かった。

 会議室にはすでに何人か来ているようだ。クウはドキドキしながらも、さっそく受付を行うことにした。

クウ

「こんにちは。クウという名前で申し込んだ者ですけど……」

受付の人 「クウさん……。あ! クウさんですね! いらっしゃいー」
クウ 「え? あ、はい。よろしくお願いします」
ジュン

「あは。初めまして、ジュンです」

クウ 「あー! ジュンさん! 初めまして! まさか受付やってるとは思わなくってー」
ジュン 「うん。言わない方が面白いかなって思って」
クウ 「そうだったんですか〜。今日はよろしくお願いします!」

 クウは受付を済ませ、席に着いた。勉強会が始まる前にジュンさんとちょっと会話をしたいと思っていたのだが、受付で忙しそうなので、勉強会のスケジュールと資料を眺めながら始まるまで待つことにした。スケジュールといっても、あまり堅苦しいものではなく、くだけた言葉でおおよその流れが書いてあるだけで、実際には時間に縛られずに自由に議論をしようという趣向のようだ。

クウ (なんかセミナーとかと違うみたいでドキドキするなぁ……。どんな感じでやるんだろ)

 最終的に30人くらい集まったようだ。受付が一段落すると、クウにジュンさんが話し掛けてきた。

ジュン

「受付終わったー。隣の席って空いてるよね? あらためてよろしくね」

クウ 「はいっ! よろしくお願いします」
ジュン 「ま、気楽にいきましょ!」

 開始時刻になると、司会の人がマイクを持って話し始めた。

司会 「えー。それではそろそろ始めますねー。ま、気楽にいきましょう」

1/3

Index
Ajaxのセキュリティ、特殊なものだと思ってました
Page1
HTTP基礎、もう一度成果をまとめてみよう!
Ajaxのセキュリティって、何をすればいいんだろう?
勉強会、参加することに意義があります!
  Page2
通信タイミングが見えづらくなるAjaxのインターフェイス
名前に惑わされてはならない? AjaxとHTTP通信の関係
Ajaxの正体って、HTTPと変わらない?

 

Page3
マッシュアップはAjaxの醍醐味――しかし?
あなたの提供しているコンテンツは安全か?
利用しようとしているそのコンテンツは安全か?


もいちどイチから! HTTP基礎訓練中 連載インデックス

TechTargetジャパン

Security&Trust フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH