OWASP ZAP

2016.10.26 (水)

OWASP Zed Attack Proxy (ZAP)はIPAが推奨してくれているセキュリティー診断ツールです。概要的なものはいろんなサイトに載っているのでそこを読んでもらうとして、ざっくりいうとWEBサイトの脆弱性診断をしてくれる無料の信頼できるソフトです。こちらでも使い方くわしく解説してくれております。

JAVAのダウンロードとインストール

https://www.java.com/ja/download/
JavaSetup8u111.exeがおちてくるのでこれをインストール。(2016-10-26現在)

OWASP ZAPのダウンロードとインストール

https://code.google.com/archive/p/zaproxy/downloads
ZAP_2.5.0_Windows.exeがおちてくるのでこれをインストール。(2016-10-26現在)

OWASP ZAPを使ってみる

zapいわゆるプロキシのソフトなので仕組み的には「Apache JMeter」とかと似てます。
アイコンをダブルクリックして実行すると「ZAPセッションの保持方法はどうしますか?」と聞かれるので、とりあえずは「指定した場所と名前で保存しつつ操作します。」を選べばよいです。セッションの保存は適当な場所でよいです。ここまでで一応使える準備ができました。

ソフト的な準備の他に現在稼働中のサイトに診断をしたりする場合は、Firewallとか監視系のソフトを切っておかないと攻撃と間違いしてものすごい警告メールが飛んだりするのでご注意。ここらは人間の運用が決めるところなので調整してください。なので以下続くようにlocal環境でやってみるのがよいです。

1.攻撃してみる

開いた画面の右上のエリア、クィックスタートタブのところに「攻撃対象URL」というのがあるので、そこにURLを記入して「攻撃」ボタンを押します。リモートでいきなりやると迷惑なのでxamppとかlocal環境がよいかと思います。ひと通りのデフォルトの攻撃を行ってくれます。(が、ものすごい時間がかかります。私のPC内の環境で最新のEC-CUBEに行ってみましたが、これでも数時間はかかる感じです。)
下部エリアのプログレスバーが出ている左隣りぐらいにモニターのアイコンがあるのですが、それをクリックすると進行状況がわかります。

progress
デフォルトで見てくれる項目は、

パストラバーサル
リモートファイルインクルージョン
Server Side Include
クロスサイト・スクリプティング(反射型)
SQLインジェクション
Server Side code Injenction
リモートOSコマンドインジェクション
クロスサイト・スクリプティング(持続型)
ディレクトリブラウジング
外部リダイレクト
バッファオーバーフロー
書式文字列エラー
CRLFインジェクション
パラメーター改ざん
Script Active Scan Rules

翻訳が追いついていないということだったので、英語の部分ありますが、問題ないと思います。

2.レポートを見る

診断が終わったらレポートを見ます。左下エリアの「アラート」タブにその結果が表示されます。プラットフォーム診断とアプリケーション診断がごっちゃになって出てくるので、きちんとやりたい人はいろいろカスタマイズが必要です。今回の結果は以下のようなものになります。
resultそれぞれのフォルダを開いてゆくとどのページ何の問題があるのか詳細なレポートが表示されます。一部英語ですが、そこそこ英語ができれば問題ないレベルで理解が可能です。結果の見方と修正方法はここでは割愛しますが、例えばX-Frame-Optionsの指摘は、他のサイトからiFrameで読み込まれることを報告しております。実際セキュリティーとは機能自体にセキュリティーホールがあるのではなく人間が政治的に決めたものに過ぎないので、ここらはすべて製作者判断ということになります。外からiFrameで呼び出さないとだめな場合は今回のこの報告を鑑みて政治的に決めるものなのでX-Frameがいいとかわるいとかの問題ではないです。ここらは各自みんなで方向性を決定してください。

IPAの脆弱性体験学習ツールAppGoat

http://www.ipa.go.jp/security/vuln/appgoat/
とはいえ何を診断したらよいのかというところなので、学習者用にIPAがツールを用意してくれております。
youtubeに使い方の解説ありました。

エラー

This application requires a Java Runtime Environment 1.7.0

Javaがインストールされていないか、古いものがインストールされているかなので最新版をインストールすると治ります。「推奨バージョンのJavaがインストールされています (Version 8 Update 111).」的なもので大丈夫です。

公式サイト

https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

ダウンロード場所

https://github.com/zaproxy/zaproxy/wiki/Downloads
https://code.google.com/archive/p/zaproxy/downloads

OWASP ZAP Japan Group
https://groups.google.com/forum/#!forum/owasp-zaproxy-japan

IPAのOWASP ZAPの使い方 PDF