(57)【要約】【課題】ホワイトリストを導入した情報処理装置の可用性を維持する。【解決手段】情報処理装置２０は、第１取得部２２Ｅと、特定部２２Ｇと、を備える。第１取得部２２Ｅは、実行対象の第１ソフトウェアの第１特定情報を取得する。特定部２２Ｇは、実行を許可するソフトウェアの特定情報を規定したホワイトリスト２４Ａに、第１特定情報を示す特定情報が登録されている場合、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する他のソフトウェアである第２ソフトウェアの特定情報を、第２特定情報として特定する。【選択図】図４
2019049877.tif 000002
【特許請求の範囲】
【請求項１】
実行対象の第１ソフトウェアの第１特定情報を取得する第１取得部と、
実行を許可するソフトウェアの特定情報を規定したホワイトリストに、前記第１特定情報を示す前記特定情報が登録されている場合、前記ホワイトリストにおける、前記第１ソフトウェアに関係する他の前記ソフトウェアである第２ソフトウェアの前記特定情報を、第２特定情報として特定する特定部と、
を備える、情報処理装置。
【請求項２】
前記特定部は、
前記特定情報と、該特定情報によって特定される前記ソフトウェアに関係する他の前記ソフトウェアを示す関係特定情報と、を対応づけた管理情報に基づいて、前記第２特定情報を特定する、
請求項１に記載の情報処理装置。
【請求項３】
前記関係特定情報は、
対応する前記特定情報によって特定される前記ソフトウェアの採用によって不要となる他の前記ソフトウェアの前記特定情報を示す、
請求項２に記載の情報処理装置。
【請求項４】
前記関係特定情報は、
対応する前記特定情報によって特定される前記ソフトウェアより前のバージョンの、他の前記ソフトウェアを示す、
請求項２または請求項３に記載の情報処理装置。
【請求項５】
前記第１特定情報を前記第１取得部へ出力し、前記ホワイトリストを用いた前記第１ソフトウェアの検証結果が実行許可を示す場合、該第１ソフトウェアを実行する実行部を備える、
請求項１〜請求項４の何れか１項に記載の情報処理装置。
【請求項６】
前記第２特定情報に関する情報を前記ホワイトリストから削除する削除部を備える、
請求項１〜請求項５の何れか１項に記載の情報処理装置。
【請求項７】
前記削除部は、
前記ホワイトリストを用いた前記第１ソフトウェアの検証結果が実行許可を示す場合、前記第２特定情報に関する情報を前記ホワイトリストから削除する、
請求項６に記載の情報処理装置。
【請求項８】
前記管理情報における、前記第２特定情報に関する情報を削除する削除部を備える、
請求項２に記載の情報処理装置。
【請求項９】
前記第１取得部が取得した前記第１特定情報が、過去に特定された第２特定情報と一致する場合、警告情報を出力部に出力する出力制御部を備える、
請求項５〜請求項８の何れか１項に記載の情報処理装置。
【請求項１０】
前記出力制御部は、
前記第１取得部が取得した前記第１特定情報が、過去に特定された前記第２特定情報と一致する場合、前記第１ソフトウェアの実行を保留するように、前記第１ソフトウェアを実行する実行部を制御し、且つ、前記警告情報を出力部に出力する、
請求項９に記載の情報処理装置。
【請求項１１】
更新ソフトウェアと、該更新ソフトウェアに関連する他の前記ソフトウェアの識別情報と、を含む更新情報を取得する第２取得部と、
前記更新ソフトウェアの前記特定情報を前記ホワイトリストに登録する登録部と、
前記更新情報に基づいて、前記管理情報を更新する更新部と、
を備える、請求項２に記載の情報処理装置。
【請求項１２】
前記更新情報は、
前記更新ソフトウェアに関係する他の前記ソフトウェアの前記特定情報を示す前記関係特定情報を含む、
請求項１１に記載の情報処理装置。
【請求項１３】
前記更新部は、
前記更新ソフトウェアの前記特定情報に対応づけて、該更新ソフトウェアの採用によって不要となる他の前記ソフトウェアの前記特定情報を示す前記関係特定情報を、前記管理情報に登録する、
請求項１１または請求項１２に記載の情報処理装置。
【請求項１４】
前記更新情報は、
監視対象の前記ソフトウェアの前記特定情報を示す監視情報を更に含み、
前記特定部は、
前記ホワイトリストにおける、前記監視情報に示される前記特定情報を、前記第２特定情報として更に特定する、
請求項１１に記載の情報処理装置。
【請求項１５】
実行対象の第１ソフトウェアの第１特定情報を取得するステップと、
実行を許可するソフトウェアの特定情報を規定したホワイトリストに、前記第１特定情報を示す前記特定情報が登録されている場合、前記ホワイトリストにおける、前記第１ソフトウェアに関係する他の前記ソフトウェアである第２ソフトウェアの前記特定情報を、第２特定情報として特定するステップと、
を含む情報処理方法。
【請求項１６】
実行対象の第１ソフトウェアの第１特定情報を取得するステップと、
実行を許可するソフトウェアの特定情報を規定したホワイトリストに、前記第１特定情報を示す前記特定情報が登録されている場合、前記ホワイトリストにおける、前記第１ソフトウェアに関係する他の前記ソフトウェアである第２ソフトウェアの前記特定情報を、第２特定情報として特定するステップと、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
不正なプログラムの実行を防止する技術が知られている。例えば、実行を許可するソフトウェアを、ホワイトリストに登録されたソフトウェアのみに制限する技術が知られている。また、ホワイトリストを安全に更新するために、マスタファイルリストによって安全が保証されたソフトウェアに限り、ホワイトリストへの追加を自動で行う方法が知られている。
【０００３】
ここで、システムの更新により不要となった更新前ソフトウェアが、ホワイトリストに登録されたまま残されてしまう場合がある。年月の経過により、更新前ソフトウェアは危殆化する場合もあり、そのようなソフトウェアが実行されると、システムの安全性を損なう場合がある。安全性の観点では、ホワイトリストから、危殆化したソフトウェアや不要なソフトウェアを直ちに取り除くことが望ましい。しかし、そのようなホワイトリストの更新を行うと、システムの可用性を損なうおそれがあった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５６８２９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、ホワイトリストを導入した情報処理装置の、可用性を維持することができる、情報処理装置、情報処理方法、および情報処理プログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の情報処理装置は、第１取得部と、特定部と、を備える。第１取得部は、実行対象の第１ソフトウェアの第１特定情報を取得する。特定部は、実行を許可するソフトウェアの特定情報を規定したホワイトリストに、前記第１特定情報を示す前記特定情報が登録されている場合、前記ホワイトリストにおける、前記第１ソフトウェアに関係する他の前記ソフトウェアである第２ソフトウェアの前記特定情報を、第２特定情報として特定する。
【図面の簡単な説明】
【０００７】
【図１】情報処理システムの一例を示す模式図。
【図２】更新装置の機能的構成を示す模式図。
【図３】更新ソフトウェア情報、旧ソフトウェア情報、および、更新対象ソフトウェアの識別情報、のデータ構成を示す模式図。
【図４】情報処理装置の機能的構成を示すブロック図。
【図５】記憶部に記憶されるデータのデータ構成を示す模式図。
【図６】情報処理の手順を示すフローチャート。
【図７】更新情報生成処理の手順を示すフローチャート。
【図８】更新処理の手順を示すフローチャート。
【図９】登録・更新処理の手順を示すフローチャート。
【図１０】特定処理の手順を示すフローチャート。
【図１１】特定処理の手順を示すフローチャート。
【図１２】特定処理の手順を示すフローチャート。
【図１３】ハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、情報処理装置、情報処理方法、および情報処理プログラムを詳細に説明する。
【０００９】
図１は、本実施の形態の情報処理システム１の一例を示す模式図である。
【００１０】
情報処理システム１は、更新装置１０と、情報処理装置２０と、を備える。更新装置１０と情報処理装置２０とは、有線回線または無線回線などの通信回線を介して、データや信号を授受可能に接続されている。
【００１１】
なお、更新装置１０と情報処理装置２０とは、記憶媒体を介して情報の授受を行ってもよい。例えば、更新装置１０が情報を記憶媒体に記憶する。情報処理装置２０は、該記憶媒体から情報を読取ることで、更新装置１０から情報を取得してもよい。
【００１２】
更新装置１０は、更新ソフトウェア等を情報処理装置２０へ送信する。更新ソフトウェアは、更新されたソフトウェアである。例えば、更新ソフトウェアは、該送信の時点で最新のバージョンのソフトウェアである。
【００１３】
図２は、更新装置１０の機能的構成の一例を示す模式図である。更新装置１０は、処理部１２と、記憶部１４と、を備える。処理部１２と記憶部１４とは、データや信号を授受可能に接続されている。
【００１４】
記憶部１４は、各種データを記憶する。本実施の形態では、記憶部１４は、更新ソフトウェア情報１４Ａと、旧ソフトウェア情報１４Ｂと、を記憶する。
【００１５】
図３は、更新ソフトウェア情報１４Ａ、旧ソフトウェア情報１４Ｂ、および、更新対象ソフトウェアの識別情報のデータ構成の一例を示す模式図である。
【００１６】
図３（Ａ）は、更新ソフトウェア情報１４Ａのデータ構造の一例を示す模式図である。更新ソフトウェア情報１４Ａは、更新ソフトウェアを示す情報である。更新ソフトウェア情報１４Ａは、識別情報と、ソフトウェアと、を含む。ここで、ソフトウェアとは、実行可能ファイル、静的リンクライブラリファイル、動的リンクライブラリファイル、共有ライブラリファイル、スクリプトファイルなどのコンピュータプログラムである。
【００１７】
更新ソフトウェア情報１４Ａに含まれるソフトウェアは、更新ソフトウェアである。
【００１８】
なお、本実施の形態では、更新ソフトウェア、更新対象ソフトウェア、第１ソフトウェア、第２ソフトウェア、を総称して説明する場合には、単に、ソフトウェアと称して説明する。更新対象ソフトウェア、第１ソフトウェア、第２ソフトウェアについては、詳細を後述する。
【００１９】
識別情報は、ソフトウェアを識別するための情報である。本実施の形態では、識別情報は、バージョン情報と、ソフト名と、を含む。すなわち、本実施の形態では、識別情報は、ソフトウェアのバージョンとソフト名を一意に識別するための情報である。なお、識別情報は、ソフト名、バージョン情報、およびソフトウェアの発行日時を含むものであってもよい。すなわち、識別情報は、ソフトウェアのバージョン、ソフト名、および発行日時を一意に識別するための情報であってもよい。
【００２０】
バージョン情報は、バージョンを示す情報であり、ソフトウェアの改定の段階を示す情報である。バージョン情報は、数値が大きいほど、より後に改定された（すなわち、より新しい）ソフトウェアであることを示す。更新ソフトウェア情報１４Ａは、対応する更新ソフトウェアのバージョン情報を含む。
【００２１】
ソフト名は、ソフトウェアの名称である。本実施の形態では、同じソフトウェアには、同じソフト名が付与される。言い換えると、バージョンが異なる場合であっても、同じソフトウェアには、同じソフト名が付与されているものとする。
【００２２】
なお、更新ソフトウェア情報１４Ａは、ソフトウェアの発行日時や、依存関係情報などを含んでいてもよい。ソフトウェアの発行日時は、ソフトウェアが発行された発行日時を示す。依存関係情報は、ソフトウェアの依存関係を示す情報であり、ソフトウェア生成者から提供される。
【００２３】
旧ソフトウェア情報１４Ｂは、情報処理装置２０に過去に出力された、ソフトウェアに関する情報である。例えば、旧ソフトウェア情報１４Ｂには、更新装置１０から情報処理装置２０へ過去に出力された、全てのソフトウェアに関する情報が登録されている。
【００２４】
図３（Ｂ）は、旧ソフトウェア情報１４Ｂのデータ構成の一例を示す模式図である。旧ソフトウェア情報１４Ｂは、識別情報（ソフト名、バージョン情報）と、ソフトウェアと、を対応づけて登録した情報である。
【００２５】
なお、旧ソフトウェア情報１４Ｂは、ソフトウェアの発行日時や、依存関係情報などを更に含んでいてもよい。
【００２６】
図２に戻り説明を続ける。次に、処理部１２について説明する。
【００２７】
処理部１２は、更新装置１０を制御する。処理部１２は、取得部１２Ａと、更新情報生成部１２Ｂと、出力部１２Ｃと、を含む。これらの各部（取得部１２Ａ、更新情報生成部１２Ｂ、出力部１２Ｃ）は、例えば、１または複数のプロセッサにより実現される。
【００２８】
例えば、上記各部は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００２９】
取得部１２Ａは、更新ソフトウェア情報１４Ａを取得する。取得部１２Ａは、記憶部１４から更新ソフトウェア情報１４Ａを読取ることで、更新ソフトウェア情報１４Ａを取得する。記憶部１４は、例えば、最新のソフトウェア示す更新ソフトウェア情報１４Ａを、外部装置などから受信し、予め記憶する。そして、取得部１２Ａは、例えば、外部装置からシステム更新要求などを受信したときに、記憶部１４から更新ソフトウェア情報１４Ａを取得すればよい。
【００３０】
なお、取得部１２Ａは、外部装置から、更新ソフトウェア情報１４Ａを取得してもよい。
【００３１】
更新情報生成部１２Ｂは、取得部１２Ａから更新ソフトウェア情報１４Ａを受付ける。更新情報生成部１２Ｂは、受付けた更新ソフトウェア情報１４Ａを、旧ソフトウェア情報１４Ｂへ登録する。そして、更新情報生成部１２Ｂは、更新ソフトウェア情報１４Ａと、旧ソフトウェア情報１４Ｂと、を用いて、更新情報を生成する。
【００３２】
更新情報は、更新ソフトウェアと、該更新ソフトウェアに関連する他のソフトウェアの識別情報と、を含む。
【００３３】
例えば、更新情報生成部１２Ｂは、更新ソフトウェア情報１４Ａに含まれるソフトウェアを、更新ソフトウェアとして、更新情報に用いる。また、更新情報生成部１２Ｂは、この更新ソフトウェアに関連する他のソフトウェアの識別情報を、旧ソフトウェア情報１４Ｂから検索する。なお、以下では、更新ソフトウェアは、更新ソフトウェア情報１４Ａに含まれるソフトウェアを意味するものとして説明する。
【００３４】
具体的には、更新情報生成部１２Ｂは、更新ソフトウェアと同じソフト名のソフトウェアを、旧ソフトウェア情報１４Ｂから検索する。この場合、更新情報生成部１２Ｂは、更新ソフトウェアと同じソフト名で、バージョンの異なる他のソフトウェアを、旧ソフトウェア情報１４Ｂから検索する。そして、更新情報生成部１２Ｂは、検索したソフトウェアに対応する識別情報（ソフト名、バージョン情報）を、旧ソフトウェア情報１４Ｂから読取る。これにより、更新情報生成部１２Ｂは、更新ソフトウェアに関連する他のソフトウェアの識別情報を検索する。
【００３５】
なお、更新情報生成部１２Ｂは、更新ソフトウェアを起動した場合に連動して起動する可能性のある他のソフトウェアの識別情報を、更新ソフトウェアに関連する他のソフトウェアの識別情報として、更に検索してもよい。
【００３６】
図３（Ｃ）は、更新ソフトウェアに関連する他のソフトウェアの識別情報の一覧の一例を示す図である。例えば、更新情報生成部１２Ｂは、ソフト名「Ａ」、バージョン情報「Ｖｅｒ３」の更新ソフトウェアに関連する、他のソフトウェアの識別情報として、ソフト名とバージョン情報によって規定される識別情報が、「Ａ，Ｖｅｒ．２」、「Ａ，Ｖｅｒ．１」、「Ｂ，Ｖｅｒ．１」、「Ｃ，Ｖｅｒ．１」を検索する。
【００３７】
図２に戻り、説明を続ける。そして、更新情報生成部１２Ｂは、更新ソフトウェアと、該更新ソフトウェアに関連する他のソフトウェアの識別情報と、を含む更新情報を生成する。なお、更新情報生成部１２Ｂは、更新ソフトウェアのハッシュ値を更に含む、更新情報を生成してもよい。
【００３８】
出力部１２Ｃは、更新情報生成部１２Ｂで生成された更新情報を、情報処理装置２０へ出力する。
【００３９】
次に、情報処理装置２０について説明する。図４は、情報処理装置２０の機能的構成の一例を示すブロック図である。
【００４０】
情報処理装置２０は、処理部２２と、記憶部２４と、ＵＩ（ユーザ・インターフェース）部２６と、を備える。記憶部２４およびＵＩ部２６と、処理部２２と、はデータや信号を授受可能に接続されている。
【００４１】
ＵＩ部２６は、外部に各種情報を出力すると共に、ユーザからの各種指示を受付ける。ＵＩ部２６は、入力部２６Ａと、出力部２６Ｂと、を備える。入力部２６Ａは、ユーザからの各種指示を受付ける。入力部２６Ａは、例えば、キーボード、マウス、タッチパネル、マイク、などである。出力部２６Ｂは、各種情報を外部へ出力する。出力部２６Ｂは、公知の表示装置、スピーカ、ライト、などである。
【００４２】
記憶部２４は、各種データを記憶する。本実施の形態では、記憶部２４は、ホワイトリスト２４Ａと、管理情報２４Ｂと、を記憶する。
【００４３】
ホワイトリスト２４Ａは、実行を許可するソフトウェアの特定情報を規定したリストである。
【００４４】
図５は、記憶部２４に記憶されるデータのデータ構成の一例を示す模式図である。図５（Ａ）は、ホワイトリスト２４Ａのデータ構成の一例を示す模式図である。ホワイトリスト２４Ａは、特定情報と、ｐａｔｈと、ハッシュ値と、を対応づけたリストである。
【００４５】
ｐａｔｈは、情報処理装置２０における、ソフトウェアのインストールされた場所を示す。ハッシュ値は、ソフトウェアのハッシュ値である。
【００４６】
特定情報は、情報処理装置２０にインストールされたソフトウェアを特定するための情報である。すなわち、本実施の形態では、特定情報は、ソフトウェアの識別情報と、識別情報によって識別されるソフトウェアのインストール場所（ｐａｔｈ）と、ハッシュ値と、を特定するための情報である。なお、上述したように、識別情報は、ソフトウェアのバージョンとソフト名を一意に識別するための情報である。
【００４７】
このため、本実施の形態では、ホワイトリスト２４Ａには、識別情報によって識別されるソフトウェアのインストール場所（ｐａｔｈ）およびハッシュ値ごとに一意に付与された、特定情報が規定されている。言い換えると、特定情報によって、特定のバージョン、ソフト名、およびハッシュ値の、ｐａｔｈに示される箇所にインストールされたソフトウェアが特定される。
【００４８】
なお、特定情報の示す値は、予め定められた規則に従って決定されればよい。例えば、情報処理装置２０がＬｉｎｕｘ（登録商標）を利用していると仮定する。この場合、ｉ−ｎｏｄｅを、特定情報として用いてもよい。ｉ−ｎｏｄｅとは、Ｌｉｎｕｘで用いるファイルの管理情報である。また、特定情報は、ソフトウェアのインストール場所を示すｐａｔｈであってもよい。また、特定情報は、情報処理装置２０が予め定めた規則に基づいて一意に付与した任意の番号であってもよい。また、ソフトウェアのインストール場所を示すｐａｔｈそのものや、ソフトウェアのハッシュ値そのものを特定情報として用いてもよい。また、ソフトウェアのインストール場所を示すｐａｔｈとソフトウェアのハッシュ値の組そのものを特定情報として用いてもよい。
【００４９】
また、ハッシュ値は、ソフトウェアのハッシュ値であってもよいし、ソフトウェアとｐａｔｈの双方から計算されたハッシュ値であってもよい。
【００５０】
次に、管理情報２４Ｂについて説明する。管理情報２４Ｂは、特定情報と、関係特定情報と、を対応づけた情報である。
【００５１】
図５（Ｂ）は、管理情報２４Ｂのデータ構成の一例を示す模式図である。管理情報２４Ｂは、特定情報と、識別情報と、インストール日時と、関係特定情報と、を対応づけたリストである。なお、管理情報２４Ｂは、さらに、ソフトウェアの発行日時を含んでいてもよい。
【００５２】
特定情報および識別情報は、上記と同様である。インストール日時は、特定情報によって特定されるソフトウェアが情報処理装置２０にインストールされた日時を示す。
【００５３】
関係特定情報は、対応する特定情報によって特定されるソフトウェアに関係する、他のソフトウェアを示す情報である。対応する特定情報によって特定されるソフトウェアに関係する他のソフトウェア、とは、対応する特定情報によって特定されるソフトウェアの採用によって、不要となる他のソフトウェアである。
【００５４】
ソフトウェアの採用とは、該ソフトウェアを特定のプロセスで用いるソフトウェアとして設定することを意味する。
【００５５】
対応する特定情報によって特定されるソフトウェアの採用によって不要となる他のソフトウェアとは、例えば、対応する特定情報によって特定されるソフトウェアより前のバージョン（旧バージョン）の他のソフトウェアや、該前のバージョンの他のソフトウェアにのみ連動して動作する他のソフトウェアなどである。また、対応する特定情報によって特定されるソフトウェアの採用によって不要となる他のソフトウェアは、ソフトウェア生成者から提供される依存関係情報により不要と指定されるソフトウェアや、ソフトウェア生成者から提供される依存関係情報により不要と特定できるソフトウェアであってもよい。
【００５６】
本実施の形態では、関係特定情報は、対応する特定情報によって特定されるソフトウェアに関係する他のソフトウェアを示す情報として、該他のソフトウェアの特定情報を規定する。
【００５７】
このため、例えば、図５（Ｂ）に示すように、特定情報「０１」に対応する関係特定情報には、特定情報「０１」によって特定されるソフト名「Ａ」バージョン「Ｖｅｒ．３」のソフトウェアより前のバージョン（Ｖｅｒ．１，２）のソフトウェアの特定情報「０２」「０３」が規定される。
【００５８】
なお、本実施の形態では、特定情報と、関係特定情報に規定される特定情報は、ホワイトリスト２４Ａに登録されている特定情報と同じ規則で定められた情報であるものとして説明する。なお、これらの特定情報は、同じ規則で定められた情報に限定されない。すなわち、ホワイトリスト２４Ａに規定された特定情報と、管理情報２４Ｂに規定された特定情報および関係特定情報に規定された特定情報と、が、同じソフトウェアを示しているか否かの対応関係が導出可能であればよい。
【００５９】
例えば、ホワイトリスト２４Ａに規定された特定情報と、管理情報２４Ｂに規定された特定情報と、を異なる生成規則で生成する。この場合、情報処理装置２０は、ホワイトリスト２４Ａに規定された特定情報と、管理情報２４Ｂに規定された特定情報と、の対応関係を示すテーブルを別途保持すればよい。
【００６０】
ホワイトリスト２４Ａおよび管理情報２４Ｂは、処理部２２によって更新される（詳細後述）。
【００６１】
処理部２２は、情報処理装置２０を制御する。処理部２２は、第２取得部２２Ａと、インストール部２２Ｂと、登録部２２Ｃと、実行部２２Ｄと、第１取得部２２Ｅと、検証部２２Ｆと、特定部２２Ｇと、削除部２２Ｈと、出力制御部２２Ｉと、更新部２２Ｊと、を備える。
【００６２】
上記各部（第２取得部２２Ａ、インストール部２２Ｂ、登録部２２Ｃ、実行部２２Ｄ、第１取得部２２Ｅ、検証部２２Ｆ、特定部２２Ｇ、削除部２２Ｈ、出力制御部２２Ｉ、更新部２２Ｊ）は、例えば、１または複数のプロセッサにより実現される。
【００６３】
例えば、上記各部は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち１つを実現してもよいし、各部のうち２以上を実現してもよい。
【００６４】
第２取得部２２Ａは、更新情報を取得する。具体的には、第２取得部２２Ａは、更新装置１０から更新情報を取得する。第２取得部２２Ａは、更新情報を、インストール部２２Ｂ、登録部２２Ｃ、および更新部２２Ｊへ出力する。
【００６５】
インストール部２２Ｂは、第２取得部２２Ａから受付けた更新情報に含まれる更新ソフトウェアを、情報処理装置２０へインストールする。インストール部２２Ｂは、更新ソフトウェアのインストール場所を示すｐａｔｈを、登録部２２Ｃへ出力する。
【００６６】
登録部２２Ｃは、更新ソフトウェアの特定情報を、ホワイトリスト２４Ａへ登録する。具体的には、登録部２２Ｃは、第２取得部２２Ａから受付けた更新情報に含まれる識別情報に、特定情報を付与する。また、登録部２２Ｃは、更新ソフトウェアのハッシュ値を計算する。そして、登録部２２Ｃは、付与した特定情報と、インストール部２２Ｂから受付けたｐａｔｈと、計算したハッシュ値と、を対応づけてホワイトリスト２４Ａへ登録する。
【００６７】
このため、第２取得部２２Ａが更新情報を取得し、インストール部２２Ｂが更新情報に含まれる更新ソフトウェアをインストールする毎に、登録部２２Ｃが、ホワイトリスト２４Ａを更新する。すなわち、登録部２２Ｃは、該更新ソフトウェアの特定情報と、ｐａｔｈと、ハッシュ値と、を対応づけてホワイトリスト２４Ａへ登録する。
【００６８】
更新部２２Ｊは、ホワイトリスト２４Ａが更新されると、管理情報２４Ｂを更新する。更新部２２Ｊは、第２取得部２２Ａから受付けた更新情報に基づいて、管理情報２４Ｂを更新する。
【００６９】
具体的には、まず、更新部２２Ｊは、登録部２２Ｃによってホワイトリスト２４Ａへ新たに登録された更新ソフトウェアの特定情報と、識別情報と、該更新ソフトウェアがインストール部２２Ｂによってインストールされたインストール日時と、を対応づけて管理情報２４Ｂへ登録する。
【００７０】
そして、更新部２２Ｊは、管理情報２４Ｂにおける関係特定情報を更新する。詳細には、更新部２２Ｊは、管理情報２４Ｂに登録されている関係特定情報が、対応する特定情報によって特定されるソフトウェアの採用によって不要となる他のソフトウェアの特定情報を示すように、関係特定情報を更新する。
【００７１】
すなわち、更新部２２Ｊは、更新ソフトウェアの特定情報に対応づけて、該更新ソフトウェアの採用によって不要となる他のソフトウェアの特定情報を示す関係特定情報を、管理情報２４Ｂに登録する。
【００７２】
具体的には、更新部２２Ｊは、第２取得部２２Ａで取得した更新情報に含まれる更新ソフトウェアの採用によって不要となる、他のソフトウェアの特定情報を、管理情報２４Ｂから検索する。
【００７３】
例えば、関係特定情報が、対応する特定情報によって特定されるソフトウェアより前のバージョンの他のソフトウェアの特定情報を示すと仮定する。この場合、更新部２２Ｊは、例えば、更新ソフトウェアと同じソフト名であり、且つ更新ソフトウェアより旧バージョンのソフトウェアの特定情報を、管理情報２４Ｂから検索する。そして、更新部２２Ｊは、検索した特定情報を、更新ソフトウェアの特定情報に対応する関係特定情報として、管理情報２４Ｂに登録する。
【００７４】
なお、更新部２２Ｊは、更新装置１０から第２取得部２２Ａを介して取得した更新情報に含まれる、更新ソフトウェアに関連する他のソフトウェアの識別情報を用いて、他のソフトウェアの特定情報を検索してもよい。例えば、更新部２２Ｊは、更新情報に含まれる、他のソフトウェアの識別情報に対応する特定情報を、管理情報２４Ｂから検索する。そして、更新部２２Ｊは、検索した特定情報の内、更新ソフトウェアと同じソフト名であり、且つ更新ソフトウェアより旧バージョンのソフトウェアの特定情報を特定する。そして、更新部２２Ｊは、特定した特定情報を、更新ソフトウェアの特定情報に対応する関係特定情報として、管理情報２４Ｂに登録する。
【００７５】
なお、更新装置１０の更新情報生成部１２Ｂは、関係特定情報を含む更新情報を生成してもよい。すなわち、更新装置１０の更新情報生成部１２Ｂが、更新ソフトウェアに対応する関係特定情報を生成してもよい。この場合、情報処理装置２０の更新部２２Ｊは、更新装置１０から第２取得部２２Ａを介して取得した更新情報に含まれる関係特定情報を、更新ソフトウェアの特定情報に対応づけて、管理情報２４Ｂへ登録すればよい。
【００７６】
図４に戻り説明を続ける。実行部２２Ｄは、アプリケーションの実行に適した単位で分割されたプロセスを生成し、プロセスの動作に必要な資源（ＣＰＵ、メモリ領域、外部デバイスとのアクセスなど）を管理する。実行部２２Ｄは、各種のソフトウェアを実行することでプロセスを生成する。実行部２２Ｄは、例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のカーネルである。
【００７７】
本実施の形態では、実行部２２Ｄは、ソフトウェアの実行時に、実行対象の第１ソフトウェアの第１特定情報を、第１取得部２２Ｅへ出力する。そして、実行部２２Ｄは、出力制御部２２Ｉから受付けた検証結果が実行許可を示す場合、第１ソフトウェアを実行する。検証結果は、ホワイトリスト２４Ａを用いた第１ソフトウェアの検証結果である。
【００７８】
第１ソフトウェアは、ソフトウェアの一例である。本実施の形態では、実行部２２Ｄが実行する対象のソフトウェアを、第１ソフトウェアと称して説明する。第１特定情報は、特定情報の一例である。第１特定情報は、特定情報の内、第１ソフトウェアを特定する特定情報である。
【００７９】
第１取得部２２Ｅは、実行対象の第１ソフトウェアの第１特定情報を取得する。第１取得部２２Ｅは、実行部２２Ｄから、第１特定情報を取得する。第１取得部２２Ｅは、取得した第１特定情報を、検証部２２Ｆおよび特定部２２Ｇへ出力する。
【００８０】
検証部２２Ｆは、第１取得部２２Ｅから受付けた第１特定情報を示す特定情報が、ホワイトリスト２４Ａに登録されているか否かを判断する。そして、検証部２２Ｆは、登録されている場合、実行許可を示す検証結果を生成する。
【００８１】
詳細には、第１特定情報がホワイトリスト２４Ａに登録されている場合、検証部２２Ｆは、第１特定情報に含まれるｐａｔｈによって特定される位置に記憶されている第１ソフトウェアのハッシュ値を計算する。そして、検証部２２Ｆは、ホワイトリスト２４Ａにおける、第１特定情報を示す特定情報に対応するハッシュ値と、計算したハッシュ値と、が一致する場合、実行許可を示す検証結果を生成する。また、検証部２２Ｆは、ハッシュ値が不一致である場合、実行不可を示す検証結果を生成する。また、検証部２２Ｆは、第１取得部２２Ｅから受付けた第１特定情報を示す特定情報が、ホワイトリスト２４Ａに登録されていない場合についても、実行不可を示す検証結果を生成する。
【００８２】
出力制御部２２Ｉは、検証部２２Ｆから受付けた検証結果を、実行部２２ＤおよびＵＩ部２６へ出力する。ＵＩ部２６の出力部２６Ｂは、検証結果を出力する。実行部２２Ｄは、検証部２２Ｆから受付けた検証結果が実行許可を示す場合、第１ソフトウェアを実行する。一方、実行部２２Ｄは、検証部２２Ｆから受付けた検証結果が実行不可を示す場合、第１ソフトウェアを実行しない。
【００８３】
特定部２２Ｇは、ホワイトリスト２４Ａに、第１特定情報を示す特定情報が登録されている場合、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する他のソフトウェアである第２ソフトウェアの特定情報を、第２特定情報として特定する。
【００８４】
第１特定情報を示す特定情報とは、第１特定情報と同じ値の特定情報を示す。第２ソフトウェアは、ソフトウェアの一例である。第２ソフトウェアは、ソフトウェアの内、第１ソフトウェアに関係する他のソフトウェアである。第１ソフトウェアに関係する他のソフトウェアとは、第１ソフトウェアに関係し、且つ、第１ソフトウェア以外のソフトウェアである。
【００８５】
第２特定情報は、特定情報の一例である。第２特定情報は、実行対象のソフトウェアである第１ソフトウェアに関連する、第２ソフトウェアの特定情報である。
【００８６】
すなわち、本実施の形態では、特定部２２Ｇは、ホワイトリスト２４Ａに、第１特定情報が登録されている場合、ホワイトリスト２４Ａにおける、第２ソフトウェアの第２特定情報を特定する。
【００８７】
例えば、特定部２２Ｇは、ホワイトリスト２４Ａにおける第２ソフトウェアの特定情報を、監視対象の第２特定情報として特定する。監視対象とは、何等かの処理を施す対象であることを意味する。例えば、監視対象とは、ホワイトリストからの削除対象、ホワイトリストからの退避対象、実行時の警告対象、などを意味する。本実施の形態では、一例として、監視対象とは、ホワイトリストからの削除対象である場合を、一例として説明する。
【００８８】
本実施の形態では、特定部２２Ｇは、管理情報２４Ｂに基づいて、第２特定情報を特定する。特定部２２Ｇは、管理情報２４Ｂにおける、第１特定情報を示す特定情報に対応する関係特定情報を読取る。そして、特定部２２Ｇは、読取った関係特定情報に示される特定情報を、ホワイトリスト２４Ａから特定する。これによって、特定部２２Ｇは、ホワイトリスト２４Ａにおける第２特定情報を特定する。
【００８９】
特定部２２Ｇは、特定した第２特定情報を、削除部２２Ｈへ出力する。
【００９０】
削除部２２Ｈは、第２特定情報に関する情報を、ホワイトリスト２４Ａから削除する。ホワイトリスト２４Ａにおける第２特定情報に関する情報とは、ホワイトリスト２４Ａにおける、第２特定情報を示す特定情報と、該特定情報に対応付けられた情報（本実施の形態では、ｐａｔｈとハッシュ値）と、を示す。
【００９１】
すなわち、本実施の形態では、削除部２２Ｈは、ホワイトリスト２４Ａにおける、第２特定情報を示す特定情報と、該特定情報に対応するｐａｔｈおよびハッシュ値と、をホワイトリスト２４Ａから削除する。
【００９２】
このため、本実施の形態では、第１特定情報がホワイトリスト２４Ａへ登録されている場合、第１ソフトウェアの採用によって不要となる第２ソフトウェアに関する情報が、ホワイトリスト２４Ａから削除される。
【００９３】
なお、削除部２２Ｈは、第１特定情報がホワイトリスト２４Ａへ登録されており、且つ、ホワイトリスト２４Ａを用いた第１ソフトウェアの検証結果が実行許可を示す場合に、第２特定情報に関する情報をホワイトリスト２４Ａから削除してもよい。
【００９４】
また、削除部２２Ｈは、第１特定情報がホワイトリスト２４Ａへ登録されており、ホワイトリスト２４Ａを用いた第１ソフトウェアの検証結果が実行許可を示し、且つ、実行部２２Ｄが第１ソフトウェアを実行した場合に、第２特定情報に関する情報を、ホワイトリスト２４Ａから削除してもよい。
【００９５】
更に、削除部２２Ｈは、管理情報２４Ｂにおける、第２特定情報に関する情報を削除する。管理情報２４Ｂにおける第２特定情報に関する情報とは、管理情報２４Ｂにおける、第２特定情報を示す特定情報、および、該特定情報に対応付けて登録されている他の情報（本実施の形態では、識別情報、インストール日時、関係特定情報）を示す。
【００９６】
次に、本実施の形態の更新装置１０が実行する情報処理の手順を説明する。図６は、本実施の形態の更新装置１０が実行する情報処理の手順の一例を示す、フローチャートである。
【００９７】
まず、取得部１２Ａが、更新ソフトウェア情報１４Ａを取得する（ステップＳ１００）。次に、更新情報生成部１２Ｂが、更新情報生成処理を実行する（ステップＳ１０２）。そして、出力部１２Ｃが、ステップＳ１０２で生成された更新情報を、情報処理装置２０へ出力する（ステップＳ１０４）。そして、本ルーチンを終了する。
【００９８】
次に、図６のステップＳ１０２の更新情報生成処理の手順の一例を説明する。図７は、更新情報生成処理の手順の一例を示す、フローチャートである。
【００９９】
まず、更新情報生成部１２Ｂは、取得した更新ソフトウェア情報１４Ａに含まれる更新ソフトウェアのソフト名を読取る（ステップＳ２００）。次に、更新情報生成部１２Ｂは、ステップＳ２００で読取ったソフト名が旧ソフトウェア情報１４Ｂに存在するか否かを判断する（ステップＳ２０２）。ステップＳ２０２で肯定判断すると（ステップＳ２０２：Ｙｅｓ）、ステップＳ２０４へ進む。
【０１００】
ステップＳ２０４では、更新情報生成部１２Ｂは、更新ソフトウェアと同じソフト名のソフトウェアの識別情報を、旧ソフトウェア情報１４Ｂから特定する（ステップＳ２０４）。そして、ステップＳ２０６へ進む。一方、ステップＳ２０２で否定判断すると（ステップＳ２０２：Ｎｏ）、識別情報を空欄とし、ステップＳ２０６へ進む。
【０１０１】
ステップＳ２０６では、更新情報生成部１２Ｂは、ステップＳ１００（図６参照）で取得した更新ソフトウェア情報１４Ａに含まれる更新ソフトウェアと、ステップＳ２０４で特定した識別情報と、を含む更新情報を生成する（ステップＳ２０６）。そして、本ルーチンを終了する。
【０１０２】
次に、情報処理装置２０が実行する情報処理の手順を説明する。情報処理装置２０は、情報処理として、ホワイトリスト２４Ａおよび管理情報２４Ｂを更新する更新処理と、第２特定情報を特定する特定処理と、を実行する。
【０１０３】
まず、情報処理装置２０が実行する更新処理の手順の一例を説明する。図８は、情報処理装置２０が実行する更新処理の手順の一例を示す、フローチャートである。
【０１０４】
まず、第２取得部２２Ａが、更新装置１０から更新情報を取得したか否かを判断する（ステップＳ３００）。ステップＳ３００で否定判断すると（ステップＳ３００：Ｎｏ）、本ルーチンを終了する。ステップＳ３００で肯定判断すると（ステップＳ３００：Ｙｅｓ）、ステップＳ３０２へ進む。
【０１０５】
ステップＳ３０２では、インストール部２２Ｂが、ステップＳ３００で取得した更新情報に含まれる更新ソフトウェアをインストールする（ステップＳ３０２）。
【０１０６】
なお、インストール部２２Ｂは、更新情報を検査し、更新すべきか否かを判断してもよい。そして、インストール部２２Ｂは、更新すべきと判断した場合に、更新ソフトウェアをインストールしてもよい。そして、インストール部２２Ｂは、更新すべきではないと判断した場合、本ルーチンを終了してもよい。
【０１０７】
なお、更新すべきか否かの判断は、公知の方法を用いればよい。例えば、更新情報が、デジタル署名を更に含むと仮定する。この場合、インストール部２２Ｂは、更新情報に含まれるデジタル署名が正しいか否かを判別することで、更新すべきか否かを判断すればよい。
【０１０８】
次に、登録部２２Ｃが、ステップＳ３００で取得した更新情報に含まれる更新ソフトウェアのハッシュ値を計算する（ステップＳ３０４）。なお、登録部２２Ｃは、予め定めたハッシュ関数を用いて、ハッシュ値を算出すればよい。
【０１０９】
そして、登録部２２Ｃは、特定情報と、ステップＳ３０２でインストールされた場所を示すｐａｔｈと、ステップＳ３０４で計算したハッシュ値と、を対応づけてホワイトリスト２４Ａに登録する（ステップＳ３０６）。
【０１１０】
次に、更新部２２Ｊが、管理情報２４Ｂへの登録・更新処理を実行する（ステップＳ３０８）。そして、本ルーチンを終了する。
【０１１１】
次に、図８のステップＳ３０８で、更新部２２Ｊが実行する登録・更新処理の手順の一例を説明する。図９は、更新部２２Ｊが実行する登録・更新処理の手順の一例を示す、フローチャートである。
【０１１２】
まず、更新部２２Ｊは、更新ソフトウェアの特定情報が管理情報２４Ｂに登録済であるか否かを判断する（ステップＳ４００）。すなわち、更新部２２Ｊは、ステップＳ３０６（図８参照）の処理によってホワイトリスト２４Ａに登録された特定情報が、管理情報２４Ｂに登録済であるか否かを判断する。
【０１１３】
ステップＳ４００で否定判断すると（ステップＳ４００：Ｎｏ）、ステップＳ４０２へ進む。ステップＳ４０２では、更新部２２Ｊは、ステップＳ３０６でホワイトリスト２４Ａに登録された更新ソフトウェアの、特定情報、識別情報、およびインストール日時を対応づけて、管理情報２４Ｂへ登録する（ステップＳ４０２）。そして、ステップＳ４０６へ進む。
【０１１４】
一方、ステップＳ４００で肯定判断すると（ステップＳ４００：Ｙｅｓ）、ステップＳ４０４へ進む。ステップＳ４０４では、更新部２２Ｊは、ステップＳ３０６（図８参照）で登録された特定情報に対応するインストール日時を、ステップＳ３０２（図８参照）のインストール日時に更新する（ステップＳ４０４）。そして、ステップＳ４０６へ進む。
【０１１５】
ステップＳ４０６では、更新部２２Ｊが、ステップＳ３００（図８参照）で取得した更新情報に含まれる更新ソフトウェアの採用によって不要となる、他のソフトウェアの特定情報を、管理情報２４Ｂから検索する（ステップＳ４０６）。そして、該当するソフトウェアが有る場合には（ステップＳ４０８：Ｙｅｓ）、ステップＳ４１０へ進む。
【０１１６】
ステップＳ４１０では、更新部２２Ｊは、関係特定情報を生成し、管理情報２４Ｂへ登録する（ステップＳ４１０）。例えば、更新部２２Ｊは、更新ソフトウェアと同じソフト名であり、且つ更新ソフトウェアより旧バージョンのソフトウェアの特定情報を、管理情報２４Ｂから検索する。そして、更新部２２Ｊは、検索した特定情報を、更新ソフトウェアの特定情報に対応する関係特定情報として、管理情報２４Ｂに登録する。
【０１１７】
そして、本ルーチンを終了する。一方、該当するソフトウェアが無い場合（ステップＳ４０８：Ｎｏ）、本ルーチンを終了する。
【０１１８】
次に、第２特定情報を特定する特定処理の手順の一例を説明する。図１０は、情報処理装置２０が実行する特定処理の手順の一例を示す、フローチャートである。
【０１１９】
まず、実行部２２Ｄが、実行対象の第１ソフトウェアが発生したか否かを判断する（ステップＳ５００）。実行対象の第１ソフトウェアが発生しない場合（ステップＳ５００：Ｎｏ）、本ルーチンを終了する。実行対象の第１ソフトウェアが発生した場合（ステップＳ５００：Ｙｅｓ）、実行部２２Ｄは、第１ソフトウェアの第１特定情報を第１取得部２２Ｅへ出力する。
【０１２０】
このため、第１取得部２２Ｅは、第１特定情報を取得する（ステップＳ５０２）。本実施の形態では、第１取得部２２Ｅは、実行対象の第１ソフトウェアの識別情報（ソフト名、バージョン情報）と、第１ソフトウェアの記憶場所を示すｐａｔｈと、によって規定される第１特定情報を取得する。
【０１２１】
次に、検証部２２Ｆが、第１取得部２２Ｅが取得した第１特定情報によって特定される第１ソフトウェアについて、ホワイトリスト２４Ａを用いて、実行を許可するか否かを検証する（ステップＳ５０４）。例えば、検証部２２Ｆは、第１特定情報に含まれるｐａｔｈによって特定される位置に記憶されている第１ソフトウェアのハッシュ値を計算する。そして、検証部２２Ｆは、ホワイトリスト２４Ａにおける、第１特定情報を示す特定情報に対応するハッシュ値と、計算したハッシュ値と、が一致する場合、実行許可を示す検証結果を生成する。また、検証部２２Ｆは、ハッシュ値が不一致である場合、実行不可を示す検証結果を生成する。
【０１２２】
ステップＳ５０４の検証結果が実行不可を示す場合（ステップＳ５０６：Ｎｏ）、本ルーチンを終了する。ステップＳ５０４の検証結果が実行許可を示す場合（ステップＳ５０６：Ｙｅｓ）、ステップＳ５０８へ進む。
【０１２３】
ステップＳ５０８では、出力制御部２２Ｉが、実行許可を示す情報を出力部２６Ｂから出力する（ステップＳ５０８）。なお、ステップＳ５０８の処理は省略してもよい。
【０１２４】
次に、実行部２２Ｄが、第１ソフトウェアを実行する（ステップＳ５１０）。すなわち、検証結果が実行許可を示す場合、実行部２２Ｄは、第１ソフトウェアを実行する。
【０１２５】
次に、特定部２２Ｇが、ホワイトリスト２４Ａに、第１特定情報を示す特定情報が登録されているか否かを判断する（ステップＳ５１２）。登録されていない場合（ステップＳ５１２：Ｎｏ）、本ルーチンを終了する。一方、登録されている場合（ステップＳ５１２：Ｙｅｓ）、ステップＳ５１４へ進む。
【０１２６】
ステップＳ５１４では、特定部２２Ｇが、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する他のソフトウェアである第２ソフトウェアの特定情報を、第２特定情報として特定する（ステップＳ５１４）。
【０１２７】
次に、削除部２２Ｈが、ホワイトリスト２４Ａにおける、ステップＳ５１４で特定された第２特定情報に関する情報を削除する（ステップＳ５１６）。
【０１２８】
次に、削除部２２Ｈは、管理情報２４Ｂにおける、ステップＳ５１４で特定された第２特定情報に関する情報を削除する（ステップＳ５１８）。そして、本ルーチンを終了する。
【０１２９】
以上説明したように、本実施の形態の情報処理装置２０は、第１取得部２２Ｅと、特定部２２Ｇと、を備える。第１取得部２２Ｅは、実行対象の第１ソフトウェアの第１特定情報を取得する。特定部２２Ｇは、実行を許可するソフトウェアの特定情報を規定したホワイトリスト２４Ａに、第１特定情報を示す特定情報が登録されている場合、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する他のソフトウェアである第２ソフトウェアの特定情報を、第２特定情報として特定する。
【０１３０】
このように、本実施の形態の情報処理装置２０は、実行対象の第１ソフトウェアの第１特定情報がホワイトリスト２４Ａに登録されている場合に、ホワイトリスト２４Ａにおける、該第１ソフトウェアに関係する第２ソフトウェアの第２特定情報を特定する。
【０１３１】
このため、本実施の形態の情報処理装置２０は、ホワイトリスト２４Ａに実行対象の第１ソフトウェアの第１特定情報が登録されている場合にのみ、該第１ソフトウェアに関係する第２ソフトウェアの第２特定情報を、監視や削除などの各種の処理を施す対象のソフトとして特定することができる。
【０１３２】
このため、本実施の形態の情報処理装置２０は、実行対象の第１ソフトウェアの第１特定情報がホワイトリスト２４Ａに未登録である場合に、該第１ソフトウェアに関連する第２ソフトウェアに監視や削除などの各種処理が施されることを抑制することができる。すなわち、本実施の形態の情報処理装置２０は、第１ソフトウェアおよび第２ソフトウェアの双方が実行不可能状態となることを、抑制することができる。
【０１３３】
従って、本実施の形態の情報処理装置２０は、ホワイトリスト２４Ａを導入した情報処理装置２０の可用性を維持することができる。
【０１３４】
本実施の形態の情報処理装置２０は、特定部２２Ｇが特定した第２特定情報を、削除部２２Ｈが、ホワイトリスト２４Ａから削除する。
【０１３５】
このため、本実施の形態の情報処理装置２０は、上記効果が得られると共に、情報処理装置２０の安全性を実現することができる。
【０１３６】
なお、第２取得部２２Ａが更新装置１０から受信する更新情報は、監視情報を更に含んでいてもよい。監視情報は、監視対象のソフトウェアの特定情報を示す。なお、監視情報は、監視対象のソフトウェアの識別情報を示すものであってもよい。
【０１３７】
この場合、更新装置１０の更新情報生成部１２Ｂは、監視情報を更に含む更新情報を生成すればよい。例えば、更新情報生成部１２Ｂは、旧ソフトウェア情報１４Ｂに登録されているソフトウェアの内、危殆化したソフトウェアを特定する。例えば、更新情報生成部１２Ｂは、情報処理装置２０へ送信してから所定期間以上経過したソフトウェアや、情報処理装置２０で所定期間以上実行されていないソフトウェアを、危殆化したソフトウェアとして特定する。
【０１３８】
例えば、更新情報生成部１２Ｂは、情報処理装置２０で所定期間以上実行されていないソフトウェアの特定情報や、インストールから所定期間以上経過したソフトウェアの特定情報を、情報処理装置２０から取得する。そして、更新情報生成部１２Ｂは、情報処理装置２０から受信した情報に基づいて、危殆化したソフトウェアを特定すればよい。
【０１３９】
そして、更新情報生成部１２Ｂは、危殆化したソフトウェアの特定情報を示す監視情報を更に含む、更新情報を、情報処理装置２０へ送信すればよい。
【０１４０】
この場合、情報処理装置２０の特定部２２Ｇは、上記と同様にして第２特定情報を特定すると共に、監視情報に示される特定情報を、第２特定情報として更に特定すればよい。
【０１４１】
なお、本実施の形態では、ホワイトリスト２４Ａと管理情報２４Ｂを別のテーブルとして管理する形態を説明した。しかし、ホワイトリスト２４Ａと管理情報２４Ｂを、同一のテーブルで管理してもよい。
【０１４２】
（変形例１）
なお、上記実施の形態では、出力制御部２２Ｉは、検証部２２Ｆによる検証結果を出力部２６Ｂから出力する制御を行う形態を説明した。しかし、出力制御部２２Ｉは、更に他の情報を出力部２６Ｂから出力してもよい。
【０１４３】
例えば、出力制御部２２Ｉは、第１取得部２２Ｅが取得した第１特定情報が、過去に特定部２２Ｇによって特定された第２特定情報と一致する場合、警告情報を出力部２６Ｂに出力してもよい。
【０１４４】
この場合、特定部２２Ｇは、上記実施の形態と同様に、ホワイトリスト２４Ａに第１特定情報を示す特定情報が登録されている場合、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する第２ソフトウェアの第２特定情報を、特定する。そして、さらに、特定部２２Ｇは、特定した第２特定情報に対応づけて、特定済であることを示すフラグを付与する。
【０１４５】
例えば、ホワイトリスト２４Ａを、特定情報にフラグを更に対応付けた構成とする。フラグは、例えば、第２特定情報として特定済である場合「１」であり、特定されていない場合「０」とする。
【０１４６】
特定部２２Ｇは、ホワイトリスト２４Ａにおける、第２特定情報として特定した特定情報に対応するフラグを「１」に変更する。なお、以下では、フラグが付与された状態は、フラグが「１」であることを示すものとして説明する。
【０１４７】
そして、出力制御部２２Ｉは、検証部２２Ｆで検証された第１ソフトウェアの第１特定情報にフラグが付与されている場合、該第１特定情報が過去に特定された第２特定情報と一致すると判別する。そして、出力制御部２２Ｉは、第１取得部２２Ｅが取得した第１特定情報が、過去に特定部２２Ｇによって特定された第２特定情報と一致する場合、警告情報を出力部２６Ｂに出力する。警告情報は、過去に第２特定情報として特定されたことを示す情報であればよい。
【０１４８】
出力部２６Ｂは、警告情報を出力する。例えば、出力部２６Ｂは、警告情報を示す音、警告情報を示す表示画面、警告情報を示す光を出力する。
【０１４９】
なお、本変形例では、削除部２２Ｈは、第２特定情報に関する情報の削除処理を実行しなくてもよい。また、削除部２２Ｈは、所定期間ごとに、ホワイトリスト２４Ａにおける、特定済であることを示すフラグを付与された第２特定情報に関する情報を、該ホワイトリスト２４Ａから削除してもよい。
【０１５０】
本変形例では、情報処理装置２０は、上記実施の形態と同様にして、更新処理を実行する（図８、図９参照）。一方、本変形例では、情報処理装置２０は、図１１に示す特定処理を実行することが好ましい。
【０１５１】
図１１は、本変形例の情報処理装置２０が実行する、特定処理の手順の一例を示すフローチャートである。
【０１５２】
本変形例では、情報処理装置２０は、上記実施の形態のステップＳ５００〜ステップＳ５０６（図１０参照）と同様にして、ステップＳ６００〜ステップＳ６０６の処理を実行する。そして、ステップＳ６０６で否定判断すると（ステップＳ６０６：Ｎｏ）、本ルーチンを終了する。
【０１５３】
ステップＳ６０６で肯定判断すると（ステップＳ６０６：Ｙｅｓ）、ステップＳ６０８へ進む。
【０１５４】
ステップＳ６０８では、出力制御部２２Ｉは、第１取得部２２Ｅで取得した第１特定情報が過去に特定された第２特定情報と一致するか否かを判断する（ステップＳ６０８）。一致する場合（ステップＳ６０８：Ｙｅｓ）、ステップＳ６１０へ進む。ステップＳ６１０では、出力制御部２２Ｉが、警告情報を出力部２６Ｂから出力する（ステップＳ６１０）。そして、ステップＳ６１２へ進む。ステップＳ６０８で否定判断した場合（ステップＳ６０８：Ｎｏ）、ステップＳ６１２へ進む。
【０１５５】
そして、実行部２２Ｄが、第１ソフトウェアを実行する（ステップＳ６１２）。次に、特定部２２Ｇが、ホワイトリスト２４Ａに、第１特定情報を示す特定情報が登録されているか否かを判断する（ステップＳ６１４）。登録されていない場合（ステップＳ６１４：Ｎｏ）、本ルーチンを終了する。一方、登録されている場合（ステップ６１４：Ｙｅｓ）、ステップＳ６１６へ進む。
【０１５６】
ステップＳ６１６では、特定部２２Ｇが、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する他のソフトウェアである第２ソフトウェアの特定情報を、第２特定情報として特定する（ステップＳ６１６）。
【０１５７】
次に、特定部２２Ｇは、ステップＳ６１６で特定した第２特定情報に、特定済を示すフラグを付与する（ステップＳ６１８）。そして、本ルーチンを終了する。
【０１５８】
以上説明したように、本変形例の情報処理装置２０は、上記実施の形態と同様に、実行対象の第１ソフトウェアの第１特定情報がホワイトリスト２４Ａに登録されている場合に、ホワイトリスト２４Ａにおける、該第１ソフトウェアに関係する第２ソフトウェアの第２特定情報を特定する。そして、本変形例の情報処理装置２０では、出力制御部２２Ｉは、第１特定情報が過去に特定された第２特定情報と一致する場合、警告情報を出力部２６Ｂに出力する。
【０１５９】
このため、本変形例の情報処理装置２０は、上記実施の形態と同様の効果が得られると共に、更に、可用性の低減を更に抑制することができる。
【０１６０】
（変形例２）
なお、上記実施の形態では、出力制御部２２Ｉは、検証部２２Ｆによる検証結果を出力部２６Ｂから出力する制御を行う形態を説明した。しかし、出力制御部２２Ｉは、第１ソフトウェアの実行を保留するように、更に実行部２２Ｄを制御してもよい。
【０１６１】
例えば、出力制御部２２Ｉは、第１取得部２２Ｅが取得した第１特定情報が、過去に特定部２２Ｇによって特定された第２特定情報と一致する場合、第１ソフトウェアの実行を保留するように実行部２２Ｄを制御し、且つ、警告情報を出力部２６Ｂに出力してもよい。
【０１６２】
そして、実行部２２Ｄは、警告情報に対する実行指示を受付けた場合、第１ソフトウェアを実行すればよい。
【０１６３】
この場合、特定部２２Ｇは、上記実施の形態と同様に、ホワイトリスト２４Ａに第１特定情報を示す特定情報が登録されている場合、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する第２ソフトウェアの第２特定情報を、特定する。そして、特定部２２Ｇは、上記変形例１と同様に、さらに、特定した第２特定情報に対応づけて、特定済であることを示すフラグを付与する。
【０１６４】
そして、出力制御部２２Ｉは、検証部２２Ｆで検証された第１ソフトウェアの第１特定情報にフラグが付与されている場合、該第１特定情報が過去に特定された第２特定情報と一致すると判別する。そして、出力制御部２２Ｉは、第１取得部２２Ｅが取得した第１特定情報が、過去に特定部２２Ｇによって特定された第２特定情報と一致する場合、警告情報を出力部２６Ｂに出力する。
【０１６５】
また、出力制御部２２Ｉは、この場合、第１ソフトウェアの実行を保留するように実行部２２Ｄを制御する。例えば、出力制御部２２Ｉは、検証部２２Ｆから受付けた検証結果を、実行指示を受付けるまで保留し、実行指示を受付けたときに、実行部２２Ｄへ出力すればよい。
【０１６６】
出力制御部２２Ｉは、実行指示を、入力部２６Ａから受け付ければよい。例えば、出力制御部２２Ｉが、警告情報を出力部２６Ｂへ出力する。ユーザは、出力部２６Ｂから出力された情報を把握し、入力部２６Ａを操作指示する。この操作指示により、ユーザは、第１ソフトウェアの実行を示す実行指示、または、実行不可を示す実行不可指示を操作入力する。入力部２６Ａは、受付けた実行指示または実行不可指示を、出力制御部２２Ｉへ出力する。
【０１６７】
出力制御部２２Ｉは、実行不可指示を受付けたときに、検証部２２Ｆの検証結果を実行部２２Ｄへ出力すればよい。
【０１６８】
なお、本変形例では、削除部２２Ｈは、第２特定情報に関する情報の削除処理を実行しなくてもよい。
【０１６９】
本変形例では、情報処理装置２０は、上記実施の形態と同様にして、更新処理を実行する（図８、図９参照）。一方、本変形例では、情報処理装置２０は、図１２に示す特定処理を実行することが好ましい。
【０１７０】
図１２は、本変形例の情報処理装置２０が実行する、特定処理の手順の一例を示すフローチャートである。
【０１７１】
本変形例では、情報処理装置２０は、上記実施の形態のステップＳ５００〜ステップＳ５０６（図１０参照）と同様にして、ステップＳ７００〜ステップＳ７０６の処理を実行する。そして、ステップＳ７０６で否定判断すると（ステップＳ７０６：Ｎｏ）、本ルーチンを終了する。
【０１７２】
ステップＳ７０６で肯定判断すると（ステップＳ７０６：Ｙｅｓ）、ステップＳ７０８へ進む。
【０１７３】
ステップＳ７０８では、出力制御部２２Ｉは、第１取得部２２Ｅで取得した第１特定情報が過去に特定された第２特定情報と一致するか否かを判断する（ステップＳ７０８）。不一致の場合（ステップＳ７０８：Ｎｏ）、ステップＳ７１４へ進む。
【０１７４】
一方、一致する場合（ステップＳ７０８：Ｙｅｓ）、ステップＳ７１０へ進む。ステップＳ７１０では、出力制御部２２Ｉが、警告情報を出力部２６Ｂから出力する（ステップＳ７１０）。
【０１７５】
次に、出力制御部２２Ｉは、入力部２６Ａから実行指示を受付けたか否かを判断する（ステップＳ７１２）。実行指示を受付けた場合（ステップＳ７１２：Ｙｅｓ）、ステップＳ７１４へ進む。一方、実行不可指示を受付けた場合（ステップＳ７１２：Ｎｏ）、本ルーチンを終了する。
【０１７６】
ステップＳ７１４では、実行部２２Ｄが、第１ソフトウェアを実行する（ステップＳ７１４）。次に、特定部２２Ｇが、ホワイトリスト２４Ａに、第１特定情報を示す特定情報が登録されているか否かを判断する（ステップＳ７１６）。登録されていない場合（ステップＳ７１６：Ｎｏ）、本ルーチンを終了する。一方、登録されている場合（ステップＳ７１６：Ｙｅｓ）、ステップＳ７１８へ進む。
【０１７７】
ステップＳ７１８では、特定部２２Ｇが、ホワイトリスト２４Ａにおける、第１ソフトウェアに関係する他のソフトウェアである第２ソフトウェアの特定情報を、第２特定情報として特定する（ステップＳ７１８）。
【０１７８】
次に、特定部２２Ｇは、ステップＳ７１８で特定した第２特定情報に、特定済を示すフラグを付与する（ステップＳ７２０）。そして、本ルーチンを終了する。
【０１７９】
以上説明したように、本変形例の情報処理装置２０は、上記実施の形態と同様に、実行対象の第１ソフトウェアの第１特定情報がホワイトリスト２４Ａに登録されている場合に、ホワイトリスト２４Ａにおける、該第１ソフトウェアに関係する第２ソフトウェアの第２特定情報を特定する。そして、本変形例の情報処理装置２０では、出力制御部２２Ｉは、第１特定情報が過去に特定された第２特定情報と一致する場合、第１ソフトウェアの実行を保留するように実行部２２Ｄを制御し、且つ、警告情報を出力部２６Ｂに出力する。そして、実行部２２Ｄは、警告情報に対する実行指示を受付けた場合、第１ソフトウェアを実行する。
【０１８０】
このため、本変形例の情報処理装置２０は、上記実施の形態と同様の効果が得られると共に、可用性の低減を更に抑制することができる。また、本変形例の情報処理装置２０は、情報処理装置２０のセキュリティレベルの向上を図ることができる。
【０１８１】
次に、上記実施の形態および変形例の更新装置１０および情報処理装置２０の、ハードウェア構成の一例を説明する。図１３は、上記実施の形態および変形例の更新装置１０および情報処理装置２０のハードウェア構成図の一例である。
【０１８２】
上記実施の形態および変形例の更新装置１０および情報処理装置２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１などの制御装置と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５２やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５３やＨＤＤ（ハードディスクドライブ）などの記憶装置と、各種機器とのインターフェースである通信Ｉ／Ｆ部５４と、各部を接続するバス６１とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１８３】
上記実施の形態および変形例の更新装置１０および情報処理装置２０では、ＣＰＵ５１が、ＲＯＭ５２からプログラムをＲＡＭ５３上に読み出して実行することにより、上記各機能がコンピュータ上で実現される。
【０１８４】
なお、上記実施の形態および変形例の更新装置１０および情報処理装置２０で実行される上記各処理を実行するためのプログラムは、ＨＤＤに記憶されていてもよい。また、上記実施の形態および変形例の更新装置１０および情報処理装置２０で実行される上記各処理を実行するためのプログラムは、ＲＯＭ５２に予め組み込まれて提供されていてもよい。
【０１８５】
また、上記実施の形態および変形例の更新装置１０および情報処理装置２０で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、上記実施の形態および変形例の更新装置１０および情報処理装置２０で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記実施の形態および変形例の更新装置１０および情報処理装置２０で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【０１８６】
なお、上記には、本発明の実施の形態および変形例を説明したが、上記実施の形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態および変形例やこれらの変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１８７】
２０  情報処理装置
２２Ａ  第２取得部
２２Ｃ  登録部
２２Ｄ  実行部
２２Ｅ  第１取得部
２２Ｇ  特定部
２２Ｈ  削除部
２２Ｉ  出力制御部
２２Ｊ  更新部
２６Ｂ  出力部
【図１】
2019049877.tif 000003
【図２】
2019049877.tif 000004
【図３】
2019049877.tif 000005
【図４】
2019049877.tif 000006
【図５】
2019049877.tif 000007
【図６】
2019049877.tif 000008
【図７】
2019049877.tif 000009
【図８】
2019049877.tif 000010
【図９】
2019049877.tif 000011
【図１０】
2019049877.tif 000012
【図１１】
2019049877.tif 000013
【図１２】
2019049877.tif 000014
【図１３】
2019049877.tif 000015