TOP設計・移行・活用> Webアプリケーションの脆弱性
脆弱なWebアプリケーション
脆弱なWebアプリケーション

第1回:Webアプリケーションの脆弱性
著者:セントラル・コンピュータ・サービス  長谷川 武
2005/4/20
前のページ  1  2   3  4  次のページ
Webアプリケーションの脆弱性

   一部の研究機関が、世の中のWebアプリケーションにどのような脆弱性が、どのくらい存在していそうかといった調査に着手したという話があるが、現時点では統計データは発表されていない。こうした情報を集めるのが簡単でないのは、それぞれのサイトごとに異なるアプリケーションが稼働していて、開発方法も運用方法もまちまちであるということに大きく起因する。

   多少なりとも参考になる情報としては、2004年7月からIPA(独立行政法人情報処理推進機構)が受け付けを開始した脆弱性届け出制度の情報がある(http://www.ipa.go.jp/security/vuln/index.html)。次のグラフは2004年7月〜12月の間に、IPAに届け出のあったWebアプリケーションの脆弱性の件数を示したものである。

IPAに届け出のあったWebアプリケーションの脆弱性の件数
図2:IPAに届け出のあったWebアプリケーションの脆弱性の件数
(画像をクリックすると別ウィンドウに拡大図を表示します)

   このグラフの比率が世の中のWebサイトの脆弱性の存在比率を正確に反映しているわけではないが、それでもある程度の傾向が読み取れるといっていいだろう。


脆弱性クイックツアー

   図2のグラフに載っている脆弱性について簡単に説明しよう。なお、これらの説明はIPAが届け出内容に関して公開しているものではなく、筆者が独自に解説を加えたものである。


クロスサイトスクリプティング

   グラフの中で一段と目を引くのは、半数以上を占めるクロスサイトスクリプティング脆弱性だ。

   クロスサイトスクリプティング攻撃は、セッション乗っ取りの手口のひとつである。セッション乗っ取りとは、Webサイトに正規にログインしているユーザのセッションを攻撃者が乗っ取り、そのユーザしか閲覧できないはずの情報にアクセスすることである。攻撃者はプログラムに対してスクリプトの形をした入力データを送り込み、そのスクリプトがブラウザで実行されるよう仕向けることで攻撃を成功させる。

   この問題が厄介なのは、簡単に脆弱性が生じやすいことだ。この脆弱性はプログラムが入力データを単純にブラウザに再出力することで生じる。入力データをエコーバックして「あなたの注文はこれでいいですね」のように確認を求めるというのはごく自然なことだが、エコーバックの場面はそこら中にあるので、ソフトウェア開発時に見落としが生じやすい。グラフにおける比率はこの点を裏付けているといえる。

クロスサイトスクリプティング
図3:クロスサイトスクリプティング

   クロスサイトスクリプティング攻撃が成立するメカニズムについては、この連載の「セッション乗っ取り」の回でじっくり解説する予定だ。


パス名パラメータの未チェック

   2番目に多かったのがこの問題だ。Webアプリケーションプログラムがファイルのパス名をパラメータとして受け取り、そのファイルの内容をブラウザに送り返す場面で、どんなパス名でも受け入れてしまうという問題である。

   パス名を何でも受け入れた場合に何が困るかというと、最悪の場合攻撃者はWebサーバ内のあらゆるファイルを読み出してしまうからだ。個人情報が蓄積されたファイルや、サーバのセキュリティ設定に関わるファイルなども呼び出されてしまうのである。これは完全な情報流出になる。

前のページ  1  2   3  4  次のページ


セントラル・コンピュータ・サービス株式会社
著者プロフィール
セントラル・コンピュータ・サービス株式会社  長谷川 武
シニア・セキュリティ・スペシャリスト、IPA 非常勤研究員。2002年にはIPA ISEC『セキュア・プログラミング講座』の制作ディレクターをつとめた。これを契機に、現在は勤務先とそのパートナー企業を通じてセキュアプログラミングセミナー/実習/スキル評価テストといった教育サービスを「TRUSNET(R)アカデミー」として提供している。問い合わせE-mail:info@trusnet.com


INDEX
第1回:Webアプリケーションの脆弱性
  脆弱性
Webアプリケーションの脆弱性
  価格等の改ざん
  セッション管理の不備