%{FACEBOOKSCRIPT}%
  1. HOME
  2. サイバーセキュリティお役立ち情報
  3. 記事一覧
  4. 脆弱性診断ツール「WEBスキャナー」の比較・検討プロセス

脆弱性診断ツール「WEBスキャナー」の比較・検討プロセス

  • LINEで送る
  • このエントリーをはてなブックマークに追加
脆弱性診断ツール「WEBスキャナー」の比較・検討プロセス

2021年7月 イスラエルにあるSOMPO Digital Lab Tel Aviv内に発足したサイバーチームが発信するニュースレターを紹介します。今回のニュースレターでは、Webアプリケーションスキャナーを比較・検討する際に、実際に用いた手順を紹介します。

Max Cohen@SOMPO Digital Lab Tel Aviv | 2024年2月

記事に関するご意見・お問い合わせはこちらへお寄せください。
(SOMPOホールディングス、損害保険ジャパンなどグループ各社へのお問い合わせはご遠慮下さい)


はじめに

サイバーセキュリティの重要性がますます高まっている今日、SOMPOグループ各社は そのリスクをどのように管理するのか、明確なビジョンを持つことが求められています。セキュリティ対策に万能薬は存在しません。そのため、包括的なサイバーセキュリティ対策では、体系的にリスクに対処するため、複数の保護レイヤーによって構成されているのが一般的です。

米国国立標準技術研究所(NIST) が2024年2月に公開したCybersecurity Framework (CSF) 2.0 では、総合的なサイ バーセキュリティ強化の指針として「Govern(ガバナンス)、Identity(識別)、Protect(防御)|1|、Detect(検知)、Rspond(対応)、Recover(復旧)」の 6つの機能が挙げられています。また、NISTでは、定期的なWebアプリケーションスキャンにより、6機能のうちの「識別」と「検知」をカバーすることを推奨しています。ただし、これはセキュリティ戦略におけるレイヤーの 1つに過ぎないため、これを補完するためにデバイス、電子メール、データの保護や従業員への教育、セキュリティ文化の構築なども必要です。

NIST Cybersecurity Framework 2.0の6つの機能:ガバナンス、識別、防御、検知、対応、回復
(Webアプリケーションスキャンは識別と検知に対応)

私たち、Sompo Digital Lab Tel Avivのサイバーチームは、SOMPOが所有する情報資産(Webアプリ)を広範囲にスキャンして、セキュリティの一般的な脆弱性を検出するためのスキャナーの比較・検討を依頼されました。比較・検討のプロセスは、他のツール選定においても再現可能な手法であるため、セキュリティ業務に携わる皆さんの参考となるよう、次の章ではその手順を紹介していきます。

比較・検討プロセス

選定に至るまでの各プロセスにおける簡単な定義を見ていきましょう。

課題と目的(どうありたいか)の定義

目の前にある課題、またそれに対するニーズ、制限を考慮して、組織の戦略に合致するようにできるだけ具体的かつ包括的に課題の定義を明確にします。

ツールと比較基準の設定

課題の定義で特定された問題を解決するためのツールや機能について検討します。

比較の実行

インターネット上で見つかる情報やトライアル版の利用で得られた情報をもとに、各ツールの特徴や他ツールとの相違点をまとめます。トライアル版が使えない場合も、営業担当者にデモを依頼したりして、調査を実施します。可能であればスキャンによる検出結果を実際のアプリケーションと比較し、結果の正確性を確認します。

ツールの選択

ツールを選び、インテグレーションを行い、有効に活用します。

私たちの実際のアプローチ

課題と目的(どうありたいか)の定義

私たちが理想としていたのは、アプリケーションを自動でスキャン (必要に応じて認証情報を使ってログイン) するが、非侵入手法(ソースコード自体へはアクセスしない)スキャナーでした。理由は、自動スキャンの網羅性と手動でのペネトレーションテストの利点を組み合わせたかったからです。解決したい課題のひとつは、定期的に実施していた手動ペネトレーションテストの頻度と効率を上げることであり、理想を言えば、継続的に実施することでした。

ツールと比較基準の設定

課題と目的が明確になり、それに即した初期調査の結果、一般的にWebアプリケーションスキャナーと呼ばれるツールが解決策になることが分かりました。そこで主要ベンダーを特定し、それぞれのレビューや評価を確認するために、GartnerのPeer Insightsなどを参考に、候補を絞り込むことから着手しました。この時点では25個のツールをリストアップしました。

この段階ではChatGPTの助けも借りました。解決すべき課題が明確になり、チームの合意が得られたところで、解決に役立つ機能についてChatGPTに尋ねたところ、人気のツールや考慮すべき機能に関する情報を得ることができ、参考にすることができました。また、地元イスラエルのIT業界のエコシステムとの繋がりを活用して、ツールを評価し、そのパフォーマンスについての追加情報を得ました。さらに、同国のサイバーセキュリティ業界ネットワークを活用し、250人を超えるサイバーセキュリティの専門家が登録されているWhatsAppグループに質問を投稿して、スタートアップ企業の創業者やCEOから貴重な意見や提案を得ることもできました。

