2. ウェブアプリのセキュリティ診断の手順
セキュリティ診断に必要なものは、OWASP ZAPと診断用のブラウザだけです。本記事では、これもOWASPのプロジェクトである、脆弱性診断の学習ツールであるOWASP Mutillidae 2(ミューティリディ・ツー、注1)で構築したウェブアプリケーションを診断対象としています。なお、言うまでもないことかとは思いますが、読者の皆さんで脆弱性診断としてOWASP ZAPをご利用になる場合には、自分の管理下にあるウェブアプリケーションに対してのみ実施してください。
注1
セキュアではない、やられ役サイトのため、「NOWASP」という別名を持つ。
2.1. OWASP ZAPのインストールと起動
OWASP ZAPは次のサイトで、ご利用のOS用のバージョンをダウンロードできます。
任意の場所でダウンロードしたファイルを実行、または解凍してください。OWASP ZAPはWindows版とLinux版では別途Java Runtime Environment(JRE)のインストールが必要です。
Mac OS X版にはJavaランタイムが同梱されているのでJavaのインストールは不要です。しかし、同梱されているJavaのバージョンは7のため、最新のJavaをインストール済みの環境の場合は、Cross platform版の使用をお勧めします。
2.2. ライセンス確認、データ保存方法の確認
OWASP ZAPを起動してアドオンや言語ファイルなどの読み込みが完了すると、診断データの保存方法を選択するダイアログが表示されます。インストール後の初回起動時には製品のライセンスを確認するためのダイアログが表示されます。
起動時に診断データの保存先を明示的に決めなかった場合は、「ファイル」メニューにある「永続化セッション...」から、いつでも任意の保存先やファイル名を指定することができます。
2.3. 動作モードは「プロテクトモード」に
OWASP ZAPには4つの「モード」、すなわち状態があります。画面左上のプルダウンリストの上から順に「セーフモード」「プロテクトモード」「標準モード」「ATTACK Mode」となっており、インストール時には「標準モード」に設定されています。
ウェブアプリケーションの情報収集から動的スキャン実施までを自動的に行う「クイックスタート」という機能があります。これは簡単な診断を行うもので、対象URLを入力して[攻撃]ボタンをクリックするだけで使うことができます。「標準モード」に設定すると、この「クイックスタート」機能を使用することができ、大変便利です。
ただ、この「標準モード」には1つ注意点があります。標準モードでは、スパイダーや動的スキャンといったセキュリティ診断作業により、OWASP ZAPで記録したすべての通信に対していわゆる攻撃が可能となります。「すべての通信」とは、セキュリティ診断の実施を許可されているサイトとの通信を超えたスコープ、例えば以下のようなサイトや機能への通信を含んでしまいます。
- CDNや広告リンクといったサードパーティー製のサイトへの通信
- 同一サイト内にあるものの、テスト対象としては自身の管理のもとにないため、セキュリティ診断を実施する権限を持っていない機能への通信
そのため、ここでは「プロテクトモード」に設定してください。このモードを利用してOWASP ZAPのプロキシ機能で記録した通信内容を元にセキュリティ診断を実施する手順を身につけていただければと思います。「プロテクトモード」にすると、ユーザーが明示的に指定したURLのみにセキュリティ診断を実施するため、安全に作業を進めることができます。