(57)【要約】【課題】想定外のプログラムなどのファイルに対する処理を効率よく制限できる情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】実施形態の情報処理装置は、書き込み検出部と、第１処理制御部と、を備える。書き込み検出部は、ファイルに対する書き込みを検出し、該書き込みにより書き換えられた前記ファイルのファイル情報を制限対象記憶部に登録する。第１処理制御部は、ファイルに対する処理が要求されたときに、前記制限対象記憶部が記憶するファイル情報に、処理が要求されたファイルのファイル情報が含まれていれば、該ファイルに対する処理を制限する。【選択図】図１
2019046266.tif 000002
【特許請求の範囲】
【請求項１】
ファイルに対する書き込みを検出し、該書き込みにより書き換えられた前記ファイルのファイル情報を制限対象記憶部に登録する書き込み検出部と、
ファイルに対する処理が要求されたときに、前記制限対象記憶部が記憶するファイル情報に、処理が要求されたファイルのファイル情報が含まれていれば、該ファイルに対する処理を制限する第１処理制御部と、
を備える情報処理装置。
【請求項２】
前記ファイルはプログラムであって、
前記第１処理制御部は、プログラムの実行開始が要求されたときに、前記制限対象記憶部が記憶するファイル情報に、実行開始が要求されたプログラムのファイル情報が含まれていれば、該プログラムの実行を制限する
請求項１に記載の情報処理装置。
【請求項３】
ファイルが正当か否かを検証する検証部と、
前記検証部により正当と判断されたファイルのファイル情報が前記制限対象記憶部に記憶されている場合に、該ファイル情報を前記制限対象記憶部から削除する第１更新部と、をさらに備える
請求項１または２に記載の情報処理装置。
【請求項４】
削除対象のファイル情報を指定する操作を受け付ける操作受付部と、
前記操作により指定されたファイル情報が前記制限対象記憶部に記憶されている場合に、該ファイル情報を前記制限対象記憶部から削除する第２更新部と、をさらに備える
請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
ファイルが正当か否かを検証する検証部と、
前記検証部により正当でないと判断されたファイルに対する処理を制限する第２処理制御部と、
前記検証部が正常に動作しているか否かを監視する検証監視部と、をさらに備え、
前記第１処理制御部は、前記検証監視部により前記検証部が正常に動作していないと判断されると動作を開始し、前記検証監視部により前記検証部が正常に動作していると判断されると動作を停止する
請求項１乃至４のいずれか一項に記載の情報処理装置。
【請求項６】
情報処理装置において実行される情報処理方法であって、
書き込み検出部が、ファイルに対する書き込みを検出し、該書き込みにより書き換えられた前記ファイルのファイル情報を制限対象記憶部に登録するステップと、
第１処理制御部が、ファイルに対する処理が要求されたときに、前記制限対象記憶部が記憶するファイル情報に、処理が要求されたファイルのファイル情報が含まれていれば、該ファイルに対する処理を制限するステップと、
を含む情報処理方法。
【請求項７】
コンピュータに、
ファイルに対する書き込みを検出し、該書き込みにより書き換えられた前記ファイルのファイル情報を制限対象記憶部に登録する機能と、
ファイルに対する処理が要求されたときに、前記制限対象記憶部が記憶するファイル情報に、処理が要求されたファイルのファイル情報が含まれていれば、該ファイルに対する処理を制限する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
情報処理装置は、プロセッサ回路やメモリなどを含む計算機システムを基本ハードウェアとして備え、ハードウェアの管理などを行うＯＳ（Operation  System）上でアプリケーションプログラムを実行することにより、用途に応じた様々な機能を実現することができる。一般的に、アプリケーションプログラムは実行ファイルの形態で情報処理装置にインストールされ、例えばユーザ操作に応じて実行が開始される。なお、情報処理装置は、単一の装置として構成されるものに限らない。複数の計算機システムが連携して動作する形態であってもよい。
【０００３】
情報処理装置は想定外のプログラムが実行されると、意図しない挙動をしたり深刻なダメージを受けたりする場合がある。このため、情報処理装置は、想定外のプログラムの実行開始が要求されたときに、そのプログラムの実行を制限する仕組みを持つことが望まれる。こうした観点から、プログラムの実行開始時にプログラムの改竄を検知して実行を停止させたり、予め許可されたプログラムのみを実行させたりする技術が提案されているが、想定外のプログラムなどのファイルに対する処理を、より効率的に制限できる仕組みが望まれている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５９１６０号公報
【特許文献２】特開２０１４−４８８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、想定外のプログラムなどのファイルに対する処理を効率よく制限できる情報処理装置、情報処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００６】
実施形態の情報処理装置は、書き込み検出部と、第１処理制御部と、を備える。書き込み検出部は、ファイルに対する書き込みを検出し、該書き込みにより書き換えられた前記ファイルのファイル情報を制限対象記憶部に登録する。第１処理制御部は、ファイルに対する処理が要求されたときに、前記制限対象記憶部が記憶するファイル情報に、処理が要求されたファイルのファイル情報が含まれていれば、該ファイルに対する処理を制限する。
【図面の簡単な説明】
【０００７】
【図１】第１実施形態に係る情報処理装置の機能的な構成例を示すブロック図。
【図２】制限対象記憶部が記憶するファイル情報の一例を示す図。
【図３】第１実施形態に係る情報処理装置の動作例を説明するフローチャート。
【図４】第２実施形態に係る情報処理装置の機能的な構成例を示すブロック図。
【図５】第２実施形態に係る情報処理装置の動作例を説明するフローチャート。
【図６】制限対象記憶部が記憶するファイル情報の一例を示す図。
【図７】第２実施形態の変形例に係る情報処理装置の機能的な構成例を示すブロック図。
【図８】第３実施形態に係る情報処理装置の機能的な構成例を示すブロック図。
【図９】第３実施形態に係る情報処理装置の動作例を説明するフローチャート。
【図１０】情報処理装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照しながら、実施形態に係る情報処理装置、情報処理方法およびプログラムについて詳細に説明する。なお、以下では、実施形態の情報処理装置が備える様々な機能のうち、本発明に関わる機能のみを図示して説明するが、情報処理装置が備える機能は以下で説明するものに限らない。また、以下の説明において、同様の機能を持つ構成要素については同一の符号を付して、重複した説明を適宜省略する。
【０００９】
＜第１実施形態＞
図１は、第１実施形態に係る情報処理装置１０の機能的な構成例を示すブロック図である。本実施形態の情報処理装置１０は、例えば図１に示すように、書き込み検出部１１と、制限対象記憶部１２と、処理検出部１３と、第１処理制御部１４とを備える。
【００１０】
書き込み検出部１１は、ファイルに対する書き込みを検出し、この書き込みによって書き換えられたファイルのファイル情報を、制限対象記憶部１２に登録する。ファイル情報は、例えばそのファイルにアクセスする経路を示すファイルパスなどである。なお、制限対象記憶部１２に登録されるファイル情報は、そのファイルを特定可能な情報であればよく、例えば、ｉｎｏｄｅ番号とデバイス番号の組み合わせなどを用いてもよい。
【００１１】
制限対象記憶部１２は、後述の第１処理制御部１４によって処理が制限される対象となるファイルのファイル情報を記憶する。このファイル情報が示すファイルは、上述のように、書き込み検出部１１によって書き込みが検出されたファイルであり、本実施形態では、書き込みにより書き換えられたファイルを制限の対象としている。
【００１２】
図２は、制限対象記憶部１２が記憶するファイル情報の一例を示す図である。例えば、制限対象記憶部１２に「/bin/test」というファイルパス（ファイル情報の一例）が登録されている状態で、ファイルの新規作成やコピーなどの操作によって、「/usr/bin/sample」というファイルパスで示されるファイルへの書き込みが発生すると、書き込み検出部１１はこれを検出し、制限対象記憶部１２に「/usr/bin/sample」を登録する。図２は、この書き込みが発生した後の制限対象記憶部１２に記憶されたファイル情報を示している。制限対象記憶部１２は、例えば図２に示すように、処理が制限される対象となるファイルが検出されるたびに、書き込み検出部１１により書き込みが検出されるたびにそのファイルのファイル情報が登録されるリスト形式で、制限対象となるファイルのファイル情報を記憶することができる。
【００１３】
処理検出部１３は、ファイルに対する処理開始の要求を検出し、そのファイルのファイル情報を第１処理制御部１４に渡す。例えば、ファイルに対する処理開始の要求がプログラムの実行開始の要求である場合、処理検出部１３は、ユーザによる明示的な操作や他のプログラムからの呼び出しなどを検出することで、プログラムの実行開始の要求を検出することができる。
【００１４】
第１処理制御部１４は、処理検出部１３からファイル情報を受け取ると、制限対象記憶部１２が記憶するファイル情報に、処理検出部１３から受け取ったファイル情報が含まれているか否かを確認する。そして、処理検出部１３から受け取ったファイル情報が制限対象記憶部１２に記憶されている場合に、第１処理制御部１４は、そのファイル情報で示されるファイルに対する処理を制限する。例えば、処理検出部１３によって実行開始の要求が検出されたプログラムのファイルパスが制限対象記憶部１２に記憶されている場合、第１処理制御部１４は、そのプログラムの実行を停止させる。なお、処理の制限として、ここではプログラムの実行停止（プログラムを実行させない）を例示しているが、これに限らない。例えば制限対象のファイルがプログラムであれば、デバッカプログラム上、所定の仮想マシン上、サンドボックス内など、所定の環境においてのみそのプログラムの実行を許可するなど、制限付きで実行を許可するといった制限を行うようにしてもよい。
【００１５】
図３は、本実施形態の情報処理装置１０の動作例を説明するフローチャートである。なお、図３のフローチャートは、プログラムの実行開始の要求を検出してからそのプログラムの実行を制御するまでの処理手順を示し、この図３のフローチャートで示す処理が実行される前に、書き込み検出部１１によって書き込みが検出されたファイルのファイル情報が制限対象記憶部１２に登録されているものとする。
【００１６】
例えばユーザによる明示的な操作や他のプログラムからの呼び出しなどによりプログラムの実行開始が要求されると、処理検出部１３がそのプログラムの実行開始の要求を検出する（ステップＳ１０１）。そして、処理検出部１３は、実行開始が要求されたプログラムのファイルパス（ファイル情報の一例）を抽出して（ステップＳ１０２）、第１処理制御部１４に渡す。
【００１７】
次に、第１処理制御部１４が、処理検出部１３から受け取ったファイルパスが、制限対象記憶部１２が記憶するファイル情報に含まれているか否かを判定する（ステップＳ１０３）。そして、制限対象記憶部１２が記憶するファイル情報にそのファイルパスが含まれていれば（ステップＳ１０３：Ｙｅｓ）、第１処理制御部１４は、そのプログラムの実行を停止させるように制御する（ステップＳ１０４）。一方、制限対象記憶部１２が記憶するファイル情報にそのファイルパスが含まれていなければ（ステップＳ１０３：Ｎｏ）、第１処理制御部１４は、そのプログラムの実行を開始させるように制御する（ステップＳ１０５）。
【００１８】
ここで、図２に例示したファイル情報が制限対象記憶部１２に記憶されていることを想定し、具体例を例示しながら、プログラムの実行開始が要求されたときの本実施形態の情報処理装置１０の動作をさらに説明する。
【００１９】
例えば、プログラム「ls」の実行開始が要求された場合、処理検出部１３は、このプログラムの実行開始の要求を検出する。そして、処理検出部１３は、プログラム「ls」のファイルパス「/bin/ls」を抽出し、それを第１処理制御部１４に渡す。第１処理制御部１４は、処理検出部１３から受け取ったファイルパス「/bin/ls」を、制限対象記憶部１２が記憶する図２に例示したファイル情報と照合する。この例では、処理検出部１３から受け取ったファイルパスが、制限対象記憶部１２が記憶するファイル情報に含まれていないため、第１処理制御部１４は、プログラム「ls」の実行を開始させるように制御する。
【００２０】
別の例として、プログラム「/usr/bin/sample」の実行開始が要求された場合は、処理検出部１３は、このプログラムの実行開始の要求を検知する。そして、処理検出部１３は、このプログラムのファイルパス「/usr/bin/sample」を抽出し、それを第１処理制御部１４に渡す。第１処理制御部１４は、処理検出部１３から受け取ったファイルパス「/usr/bin/sample」を、制限対象記憶部１２が記憶する図２に例示したファイル情報と照合する。この例では、処理検出部１３から受け取ったファイルパスが、制限対象記憶部１２が記憶するファイル情報に含まれているため、第１処理制御部１４は、プログラム「/usr/bin/sample」の実行を停止させるように制御する。つまり、本実施形態の情報処理装置１０は、書き換えられていないプログラム「ls」の実行を開始させ、書き換えられたプログラム「/usr/bin/sample」の実行は停止させるように、実行開始が要求されたプログラムの実行を制御できる。
【００２１】
以上、具体的な例を挙げながら説明したように、本実施形態の情報処理装置１０は、書き換えられたファイルのファイル情報を制限対象記憶部１２に登録し、プログラムの実行開始の要求など、ファイルに対する処理が要求された場合に、そのファイルのファイル情報が、制限対象記憶部１２が記憶するファイル情報に含まれていれば、そのファイルに対する処理を制限するようにしている。したがって、本実施形態の情報処理装置１０によれば、想定外のプログラムなどのファイルに対する処理を効率よく制限し、情報処理装置１０が意図しない挙動をしたり深刻なダメージを受けたりすることを有効に防止することができる。
【００２２】
なお、想定外のプログラムの実行を制限する技術として、ホワイトリスト技術がある。ホワイトリスト技術は、予めプログラムのファイルパスとそのハッシュ値を有するホワイトリストを作成し、プログラムの実行開始時にそのプログラムのハッシュ値がホワイトリストに格納されたハッシュ値と一致する場合にのみ、そのプログラムの実行を許可する方式である。また、プログラムのハッシュ値だけでなく、署名検証なども行うといった、より安全な方式も提案されている。しかし、ホワイトリスト技術は、実行を許可するプログラムに関する情報を持つホワイトリストを予め作成しなければならず、また、プログラムの実行開始時に署名検証やハッシュ値を計算するなど、処理負荷が大きい。これに対し本実施形態の情報処理装置１０は、ファイルに対する書き込みを検出し、書き換えられたファイルに対する処理を制限する方式を採用するため、ホワイトリスト技術を用いる場合に必要とされるホワイトリストの作成、署名検証やハッシュ値計算などの処理が不要となり、ホワイトリスト技術を用いる場合と比較して、より効率的に、想定外のプログラムなどのファイルに対する処理を制限することができる。
【００２３】
（第１変形例）
上述の説明では、プログラムの実行開始の要求を検出し、制限対象記憶部１２が記憶するファイル情報に、実行開始の要求があったプログラムのファイルパスが含まれている場合に、そのプログラムの実行を制限する例を説明した。しかし、本実施形態の情報処理装置１０は、プログラムの実行開始に限らず、ファイルに対する様々な処理に対しても同様に制限を加えることができる。例えば、処理検出部１３がファイルの読み込みの要求を検出し、読み込みが要求されたファイルのファイル情報が制限対象記憶部１２に記憶されている場合に、第１処理制御部１４がそのファイルを読み込まないように制御するといった例が挙げられる。
【００２４】
＜第２実施形態＞
次に、第２実施形態について説明する。本実施形態は、上述の第１実施形態に対し、ファイルの更新に対応する機能を付加したものである。すなわち、上述の第１実施形態では、書き換えられたファイルに対する処理を制限するため、更新によって書き換えられたファイルに対する処理も制限されてしまう。そこで、本実施形態では、ファイルの正当性を検証した結果、正当と判断されたファイルのファイル情報を制限対象記憶部１２から削除することで、正当に更新されたファイルに対する処理が制限されることを防止する。
【００２５】
図４は、第２実施形態に係る情報処理装置１０の機能的な構成例を示すブロック図である。本実施形態の情報処理装置１０は、図４に示すように、上述の第１実施形態の構成（図１参照）に加えて、検証部１５と、第１更新部１６とをさらに備える。
【００２６】
検証部１５は、ファイルが正当か否かを検証する。ファイルがプログラムである場合の検証部１５の検証方法の具体例としては、ホワイトリスト技術による検証方法がある。この方法は、プログラムの実行開始時に、そのファイルパスとハッシュ値を計算し、それらがホワイトリストに含まれる場合には実行を許可し、そうでなければ実行を禁止する。なお、検証部１５はファイルの正当性を検証するものであればよく、ホワイトリスト技術による検証方法とは異なる他の方法によりファイルの正当性を検証してもよい。
【００２７】
第１更新部１６は、検証部１５による検証完了を検知して検証結果を抽出し、検証部１５によって正当と判断されたファイルのファイル情報が制限対象記憶部１２に記憶されている場合に、そのファイル情報を制限対象記憶部１２から削除する。例えば第１更新部１６は、検証部１５が正当性を検証したプログラムのファイルパスと、そのプログラムが正当か否かを示す検証結果を、検証部１５による検証が行われるたびに抽出する。そして、検証結果が正当であることを示す場合に、そのプログラムのファイルパスが、制限対象記憶部１２が記憶するファイル情報に含まれているか否かを確認し、含まれている場合にそのファイルパスを制限対象記憶部１２から削除する。
【００２８】
図５は、本実施形態の情報処理装置１０の動作例を説明するフローチャートである。なお、図５のフローチャートは、検証部１５がプログラムの検証を行うたびに第１更新部１６によって実行される処理手順を示している。処理検出部１３と第１処理制御部１４は、図５のフローチャートで示す処理とは別に、第１実施形態と同様の手順（図３参照）で処理を行う。
【００２９】
検証部１５によるプログラムの検証が完了すると、第１更新部１６は検証完了を検出し（ステップＳ２０１）、そのプログラムのファイルパスと検証結果を抽出する（ステップＳ２０２）。そして、第１更新部１６は、抽出した検証結果に基づいて検証部１５によるプログラムの検証が成功したか否かを判定し（ステップＳ２０３）、プログラムの検証が成功している場合は（ステップＳ２０３：Ｙｅｓ）、さらに、抽出したファイルパスが、制限対象記憶部１２が記憶するファイル情報に含まれているか否かを判定する（ステップＳ２０４）。そして、制限対象記憶部１２が記憶するファイル情報にそのファイルパスが含まれていれば（ステップＳ２０４：Ｙｅｓ）、第１更新部１６は、そのファイルパスを制限対象記憶部１２から削除する（ステップＳ２０５）。なお、検証部１５によるプログラムの検証が失敗した場合や（ステップＳ２０３：Ｎｏ）、検証に成功したプログラムのファイルパスが制限対象記憶部１２に記憶されていない場合は（ステップＳ２０４：Ｎｏ）、そのまま処理を終了する。
【００３０】
ここで、図２に例示したファイル情報が制限対象記憶部１２に記憶されていることを想定し、具体例を例示しながら、検証部１５によりプログラムの検証が行われたときの本実施形態の情報処理装置１０の動作をさらに説明する。
【００３１】
例えば、検証部１５がプログラム「/usr/bin/sample」の正当性を検証し、その結果がプログラム「/usr/bin/sample」が正当であることを示す検証成功であったとする。このとき、第１更新部１６は、検証部１５によるプログラムの検証完了を検出し、検証対象となったプログラムのファイルパス「/usr/bin/sample」と検証結果である「検証成功」を抽出する。次に、第１更新部１６は、検証結果が検証成功であるので、ファイルパス「/usr/bin/sample」が制限対象記憶部１２に記憶されているかを確認する。ここでは図２に示すように、ファイルパス「/usr/bin/sample」が制限対象記憶部１２に記憶されているため、第１更新部１６は、このファイルパス「/usr/bin/sample」を制限対象記憶部１２から削除する。その結果、制限対象記憶部１２が記憶するファイル情報が、図６に示すように更新される。
【００３２】
なお、ここでは検証部１５がプログラムの正当性を検証するものとして説明したが、プログラム以外の様々なファイルについても同様に、検証部１５が正当と判断したファイルのファイル情報が、制限対象記憶部１２が記憶するファイル情報に含まれていれば、第１更新部１６は、そのファイル情報を制限対象記憶部１２から削除する。
【００３３】
以上、具体的な例を挙げながら説明したように、本実施形態の情報処理装置１０は、検証部１５により正当と判断されたファイルのファイル情報が、制限対象記憶部１２が記憶するファイル情報に含まれている場合に、そのファイル情報を制限対象記憶部１２から削除するようにしている。したがって、本実施形態の情報処理装置１０によれば、不正に書き換えられたファイルに対する処理を制限しつつ、正常に書き換えられたファイルに対する処理は許可することができ、例えば、正当に更新されたプログラムに対する実行開始が制限されるといった不都合を有効に防止することができる。
【００３４】
（第２変形例）
上述の説明では、検証部１５による検証結果に基づいて制限対象記憶部１２が記憶するファイル情報を更新する例を説明した。しかし、制限対象記憶部１２が記憶するファイル情報を、例えばコンソールやウェブインタフェースなどを経由して手動で更新できるように構成してもよい。
【００３５】
図７は、本変形例に係る情報処理装置１０の機能的な構成例を示すブロック図である。本変形例に係る情報処理装置１０は、図７に示すように、上述の第２実施形態の構成（図４参照）と比較して、検証部１５と第１更新部１６の代わりに、操作受付部１７と第２更新部１８を備える。
【００３６】
操作受付部１７は、削除対象のファイル情報を指定する操作を受け付ける。ここでの操作は、例えば、制限対象記憶部１２が記憶するファイル情報のリストを表示して、そのリストの中から削除対象のファイル情報をユーザが選択する操作であってもよいし、ユーザが任意にファイル情報を削除対象として指定する操作であってもよい。また、上述の第２実施形態と本変形例とを組み合わせ、検証部１５により正当と判断されたファイルのファイル情報を削除するか否かをユーザに問い合わせ、そのファイル情報を削除することを指示する操作があった場合に、その操作を削除対象のファイル情報を指定する操作として、操作受付部１７が受け付ける構成としてもよい。
【００３７】
第２更新部１８は、操作受付部１７が受け付けた操作により指定されたファイル情報が制限対象記憶部１２に記憶されている場合に、そのファイル情報を制限対象記憶部１２から削除する。例えば、プログラムの変更を伴うシステム更新を行う場合には、システム更新によって変更されたプログラムのファイルパスが制限対象記憶部１２に登録される。この場合、変更されたプログラムのファイルパスを削除対象として指定する操作が操作受付部１７によって受け付けられると、第２更新部１８は、その変更されたプログラムのファイルパスを制限対象記憶部１２から削除する。
【００３８】
なお、本変形例では、ユーザ操作に応じて制限対象記憶部１２からファイル情報を削除することで制限対象記憶部１２を更新しているが、本変形例を上述の第２実施形態と組み合わせ、ユーザ操作に応じて制限対象記憶部１２を更新する機能と、検証部１５の検証結果に応じて制限対象記憶部１２を自動的に更新する機能との双方を、情報処理装置１０に持たせるようにしてもよい。この場合、情報処理装置１０は、上述の第２実施形態の構成に対し、操作受付部１７と第２更新部１８とを付加した構成となる。
【００３９】
＜第３実施形態＞
次に、第３実施形態について説明する。本実施形態は、制限対象記憶部１２が記憶するファイル情報に基づく処理の制限を、ファイルに対する検証結果に基づく処理の制限と連携させることで、多重防御を実現する例である。
【００４０】
図８は、第３実施形態に係る情報処理装置１０の機能的な構成例を示すブロック図である。本実施形態の情報処理装置１０は、図８に示すように、上述の第２実施形態の構成（図４参照）に加えて、第２処理制御部１９と、検証監視部２０とをさらに備える。
【００４１】
第２処理制御部１９は、検証部１５による検証によって正当でないと判断されたファイルに対する処理を制限する。第２処理制御部１９による処理の制限は、第１処理制御部１４と同様である。すなわち、ファイルに対する処理がプログラムの実行開始であれば、第２処理制御部１９は、そのプログラムの実行を停止させるといった制御を行う。
【００４２】
検証監視部２０は、検証部１５が正常に動作しているか否かを監視して、検証部１５が正常に動作しているか否かに応じて、処理検出部１３および第１処理制御部１４の動作を制御する。例えば検証監視部２０は、検証部１５が正常に動作しているか否かを定期的に監視して、検証部１５が正常に動作していないと判断すると、処理検出部１３に検出開始を要求する。これにより、処理検出部１３がファイル処理（ファイルに対する処理開始の要求）の検出を開始し、これに応じて第１処理制御部１４が動作を開始する。一方、検証部１５が正常に動作していると判断すると、検証監視部２０は、処理検出部１３に検出停止を要求する。これにより、処理検出部１３がファイル処理の検出を停止し、第１処理制御部１４も動作を停止する。
【００４３】
なお、検証部１５が正常に動作しているか否かを監視する方法は特に限定されるものではなく、様々な方法を利用できる。例えば、現在稼働しているプロセスのリストを参照し、そのリストに検証部１５のプロセスが含まれているかを確認する方法や、検証部１５に対して所定のメッセージを送信し、そのメッセージの応答を受信できた場合に検証部１５が正常に動作していると判断する方法などを用いることができる。
【００４４】
図９は、本実施形態の情報処理装置１０の動作例を説明するフローチャートである。なお、図９のフローチャートは、検証監視部２０によって定期的に実行される処理手順を示している。処理検出部１３と第１処理制御部１４は、検証監視部２０が処理検出部１３に検出開始を要求した後、第１実施形態と同様の手順（図３参照）で処理を行う。
【００４５】
検証監視部２０は、定期的な監視によって、検証部１５が正常に動作しているか否かを確認する（ステップＳ３０１）。そして、検証部１５が正常に動作していないと判断すると（ステップＳ３０１：Ｎｏ）、検証監視部２０は、処理検出部１３に対して検出開始を要求し、処理検出部１３によるファイル処理の検出を開始させる（ステップＳ３０２）。一方、検証部１５が正常に動作いていると判断すると（ステップＳ３０１：Ｙｅｓ）、検証監視部２０は、処理検出部１３に対して検出停止を要求し、処理検出部１３によるファイル処理の検出を停止させる（ステップＳ３０３）。
【００４６】
以上説明したように、本実施形態の情報処理装置１０は、検証部１５が正常に動作しているか否かを監視し、検証部１５が正常に動作していないときに、第１処理制御部１４による処理の制限、つまり、制限対象記憶部１２が記憶するファイル情報に基づく処理の制限を実行するようにしている。したがって、本実施形態によれば、第１処理制御部１４と第２処理制御部１９とを同時に稼働させることによるパフォーマンス劣化を防止することができる。また、計算機システムの安全性を強化する方法として、多重防御と呼ばれる手法がある。本実施形態のように、第１処理制御部１４と第２処理制御部１９といった、異なる複数の処理制御部を設けることにより、１つの処理制御部が攻撃された場合であっても別の処理制御部によってこれを防止することができる。つまり、本実施形態のように情報処理装置１０を構成することにより、より安全性を高めることが可能となる。
【００４７】
なお、情報処理装置１０のパフォーマンスを維持するために、検証部１５が正常に動作していないときに、検証監視部２０が検証部１５に対して検証停止を要求し、検証部１５によるファイルの検証処理を停止させてもよい。
【００４８】
以上、第１実施形態、第１変形例、第２実施形態、第２変形例および第３実施形態を説明したが、上述の各実施形態および各変形例は、任意に組み合わせて実施することも可能である。
【００４９】
＜補足説明＞
上述の各実施形態および各変形例の情報処理装置１０は、例えば、一般的なコンピュータを構成するハードウェアと、コンピュータで実行されるプログラム（ソフトウェア）との協働により実現することができる。上述の各実施形態および各変形例として説明した情報処理装置１０の機能は、例えば、コンピュータが、ＲＯＭ（Read  Only  Memory）などの不揮発メモリに予めファームウェアとして格納されたプログラムを実行することによって実現することができる。
【００５０】
図１０は、情報処理装置１０のハードウェア構成例を示すブロック図である。情報処理装置１０は、例えば図１０に示すように、ＣＰＵ（Central  Processing  Unit）やＧＰＵ（Graphics  Processing  Unit）などのプロセッサ回路１０１と、ＲＡＭ（Random  Access  Memory）やＲＯＭなどのメモリ１０２と、ＨＤＤ（Hard  Disk  Drive）やＳＤＤ（Solid  State  Drive）などのストレージデバイス１０３と、入力デバイス１０６やディスプレイ１０７などの周辺機器を接続するための入出力Ｉ／Ｆ１０４と、外部機器と通信を行う通信Ｉ／Ｆ１０５と、を備えた一般的なコンピュータ（計算機システム）としてのハードウェア構成を採用することができる。そして、例えば、プロセッサ回路１０１がメモリ１０２を利用してファームウェアのプログラムを実行することにより、上述の書き込み検出部１１、処理検出部１３、第１処理制御部１４、検証部１５、第１更新部１６、操作受付部１７、第２更新部１８、第２処理制御部１９、検証監視部２０など、上述の各実施形態および各変形例の情報処理装置１０の各部を実現することができる。また、制限対象記憶部１２は、例えばストレージデバイス１０３を用いて実現することができる。
【００５１】
すなわち、上記の各部は、例えば、ファームウェアを構成するプログラムとしてＲＯＭなどに格納されてコンピュータに実装され、コンピュータが備える１以上のプロセッサがＲＯＭからプログラムをＲＡＭ上にロードして実行することにより、上記の各部をＲＡＭ上で生成することができる。
【００５２】
なお、上述の各実施形態および各変形例の情報処理装置１０の各部を実現するためのプログラムは、ＲＯＭなどの不揮発メモリに予め格納して提供する形態のほか、例えば、インターネットなどのネットワークに接続された他のコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記プログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。また、上記プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供するようにしてもよい。
【００５３】
なお、上述の各実施形態および各変形例の情報処理装置１０の各部は、その一部または全部が、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェアにより実現される構成であってもよい。
【００５４】
また、上述の各実施形態および各変形例の情報処理装置１０は、複数台のコンピュータを通信可能に接続したネットワークシステムとして構成し、上述の各部を複数台のコンピュータに分散して実現する構成であってもよい。また、上述の各実施形態および各変形例の情報処理装置１０は、クラウドシステム上で動作する仮想マシンであってもよい。
【００５５】
以上、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５６】
１０  情報処理装置
１１  書き込み検出部
１２  制限対象記憶部
１３  処理検出部
１４  第１処理制御部
１５  検証部
１６  第１更新部
１７  操作受付部
１８  第２更新部
１９  第２処理制御部
２０  検証監視部
【図１】
2019046266.tif 000003
【図２】
2019046266.tif 000004
【図３】
2019046266.tif 000005
【図４】
2019046266.tif 000006
【図５】
2019046266.tif 000007
【図６】
2019046266.tif 000008
【図７】
2019046266.tif 000009
【図８】
2019046266.tif 000010
【図９】
2019046266.tif 000011
【図１０】
2019046266.tif 000012