IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ビジョナル・インキュベーション株式会社の特許一覧

<>
  • 特許-情報処理装置及び情報処理方法 図1
  • 特許-情報処理装置及び情報処理方法 図2
  • 特許-情報処理装置及び情報処理方法 図3
  • 特許-情報処理装置及び情報処理方法 図4
  • 特許-情報処理装置及び情報処理方法 図5
  • 特許-情報処理装置及び情報処理方法 図6
  • 特許-情報処理装置及び情報処理方法 図7
  • 特許-情報処理装置及び情報処理方法 図8
  • 特許-情報処理装置及び情報処理方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-04-04
(45)【発行日】2024-04-12
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
   G06F 21/57 20130101AFI20240405BHJP
   G06F 21/62 20130101ALI20240405BHJP
【FI】
G06F21/57 370
G06F21/62
【請求項の数】 15
(21)【出願番号】P 2024007582
(22)【出願日】2024-01-22
【審査請求日】2024-01-22
【早期審査対象出願】
(73)【特許権者】
【識別番号】521541734
【氏名又は名称】株式会社アシュアード
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】佐久間 友樹
(72)【発明者】
【氏名】古好 佑輔
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2020-052686(JP,A)
【文献】特開2017-224053(JP,A)
【文献】特開2014-170324(JP,A)
【文献】米国特許出願公開第2016/0112429(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/57
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する取得部と、
前記取得部によって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する制御部と、を備え、
前記取得部は、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得し、
前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理装置。
【請求項2】
前記特定アカウントは、前記階層化されたリソースとは別に設けられる特定リソースである管理アカウントである、請求項1に記載の情報処理装置。
【請求項3】
前記取得部は、前記対象システムの構成を管理する構成管理ツールを用いて、前記所定階層のリソースに前記ロールが伝搬することで、前記スキャンする権限を取得する、請求項1に記載の情報処理装置。
【請求項4】
前記構成管理ツールによる前記ロールの伝搬に用いる所定ファイルを格納する格納部を備える、請求項3に記載の情報処理装置。
【請求項5】
前記構成管理ツールによって付与される前記ロールを識別する識別情報を格納する格納部を備える、請求項3に記載の情報処理装置。
【請求項6】
前記取得部は、前記特定アカウントに付与される前記ロールに基づいて、前記特定アカウントと対応付けられたシステム環境のアセット情報を取得し、
前記制御部は、前記特定アカウントと対応付けられたシステム環境の脆弱性情報を特定する、請求項1に記載の情報処理装置。
【請求項7】
前記対象システムの構成を管理する構成管理ツールを用いて、前記特定アカウントに前記ロールが付与される、請求項6に記載の情報処理装置。
【請求項8】
前記取得部は、前記ロールで許可される範囲において、アプリケーション・プログラミング・インタフェースの連携によって、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する、請求項1に記載の情報処理装置。
【請求項9】
前記取得部は、
前記対象システムが第1クラウドコンピューティング環境に構築される場合に、前記所定階層よりも上位階層のリソースに付与される前記ロールから自動で前記ロールが伝搬することで、前記スキャンする権限を取得し、
前記対象システムが第2クラウドコンピューティング環境に構築される場合に、前記対象システムの構成を管理する構成管理ツールを用いて、前記所定階層のリソースに前記ロールが伝搬することで、前記スキャンする権限を取得する、請求項1に記載の情報処理装置。
【請求項10】
前記取得部は、前記所定階層のリソースと対応付けられたシステム環境のアセット情報として、前記所定階層のリソースと対応付けられたシステム環境のスナップショットを取得する、請求項1に記載の情報処理装置。
【請求項11】
前記制御部は、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定した後において、前記所定階層のリソースと対応付けられたシステム環境のスナップショットを削除する、請求項10に記載の情報処理装置。
【請求項12】
前記アセット情報に含まれる少なくとも一部の情報と対応付けて脆弱性情報を格納する格納部を備え、
前記制御部は、前記格納部に格納された脆弱性情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する、請求項1に記載の情報処理装置。
【請求項13】
前記制御部は、第三者機関が設定する脆弱性のレベルを示す情報、外部からアクセス可能であるか否かを示す情報、脆弱性に対する攻撃による業務への影響が大きいか否かを示す情報、脆弱性に対する攻撃コードが流通しているか否かを示す情報、及び、脆弱性の悪用が確認されている否かを示す情報の少なくともいずれか1つに基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報の優先度を特定する、請求項1に記載の情報処理装置。
【請求項14】
前記アセット情報に含まれるソフトウェアの第1識別子、第2識別子及び名称の少なくともいずれか1つと前記ソフトウェアのサポートが終了する日付とを対応付けて格納する格納部を備え、
前記制御部は、前記ソフトウェアの第1識別子、第2識別子、及び名称の少なくともいずれか1つに基づいて、前記ソフトウェアのサポートが終了する日付を特定し、前記ソフトウェアのサポートが終了する日付に基づいて、前記ソフトウェアに関するアラートを出力する、請求項1に記載の情報処理装置。
【請求項15】
情報処理装置が、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得するステップAと、
前記情報処理装置が、前記ステップAによって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定するステップBと、
前記情報処理装置が、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得するステップCと、を備え、
前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
従来、ソフトウェアが有する脆弱性情報を検知する技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2008-165794号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、クラウド上において、仮想マシンなどのリソースやアセットを利用可能なクラウドサービスも知られている。組織等でそのようなクラウドサービスを利用する場合、利用するリソースを階層化することがあるが、そのような階層化されたリソースと対応付けられたシステム環境をスキャンしたり、脆弱性情報を検知したりすることは煩雑になる場合がある。
【0005】
そこで、本発明は、上述した課題を解決するためになされたものであり、階層化されたリソースと対応付けられるシステム環境のスキャンを容易に実行することを可能とする情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
開示の態様は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する取得部と、前記取得部によって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する制御部と、を備え、前記取得部は、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得し、前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理装置である。
【0007】
開示の態様は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得するステップAと、前記ステップAによって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定するステップBと、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得するステップCと、を備え、前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理方法である。
【発明の効果】
【0008】
本発明によれば、階層化されたリソースと対応付けられるシステム環境のスキャンを容易に実行することを可能とする情報処理装置及び情報処理方法を提供することができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係る情報処理システム100を示す図である。
図2図2は、実施形態に係る情報処理装置10を示す図である。
図3図3は、実施形態に係る動作例1について説明するための図である。
図4図4は、実施形態に係る動作例1について説明するための図である。
図5図5は、実施形態に係る動作例2について説明するための図である。
図6図6は、実施形態に係る動作例2について説明するための図である。
図7図7は、実施形態に係る情報処理方法を示す図である。
図8図8は、変更例2に係るトリアージについて説明するための図である。
図9図9は、変更例3に係るマスタDBについて説明するための図である。
【発明を実施するための形態】
【0010】
以下において、実施形態について図面を参照しながら説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【0011】
但し、図面は模式的なものであり、各寸法の比率などは現実のものとは異なる場合があることに留意すべきである。従って、具体的な寸法などは以下の説明を参酌して判断すべきである。また、図面相互間においても互いの寸法の関係又は比率が異なる部分が含まれている場合があることは勿論である。
【0012】
[開示の概要]
開示の概要は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する取得部と、前記取得部によって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する制御部と、を備え、前記取得部は、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得し、前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理装置である。
【0013】
開示の概要は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得するステップAと、前記ステップAによって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定するステップBと、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得するステップCと、を備え、前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理方法である。
【0014】
開示の概要では、情報処理装置は、ルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールの付与によって、所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得し、所定階層のリソースに伝搬するロールに基づいて、所定階層のリソースと対応付けられたシステム環境のアセット情報を取得し、取得されたアセット情報に基づいて、所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する。このような構成によれば、ルートを操作する権限を有する特定アカウントを利用することによって、ロールが所定階層のリソースに伝搬するため、階層化されたリソースと対応付けられるシステム環境のスキャンを容易に実行することができる。
【0015】
[実施形態]
(情報処理システム)
以下において、実施形態に係る情報処理システムについて説明する。図1は、実施形態に係る情報処理システム100を示す図である。
【0016】
図1に示すように、情報処理システム100は、情報処理装置10と、端末20と、システムサーバ30と、脆弱性サーバ40と、を有する。情報処理装置10、端末20、システムサーバ30、脆弱性サーバ40は、ネットワーク200によって接続される。特に限定されるものではないが、ネットワーク200は、インターネットによって構成されてもよい。ネットワーク200は、ローカルエリアネットワークを含んでもよく、移動体通信網を含んでもよく、VPN(Virtual Private Network)を含んでもよい。
【0017】
情報処理装置10は、ソフトウェアのアセット情報や脆弱性情報をスキャン、特定又は管理する装置であり、脆弱性診断装置と称されてもよい。情報処理装置10は、脆弱性情報をスキャン、特定又は管理するサービスの提供者によって提供され、サービスの利用者によって用いられてもよい。ソフトウェアは、システムサーバ30上で動作するソフトウェアであってもよい。以下において、アセット情報をスキャンする対象であるソフトウェアから構成されるシステムを対象システムと称してもよい。対象システムは、1以上のソフトウェアを含むシステムであってもよい。1以上のソフトウェアは、OSS(Open Source Software)を含んでもよい。情報処理装置10の詳細については後述する。
【0018】
端末20は、対象システムの脆弱性を管理する管理者によって用いられる端末である。端末20は、パーソナルコンピュータであってもよく、スマートフォンであってもよく、タブレット端末であってもよい。端末20は、表示部21を有してもよい。表示部21は、液晶パネル、有機EL(Electroluminescence)パネル、LED(Light Emitting Diode)などのディスプレイによって構成されてもよい。
【0019】
システムサーバ30は、ネットワーク200上に設けられる1以上のサーバ(クラウドサーバ)であり、クラウド上において対象システムを構築するサーバである。対象システムは、クラウドコンピューティング環境内の仮想サーバ上に実現されてもよい。クラウドコンピューティング環境は、クラウドサービス提供業者によって提供されるクラウドプラットフォーム上に実現されてもよい。クラウドプラットフォームは、インターネットを介して、データベースやストレージ、アプリケーションなどのサービスを利用できるプラットフォームであってもよい。例えば、クラウドプラットフォームは、Microsoft Azure(登録商標)などである。
【0020】
ここで、対象システムは、階層化されたリソースと対応付けられるシステム環境を有するシステムである。階層化は、複数のリソースが階層構造(以下、ツリー構造)を構成することを意味する。階層化は、リソースをノードとし、ノードの上位及び下位が規定される関係を意味する。例えば、階層化は、下位階層のリソースを束ねる上位階層のリソースが存在する関係を意味してもよい。また、下位階層の複数のリソースを束ねる最上位に位置するリソース(ノード)は、ルートと称されてもよい。ルートは、組織、グループ又は管理グループと称されてもよい。ここで、ルートは、ツリー構造の集合点(ルートノード)であり、ツリー構造のトップレベルのノード(最上位の節)である。つまり、ツリー構造は、ルートから分岐を始め、下位階層の複数のリソースがルートにぶら下がる構造である。
【0021】
ツリー構造の最下位の階層に位置するリソースは、メンバーアカウント又はプロジェクトと称されてもよい。メンバーアカウント又はプロジェクトは、サブスクリプション又はテナントと称されてもよく、以下、これらを総称して、メンバーアカウントと称する。メンバーアカウントは、システム環境を構成し、使用されるアセットを対応付けることができるリソースであり、ユーザの識別情報で構成されるユーザアカウントとは区別される。また、最上位の階層に位置するルートと最下位の階層に位置するメンバーアカウントとの間に、複数のメンバーアカウントを束ねるリソースが設けられてもよい。複数のメンバーアカウントを束ねるリソースは、ユニットと称されてもよい。ユニットは、フォルダ又はディレクトリと称されてもよい。つまり、ツリー構造は、上から、ルート(組織又はグループ)レベル、ユニット(フォルダ又はディレクトリ)レベル、メンバーアカウント(サブスクリプション又はプロジェクト)レベルのレベル(階層)を有する構造である。また、メンバーアカウントは、後述する管理アカウント以外の、クラウドコンピューティング環境上で作成されるアカウントであってもよい。
【0022】
具体的には、階層化は、企業等の組織において、複数のメンバーアカウントを部署等のユニットで束ね、いくつかの部署等のユニットをさらに上位の組織等のルートで束ねるなどの態様を含んでもよい。このような構成によれば、組織に属する複数のメンバーアカウントを、部署等の単位で束ねて効率的に一元管理できる。
【0023】
脆弱性サーバ40は、ソフトウェアの脆弱性情報を管理する外部サーバである。脆弱性サーバ40は、1以上のサーバによって構成されてもよい。1以上の脆弱性サーバ40は、NVD(National Vulnerability Database)、ICAT(IPA Cyber security Alert Service) Metabase、JVN(Japan Vulnerability Notes)、JVN iPedia、OSVDB(Open Source Vulnerability Database)等の外部の脆弱性情報ウェブサイト(データベース)の中から選択された1以上のウェブサイトと接続されるサーバを含んでもよい。1以上の脆弱性サーバ40は、ソフトウェアのサプライヤが独自に提供する自社の脆弱性情報を格納するサーバ(例えば、セキュリティアドバイザリ)を含んでもよい。
【0024】
(情報処理装置)
以下において、実施形態に係る情報処理装置10について説明する。図2は、実施形態に係る情報処理装置10を示す図である。
【0025】
図2に示すように、情報処理装置10は、送信部11と、受信部12と、格納部13と、制御部14と、を有する。
【0026】
送信部11は、通信モジュールによって構成されてもよい。通信モジュールは、IEEE802.11a/b/g/n/ac/ax、LTE、5G、6Gなどの規格に準拠する無線通信モジュールであってもよく、IEEE802.3などの規格に準拠する有線通信モジュールであってもよい。
【0027】
送信部11は、リソースのスキャンを要求するスキャン要求をシステムサーバ30に送信してもよい。情報処理装置10がリソースをスキャンする権限を取得している場合に、対象システムは、送信部11(情報処理装置10)からのスキャン要求を許可する。対象システムと対応付けられた各リソースは、送信部11(情報処理装置10)がリソースをスキャンする権限を割り当てるロール(すなわち、送信部11(情報処理装置10)からのスキャン要求を許可するロール)が付与されている場合に、リソースに対応付けられたシステム環境のアセット情報を特定可能なスキャン応答を情報処理装置10に送信する。ロールは、情報処理装置10がリソースと対応付けられたシステム環境をスキャンすることを許可する定義を含む。ここで、ロールは、リソースに対し、誰がどのような権限を持つかを定義するものであり、ポリシーと称されてもよい。例えば、ロールは、情報処理装置10のユーザに対応付けられたスキャン用のユーザアカウントに対して、リソースと対応付けられたシステム環境をスキャンする権限を割り当てることを定義する。これにより、情報処理装置10は、リソースをスキャンする権限を取得する。ここで、情報処理装置10によるスキャン権限の取得は、情報処理装置10によるスキャンを許可するロールをリソースへ付与することを指してもよい。
【0028】
ここで、ロールは、階層化されたリソースの最上位の階層に位置するルートを操作する権限を有する特定アカウントを用いて、階層化されたリソースの所定階層のリソースに伝搬する。所定階層のリソースは、ツリー構造の最下位の階層に位置するリソース(メンバーアカウント)を含んでもよい。少なくともメンバーアカウントは、情報処理装置10によるスキャンの対象とされるシステム環境と対応付けられている。なお、ロールの伝搬方法については後述する(図3図6を参照)。
【0029】
受信部12は、通信モジュールによって構成されてもよい。通信モジュールは、IEEE802.11a/b/g/n/ac/ax、LTE、5G、6Gなどの規格に準拠する無線通信モジュールであってもよく、IEEE802.3などの規格に準拠する有線通信モジュールであってもよい。
【0030】
受信部12は、スキャン要求に応じて、システム環境のアセット情報を特定可能なスキャン応答をシステムサーバ30(ロールが付与されているリソース)から受信する。
【0031】
ここで、アセットは、クラウドプラットフォーム上で管理できる全てのシステム環境、エンティティ及びサービスを含み、例えば、仮想マシン、仮想ネットワーク、ストレージアカウント、Webアプリケーション、データベースなどを含んでもよい。アセットは、IAM(Identity and Access Management)などによって付与されるポリシーやロールを含んでもよい。
【0032】
アセット情報は、アプリケーションライブラリ、ホスト、コンテナイメージなどを含んでもよい。
【0033】
アプリケーションライブラリは、システム環境に含まれるアプリケーションの集合であってもよい。アプリケーションライブラリは、アプリケーションの名称やバージョンを含んでもよい。アプリケーションは、ソフトウェアと読み替えてもよく、プログラムと読み替えてもよい。
【0034】
ホストは、システム環境を構築する装置(端末、ルータ、サーバなど)の名称や構成などを含んでもよい。ホストは、システム環境と対応付けられるアカウントの名称などを含んでもよい。
【0035】
コンテナイメージは、コンテナファイルの構築(Build)によって生成されるイメージであってもよい。コンテナイメージの実行(Run)によってコンテナが生成されてもよい。コンテナは、物理サーバ上にOSが設けられ、OS上にコンテナエンジンが設けられる前提下において、ミドルウェア(MW)と、ミドルウェア上に設けられるアプリケーションを含んでもよい。コンテナイメージは、アプリケーションの名称やバージョンを含んでもよい。アプリケーションは、ソフトウェアと読み替えてもよく、プログラムと読み替えてもよい。
【0036】
格納部13は、SSD(Solid State Drive)、HDD(Hard Disk Drive)などの記憶媒体によって構成されており、様々な情報を格納する。
【0037】
第1に、格納部13は、対象システムの構成を管理する構成管理ツールによるロールの伝搬に用いる所定ファイル(以下、テンプレート)を格納する。ロールの伝搬は、ロールの付与と読み替えられてもよい。ここで、ロールの伝搬は、特定のリソースに付与されて有効なロールが、そのリソースの下位の階層に位置するリソースに継承されて付与され有効になることである。テンプレートとは、構成管理ツールで、クラウドコンピューティング環境上に作成するロール等のリソースをコードで記述するファイルであり、リソースの設計書である。テンプレートによって作成されるリソースは、スタックと称されてもよい。
【0038】
構成管理ツールは、クラウドコンピューティング環境上のシステムと連携し、そのシステムに対して、テンプレートを用いて、ロール等のリソースを自動で構築するツールであり、オーケストレータと称されてもよい。テンプレートは、JSON形式又はYAML形式のテキストファイルによって構成され、構築するリソースの構成情報がコードで記述されてもよい。構成管理ツールで構築するリソースは、少なくとも、情報処理装置10がリソースと対応付けられたシステム環境をスキャンすることを許可するロール(例えば、情報処理装置10によるRead Onlyなど)を含んでもよい。言い換えると、テンプレートは、リソースと対応付けられたシステム環境をスキャンする権限を情報処理装置10に割り当てるロールに関する記述を含んでもよい。
【0039】
ロールは、IAMによって管理され、メンバーアカウント等のリソースに付与されてもよい。IAMは、リソースに対して、情報処理装置10による脆弱性のスキャンに必要な処理を情報処理装置10に許可するロールを付与する。これによって、情報処理装置10は、対象システムと連携することによって、対象システムの脆弱性のスキャンに必要な処理を実行することが可能である。すなわち、情報処理装置10がスキャン要求を送信した場合に、リソースに付与されたロールに基づいてスキャン要求が許可されるため、リソースと対応付けられたシステム環境のアセット情報を取得することができる。
【0040】
特に限定されるものではないが、IAMは、クラウドサービスやアプリケーションに対して、リソースの操作権限(ロール)を付与する機能であり、リソースと対応付けられるシステム環境をスキャンすることを許可する権限を付与可能な機能である。IAMにより付与されるロールは、リソースの作成、リソースの削除、対象システムに関する請求情報の確認、リソースの構造の取得などの権限を含まなくてもよい。
【0041】
第2に、格納部13は、リソースに付与されたロールを識別する識別情報を格納する。識別情報は、システムサーバ30から取得されてもよい。ロールを識別する識別情報は、リソース名やリソースのIDなど、ロールを一意に識別できる名称や記号であればよく、第2対象システムから取得される。格納部13は、ロールを識別する識別情報に加え、対象システムから発行されるスキャン用の資格証明及びスキャンに用いるユーザアカウント(スキャン用ユーザアカウント)を格納してもよい。対象システムにおけるロールの伝搬及びロールを識別する識別情報の格納は、情報処理装置10と対象システムとの連携を意味してもよい。情報処理装置10と対象システムとの連携によって、ロールが付与されたリソースと対応付けられたシステム環境を情報処理装置10が、スキャン用ユーザアカウントを用いてスキャンすることが可能である。連携は、後述する変更例1で説明するように、API連携であってもよい。
【0042】
第3に、格納部13は、アセット情報に含まれる少なくとも一部の情報(例えば、ソフトウェアの名称など)と対応付けて脆弱性情報を格納する脆弱性データベース(以下、脆弱性DB)を格納する。脆弱性DBは、脆弱性サーバ40から受信する脆弱性情報に基づいた情報を格納してもよい。脆弱性DBは、脆弱性サーバ40から受信する脆弱性情報から各種情報を抽出することによって得られる情報を格納してもよい。また、脆弱性DBは、セキュリティ関連のニュースサイトやブログ等、他のウェブサイト等からユーザが入手した情報を、ユーザ自身が入力・登録し、格納してもよく、脆弱性サーバ40から取得した脆弱性情報を修正してもよい。これにより、NVD等の外部の脆弱性情報ウェブサイトに掲載されていない情報を収集し脆弱性DBに蓄積することができるとともに、誤記等により脆弱性情報サイトの情報が間違っていた場合であっても、正しい情報を脆弱性DBに蓄積することができる。
【0043】
制御部14は、少なくとも1つのプロセッサを含んでもよい。少なくとも1つのプロセッサは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、1以上のIntegrated Circuit、1以上のDiscrete Circuit、及び、これらの組合せによって構成されてもよい。
【0044】
制御部14は、システムサーバ30(ロールが付与されたリソース)から取得されたアセット情報に基づいて、所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する。ここで、制御部14は、格納部13(脆弱性DB)に格納された脆弱性情報に基づいて、所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定してもよい。
【0045】
上述したように、アセット情報は、アプリケーションライブラリ、ホスト、コンテナイメージなどを含んでもよい。従って、アセット情報に基づいて、システム環境の脆弱性情報を特定することができる。
【0046】
実施形態では、受信部12及び制御部14は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて階層化されたリソースの所定階層のリソースに伝搬するロールに基づいて、所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する取得部を構成してもよい。受信部12及び制御部14は、所定階層のリソースへのロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得する。制御部14は、取得部によって取得されたアセット情報に基づいて、所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する制御部を構成してもよい。格納部13は、構成管理ツールによるロールの伝搬に用いるテンプレートを格納する格納部を構成してもよい。格納部13は、構成管理ツールによって付与されるロールを識別する識別情報を格納する格納部を構成してもよい。
【0047】
(動作例1)
以下において、実施形態に係る動作例1について説明する。動作例1では、対象システムが第1対象システムであるケースについて例示する。第1対象システムは、第1クラウドコンピューティング環境に構築される。リソースに対するロールの付与によって、リソースをスキャンする権限が情報処理装置10(例えば、スキャン用ユーザアカウント)に割り当てられる。ここで、スキャン用ユーザアカウントは、第1コンピューティング環境にある第1対象システムを情報処理装置10がスキャンするために発行される、情報処理装置10に対応付けられるユーザアカウント(例えば、IDとパスワードのセット)である。
【0048】
第1クラウドコンピューティング環境では、あるリソースに対してロールが付与されると、あるリソースよりも下位の階層のリソースにロールが自動的に伝搬する。
【0049】
動作例1において、ロールの伝搬方法としては、以下に示すオプションが考えられる。
【0050】
オプション1-1では、図3に示すように、ルートにロールが付与されると、ルートよりも配下にある下位の階層のリソースにロールが自動的に伝搬し付与される。すなわち、ロールは、リソースAAA、BBB、CCC(ユニット)に自動的に伝搬し、それぞれ、リソースAAA#1、AAA#2、BBB#1、BBB#2、CCC#1、CCC#2(メンバーアカウント)に自動的に伝搬する。
【0051】
つまり、上位の階層のリソース(ここでは、ルート)にロールが付与されると、同じロールが、配下にある下位の階層のリソース(ここでは、ユニット及びメンバーアカウント)に継承されて付与される。これにより、ロールによって上位の階層のリソースに対して情報処理装置10によるスキャン権限が割り当てられていれば、下位の階層のリソースに対しても同様のスキャン権限が情報処理装置10割り当てられることとなる。
【0052】
オプション1-2では、図4に示すように、ユニットAAAにロールが付与されると、ユニットAAAよりも下位階層のリソースに同じロールが自動的に伝搬し付与される。すなわち、ロールは、メンバーアカウントAAA#1、AAA#2に自動的に伝搬する。なお、オプション1-2では、ユニットBBB、CCC及びこれらの下位階層のリソース(メンバーアカウント)にはロールが伝搬しない。
【0053】
特に限定されるものではないが、動作例1は、動作例2に対する参考例であると考えてもよい。オプション1-1においては、階層化されたリソース全体を管理する権限を有するユーザアカウントがある場合には、このようなユーザアカウントが特定アカウントの一例であると考えてもよい。
【0054】
上述したように、動作例1では、情報処理装置10は、対象システムが第1クラウドコンピューティング環境に構築される場合に、所定階層よりも上位階層のリソースに付与されるロールから自動でロールが伝搬することで、スキャンする権限を取得する。
【0055】
(動作例2)
以下において、実施形態に係る動作例2について説明する。動作例2では、対象システムが第2対象システムであるケースについて例示する。第2対象システムは、第2クラウドコンピューティング環境に構築される。リソースに対するロールの付与によって、リソースをスキャンする権限が情報処理装置10(例えば、情報処理装置10に対応するスキャン用ユーザアカウント)に割り当てられる。
【0056】
第2クラウドコンピューティング環境では、第1クラウドコンピューティング環境とは異なり、あるリソースに対してロールが付与されても、そのリソースよりも下位の階層のリソースに同じロールが自動的に伝搬して付与されない。
【0057】
このような前提下において、動作例2では、階層化されたリソースの最上位の階層のルートを操作する権限を有する特定アカウントが用いられる。特定アカウントは、階層化されたリソースとは別に設けられる特定リソースである管理アカウントであってもよい。ここで、管理アカウントは、メンバーアカウントと同様に、リソースの1つであり、システム環境を構成し、管理アカウントで使用されるアセットを紐づけて持つことができるものである。動作例2では、第2対象システムの構成を管理する構成管理ツールが用いられてもよい。
【0058】
動作例2において、ロールの伝搬方法としては、以下に示すオプションが考えられる。
【0059】
オプション2-1では、図5に示すように、管理アカウントと構成管理ツールが連携される。
【0060】
続いて、情報処理装置10に格納されたテンプレートは、ユーザによって取得され、ユーザによって取得されたテンプレートは、構成管理ツールにアップロードされる。構成管理ツールは、管理アカウントに対して、テンプレートをルートからルートの配下のリソースに対して伝搬して実行するよう指示する。これにより、テンプレートは、ルートよりも下位階層に伝搬し、テンプレートに記述されたロールが下位の階層のリソースに付与される。構成管理ツールは、管理アカウントに対して、テンプレートを伝搬する入口や経路を指定する情報(経路情報)を指示する。テンプレートは、リソースをスキャンする権限を割り当てる相手に関する情報(例えば、スキャン用ユーザアカウントを識別する情報)を含んでもよい。ここで、スキャン用ユーザアカウントは、第2コンピューティング環境にある第2対象システムを情報処理装置10がスキャンするために発行される、情報処理装置10に対応付けられるユーザアカウント(例えば、IDとパスワードのセット)である。
【0061】
オプション2-1では、経路情報は、ルートの配下の全てのリソースを指定する情報(例えば、リソースの識別子)であってもよく、AAA、BBB、CCCのリソースの配下のリソースを指定する情報であってもよい。これによって、テンプレートに記述されたロールは、ユニットAAA、BBB、CCCに伝搬して付与され、それぞれ、メンバーアカウントAAA#1、AAA#2、BBB#1、BBB#2、CCC#1、CCC#2に伝搬し、付与される。また、経路情報は、テンプレートを伝搬する入口(例えば、ルート)を指定する情報(例えば、リソースの識別子)であってもよく、ルートの配下の全てのリソースにロールを伝搬させ、付与することができる。
【0062】
特に限定されるものではないが、経路情報は、テンプレートに記述されていてもよい。
【0063】
さらに、オプション2-1では、リソースの1つである管理アカウントにロールが付与されてもよい。メンバーアカウントと同様に、ロールは、構成管理ツールによってテンプレートを用いて管理アカウントに付与されてもよい。管理アカウントにロールを付与するテンプレートは、メンバーアカウントにロールを付与するテンプレートと同じであってもよい。これによって、階層化されたリソースとは異なる特定リソースである管理アカウントに対応付けられたアセット情報(アセットX、アセットY)をスキャンする権限を情報処理装置10が取得する。
【0064】
オプション2-2では、図6に示すように、管理アカウントと構成管理ツールが連携される。
【0065】
続いて、情報処理装置10に格納されたテンプレートは、ユーザによって取得され、ユーザによって取得されたテンプレートは、構成管理ツールにアップロードされる。構成管理ツールは、管理アカウントに対して、テンプレートをルートからルート配下の階層のリソースに対して伝搬して実行するよう指示する。これにより、テンプレートは、ルートよりも下位の階層に伝搬して付与され、テンプレートに記述されたロールが下位階層のリソースに付与される。構成管理ツールは、管理アカウントに対して、テンプレートを伝搬する入口や経路を指定する情報(経路情報)を指示する。テンプレートは、リソースをスキャンする権限を割り当てる相手に関する情報(例えば、スキャン用アカウントを識別する情報)を含んでもよい。
【0066】
オプション2-2では、経路情報は、ルートの配下のうち、ユニットAAAの配下のリソースを指定する情報であってもよい。これによって、テンプレートに記述されたロールは、ユニットAAAに伝搬し、メンバーアカウントAAA#1、AAA#2に伝搬し、付与される
【0067】
特に限定されるものではないが、経路情報は、テンプレートに記述されていてもよい。
【0068】
さらに、オプション2-2では、管理アカウントにロールが付与されてもよい。メンバーアカウントと同様に、ロールは、構成管理ツールによってテンプレートを用いて付与されてもよい。管理アカウントにロールを付与するテンプレートは、メンバーアカウントにロールを付与するテンプレートと同じであってもよい。これによって、階層化されたリソースとは異なる特定リソースである管理アカウントに対応付けられたアセット情報(アセットX、アセットY)をスキャンする権限を情報処理装置10が取得する。
【0069】
上述したように、動作例2では、情報処理装置10は、対象システムが第2クラウドコンピューティング環境に構築される場合に、対象システムの構成を管理する構成管理ツールを用いて、所定階層のリソースにロールが伝搬することで、スキャンする権限を取得する。
【0070】
動作例2において、情報処理装置10は、所定階層のリソースに付与されるロールに基づいて、所定階層のリソースと対応付けられたシステム環境のアセット情報を取得し、取得されたアセット情報に基づいて、所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する。これに加えて、情報処理装置10は、特定アカウントに付与されるロールに基づいて、特定アカウントと対応付けられたシステム環境のアセット情報を取得し、取得されたアセット情報に基づいて、特定アカウントと対応付けられたシステム環境の脆弱性情報を特定してもよい。
【0071】
動作例2において、ユニットAAA、BBB、CCCは、アカウント又はシステム環境と対応付けられていてもよく、アカウント又はシステム環境と対応付けられていなくてもよい。すなわち、動作例2では、少なくとも、管理アカウントと対応付けられたシステム環境及びメンバーアカウントと対応付けられたシステム環境のスキャン(アセット情報の取得、脆弱性情報の特定)が実行されればよい。
【0072】
動作例2は、ロールが下位の階層のリソースに自動的に伝搬しないため、ルートを操作する権限を有する特定アカウントを用いることによって、下位の階層のリソースにロールを伝搬する処理が実現される点で、動作例1と異なっている。
【0073】
動作例2は、特定アカウントと対応付けられたシステム環境のアセット情報の取得及び特定アカウントと対応付けられたシステム環境の脆弱性情報の特定が実行される点で、動作例1と異なっている。
【0074】
(情報処理方法)
以下において、実施形態に係る情報処理方法について説明する。図7は、実施形態に係る情報処理方法を示す図である。以下においては、上述した動作例2について主として説明する。
【0075】
図7に示すように、ステップS10において、情報処理装置10は、情報処理装置10に格納されたテンプレートを出力する。テンプレートの出力は、第2対象システムの管理者又は情報処理装置10のユーザによるテンプレートのダウンロードと読み替えてもよい。
【0076】
ステップS11において、第2対象システムの管理者によって、構成管理ツールでテンプレートの実行が指示される。テンプレートが実行されると、テンプレートに記述されたロールは、第2対象システムを構成する階層化されたリソースに伝搬する。ロールの伝搬方法については、上述した通りである(図5及び図6を参照)。
【0077】
ステップS12において、情報処理装置10は、ロールを識別する識別情報を格納する。ロールを識別する識別情報は、リソース名やリソースのIDなど、ロールを一意に識別できる名称や記号であればよく、第2対象システムから取得される。また、ロールを識別する識別情報は、第2対象システムの管理者や情報処理装置10のユーザによって、情報処理装置10に格納される。ステップS11及びステップ12の処理によって情報処理装置10及び第2対象システムが連携する。
【0078】
ステップS20において、情報処理装置10は、第2対象システムで用いると想定されるアプリケーションの脆弱性情報を要求する情報を脆弱性サーバ40に送信する。
【0079】
ステップS21において、情報処理装置10は、脆弱性情報を脆弱性サーバ40から受信する。
【0080】
ステップS22において、情報処理装置10は、脆弱性情報を脆弱性DBに格納する。情報処理装置10は、脆弱性サーバ40から受信する脆弱性情報から抽出された情報を脆弱性DBに格納してもよい。上述したように、脆弱性DBに格納された情報は、ユーザによって修正されてもよい。
【0081】
ステップS30において、情報処理装置10は、スキャン用ユーザアカウントを用いて、ロールが付与されたリソースに対するスキャン要求をシステムサーバ30に送信する。スキャン要求は、ロールを識別する識別情報を含んでもよく、スキャンのために発行された資格証明を含んでもよい。
【0082】
ステップS31において、情報処理装置10は、スキャン要求に対する応答として、システム環境のアセット情報を特定可能なスキャン応答をシステムサーバ30から受信する。
【0083】
ステップS32において、情報処理装置10は、スキャン応答に基づいて、ロールが付与されたリソースに対応するシステム環境のアセット情報を取得する。上述したように、アセット情報は、アプリケーションライブラリ、ホスト、コンテナイメージなどを含んでもよい。
【0084】
ステップS33において、情報処理装置10は、アセット情報に基づいて脆弱性DBを参照して、ロールが付与されたリソースに対応するシステム環境の脆弱性情報を特定する。
【0085】
(作用及び効果)
実施形態では、情報処理装置10は、ルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールの付与によって、所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得し、所定階層のリソースに伝搬するロールに基づいて、所定階層のリソースと対応付けられたシステム環境のアセット情報を取得し、取得されたアセット情報に基づいて、所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する。このような構成によれば、ルートを操作する権限を有する特定アカウントを利用することによって、ロールが所定階層のリソースに伝搬するため、階層化されたリソースと対応付けられるシステム環境のスキャンを容易に実行することができる。例えば、第2クラウドコンピューティング環境のように、下位の階層のリソースにロールが自動で伝搬しない環境に対象システムが構築される場合であっても、容易に、下位のリソースにロールを付与することができ、スキャンする権限を取得することができ、下位のリソースの脆弱性情報を特定することができる。
【0086】
実施形態では、対象システムが第2クラウドコンピューティング環境(すなわち、下位のリソースにロールが自動で伝搬しない環境)に構築される第2対象システムである場合に、構成管理ツールによってロールが伝搬する。このようなケースにおいて、情報処理装置10は、ロールの伝搬に用いるテンプレートを格納してもよい。このような構成によれば、第2対象システムのユーザがテンプレートを準備する手間を軽減することができ、情報処理装置10がロールを識別する識別情報を把握しているため、第2対象システムとの連携も容易である。また、第1クラウドコンピューティング環境及び第2クラウドコンピューティング環境といった、環境の異なる複数のクラウドコンピューティング環境(マルチクラウド環境)であっても、環境に合わせて、適切な方法で、下位の階層のリソースにロールを付与することができ、スキャンすることができる。
【0087】
実施形態では、対象システムが第2クラウドコンピューティング環境(すなわち、下位の階層のリソースにロールが自動で伝搬して付与されない環境)に構築される第2対象システムである場合に、管理アカウントと構成管理ツールとを連携して用いることによって、同じテンプレートを使って、2回のテンプレートの実行を行うだけで、階層構造の外側にあるリソース(管理アカウント)及び階層構造の下位のメンバーアカウントの双方に対するスキャンが可能になる。
【0088】
[変更例1]
以下において、実施形態の変更例1について説明する。以下においては、実施形態に対する相違点について主として説明する。
【0089】
変更例1では、情報処理装置10は、リソースに対してロールが付与された後、ロールで許可される範囲において、アプリケーション・プログラミング・インタフェースの連携(以下、API連携)によって、システム環境のアセット情報を取得してもよい。具体的には、情報処理装置10は、API連携によって、ロールが付与されたリソースと対応付けられたシステム環境のアセット情報を取得してもよい。この場合、情報処理装置10は、階層化されたリソースに付与されたロールにより、APIの実行権限を取得してもよい。
【0090】
ロールで許可される範囲は、システム環境のスキャンに関する処理内容を含んでもよく、システム環境のスキャンに必要な範囲であればよい。例えば、ロールで許可される範囲は、システム環境のスナップショットの取得を含んでもよい。一方で、ロールで許可される範囲は、リソースの作成、リソースの削除、対象システムに関する利用金額等の請求情報の確認、リソースの構造の取得など、スキャンに不要な権限であって、比較的強い権限を含まなくてもよい。
【0091】
変更例1では、情報処理装置10は、ロールが付与されたリソースと対応付けられたシステム環境のアセット情報として、ロールが付与されたリソースと対応付けられたシステム環境のスナップショットを作成し取得してもよい。このようなケースにおいて、情報処理装置10は、スナップショットを専用の領域に格納しておき、ロールが付与されたリソースと対応付けられたシステム環境の脆弱性情報を特定した後において、ロールが付与されたリソースと対応付けられたシステム環境のスナップショットを削除してもよい。
【0092】
変更例1では、システム環境のスキャン結果(上述したスキャン応答)は、システム環境のスナップショットを含んでもよい。スナップショットは、ある時点でのソースコード、ファイル、ディレクトリ、データベースファイルなどの状態を抜き出した情報であってもよい。
【0093】
[変更例2]
以下において、実施形態の変更例2について説明する。以下においては、実施形態に対する相違点について主として説明する。
【0094】
変更例2では、情報処理装置10は、システム環境の脆弱性情報の優先度を特定してもよい。優先度を特定する対象は、階層化されたリソースと対応付けられたシステム環境の脆弱性情報を含んでもよい。さらに、優先度を特定する対象は、特定アカウントと対応付けられたシステム環境の脆弱性情報を含んでもよい。
【0095】
具体的には、情報処理装置10は、第三者機関が設定する脆弱性のレベルを示す情報、外部からアクセス可能であるか否かを示す情報、脆弱性に対する攻撃による業務への影響が大きいか否かを示す情報、脆弱性に対する攻撃コードが流通しているか否かを示す情報、及び、脆弱性の悪用が確認されている否かを示す情報の少なくともいずれか1つに基づいて、第1システム環境のアセット情報及び第2システム環境の脆弱性情報の優先度を特定してもよい。第三者機関が設定する脆弱性のレベルを示す情報は、ソフトウェアの脆弱性のレベルを示す情報(以下、スコア値)であってもよい。例えば、スコア情報は、CVSS(Common Vulnerability Scoring System)で定義されるスコア値(例えば、Base Score)であってもよい。
【0096】
例えば、情報処理装置10は、制御部14は、特定された脆弱性情報に対応する脆弱性に対する対策を実行する優先度を決定する。脆弱性情報の対応の優先度を決定する処理は、トリアージと称されてもよい。優先度は、Levelと称されてもよい。
【0097】
図8に示すように、Levelは、Level 0~Level 4の5段階で表されてもよい。Levelの値が大きいほど、脆弱性に対する対策を実行する優先度が高い。脆弱性は、Level 0~Level 4の順に絞り込まれてもよい。
【0098】
Level 0は、全ての脆弱性のうち、スコア値(例えば、CVSSで定義されるBase Score)が閾値未満である脆弱性を含む。Level 0の脆弱性は、特に対策を実行しなくてもよい脆弱性であると考えてもよい。
【0099】
Level 1以上の脆弱性は、スコア値が閾値以上である脆弱性を含んでもよい。Level 1の脆弱性は、Level 1以上の脆弱性からLevel 2以上の脆弱性を除いた脆弱性である。Level 1の脆弱性は、定期メンテナンス(例えば、1回/1月)で対策を実行する脆弱性であると判断されてもよく、Level 1の脆弱性への対応の優先度は、Level 0の脆弱性の優先度よりも高い。
【0100】
Level 2以上の脆弱性は、Level 1以上の脆弱性のうち、外部からアクセス可能であるシステム環境の脆弱性を含んでもよい。Level 2は、Level 1以上の脆弱性のうち、攻撃を受けた際の業務への影響が大きいシステム環境の脆弱性を含んでもよい。Level 2の脆弱性は、Level 2以上の脆弱性からLevel 3以上の脆弱性を除いた脆弱性である。Level 2の脆弱性は、第1期限(例えば、2週間以内)で対策を実行すべき脆弱性であると判断されてもよく、Level 2の脆弱性への対応の優先度は、Level 1の脆弱性への対応の優先度よりも高い。
【0101】
Level 3以上の脆弱性は、Level 2以上の脆弱性のうち、攻撃コードが流通している脆弱性を含んでもよい。Level 3の脆弱性は、Level 3以上の脆弱性からLevel 4の脆弱性を除いた脆弱性である。Level 3の脆弱性は、第1期限よりも短い第2期限(例えば、1日以内)で対策を実行すべき脆弱性であると判断されてもよく、Level 3の脆弱性への対応の優先度は、Level 2の脆弱性への対応の優先度よりも高い。
【0102】
Level 4の脆弱性は、Level 3以上の脆弱性のうち、実際に攻撃が観測され、悪用が確認された脆弱性を含んでもよい。Level 4の脆弱性は、第2期限よりも短い第3期限(例えば、即時)で対策を実行すべき脆弱性であると判断されてもよく、Level 4の脆弱性への対応の優先度は、Level 3の脆弱性への対応の優先度よりも高い。言い換えると、Level 4の脆弱性の優先度は最も高い。
【0103】
脆弱性の悪用が確認された旨を示す情報は、脆弱性サーバ40(例えば、Known Exploited Vulnerabilities Catalog)から取得されてもよい。
【0104】
上述したトリアージを実現するために、情報処理装置10が以下に示す処理を実行すると表現されてもよい。
【0105】
第1に、情報処理装置10は、特定されたシステム環境の脆弱性情報に対応する脆弱性について、第三者機関が設定する脆弱性のレベルを示す情報、システム環境に対して外部からアクセス可能であるか否かを示す情報、脆弱性に対する攻撃による業務への影響が大きいか否かを示す情報、脆弱性に対する攻撃コードが流通しているか否かを示す情報、及び、脆弱性の悪用が確認されている否かを示す情報の少なくともいずれか1つに基づいて、システム環境の脆弱性情報の優先度を設定する。
【0106】
第2に、制御部14は、システム環境の脆弱性情報が特定脆弱性情報であり、システム環境に対して外部からアクセス可能である場合に、システム環境の脆弱性情報の優先度として最も高い優先度(図8に示すLevel 4)を設定する。特定脆弱性情報は、システム環境の脆弱性情報に対応する脆弱性の悪用が確認された脆弱性情報である。
【0107】
第3に、制御部14は、特定されたシステム環境の脆弱性情報に基づいて、システム環境の脆弱性情報に対応する脆弱性に対する攻撃コードが流通している旨を特定した場合に、システム環境の脆弱性情報の優先度として第1優先度(図8に示すLevel 3)を設定する。制御部14は、システム環境の脆弱性情報が特定脆弱性情報であり、システム環境に対して外部からアクセス可能である場合に、システム環境の脆弱性情報の優先度として第1優先度よりも高い第2優先度(図8に示すLevel 4)を設定する。特定脆弱性情報は、脆弱性の悪用が確認された脆弱性情報である。
【0108】
第4に、制御部14は、特定されたシステム環境の脆弱性情報に基づいて、システム環境の脆弱性情報に対応する脆弱性に対する攻撃コードが流通している旨を特定し、かつ、システム環境に対して外部からアクセス可能である場合に、システム環境の脆弱性情報の優先度として第3優先度(図8に示すLevel 3以上のLevel)を設定する。制御部14は、システム環境の脆弱性情報が特定脆弱性情報であり、システム環境に対して外部からアクセス可能でない場合に、システム環境の脆弱性情報の優先度として第3優先度よりも低い第4優先度(図8に示すLevel 2)を設定する。特定脆弱性情報は、脆弱性の悪用が確認された脆弱性情報である。
【0109】
[変更例3]
以下において、実施形態の変更例3について説明する。以下においては、実施形態に対する相違点について主として説明する。
【0110】
変更例3では、アセット情報に含まれるソフトウェアのサポートに関するアラートについて説明する。一般的に、ソフトウェアの保守やサポートは、ソフトウェアの販売終了から一定期間が経過した後に終了する。ここで、ソフトウェアの保守やサポートとは、脆弱性への対応等のためのソフトウェアのアップデート、問い合わせ対応、及び障害発生時の保守対応などを含む。ソフトウェアのサポートが終了する日付は、EOL(End of Life)日付と称されてもよい。EOL日付を過ぎたソフトウェアは、脆弱性が発見された際にもパッチが適応されず、攻撃のリスクが高くなる。そのため、セキュリティの観点から、ユーザは、通常、EOL日付を迎える前に、ソフトウェアのバージョンアップや別のソフトウェアへの乗り換え等の対応が必要となる。
【0111】
このような前提下において、情報処理装置10(格納部13)は、図9に示す情報を格納するマスタDBを格納してもよい。図9に示すように、マスタDBは、ID、ソフトウェア名、関連情報、EOL日付、第1識別子(例えば、CPE)、第2識別子(例えば、purl)を対応付ける情報を格納してもよい。
【0112】
IDは、情報処理装置10でソフトウェアを識別するために用いる識別子である。IDは、1対多の関係で2以上の第1識別子及び第2識別子の少なくともいずれか1つと対応付けられてもよい(例えば、“XXXX”に対応付けられた“PAxxxx”及び“PBxxxx”)。IDは、1対1の関係で1つの第1識別子及び第2識別子の少なくともいずれか1つと対応付けられてもよい(例えば、“YYYY”に対応付けられた“PAyyyy”)。
【0113】
ソフトウェア名は、IDに対応するソフトウェアの名称であり、ソフトウェアの特定名称であってもよい。また、2以上の第1識別子又は第2識別子がIDと対応付けられる場合には、ソフトウェア名は、2以上の第1識別子又は第2識別子が示す各々のソフトウェアを含む包括的な名称であってもよい。
【0114】
関連情報は、IDに対応するソフトウェアに関連する情報である。関連情報は、ソフトウェアのリリース日などを含んでもよい。
【0115】
EOL日付は、ソフトウェアのサポートが終了する日付であり、ソフトウェアのサプライヤ等から提供される情報である。EOL日付は、IDやソフトウェア名毎に管理されてもよい。
【0116】
第1識別子及び第2識別子は、脆弱性サーバ40から受信する脆弱性情報から抽出されてもよい。抽出された第1識別子及び第2識別子は、EOL日付などを管理するマスタDBのID又は名称と対応付けられる。
【0117】
情報処理装置10(制御部14)は、マスタDBを参照して、ソフトウェアのサポートが終了するEOL日付に基づいて、ソフトウェアに関するアラートを出力する。具体的には、情報処理装置10が、システム環境のアセット情報のスキャン結果に基づき、アセット情報に含まれるソフトウェアの第1識別子及び第2識別子の少なくともいずれか一方を取得する。制御部14は、ソフトウェアの第1識別子及び第2識別子の少なくともいずれか一方を検索キーとして、マスタDBから、ソフトウェアの特定名称及びEOL日付を取得し、EOL日付に基づいて、アラートを出力する。より具体的には、制御部14は、ソフトウェアの第1識別子及び第2識別子の少なくともいずれか一方を検索キーとして、対応するソフトウェアの特定名称を特定する。その後、制御部14は、特定した特定名称に対応するEOL日付を取得する。また、制御部14は、ソフトウェアの第1識別子及び第2識別子の少なくともいずれか一方を検索キーとして、直接、対応するEOL日付を取得してもよい。アラートは、マスタDBのEOL日付の欄において視覚的に表示されてもよい。アラートは、EOL日付までの残り日数に応じて段階的に出力されてもよい。残り日数は、サポート終了に対する対策を実行する優先度と読み替えてもよい。
【0118】
EOL日付の検索に用いる検索キーは、第1識別子(例えば、CPE(Common Platform Enumeration))及び第2識別子(例えば、purl(Package URL))に限定されるものではなく、ソフトウェアを特定できる識別子や名称であってもよい。従って、マスタDBは、アセット情報に含まれるソフトウェアの第1識別子、第2識別子及び名称の少なくともいずれか1つとソフトウェアのサポートが終了する日付とを対応付けてもよい。情報処理装置10は、ソフトウェアの第1識別子、第2識別子、及び名称の少なくともいずれか1つに基づいて、ソフトウェアのサポートが終了する日付を特定し、ソフトウェアのサポートが終了する日付に基づいて、ソフトウェアに関するアラートを出力してもよい。
【0119】
例えば、情報処理装置10は、EOL日付の6ヶ月前に、6ヶ月後にサポートが終了する旨のアラートを出力してもよく、EOL日付の3ヶ月前に、3ヶ月後にサポートが終了する旨のアラートを出力してもよく、EOL日付が到来したタイミングで、サポートが終了する旨のアラートを出力してもよい。情報処理装置10は、EOL日付以降において、サポートが切れた旨のアラートを出力してもよい。
【0120】
なお、EOL日付は、EOS(End of Support)日付又はEOSL(End of Service Life)日付と呼ばれてよい。また、サービスの販売終了を示すEOS(End of Sale)日付、技術的なサポートの終了を示すEOE(End of Engineering)日付と読み替えられてもよい。
【0121】
(作用及び効果)
変更例3では、情報処理装置10ソフトウェアのサポートが終了するEOL日付に基づいて、アセット情報に含まれるソフトウェアに関するアラートを出力する。このような構成によれば、サポートが終了するソフトウェアについて、アセット情報に含まれるソフトウェアのバージョンアップやソフトウェアの変更などの対策を適切に実行することができる。
【0122】
[その他の実施形態]
本発明は上述した実施形態によって説明したが、この開示の一部をなす論述及び図面は、この発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
【0123】
上述した開示において、システム環境は、システム環境を構成するソフトウェア、プログラム、アプリケーション、コンポーネント、ハードウェアを含んでもよい。ソフトウェアは、パッケージ管理ツール(パッケージマネージャー)によって管理されるソフトウェアを含んでもよい。システム環境は、アセットを含んでもよい。システム環境は、アセットと読み替えてもよい。
【0124】
上述した開示において、リソースは、システム環境(アセットなど)と対応付けられている場合には、システム環境又はアセットと読み替えられてもよい。リソースは、アカウントと対応付けられている場合には、アカウントと読み替えられてもよい。
【0125】
上述した開示において、ロールは、情報処理装置10からスキャン要求があった場合に、システム環境のスキャンを許可する権限、機能又は役割であると考えてもよい。
【0126】
上述した開示において、脆弱性情報は、ソフトウェア、プログラム、アプリケーション、コンポーネントなどの使用上の欠陥やバグなどの脆弱性に関する情報に加えて、クラウドサービスの設定のミスや設定漏れなどのセキュリティに関する情報を含んでもよい。
【0127】
上述した開示では特に触れていないが、情報処理装置10が行う各処理をコンピュータに実行させるプログラムが提供されてもよい。また、プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0128】
或いは、情報処理装置10が行う各処理を実行するためのプログラムを記憶するメモリ及びメモリに記憶されたプログラムを実行するプロセッサによって構成されるチップが提供されてもよい。
【0129】
[付記]
第1の特徴は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する取得部と、前記取得部によって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する制御部と、を備え、前記取得部は、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得し、前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理装置である。
【0130】
第2の特徴は、第1の特徴において、前記特定アカウントは前記階層化されたリソースとは別に設けられる特定リソースである管理アカウントである、情報処理装置である。
【0131】
第3の特徴は、第1の特徴又は第2の特徴において、前記取得部は、前記対象システムの構成を管理する構成管理ツールを用いて、前記所定階層のリソースに前記ロールが伝搬することで、前記スキャンする権限を取得する、情報処理装置である。
【0132】
第4の特徴は、第3の特徴において、前記構成管理ツールによる前記ロールの伝搬に用いるテンプレートを格納する格納部を備える、情報処理装置である。
【0133】
第5の特徴は、第3の特徴又は第4の特徴において、前記構成管理ツールによる前記ロールの伝搬に用いる所定ファイルを格納する格納部を備える、情報処理装置である。
【0134】
第6の特徴は、第1の特徴乃至第5の特徴の少なくともいずれか1つにおいて、前記取得部は、前記特定アカウントに付与される前記ロールに基づいて、前記特定アカウントと対応付けられたシステム環境のアセット情報を取得し、前記制御部は、前記特定アカウントと対応付けられたシステム環境の脆弱性情報を特定する、情報処理装置である。
【0135】
第7の特徴は、第6の特徴において、前記対象システムの構成を管理する構成管理ツールを用いて、前記特定アカウントに前記ロールが付与される、情報処理装置である。
【0136】
第8の特徴は、第1の特徴乃至第7の特徴の少なくともいずれか1つにおいて、前記取得部は、前記ロールで許可される範囲において、アプリケーション・プログラミング・インタフェースの連携によって、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する、情報処理装置である。
【0137】
第9の特徴は、第1の特徴乃至第8の特徴の少なくともいずれか1つにおいて、前記取得部は、前記対象システムが第1クラウドコンピューティング環境に構築される場合に、前記所定階層よりも上位階層のリソースに付与される前記ロールから自動で前記ロールが伝搬することで、前記スキャンする権限を取得し、前記対象システムが第2クラウドコンピューティング環境に構築される場合に、前記対象システムの構成を管理する構成管理ツールを用いて、前記所定階層のリソースに前記ロールが伝搬することで、前記スキャンする権限を取得する、情報処理装置である。
【0138】
第10の特徴は、第1の特徴乃至第9の特徴の少なくともいずれか1つにおいて、前記取得部は、前記所定階層のリソースと対応付けられたシステム環境のアセット情報として、前記所定階層のリソースと対応付けられたシステム環境のスナップショットを取得する、情報処理装置である。
【0139】
第11の特徴は、第10の特徴において、前記制御部は、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定した後において、前記所定階層のリソースと対応付けられたシステム環境のスナップショットを削除する、情報処理装置である。
【0140】
第12の特徴は、第1の特徴乃至第11の特徴の少なくともいずれか1つにおいて、前記アセット情報に含まれる少なくとも一部の情報と対応付けて脆弱性情報を格納する格納部を備え、前記制御部は、前記格納部に格納された脆弱性情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する、情報処理装置である。
【0141】
第13の特徴は、第1の特徴乃至第12の特徴の少なくともいずれか1つにおいて、前記制御部は、第三者機関が設定する脆弱性のレベルを示す情報、外部からアクセス可能であるか否かを示す情報、脆弱性に対する攻撃による業務への影響が大きいか否かを示す情報、脆弱性に対する攻撃コードが流通しているか否かを示す情報、及び、脆弱性の悪用が確認されている否かを示す情報の少なくともいずれか1つに基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報の優先度を特定する、情報処理装置である。
【0142】
第14の特徴は、第1の特徴乃至第13の特徴の少なくともいずれか1つにおいて、前記アセット情報に含まれるソフトウェアの第1識別子、第2識別子及び名称の少なくともいずれか1つと前記ソフトウェアのサポートが終了する日付とを対応付けて格納する格納部を備え、前記制御部は、前記ソフトウェアの第1識別子、第2識別子、及び名称の少なくともいずれか1つに基づいて、前記ソフトウェアのサポートが終了する日付を特定し、前記ソフトウェアのサポートが終了する日付に基づいて、前記ソフトウェアに関するアラートを出力する、情報処理装置である。
【0143】
第14の特徴は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得するステップAと、前記ステップAによって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定するステップBと、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得するステップCと、を備え、前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理方法である。
【符号の説明】
【0144】
10…情報処理装置、11…送信部、12…受信部、13…格納部、14…制御部、20…端末、30…システムサーバ、40…脆弱性サーバ、100…情報処理システム、200…ネットワーク

【要約】
【課題】 階層化されたリソースと対応付けられるシステム環境のスキャンを容易に実行することを可能とする情報処理装置及び情報処理方法を提供する。
【解決手段】 情報処理装置は、階層化されたリソースと対応付けられるシステム環境を有する対象システムにおいて、前記階層化されたリソースの最上位のルートを操作する権限を有する特定アカウントを用いて所定階層のリソースに伝搬するロールに基づいて、前記所定階層のリソースと対応付けられたシステム環境のアセット情報を取得する取得部と、前記取得部によって取得された前記アセット情報に基づいて、前記所定階層のリソースと対応付けられたシステム環境の脆弱性情報を特定する制御部と、を備え、前記取得部は、前記所定階層のリソースへの前記ロールの付与によって、前記所定階層のリソースと対応付けられたシステム環境をスキャンする権限を取得し、前記所定階層のリソースは、前記階層化されたリソースのうち、前記ルートよりも下位階層のリソースである、情報処理装置である。
【選択図】 図2
図1
図2
図3
図4
図5
図6
図7
図8
図9