2.7. 動的スキャンの対象を登録
いよいよ、開発者が自分の実装担当分をセキュリティ診断するところまで来ました。OWASP ZAPとブラウザのプロキシ設定が完了したら、ウェブアプリケーションの特定の画面を診断してみましょう。
まず、ブラウザでウェブアプリケーションにアクセスし、診断対象となる画面まで遷移します。次に、OWASP ZAPの「履歴」タブ内で、診断対象画面に対応するURLを特定します。特定できたら、以下の手順に従ってOWASP ZAPに診断対象として登録します。
- 特定した行を右クリックして「サイトタブで表示」をクリック
- 左上のサイトタブ内で選択されたノードを含む上位ディレクトリを右クリック
- コンテキストメニューの「Include in Context」→「New Context」をクリック
- 「セッション・プロパティ」ダイアログ右下の[OK]ボタンをクリック
登録が完了すると、ノード先頭にあるアイコンの中に赤い丸印が表示されます。
2.8. 動的スキャンを実行!
動的スキャンで診断する脆弱性は「ポリシー」メニューの「スキャンポリシー」ダイアログで確認や変更が可能ですが、その方法については次回以降の記事で解説します。
「履歴」タブで診断対象URLを右クリックして表示されたメニューで「攻撃」→「動的スキャン...」をクリックします。表示されたダイアログの右下にある[スキャンを開始]ボタンをクリックすると、動的スキャンを実行できます。
2.9. 診断結果を確認してみよう
セキュリティ診断の結果を参照するには、OWASP ZAPの下方にある「アラート」タブを開きます。アラートタブが表示されていない場合は、緑色の「+」タブをクリックすると非表示のタブの一覧が表示されるので、そこで「アラート」を選択してください。
次の図はクロスサイトスクリプティング脆弱性が検出された例です。OWASP ZAPが脆弱性と判断した根拠は「レスポンス」タブ内のHTMLソース中で背景色の変更により示されています。また、アラートタブの右側には、脆弱性が検出されたパラメーター名や診断に使用した文字列などが表示されています。
これらの結果にもとづきプログラムの該当箇所を修正してください。修正にあたっては、主要な脆弱性についてはOWASP Top 10に解説が記載されています。
3. まとめ
OWASP ZAPを使用することにより、ウェブアプリケーションの開発中でも、簡単な準備でセキュリティ診断を行えることがお分かりいただけたかと思います。このツールを開発の早い段階から使うことにより、何度もテストを実施し、修正できますので、早期に脆弱性を減らすことができます。これは、リリース前のセキュリティテストによる手戻りを大幅に減らすことにつながることでしょう。
さて次回は、ログイン機能のあるウェブアプリケーションへの診断など、より実践的なOWASP ZAPの活用例を解説したいと思います。