OWASP ZAP(オワスプザップ)は、無料の脆弱性診断ツールです。Webアプリケーションの脆弱性を簡単に診断できますが、使い方がわからない方もいるのではないでしょうか。この記事では、OWASP ZAPの使い方を詳しい手順とともに解説します。診断項目や日本語化方法も紹介しますので、ぜひご覧ください。
この記事の目次
OWASP ZAPとは
OWASP ZAPとは、非営利団体「OWASP(オワスプ:The Open Web Application Security Project)」が提供する脆弱性診断ツールです。指定したURLのWebアプリケーションに脆弱性がないか、無料でチェックできます。OSS(オープンソースソフトウェア)なので、利用手続きはいらず誰でも利用できます。
OWASPとは:信頼性のある組織?
OWASP ZAPを提供する「OWASP」は、2001年にアメリカで設立されたOSSコミュニティです。Webアプリケーションやソフトウェアに関するセキュリティ向上を図るため、さまざまな活動を国際的に行っています。たとえば、Webアプリケーションの脅威をまとめる定期レポート「OWASP TOP10」が有名です。2022年現在で200以上の支部を世界的に展開しており、日本支部「OWASP Japan」も存在します。
WEBセキュリティ診断の必要性
近年ほとんどのWebサービスには、Webアプリケーションが用いられています。検索エンジンやECサイト、SNSのブラウザ版などのWebサービスは、Webアプリケーションがなければ成り立ちません。Webサービスの基幹であるWebアプリケーションに脆弱性があれば、攻撃者に狙われる隙が生まれてしまいます。
Web開発者は充分な検証のもとにWebアプリケーションを開発していますが、診断なしに全ての脆弱性を発見するのは困難です。攻撃者によって脆弱性を突かれた場合、以下のような被害が生じる恐れがあります。
- システム障害による自社サービスの停止
- サービス停止中の機会損失、復旧費用の負担
- 顧客の個人情報漏えい
- 情報漏えいによる損害賠償責任、企業イメージの低下
こうした被害を未然に防ぐために、Webアプリケーションの脆弱性診断が重要です。サイバー攻撃の手口は日々進化しているため、定期的なチェックが望ましいでしょう。
OWASP ZAPの使い方
OWASP ZAPは、Windows / Mac / Linuxに対応しています。ただし、JAVA8以降の実行環境が必要です。ここでは、OWASP ZAPの使い方を紹介します。
1. OWASP ZAPをインストール
まずは、OWASP ZAPをインストールしましょう。
下記記事にJAVAのインストール方法から詳しく記載されてますので、インストールがまだな方はご覧ください。
2.OWASP ZAPでWebアプリケーション自動診断
1.「現在のタイムスタンプでファイル名を付けてセッションを保存」にチェックを付けて、「開始」をクリックします。
2. 今回は自動診断するため、「Automated Scan」をクリックします。
3. 「URL to attack」に診断するWebサイトのURLを入力して、「攻撃」をクリックし、「アラート」タブをクリックすると、診断結果がでてきます。
3. ローカルプロキシ設定
以下の手順で、脆弱性診断に必要なローカルプロキシを設定します。
- OWASP ZAPを起動し、左上の「標準モード」を「プロテクトモード」に変更(※理由は後述)
- 画面上部メニューバーから「ツール」 → 「オプション」 →「ローカル・プロキシ」を選択
- 画面右側の「Address」に「localhost」を入力。ポート番号はそのままでOK(※標準の「8080」をすでに使用している場合は、「49152〜65535」のうちで任意の番号を入力)
OWASP ZAPのローカルプロキシ設定が完了したら、現在お使いのWebブラウザでもプロキシ設定を行います。ブラウザの種類によって詳細手順は異なりますが、基本的には「設定」から「プロキシ設定」に進み、OWASP ZAPで入力したものと同じポート番号を入力して完了です。
設定終了後、ローカルで診断対象のWebサイトにアクセスします。OWASP ZAPの画面左側の「サイト」欄にWebサイトのURLが表示されていれば、正しく設定できています。
4. 脆弱性診断の実行
最後に、以下の手順で脆弱性診断を実行しましょう。
- 画面 左側の「サイト」欄にあるURLを右クリック→「コンテキストに含める」→「New Context」を選択
- 表示されたセッションプロパティから、URLを選択し「OK」をクリック
- 「サイト」欄のURLを右クリック→「攻撃」→任意の診断項目を選択し実行
注意点として、「試しに他のWebサイトのURLを入れてみる」といった行為は避けましょう。脆弱性診断は、対象のWebサイトに攻撃してテストする仕組みです。第三者のWebサイトに攻撃を仕掛けてしまうため、必ず自社のWebサイトのURLのみを入力しましょう。
【補足】OWASP ZAPの診断モード
OWASP ZAPには、以下4つの診断モードがあります。
- プロテクトモード
- 標準モード
- 攻撃モード
- セーフモード
前述の通り、脆弱性診断を実行する際は「プロテクトモード」を選択します。理由は、「標準モード」と「攻撃モード」は、無関係なWebサイトに攻撃を仕掛けてしまう恐れがあるためです。残りの「セーフモード」は脆弱性診断ができません。
OWASP ZAPの診断項目
OWASP ZAPは、主に以下4つの診断項目があります。
- 簡易スキャン
- 動的スキャン
- 静的スキャン
- スパイダー
それぞれの機能を簡単に説明します。
(1)簡易スキャン
簡易スキャンは、プロキシ設定をせずに実行するスキャンです。OWASP ZAPの起動時に表示される「クイックスタート」画面にURLを入力し「攻撃」をクリックすると、即座に攻撃が開始されます。なお、プロテクトモード時は使用できません。
(2)静的スキャン
静的スキャンは、プロキシ設定後にWebサイトを手動で検査する方法です。ユーザーがブラウザで操作し、操作に対するレスポンスから脆弱性を評価します。
(3)動的スキャン
動的スキャンとは、プロキシ設定後に対象のWebサイトを自動で検査する診断です。対象サイトのWebアプリケーションに自動でリクエストを送り、静的スキャンよりも高精度な検査を行えます。
(4)スパイダー
スパイダーは、指定Webサイト内をクローリングして、関連するURLを自動検出する機能です。クローリング時に静的スキャンも行っています。
OWASP ZAPの診断結果確認方法
診断終了後、発見された脆弱性は「アラート」タブに追加されます。脆弱性は「High」「Medium」「Low」の3段階のリスクレベルが表示されます。
また、診断結果をまとめたレポートの生成も可能です。画面上部の「レポート」タブから「HTML形式」または「XML形式」を選択すると、レポートが作成されます。
なお、脆弱性診断のセッションデータの保存もできます。画面上部の「ファイル」タブから「永続化セッション」を選択すると、任意の場所にデータを保存可能です。ファイルを開く際は、同じく「ファイル」タブから「セッションデータファイルを開く」をクリックしましょう。
OWASP ZAP日本語化方法
OWASP ZAPのメニューは、初回起動時は英語で表記されています。日本語化したい場合は、以下の手順で設定しましょう。
- メニューバーから「Tools」→「Options」→「 Language」と選択
- Languageのボックスから「日本語」を選択→「OK」をクリック
- OWASP ZAPを再起動
上記手順で日本語化が完了します。設定後に再起動しないと変更が反映されませんので、忘れずに行いましょう。
まとめ
OWASP ZAPは、無料の脆弱性診断ツールです。利用する際は、紹介した手順をご参考ください。OWASP ZAPで脆弱診断を実施したあとは、診断結果にもとづいた対処をおこないましょう。脆弱性を放置したままでいると、サイバー攻撃に晒されるリスクが高まります。社内に専門的な情報システム担当者がいない場合は、ぜひご相談ください。