説明

脆弱性判定装置及びプログラム

【課題】 脆弱性情報が公開されたソフトウェアのうち、安全性への影響度が高いソフトウェアのみを判定でき、効率よく安全性を向上できる。
【解決手段】 脆弱性判定装置40においては、脆弱性情報取得部41が脆弱性情報公開サイト装置30から脆弱性情報を取得して脆弱性情報記憶42に書き込み、構成情報要求部43が電子計算機20から構成情報を取得して構成情報記憶部44に書き込むと、マッチング部45が、構成情報記憶部44内の構成情報に対し、脆弱性情報記憶部42内の脆弱性情報との関連を有するか否かを判定し、マッチング部45による判定の結果、当該脆弱性情報との関連を有する構成情報に対し、影響度判定部46が、電子計算機20から取得したサービス設定情報との関連を有するか否かを判定し、この判定の結果、当該サービス設定情報との関連を有する構成情報を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、脆弱性判定装置及びそのプログラムに係り、例えば、脆弱性情報が公開されたソフトウェアのうち、安全性への影響度が高いソフトウェアのみを判定でき、効率よく安全性を向上し得る脆弱性判定装置及びプログラムに関する。
【背景技術】
【0002】
情報システムは、一般には、複数の電子計算機と、各電子計算機が使用する様々なOS(Operating System)、API(Application Program Interface)、アプリケーションなどの各ソフトウェアを組み合わせて構築されている。各ソフトウェアは、情報システム構築時には脆弱性が発見されなくても、時間の経過とともに様々な脆弱性が発見される可能性がある。
【0003】
現在、このような各ソフトウェアに関する脆弱性情報を一般に公開するサイト(例えば、有限責任中間法人JPCERTコーディネーションセンター及び独立行政法人情報処理推進機構(IPA)によって運営されるJapan Vulnerability Notes−http://jvn.jp/−など)やソフトウェアメーカが運営して自社のソフトウェアの脆弱性情報を公開するサイトが存在している。
【0004】
また、信用できるサイトから公開された脆弱性情報に基づいて、電子計算機が使用するソフトウェアの脆弱性の有無を検査し、企業内ネットワークへの接続可否の判断、ソフトウェアへのパッチの適用、電子計算機の設定変更などの対策を講じる脆弱性対策技術が知られている(例えば、特許文献1参照。)。
【特許文献1】特開2004−258777号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
以上のような脆弱性対策技術は、電子計算機にインストールされたソフトウェアのうち、脆弱性情報によって脆弱性が周知されるソフトウェアに対策を講じるものであるので、本発明者の検討によれば、安全性向上のための効率を良くする余地がある。
【0006】
例えば、インストールしていても実際には使用しないソフトウェアであれば、脆弱性情報による安全性への影響度が低く、対策が不要な筈である。しかしながら、脆弱性情報への対策を講じていた点で、安全性向上のための効率が低い。
【0007】
すなわち、効率よく安全性を向上させる観点から、脆弱性情報が公開されたソフトウェアのうち、安全性への影響度が高いソフトウェアのみを判定すればよい。
【0008】
また特に、他の電子計算機にサービスを提供するサーバ装置を管理するシステム管理者の場合、運用の都合上、パッチの頻繁な適用が困難であるため、脆弱性情報が公開されたソフトウェアのうち、電子計算機に対する安全性への影響度が高いソフトウェアのみを判定する必要がある。
【0009】
本発明は上記実情を考慮してなされたもので、脆弱性情報が公開されたソフトウェアのうち、電子計算機に対する安全性への影響度が高いソフトウェアのみを判定でき、かかる安全性を効率よく向上し得る脆弱性判定装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の一つの局面は、インストールされた複数のソフトウェアを示す各ソフトウェア名及び各バージョン情報からなる構成情報、並びに前記各ソフトウェア名のうちのサービス設定された各ソフトウェアの各ソフトウェア名を含むサービス設定情報を保持する手段と、脆弱性をもつ各ソフトウェアを示す各ソフトウェア名及び各対象バージョン情報からなる脆弱性情報を取得する手段と、前記脆弱性情報を記憶する手段と、前記構成情報を記憶する手段とを備えた脆弱性判定装置であって、前記脆弱性情報を取得して前記脆弱性情報を記憶する手段に前記脆弱性情報を書き込む手段、前記サービス設定情報を保持する手段から前記構成情報を取得して前記構成情報を記憶する手段に書き込む手段、前記構成情報を記憶する手段内の前記構成情報に対し、前記脆弱性情報を記憶する手段内の前記脆弱性情報との関連を有するか否かを判定する手段、この判定の結果、前記脆弱性情報との関連を有する前記構成情報に対し、前記サービス設定情報との関連を有するか否かを判定する手段、この判定の結果、前記サービス設定情報との関連を有する前記構成情報を出力する手段、を備えた脆弱性判定装置である。
【0011】
なお、本発明の一つの局面としては、装置の場合を説明したが、これに限らず、方法、プログラム、プログラムを記憶した記憶媒体として表現してもよい。
【0012】
(作用)
本発明の一つの局面によれば、脆弱性情報との関連を有する構成情報に対し、電子計算機から取得したサービス設定情報との関連を有するか否かを判定する。そして、この判定の結果、サービス設定情報との関連を有する構成情報を出力する構成により、脆弱性情報が公開されたソフトウェアのうち、電子計算機に対する安全性への影響度が高いソフトウェアのみを判定でき、効率よく安全性を向上することができる。
【発明の効果】
【0013】
以上説明したように本発明によれば、脆弱性情報が公開されたソフトウェアのうち、電子計算機に対する安全性への影響度が高いソフトウェアのみを判定でき、効率よく安全性を向上できる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の各実施形態について図面を用いて説明する。なお、以下の各装置は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。このような組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置の持つ電子計算機にインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【0015】
(第1の実施形態)
図1は本発明の第1の実施形態に係る脆弱性判定装置及びその周辺構成を示すブロック図である。図示するように、情報システム10を構成するn台(但し、1≦n)の電子計算機20〜20や、脆弱性情報公開サイト装置30がそれぞれ脆弱性判定装置40に通信可能に接続されている。
【0016】
例えば、脆弱性判定装置40は、企業や団体内に構築された情報システム10に対して、脆弱性情報を監視及び評価する。なお、脆弱性判定装置40は、いずれかの電子計算機20〜20に一体的に設けられていてもよいが、ここでは、各電子計算機20〜20とは別のPC(Personal Computer)装置(脆弱性スキャナ)として設けられている。
【0017】
情報システム10内の各電子計算機20〜20は、情報システム10において、クライアント端末又はサーバ装置のいずれとして用いられていてもよい。
【0018】
なお、各電子計算機20〜20は、構成情報の内容やサービス設定情報の内容は異なるものの、互いに同一の機能ブロック21〜24を有する構成である。従って、以下では電子計算機20を代表例に挙げて説明する。これは、第1の実施形態以下で説明する各実施形態でも同様である。また、1台の電子計算機20を対象として説明するが、複数台の電子計算機20,…を対象としても構わない。
【0019】
ここで、電子計算機20は、通常のコンピュータ機能を有し、図示しないOS及び各ソフトウェアがインストールされており、当該インストールされた複数のソフトウェアを示す各ソフトウェア名及び各バージョン情報からなる構成情報、並びに各ソフトウェア名のうちのサービス設定された各ソフトウェアの各ソフトウェア名を含むサービス設定情報を保持している。具体的には、電子計算機20は、構成情報記憶部21、構成情報取得部22、サービス設定情報記憶部23及びサービス設定取得部24を備えている。
【0020】
構成情報記憶部21は、構成情報取得部22から読出/書込可能な記憶装置であり、図2に示すように、電子計算機20にインストールされているソフトウェア名と、そのソフトウェアのバージョン番号とからなる構成情報が記憶される。
【0021】
構成情報におけるソフトウェア名とバージョン番号との組合せは、ソフトウェアの種類を特定するためのものであり、この組合せに限らず、バージョン番号の他にソフトウェアのバイナリのハッシュ値などを用いた組合せなどのように、ソフトウェアの種類を特定するための情報を含む組合せであれば、他の組合せでも構わない。
【0022】
構成情報取得部22は、電子計算機20にインストールされているソフトウェアに関する構成情報を取得する。構成情報は、例えば、電子計算機20内にインストールされているソフトウェアがファイルに記録されている場合もある、また、別の電子計算機にデータベースとして記録されている場合もある、また、必要に応じて電子計算機20内に存在するファイルを走査することによって取得する場合もある。
【0023】
サービス設定情報記憶部23は、サービス設定情報取得部24から読出/書込可能な記憶装置であり、図3に示すように、電子計算機20にインストールされているソフトウェアのうち、電子計算機20で実際に稼動するソフトウェアのソフトウェア名からなるサービス設定情報が記憶される。
【0024】
サービス設定取得部24は、電子計算機20で実際に稼動するサービス設定に関するソフトウェアのソフトウェア名をサービス設定情報として取得してサービス設定情報記憶部23に書き込む機能と、サービス設定情報記憶部23内のサービス設定情報を脆弱性判定装置40に送信する機能とをもっている。ここで、一般に、サービス設定情報は、電子計算機20においてサービスを起動するための設定が予め記録されている。サービス設定取得部24では、例えば、オープンしているポートに対して、待ち受けを行っているソフトウェアのソフトウェア名をサービス設定情報として取得する。あるいは、現在起動しているソフトウェアを示すソフトウェア名や、特定のポートにアクセスがあった場合に起動するソフトウェアを示すソフトウェア名をサービス設定情報として取得してもよい。サービス設定情報を脆弱性判定装置40に送信するタイミングは、例えば、構成情報取得部22による構成情報の送信の直前又は直後とすればよい。
【0025】
脆弱性情報公開サイト装置30は、各種ソフトウェアについての脆弱性情報を公開するサイトであり、内部に脆弱性情報を保持し、この脆弱性情報を外部に公開している。外部への公開手段は、例えば、ネットワーク経由で公開する手法や、CD−ROMなどの記憶媒体を送付して公開する手法など、一般的な任意の手法が使用可能となっている。但し、ここではネットワーク経由で公開する手法を用いている。なお、このような脆弱性公開サイト装置30は複数が存在しても構わない。
【0026】
また、脆弱性情報公開サイト装置30は、ウインドウズ(登録商標)・アップデートのサイト等のように、ソフトウェアメーカが運営して自社のソフトウェアの脆弱性情報を公開するサイトを想定している。しかし、これに限らず、IPAのような第三者が運営するサイトでもよく、特に限定されない。また、脆弱性情報公開サイト装置30は、脆弱性判定装置40を運営する会社に対し、同一の会社又は異なる会社のいずれに運営されていてもよい。これらの場合、脆弱性判定装置40が外部の脆弱性情報公開サイト装置30から脆弱性情報を収集することになる。
【0027】
ここで、脆弱性情報公開サイト装置30は、具体的には、脆弱性情報記憶部31及び脆弱性情報管理部32を備えている。
【0028】
脆弱性情報記憶部31は、脆弱性情報管理部32から読出/書込可能な記憶装置であり、図4に示すように、脆弱性情報を記憶している。脆弱性情報は、脆弱性をもつ各ソフトウェアを示す各ソフトウェア名及び各対象バージョン番号が記されている。脆弱性情報におけるソフトウェア名と対象バージョン番号の組合せは、ソフトウェアの種類を特定するためのものであって、バージョン番号のほかにソフトウェアのバイナリのハッシュ値など、ソフトウェアの種類を特定するための情報であれば、他の組合せでも構わない。また、対象バージョン番号は、特定のバージョン番号を必ずしも記載する必要はなく、バージョン番号の範囲を記載しても構わない。
【0029】
脆弱性情報管理部32は、脆弱性情報公開サイト装置30のサイト管理者の操作により、脆弱性情報記憶部31内の脆弱性情報を更新する機能と、脆弱性情報記憶部31内の脆弱性情報を公開する機能とをもっている。
【0030】
脆弱性判定装置40は、脆弱性情報取得部41、脆弱性情報記憶部42、構成情報要求部43、構成情報記憶部44、マッチング部45及び影響度判定部46を備えている。
【0031】
脆弱性情報取得部41は、例えば、脆弱性情報公開サイト装置30の更新頻度に準じ、脆弱性情報公開サイト装置30から脆弱性情報を取得して脆弱性情報記憶部42に書き込む機能をもっている。
【0032】
脆弱性情報記憶部42は、脆弱性情報取得部41から書込可能でマッチング部45から読出可能な記憶装置であり、脆弱性情報が記憶される。
【0033】
構成情報要求部43は、電子計算機20に構成情報を要求する機能と、この要求により、電子計算機20から取得した構成情報を構成情報記憶部44に書き込む機能とをもっている。
【0034】
構成情報記憶部44は、構成情報要求部43から書込可能でマッチング部45から読出可能な記憶装置であり、構成情報が記憶される。
【0035】
マッチング部45は、構成情報記憶部44内の構成情報と脆弱性情報記憶部42内の脆弱性情報とを照合する機能と、この照合により、構成情報記憶部44内の構成情報に対し、脆弱性情報記憶部42内の脆弱性情報との関連を有するか否かを判定する機能と、この判定の結果、図5に示すように、当該脆弱性情報との関連を有する構成情報を影響度判定部46に送出する機能とをもっている。
【0036】
影響度判定部46は、マッチング部45から送出された構成情報に対し、電子計算機20から取得したサービス設定情報との関連を有するか否かを判定する機能と、この判定の結果、当該サービス設定情報との関連を有する構成情報を出力する機能とをもっている。出力された構成情報は、他の電子計算機にサービスを提供するサーバ装置を管理するシステム管理者を置いているときは、図示しないシステム管理者の端末に通知される。
【0037】
次に、以上のように構成された脆弱性判定装置及びその周辺構成の動作を説明する。
【0038】
いま、脆弱性情報公開サイト装置30によって、脆弱性情報が公開されているとする。
【0039】
脆弱性判定装置40においては、脆弱性情報取得部41が、脆弱性情報公開サイト装置30から脆弱性情報を取得して脆弱性情報記憶部42に書き込む。
【0040】
また、脆弱性判定装置40においては、構成情報要求部43が電子計算機20に構成情報を要求する。
【0041】
電子計算機20は、この要求により、構成情報取得部22が構成情報記憶部21内の構成情報を脆弱性判定装置40に返信する。
【0042】
脆弱性判定装置40においては、構成情報要求部43が、電子計算機20から取得した構成情報を構成情報記憶部44に書き込む。
【0043】
マッチング部45は、構成情報記憶部44内の構成情報と脆弱性情報記憶部42内の脆弱性情報とを照合することにより、構成情報記憶部44内の構成情報に対し、脆弱性情報記憶部42内の脆弱性情報との関連を有するか否かを判定する。
【0044】
また、マッチング部45は、この判定の結果、当該脆弱性情報との関連を有する構成情報を影響度判定部46に送出する。この例では、図2に示した構成情報のうち、ソフトウェア名“rpcbind”、“httpd”、“sshd”が図4に示した脆弱性情報に含まれるため、当該ソフトウェア名“rpcbind”、“httpd”、“sshd”との関連を有する構成情報が影響度判定部46に送出される。
【0045】
影響度判定部46は、送出された構成情報に対し、電子計算機20から取得したサービス設定情報との関連を有するか否かを判定し、この判定の結果、当該サービス設定情報との関連を有する構成情報を出力する。この例では、図5に示したマッチング部46の出力のうち、ソフトウェア名“rpcbind”、“httpd”、“sshd”が図3に示したサービス設定情報に含まれるため、当該ソフトウェア名“rpcbind”、“httpd”、“sshd” との関連を有する構成情報が影響度判定部46から出力される。すなわち、この例では、マッチング部46の出力と、影響度判定部46の出力とは同じものとなる。
【0046】
この出力結果を、例えば、システム管理者へ通知することにより、システム管理者は電子計算機20にインストールされている脆弱性を持つソフトウェアのうち、ソフトウェア名“rpcbind”、“httpd”、“sshd”のソフトウェアだけが実際に動作していることを確認でき、これらのソフトウェアにだけ対策を採ればよいことが分かるので、管理の手間を削減することができる。
【0047】
上述したように本実施形態によれば、脆弱性情報との関連を有する構成情報に対し、電子計算機から取得したサービス設定情報との関連を有するか否かを判定する。そして、この判定の結果、サービス設定情報との関連を有する構成情報を出力する構成により、脆弱性情報が公開されたソフトウェアのうち、電子計算機に対する安全性への影響度が高いソフトウェアのみを判定でき、効率よく安全性を向上することができる。
【0048】
(第2の実施形態)
図6は本発明の第2の実施形態に係る脆弱性判定装置及びその周辺構成を示すブロック図であり、図1と略同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。なお、以下の実施形態も同様にして重複した説明を省略する。
【0049】
すなわち、本実施形態は、サービス設定されたソフトウェアについて脆弱性を判定した第1の実施形態の変形例であり、より詳しい判定を行う観点から、サービス設定されたソフトウェアとその依存関係にあるソフトウェアとの両者について、脆弱性情報に高い影響を受けるソフトウェアを判定する構成となっている。
【0050】
これに伴って、電子計算機20は、依存関係取得部25を更に備えている。また、脆弱性判定装置40は、前述した影響度判定部46に代えて、影響度判定部47を備えている。
【0051】
ここで、依存関係取得部25は、サービス設定取得部24により取得されたサービス設定情報が示す各ソフトウェアに対して、依存関係のある各ソフトウェアを示す、各ソフトウェア名からなる依存関係情報を取得する機能と、この依存関係情報を脆弱性判定装置40に送信する機能とをもっている。ここで、依存関係情報を脆弱性判定装置40に送信するタイミングは、例えば、構成情報取得部22による構成情報の送信の直前又は直後とすればよい。
【0052】
一方、影響度判定部47は、マッチング部45から送出された構成情報に対し、電子計算機20から取得した依存関係情報との関連を有するか否かを判定する機能と、この判定の結果、当該依存関係情報との関連を有する構成情報を出力する機能とをもっている。出力された構成情報は、他の電子計算機にサービスを提供するサーバ装置を管理するシステム管理者を置いているときは、図示しないシステム管理者の端末に通知される。
【0053】
次に、以上のように構成された脆弱性判定装置及びその周辺構成の動作を説明する。
【0054】
いま、脆弱性情報公開サイト装置30は、前述同様に、脆弱性情報を公開しているとする。また、脆弱性判定装置40においては、前述同様に、脆弱性情報取得部41、構成情報要求部43及びマッチング部45が順次処理を実行し、マッチング部45が、脆弱性情報との関連を有する構成情報を影響度判定部47に送出したとする。
【0055】
一方、電子計算機20においては、サービス設定取得部24が、サービス設定情報記憶部23内のサービス設定情報を依存関係取得部25に送出する。
【0056】
依存関係取得部25は、図7に示すように、サービス設定情報としてソフトウェア名が入力されると(ST1)、このソフトウェア名に対して依存関係にあるソフトウェアを走査する(ST2)。この走査は、例えば、OSに予めインストールされているソフトウェアパッケージ管理機能を用いて実行する。
【0057】
走査の結果、依存関係にあるソフトウェアが検出された場合(ST3:NO)には、当該検出されたソフトウェアに対して、依存関係にあるソフトウェアを走査する。このステップST2からST3までの処理を依存関係が検出されなくなるまで再帰的に実行することにより、入力したソフトウェアと依存関係にある全てのソフトウェアを検出してそのソフトウェア名を取得することができる。依存関係にあるソフトウェアが無い場合(ST3:YES)には、依存関係取得部25は、図8に示すように、依存関係にあるソフトウェアのソフトウェア名を一覧して示す依存関係情報を取得する(ST4)。
【0058】
この依存関係情報の例では、ソフトウェア名“Expat”のソフトウェアは、ソフトウェア名“Expat−Devel”、“Avahi”に依存している。また、ソフトウェア名“rpcbind”のソフトウェアは、ソフトウェア名“ypbind”、“yptools”、“nfs−utils”の各ソフトウェアに依存している。また、ソフトウェア名“httpd”のソフトウェアは、ソフトウェア名“mod_ssl”、“gnome−user−share”、“mod_python”の各ソフトウェアに依存している。また、ソフトウェア名“ssh”のソフトウェアは、依存するソフトウェアが存在しないことが分かる。
【0059】
依存関係取得部25は、ステップST4で取得した依存関係情報を脆弱性判定装置40に送信する。
【0060】
脆弱性判定装置40においては、影響度判定部47が、マッチング部45から送出された構成情報に対し、電子計算機20から取得した依存関係情報との関連を有するか否かを判定し、この判定の結果、当該依存関係情報との関連を有する構成情報を出力する。
【0061】
上述したように本実施形態によれば、第1の実施形態の効果に加え、依存関係にあるソフトウェアの分だけ、より詳しい脆弱性判定を行うことができる。
【0062】
補足すると、本実施形態は、ソフトウェアの依存関係に基づいて、より正確な脆弱性情報を出力できる。一般に、ソフトウェアが動作するためには、別のソフトウェアが必要になる。このような依存関係を保持しているOSも多い。例えば、サービスAを提供するソフトウェアAが、ソフトウェアBに依存している場合、ソフトウェアBに脆弱性があれば、サービスAを介してソフトウェアBの脆弱性を突かれる可能性がある。
【0063】
これに対し、本実施形態によれば、各ソフトウェア間の依存関係情報に基づいて、より正確な脆弱性情報を出力することができる。
【0064】
(第3の実施形態)
図9は本発明の第3の実施形態に係る脆弱性判定装置及びその周辺構成を示すブロック図である。
【0065】
本実施形態は、サービス設定されたソフトウェアについて脆弱性を判定した第1及び第2の実施形態の変形例であり、サービス設定されたソフトウェアのログインの要否に基づいて、脆弱性情報に高い影響度をもつソフトウェアを影響度と共に、通知する構成となっている。
【0066】
ここで、ソフトウェアの脆弱性の種類について補足する。脆弱性には大きく分けて2つのタイプがある。
【0067】
1つ目は、そのソフトウェアが提供しているサービスがネットワーク経由で利用可能でさえあれば、脆弱性が問題となるタイプである。具体的には、脆弱性を突くためにログインなどのユーザ認証を必要としないタイプである。このタイプの脆弱性は、ソフトウェアの利用権限の無いユーザでも攻撃可能であるので、影響度が高いといえる。
【0068】
2つ目は、そのソフトウェアが提供しているサービスが利用不可能であることから、脆弱性が問題とならないタイプである。具体的には、脆弱性を突くためにログインなどのユーザ認証を必要とするタイプである。このタイプの脆弱性は、ソフトウェアの利用権限の無いユーザからは攻撃できないので、影響度が低いといえる。
【0069】
すなわち、本実施形態は、“脆弱性をもつ各ソフトウェアに関して当該脆弱性を攻撃するためにログインなどのユーザ認証が必要か否か”を示すログイン要否情報を、脆弱性情報記憶部31’内の脆弱性情報が更に含んでいる場合に、このログイン要否情報を考慮して脆弱性の影響度を判定するものである。
【0070】
これに伴い、脆弱性情報取得部41が取得して脆弱性情報記憶部42に書き込む脆弱性情報は、図10に示すように、ログイン要否情報としての脆弱性タイプを含む内容となる。図10中、脆弱性タイプは、ソフトウェア名“rpcbind”,“httpd”の各ソフトウェアについてはログインを必要としない脆弱性タイプ(NETWORKと表記)であり、ソフトウェア名“sshd”のソフトウェアについてはログインを必要とする脆弱性タイプ(ここではLOGINと表記)であることを表している。
【0071】
また、電子計算機20は、サービスユーザ対応リスト記憶部26及びサービス利用ユーザ数取得部27を更に備えている。
【0072】
サービスユーザ対応リスト記憶部26は、サービス設定情報内のソフトウェア名と当該ソフトウェア名のソフトウェアを利用するユーザとを示すサービスユーザ対応リスト(リスト情報)を保持する記憶装置である。なお、本実施形態の電子計算機20は、他の電子計算機(クライアント端末)にサービスを提供するサーバ装置を想定している。一般的に電子計算機がサービスを提供する場合には、サービス毎に、そのサービスを受けられるユーザを記載したサービスユーザ対応リストを保持している。
【0073】
サービス利用ユーザ数取得部27は、サービスユーザ対応リストに基づいて、ソフトウェア名毎にユーザ数を示すサービス利用ユーザ数(ユーザ数情報)を取得する機能と、このサービス利用ユーザ数を脆弱性判定装置40に送信する機能とをもっている。
【0074】
サービス利用ユーザ数は、サービス利用ユーザ数取得部27が、サービス毎に存在するサービスユーザ対応リストの内容を読み込み、サービス対応ユーザリストに記載されたユーザをカウントして取得される。取得されたサービス利用ユーザ数は、例えば図11に示すように、ソフトウェア名“sshd”のソフトウェアの利用者が15人であり、ソフトウェア名“vsftpd”のソフトウェアの利用者が50人である場合を示している。
【0075】
サービス利用ユーザ数を脆弱性判定装置40に送信するタイミングは、例えば、依存関係取得部25による依存関係情報の送信の直前又は直後とすればよい。
【0076】
一方、影響度判定部47’は、前述した影響度判定部47に代えて、マッチング部45から送出された構成情報に対し、電子計算機20から取得した依存関係情報との関連を有するか否かを判定する機能と、この判定の結果、当該依存関係情報との関連を有する構成情報に対し、電子計算機20から取得したユーザ数情報が所定ユーザ数以上の場合又は脆弱性情報記憶部42内の脆弱性タイプ(ログイン要否情報)がログインの必要を示す場合に高い値となるように影響度(脆弱性影響度)を算出する機能と、算出した影響度及び依存関係情報との関連を有する構成情報内のソフトウェア名を互いに関連付けて出力する機能とをもっている。
【0077】
ここで、例えば、影響度を1〜100の数値で表現し、影響度はユーザ数に比例すると仮定する。ユーザ数が100人以上の場合、ログイン処理の必要なしに脆弱性を突けることと同等に、影響度が大きいと仮定する。なお、ログインが必要ない脆弱性の影響度は影響度の最大値である100と仮定する。この仮定における影響度判定部47’の出力の一例を図12に示す。例えば、ソフトウェア名“sshd”のソフトウェアは、ユーザ数が15人なので、影響度が15となる。ソフトウェア名“rpcbind”,“httpd”の各ソフトウェアは、ログイン処理の必要なしに脆弱性を突けるため、影響度が100となる。なお、ソフトウェア名“vsftp”のソフトウェアは、脆弱性情報が未公開なので、脆弱性の評価対象にはならない。
【0078】
次に、以上のように構成された脆弱性判定装置及びその周辺構成の動作を説明する。
【0079】
いま、脆弱性情報公開サイト装置30は、脆弱性タイプを含む脆弱性情報を公開しているとする。また、脆弱性判定装置40においては、前述同様に、脆弱性情報取得部41、構成情報要求部43及びマッチング部45が順次処理を実行し、マッチング部45が、脆弱性情報との関連を有する構成情報を影響度判定部47’に送出したとする。
【0080】
一方、電子計算機20においては、前述同様に、依存関係取得部25が依存関係情報を取得して脆弱性判定装置40に送信する。
【0081】
また、電子計算機20においては、サービス利用ユーザ数取得部27が、サービスユーザ対応リスト記憶部26内のサービスユーザ対応リストに基づいて、ソフトウェア名毎にユーザ数を示すサービス利用ユーザ数を取得し、このサービス利用ユーザ数を脆弱性判定装置40に送信する。
【0082】
一方、脆弱性判定装置40においては、影響度判定部47’が、マッチング部45から送出された構成情報に対し、電子計算機20から取得した依存関係情報との関連を有するか否かを判定する。
【0083】
また、影響度判定部47’は、この判定の結果、当該依存関係情報との関連を有する構成情報に対し、電子計算機20から取得したユーザ数情報が所定ユーザ数以上の場合又は脆弱性情報記憶部42内の脆弱性タイプがログインの必要を示す場合に高い値となるように影響度を算出する。
【0084】
しかる後、影響度判定部47’は、算出した影響度と、依存関係情報との関連を有する構成情報内のソフトウェア名とを互いに関連付けて出力する。
【0085】
上述したように本実施形態によれば、第2の実施形態の効果に加え、ログイン要否情報としての脆弱性タイプに基づき、影響度の大きさを正確に把握することができる。
【0086】
補足すると、ソフトウェアの脆弱性には、その脆弱性を突くために、予めユーザ認証が必要なものと、ユーザ認証が不要なものがある。予めユーザ認証が必要な脆弱性については、脆弱性を突ける人数が限られることから、ユーザ認証が不要な脆弱性に比べ、影響度が低い。本実施形態は、ユーザ認証が不要な脆弱性は影響度が高いという関係に基づき、より正確な脆弱性の影響度を算出することができる。
【0087】
なお、上記実施形態に記載した手法は、電子計算機に実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【0088】
また、この記憶媒体としては、プログラムを記憶でき、かつ電子計算機が読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【0089】
また、記憶媒体から電子計算機にインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(Operating System)や、データベース管理ソフト、ネットワークソフト等のMW(Middleware)等が上記実施形態を実現するための各処理の一部を実行しても良い。
【0090】
さらに、本発明における記憶媒体は、電子計算機と独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【0091】
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【0092】
尚、本発明における電子計算機は、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、PC等の1つからなる装置、複数の装置がネットワーク接続された情報システム等の何れの構成であっても良い。
【0093】
また、本発明における電子計算機とは、PCに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【0094】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【図面の簡単な説明】
【0095】
【図1】本発明の第1の実施形態に係る脆弱性判定装置及びその周辺構成を示すブロック図である。
【図2】同実施形態における構成情報取得部の出力内容を示す模式図である。
【図3】同実施形態におけるサービス設定取得部の出力内容を示す模式図である。
【図4】同実施形態における脆弱性情報公開サイト装置が公開する脆弱性情報の構成を示す模式図である。
【図5】同実施形態における影響度判定部の出力内容を示す模式図である。
【図6】本発明の第2の実施形態に係る脆弱性判定装置及びその周辺構成を示すブロック図である。
【図7】同実施形態における依存関係取得部の動作を説明するためのフローチャートである。
【図8】同実施形態における依存関係取得部の出力内容を示す模式図である。
【図9】本発明の第3の実施形態に係る脆弱性判定装置及びその周辺構成を示すブロック図である。
【図10】同実施形態における脆弱性情報の構成を示す模式図である。
【図11】同実施形態におけるサービス利用ユーザ数取得部の出力内容を示す模式図である。
【図12】同実施形態における影響度判定部の出力内容を示す模式図である。
【符号の説明】
【0096】
10…情報システム、20〜20…電子計算機、21…構成情報記憶部、22…構成情報取得部、23…サービス設定情報記憶部、24…サービス設定取得部、25…依存関係取得部、26…サービスユーザ対応リスト記憶部、27…サービス利用ユーザ数取得部、30…脆弱性情報公開サイト装置、31,31’…脆弱性情報記憶部、32…脆弱性情報管理部、40…脆弱性判定装置、41…脆弱性情報取得部、42…脆弱性情報記憶部、43…構成情報要求部、44…構成情報記憶部、45…マッチング部、46,47,47’…影響度判定部、

【特許請求の範囲】
【請求項1】
インストールされた複数のソフトウェアを示す各ソフトウェア名及び各バージョン情報からなる構成情報、並びに前記各ソフトウェア名のうちのサービス設定された各ソフトウェアの各ソフトウェア名を含むサービス設定情報を保持する手段と、脆弱性をもつ各ソフトウェアを示す各ソフトウェア名及び各対象バージョン情報からなる脆弱性情報を取得する手段と、前記脆弱性情報を記憶する手段と、前記構成情報を記憶する手段とを備えた脆弱性判定装置であって、
前記脆弱性情報を取得して、前記脆弱性情報を記憶する手段に前記脆弱性情報を書き込む手段、
前記サービス設定情報を保持する手段から前記構成情報を取得して、前記構成情報記憶手段に書き込む手段、
前記構成情報を記憶する手段内の前記構成情報に対し、前記脆弱性情報を記憶する手段内の前記脆弱性情報との関連を有するか否かを判定する手段、
この判定の結果、前記脆弱性情報との関連を有する前記構成情報に対し、前記サービス設定情報との関連を有するか否かを判定する手段、
この判定の結果、前記サービス設定情報との関連を有する前記構成情報を出力する手段、
を備えたことを特徴とする脆弱性判定装置。
【請求項2】
インストールされた複数のソフトウェアを示す各ソフトウェア名及び各バージョン情報からなる構成情報、並びに前記各ソフトウェア名のうちのサービス設定された各ソフトウェアの各ソフトウェア名を含むサービス設定情報を保持する手段と、脆弱性をもつ各ソフトウェアを示す各ソフトウェア名及び各対象バージョン情報を含む脆弱性情報を取得する手段と、前記脆弱性情報を記憶する手段と、前記構成情報を記憶する手段を備えた脆弱性判定装置に用いられるプログラムであって、
前記脆弱性判定装置を、
前記脆弱性情報を取得して、前記脆弱性情報を記憶する手段に前記脆弱性情報を書き込む手段、
前記サービス設定情報を保持する手段から前記構成情報を取得して、前記構成情報記憶手段に書き込む手段、
前記構成情報を記憶する手段内の前記構成情報に対し、前記脆弱性情報を記憶する手段内の前記脆弱性情報との関連を有するか否かを判定する手段、
この判定の結果、前記脆弱性情報との関連を有する構成情報に対し、前記サービス設定情報との関連を有するか否かを判定する手段、
この判定の結果、前記サービス設定情報にとの関連を有する前記構成情報を出力する手段、
として機能させるためのプログラム。
【請求項3】
請求項2に記載のプログラムにおいて、
前記サービス設定情報を保持する手段は、前記サービス設定情報が示す各ソフトウェアと依存関係にある各ソフトウェアを示す各ソフトウェア名からなる依存関係情報を取得する機能を更に備えているおり、
前記サービス設定情報との関連を有するか否かを判定する手段及び前記サービス設定情報との関連を有する前記構成情報を出力する手段に代えて、
前記構成情報が前記サービス設定情報との関連を有するか否かの判定の結果、前記脆弱性情報との関連を有する前記構成情報に対し、前記サービス設定情報を保持する手段から取得した依存関係情報との関連を有するか否かを判定する手段、
この判定の結果、前記依存関係情報との関連を有する前記構成情報を出力する手段、
として前記脆弱性判定装置を機能させるためのプログラム。
【請求項4】
請求項3に記載のプログラムにおいて、
前記サービス設定情報を保持する手段は、前記サービス設定情報内のソフトウェア名とこのソフトウェア名のソフトウェアを利用するユーザとを示すリスト情報を更に保持し、且つ前記リスト情報に基づいて前記ソフトウェア名毎に前記ユーザの数を示すユーザ数情報を取得する機能を更に備えており、
前記脆弱性情報としては、前記脆弱性をもつ各前記ソフトウェアに関して、この脆弱性を狙って攻撃するためにログインが必要か否かを示すログイン要否情報を更に含んでいる場合に、
前記依存関係情報との関連を有する前記構成情報を出力する手段に代えて、
前記依存関係情報が前記サービス設定情報との関連を有するか否かの判定の結果、前記依存関係情報との関連を有する構成情報に対し、前記サービス設定情報を保持する手段から取得した前記ユーザ数情報が所定ユーザ数以上の場合又は前記脆弱性情報を記憶する手段内のログイン要否情報がログインの必要を示す場合に、高い値となるように脆弱性影響度を算出する手段と、
前記算出した脆弱性影響度と、前記依存関係情報との関連を有する前記構成情報内のソフトウェア名とを互いに関連付けて出力する手段、
として前記脆弱性判定装置を機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate