(57)【要約】  本発明は、脆弱性情報の入手の迅速化と、早期に脆弱性調査を開始できる脆弱性調査システムを提供する。脆弱性調査システムは、端末と、管理サーバと、配信サーバと、を含む。管理サーバは、端末にインストールされているソフトウェアを管理する。配信サーバは、脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として管理サーバに配信する。配信サーバは、収集部と、解析部と、を含む。収集部は、ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する。解析部は、収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出し、算出された盛況度に応じて新規脆弱性情報を生成する。
2019181979.tif 000002
【特許請求の範囲】
【請求項１】
端末と、
前記端末にインストールされているソフトウェアを管理する管理サーバと、
脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として前記管理サーバに配信する、配信サーバと、
を含み、
前記配信サーバは、
ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する、収集部と、
前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出し、前記算出された盛況度に応じて前記新規脆弱性情報を生成する、解析部と、
を備える、脆弱性調査システム。
【請求項２】
前記収集部は、
ソフトウェアを一意に特定するソフトウェア情報、ソフトウェアの脆弱性に関する脆弱性用語及び既知の脆弱性に関する情報交換がなされる際に用いられる非新規脆弱性用語の少なくとも１つを含む記載を収集する、請求項１の脆弱性調査システム。
【請求項３】
前記解析部は、
前記収集された記載のうち、前記非新規脆弱性用語を含む記載を除外して、前記盛況度を算出する、請求項２の脆弱性調査システム。
【請求項４】
前記解析部は、
前記脆弱性調査対象のソフトウェアを特定するための脆弱性調査情報を取得する、請求項１乃至３のいずれか一項に記載の脆弱性調査システム。
【請求項５】
前記収集部は、
ソフトウェアの脆弱性に関する記載を収集するためにアクセスするサイトに関する情報に基づき、ソフトウェアの脆弱性に関する記載を収集する、請求項１乃至４のいずれか一項に記載の脆弱性調査システム。
【請求項６】
前記解析部は、
予め定めた条件に合致する前記盛況度に対応する前記脆弱性調査対象のソフトウェアを特定する情報を前記新規脆弱性情報として前記管理サーバに送信する、請求項１乃至５のいずれか一項に記載の脆弱性調査システム。
【請求項７】
前記管理サーバは、前記新規脆弱性情報から特定されるソフトウェアの前記端末における状況を調査するように、前記端末に指示する、請求項６の脆弱性調査システム。
【請求項８】
ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する、収集部と、
前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出し、前記算出された盛況度に応じて脆弱性が存在すると推定されるソフトウェアに関する情報である新規脆弱性情報を生成する、解析部と、
を備え、
前記新規脆弱性情報を、端末にインストールされているソフトウェアを管理する管理サーバに配信する、配信サーバ。
【請求項９】
端末にインストールされているソフトウェアを管理する管理サーバに、脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として配信する、配信サーバにおいて、
ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集するステップと、
前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出するステップと、
前記算出された盛況度に応じて脆弱性が存在すると推定されるソフトウェアに関する情報である新規脆弱性情報を生成するステップと、
を含む、脆弱性調査方法。
【請求項１０】
端末にインストールされているソフトウェアを管理する管理サーバに、脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として配信する、配信サーバに搭載されたコンピュータに、
ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する処理と、
前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出する処理と、
前記算出された盛況度に応じて脆弱性が存在すると推定されるソフトウェアに関する情報である新規脆弱性情報を生成する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願についての記載）
本発明は、日本国特許出願：特願２０１８−０５２７８７号（２０１８年３月２０日出願）の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、脆弱性調査システム、配信サーバ、脆弱性調査方法及びプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータやサーバを含め、企業等の組織で利用されているＩＴ（Information Technology）資産には、多くのソフトウェアが搭載されている。【０００３】
組織の機密情報を狙う攻撃者は、それぞれのＩＴ資産に搭載されているソフトウェアの脆弱性を探し、当該脆弱性を攻撃するというアプローチを採用することが多い。このような攻撃からＩＴ資産を守るためには、攻撃が到達する前に、ソフトウェアが有している脆弱性情報を素早く入手し、直ちに脆弱性を保有する端末を特定する必要がある。脆弱性を有する端末が特定されれば、当該脆弱性を解消する対処が可能となる。【０００４】
ここで、組織内にある端末の資産情報（例えば、端末名、インストールされているソフトウェア名、ソフトウェアのバージョンなど）を一元管理し、脆弱性の管理を行うソフトウェアが存在する。以下、当該ソフトウェアを「脆弱性管理ソフトウェア」と表記する。【０００５】
脆弱性管理ソフトウェアは、ベンダのＷｅｂ（ウェブ）サイトなどで脆弱性が公開されると、脆弱性情報を参照し、ソフトウェアの提供元が、脆弱性を有している端末を特定するための調査スクリプトを作成する。さらに、当該脆弱性管理ソフトウェアは、作成した調査スクリプトを端末に配布し、各端末で調査を実行する（調査を実行させる）。その後、脆弱性を有していることがわかると、組織の端末の管理者は、パッチの適用やソフトウェアのアップデートなどの適切な施策を行うことによって、対処を完了する。【０００６】
このように脆弱性管理ソフトウェアを用いることで攻撃者からの攻撃を防ぐことができる。しかしながら、脆弱性管理ソフトウェアの提供元は、信頼できる公的組織からの情報公開を待つと共に、情報公開後も、調査スクリプトが同梱されていない場合は、脆弱性に沿った調査スクリプトの作成を行う必要がある。【０００７】
このような作業には、早くて１日、場合によっては数日を要することがある。この間、脆弱性管理ソフトウェアを導入している企業は、攻撃者からの攻撃を防ぐ防御手段がなく、他に対策を施さない場合には、該当の脆弱性を突かれた攻撃が成立する可能性がある。【０００８】
このような問題に対する解決手段としては、公的組織から、プレス等での情報公開前に、秘密保持契約の下で前もって情報を入手しておく方法が考えられる。しかし、端末に含まれるソフトウェアは多種多様であり、すべてのソフトウェアについて個別に契約を行い、事前に情報を入手していくことは、現実的ではない。【０００９】
また、脆弱性情報は突発的に発生するものであり、どこまでの深さで事前に情報（詳細な情報）を入手できるかは、たとえ契約を結んでいたとしても定かではない。【００１０】
さらに、攻撃に対する間接的な防御手段として、通信路のＩＤＳ（Intrusion Detection System）、ＩＰＳ（Intrusion Protection System）などのゲートウェイ装置にて該当の脆弱性を攻撃する通信が発見されれば、遮断やログの取得を行うなどの対策も考えられる。しかしながら、どのような通信を遮断するかの情報は、各攻撃に対するシグネチャの登録が必要であり、脆弱性情報の公開から問題対処の初動までの間にインターバルがあるという点では、本質的な問題は解決していない。【００１１】
脆弱性の調査では、ソフトウェアのバージョンがある条件に合致するか、ある機能が有効であるかどうか等の調査が通常行われ、調査をする可能性のあるパラメータを、定期的にすべて収集しておくという対応も考えられる。しかしながら、調査対象の数はソフトウェアの数と調査項目が乗算の形で表現され、定期的に情報をすべて収集し続けることは、処理能力の観点でも、ディスク容量の観点でも現実的ではない。【００１２】
特許文献１には、Ｗｅｂページから収集した脆弱性情報を抽出し、セキュリティ管理者に有用な情報を提供するための技術が開示されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】国際公開第２０１７／２２１８５８号
【発明の概要】
【発明が解決しようとする課題】
【００１４】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。【００１５】
上述のように、特許文献１には、脆弱性に関する情報を抽出し、管理者に情報提供するための技術が開示されている。しかしながら、特許文献１における主眼はサイバー攻撃の発生後、迅速に対応するために有益な情報を検索して渡すための技術である。従って、特許文献１に開示された技術を、日常的な脆弱性発生について、事前に危険を予測して調査を始めることに適用できない。【００１６】
本発明は、脆弱性情報の入手の迅速化と、早期に脆弱性調査を開始できることに寄与する、脆弱性調査システム、配信サーバ、脆弱性調査方法及びプログラムを提供することを主たる目的とする。
【課題を解決するための手段】
【００１７】
本発明乃至開示の第１の視点によれば、端末と、前記端末にインストールされているソフトウェアを管理する管理サーバと、脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として前記管理サーバに配信する、配信サーバと、を含み、前記配信サーバは、ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する、収集部と、前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出し、前記算出された盛況度に応じて前記新規脆弱性情報を生成する、解析部と、を備える、脆弱性調査システムが提供される。【００１８】
本発明乃至開示の第２の視点によれば、ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する、収集部と、前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出し、前記算出された盛況度に応じて脆弱性が存在すると推定されるソフトウェアに関する情報である新規脆弱性情報を生成する、解析部と、を備え、前記新規脆弱性情報を、端末にインストールされているソフトウェアを管理する管理サーバに配信する、配信サーバが提供される。【００１９】
本発明乃至開示の第３の視点によれば、端末にインストールされているソフトウェアを管理する管理サーバに、脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として配信する、配信サーバにおいて、ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集するステップと、前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出するステップと、前記算出された盛況度に応じて脆弱性が存在すると推定されるソフトウェアに関する情報である新規脆弱性情報を生成するステップと、を含む、脆弱性調査方法が提供される。【００２０】
本発明乃至開示の第４の視点によれば、端末にインストールされているソフトウェアを管理する管理サーバに、脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として配信する、配信サーバに搭載されたコンピュータに、ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する処理と、前記収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出する処理と、前記算出された盛況度に応じて脆弱性が存在すると推定されるソフトウェアに関する情報である新規脆弱性情報を生成する処理と、を実行させるプログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント（non-transient）なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００２１】
本発明乃至開示の各視点によれば、脆弱性情報の入手の迅速化と、早期に脆弱性調査を開始できることに寄与する、脆弱性調査システム、配信サーバ、脆弱性調査方法及びプログラムが、提供される。
【図面の簡単な説明】
【００２２】
【図１】一実施形態の概要を説明するための図である。
【図２】第１の実施形態に係る脆弱性調査システムの概略構成の一例を示す図である。
【図３】第１の実施形態に係る配信サーバのハードウェア構成の一例を示すブロック図である。
【図４】Ｗｅｂ公開情報に含まれる脆弱性情報を説明するための図である。
【図５】配信サーバによる公開情報の収集動作の一例を示すフローチャートである。
【図６】公開情報データベースの登録内容の一例を示す図である。
【図７】配信サーバの脆弱性調査情報の入力動作の一例を示すフローチャートである。
【図８】配信サーバによる新規脆弱性情報の生成動作の一例を示すフローチャートである。
【図９】管理サーバ及び端末の動作の一例を示すシーケンス図である。
【図１０】管理者による脆弱性の確認動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。さらに、本願開示に示す回路図、ブロック図、内部構成図、接続図などにおいて、明示は省略するが、入力ポート及び出力ポートが各接続線の入力端及び出力端のそれぞれに存在する。入出力インターフェイスも同様である。
【００２４】
一実施形態に係る脆弱性調査システムは、端末１０１と、管理サーバ１０２と、配信サーバ１０３と、を含む（図１参照）。管理サーバ１０２は、端末１０１にインストールされているソフトウェアを管理する。配信サーバ１０３は、脆弱性が存在すると推定されるソフトウェアに関する情報を新規脆弱性情報として管理サーバ１０２に配信する。配信サーバ１０３は、収集部１１１と、解析部１１２と、を含む。収集部１１１は、ネットワークに公開された情報から、ソフトウェアの脆弱性に関する記載を収集する。解析部１１２は、収集された記載を解析し、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出し、算出された盛況度に応じて新規脆弱性情報を生成する。
【００２５】
パーソナルコンピュータやサーバ等の情報端末に含まれているソフトウェアの脆弱性が何者かによって発見された場合、当該情報は媒体を通じて共有される。本願開示では、インターネットのようなネットワーク（媒体）で上記情報が共有される場合を想定している。一実施形態に係る脆弱性調査システムでは、インターネット上のホームページ等、Ｗｅｂ上でやり取りされる情報（公開情報）を解析する。より具体的には、配信サーバ１０３は、どのソフトウェアに関するどのような脆弱性情報のやり取りが行われている可能性が高いかを推定する。さらに、配信サーバ１０３は、当該推定した情報を元に、脆弱性を有する可能性のある端末の調査を自動的に開始できる。即ち、上記脆弱性調査システムは、ネットワークにおける公開情報の自動収集、自動解析を行い、脆弱性情報に関する情報交換の盛況度に応じて、脆弱性情報の公開前に、事前に設定したいくつかの調査項目に対して調査を開始するための仕組みを提案する。
【００２６】
また、上記脆弱性調査システムは、脆弱性情報がベンダから正式に公開される前に、ダークウェブ等のコミュニティにて脆弱性情報がやり取りされることを積極的に活用する。具体的には、上記のようなコミュニティでは、ベンダによる脆弱性情報の公開前にも、脆弱性情報がすでに認知され、何らかの情報のやり取りが発生することがある。上記脆弱性調査システムでは、このような脆弱性情報の特性（ベンダによる公開前に情報交換が発生）が有する性質を利用して、事前に脆弱性情報の調査を始める。即ち、事前にやり取りされる脆弱性情報を迅速に入手できる。また、脆弱性情報を事前に入手することで、端末１０１に当該脆弱性情報に該当するソフトウェアがインストールされているか否かといった調査を早期に開始できる。
【００２７】
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。
【００２８】
［第１の実施形態］
第１の実施形態について、図面を用いてより詳細に説明する。
【００２９】
［構成の説明］
図２は、第１の実施形態に係る脆弱性調査システムの概略構成の一例を示す図である。図２を参照すると、脆弱性調査システムには、配信サーバ１０と、管理サーバ２０と、端末３０と、が含まれる。
【００３０】
配信サーバ１０は、脆弱性情報及び公開情報を管理し、管理サーバ２０に配信する装置である。より具体的には、配信サーバ１０は、脆弱性が存在すると推定されるソフトウェアに関する情報を「新規脆弱性情報」として管理サーバ２０に配信する装置である。
【００３１】
配信サーバ１０は、脆弱性情報データベース（ＤＢ；Database）１１と、公開情報データベース１２と、脆弱性情報管理部１３と、公開情報収集部１４と、公開情報解析部１５と、を含んで構成される。
【００３２】
脆弱性情報データベース１１は、脆弱性を有するソフトウェアの名称、脆弱性が顕在化する条件（例えば、バージョンや特定機能の有効／無効、パラメータ）、ＣＶＥ（Common Vulnerabilities and Exposures）番号、公開日等を格納するデータベースである。
【００３３】
脆弱性情報管理部１３は、脆弱性情報データベース１１を管理する手段である。脆弱性情報管理部１３は、システムの管理者等から脆弱性情報を取得すると、当該情報を脆弱性情報データベース１１に格納する。
【００３４】
公開情報収集部１４は、ネットワークに公開された情報からソフトウェアの脆弱性に関する記載を収集する手段である。公開情報収集部１４により収集された記載は、公開情報データベース１２に格納される。つまり、公開情報データベース１２は、公開情報収集部１４によりＷｅｂ公開情報４０から加工された情報を格納するデータベースである。
【００３５】
なお、公開情報収集部１４は、サイトに書き込まれた文章の一文を情報収集の単位とすることができる。例えば、特定のユーザの１回の発言が公開情報収集部１４による情報収集の単位となる。あるいは、掲示板等のサイトから情報収集する場合には、１つのスレッドを情報収集の単位としてもよい。つまり、公開情報収集部１４は、任意の単位で公開情報を収集することができる。
【００３６】
公開情報解析部１５は、公開情報収集部１４により収集された記載を解析する手段である。より具体的には、公開情報解析部１５は、収集された記載のうち、所定の期間内における脆弱性調査対象のソフトウェアの脆弱性に関する記載の数を盛況度として算出し、算出された盛況度に応じて新規脆弱性情報を生成する。
【００３７】
公開情報解析部１５は、公開情報データベース１２に格納された情報を解析し、その結果に基づいて脆弱性を有するソフトウェアを推定する。公開情報解析部１５は、ソフトウェアに新規な脆弱性が存在する可能性が高い場合には、当該新規な脆弱性を有すると推定されるソフトウェアの詳細情報（例えば、ソフトウェア名称、バージョン）を新規脆弱性情報として管理サーバ２０に送信する。
【００３８】
上述のように、公開情報解析部１５は、脆弱性調査対象のソフトウェアの脆弱性に関する「盛況度」に基づいて上記推定を行う。なお、盛況度とは、ソフトウェアの脆弱性に関して所定の期間内にユーザが言及した回数、頻度と捉えることも可能である。具体的には、特定のソフトウェアに関する脆弱性情報が一日のなかで頻繁に発生していれば、当該脆弱性に関する盛況度は「高い」ものとなる。対して、特定のソフトウェアに関する脆弱性情報が一日のなかでほとんど発生していなければ、当該脆弱性に関する盛況度は「低い」ものとなる。
【００３９】
管理サーバ２０は、管理対象となる端末３０が使用されている企業等の組織に対して設置され、端末３０にインストールされているソフトウェアを管理する装置である。より具体的には、管理サーバ２０は、端末３０の脆弱性情報を管理する装置である。管理サーバ２０は、新規脆弱性情報から特定されるソフトウェアの端末３０における状況を調査するように、端末３０に指示する。つまり、管理サーバ２０は、配信サーバ１０が新規な脆弱性を有すると判断したソフトウェアが端末３０にインストールされているか否かを調査する。
【００４０】
管理サーバ２０は、脆弱性情報データベース２１と、端末情報データベース２２と、脆弱性情報管理部２３と、端末情報管理部２４と、管理画面提供部２５と、を含んで構成される。
【００４１】
脆弱性情報データベース２１に含まれる項目（内容、情報）は、脆弱性情報データベース１１と同じである。脆弱性情報データベース２１は、配信サーバ１０から配布された情報を格納する。
【００４２】
脆弱性情報管理部２３は、配信サーバ１０から配布された情報を受け取る機能と、脆弱性情報データベース２１に当該情報を格納する機能と、脆弱性の調査・対策の対象とする端末３０にスクリプトを配信する機能と、備える。
【００４３】
また、脆弱性情報管理部２３は、配信サーバ１０から新規脆弱性情報を取得すると、当該情報を端末３０に送信する。脆弱性情報管理部２３は、新規脆弱性情報を端末３０に送信することで、端末３０に新規脆弱性情報に該当するソフトウェアが存在するか否かを問い合わせる。
【００４４】
端末情報データベース２２は、管理対象である各端末３０にインストールされているソフトウェアやそのバージョンを保持するデータベースである。端末情報管理部２４は、端末３０から収集した情報を管理するための手段である。具体的には、端末情報管理部２４は、各端末３０のソフトウェア構成等を端末情報データベース２２に登録する。
【００４５】
管理画面提供部２５は、２つのデータベースの情報を元に管理画面の生成を行い、組織の管理者（例えば、セキュリティ管理者）に情報提供を行うための画面を生成する手段である。管理者は、管理画面提供部２５により提供される画面を用いて自組織の端末情報や脆弱性情報を確認することができる。
【００４６】
なお、図２には１台の端末３０に限り図示しているが、実際には、管理サーバ２０は、複数の端末３０を管理の対象とする。
【００４７】
端末３０は、例えば、パーソナルコンピュータやサーバ等のＩＴ資産である。端末３０は、管理サーバ２０による管理対象である。つまり、管理サーバ２０と端末３０は、脆弱性情報や端末情報を管理し、管理される関係にある。
【００４８】
端末３０は、端末情報データベース３１と、調査対策実行部３２と、調査対策結果返送部３３と、を含んで構成される。
【００４９】
調査対策実行部３２は、管理サーバ２０から受信したスクリプトを用いて、自装置内で所定のスクリプトを実行する機能を有する。
【００５０】
調査対策結果返送部３３が、当該スクリプトの実行結果を管理サーバ２０に送信する。
【００５１】
端末情報データベース３１は、自装置にインストールされているソフトウェアやそのバージョンを保持するデータベースである。
【００５２】
調査対策実行部３２は、端末情報データベース３１にアクセスし、新規脆弱性情報に該当するソフトウェアが自装置に存在するか否かを確認する。確認結果は、調査対策結果返送部３３を介して管理サーバ２０に送信される。
【００５３】
［ハードウェア構成］
続いて、図面を参照しつつ、各装置のハードウェア構成を説明する。
【００５４】
図３は、第１の実施形態に係る配信サーバ１０のハードウェア構成の一例を示すブロック図である。
【００５５】
配信サーバ１０は、情報処理装置（コンピュータ）により構成可能であり、図３に例示する構成を備える。例えば、配信サーバ１０は、内部バスにより相互に接続される、ＣＰＵ（Central Processing Unit）５１、メモリ５２、入出力インターフェイス５３及び通信手段であるＮＩＣ（Network Interface Card）５４等を備える。
【００５６】
但し、図３に示す構成は、配信サーバ１０のハードウェア構成を限定する趣旨ではない。配信サーバ１０は、図示しないハードウェアを含んでもよいし、必要に応じて入出力インターフェイス５３を備えていなくともよい。また、配信サーバ１０に含まれるＣＰＵ等の数も図３の例示に限定する趣旨ではなく、例えば、複数のＣＰＵ５１が配信サーバ１０に含まれていてもよい。
【００５７】
メモリ５２は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、補助記憶装置（ハードディスク等）である。
【００５８】
入出力インターフェイス５３は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
【００５９】
配信サーバ１０の機能は、上述の処理モジュールにより実現される。当該処理モジュールは、例えば、メモリ５２に格納されたプログラムをＣＰＵ５１が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウェア、及び／又は、ソフトウェアで実行する手段があればよい。
【００６０】
なお、管理サーバ２０や端末３０も配信サーバ１０と同様に情報処理装置により構成可能であり、その基本的なハードウェア構成は配信サーバ１０と相違する点は無いので説明を省略する。
【００６１】
第１の実施形態に係る脆弱性調査システムの動作に関する説明に先立ち、Ｗｅｂ公開情報４０の性質について説明する。
【００６２】
Ｗｅｂ公開情報４０に含まれる脆弱性情報は、下記の性質を有すると想定する。具体的には、特定のソフトウェアの脆弱性情報がベンダによって発見され、当該脆弱性情報の公開及び対策が処される間に、図４に示すようなタイムラインの流れが想定される。
【００６３】
図４は、横軸を時間、縦軸を盛況度とするグラフである。図４に示すように、盛況度がピークを迎えるのは、ベンダが脆弱性情報を公開した後である。その後、盛況度は、脆弱性に対する対策の実行と共に次第に落ち着く（盛況度が下がる）。
【００６４】
しかしながら、ベンダによる脆弱性情報の公開前にも、脆弱性情報がすでに認知されているコミュニティでは、何らかの情報のやり取りが発生することがある。具体的には、図４に示すように、ピーク時以外（ピーク時以前）にも、盛況度が高くなる時間（期間）が存在する。
【００６５】
第１の実施形態に係る脆弱性調査システムでは、このような脆弱性情報の盛況度が有する性質を利用して、事前に脆弱性情報の調査を始める。具体的には、第１の実施形態では、上記コミュニティ等で脆弱性が話題となっているソフトウェアが端末３０にインストールされているか否か等の調査を、ベンダが脆弱性を正式に発表する前に開始する。
【００６６】
次に、公開情報の取り扱いについて説明する。
【００６７】
本願開示では、公開情報に関して、ソフトウェアごとに固有で使用される情報と、脆弱性という考え方について共通で使用される情報と、２種類の分類を行う。
【００６８】
具体的には、公開情報は、ソフトウェアを一意に特定するための情報と、脆弱性に関連する情報と、に分類される。以下の説明では、ソフトウェアを一意に特定するための情報を、ソフトウェア（ＳＷ；Soft Ware）情報と表記する。
【００６９】
ＳＷ情報は、ソフトウェア名、バージョン情報、設定値などの情報である。ＳＷ情報については、１つのソフトウェアを１単位として管理する。
【００７０】
脆弱性に関する情報は、さらに２種類の情報に分類される。
【００７１】
第１の情報は、脆弱性と関連する用語である。
【００７２】
第２の情報は、新規の脆弱性ではなく既知の脆弱性に関する情報交換がなされる際に用いられる用語である。
【００７３】
以下の説明では、第１の情報を「脆弱性用語」と表記し、第２の情報を「非新規脆弱性用語」と表記する。
【００７４】
脆弱性用語の例としては、「脆弱性」、「ｖｕｌｎｅｒａｂｉｌｉｔｙ」、「セキュリティホール」、「ｒｏｏｔ」、「ａｕｔｈ」等がある。非新規脆弱性用語の例としては、「セミナー」、「勉強会」、「かつて」等がある。
【００７５】
なお、どのような用語や情報が、上記ＳＷ情報、脆弱性用語、非新規脆弱性用語に該当するかといった情報は、配信サーバ１０の各処理モジュールがアクセス可能なデータベースやテーブルに予め登録しておく。
【００７６】
［動作の説明］
続いて、図面を参照しつつ、各装置の動作のついて説明する。
【００７７】
図５は、配信サーバ１０による公開情報の収集動作の一例を示すフローチャートである。初めに、システムの管理者は、配信サーバ１０に公開情報の収集動作に関する設定を行う。具体的には、管理者は、「巡回するサイトのＵＲＬ（Uniform Resource Locator）」、「巡回方法」、「巡回条件」、「巡回するサイトの重要度」等を配信サーバ１０に設定する。
【００７８】
例えば、管理者は、ＵＲＬと、ＵＲＬ内のリンクを巡回すること（巡回方法）、特定のタグの情報を抜き出すこと（巡回条件）等を配信サーバ１０に設定する。
【００７９】
なお、巡回するサイトの重要度とは、巡回先となるサイトの情報源としての信頼度を表す項目である。例えば、多数の利用者が更新可能なサイトであれば重要度は低く設定され、ベンダが運営する正式な情報公開サイトであれば重要度は高く（例えば、最大に）設定される。配信サーバ１０は、当該重要度を利用して、重要度が高いサイトを優先して巡回する等の対応を行ってもよい。
【００８０】
配信サーバ１０は、設定された内容（巡回条件）に基づき、各サイトを巡回する（ステップＳ１０１）。その際、配信サーバ１０は、一定周期で各サイトを巡回し、登録された巡回方法を順に実行する。このように、配信サーバ１０は、ソフトウェアの脆弱性に関する記載を収集するためにアクセスするサイトに関する設定情報（管理者が設定する情報）に基づき、ソフトウェアの脆弱性に関する記載を収集する。
【００８１】
配信サーバ１０の公開情報収集部１４は、巡回先のサイトから情報を取得すると、当該取得した情報に、脆弱性情報が含まれる否かを判断する（ステップＳ１０２）。具体的には、公開情報収集部１４は、取得した情報に、上記ＳＷ情報、脆弱性用語及び非新規脆弱性用語のうち少なくとも１つが含まれるか否かを判定する。
【００８２】
取得した情報（記載）のなかに、ＳＷ情報、脆弱性用語、非新規脆弱性用語が含まれなければ（ステップＳ１０２、Ｎｏ分岐）、配信サーバ１０は処理を終了する。
【００８３】
脆弱性情報が含まれれば（ステップＳ１０２、Ｙｅｓ分岐）、公開情報収集部１４は、取得した情報に含まれる用語、文言に応じた属性を取得情報に付与し、公開情報データベース１２に登録する（ステップＳ１０３）。
【００８４】
例えば、公開情報収集部１４は、「ソフトウェアＡのバージョン０１に脆弱性あり」という情報を取得した場合には、当該情報のＳＷ情報に基づき取得情報を整理すると共に、当該情報に「脆弱性用語あり」の属性を付与して公開情報データベース１２に登録する。あるいは、公開情報収集部１４は、「勉強会で、ソフトウェアＡのバージョン０１に脆弱性ありの報告」という情報を取得した場合には、当該情報に「脆弱性用語あり」、「非新規脆弱性用語あり」の属性を付与して公開情報データベース１２に登録する。
【００８５】
公開情報収集部１４は、取得した情報を識別するＩＤ（Identifier）、情報の取得日時等も合わせて公開情報データベース１２に登録する。
【００８６】
公開情報収集部１４の動作により、図６に示すような公開情報データベース１２が構築される。図６を参照すると、例えば、ソフトウェア情報（ソフトウェアＡのバージョン０１、ソフトウェアＢのバージョン０２）ごとに、各取得情報に脆弱性用語、非新規脆弱性用語が含まれていたか否かが管理される。
【００８７】
このように、配信サーバ１０は、収集した情報が上述の３つに分類したいずれかに関係するかの判定を行い、合致するものがあれば、公開情報データベース１２に関連情報を追加する。公開情報データベース１２に格納する情報は、単に単語の羅列ではなく、使用する解析技術に依存した関連情報を指定される。
【００８８】
図７は、配信サーバ１０の脆弱性調査情報の入力動作の一例を示すフローチャートである。
【００８９】
管理者は、任意のタイミングで脆弱性の調査対象に関する情報を配信サーバ１０に入力する。例えば、管理者は、システムの運用開始前に認識している脆弱性調査対象の情報を入力する。例えば、管理者は、ソフトウェアの名称及びそのバージョンを指定して「脆弱性調査対象」として配信サーバ１０に入力する。あるいは、管理者は、システムの運用開始後に参考にした公開情報を元にして、脆弱性調査対象を入力することができる。
【００９０】
配信サーバ１０の公開情報解析部１５は、管理者から、脆弱性調査対象のソフトウェアを特定するための脆弱性調査情報を取得する（ステップＳ２０１）。具体的には、公開情報解析部１５は、脆弱性調査の対象となるソフトウェア名、設定項目を表現するキーワード（例えば、バージョン）等を１レコードとする脆弱性調査対象を取得する。
【００９１】
また、管理者は、脆弱性調査にあたり、具体的な調査スクリプトやコマンド等が用意できる場合には、これらの情報も配信サーバ１０に入力する。
【００９２】
続いて、配信サーバ１０による新規脆弱性情報の生成について説明する。図８は、配信サーバ１０による新規脆弱性情報の生成動作の一例を示すフローチャートである。
【００９３】
配信サーバ１０は、図８のフローチャートに従って、脆弱性調査対象となっているソフトウェア（ＳＷ情報）の盛況度を算出し、当該算出した盛況度に応じて調査対象に脆弱性があるいか否か（あるいは、脆弱性が存在する可能性が高いか否か）を判定する。換言すれば、配信サーバ１０は、端末３０に調査対象が存在するか否かの調査を実行する必要があるか否かを判定する。具体的には、配信サーバ１０は、収集された公開情報に基づいて構成された公開情報データベース１２を用いて以下の解析を実施する。
【００９４】
初めに、公開情報解析部１５は、先に取得した脆弱性調査情報から特定される調査対象に該当するエントリを公開情報データベース１２から抽出する（ステップＳ３０１）。その際、公開情報解析部１５は、公開情報データベース１２の取得日時フィールドを参照し、所定期間内のエントリのうち脆弱性調査対象に該当するＳＷ情報を有するエントリを抽出する。
【００９５】
図６の例では、ソフトウェアＡのバージョン０１（ＳＷ＿Ａ；Ｖ０１）とソフトウェアＢのバージョン０２（ＳＷ＿Ｂ；Ｖ０２）が脆弱性調査対象であれば、取得情報ＩＤがＩＤ１〜ＩＤ９であるエントリが抽出される。
【００９６】
次に、公開情報解析部１５は、抽出したエントリのうち新規の脆弱性に関するエントリを特定する（ステップＳ３０２）。具体的には、公開情報解析部１５は、脆弱性用語を有するエントリの集合から非新規脆弱性用語を有するエントリの集合の差分を演算し、新規の脆弱性に関するエントリを特定する。
【００９７】
図６の例では、ＩＤ２、ＩＤ６、ＩＤ８のエントリは、非新規脆弱性用語が含まれるので、これらを除外したエントリの集合である｛ＩＤ１、ＩＤ３、ＩＤ４、ＩＤ５、ＩＤ７、ＩＤ９｝が特定される。
【００９８】
その後、公開情報解析部１５は、それぞれのエントリ（情報交換）に関して、ＳＷ情報を用いて、どのソフトウェアに関しての情報交換がなされているかの推定を行う（ステップＳ３０３）。
【００９９】
図６の例では、ソフトウェアＡのバージョン０１に関する情報交換のエントリは、ＩＤ１、ＩＤ３、ＩＤ４、ＩＤ７である。また、ソフトウェアＢのバージョン０２に関する情報交換のエントリは、ＩＤ５、ＩＤ９である。
【０１００】
次に、公開情報解析部１５は、推定したエントリに基づいて各ＳＷ情報ごとのランク付けを行う（ステップＳ３０４）。具体的には、公開情報解析部１５は、各ＳＷ情報ごとに情報交換がなされたエントリの数を計数し、盛況度を算出する。
【０１０１】
上述の例では、ソフトウェアＡのバージョン０１に関しては４つのエントリが存在するので、盛況度は「４」となる。また、ソフトウェアＢのバージョン０２に関しては２つのエントリが存在するので、盛況度は「２」となる。このように、公開情報解析部１５は、収集された記載のうち、非新規脆弱性用語を含む記載を除外して、盛況度（評価スコア）を算出する。
【０１０２】
公開情報解析部１５は、算出した盛況度を並べてＳＷ情報をランク付けする。上記の例では、ソフトウェアＡのバージョン０１に関するＳＷ情報がソフトウェアＢのバージョン０２に関するＳＷ情報よりも上位にランク付けされる。
【０１０３】
公開情報解析部１５は、作成したランクの上位からＮ（Ｎは任意な正の整数、以下同じ）件のＳＷ情報を「新規脆弱性情報」として、管理サーバ２０の脆弱性情報管理部２３に送信する（ランク上位からの調査指示；ステップＳ３０５）。例えば、上記の例では、ソフトウェアＡのバージョン０１に係るＳＷ情報が新規脆弱性情報として管理サーバ２０に送信される。
【０１０４】
上記説明では、公開情報解析部１５は、生成したランクの上位Ｎ件から新規脆弱性情報を生成しているが、所定の閾値以上の盛況度を有するＳＷ情報から新規脆弱性情報を生成しても良い。つまり、公開情報解析部１５は、予め定めた条件に合致する盛況度に対応する脆弱性調査対象のソフトウェアを特定する情報を「新規脆弱性情報」として管理サーバ２０に送信する。
【０１０５】
続いて、管理サーバ２０の管理動作について説明する。図９は、管理サーバ２０及び端末３０の動作の一例を示すシーケンス図である。
【０１０６】
管理サーバ２０の脆弱性情報管理部２３は、端末情報データベース２２を参照し、端末３０に対して、新規脆弱性情報の調査指示が必要か否かを判定する（ステップＳ４０１）。具体的には、脆弱性情報管理部２３は、端末情報データベース２２に上記新規脆弱性情報が含まれているか否かに応じて、上記判定を行う。
【０１０７】
つまり、端末情報データベース２２に新規脆弱性情報が登録されていれば、端末３０に当該新規脆弱性情報に該当するソフトウェアがインストールされていることを意味するので、脆弱性情報管理部２３は、新たな調査指示は不要と判定する。
【０１０８】
端末情報データベース２２に新規脆弱性情報が登録されていなければ、端末３０に当該新規脆弱性情報に該当するソフトウェアがインストールされているか否かが不明であるため、脆弱性情報管理部２３は、調査指示は必要と判定する。
【０１０９】
調査指示が不要であれば（ステップＳ４０１、Ｎｏ分岐）、処理は修了する。
【０１１０】
調査指示が必要であれば（ステップＳ４０１、Ｙｅｓ分岐）、脆弱性情報管理部２３は、調査指示を端末３０に送信する（ステップＳ４０２）。具体的には、脆弱性情報管理部２３は、新規脆弱性情報を端末３０に向けて送信し、当該情報に該当するソフトウェアが端末３０に含まれるか否かの調査を指示する。
【０１１１】
調査指示を受け取った端末３０は、調査対策実行部３２が調査を実施する（ステップＳ５０１）。その後、端末３０の調査対策結果返送部３３は、調査結果を管理サーバ２０に返送する（ステップＳ５０２）。
【０１１２】
管理サーバ２０の端末情報管理部２４は、調査結果を端末情報データベース２２に登録する（ステップＳ４０３）。
【０１１３】
なお、上記調査に並行して、管理サーバ２０は、管理者にも管理画面もしくはメール等の送信などにより、調査が必要と思われるあるソフトウェアの設定項目に関しての推定情報（新規脆弱性情報）の通知を行うのが望ましい。当該通知に接した管理者は、必要に応じて、調査方法の登録フローに従って情報の追加を行うことができる。
【０１１４】
次に、管理者による脆弱性の確認動作について説明する。図１０は、管理者による脆弱性の確認動作の一例を示すフローチャートである。
【０１１５】
管理者は、管理サーバ２０により提供される管理画面にアクセスし、現在公開されている脆弱性情報を確認する（ステップＳ６０１、Ｓ６０２）。
【０１１６】
管理者は、事前に調査が開始されている項目であれば（端末３０における事前調査が完了していれば）、各端末３０における調査状況を確認する（ステップＳ６０３、Ｙｅｓ分岐；ステップＳ６０４）。
【０１１７】
管理者は、事前に調査が開始されている項目でなければ、ソフトウェアの提供元による調査スクリプトの配布を待つ（ステップＳ６０３、Ｎｏ分岐；ステップＳ６０５）。
【０１１８】
以上のように、第１の実施形態に係る配信サーバ１０は、事前に登録したＳＷ情報、脆弱性用語、非新規脆弱性用語を含む記載をベンダが提供するサイトからだけでなく、所謂、ダークウェブと称されるサイトからも取得する。ダークウェブ等に形成されるコミュニティでは、ベンダからの正式な脆弱性情報の公表前に脆弱性情報がやり取りされることがある。配信サーバ１０は、このようなサイトからも積極的に情報を収集し、ベンダから脆弱性に関する情報が正式発表される前にソフトウェアに脆弱性が存在する可能性を推定する。具体的には、配信サーバ１０は、上記サイトにて特定のソフトウェア及び特定のバージョンに関して脆弱性に関する議論が盛んであれば、上記特定のソフトウェア及びバージョンには何らかの脆弱性が存在すると推定する。その結果、管理サーバ２０は、ベンダから脆弱性が公表される前に、管理対象となっている端末３０に脆弱性が疑われるバージョンのソフトウェアがインストールされているか否かといった調査を事前且つ迅速に実行することができる。
【０１１９】
即ち、脆弱性情報がベンダーサイトなどから公開された場合、ソフトウェア提供元からの調査スクリプトの配布を待たずに、組織内の端末に対して、ただちに調査を開始することができ、公開までの時間が短縮できる。換言すれば、脆弱性情報の公開前でも盛況度からの推定で、複数の調査を事前に実施しておくことができる。その結果、仮に当該脆弱性情報が公開されたときに、すでに調査が開始している状態にすることができ、調査完了までの時間が短縮できる。
【０１２０】
［変形例］
上記実施形態にて説明したシステムの構成や動作は例示であって、システムの構成や動作を限定する趣旨ではない。例えば、管理サーバ２０の機能が配信サーバ１０に組み込まれていてもよい。
【０１２１】
また、脆弱性調査情報を配信サーバ１０に登録することに関しては、手動で調査スクリプトを登録することに加え、キーワードを解析して調査スクリプトを自動生成する技術と組み合わせても良い。
【０１２２】
上記実施形態では、盛況度に基づいて新規脆弱性情報を生成しているが、当該情報の生成の際にサイト毎の重要度を加味しても良い。例えば、重要度の高いサイトから取得した記載から生成された盛況度には高いスコアを与える等の対応をしてもよい。
【０１２３】
また、上述の説明で用いた複数のフローチャートでは、複数の工程（処理）が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【０１２４】
上記の実施形態の一部又は全部は、以下の形態のようにも記載され得るが、以下には限られない。
［形態１］
上述の第１の視点に係る脆弱性調査システムのとおりである。
［形態２］
前記収集部は、
ソフトウェアを一意に特定するソフトウェア情報、ソフトウェアの脆弱性に関する脆弱性用語及び既知の脆弱性に関する情報交換がなされる際に用いられる非新規脆弱性用語の少なくとも１つを含む記載を収集する、好ましくは形態１の脆弱性調査システム。
［形態３］
前記解析部は、
前記収集された記載のうち、前記非新規脆弱性用語を含む記載を除外して、前記盛況度を算出する、好ましくは形態２の脆弱性調査システム。
［形態４］
前記解析部は、
前記脆弱性調査対象のソフトウェアを特定するための脆弱性調査情報を取得する、好ましくは形態１乃至３のいずれか一に記載の脆弱性調査システム。
［形態５］
前記収集部は、
ソフトウェアの脆弱性に関する記載を収集するためにアクセスするサイトに関する情報に基づき、ソフトウェアの脆弱性に関する記載を収集する、好ましくは形態１乃至４のいずれか一に記載の脆弱性調査システム。
［形態６］
前記解析部は、
予め定めた条件に合致する前記盛況度に対応する前記脆弱性調査対象のソフトウェアを特定する情報を前記新規脆弱性情報として前記管理サーバに送信する、好ましくは形態１乃至５のいずれか一に記載の脆弱性調査システム。
［形態７］
前記管理サーバは、前記新規脆弱性情報から特定されるソフトウェアの前記端末における状況を調査するように、前記端末に指示する、好ましくは形態６の脆弱性調査システム。
［形態８］
上述の第２の視点に係る配信サーバのとおりである。
［形態９］
上述の第３の視点に係る脆弱性調査方法のとおりである。
［形態１０］
上述の第４の視点に係るプログラムのとおりである。
なお、形態８〜１０は、形態１と同様に、形態２〜形態７のように展開することが可能である。
【０１２５】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１２６】
１０、１０３  配信サーバ
１１、２１  脆弱性情報データベース（ＤＢ）
１２  公開情報データベース（ＤＢ）
１３、２３  脆弱性情報管理部
１４  公開情報収集部
１５  公開情報解析部
２０、１０２  管理サーバ
２２、３１  端末情報データベース（ＤＢ）
２４  端末情報管理部
２５  管理画面提供部
３０、１０１  端末
３２  調査対策実行部
３３  調査対策結果返送部
４０  Ｗｅｂ公開情報
５１  ＣＰＵ（Central Processing Unit）
５２  メモリ
５３  入出力インターフェイス
５４  ＮＩＣ（Network Interface Card）
１１１  収集部
１１２  解析部
【図１】
2019181979.tif 000003
【図２】
2019181979.tif 000004
【図３】
2019181979.tif 000005
【図４】
2019181979.tif 000006
【図５】
2019181979.tif 000007
【図６】
2019181979.tif 000008
【図７】
2019181979.tif 000009
【図８】
2019181979.tif 000010
【図９】
2019181979.tif 000011
【図１０】
2019181979.tif 000012
【国際調査報告】
2019181979.tif 000013
2019181979.tif 000014
2019181979.tif 000015