第1回 XSSは知ってても、それだけじゃ困ります?


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

Webアプリケーションのセキュリティを取り巻く環境は大きく変化してきている。攻撃は複雑さを増し、複数の脆弱性を利用する攻撃も増えている。しかし、基本を理解せずに個別の脆弱性について対応しても、表面的な対策となってしまう。本連載では、Webアプリケーションのセキュリティにおいて理解しておく必要のある基本技術について解説を行う。

 分かってるつもりではあるけれど……

 クウはベンチャー企業で働くWebアプリケーションのエンジニア。でもそこは小さなベンチャー企業、セキュリティのことは分かっていながらも、動くものを納品するので精いっぱい……。今日は納品のため、客先でミーティングに参加していた。そしてお客様から受けた指摘は、こんな一言だった。

お客さん 「……で、このWebアプリケーション、セキュリティは大丈夫なんだよね?」
クウ 「は、はいっ! もちろんです!」
お客さん 「じゃあ、これからもよろしく頼むよ」
クウ、ユウヤ 「よろしくお願いしますっ!」

 無事、お客さんとのミーティングを終えたクウとユウヤの2人は、近くの喫茶店で一息いれることにした。

クウ 「最近はセキュリティのことを聞かれることがかなり増えてきましたねぇ」
ユウヤ 「ああ、そうだね。営業の段階から『セキュリティはどう担保されているんだ?』なーんてことをいわれちゃうようになってきたね」
クウ 「うちみたいに小さい会社だと正直ちょっと手が回らなくて厳しいですよね……」
ユウヤ 「『セキュリティ』なんていわれても複雑だからなぁ」
クウ 「ですよね。どこから手を付けていいのか分からないですよ」
ユウヤ 「なんかこれを押さえておけば大丈夫! っていう基本みたいなものってないものかねぇ」
クウ 「基本、かぁ……」


 Webアプリエンジニアはみんな悩んでいる

 時間も遅くなっていたので、クウはユウヤと別れ、家路についた。Webアプリケーションの開発をしているクウにとって、セキュリティは日を追うごとに重要度が増している。しかし、日々の業務をこなすだけで精いっぱいで、そこまで手が回っていないというのが現状だ。

クウ (そろそろちゃんとWebアプリのセキュリティを考えないといけないよなぁ)

 それでもクウはセキュリティには気を使って情報収集をしており、クロスサイトスクリプティング(XSS)やSQLインジェクションなどの、Webアプリケーションにおける脆弱性でよく話題になるものに関してはある程度理解をしていた。しかし、どうしても一時しのぎな対策を取っている感は否めず、自らが作成したWebアプリケーションが“本当に安全である”かどうか、自信を持つことができなかった。

クウ (でも、Webアプリのセキュリティを考えるに当たって必要な知識って何だろう……)

 クウは家に着くとPCを立ち上げ、あらためてWebアプリケーションのセキュリティについて調べてみた。しかし、個別の脆弱性への対策などはすぐに探すことができるが、クウの満足できるような情報はやはり見つけることができなかった。

クウ (Webアプリのセキュリティの基本っていっても、やっぱり個別の脆弱性情報を地道に調べていくしかないのかな)

 Webアプリセキュリティ、メタな視点で考えてみる?


クウ 「あ!珍しいな」

 そのとき、ネットで知り合った友人のメッセンジャーがオンラインになった。

@IT messenger v1.20

クウ珍しいですね。お久しぶりです。

ジュンおお、久しぶり。やっと仕事が落ち着いてね〜。そっちは仕事どう?

 ジュンとはWebアプリケーション開発関連のコミュニティで知り合ったのがきっかけで、時々メッセンジャーを通じて情報交換などをしている。彼はセキュリティに関しても詳しいようだったので、クウは少し聞いてみることにした。

@IT messenger v1.20

クウちょっといま困っていることがあるんですけど教えてもらってもいいですか?

ジュンいいよー。何?

クウWebアプリのセキュリティについてなんですけど……。もう最近よく分かんなくなってきて><

ジュンほぅ。

クウWebアプリのセキュリティの基本、これ押さえればOK! みたいなのって、ないですかねぇ……。

ジュンんー。基本っていうと、やっぱり一番知名度高そうなところで、クロスサイトスクリプティングとか?

クウやっぱりそこらへんになっちゃうんですかねぇ。

ジュンあれ、そーいうのじゃない?

クウなんか、もっと基本的な考え方というか、知識というか、そういうところがないかなーと……。

ジュンふむ……。それでいくと、HTTPとかを理解する、とかはどう?

クウお! そういうレベルの話は考えたことがなかったかもしれないです。

ジュンじゃあ、それだな。

クウけど、HTTPってブラウザのアドレスバーに入れるあれですよね?それ以上の何かってあるんですか?

ジュンふふふ、そしたら教えてあげるよ。まず、「コマンドプロンプト」を立ち上げてみてー。

クウコマンドプロンプトですか?? ブラウザじゃなくって?


1/3

Index
XSSは知ってても、それだけじゃ困ります?
Page1
分かってるつもりではあるけれど……
Webアプリエンジニアはみんな悩んでいる
Webアプリセキュリティ、メタな視点で考えてみる?
  Page2
コマンドプロンプトで華麗にWebサーフィン
HTTPはリクエストから始まる

 

Page3
POSTの場合――GETと何が違う?
HTTP基礎の世界を探検しよう


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

TechTargetジャパン

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

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

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

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

@IT Sepcial
ソリューションFLASH