聞き慣れない方法かも知れませんが、これは伝統的なイスラエル・スタイルであり、同国のスタートアップ・エコシステムの特徴です。イスラエルではさまざまな企業や分野の専門家が互いにサポートし合う、非公式で非階層的なネットワークが築かれています。

比較で重視した主な項目は以下の通りです。

 
項目 考慮事項
対応と検知 どんなアプリをスキャンできるか?
スキャンの精度と誤検知への対処 自動 vs 手動の誤検知チェック
スキャン機能 DASTSASTなどのMFASSOへの対応の可否
スケーラビリティとパフォーマンス 必要に応じてスキャナーの数を増せるか?
クラウド vs オンプレミス
インテグレーションと自動化 CI/CDパイプラインやJiraのような課題管理システムとのインテグレーションの可否
スキャンのスケジュール設定の可否
レポート作成 コンプライアンスレポート作成
改善策を含む詳細なテクニカルレポート
高品質のエグゼクティブサマリー
使いやすさ 直感的に使えるUIであるか?
スキャンは簡単に設定できるか?
詳細な修正手順が提供されるか? 
サポート マニュアル/日本語サポート/ユーザコミュニティ内での活発な議論/
迅速なテクニカルサポート
料金体系 ・年単位 or スキャンごとの課金か?
・買い切り等、無制限か?
・アプリやURL単位か?
カスタマイズ機能と拡張性 カスタムスキャンとレポートの定義機能

比較の実行

「ドライ」比較

選択肢と必要な機能をリストアップした後は、実際に比較を行いました。まず製品の「ドライ比較」を行い、必要な機能を備えている製品を見極めました。

ChatGPTはこの段階でも役には立ちましたが、限定的なサポートに終わりました。比較する分野を特定するのには適していましたが、実際に調査を行い、スプレッドシートに記入することは苦手でした。また、ある製品については正確な回答に加えてリンクも提供するものの、別の製品では「ハルシネーション」を起こし、回答自体が間違っているということもありました。AIのみに頼ることなく、該当の製品について詳しく調べ、マニュアルを読むなど自身で調査することも重要です。

インターネットを使ったドライ比較だけでも候補を大幅に絞り込むことは可能です。例えば、この段階でモバイルアプリ限定のツールや必要な機能が搭載されていないツールは候補から外すことができました。ドライ比較だけでは、すべての検討項目を埋めることはできなかったので、この後、製品のデモや、担当者とのやりとりが必要となります。

「ウェット」比較

製品ごとに特徴・価格体系が異なりますが、すべての情報をWebサイトから簡単に入手できるわけではありません。よって、比較過程におけるベンダーとのやりとりは時間がかかるものの、意思決定のための貴重な情報源になります。デモの日程調整、技術仕様の明確化、価格交渉、販売後のサポートの説明などが含まれ、特に複数の商品を比較する場合は多大な時間がかかるのが常です。また、すべての関連情報を確実に収集し、正確に評価するために細心の注意が求められるため、比較する製品が増えるほど複雑になります。この段階は時間がかかるかもしれませんが、十分な情報に基づいた選択を行い、候補のツールが自社のIT環境のニーズや制約を満たしていることを確認するのに不可欠です。タイムラインを考える際にはこのことを念頭に置いておきましょう。

ここからは、今回の比較・検討過程で得られた重要な知見をいくつか紹介します。

比較結果サンプル

対応と検知

Webアプリケーションを識別・スキャンするために製品にどんな指示をすべきでしょうか?ドメイン名やIPアドレス/範囲を指定するだけで、関連するアプリを検索してくれる、とても簡単なツールがある一方で、URLをコピーペーストするだけでも手間の掛かる、使い勝手の悪いものもありました。ほとんどのツールはテキストファイルやCSVファイルを一括でインポートすることができました。

もうひとつ重要な考慮事項として、アプリのソースコードにアクセスし、それを管理できるかどうかという点があります。ツールによっては、HTMLタグを追加したり、対象アプリの所有者であることを確認するためにDNSレコードを追加したりしなければならないものもあります。開発を外部に委託している場合や、Webサイトの構築やホストに外部ツールを使用している場合、この種の制限は特定のツールによるスキャンの妨げになる可能性があります。ただし、いくつかのツールはネットワーク経由でアクセス可能なWebアプリを「全自動化」することができました。

小規模なアプリをいくつかスキャンする場合と、一気に数百のアプリとAPIをスキャンする場合では要件が全く異なります。スキャンしたいアプリの総数も考慮する必要があります。

精度と誤検知

自動化されたツールは、誤検知を起こした場合、所見を検証するセキュリティチームに負荷がかかることが少なくありません。一部の自動化されたツールは報告前に誤検知を減らす方法を採用しています。先進的なソリューションの中には、自動化と機械学習によって所見が「確認された」かどうかを評価するものもありますが、一方で疑わしい所見を検証するために社内での検証に頼らなければならないものもあります。また、ソリューションによってはアプリのコンテキストで発見された証拠に基づいて、特定のエクスプロイトが悪用できるかどうかを推定するだけのものもあります。

レポートとトラッキング

多くのツールが提供する便利な機能の1つに、アプリの脆弱性を時系列で追跡する機能があります。脆弱性の統計を提供することで、関係者全員に情報共有が可能になり、理解しやすく、実行可能な知見を得るのに役立ちます。この管理画面は一例ですが、開発者が次期リリースの脆弱な個所の修正に優先順位をつけるために役立ったり、アプリ全体の脆弱性の数と種類をグラフで表示するので、管理者やビジネス上の関係者にセキュリティ上の状況や重要な変更をすばやく伝えることができます。

Webアプリケーションスキャンツールの管理画面 一例

対象アプリのソースコードにアクセスできるかどうかはここにも関係してきます。ツールの中には、ソースコードへのアクセス権が与えられた場合、静的アプリケーションセキュリティテスト (SAST) とソフトウェアコンポジション分析 (SCA) を提供するものがあります。これにより、ソースコード、またはどのライブラリがアプリの脆弱性になっているかを正確に把握することができます。

サポートとマニュアル

こうした製品の違いの多くは「製品」側と「サービス」側の違いを示唆しています。個人的な経験では、製品寄りのツールでは、オンラインに広範なマニュアルがあり、すぐにデモ環境にアクセスしてプラットフォームを実践的にテストするものが多い印象です。

一方で、企業自体が提供するサービス寄りのソリューションの場合、体験版はすぐに利用できず、社内の専門家によるサポートが重視されていました。

また、日本語ページがある製品はほんの一握りで、製品自体の日本語マニュアルが存在するものはさらに少ないことも特筆すべきです。このことがネックになるなら言語ギャップを埋める手助けをしてくれる現地の販売業者やプロバイダーに相談するのもひとつの手です。

インテグレーション

こうしたツールの多くは組織のニーズをサポートするインテグレーション機能を備えています。これにはCI/CDパイプラインにサイバーセキュリティを組み込みたいソフトウェア開発チーム向けのJenkinsやGitHub Actionsとのインテグレーションが含まれます。他にもワークロードの管理や特定された脆弱性に関するコミュニケーションのためにSlackやJiraと連携することもできます。

より高度なチーム向けに現行ワークフローのスキャンプロセスをカスタマイズするためのAPIドキュメントが含まれているものもあります。

料金体系とライセンス

もうひとつの重要な考慮事項は料金体系です。無制限にアプリをスキャンできるものやアプリやドメインごとに課金するもの、スキャンに応じて課金する従量制のものなど、その料金体系はさまざまです。ニーズに合わせた最適な支払いプランを選べるソリューションもあります。例えば、あるソリューションでは3つの異なる価格帯でサービスを提供しています。従量課金プランが基本料金1,999ドル+スキャン1時間あたり9ドルであるのに対し、プレミアム無制限プランは年間4万9,999ドルとなっています。

ほかにもスキャンするアプリの数に基づいた価格モデルを提供しているソリューションの1つは、ドメイン5つで年間およそ5,000ドルとなっています。

まとめ

ここで説明したプロセスは、私たちが用いたWebアプリケーションスキャナーを比較するための一つの方法に過ぎませんが、組織のサイバーセキュリティに携わる方には参考になる一例であると考えます。

今回の要約は以下の通りです。

  1. 課題の定義:目の前の課題、要望、制限を考慮して、できるだけ具体的かつ包括的に問題を定義しましょう。
  2. ツールと比較基準の設定:特定された課題解決に繋がる既存ツールを調査して、ニーズに最も適した機能について検討しましょう。
  3. 比較の実行:リストアップした各ツールを比較・検討します。インターネットで見つかる情報だけでなく、同僚や友人にお勧めを尋ねるのも良いでしょう。可能であれば、各ツールのテスト環境やデモを試してみるのもよいでしょう。
  4. ツールの選択:ツールを選び、インテグレーションして有効に活用しましょう。

SOMPO Digital Lab Tel Aviv
シニアリサーチャー
Max Cohen(マックス・コーヘン)
2021年8月にSOMPO Digital Lab Tel Avivのレッドチームにシニアリサーチャーとして入社。入社以前の経歴も含め、6年近くに渡り、レッドチームとペネトレーションテストに従事。現在は、並行して機械学習を中心とした情報システムの修士号取得に向けて勉強中。
趣味:サイバーセキュリティと人工知能の関係についての情報収集や勉強



 

記事に関するご意見・お問い合わせはこちらへお寄せください。
(SOMPOホールディングス、損害保険ジャパンなどグループ各社へのお問い合わせはご遠慮下さい)


  • LINEで送る
  • このエントリーをはてなブックマークに追加