(57)【要約】      （修正有）【課題】適切なタイミングで脆弱性を調査することができる情報処理装置、情報処理方法、情報処理プログラム及び情報処理システムを提供する。【解決手段】対象の脆弱性を調査し、調査にかかる負荷を取得し、取得した負荷及び対象の負荷情報を用いて、脆弱性の調査を行うタイミングを制御する情報処理装置１は、対象の脆弱性を調査する調査部２と、調査にかかる負荷を取得する取得部３と、取得部３が取得した負荷及び対象の負荷情報を用いて、調査部２が調査を行うタイミングを制御する制御部４と、を有する。【選択図】図１
2020149605.tif 000002
【特許請求の範囲】
【請求項１】
対象の脆弱性を調査する調査部と、
調査にかかる負荷を取得する取得部と、
前記取得部が取得した負荷及び対象の負荷情報を用いて、前記調査部が調査を行うタイミングを制御する制御部と、
を有する情報処理装置。
【請求項２】
前記制御部は、前記取得部が取得した負荷及び対象の負荷情報が所定の基準を満たすか否かを判定し、前記所定の基準を満たす場合は、前記調査部が好適なタイミングに調査を行うよう制御する、
請求項１に記載の情報処理装置。
【請求項３】
前記所定の基準とは、脆弱性の調査にかかる負荷が所定の値より高い場合、対象の負荷が所定の値より高い場合、又は、脆弱性の調査にかかる負荷と対象の負荷との合計が所定の値より高い場合の少なくともいずれか１以上を含む、
請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、対象の負荷情報を用いて前記好適なタイミングを判定する、
請求項２又は３に記載の情報処理装置。
【請求項５】
前記制御部は、対象の負荷情報を学習し、対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間を出力する学習部を更に有し、
前記制御部は、前記学習部の出力結果を用いて、前記調査部が前記好適なタイミングに調査を行うよう制御する、
請求項２又は３に記載の情報処理装置。
【請求項６】
前記制御部は、脆弱性の調査にかかる負荷を用いて前記好適なタイミングを判定する、
請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
対象が脆弱性を有するか否かを判定するための条件を示す判定条件に対応するトリガを検知するトリガ検知部を更に有し、
前記調査部は、前記トリガ検知部がトリガを検知した場合、当該トリガに対応する判定条件に基づく調査を実行する、
請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
対象の脆弱性を調査し、
調査にかかる負荷を取得し、
取得した負荷及び対象の負荷情報を用いて、脆弱性の調査を行うタイミングを制御する、
情報処理方法。
【請求項９】
対象の脆弱性を調査し、
調査にかかる負荷を取得し、
取得した負荷及び対象の負荷情報を用いて、脆弱性の調査を行うタイミングを制御する処理をコンピュータに実行させる、
情報処理プログラム。
【請求項１０】
請求項１乃至７のいずれか１項に記載の情報処理装置と、
サーバとを有し、
前記サーバは、
前記情報処理装置と通信を行う通信部と
前記通信部を用いて、前記情報処理装置に対して脆弱性の調査を指示する調査指示部と、を有する、
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、情報処理装置、情報処理方法、情報処理プログラム、及び情報処理システムに関する。
【背景技術】
【０００２】
近年、情報システムやソフトウェアに存在する脆弱性を悪用した事故が発生している。このような事故を防ぐためにも、情報システムにおけるコンピュータ等を対象として、脆弱性を調査することが行われている。脆弱性の調査を行うタイミングは、一般的に、一定の時間毎や、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の起動時等が挙げられる。
【０００３】
しかし、調査にかかる負荷、調査の発生頻度、又は調査を行うタイミングによっては、調査の対象に負荷がかかってしまい、対象の利用者に影響をおよぼすおそれがある。
【０００４】
対象にかかる負荷を抑制する技術の一例として、特許文献１が挙げられる。特許文献１にかかる資料採取システムは、対象サーバの負荷状況を示すパラメータ（ＣＰＵ使用率、メモリ使用率、及びネットワーク負荷等）を取得し、当該パラメータと閾値とに基づき、資料採取処理が実行可能であるか否かの判断を行う。
【０００５】
また、脆弱性診断を実施する技術の一例として、特許文献２が挙げられる。特許文献２にかかる脆弱性診断実施装置は、脆弱性診断履歴に基づいて、ホストに脆弱性診断を実施した場合に要する予測診断時間を算出し、算出された予測診断時間と、脆弱性診断を実施する予定日時とに基づいて、ホストに脆弱性診断を実施する診断スケジュールを作成する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−０５９６１７号公報
【特許文献２】特開２００９−２３７８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、脆弱性の調査の中には、高い負荷がかかる調査と、当該低い負荷がかかる調査とが存在する。
【０００８】
特許文献１に記載の技術を用いて脆弱性の調査を行う場合、例えば、特許文献１に記載の技術では、対象の負荷が低い場合に、調査を実行可能であると判断される。しかし、特許文献１に記載の技術では、対象の負荷が低いために調査を実行可能であると判断されたとしても、負荷の高い調査などを実施した場合には、対象を利用するユーザなどに悪影響を及ぼしてしまうおそれがある。また、特許文献１に記載の技術では、対象の負荷が高いために調査を実行不可であると判断されたとしても、負荷が低い調査であれば、調査を実行しても問題ない場合が想定される。
【０００９】
また、特許文献２に記載の技術は、予測診断時間に基づき診断スケジュールを作成しているが、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用率やメモリ使用率等のような、調査にかかる負荷を考慮していないため、適切なタイミングで脆弱性を調査することができない場合がある。なぜなら、調査に要する診断時間が短いものであっても、調査にかかるＣＰＵ使用率やメモリ使用率等が高ければ、調査にかかる負荷が高くなることが想定され、対象を利用するユーザ等に悪影響をおよぼすタイミングで調査が実行されるおそれがあるためである。
【００１０】
本願は、上記課題を解決し、適切なタイミングで脆弱性を調査することができる情報処理装置、情報処理方法、情報処理プログラムを提供することができる。
【課題を解決するための手段】
【００１１】
本願発明の情報処理装置は、対象の脆弱性を調査する調査部と、調査にかかる負荷を取得する取得部と、前記取得部が取得した負荷及び対象の負荷情報を用いて、前記調査部が調査を行うタイミングを制御する制御部と、を有する。
【００１２】
本願発明の情報処理方法は、対象の脆弱性を調査し、調査にかかる負荷を取得し、取得した負荷及び対象の負荷情報を用いて、脆弱性の調査を行うタイミングを制御する。
【００１３】
本願発明の情報処理プログラムは、対象の脆弱性を調査し、調査にかかる負荷を取得し、取得した負荷及び対象の負荷情報を用いて、脆弱性の調査を行うタイミングを制御する処理をコンピュータに実行させる。
【発明の効果】
【００１４】
本願発明によれば、適切なタイミングで脆弱性を調査することができる情報処理装置、情報処理方法、情報処理プログラム及び、情報処理システムを提供することできる。
【図面の簡単な説明】
【００１５】
【図１】情報処理装置１の構成を示す図である。
【図２】情報処理装置１の動作を示すフローチャートである。
【図３】情報処理システム１０の構成を示す図である。
【図４】特定の判定条件に対して初めて調査を行う際の動作を示すフローチャートである。
【図５】特定の判定条件に対して２回目以降の調査を行う際の動作を示すフローチャートである。
【図６】脆弱性情報４０の具体例を示す図である。
【図７】調査指示情報５０の具体例を示す図である。
【図８】コンピュータの一例を示すブロック図である
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
［構成］
本願発明の第１の実施形態を、図面を用いて説明する。図１は、第１の実施形態における、情報処理装置１の構成を示す図である。
【００１７】
本願の情報処理装置１は、調査部２と、取得部３と、制御部４と、を有する。
【００１８】
調査部２は、対象の脆弱性を調査する。
【００１９】
対象とは、情報処理装置１によって脆弱性を調査される対象を示す。なお、この場合の対象とは、コンピュータ、サーバ、ルータ、ファイアウォール等のように、脆弱性を調査可能なものであれば、どのようなものを対象としても良い。なお、対象は、ハードウェア上に限定されず、ソフトウェア上やＯＳ上等も対象とすることが可能である。以下、対象がコンピュータである場合について、説明する。
【００２０】
脆弱性とは、システムの乗っ取りや機密情報の漏洩等を第三者に利用される可能性のある情報セキュリティ上の欠陥や、仕様上の問題点等を示す。
【００２１】
また、調査部２は、脆弱性の調査を実施した結果である調査結果を記憶領域等に格納する。
【００２２】
調査結果とは、調査部２が行った調査について、当該調査にかかる負荷を含む。更に、調査結果は、対象の脆弱性の有無等のように、調査を行った結果を示す情報を含んでも良い。以下、調査結果は、調査にかかる負荷として説明を行う。
【００２３】
取得部３は、調査にかかる負荷を取得する。具体的に、取得部３は、調査結果が格納された記憶領域等から、当該調査にかかる負荷を取得する。
【００２４】
なお、取得部３が調査にかかる負荷を取得する方法は当該例に限られず、調査部２の調査にかかる負荷を測定することで、当該調査にかかる負荷を取得しても良いし、ユーザ等から調査にかかる負荷を与えられても良い。このように、取得部３は、調査にかかる負荷を取得できるのであれば、どのような方法を用いても構わない。
【００２５】
負荷とは、調査部２が調査を行っている間に、当該調査にかかったＣＰＵ使用率やメモリ使用率等を示すものである。負荷は、調査時間とＣＰＵ使用率とを乗算することにより算出しても良いし、調査時間とメモリ使用率とを乗算することにより算出しても良い。このように、調査にかかる負荷を算出することが可能であるのならば、どのような方法で算出しても良い。例えば、調査時間が長く、かつ、当該調査にかかるＣＰＵ使用率やメモリ使用率が高い場合は、負荷が高くなる。
【００２６】
なお、調査時間が短かったとしても、調査にかかるＣＰＵ使用率やメモリ使用率が高いのであれば負荷が高くなる場合もあるし、調査時間が長かったとしても、調査にかかるＣＰＵ使用率やメモリ使用率が低いのであれば負荷が低くなる場合もある。このように、本願は、特許文献２に記載の技術のように調査時間だけを考慮するのではなく、負荷として、調査にかかるＣＰＵ使用率やメモリ使用率についても考慮する。
【００２７】
なお、負荷を説明するために、ＣＰＵ使用率やメモリ使用率を用いたが、本願はこれに限られない。例えば、負荷は、ＣＰＵ使用量やメモリ使用量等を用いて算出することが可能である。
【００２８】
制御部４は、取得部３が取得した負荷、及び、対象の負荷情報を用いて、調査部２が調査を行うタイミングを制御する。具体的に、制御部４は、取得部３が取得した負荷及び対象の負荷情報が所定の基準を満たすか否かを判定し、所定の基準を満たす場合は、調査部２が好適なタイミングに調査を行うよう制御する。
【００２９】
調査部２は、制御部４の制御に応じて調査を行う。例えば、制御部４が好適なタイミングを判定した場合、当該好適なタイミングに調査を行う。
【００３０】
負荷情報とは、対象の負荷に関する情報を示す。具体的に、負荷情報は、対象の起動時間帯や起動の有無等のように対象の起動に関する情報、対象のログイン時間帯やログインの有無等のようにログインに関する情報、又は、対象の負荷等のように対象の負荷に関する情報を含む。以下、負荷情報は、対象の負荷に関する情報として説明を行う。
【００３１】
所定の基準とは、脆弱性の調査にかかる負荷や負荷情報が示す対象の負荷等に関する基準である。具体的に、所定の基準とは、調査にかかる負荷が所定の値より高い場合や、対象の負荷が所定の値より高い場合等のように、調査部２が調査を行うタイミングが適切であるか否かを判定する基準である。なお、所定の基準は上記の例に限られず、調査にかかる負荷と対象の負荷との合計が所定の値より高い場合等のように、調査や対象等の負荷に関する基準であれば、どのようなものであっても良い。
【００３２】
好適なタイミングとは、ユーザが対象をあまり利用していない時間や、対象の負荷が低い時間等のように、対象に負荷をかけても悪影響が少なくなるタイミングを示す。例えば、制御部４は、対象のＣＰＵ使用率が５０％以下となる時間等のように、負荷情報等を用いて好適なタイミングを判定しても良い。制御部４が好適なタイミングを判定する方法については、後述する。
【００３３】
一例として、制御部４が制御を行う際の動作を具体的に説明する。例えば、制御部４は、取得部３が取得した調査にかかる負荷の値が所定の値より高い場合、調査部２が対象のＣＰＵ使用率が５０％以下となる時間に調査を行うよう制御する。なお、この例はあくまで一例であり、本願はこの例に限られるものではない。
【００３４】
［動作］
第１の実施形態における動作を、図面を用いて説明する。図２は、第１の実施形態における、情報処理装置１の動作を示すフローチャートである。
【００３５】
取得部３は、調査にかかる負荷を取得する（Ｓ１）。
【００３６】
制御部４は、取得部３が取得した負荷、および、対象の負荷情報を用いて、調査部２が調査を行うタイミングを制御する（Ｓ２）。
【００３７】
これにより、本願発明は、適切なタイミングで脆弱性を調査することができる。
【００３８】
＜第２の実施形態＞
［構成］
本願発明の第２の実施形態における構成を、図面を用いて説明する。図３は、第２の実施形態における、情報処理システム１０の構成を示す図である。
【００３９】
情報処理システム１０は、管理サーバ２０と情報処理装置３０とを含む。なお、本実施形態の情報処理装置３０は、第１の実施形態における情報処理装置１に対応するため、先に管理サーバ２０についての説明を行う。
【００４０】
管理サーバ２０は、情報処理装置３０に対して脆弱性の調査に関するトリガを与え、調査の結果を管理する装置である。
【００４１】
管理サーバ２０は、脆弱性情報記憶部２１と、対象情報記憶部２２と、トリガ情報記憶部２３と、通信部２４と、トリガ選択部２５と、調査指示部２６とを含む。
【００４２】
脆弱性情報記憶部２１は、脆弱性情報を記憶する。脆弱性情報とは、タイトル、脅威情報、及び判定条件を含む、脆弱性に関する情報である。
【００４３】
タイトルとは、「ソフトウェアＸの脆弱性」等のように、脆弱性のタイトルに関する情報を示す。
【００４４】
脅威情報とは、「ソフトウェアＸの脆弱性により、Ｙという攻撃を受ける可能性が発生する」等のように、脆弱性により発生する脅威に関する情報を示す。
【００４５】
判定条件とは、「ソフトウェアＸのバージョンが１．０〜１．５」や、「設定値Ｙの値がＺ」等のように、対象が脆弱性を有するか否かを判定するための条件を示す。
【００４６】
また、判定条件を満たすか否かを判断するための調査は、判定条件に応じて調査の内容が変わるため、調査にかかる負荷は、判定条件によって高低が異なる。
【００４７】
調査にかかる負荷が低い判定条件とは、例えば、「ソフトウェアＸのバージョンが１．０〜１．５」等が挙げられる。当該判定条件を満たすか否かを判断するための調査としては、バージョン情報が記載されたレジストリと参照し比較するような調査が挙げられるが、本願はこれに限られない。
【００４８】
調査にかかる負荷が高い判定条件とは、例えば、「設定値Ｙの値がＺ」等が挙げられる。当該判定条件を満たすか否かを判断するための調査としては、設定値Ｙが記載された設定ファイルをディレクトリから全探索するような調査が挙げられるが、本願はこれに限られない。
【００４９】
なお、判定条件と調査の内容とは予め紐付けて定めても良いし、調査する度に判定条件に応じて調査の内容を定めても良い。このように、判定条件と調査の内容とはどのように定めても構わない。
【００５０】
対象情報記憶部２２は、対象の構成情報や対象の脆弱性状態等、対象に関する情報を記憶する。
【００５１】
トリガ情報記憶部２３は、トリガに関する情報を記憶する。トリガとは、脆弱性調査を行うタイミングを示す。例えば、トリガは、「午前８時」等のような定期的なタイミングや、「ＯＳの起動時」等のような不定期なタイミング等のように、調査を行うタイミングを示すものであれば何でも良い。
【００５２】
なお、トリガは判定条件毎に設定される。例えば、調査負荷が高い判定条件については調査頻度が少ないトリガを設定することで、対象にかける負荷を減らすことができる。また、調査負荷が低い判定条件については調査頻度が多いトリガを設定することで、脆弱性をすぐに検知することができる。このように、トリガを判定条件毎に設定することで、柔軟な脆弱性調査を行うことが可能となる。
【００５３】
通信部２４は、情報処理装置３０や、対象等と通信を行う。
【００５４】
トリガ選択部２５は、調査を行うトリガを選択する。具体的に、トリガ選択部２５は、判定条件ごとに、調査を実行するトリガを選択する。例えば、トリガ選択部２５は、「ソフトウェアＸのバージョンが１．０〜１．５」という判定条件に対して、「午前８時」というトリガを選択する。
【００５５】
トリガ選択部２５は、トリガ情報記憶部２３に記憶された情報等を用いて自動でトリガを選択しても良いし、ユーザが入力した情報を用いて選択しても良い。自動で選択する方法は、例えば、トリガ情報記憶部２３に判定条件とトリガとを予め関連付けた情報等を記憶しておき、当該情報を用いて自動的にトリガを選択する方法等が挙げられるが、トリガ選択部２５がトリガを自動で選択することが可能な方法であれば、どのような方法でも良い。
【００５６】
調査指示部２６は、情報処理装置３０に対して脆弱性の調査を指示する。具体的に、調査指示部２６は、通信部２４を用いて、調査指示情報を情報処理装置３０に送信する。調査指示情報とは、判定条件と当該判定条件に対応するトリガとを含む情報である。
【００５７】
情報処理装置３０は、管理サーバ２０と通信を行い、対象の脆弱性を調査する装置である。具体的に、情報処理装置３０は、対象にインストール等をすることで対象の内部に設けても良いし、対象と通信可能にすることで対象の外部に設けても良い。
【００５８】
情報処理装置３０は、通信部３１と、調査部３２と、トリガ検知部３３と、記憶部３４と、取得部３５と、負荷情報取得部３６と、学習部３７と、制御部３８とを含む。
【００５９】
通信部３１は、管理サーバ２０や対象等と通信を行う。具体的に、通信部３１は、通信部２４から調査指示情報を受信した場合、当該情報を記憶部３４に格納する。
【００６０】
調査部３２は、対象の脆弱性を調査する。具体的に、調査部３２は、対象が判定条件を満たすか否かを調査する等のように、判定条件に基づく調査を実行する。例えば、判定条件が「ソフトウェアＸのバージョンが１．０〜１．５」の場合、調査部３２は、対象のバージョン情報が記載されたレジストリを参照し、ソフトウェアＸのバージョンが１．０から１．５の間であるか否かを調査する。
【００６１】
調査部３２は、対象の脆弱性を調査した結果を、調査結果として記憶部３４に格納する。なお、調査部３２は、調査結果を対象情報記憶部２２等の記憶領域に格納しても良いし、出力装置等を用いて外部に調査結果を出力しても良い。一例として、本実施形態では、調査部３２が調査結果を記憶部３４に格納する場合について説明する。
【００６２】
トリガ検知部３３は、判定条件に対応するトリガを検知する。具体的に、トリガ検知部３３は、記憶部３４に記憶された調査指示情報を用いて、判定条件に対応するトリガを検知する。トリガを検知するとは、調査を行うタイミングを検知することを示す。例えば、トリガが「午前８時」の場合、トリガ検知部３３は、午前８時になると、「午前８時」というトリガを検知する。トリガ検知部３３は、トリガを検知するために、日時の情報や、対象の情報等のように、トリガを検知するために用いる情報を監視することが可能である。調査部３２は、トリガ検知部３３がトリガを検知した場合、当該トリガに対応する判定条件に基づく調査を実行する。
【００６３】
記憶部３４は、調査指示情報や、調査結果等のように、調査に関する情報を記憶する。具体的に、記憶部３４は、調査結果として、判定条件と当該判定条件に基づく調査にかかる負荷とを対応付けて記憶する。
【００６４】
取得部３５は、調査にかかる負荷を取得する。例えば、取得部３５は、記憶部３４から、調査にかかる負荷を取得する。具体的に、取得部３５は、トリガ検知部３３がトリガを検知した場合、記憶部３４から、当該トリガに対応する判定条件に基づく調査にかかる負荷を取得する
負荷情報取得部３６は、対象の負荷情報を取得する。負荷情報取得部３６は、対象にかかる負荷の状況や対象の稼動状況等から負荷情報を取得しても良いし、対象内のスケジューラーソフト等の情報を用いて、負荷情報を取得しても良い。このように、負荷情報取得部３６は、負荷情報を取得可能であるならば、どのような方法を用いても構わない。なお、負荷情報取得部３６が負荷情報を取得するタイミングは、定期的なタイミングでも良いし、学習部３７が学習をする際や制御部３８が所定の基準や好適なタイミングを判定する際等のように、不定期なタイミングでも良い。
【００６５】
学習部３７は、負荷情報取得部３６が取得した対象の負荷情報を用いて学習を行う。学習部３７は、学習を行った結果、ユーザが対象をあまり利用していない時間や、対象の負荷が低い時間等のように、対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間を、学習結果として出力する。
【００６６】
なお、学習部３７の学習結果としては、好適なタイミングが出力されても良いし、制御部３８が好適なタイミングを判定することが可能な情報が出力されても良い。また、学習部３７の学習結果としては、対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間に対象にかかる負荷の予測値が出力されても良い。このように、学習部３７の学習結果は、制御部３８が好適なタイミングを判定することが可能なものであれば、どのようなものが出力されても構わない。
【００６７】
なお、学習部３７が学習を行う方法は、機械学習等のように、公知な学習手法であればどのようなものを用いても構わない。
【００６８】
なお、本願の学習部３７は、対象の負荷情報を用いて、対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間を出力できるものであれば、どのようなものであっても良い。例えば、学習部３７は、対象の負荷情報を用いて、対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間を予測する予測部であっても良い。
【００６９】
制御部３８は、取得部３５が取得した負荷及び対象の負荷情報を用いて、調査部３２が調査を行うタイミングを制御する。なお、制御部３８は、対象の負荷情報として、負荷情報取得部３６が取得した負荷情報を用いても良いし、学習部３７の学習結果を用いても良い。
【００７０】
制御部３８が制御を行う処理について、具体的に説明する。
【００７１】
制御部３８は、トリガ検知部３３がトリガを検知した際、当該トリガに対応する判定条件に基づく調査が行われたか否かを判定する。調査が行われたか否かは、当該調査の調査結果が、記憶部３４に記憶されているか否かを用いて判定可能である。例えば、制御部３８は、当該調査の調査結果が記憶部３４に記憶されており、取得部３５が当該負荷を記憶部３４から取得した場合、当該調査が過去に行われたと判定する。
【００７２】
制御部３８は、取得部３５が取得した負荷及び対象の負荷情報が所定の基準を満たすか否かを判定する。所定の基準を満たす例として、取得部３５が取得した負荷が所定の値より高い場合の処理について説明する。
【００７３】
制御部３８は、取得部３５が取得した負荷が所定の値より高い場合、好適なタイミングを判定し、調査部３２が好適なタイミングに調査を行うよう制御する。
【００７４】
制御部３８は、負荷情報等を用いて、好適なタイミングを判定しても良い。例えば、制御部３８は、負荷情報取得部３６が定期的に取得する対象の負荷情報のうち、対象の負荷が所定の値より低くなった時間を、好適なタイミングであると判定しても良い。
【００７５】
また、制御部３８は、学習部３７の学習結果を用いて、好適なタイミングを判定しても良い。例えば、制御部３８は、学習部３７が対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間を学習結果として出力した場合、当該学習結果を用いて好適なタイミングを判定しても良い。
【００７６】
また、制御部３８は、調査にかかる負荷を用いて、好適なタイミングを判定しても良い。例えば、制御部３８は、調査にかかる負荷が所定の値より低い場合、当該調査を後回しにするのではなく、現在の時間が好適なタイミングであると判定しても良い。
【００７７】
また、制御部３８は、調査にかかる負荷と負荷情報とを用いて、好適なタイミングを判定しても良い。例えば、制御部３８は、調査にかかる負荷と対象の負荷との合計が、所定の値より低くなった時間を、好適なタイミングであると判定しても良い。
【００７８】
また、制御部３８は、調査にかかる負荷と学習部３７の学習結果とを用いて、好適なタイミングを判定しても良い。例えば、制御部３８は、対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間に対象にかかる負荷の予測値との合計が、所定の値より低くなった時間を、好適なタイミングであると判定しても良い。
【００７９】
更に、制御部３８は、負荷情報取得部３６がスケジューラーソフトから負荷情報を取得した場合、当該スケジューラーソフトから取得した負荷情報を用いて好適なタイミングを判定しても良い。例えば、制御部３８は、対象を利用するユーザのスケジュールから、ユーザが移動中の時間等のような、対象の負荷が低いと想定される時間を判定し、当該時間を好適なタイミングであると判定しても良い。このように、制御部３８は、好適なタイミングを判定できるのであれば、どのような方法を用いても良い。
【００８０】
［動作］
本願発明の第２の実施形態における動作について、フローチャートを用いて説明する。
【００８１】
本願発明の動作は、調査部３２が、特定の判定条件に対して初めて調査を行う際の動作と、特定の判定条件に対して２回目以降の調査を行う際の動作との２つに分けることができる。
【００８２】
調査部３２が特定の判定条件に対して行う調査が、初めてか又は２回目以降であるかは、記憶部３４に当該調査の調査結果が記憶されているか否かに基づき判定することができる。なお、本願はこの例に限られず、調査部３２が特定の判定条件に対して行う調査が、初めてか又は２回目以降であるかを判断できるのであれば、どのような方法を用いても良い。
【００８３】
図４に示すフローチャートを用いて、調査部３２が、特定の判定条件に対して初めて調査を行う際の動作を説明する。
【００８４】
トリガ検知部３３は、特定の判定条件に対応するトリガを検知する（Ｓ１１）。
【００８５】
調査部３２は、トリガ検知部３３がトリガを検知した場合（Ｓ１１でＹｅｓ）、当該トリガに対応する判定条件に基づく調査を実行する（Ｓ１２）。
【００８６】
調査部３２は、調査結果を記憶部３４に格納する（Ｓ１３）。
【００８７】
図５に示すフローチャートを用いて、調査部３２が、特定の判定条件に対して２回目以降の調査を行う際の動作を説明する。
【００８８】
トリガ検知部３３は、特定の判定条件に対応するトリガを検知する（Ｓ２１）。
【００８９】
取得部３５は、記憶部３４に記憶された特定の判定条件に対応する調査にかかる負荷を取得する（Ｓ２２）。
【００９０】
制御部３８は、調査にかかる負荷及び対象の負荷情報が所定の基準を満たすか否かを判定する（Ｓ２３）。
【００９１】
制御部３８は、取得した負荷及び対象の負荷情報が所定の基準を満たす場合（Ｓ２３でＹｅｓ）、調査部３２が好適なタイミングに調査を行うよう制御する（Ｓ２４）。
【００９２】
調査部３２は、好適なタイミングになった場合（Ｓ２５でＹｅｓ）、又は、制御部３８が取得した負荷及び対象の負荷情報が所定の基準を満たさないと判定した場合（Ｓ２３でＮｏ）に、特定の判定条件に基づく調査を実行する（Ｓ２６）。
【００９３】
調査部３２は、調査結果を記憶部３４に格納する（Ｓ２７）。
【００９４】
［具体例］
次に、第２の実施形態における詳細な動作について、具体例を用いながら説明する。第２の実施形態における詳細な動作について、管理サーバ２０の動作と、情報処理装置３０の動作とに分けて説明する。
【００９５】
＜管理サーバ２０の動作＞
管理サーバ２０は、情報処理装置３０に対して脆弱性の調査に関するトリガを与え、調査の結果を管理する装置である。脆弱性に関する情報は、脆弱性情報として脆弱性情報記憶部２１に記憶される。
【００９６】
脆弱性情報記憶部２１に記憶された脆弱性情報の具体例について、図面を用いながら説明する。
【００９７】
図６に、脆弱性情報４０の具体例を示す。
【００９８】
脆弱性情報４０は、タイトル４１と、脅威情報４２と、判定条件４３と、を含む。
【００９９】
タイトル４１が「ソフトウェアの脆弱性」の脅威情報４２は「ソフトウェアＡＡの脆弱性によりＤＤという攻撃を受ける可能性有り」である。また、タイトル４１が「ソフトウェアの脆弱性」の判定条件は「（１）ソフトウェアＡＡのバージョンが１．０〜１．８、及び、（２）設定値ＧＧの値がＨＨ」である。
【０１００】
調査部３２は、当該判定条件に基づく調査を行い、対象のソフトウェアＡＡのバージョンが１．０から１．８の間であり、かつ、設定値ＧＧの値がＨＨの場合に、ソフトウェアＡＡの脆弱性が有ると判断する。なお、調査部３２は、判定条件が複数あるような脆弱性について、全ての判定条件が満たされる場合に脆弱性が有ると判断しても良いし、１以上の判定条件が満たされる場合に脆弱性が有ると判断しても良い。
【０１０１】
トリガ選択部２５は、判定条件ごとにトリガを選択する。例えば、トリガ選択部２５は、「（１）ソフトウェアＡＡのバージョンが１．０〜１．８」という判定条件に対して「ソフトウェア更新毎に調査する」というトリガを選択する。また、トリガ選択部２５は、「（２）設定値ＧＧの値がＨＨ」という判定条件に対して「午前８時」というトリガを選択する。
【０１０２】
なお、トリガ選択部２５は上記の例に限られず、「（１）ソフトウェアＡＡのバージョンが１．０〜１．８」及び「（２）設定値ＧＧの値がＨＨ」という複数の判定条件に対して、「午前８時」等の共通するトリガを選択しても良い。
【０１０３】
調査指示部２６は、通信部２４を用いて、調査指示情報を情報処理装置３０に送信する。
【０１０４】
この時送信される調査指示情報について、図面を用いて説明する。
【０１０５】
図７に、調査指示情報５０の具体例を示す。
【０１０６】
調査指示情報５０は、判定条件５１とトリガ５２とを含む。
【０１０７】
調査指示情報５０は、「（１）ソフトウェアＡＡのバージョンが１．０〜１．８」という判定条件５１と、「ソフトウェア更新毎に調査する」というトリガ５２との対応関係を示す。また、調査指示情報５０は、「（２）設定値ＧＧの値がＨＨ」という判定条件５１と、「午前８時」というトリガ５２との対応関係を示す。
【０１０８】
＜情報処理装置３０の動作＞
通信部３１は、調査指示情報を受信し、調査指示情報を記憶部３４に格納する。
【０１０９】
ここで、午前８時になり、調査部３２が「（２）設定値ＧＧの値がＨＨ」という判定条件に基づく調査を行う際の具体例を説明する。なお、「（２）設定値ＧＧの値がＨＨ」という判定条件に基づく調査は１度も実行されていないものとする。
【０１１０】
トリガ検知部３３は、午前８時になった場合、「午前８時」というトリガを検知する。
【０１１１】
調査部３２は、トリガ検知部３３が検知したトリガに対応する判定条件に基づく調査を実行する。具体的に、調査部３２は、設定値ＧＧが記載された設定ファイルをディレクトリから全探索する等のように、設定値ＧＧの値がＨＨであるか否かを調査する。
【０１１２】
調査部３２は、調査結果を記憶部３４に格納する。
【０１１３】
次に、再度午前８時になった場合の具体例について、説明する。
【０１１４】
トリガ検知部３３は、午前８時になった場合、「午前８時」というトリガを検知する。
【０１１５】
制御部３８は、「午前８時」というトリガに対応する「（２）設定値ＧＧの値がＨＨ」という判定条件にについて、記憶部３４に記憶された当該判定条件に基づく調査にかかる負荷及び対象の負荷情報を取得する。
【０１１６】
制御部３８は、取得した負荷及び対象の負荷情報が所定の基準を満たすか否かを判定する。一例として、「（２）設定値ＧＧの値がＨＨ」という判定条件に対応する負荷が所定の値より高い場合の具体例について説明する。制御部３８は、「（２）設定値ＧＧの値がＨＨ」という判定条件に対応する負荷が所定の値より高い場合に、所定の基準を満たすと判断する。
【０１１７】
制御部３８は、所定の基準を満たすと判定した場合、調査部３２が好適なタイミングに調査を行うよう制御する。具体的に、制御部３８は、午後の１２時が好適なタイミングと判定した場合、好適なタイミングとして、午後の１２時まで調査部３２の調査の実行を保留し、午後の１２時になったら、調査部３２は調査を実行する。
【０１１８】
調査部３２は、調査結果を記憶部３４に格納する。
【０１１９】
調査部３２が調査結果を記憶部３４に格納することで、調査を行う度に当該調査にかかる負荷の情報が増えることが考えられる。制御部３８は、記憶部３４に負荷が複数記憶されている場合は、当該負荷の平均値等のように、複数の負荷を用いて、所定の基準を満たすか否かを判定することができる。
【０１２０】
なお、調査部３２は、調査結果を毎回記憶部３４に格納することで、調査にかかる負荷を精度良く算出することが可能となる。例えば、対象のメモリ増設等をすることで、対象のスペックが上昇し、調査にかかる負荷が低下するようなケースが想定されるが、当該ケースのように調査にかかる負荷が変動する場合に、当該構成は効果を奏する。
【０１２１】
なお、調査部３２は、調査結果を毎回記憶部に格納しなくても良い。例えば、調査部３２は、複数回に一度だけ、調査結果を記憶部３４に格納するよう構成しても良い。このように構成することで、調査結果の格納にかかる負荷の軽減や、記憶部３４の容量圧迫を防止することが可能となる。
【０１２２】
なお、調査部３２は、通信部３１を用いて、調査結果を対象情報記憶部２２に格納しても良い。例えば、調査部３２は、「ソフトウェアＡＡのバージョンが１．０〜２．０」という判定条件の調査を行った結果、対象のソフトウェアＡＡのバージョンが２．１であった場合、対象に脆弱性が無いことを示す情報を、調査結果として対象情報記憶部２２に格納しても良い。また、調査指示部２６は、当該情報が対象情報記憶部２２に記憶されている場合、当該脆弱性に対する調査を指示しなくても良いし、当該脆弱性に対する調査を中止する指示を行っても良い。このように構成することで、不要な調査の実行を防止し、調査にかかる負荷を軽減することが可能となる。なお、ソフトウェアがダウングレードされることを考慮して、毎回調査を行うように構成可能であることは言うまでもない。
【０１２３】
なお、管理サーバ２０と情報処理装置３０とを別個の装置として説明したが、管理サーバ２０の内部に、情報処理装置３０の機能を設けても良い。その場合、情報処理装置３０の機能を有する管理サーバ２０は、対象と直接通信を行い、対象の脆弱性を調査する。
【０１２４】
本願発明は、上記のような構成を有することにより、適切なタイミングで脆弱性を調査することができる。
【０１２５】
例えば、調査にかかる負荷が高い場合、制御部３８は、対象の負荷が所定の値より低くなるタイミングに調査部３２が調査を行うよう制御する。これにより、対象を利用するユーザ等に悪影響をおよぼすタイミングで調査が実行されるおそれを軽減することができる。
【０１２６】
また、対象の負荷と調査にかかる負荷との合計が所定の値より低い場合、制御部３８は、好適なタイミングに調査部３２が調査を行わないような制御を行う。つまり、調査部３２は、対象の負荷が高い場合であっても、調査にかかる負荷が低い場合であれば、好適なタイミングを待たずに調査を実行することが可能である。
【０１２７】
なお、調査の中には、例えば、好適なタイミングではなく、トリガが示すタイミングに調査行うべきものが想定される。従って、調査に応じて、好適なタイミングに調査を行う調査と、好適なタイミングではなく、トリガが示すタイミングに調査を行う調査とを定めても良い。
【０１２８】
また、調査の中には、例えば、一定の時間間隔で調査を行うべき調査も想定される。従って、このような調査について、制御部３８は、好適なタイミングに調査を行わないと定めても良いし、一定の時間間隔で調査を行うように、好適なタイミングを定めても良い。
【０１２９】
更に、調査の中には、例えば、特定の順番で調査すべき調査が想定される。このような調査について、制御部３８は、当該順番が崩れないように、好適なタイミングを定めても良い。
【０１３０】
［プログラム］
本願発明におけるプログラムは、コンピュータに、本願発明の処理を実行させるプログラムである。このプログラムをコンピュータにインストールし、実行することによって、本願発明を実現することができる。
【０１３１】
ここで、本願発明におけるプログラムを実行することによって、本願発明を実現するコンピュータについて図８を用いて説明する。
【０１３２】
図８は、本願発明を実現するコンピュータの一例を示すブロック図である。
【０１３３】
図８に示すように、コンピュータ１１０は、ＣＰＵ１１１と、メインメモリ１１２と、記憶装置１１３と、入力インターフェイス１１４と、表示コントローラ１１５と、データリーダ／ライタ１１６と、通信インターフェイス１１７とを備える。これらの各部は、バス１２１を介して、互いにデータ通信可能に接続される。
【０１３４】
ＣＰＵ１１１は、記憶装置１１３に格納された、本願発明におけるプログラム（コード）をメインメモリ１１２に展開し、これらを所定順序で実行することにより、各種の演算を実施する。
【０１３５】
メインメモリ１１２は、典型的には、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶装置である。また、本願発明におけるプログラムは、コンピュータ読み取り可能な記録媒体１２０に格納された状態で提供される。なお、本願発明におけるプログラムは、通信インターフェイス１１７を介して接続されたインターネット上で流通するものであっても良い。
【０１３６】
また、記憶装置１１３は、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。
【０１３７】
入力インターフェイス１１４は、ＣＰＵ１１１と、入力機器１１８との間のデータ伝送を仲介する。入力機器１１８とは、例えば、キーボード及びマウス並びにタッチパネル等が挙げられる。
【０１３８】
表示コントローラ１１５は、ディスプレイ装置１１９と接続され、ディスプレイ装置１１９での表示を制御する。
【０１３９】
データリーダ／ライタ１１６は、ＣＰＵ１１１と記録媒体１２０との間のデータ伝送を仲介し、記録媒体１２０からのプログラムの読み出し、及びコンピュータ１１０における処理結果の記録媒体１２０への書き込みを実行する。
【０１４０】
通信インターフェイス１１７は、ＣＰＵ１１１と他のコンピュータとの間のデータ伝送を仲介する。
【０１４１】
また、記録媒体１２０の具体例としては、ＣＦ（Ｃｏｍｐａｃｔ  Ｆｌａｓｈ（登録商標））及びＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）等の汎用的な半導体記憶デバイス、又はフレキシブルディスク（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）等の磁気記憶媒体が挙げられる。更に、記録媒体１２０の具体例としては、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの光学記憶媒体も挙げられる。
【０１４２】
ここまで、本願発明を実施するための形態を説明してきたが、本願発明は上述した実施形態に限定されるものではない。例えば、本明細書で記載したフローチャートにおける処理の順序はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で変更する事が可能である。また、本明細書で記載した構成はあくまでも一例に過ぎず、本願発明を実施する際に矛盾のない範囲で構成を変更する事が可能である。即ち、本願発明は、本願発明を実施する際に矛盾のない範囲で当業者が理解し得る様々な態様を適用することができ、上記各実施形態の変形例や、その組合せ等も、本願発明の技術的範囲に含まれる。
【０１４３】
［付記］
本発明における一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置、情報処理方法、情報処理プログラム、情報処理システムの構成の概略を説明する。ただし、本発明は、以下の構成に限定されない。
（付記１）
対象の脆弱性を調査する調査部と、
調査にかかる負荷を取得する取得部と、
前記取得部が取得した負荷及び対象の負荷情報を用いて、前記調査部が調査を行うタイミングを制御する制御部と、
を有する情報処理装置。
（付記２）
前記制御部は、前記取得部が取得した負荷及び対象の負荷情報が所定の基準を満たすか否かを判定し、前記所定の基準を満たす場合は、前記調査部が好適なタイミングに調査を行うよう制御する、
付記１に記載の情報処理装置。
（付記３）
前記所定の基準とは、脆弱性の調査にかかる負荷が所定の値より高い場合、対象の負荷が所定の値より高い場合、又は、脆弱性の調査にかかる負荷と対象の負荷との合計が所定の値より高い場合の少なくともいずれか１以上を含む、
付記２に記載の情報処理装置。
（付記４）
前記制御部は、対象の負荷情報を用いて前記好適なタイミングを判定する、
付記２又は３に記載の情報処理装置。
（付記５）
前記制御部は、対象の負荷情報を学習し、対象に負荷をかけたとしても、対象を利用するユーザへの悪影響が少なくなるような時間を出力する学習部を更に有し、
前記制御部は、前記学習部の出力結果を用いて、前記調査部が前記好適なタイミングに調査を行うよう制御する、
付記２又は３に記載の情報処理装置。
（付記６）
前記制御部は、脆弱性の調査にかかる負荷を用いて前記好適なタイミングを判定する、
付記２乃至５のいずれか１項に記載の情報処理装置。
（付記７）
対象が脆弱性を有するか否かを判定するための条件を示す判定条件に対応するトリガを検知するトリガ検知部を更に有し、
前記調査部は、前記トリガ検知部がトリガを検知した場合、当該トリガに対応する判定条件に基づく調査を実行する、
付記１乃至６のいずれか１項に記載の情報処理装置。
（付記８）
対象の脆弱性を調査し、
調査にかかる負荷を取得し、
取得した負荷及び対象の負荷情報を用いて、脆弱性の調査を行うタイミングを制御する、
情報処理方法。
（付記９）
対象の脆弱性を調査し、
調査にかかる負荷を取得し、
取得した負荷及び対象の負荷情報を用いて、脆弱性の調査を行うタイミングを制御する処理をコンピュータに実行させる、
情報処理プログラム。
（付記１０）
付記１乃至７のいずれか１項に記載の情報処理装置と、
サーバとを有し、
前記サーバは、
前記情報処理装置と通信を行う通信部と
前記通信部を用いて、前記情報処理装置に対して脆弱性の調査を指示する調査指示部と、を有する、
情報処理システム。
【符号の説明】
【０１４４】
１    情報処理装置
２    調査部
３    取得部
４    制御部
１０    情報処理システム
２０    管理サーバ
２１    脆弱性情報記憶部
２２    対象情報記憶部
２３    トリガ情報記憶部
２４    通信部
２５    トリガ選択部
２６    調査指示部
３０    情報処理装置
３１    通信部
３２    調査部
３３    トリガ検知部
３４    記憶部
３５    取得部
３６    負荷情報取得部
３７    学習部
３８    制御部
４０    脆弱性情報
４１    タイトル
４２    脅威情報
４３    判定条件
５０    調査指示情報
５１    判定条件
５２    トリガ
１１０    コンピュータ
１１１    ＣＰＵ
１１２    メインメモリ
１１３    記憶装置
１１４    入力インターフェイス
１１５    表示コントローラ
１１６    データリーダ／ライタ
１１７    通信インターフェイス
１１８    入力機器
１１９    ディスプレイ装置
１２０    記録媒体
【図１】
2020149605.tif 000003
【図２】
2020149605.tif 000004
【図３】
2020149605.tif 000005
【図４】
2020149605.tif 000006
【図５】
2020149605.tif 000007
【図６】
2020149605.tif 000008
【図７】
2020149605.tif 000009
【図８】
2020149605.tif 000010