脆弱性スキャナーとは、脆弱性スキャンの実施プロセスを簡素化・自動化するために使われるコンピューター上のツールやプログラムです。コンピューター、アプリケーション、ネットワークを対象に使用でき、攻撃者に悪用される前にそれらの弱点を特定できます。
効果的にスキャンできるよう設計されたシステムやインフラの種類に応じて、さまざまな脆弱性スキャナーがあります。適切でない種類の脆弱性スキャナーを使うと、誤検知や脆弱性の見落としなど、不正確な結果につながる可能性があります。
適切なスキャナーを使えば、システムに存在する最も一般的で広く知られた脆弱性を簡単に見つけられます。得られた情報を活用して、システムの弱点や、脆弱性をより効果的に最小化・回避する方法について理解を深められます。
脆弱性スキャナーのさまざまな種類とその仕組みについて、詳しく見ていきましょう。
1. ホストベースの脆弱性スキャナー
ホストベースの脆弱性スキャナーは、ファイアウォールソフトウェアや侵入防止システムとともに、ネットワークの外周で動作します。サーバー、ホスト、ローカルマシンの構成やオペレーティングシステムの状態に基づいてネットワークのセキュリティを評価する役割を担います。
ネットワークの内外にいるエージェントが引き起こす可能性のある損害を可視化できます。ホストベースのスキャナーは、単独のセキュリティエージェントとして導入できるほか、集中管理された参照点またはエージェントを持つサーバーベースで導入することも、管理者が個々のスキャンを制御・自動化するエージェントレス方式で導入することもできます。
2. ポート脆弱性スキャナー
ポートスキャナーは、ホストやサーバーに開いたままになっているポートがないかを監視・確認するためのツールです。各ポートに接続要求を送信し、その応答を記録することで動作します。
ネットワーク管理者はポートスキャナーを使ってネットワークへの侵入テストを行い、稼働中のすべてのポートの完全性を検証できます。一方、ハッカーがホストやサーバーにつながる、セキュリティで保護されていないポートを探すためにポートスキャナーを使うことも知られています。
3. アプリケーション脆弱性スキャナー
アプリケーション脆弱性スキャナーは、Webアプリ脆弱性スキャナーとも呼ばれ、WebベースのアプリやWebアプリをスキャンして脆弱性を探すツールです。通常はアプリの外部から動作し、ハッカーがアクセスを得る可能性のある方法を探しながら、自動化された侵入テストツールとして機能します。
アプリケーションだけを対象とし、一般にクロスサイトスクリプティング(XXS)、コマンドインジェクション、パストラバーサル、SQLインジェクション、安全でないサーバーやファイアウォールの構成につながる脆弱性を探します。
4. データベース脆弱性スキャナー
データベースは、ほとんどのハッカーにとって最終的な標的になりがちです。そのため、データベース脆弱性スキャナーは、悪意のある外部者がデータベースにアクセスするために悪用できる隙や抜け穴を特定します。
データベースの脆弱性スキャンと監査は、患者情報を保管する企業や事業者がHIPAA(医療保険の相互運用性と説明責任に関する法律)の承認を取得する際に、通常その一部となります。
5. ソースコード脆弱性スキャナー
ソースコード脆弱性スキャナーは、対象領域という点ではアプリケーション脆弱性スキャナーと似ていますが、両者が対象とするセキュリティ機能は異なります。ソフトウェア、アプリケーション、プログラムの構成要素であるソースコードは、定期的な監査によってバグや脆弱性をスキャンできます。
同じプロセスを使えば、アップデート用パッチを一般公開または市場投入する前に、その安全性を保証することもできます。
6. ワイヤレス脆弱性スキャナー
ワイヤレス脆弱性スキャナーは、ワイヤレスネットワークのスキャンおよび監査ツールです。ネットワークを継続的にスキャンし、安全でないデバイスや脆弱なパスワードを探します。さらに、容易に悪用される可能性がある、把握されていないアクセスポイントも特定できます。
ホストベースのスキャナーと同様に、ワイヤレススキャナーはワイヤレスネットワークだけで動作します。十分な頻度で実施すれば、ネットワークのセキュリティと完全性を検証できます。
7. クラウド脆弱性スキャナー
クラウド脆弱性スキャナーは、クラウドストレージやクラウドコンピューティング環境に存在する脆弱性を検出・特定するために特別に設計されたツールです。SaaS、IaaS、PaaSのソリューションを運用・利用するうえで不可欠な要素です。
クラウド脆弱性スキャナーは重要ですが、クラウド環境のセキュリティを維持するために必要なセキュリティソリューション群の一部にすぎません。それでも、クラウドベースのアクセスポイントを常に把握するための出発点としては有効です。
8. ネットワーク脆弱性スキャナー
ネットワーク脆弱性スキャナーは、最も包括的な脆弱性スキャナーおよび監査ツールの一つです。特定の領域に特化するのではなく、有線・無線接続からデバイス、システム、接続されたアプリケーションまで、ネットワークを構成するさまざまなコンポーネントや拡張機能の脆弱性と弱点をスキャンできます。
さらに、ネットワーク外周にある、把握されていないアクセスポイントも見つけられます。検証エラーや脆弱なパスワードから開放ポートまで、ネットワーク上のあらゆる脆弱性について、全体を網羅した詳細なレポートを作成します。
適切な脆弱性スキャナーの種類を選ぶには
脆弱性スキャナーはまず、オープンソースとプロプライエタリのソリューションに分けられます。オープンソーススキャナーは無料で利用でき、世界中のセキュリティチームや開発者の知見を結集できるという利点があります。さらに、公開されている豊富な知識ライブラリやフレームワークを活用できます。
一方、市販のソリューションには、ツール提供元によるサポートと専門知識が付属します。提供されたツールを使ったスキャンや監査をより適切に管理できるよう、専門家に直接アクセスできます。
選択肢は異なり、オンプレミスでホスティングするか、クラウドでホスティングするかによっても変わります。両者の最も大きな違いは、オンプレミスのスキャナーのほうが初期費用が高いことです。
ただし、オンプレミス製品はより正確なスキャン結果を提供する傾向があります。クラウドベースの代替製品は、直接到達することが難しい分散型システムに適しています。
脆弱性スキャナーを選ぶ際に考慮すべきもう一つの要素は、自動化の能力です。手動で脆弱性スキャンを実施することも可能ですが、スキャン対象となる領域やコンポーネントが多い大規模で複雑なネットワークでは、堅牢な自動化機能とスケジュール機能を備えたソリューションを使うほうが適しています。
オープンソースと商用のどちらであっても、個々のソリューションの性能と評判も重要な検討要素です。導入を決める前に、誤検知率を確認しましょう。スキャナーの第三者監査やレポートを確認できるほか、独立系レビューサイトで顧客の評価を読むことでも確認できます。
「脆弱性のスキャンは任意のプロセスではありません。すべてのセキュリティ責任者は攻撃対象領域を完全に可視化する必要があるため、実施しなければならないのです」とLiran Tancman氏(RezilionのCEOで、Forbes Technology Councilのメンバー)は述べています。
「当社では、インフラ、コンテナ、サードパーティーコードなど、複数の環境を調査するためにスキャナーを使っています。スキャナーからあらゆる種類の情報が得られるため、状況を把握できます」とTancman氏は付け加えます。
理解しやすさとカバー範囲も不可欠です。環境の複数の部分をスキャンできるソリューションもありますが、使用するスキャナーが、定期的なスキャンを必要とするすべての部分を網羅できる構成になっていることが重要です。生成されるレポートの包括性は必須ではないものの、今後の分析、調査、監査に役立ちます。
最後に、実際に使えることも重要です。スキャナーはシステムと互換性があるだけでなく、利用できる技術スキルにも適合していなければなりません。ITチームやサイバーセキュリティチームの規模が小さい企業は、より管理しやすく使いやすいソリューションを選ぶべきです。
まとめ:脆弱性スキャンツールの種類
脆弱性スキャンツールは、システムやインフラのさまざまな部分をスキャンして脆弱性を探すためのソフトウェアです。管理者やセキュリティチームが、ハッカーに悪用される前にシステムの隙や弱点を見つけて修正するのに役立ちます。
スキャナーには、スキャンに特化するインフラの部分に応じて、データベースやポートからネットワーク、ホスト、クラウドまで、さまざまな種類があります。
自社に適した脆弱性スキャナーを選ぶには、慎重な検討が必要です。選択肢が多いからです。商用ツールやオープンソースツールだけでなく、クラウドベースやオンプレミスの製品もあり、それぞれ異なる種類の組織のセキュリティニーズに対応しています。