金融機関のお客様が多いAMBLでは、「SecurityLab」を設立し、FinTech・金融業界のセキュリティ知識の普及とセキュリティ投資の適正化を目指す活動を展開しています。
今回は、SecurityLabの永野さんに無料の脆弱性診断ツール比較について寄稿いただきました!
こんにちは。SecurityLabの永野です。
無料の脆弱性診断ツールはいくつかありますが、それらがどのような脆弱性診断ツールであるのか調査・比較をしてみました。
紹介する脆弱性診断ツールは以下の通りです。無料で使用できるものを集めました。
■忙しい人向け簡易比較表
日本語ブログ量 | 対応OS | 診断対象 | おすすめ度 | |
OpenVAS | 普通 | Linux系 | 一部ウェブアプリケーションサーバーミドルウェア | ★★ |
Nikto | 普通 | Linux系Windows | ウェブアプリケーションサーバー | ★★ |
Vuls | 多い | Linux系Windows | サーバーミドルウェア | ★★★ |
OWASP ZAP | 多い | Linux系WindowsMac | ウェブアプリケーション | ★★★ |
Burp Suite Community Edition | 多い | Linux系WindowsMac | ウェブアプリケーション | ★★ |
OpenVAS
オープンソースの脆弱性スキャナーです。
ミドルウェアのCVE(セキュリティ脆弱性を一意に特定するための識別子)からサーバー設定の脆弱性の調査が可能です。レポートとして出力され、項目毎に結果を確認することができます。
インストール対応OSは基本的にはLinux系OSとなります。
OpenVASはGreenbone Networks社により開発・支援が行われており、有料製品版の一部にOpenVASが組み込まれています。
コミュニティフォーラムはありますが、公式のサポートを受けるには先述したGreenboneの製品版を購入する必要があり、また、サポート言語は英語かドイツ語になります。
公式のインストールドキュメントを見ると導入には少々手こずりそうですが、GUIで操作が可能でスキャナーとしての使用感は良さそうに見えます。
インストールに関しては、日本語のブログを参照することで負荷を軽減できそうです。
公式サイト:https://www.openvas.org/
インストールページ:https://github.com/greenbone/openvas-scanner
インストールドキュメント:https://github.com/greenbone/openvas-scanner/blob/main/INSTALL.md
Nikto
こちらはオープンソースのWebサーバーに対するスキャナーです。
スキャン内容については、公式Topページ下部に記載がありますので、そちらを確認してみてください。
以下は記載されている内容の一部になります。
IPv6 サポート (新機能!)
SSL サポート (OpenSSL を使用した Unix または ActiveState の
Perl/NetSSL を使用した Windows)
完全なHTTPプロキシサポート
古くなったサーバーコンポーネントをチェックする
etc…
スキャンの結果はcsvやjson、html等、他にもいくつかの形式でファイルに出力することができます。
インストール対応OSは基本的にはLinux系OSですが、Windowsでもインストールが可能なようです。
1on1の公式的なサポートは無く、開発及びサポートのフォーラムに対して議題としてメールを送ることが可能なようですが、アーカイブを見るに最新が2017年のため、Gitのバグチケットを確認するような形になりそうです。対応言語は英語です。
(開発者が描いたNiktoのアイコン)
公式のインストールドキュメントは詳細の記載がないため、日本語のブログがいくつかありますので、そちらを参照することをお勧めします。
NiktoはCLIでの操作のため、不慣れな方は少々使いづらく感じることがあるかもしれません。
公式サイト:https://www.cirt.net/Nikto2
インストールページ:https://github.com/sullo/nikto
インストールドキュメント:https://github.com/sullo/nikto/wiki
Vuls
オープンソースの脆弱性スキャナーです。
ミドルウェアのCVEとサーバー設定の脆弱性をスキャンすることができます。
Vulsはスキャン対象にインストールされているソフトウェア情報や、脆弱性データベースの情報を自動で更新し、更新された内容での診断までを自動で行ってくれます。
スキャンの結果はCLIの画面もしくはWebUI(要設定)で確認することができます。
インストール対応OSは基本的にはLinux系OSです。スキャン対象の対応OSは幅広いため、公式ドキュメントを確認してください。
無料のサポートはなく、有償版であればサポートを行ってくれるようです。日本語にも対応しています。
比較的ドキュメントがきれいにまとめられているため、インストールや使用する際はドキュメント参照でも大丈夫そうです。また、日本語のブログもいくつかありますので、そちらで情報を集めることもできそうです。
診断結果をSlackやメールに連携する機能もあるようです。
公式サイト(日本語サイトは現在機能していないようです):https://vuls.io/en/
インストールページ:https://github.com/future-architect/vuls?tab=readme-ov-file
インストールドキュメント:https://vuls.io/docs/en/install-manually.html
OWASP Zed Attack Proxy(OWASP ZAP)
オープンソースのWebアプリスキャナーです。
Webアプリを網羅的に、ペネトレーションテストによって脆弱性診断を行うことができます。また、自動攻撃診断も搭載されています。
対応OSはWindows、Linux、macOSであり、各種インストーラーが用意されています。
操作はGUIで行い、スキャン結果も操作を行うソフトウェア上に表示されます。
重点的なサポートはありませんが、公式で質問をやり取りするためのユーザーグループが作成されています。対応言語は英語です。
インストーラーがあるため、インストールは容易にできそうです。
英語ではありますが、ドキュメントはかなり整備されており、動画も充実しています。
ドキュメントの中には自動化に関するものも含まれており、継続的な実行もサポートしているようです。
日本語のブログがありますので、そちらを参考にすることも可能です。
社内向け使い方wiki:https://balconia.backlog.jp/alias/wiki/1546521
公式サイト:https://www.zaproxy.org/
インストールページ:https://www.zaproxy.org/download/
インストールドキュメント:https://www.zaproxy.org/docs/
Burp Suite Community Edition
こちらはWebアプリスキャナーです。
ペネトレーションテストやクロスサイトスクリプティング(XSS)、SQLインジェクション、リスト型攻撃等のテストを用いて、脆弱性診断を行うことが可能です。
対応OSはWindows、Linux、macOSであり、各種インストーラーが用意されています。
操作はGUIで行います。こちらは無料版のため、機能が制限されており、レポートの作成はできません。
有償版にはメールによるサポート問い合わせがありますが、無償版はドキュメントとユーザーフォーラムを駆使する形になります。対応言語はどちらも英語です。
インストーラーがあるためか、下記インストールドキュメントに記載されている内容はほとんど無いに等しいです。
使い方については例によって日本語のブログがいくつかありますので、そちらを参考にできます。
攻撃テストを行う際にOWASP ZAPとは異なり、手動で行う必要があります。仕組みを理解する上では便利なツールと言えると思います。
d社では、実際の案件においてBurp Suite Community Editionを使用したテストが開発フローに組み込まれているそうです。
公式サイト:https://portswigger.net/burp/communitydownload
インストールページ:https://portswigger.net/burp/releases/community/latest
インストールドキュメント:https://portswigger.net/burp/documentation/desktop/getting-started/download-and-install
まとめ
各脆弱性診断ツール毎に、少しずつ診断の範囲や内容が異なることがわかりました。
使用用途に応じて、いくつかを組み合わせて使用することもできそうですね。
個人的には継続的な診断を行うことができるという点でサーバー・ミドルウェアについてはVuls、ウェブアプリケーションに対してはOWASP ZAPに魅力を感じました。
案件で脆弱性診断ツールを選ぶ時の参考にしてみてください。
日本語公式サイト | 日本語ブログ量 | 有料サポート有無 | 対応OS | 対応範囲 | |
OpenVAS | 無 | 普 | 有(英語ドイツ語) | Linux系 | ウェブアプリケーションサーバーミドルウェア |
Nikto | 無 | 普 | 無 | Linux系、Windows | サーバー |
Vuls | 無 | 普 | 有 | Linux系 | サーバーミドルウェア |
OWASP ZAP | 無 | 多 | 無 | Linux系、Windows、Mac | ウェブアプリケーション |
Burp Suite Community Edition | 無 | 普 | 有(英語) | Linux系、Windows、Mac | ウェブアプリケーション |
AMBLでは一緒に働くメンバーを募集しています。
この記事を読んで、AMBLに興味を持った方は下記採用ページをご覧ください。
●AMBL採用ページ
-メンバーインタビュー (1日の仕事の流れ/やりがい/仕事内容)
-プロジェクトストーリー (プロジェクトでの実績/苦労エピソード)