(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】脆弱性情報管理装置、脆弱性情報管理方法、およびプログラム
(51)【国際特許分類】
G06F 21/57 20130101AFI20221109BHJP
【FI】
G06F21/57 370
(21)【出願番号】P 2020541293
(86)(22)【出願日】2019-09-05
(86)【国際出願番号】 JP2019034930
(87)【国際公開番号】W WO2020050355
(87)【国際公開日】2020-03-12
【審査請求日】2021-02-25
(31)【優先権主張番号】P 2018166076
(32)【優先日】2018-09-05
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100110928
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】水野 史博
(72)【発明者】
【氏名】杉山 和義
(72)【発明者】
【氏名】中貝 順一
(72)【発明者】
【氏名】村上 正一
(72)【発明者】
【氏名】小柳 亘
(72)【発明者】
【氏名】谷川 智彦
【審査官】河合 弘明
(56)【参考文献】
【文献】特開2015-219665(JP,A)
【文献】特開2009-015570(JP,A)
【文献】特開2007-058514(JP,A)
【文献】特開2016-091402(JP,A)
【文献】特開2008-197877(JP,A)
【文献】特開2003-108521(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/12-21/16
G06F 21/50-21/57
(57)【特許請求の範囲】
【請求項1】
ユーザ識別情報を取得するユーザ識別情報取得手段と、
製品の構成要素を示す製品構成情報と
、製品を識別するための情報である製品識別情報とをユーザ識別情報に関連付けて記憶している製品構成情報記憶手段を参照して、取得された前記ユーザ識別情報に関連付けられた、1以上の製品を特定する製品特定手段と、
特定された前記1以上の製品それぞれについて、前記製品構成情報を取得する製品構成情報取得手段と、
製品の構成要素となり得る要素それぞれの脆弱性情報を要素別に記憶する脆弱性情報記憶手段を参照して、取得された前記製品構成情報に対応する構成要素の中から、脆弱性を有する構成要素を特定する脆弱性特定手段と、
前記脆弱性を有する構成要素を示す情報を、当該構成要素を含む製品を示す情報と関連付けてユーザ端末に出力する出力手段と、
を備え
、
前記製品構成情報は、製品に含まれる構成要素の階層構造を示す情報を更に有しており、
前記出力手段は、前記取得された製品構成情報に基づいて、製品に含まれる構成要素の階層構造を示す情報を、前記ユーザ端末に更に出力する、脆弱性情報管理装置。
【請求項2】
前記出力手段は、前記脆弱性を有する構成要素として特定された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
請求項1に記載の脆弱性情報管理装置。
【請求項3】
前記脆弱性特定手段は、前記階層構造において、前記脆弱性を有する構成要素の上位に位置する上位構成要素を更に特定し、
前記出力手段は、前記上位構成要素を示す情報を、前記ユーザ端末に更に出力する、
請求項
1又は2に記載の脆弱性情報管理装置。
【請求項4】
前記出力手段は、
前記階層構造を示す情報において構成要素のいずれかを選択する入力を受け付け、
前記入力により選択された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
請求項
1から3のいずれか1項に記載の脆弱性情報管理装置。
【請求項5】
脆弱性を指定する入力を受け付ける入力受付手段を更に備え、
前記脆弱性特定手段は、前記脆弱性情報記憶手段を参照して、前記取得された製品構成情報に対応する構成要素の中から、前記入力により指定された脆弱性を有する構成要素を特定し、
前記出力手段は、前記入力により指定された脆弱性を有する構成要素を示す情報を、前記ユーザ端末に出力する、
請求項1から
4のいずれか1項に記載の脆弱性情報管理装置。
【請求項6】
製品に関して見つかった脆弱性への対処計画を示す対処計画情報を取得する対処計画情報取得手段と、
前記対処計画情報が示す対処計画に基づいて、脆弱性への対処についてのリマインド情報をユーザに通知する通知手段と、を更に備える、
請求項1から
5のいずれか1項に記載の脆弱性情報管理装置。
【請求項7】
前記製品特定手段は、
製品が属するグループを示すグループ識別情報を各ユーザのユーザ識別情報と紐付けて記憶するグループ識別情報記憶手段を参照して、前記取得されたユーザ識別情報に紐付けられたグループ識別情報を取得し、
製品の情報をグループ識別情報別に対応付けて記憶する製品情報記憶手段を参照して、取得された前記グループ識別情報に紐付けられた1以上の製品を特定する、
請求項1から
6のいずれか1項に記載の脆弱性情報管理装置。
【請求項8】
コンピュータが、
ユーザ識別情報を取得し、
製品の構成要素を示す製品構成情報と
、製品を識別するための情報である製品識別情報とをユーザ識別情報に関連付けて記憶している製品構成情報記憶手段を参照して、取得された前記ユーザ識別情報に関連付けられた、1以上の製品を特定し、
特定された前記1以上の製品それぞれについて、前記製品構成情報を取得し、
製品の構成要素となり得る要素それぞれの脆弱性情報を要素別に記憶する脆弱性情報記憶手段を参照して、取得された前記製品構成情報に対応する構成要素の中から、脆弱性を有する構成要素を特定し、
前記脆弱性を有する構成要素を示す情報を、当該構成要素を含む製品を示す情報と関連付けてユーザ端末に出力する
、ことを含
み、
前記製品構成情報は、製品に含まれる構成要素の階層構造を示す情報を更に有しており、
前記コンピュータが、前記取得された製品構成情報に基づいて、製品に含まれる構成要素の階層構造を示す情報を、前記ユーザ端末に更に出力する、
脆弱性情報管理方法。
【請求項9】
前記コンピュータが、前記脆弱性を有する構成要素として特定された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
ことを含む請求項
8に記載の脆弱性情報管理方法。
【請求項10】
前記コンピュータが、
前記階層構造において、前記脆弱性を有する構成要素の上位に位置する上位構成要素を更に特定し、
前記上位構成要素を示す情報を、前記ユーザ端末に更に出力する、
ことを含む請求項
8又は9に記載の脆弱性情報管理方法。
【請求項11】
前記コンピュータが、
前記階層構造を示す情報において構成要素のいずれかを選択する入力を受け付け、
前記入力により選択された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
ことを含む請求項
8から10のいずれか1項に記載の脆弱性情報管理方法。
【請求項12】
前記コンピュータが、
脆弱性を指定する入力を受け付け、
前記脆弱性情報記憶手段を参照して、前記取得された製品構成情報に対応する構成要素の中から、前記入力により指定された脆弱性を有する構成要素を特定し、
前記入力により指定された脆弱性を有する構成要素を示す情報を、前記ユーザ端末に出力する、
ことを含む請求項
8から
11のいずれか1項に記載の脆弱性情報管理方法。
【請求項13】
前記コンピュータが、
製品に関して見つかった脆弱性への対処計画を示す対処計画情報を取得し、
前記対処計画情報が示す対処計画に基づいて、脆弱性への対処についてのリマインド情報をユーザに通知する、
ことを更に含む請求項
8から
12のいずれか1項に記載の脆弱性情報管理方法。
【請求項14】
前記コンピュータが、
製品が属するグループを示すグループ識別情報を各ユーザのユーザ識別情報と紐付けて記憶するグループ識別情報記憶手段を参照して、前記取得されたユーザ識別情報に紐付けられたグループ識別情報を取得し、
製品の情報をグループ識別情報別に対応付けて記憶する製品情報記憶手段を参照して、取得された前記グループ識別情報に紐付けられた1以上の製品を特定する、
ことを含む請求項
8から
13のいずれか1項に記載の脆弱性情報管理方法。
【請求項15】
コンピュータに、請求項
8から
14のいずれか1項に記載の脆弱性情報管理方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、製品に潜む脆弱性を管理する技術に関する。
【背景技術】
【0002】
世の中で流通している製品について、その製品の製造者が意図しない脆弱性が後に発見され、悪用されることがある。ある製品に脆弱性が見つかった場合、その製品の製造者やユーザは、適切な対処を行う必要がある。
【0003】
脆弱性を管理する技術の一例が、下記特許文献1乃至5に開示されている。特に、下記特許文献1には、対象とする装置にインストールされているソフトウエアと、そのソフトウエアのバージョンやサービスパックの適用状況等を含む構成情報を取得し、その構成情報を基に脆弱性を検索し、脆弱性が見つかった場合には適切な対策を実行する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-130502号公報
【文献】国際公開第2013/035181号
【文献】特開2010-067216号公報
【文献】特開2017-174378号公報
【文献】特開2015-114833号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
1つの製品は、基本的に、様々な要素(ハードウエア部品やソフトウエア部品)を組み合わせて構成されている。1つの製品を構成する各要素(以下、「構成要素」とも表記)のいずれかが脆弱性を有している場合、製品として脆弱性の影響を受けることになる。ユーザが扱う製品のどの部分にどのような脆弱性が存在しているかを知りたいというニーズがある。
【0006】
本発明は、上記の課題に鑑みてなされたものである。本発明の目的の一つは、ユーザが扱う製品のどの部分にどのような脆弱性があるかを容易に把握する技術を提供することである。
【課題を解決するための手段】
【0007】
本発明の脆弱性情報管理装置は、
ユーザ識別情報を取得するユーザ識別情報取得手段と、
製品の構成要素を示す製品構成情報と、製品を識別するための情報である製品識別情報とをユーザ識別情報に関連付けて記憶している製品構成情報記憶手段を参照して、取得された前記ユーザ識別情報に関連付けられた、1以上の製品を特定する製品特定手段と、
特定された前記1以上の製品それぞれについて、前記製品構成情報を取得する製品構成情報取得手段と、
製品の構成要素となり得る要素それぞれの脆弱性情報を要素別に記憶する脆弱性情報記憶手段を参照して、取得された前記製品構成情報に対応する構成要素の中から、脆弱性を有する構成要素を特定する脆弱性特定手段と、
前記脆弱性を有する構成要素を示す情報を、当該構成要素を含む製品を示す情報と関連付けてユーザ端末に出力する出力手段と、
を備え、
前記製品構成情報は、製品に含まれる構成要素の階層構造を示す情報を更に有しており、
前記出力手段は、前記取得された製品構成情報に基づいて、製品に含まれる構成要素の階層構造を示す情報を、前記ユーザ端末に更に出力する。
【0008】
本発明の脆弱性情報管理方法は、
コンピュータが、
ユーザ識別情報を取得し、
製品の構成要素を示す製品構成情報と、製品を識別するための情報である製品識別情報とをユーザ識別情報に関連付けて記憶している製品構成情報記憶手段を参照して、取得された前記ユーザ識別情報に関連付けられた、1以上の製品を特定し、
特定された前記1以上の製品それぞれについて、前記製品構成情報を取得し、
製品の構成要素となり得る要素それぞれの脆弱性情報を要素別に記憶する脆弱性情報記憶手段を参照して、取得された前記製品構成情報に対応する構成要素の中から、脆弱性を有する構成要素を特定し、
前記脆弱性を有する構成要素を示す情報を、当該構成要素を含む製品を示す情報と関連付けてユーザ端末に出力する、ことを含み、
前記製品構成情報は、製品に含まれる構成要素の階層構造を示す情報を更に有しており、
前記コンピュータが、前記取得された製品構成情報に基づいて、製品に含まれる構成要素の階層構造を示す情報を、前記ユーザ端末に更に出力する。
【0009】
本発明のプログラムは、コンピュータに、上述の脆弱性情報管理方法を実行させる。
【発明の効果】
【0010】
本発明によれば、ユーザが扱う製品のどの部分にどのような脆弱性があるかを容易に確認または検索することができる。
【図面の簡単な説明】
【0011】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
【0012】
【
図1】本発明に係る脆弱性情報管理装置が行う処理を概念的に示す図である。
【
図2】第1実施形態における脆弱性情報管理装置の機能構成を例示する図である。
【
図3】本発明に係る脆弱性情報管理装置のハードウエア構成を例示するブロック図である。
【
図4】第1実施形態の脆弱性情報管理装置により実行される処理の流れを例示するフローチャートである。
【
図5】第1実施形態における製品構成情報記憶部に記憶される情報を例示する図である。
【
図6】第1実施形態における製品構成情報記憶部に情報を登録する流れを例示する図である。
【
図7】第1実施形態における脆弱性情報記憶部に記憶される脆弱性情報の一例を示す図である。
【
図8】第1実施形態における出力部による出力の一例を示す図である。
【
図9】第1実施形態における出力部による出力の他の一例を示す図である。
【
図10】第1実施形態における出力部による出力の他の一例を示す図である。
【
図11】第1実施形態における出力部による出力の他の一例を示す図である。
【
図12】第1実施形態における出力部による出力の他の一例を示す図である。
【
図13】第2実施形態における脆弱性情報管理装置の機能構成を例示する図である。
【
図14】第2実施形態の脆弱性情報管理装置により実行される処理の流れを例示するフローチャートである。
【
図15】第2実施形態における脆弱性情報管理装置により提供されるサービスのトップ画面を例示する図である。
【
図16】第2実施形態において脆弱性を検索するための画面の一例を示す図である。
【
図17】第3実施形態における脆弱性情報管理装置の機能構成を例示する図である。
【
図18】第3実施形態においてユーザ毎に保管される対処計画情報の一例を示す図である。
【
図19】第4実施形態における脆弱性情報管理装置の機能構成を例示する図である。
【
図20】第4実施形態におけるグループ識別情報記憶部に記憶される情報の一例を示す図である。
【
図21】第4実施形態における製品構成情報記憶部に記憶される情報を例示する図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。また、特に説明する場合を除き、各ブロック図において、各ブロックは、ハードウエア単位の構成ではなく、機能単位の構成を表している。
【0014】
[概要]
本発明に係る脆弱性情報管理装置10は、製品の脆弱性を管理する作業を支援するサービスをユーザに提供する。以下、
図1を用いて、本発明に係る脆弱性情報管理装置10が行う処理の概要について説明する。
図1は、本発明に係る脆弱性情報管理装置10が行う処理を概念的に示す図である。
【0015】
まず、脆弱性情報管理装置10は、脆弱性情報管理装置10により提供されるサービスのユーザを一意に識別する情報(ユーザ識別情報)を取得する。脆弱性情報管理装置10は、例えば
図1に示されるように、ユーザ端末30と通信して、ユーザ端末30に入力されたユーザ識別情報を取得することができる。また、脆弱性情報管理装置10は、予め設定された処理実行スケジュールに従って、脆弱性情報管理装置10のメモリやストレージデバイスといった記憶領域(図示せず)に予め記憶されたユーザ識別情報を読み出してもよい。
【0016】
そして、脆弱性情報管理装置10は、製品構成情報記憶部22に記憶されている製品構成情報(製品の構成要素を製品別に示す情報)の中から、取得したユーザ識別情報に紐付く製品構成情報を取得する。ここで、製品構成情報記憶部22に記憶される製品構成情報は、ユーザにより登録される。例えば、ユーザは、管理対象の製品に含まれる構成要素(ハードウエアやソフトウエア)の情報を、ユーザ端末30を介して、脆弱性情報管理装置10に入力する。この場合、脆弱性情報管理装置10は、ユーザにより入力された製品の構成要素に関する情報(製品構成情報)を、そのユーザを識別するユーザ識別情報と関連づけて製品構成情報記憶部22に記憶する。
【0017】
そして、脆弱性情報管理装置10は、製品構成情報記憶部22から取得した製品構成情報と、脆弱性情報記憶部20に記憶されている既知の脆弱性情報とを用いて、脆弱性を有する構成要素を検出する(脆弱性検出処理)。ここで、脆弱性情報記憶部20に記憶される脆弱性情報は、脆弱性情報収集装置40からインポートされる。脆弱性情報収集装置40は、製品の構成要素となり得る要素(ハードウエア部品やソフトウエアプログラム等)の脆弱性に関する情報を、ネットワーク上の情報源50から収集し、データベース(脆弱性情報記憶部410)に蓄積している。情報源50は、脆弱性に関する情報を有するネットワーク上の任意のノードである。情報源50は、例えば公的機関やベンダなどにより運営される。情報源50の具体例としては、JVN(Japan Vulnerability Notes)、NVD(National Vulnerability Database)、OSVDB(Open Source Vulnerability Database)などが挙げられる。また、情報源50としては、発見された脆弱性に関連する、PoC(Proof of Concept)やエクスプロイト・コードの情報を公開するノードが含まれ得る。
【0018】
そして、脆弱性情報管理装置10は、脆弱性検出処理の結果(脆弱性を有する構成要素を示す情報およびその構成要素を含む製品を示す情報)を、ユーザ端末30に出力する。
【0019】
<作用・効果>
上述した脆弱性情報管理装置10の動作により、脆弱性を有する構成要素を示す情報およびその構成要素を含む製品を示す情報がユーザ端末30に出力される。ユーザは、脆弱性情報管理装置10から出力された情報をユーザ端末30上で確認することにより、どの製品のどの部分にどのような脆弱性があるかを容易に把握することができる。
【0020】
<機能構成例>
図2は、第1実施形態における脆弱性情報管理装置10の機能構成を例示する図である。
図2に示されるように、本実施形態の脆弱性情報管理装置10は、ユーザ識別情報取得部110、製品特定部120、製品構成情報取得部130、脆弱性特定部140、および出力部150を有する。
【0021】
ユーザ識別情報取得部110は、ユーザ識別情報を取得する。ユーザ識別情報は、本実施形態の脆弱性情報管理装置10によって提供されるサービスを利用するユーザ毎に割り当てられる。ユーザ識別情報は、例えば、任意の数字や文字を組み合わせたID(Identifier)などである。
【0022】
製品特定部120は、ユーザ識別情報取得部110により取得されたユーザ識別情報に関連付けられた、1以上の製品を特定する。ユーザ識別情報と製品に関する情報とは、例えば、予めユーザからの入力により関連付けられている。
【0023】
製品構成情報取得部130は、製品特定部120により特定された1以上の製品それぞれについて、製品構成情報を取得する。製品構成情報は、製品に含まれる構成要素(ハードウエアやソフトウエア)を示す情報である。
【0024】
脆弱性特定部140は、脆弱性情報記憶部20を参照して、製品構成情報取得部130により取得された製品構成情報に対応する構成要素の中から、脆弱性を有する構成要素を特定する。上述したように、脆弱性情報記憶部20は、製品の構成要素となり得る要素(ハードウエアやソフトウエア)それぞれの脆弱性情報をネットワーク上の情報源50から収集し、要素別に記憶している。
【0025】
出力部150は、脆弱性特定部140により特定された脆弱性を有する構成要素を示す情報を、当該構成要素を含む製品を示す情報と関連付けてユーザ端末30に出力する。
【0026】
〔ハードウエア構成例〕
脆弱性情報管理装置10の各機能構成部は、各機能構成部を実現するハードウエア(例:ハードワイヤードされた電子回路など)で実現されてもよいし、ハードウエアとソフトウエアとの組み合わせ(例:電子回路とそれを制御するプログラムの組み合わせなど)で実現されてもよい。以下、脆弱性情報管理装置10の各機能構成部がハードウエアとソフトウエアとの組み合わせで実現される場合について、さらに説明する。
【0027】
図3は、脆弱性情報管理装置10のハードウエア構成を例示するブロック図である。脆弱性情報管理装置10は、バス1010、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、及びネットワークインタフェース1060を有する。
【0028】
バス1010は、プロセッサ1020、メモリ1030、ストレージデバイス1040、入出力インタフェース1050、及びネットワークインタフェース1060が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ1020などを互いに接続する方法は、バス接続に限定されない。
【0029】
プロセッサ1020は、CPU(Central Processing Unit) やGPU(Graphics Processing Unit)などで実現されるプロセッサである。
【0030】
メモリ1030は、RAM(Random Access Memory)などで実現される主記憶装置である。
【0031】
ストレージデバイス1040は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、メモリカード、又はROM(Read Only Memory)などで実現される補助記憶装置である。ストレージデバイス1040は、脆弱性情報管理装置10の各機能(ユーザ識別情報取得部110、製品特定部120、製品構成情報取得部130、脆弱性特定部140、出力部150など)を実現するプログラムモジュールを記憶している。プロセッサ1020がこれら各プログラムモジュールをメモリ1030上に読み込んで実行することで、各プログラムモジュールに対応する各機能が実現される。
【0032】
入出力インタフェース1050は、脆弱性情報管理装置10と各種入出力デバイスとを接続するためのインタフェースである。入出力インタフェース1050には、キーボードやマウスといった入力装置、スピーカーやディスプレイといった出力装置などが接続され得る。
【0033】
ネットワークインタフェース1060は、脆弱性情報管理装置10をネットワークに接続するためのインタフェースである。このネットワークは、例えばLAN(Local Area Network)やWAN(Wide Area Network)である。ネットワークインタフェース1060がネットワークに接続する方法は、無線接続であってもよいし、有線接続であってもよい。脆弱性情報管理装置10は、ネットワークインタフェース1060を介して、ユーザ端末30や脆弱性情報収集装置40といった、ネットワーク上の外部装置と通信することができる。
【0034】
なお、
図3はあくまで例示であり、脆弱性情報管理装置10のハードウエア構成は
図3に例示される構成に限定されない。例えば、脆弱性情報管理装置10は、脆弱性情報収集装置40の機能(情報源50から脆弱性情報を収集する機能)を更に備えていてもよい。
【0035】
<処理の流れ>
図4は、第1実施形態の脆弱性情報管理装置10により実行される処理の流れを例示するフローチャートである。以下、
図4のフローチャートに沿って、第1実施形態の脆弱性情報管理装置10により実行される処理の流れを説明する。
【0036】
まず、ユーザ識別情報取得部110は、ユーザ識別情報を取得する(S102)。例えば、脆弱性情報管理装置10は、ユーザ端末30と通信して、ユーザ端末30に入力されたユーザ識別情報を取得することができる。また、脆弱性情報管理装置10は、予め設定された処理実行スケジュールに従って、脆弱性情報管理装置10のメモリ1030やストレージデバイス1040といった記憶領域に予め記憶されたユーザ識別情報を読み出してもよい。
【0037】
そして、製品特定部120は、S102の処理で取得されたユーザ識別情報に基づいて、1以上の製品を特定する(S104)。製品特定部120は、例えば、製品構成情報記憶部22に記憶されている情報(例:
図5)を参照して、1以上の製品を特定することができる。
【0038】
図5は、製品構成情報記憶部22に記憶される情報を例示する図である。製品構成情報記憶部22は、製品構成情報を含む製品に関する情報をユーザ識別情報と関連付けて記憶している。
図5の例において、各レコードは、「ユーザID」、「製品ID」、および「製品構成情報」という3つのカラムを含んで構成されている。「ユーザID」は、脆弱性情報管理装置10が提供するサービスのユーザを一意に識別するための情報(ユーザ識別情報)である。「製品ID」は製品を識別するための情報である。「製品ID」は、例えば、製品構成情報が登録される際に、脆弱性情報管理装置10によって自動的に割り当てられる。「製品構成情報」は、ユーザからの入力を基に生成される、製品の構成要素に関する情報である。各製品の製品構成情報は、ユーザIDと関連付けて記憶されている。
【0039】
図5の例において、「製品構成情報」のカラムは、「要素ID」、「要素名」、および「階層構造情報」を含んでいる。「要素ID」は、製品に含まれる構成要素を識別するための情報である。「要素ID」は、例えば、製品構成情報が登録される際に、脆弱性情報管理装置10によって自動的に割り当てられる。「要素名」は、構成要素(ハードウエア部品やソフトウエアといった最終製品を構成する部品)の名称を示す情報である。「バージョン情報」は、当該構成要素のバージョンを示す情報である。「階層構造情報」は、製品に含まれる構成要素の階層構造を示す情報である、
図5に例示される階層構造情報において、階層構造は、各製品をトップノードとして、「/(スラッシュ)」を使って表現されている。例えば、要素ID「E001」の階層構造情報は「/E001」である。これは、構成要素「部品A1」がトップノード直下の第1階層に位置することを示している。また例えば、要素ID「E005」の階層構造情報は「/E001/E003/E005」である。これは、構成要素「部品A1」がトップノード直下の第1階層に位置し、構成要素「電子部品1」が構成要素「部品A1」の下位ノードとして第2階層に位置し、構成要素「XXX#1」が構成要素「電子部品1」の下位ノードとして第3階層に位置することを示している。また例えば、要素ID「E008」の階層構造情報は「///E008」である。これは、構成要素「XXX#4」が、第1および第2階層を省略して、第3階層に位置することを示している。
【0040】
なお、
図5に例示されるような情報は、例えば、
図6に示すように登録される。
図6は、製品構成情報記憶部22に情報を登録する流れを例示する図である。まず、ユーザは、ユーザ端末30を使って、脆弱性情報管理装置10が提供するサービスにログインする(図中(1))。このログイン時に、ユーザ端末30に入力されたユーザを一意に識別するためのユーザIDといった情報が、上述のユーザ識別情報として取得される。そして、ユーザは、ユーザ端末30を使って、自身が管理したい製品と、その製品に含まれる構成要素に関する情報を入力する(図中(2))。ここで、ユーザは、製品に含まれる構成要素の階層構造を示す情報を更に入力してもよい。脆弱性情報管理装置10は、ユーザにより入力された情報を製品構成情報として、先に取得したユーザ識別情報に紐付けて製品構成情報記憶部22に登録する(図中(3))。
【0041】
図5に例示される情報を用いる場合、製品特定部120は、S102の処理で取得されたユーザ識別情報を用いて、当該取得されたユーザ識別情報と同一のユーザ識別情報を有するレコードを特定することができる。レコードが特定できた時点で、製品特定部120は、1以上の製品を特定できたことになる。
【0042】
図4に戻り、製品構成情報取得部130は、S104の処理で特定された1以上の製品それぞれについて、製品構成情報を取得する(S106)。上述の具体例で言えば、製品構成情報取得部130は、製品特定部120により特定されたレコードの中から、「製品構成情報」のカラムに格納されている情報(要素ID、要素名、階層構造情報など)を取得することができる。
【0043】
そして、脆弱性特定部140は、脆弱性検出処理を実行する(S108)。具体的には、脆弱性特定部140は、S106の処理で取得された製品別の構成要素情報と、脆弱性情報記憶部20に記憶された脆弱性情報(例:
図7)とを用いて、脆弱性を有する製品およびその脆弱性を実際に有する構成要素を特定することができる。
【0044】
図7は、脆弱性情報記憶部20に記憶される脆弱性情報の一例を示す図である。脆弱性情報記憶部20は、製品の構成要素となり得る要素の脆弱性に関する情報を要素毎に記憶している。
図7の例において、各レコードは、「脆弱性情報ID」、「脆弱性情報」、および「影響を受ける要素」という3つのカラムを含んで構成されている。「脆弱性情報ID」は、脆弱性に関する情報を一意に識別するための情報である。「脆弱性情報」は、例えば脆弱性の危険度、確認方法や対処方法などの、脆弱性の詳細を示す情報である。「影響を受ける要素」は、同じレコードの中で定義されている脆弱性の影響を受ける要素を示す情報である。
図7の例において、「影響を受ける要素」のカラムは、「要素名」および「バージョン情報」を含んでいる。脆弱性特定部140は、製品構成情報記憶部22の「要素名」および「バージョン情報」を使って脆弱性情報記憶部20を検索することにより、製品構成情報記憶部22に記憶されている各構成要素に存在する脆弱性に関する情報を特定することができる。
【0045】
脆弱性特定部140は、S106の処理で取得した製品構成情報の「要素名」および「バージョン情報」を検索キーとして用いて、脆弱性情報記憶部20に記憶されている脆弱性情報を検索する。検索キーに対応する脆弱性情報が見つかった場合、脆弱性特定部140は、その検索キーに対応する構成要素を「脆弱性を有する構成要素」と特定することができる。また、脆弱性特定部140は、「脆弱性を有する構成要素」として特定された構成要素を有する製品を「脆弱性を有する製品」として特定することができる。
【0046】
そして、脆弱性特定部140は、S104の処理で特定された1以上の製品について、S108の脆弱性検出処理で脆弱性を有する構成要素が検出された否かを判定する(S110)。脆弱性検出処理で脆弱性を有する構成要素が検出された場合(S110:YES)、脆弱性を有する構成要素を示す情報およびその構成要素を含む製品を示す情報を出力部150に通知する。出力部150は、脆弱性特定部140からの通知に基づいて、脆弱性を有する構成要素を示す情報を、その構成要素を含む製品を示す情報と関連付けてユーザ端末30に出力する(S112)。
【0047】
S106の処理で取得した製品構成情報が、製品に含まれる構成要素の階層構造を示す情報を有している場合、出力部150は、その製品構成情報(階層構造を示す情報)に基づいて、
図8に例示されるような画面をユーザ端末30に出力することができる。
図8は、出力部150による出力の一例を示す図である。
図8には、製品に含まれる構成要素の階層構造をツリー形式で示す情報i1を含む画面が例示されている。また、出力部150は、脆弱性を有する構成要素を、その他の構成要素と区別可能に表示する画面を出力することができる。例えば、出力部150は、
図8の符号hで示すように、脆弱性を有する構成要素を強調表示してもよい。ユーザは、
図8に例示される画面を確認することによって、複数の構成要素からなる製品について、脆弱性を有する構成要素を一目で把握することができる。また、
図8に例示されるような画面において、1つの製品を構成する多数の構成要素が、ツリーの上位に行くほど汎化される。その結果、ツリーの上位を見ることによって、脆弱性情報を保有する対象物を容易に把握することが可能となる。
【0048】
なお、
図8に例示される画面はあくまで一例であり、出力部150による出力は
図8の例に限定されない。例えば、出力部150は、
図9または
図10に示されるような画面を出力してもよい。
図9および
図10は、出力部150による出力の他の一例を示す図である。
図9の例では、出力部150は、製品に含まれる構成要素の階層構造を示す情報として、リスト形式の情報i2を表示している。また、
図10の例では、出力部150は、製品に含まれる構成要素の階層構造を示す情報として、製品に含まれる構成要素の階層構造を別のツリー形式で示す情報i3を表示している。
図9および
図10に例示されるような画面によっても、ユーザは、複数の構成要素からなる製品について、脆弱性を有する構成要素を一目で把握することができる。
【0049】
また、ある構成要素の下位の階層に位置する別の構成要素に脆弱性が存在する場合、上位の階層の構成要素もその脆弱性の影響を受けることになる。そこで、脆弱性特定部140は、階層構造において、脆弱性を有する構成要素の上位階層に位置する他の構成要素(以下、「上位構成要素」と表記)を特定し、出力部150は、特定された上位構成要素を示す情報を、ユーザ端末30に更に出力してもよい(例:
図11)。
図11は、出力部150による出力の他の一例を示す図である。
図11の例では、脆弱性特定部140は、構成要素「電子部品2」および構成要素「部品A2」を、脆弱性を有する構成要素「XXX#2」の上位構成要素として特定している。具体的には、脆弱性特定部140は、
図5に例示されるような、構成要素「XXX#2」の階層構造情報「E002/E004/E006」に基づいて、要素ID「E002」および要素ID「E004」の構成要素、すなわち、構成要素「部品A2」および構成要素「電子部品2」を、構成要素「XXX#2」の上位構成要素として特定することができる。そして、出力部150は、脆弱性特定部140により特定された上位構成要素を示す情報i4を表示することができる。このようにすることで、ユーザは、脆弱性の影響を受ける範囲(構成要素群)を一目で把握することができる。
【0050】
また、出力部150は、脆弱性を有する構成要素を示す情報を出力する際、その構成要素が有する脆弱性に関する情報を、ユーザ端末30に更に出力してもよい(例:
図12)。
図12は、出力部150による出力の他の一例を示す図である。
図12の例では、出力部150は、構成要素の脆弱性に関する情報i5を出力している。
【0051】
出力部150は、構成要素の脆弱性に関する情報i5を出力する際、例えば、製品に含まれる構成要素の階層構造を示す情報i1において、構成要素のいずれかを選択する入力を受け付ける。具体的な例として、出力部150は、脆弱性を有する構成要素に関する領域にポインタPを重ねる操作や、脆弱性を有する構成要素に関する領域にポインタPを重ねた上でマウスやキーボードの所定のボタンを押下する操作を、ユーザの入力操作として受け付ける。そして、出力部150は、受け付けた入力により選択された構成要素の脆弱性に関する情報i5を、ユーザ端末30に出力する。このようにすることで、ユーザは、製品に含まれる構成要素がどのような脆弱性を有しているかを容易に確認することができる。
【0052】
[第2実施形態]
本実施形態は、以下の点において、上述の第1実施形態と異なる。
【0053】
<機能構成例>
図13は、第2実施形態における脆弱性情報管理装置10の機能構成を例示する図である。
図13に示されるように、本実施形態の脆弱性情報管理装置10は、ユーザ識別情報取得部110、製品特定部120、製品構成情報取得部130、脆弱性特定部140、出力部150、および、入力受付部160を少なくとも有する。
【0054】
本実施形態において、入力受付部160は、脆弱性を指定する入力を受け付ける。例えば、入力受付部160は、ユーザ端末30を介して、複数の脆弱性の中から特定の脆弱性を指定する入力を受け付ける。また、本実施形態の脆弱性特定部140は、入力受付部160が受け付けた入力に基づいて、その入力よって指定される脆弱性を有する構成要素を、製品構成情報取得部130が取得した製品構成情報に対応する構成要素の中から特定する。また、出力部150は、入力受付部160が受け付けた入力により指定される脆弱性を有する構成要素として特定された構成要素を示す情報を、ユーザ端末30に更に出力する。
【0055】
<処理の流れ>
図14は、第2実施形態の脆弱性情報管理装置10により実行される処理の流れを例示するフローチャートである。以下、
図14のフローチャートに沿って、第2実施形態の脆弱性情報管理装置10により実行される処理の流れを説明する。
【0056】
入力受付部160は、脆弱性を指定する入力を受け付ける(S202)。入力受付部160は、例えば、
図15に例示されるような画面を介して、脆弱性を指定する入力を受け付けることができる。
【0057】
図15は、脆弱性情報管理装置10により提供されるサービスのトップ画面を例示する図である。例えば、脆弱性情報管理装置10により提供されるサービスを利用するためにユーザがログイン動作を行った場合、
図15に例示されるような画面がユーザ端末30に出力される。具体的には、脆弱性特定部140は、あるユーザのログイン動作に応じて、第1実施形態で説明したように、製品構成情報記憶部22の中からそのユーザに関する製品構成情報を取得する。そして、脆弱性特定部140は、取得した製品構成情報と脆弱性情報記憶部20に記憶されている脆弱性情報とを突き合わせることによって、そのユーザの製品に関係のある脆弱性を特定する。ここで、脆弱性特定部140は、特定した脆弱性と、その脆弱性を有する構成要素との対応関係を示す情報をメモリ1030などに記憶することができる。そして、出力部150は、ユーザの製品に関係のある脆弱性を示す情報i6を含む画面を、ユーザ端末30に出力することができる。ユーザは、ユーザ端末30の入力装置を使って、
図15に例示されるような画面上で、脆弱性を指定することができる。また、ユーザは、脆弱性を検索する画面(
図16)を介して、脆弱性を指定する入力操作を行ってもよい。
図16は、脆弱性を検索するための画面の一例を示す図である。
【0058】
図14に戻り、S202の処理で入力受付部160が脆弱性を指定する入力を受け付けると、脆弱性特定部140は、当該入力によって指定される脆弱性を有する構成要素を特定する(S204)。例えば、脆弱性特定部140は、ユーザのログイン動作時にメモリ1030などに記憶しておいた、そのユーザの製品に関係のある脆弱性と、その脆弱性を有する構成要素との対応関係を示す情報を用いて、S202の入力で指定された脆弱性を有する構成要素を特定できる。
【0059】
そして、出力部150は、S204の処理で特定された構成要素を示す情報を、ユーザ端末30に出力する(S206)。例えば、出力部150は、
図8乃至
図10に例示されるように、指定された脆弱性を有する構成要素を強調表示するような出力を行うことができる。
【0060】
以上、本実施形態では、脆弱性を指定するユーザ入力に応じて、当該脆弱性を有する構成要素を示す情報がユーザ端末30に出力される。本実施形態の構成により、ユーザは、指定した脆弱性がそのユーザに関係のある製品のどの構成要素に存在しているかを容易に確認することができる。
【0061】
[第3実施形態]
本実施形態は、以下の点において、上述の第1実施形態と異なる。
【0062】
<機能構成例>
図17は、第3実施形態における脆弱性情報管理装置10の機能構成を例示する図である。
図17に示されるように、本実施形態の脆弱性情報管理装置10は、対処計画情報取得部170および通知部180を更に有する。
【0063】
対処計画情報取得部170は、製品(製品に含まれる構成要素)に関して見つかった脆弱性への対処計画を示す情報(対処計画情報)を取得する。ここで「対処計画」は、脆弱性に対して取り得る対処の完了予定日や進捗状態(「未確認」、「調査中」、「対処済み」、「該当なし」等)を含む。ユーザは、例えば、
図8乃至
図10に例示されるような画面において、そのユーザに関係する製品の脆弱性の情報を確認した後、その脆弱性に対する対処スケジュールや対処の進捗状態を示す対処計画情報を、ユーザ端末30を介して入力することができる。対処計画情報取得部170は、ユーザの入力に応じて取得された対処計画情報を、そのユーザを識別する情報と対応付けて、メモリ1030やストレージデバイス1040などの記憶領域に記憶する(例:
図18)。
図18は、ユーザ毎に保管される対処計画情報の一例を示す図である。
図18では、各ユーザを一意に識別するユーザ識別情報と対応付けて、対処計画情報を記憶するテーブルが例示されている。
【0064】
通知部180は、対処計画情報取得部170により取得された対処計画情報に基づいて、脆弱性への対処についてのリマインド情報をユーザに通知する。
【0065】
一例として、通知部180は、対処計画における進捗状態別の件数を示す情報を、ユーザ端末30に通知することができる。具体的には、通知部180は、
図18に示すような情報を参照して、ユーザ毎の対処計画情報を取得する。そして、通知部180は、対処計画情報の進捗状態の値に基づいて、進捗状態別のレコードを特定し、その件数または各レコードに登録された内容を示す情報等をユーザ端末30に送信する。他の一例として、通知部180は、対処計画情報の完了予定日を過ぎても対処が完了していない脆弱性の件数を示す情報を、ユーザ端末30に通知することができる。具体的には、通知部180は、
図18に示すような情報を参照して、ユーザ毎の対処計画情報を取得する。そして、通知部180は、対処計画情報の完了予定日の値および進捗状態の値に基づいて、完了予定日を過ぎても対処が完了していない脆弱性のレコードを特定し、その件数または各レコードに登録された内容を示す情報等をユーザ端末30に送信する。
【0066】
なお、図示しないが、ユーザ識別情報(ユーザID)とユーザ端末30のアドレス情報との対応関係を示す情報が、例えばストレージデバイス1040に予め登録されている。通知部180は、ユーザIDを基に取得されるユーザ端末30のアドレス情報を用いて、先に例示したような通知を行うことができる。
【0067】
以上、本実施形態では、ユーザが入力した脆弱性対処情報に基づいて、ユーザ端末30にリマインド情報が出力される。そして、このリマインド情報によって、ユーザに脆弱性への対処を促すことができる。
【0068】
[第4実施形態]
本実施形態は、以下の点において、上述の第1実施形態と異なる。
【0069】
<機能構成例>
図19は、第4実施形態における脆弱性情報管理装置10の機能構成を例示する図である。本実施形態の製品特定部120は、ユーザ識別情報取得部110により取得されたユーザ識別情報に紐付けられたグループ識別情報を取得する。ここで、グループ識別情報は、製品が属するグループ(例えば、プロジェクト)を示す情報である。グループ識別情報は、グループ識別情報記憶部24に記憶されている(例:
図20)。
図20は、グループ識別情報記憶部24に記憶される情報の一例を示す図である。
図20に例示されるように、グループ識別情報記憶部24は、各ユーザのユーザ識別情報(ユーザID)と紐付けて、グループ識別情報(グループID)を記憶している。更に、本実施形態の製品特定部120は、取得されたグループ識別情報を用いて、1以上の製品を特定する。例えば、本実施形態において、製品構成情報記憶部22は、
図21に例示されるような情報を記憶している。
図21は、第4実施形態の製品構成情報記憶部22に記憶される情報を例示する図である。本実施形態の製品構成情報記憶部22は、ユーザIDの代わりに、グループIDに関連づけて、製品の情報を記憶している。製品特定部120は、ユーザ識別情報を基に取得したグループ識別情報を使い、第1実施形態と同様に、1以上の製品を特定することができる。1以上の製品が特定する処理以外については、上述の各実施形態と同様である。
【0070】
以上、本実施形態では、ユーザ識別情報と製品構成情報(1以上の製品の情報)とが、各製品が属するグループ(例えば、プロジェクト)を示すグループ識別情報を介して紐付けられている。本実施形態の構成により、製品構成情報をユーザ毎に記憶する必要がなくなるため、システムで保持する情報の更新および管理が容易になる。また、システム全体のハードウエア資源を節約する効果も見込める。
【0071】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【0072】
また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
【0073】
上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1.
ユーザ識別情報を取得するユーザ識別情報取得手段と、
取得された前記ユーザ識別情報に関連付けられた、1以上の製品を特定する製品特定手段と、
特定された前記1以上の製品それぞれについて、製品の構成要素を示す製品構成情報を取得する製品構成情報取得手段と、
製品の構成要素となり得る要素それぞれの脆弱性情報を要素別に記憶する脆弱性情報記憶手段を参照して、取得された前記製品構成情報に対応する構成要素の中から、脆弱性を有する構成要素を特定する脆弱性特定手段と、
前記脆弱性を有する構成要素を示す情報を、当該構成要素を含む製品を示す情報と関連付けてユーザ端末に出力する出力手段と、
を備える脆弱性情報管理装置。
2.
前記出力手段は、前記脆弱性を有する構成要素として特定された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
1.に記載の脆弱性情報管理装置。
3.
前記製品構成情報は、製品に含まれる構成要素の階層構造を示す情報を更に有しており、
前記出力手段は、前記取得された製品構成情報に基づいて、製品に含まれる構成要素の階層構造を示す情報を、前記ユーザ端末に更に出力する、
1.または2.に記載の脆弱性情報管理装置。
4.
前記脆弱性特定手段は、前記階層構造において、前記脆弱性を有する構成要素の上位に位置する上位構成要素を更に特定し、
前記出力手段は、前記上位構成要素を示す情報を、前記ユーザ端末に更に出力する、
3.に記載の脆弱性情報管理装置。
5.
前記出力手段は、
前記階層構造を示す情報において構成要素のいずれかを選択する入力を受け付け、
前記入力により選択された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
3.または4.に記載の脆弱性情報管理装置。
6.
脆弱性を指定する入力を受け付ける入力受付手段を更に備え、
前記脆弱性特定手段は、前記脆弱性情報記憶手段を参照して、前記取得された製品構成情報に対応する構成要素の中から、前記入力により指定された脆弱性を有する構成要素を特定し、
前記出力手段は、前記入力により指定された脆弱性を有する構成要素を示す情報を、前記ユーザ端末に出力する、
1.から5.のいずれか1つに記載の脆弱性情報管理装置。
7.
製品に関して見つかった脆弱性への対処計画を示す対処計画情報を取得する対処計画情報取得手段と、
前記対処計画情報が示す対処計画に基づいて、脆弱性への対処についてのリマインド情報をユーザに通知する通知手段と、を更に備える、
1.から6.のいずれか1つに記載の脆弱性情報管理装置。
8.
前記製品特定手段は、
製品が属するグループを示すグループ識別情報を各ユーザのユーザ識別情報と紐付けて記憶するグループ識別情報記憶手段を参照して、前記取得されたユーザ識別情報に紐付けられたグループ識別情報を取得し、
製品の情報をグループ識別情報別に対応付けて記憶する製品情報記憶手段を参照して、取得された前記グループ識別情報に紐付けられた1以上の製品を特定する、
1.から7.のいずれか1つに記載の脆弱性情報管理装置。
9.
コンピュータが、
ユーザ識別情報を取得し、
取得された前記ユーザ識別情報に関連付けられた、1以上の製品を特定し、
特定された前記1以上の製品それぞれについて、製品の構成要素を示す製品構成情報を取得し、
製品の構成要素となり得る要素それぞれの脆弱性情報を要素別に記憶する脆弱性情報記憶手段を参照して、取得された前記製品構成情報に対応する構成要素の中から、脆弱性を有する構成要素を特定し、
前記脆弱性を有する構成要素を示す情報を、当該構成要素を含む製品を示す情報と関連付けてユーザ端末に出力する、
ことを含む脆弱性情報管理方法。
10.
前記コンピュータが、前記脆弱性を有する構成要素として特定された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
ことを含む9.に記載の脆弱性情報管理方法。
11.
前記製品構成情報は、製品に含まれる構成要素の階層構造を示す情報を更に有しており、
前記コンピュータが、前記取得された製品構成情報に基づいて、製品に含まれる構成要素の階層構造を示す情報を、前記ユーザ端末に更に出力する、
ことを含む9.または10.に記載の脆弱性情報管理方法。
12.
前記コンピュータが、
前記階層構造において、前記脆弱性を有する構成要素の上位に位置する上位構成要素を更に特定し、
前記上位構成要素を示す情報を、前記ユーザ端末に更に出力する、
ことを含む11.に記載の脆弱性情報管理方法。
13.
前記コンピュータが、
前記階層構造を示す情報において構成要素のいずれかを選択する入力を受け付け、
前記入力により選択された構成要素に関する脆弱性情報を、前記ユーザ端末に更に出力する、
ことを含む11.または12.に記載の脆弱性情報管理方法。
14.
前記コンピュータが、
脆弱性を指定する入力を受け付け、
前記脆弱性情報記憶手段を参照して、前記取得された製品構成情報に対応する構成要素の中から、前記入力により指定された脆弱性を有する構成要素を特定し、
前記入力により指定された脆弱性を有する構成要素を示す情報を、前記ユーザ端末に出力する、
ことを含む9.から13.のいずれか1つに記載の脆弱性情報管理方法。
15.
前記コンピュータが、
製品に関して見つかった脆弱性への対処計画を示す対処計画情報を取得し、
前記対処計画情報が示す対処計画に基づいて、脆弱性への対処についてのリマインド情報をユーザに通知する、
ことを更に含む9.から14.のいずれか1つに記載の脆弱性情報管理方法。
16.
前記コンピュータが、
製品が属するグループを示すグループ識別情報を各ユーザのユーザ識別情報と紐付けて記憶するグループ識別情報記憶手段を参照して、前記取得されたユーザ識別情報に紐付けられたグループ識別情報を取得し、
製品の情報をグループ識別情報別に対応付けて記憶する製品情報記憶手段を参照して、取得された前記グループ識別情報に紐付けられた1以上の製品を特定する、
ことを含む9.から15.のいずれか1つに記載の脆弱性情報管理方法。
17.
コンピュータに、9.から16.のいずれか1つに記載の脆弱性情報管理方法を実行させるプログラム。
【0074】
この出願は、2018年9月5日に出願された日本出願特願2018-166076号を基礎とする優先権を主張し、その開示の全てをここに取り込む。