【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  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-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

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

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

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

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?