OWASP ZAPのご紹介です。
OWASP ZAPとは、WEBアプリケーションの脆弱性検査を行うフリーでオープンのツールです。
弊社でも、今までに自社サービスに利用実績があり、とても役立ちました。
公式サイト:https://www.zaproxy.org
オープン: Githubでソースが公開されています。https://github.com/zaproxy/zaproxy
JAVAで作られています。
新機能が追加されることもあります。リリースされた安定版に新機能がなくても、weekly release版などで利用できたりします。不具合があってもweekly releaseで直っていて、それを使うこともできます。
オープンなので情報をあつめて対応できる人には利点ですね。
●使い方:
OWASP ZAPというアプリケーションを公式サイトからダウンロードして、インストール。
OWASP ZAPを起動させて各種設定を行って検査を実行。
指定したURLに、SQLインジェクション、クロスサイトスクリプティング、CSRF、ディレクトリトラバーサルなどなど、諸々の脆弱性がないか、リクエストを送って、自動的に検査してくれます。
結果は、報告書形式で取得できます。
ごく簡単に開始することもできるし、
いろんな設定をして、カスタマイズし、それだけ深い検査をすることもできます。
インストール方法は非常に簡単だし、紹介しているWEBページもあまたあるのでここでは省略。
公式サイトのインストール方法紹介:https://www.zaproxy.org/getting-started/#install-and-configure-zap
インストール後、OWASP ZAPを起動したところ。
※ちょっと深い設定方法などはコツが必要な部分もありますので、次の機会に紹介したいと思います。
●実際に使ってみた結果と感想。
結論:OWASP ZAPのようなツールによる脆弱性診断は、今後は従来の診断方法でできなかった部分を補完してくれるので、どんどん使っていっていいものだと思いました。
懸念点:
自動ツールによる脆弱性診断は、それだけで、脆弱性の検査を完璧にできるものではありません。
・カバレッジの問題
全条件を網羅した診断は、他の方法でもそうですが、不可能です。
・検知率の問題
問題がないところでも脆弱性として誤って報告される場合もあります。検査後にエンジニアがチェックする必要があります。
・実装漏れによる脆弱性は検知不可
権限チェックが抜けている等の、実装漏れから発生する脆弱性は自動では検知できません。
ツールではそれが仕様なのか、実装漏れなのかが判断できないため。
あらかじめ、設定に組み込んでやれば検知可能ではあります。
上のような懸念点はありますが、利用していくメリットは確かにあります。
脆弱性診断ツールを使うメリット:
人間では不可能な機械的に大量のパターンのリクエストを何回も投げるなどが可能。
人間では検知が難しい脆弱性を発見できます。
懸念点とメリットとを合わせて考えると、従来のセキュリティ確保、脆弱性診断の方法は継続し、それにプラスしてOWASP ZAPなどのツールを利用して、より完璧な対応をとっていくのがよいようです。
数年前から、OWASP ZAPを利用し、バージョンアップもウォッチしていますが、年々、注目度も上り、性能も向上しているようです。今後もますます利用されていくことことでしょう。
是非、一度、お試しください!