オープンソースの脆弱性検査ツール、ZAPをご紹介します。

2019.01.21

セキュリティ対策

OWASP-ZAP

今回は脆弱性診断ツールのOWASP ZAPを紹介します。
OWASP ZAPは非常に簡単に脆弱性診断が行えるツールです。

OWASPは「The Open Web Application Security Project」の略称です。
Webアプリケーションのセキュリティに関する情報を広めることを目的として活動する、グローバルなコミュニティです。
Webアプリケーションのライフサイクルの各工程において利用可能なドキュメントやツールがリリースされています。

オープンソースの脆弱性検査ツールZAP(Zed Attack Proxy)とは?

そのなかでもフラッグシップとしてリリースされているのが、今回紹介するZAP(Zed Attack Proxy)です。
ソースコードがgithub上で公開されているため誰でも貢献することができます。
IPAテクニカルウォッチでも紹介され、使いやすく検知精度も高いと評価されています。

日本語化もされており、インストールすればすぐに使えます。
以前紹介したKali Linuxにはプリインストールされていますが、今回はMacにインストールします。

ZAPの導入方法

以下のサイトからディスクイメージファイルをダウンロードします。
https://github.com/zaproxy/zaproxy/wiki/Downloads

ディスクイメージをマウントし、Applicationsフォルダに移動するだけでインストールは完了です。

ZAPを起動すると、最初にデータの保存方法を確認するポップアップが表示されるので、選択して確認を押します。

攻撃対象URLを指定して「攻撃」を押すだけで攻撃が始まります。
これでも脆弱性を診断できますが、ZAPをプロキシとして使うことで、さらに詳細な脆弱性診断が行えます。

ZAP上でルートCA証明書を生成します。

[オプション]→[ダイナミックSSL証明書]→[生成]→[保存]で証明書を生成し保存できます。

さらに、[オプション]から[ローカル・プロキシ]を選択して、ポート番号を確認します。

プロキシ設定を行います。環境設定からネットワークに進み、プロキシを設定していきます。

ブラウザにCA証明書をインポートします。今回はChromeを使いました。
Chromeの[環境設定]→[設定]→[証明書の管理]へと進むとキーチェーンアクセスが開きます。
ここにさきほどの証明書をインポートします。

証明書を信頼する必要があるので、追加した証明書をダブルクリックして別ウィンドウを表示させます。

「常に信頼」に変更します。

以上の手順でZAPをプロキシにすることができました。
こうすることでZAPを通ったリクエストを編集してWebサーバに送信することができるようになりました。

今回はZAPの導入についてご紹介しました。
ZAPは非常に簡単に操作でき、脆弱性の検知率も高いツールとなっています。
ぜひ実際に使ってみて、Webアプリケーションに脆弱性がないか、確認してみてください。
次回以降はZAPについて、さらに詳しい使い方を解説していきたいと思います。

 

CyberSecurityTIMESを運営している弊社サイバーセキュリティクラウドでは、Webセキュリティ対策のソフトウェア「攻撃遮断くん」を提供しております。専門家によるサポートも充実しております。お気軽にお問合せください。

「攻撃遮断くん」の詳細資料は、こちらからダウンロード頂けます。

 

(2016/7/5 執筆、2019/1/15修正・加筆)