OWASP ZAPによる脆弱性診断
OWASP ZAPによる脆弱性診断手順を記載する。
目次
1.ツール概要
OWASPとはOpen Web Application Security Projectの略で、
ソフトウェアのセキュリティ環境や、セキュリティを高めるための技術を共有・普及することを目的として活動しているオープンコミュニティである。
コミュニティページ: https://owasp.org/
OWASP ZAPとはOWASPが開発するセキュリティ診断ツールで、
簡易診断・静的診断・動的診断が実施可能。
任意の形式で診断レポートを出力することができ、今回はHTML形式について手順化する。
ツールページ: https://owasp.org/www-project-zap/
IPAのZAP紹介ページ: https://www.ipa.go.jp/files/000035859.pdf
診断方法 | 実施方法 | 診断範囲 |
---|---|---|
簡易診断 | 診断対象URLを指定する | 指定されたURL ログイン等認証機構がある場合はその先は診断できない |
静的診断 | ブラウザで診断対象アプリを操作する | 手動で操作した全てのページ |
動的診断 | 静的診断で記録された操作を実施し大量の不正リクエストを送信する | 静的診断で操作した全てのページ |
2.診断構成
簡易診断構成
診断対象URLを指定して診断する。
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_01.png)
静的診断構成
OWASPをプロクシとして起動させ、ブラウザで診断対象アプリを操作する。
手動で操作した全てのページを対象として診断する。
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_02-1.png)
動的診断構成
OWASPをプロクシとして起動させ、ブラウザで診断対象アプリを操作する。
静的診断で記録された操作を実施し大量の不正リクエストを送信する。
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_03.png)
3.インストール手順
【前提】Java1.8以上がインストールされていること。
①下記サイトから環境に合ったインストーラをダウンロード
https://www.zaproxy.org/download/
②インストーラ「ZAP_2_9_0_windows.exe」をダブルクリックで起動し、インストール開始
③「承認する」にチェックし次へ
④「標準インストール」にチェックし次へ
⑤インストールをクリック
⑥インストール完了、デスクトップにショートカットが作成される
4.簡易診断手順
①ショートカットをダブルクリックして起動
②「継続的に保存せず、必要に応じてセッションを保存」を選択して開始をクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_04.png)
③「Automated Scan」をクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_05.png)
④診断対象のURLを記入し、攻撃をクリック
※自分の資産ではない外部のサーバに対しては診断を行わないこと。文字通り攻撃となり不正アクセス禁止法に抵触する可能性がある。
※AWSやSalesforceのようなクラウドサービスのアプリを診断する際はそれぞれの規約やQAサイトを確認すること。
※簡易診断ではログイン後の画面等は診断できない
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_06.png)
⑤診断が完了するとアラートタブに検知された脆弱性が表示される
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_07.png)
⑥「レポート」-「HTMLレポート」を選択
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_08.png)
⑦任意の場所に任意の名前で保存
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_09.png)
5.静的診断手順
①IE起動
②ツール(歯車マーク)のインターネットオプションをクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_10.png)
③接続タブのLANの設定をクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_11.png)
④プロキシサーバを使用するにチェックを入れlocalhost、8080を設定しOKをクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_12.png)
⑤ショートカットをダブルクリックしてOWASP ZAPを起動
⑥「継続的に保存せず、必要に応じてセッションを保存」を選択して開始をクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_13.png)
⑦ツールのオプションをクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_14.png)
⑧ローカル・プロキシを選択、アドレスとポートを以下の様に記載しOKをクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_15.png)
⑨IEを起動し診断対象ページにアクセス
履歴タブにリクエストが記録されていることが分かる
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_16.png)
⑩正常系のデータを入力し最終画面まで処理を進める
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_17.png)
⑪アラートタブで脆弱性を確認する
※レポートの出力方法は「4.簡易診断」を参照
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_18.png)
6.動的診断手順
≪前提≫
診断対象に対して静的診断が実施済みであること
①サイトタブの診断対象アドレスを右クリック、攻撃から動的スキャンをクリック
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_19.png)
②スキャンを開始をクリックし診断開始
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_20.png)
③診断完了
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_21.png)
④アラートタブで脆弱性を確認する
※レポートの出力方法は「4.簡易診断」を参照
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_22.png)
7.出力レポート
レポートには以下の項目が出力される。
項目名 | 内容 |
---|---|
Description | 検知された脆弱性の概要 |
URL | 脆弱性が存在するURL |
Parameter | 対象のパラメータ |
Attack | 脆弱性を検知した際の検査コード |
Solution | 設計・運用段階ごとの対策方法 |
Reference | 参考URL |
CWE id | Common Weakness Enumerationの識別番号 https://www.ipa.go.jp/security/vuln/CWE.html |
WASC id | Web Application Security Consortiumの識別番号 http://www.webappsec.org/ |
<出力レポート>
![](https://www.a-frontier.jp/wp/wp-content/uploads/2023/05/security06_23.png)