【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

セキュリティ動向チェック
Security&Trustウォッチ(59)

「わざと脆弱性を持たせたWebアプリ」で練習を


上野宣
2009/10/23


■命名・「やられWebアプリケーション」(仮)

 構築したWebアプリケーションがセキュアかどうかを確かめる方法として、疑似的に攻撃を行うことで問題を発見する「脆弱性診断」があります。脆弱性診断は専門業者が実施することがほとんどだと思いますが、あなた自らが脆弱性診断の技術を身につけることで、セキュアWebアプリケーションについての理解が深まるとか、自社内で脆弱性診断ができるようになるといったこともあるかもしれません。

 脆弱性診断の技術を身につける過程では、脆弱性を見つける手法を試したり、診断ツールを試したりする必要がありますが、診断といえど攻撃と同様のことを行うので、気軽に実稼働環境で実験するわけにもいきません。ましてや、他人や他社のWebサイトで試すなどはもってのほかです。

 そこで、わざと脆弱性を持たせたWebアプリケーションと、それを動作させる環境が必要になります。

 このような環境をわざわざ開発して用意することもできるかと思いますが、もっと手軽に行いたいものです。世の中にはこういった要望に応える、“わざと”セキュリティホールを作り込んで脆弱性を持たせたWebアプリケーション環境がいくつも提供されています。

 ここでは、わざと脆弱性を持たせたWebアプリケーションを「やられWebアプリケーション」と呼ぶことにします(ほかによいネーミングがあれば広めてください)。この「やられWebアプリケーション」を脆弱性診断の腕試しやトレーニング、診断ツールのテストなどに活用してみてください。

■すぐに起動できて、すぐに試せる「BadStore.net」

 やられWebアプリケーションの中でもすぐに試せる「BadStore.net」を紹介します。Webアプリケーションの脆弱性だけではなく、OSやWebサーバなどの脆弱性も含まれていて、無償で提供されています。

 BadStore.netはISOイメージで配布されていて、Linux(Trinux)とWebサーバ(Apache)がすでにインストールされています。もちろん、やられWebアプリケーションも設定済みの状態で入っているので、面倒なインストール作業などはほとんどありません。

【セットアップ手順】

1.BadStore.netのISOイメージをダウンロード

 下記のサイトでユーザー登録を行うことで、ISOイメージとPDFのマニュアルを入手することができます。

【関連リンク】
Badstore.net: See how the hackers think.
http://www.badstore.net/
(執筆段階での最新版はBadStore v1.2.3s)

2.BadStore.netを起動

 ISOイメージをCD-ROMに焼いてそこからブートするか、ISOイメージのままVMwareなどの仮想環境に読み込ませて起動させることができます。(VMwareから無償で提供されているVMware Server 2.0.1で動作確認済み)

 起動するとコンソール画面に「Please press Enter to activate this console.」と表示されるので、Enterキーを押します。

3.ネットワーク設定を確認

 初期設定ではDHCPでIPアドレスなどを設定するようになっているので、「ifconfig」コマンドで割り当てられているIPアドレスを確認しておきましょう。DHCPがない環境の場合には手動で設定してください。

4.やられWebアプリケーション「BadStore.net」にアクセス

 やられWebアプリケーションはすでに起動している状態ですので、先ほど確認したIPアドレスにブラウザなどでアクセスしてみましょう。ブラウザでアクセスする場合には「http://IPアドレス/」とします。

BadStore.net のトップページ

■BadStore.net の脆弱性を探してみよう

 BadStore.netにはWebアプリケーションの脆弱性を主とした数々の脆弱性が用意されています。

 手始めに「Sign our Guestbook」という掲示板の書き込みページ(/cgi-bin/badstore.cgi?action=guestbook)にあからさまに怪しいフォームがあるので、そこにクロスサイトスクリプティング(XSS)の脆弱性を探すためによく使われているペイロード「<script>alert("XSS");</script>」を挿入してみましょう。

怪しい個所にXSSのペイロードを挿入してみる

 「Add Entry」ボタンを押してペイロードを送り込むと、ブラウザには「XSS」と書かれたアラートが表示されるはずです。

XSSの脆弱性が見つかった瞬間

 ブラウザの標準機能だけで脆弱性診断を行うのは厳しいので、実際には脆弱性診断のツールなどを使って試すのがよいでしょう。ダウンロードしたマニュアルの2.4章には、脆弱性診断などに使えるお勧めのツール類が載っていますので、そちらも参考にしてみてください。どうしても見つけられない場合や答え合わせには、マニュアルの4章にチートシート(カンニングペーパーのようなもの)が載っているので参考にしてみましょう。

■まだまだあるやられWebアプリケーション

 ここでは使いやすくすぐ試せる「BadStore.net」を紹介しましたが、これはどちらかというと入門編に位置付けられます。もの足りない方はほかのやられWebアプリケーションを試してみてはいかがでしょうか。

WebGoat

 国内では「OWASP Top Ten Project」などで有名なOWASP(The Open Web Application Security Project)が提供しているやられWebアプリケーションです。チュートリアルやヒントなども満載で、脆弱性診断のトレーニングに利用するのに適しています。JavaとTomcatをインストールした環境があれば、WindowsやUNIXなどで動作します。

【関連記事】
Webアプリケーションを作る前に知るべき10の脆弱性
http://www.atmarkit.co.jp/fsecurity/column/ueno/47.html

moth

 盆栽がロゴのアルゼンチンのセキュリティ会社Bonsaiが提供するやられWebアプリケーションで、Webアプリケーションのセキュリティスキャナーのテストなどを目的として開発されたようです。mod_security経由やPHP-IDS経由などの環境での試験も行うことができます。

 VMwareのイメージで配布されています。インストールは起動して、moth / mothでログインしてネットワーク設定を行うだけです。

Hacmeシリーズ

 アンチウイルスソフトで有名なMcAfeeが買収したFoundstoneが提供しています。 「Hacme Travel」「Hacme Bank」「Hacme Shipping」「Hacme Casino」「Hacme Books」などがあり、それぞれ動作環境が若干異なりますが、基本的にはWindows環境で動作します。

●既知の脆弱性があるアプリケーション

 専用のやられWebアプリケーションではなく、すでに脆弱性があると分かっている古いバージョンのアプリケーションのパッケージなどをダウンロードしてきてセットアップするという方法もあります。


 いうまでもないと思いますが、やられWebアプリケーションを誰でもアクセスできる環境にセットアップしないようにしましょう。

Profile
上野 宣(うえの せん)
株式会社トライコーダ代表取締役

セキュアWebアプリケーション開発などのセキュリティ教育や、脆弱性診断を主な業務としている。独立行政法人情報処理推進機構(IPA)セキュリティセンター研究員なども務める。

近著に「今夜わかるメールプロトコル」、「今夜わかるTCP/IP」、「今夜わかるHTTP」(共に翔泳社)がある。個人ブログは「うさぎ文学日記」。twitter IDはsen_u

Security&Trust記事一覧

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

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

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

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

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