処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2020110726 - アプリケーション動作制御装置、アプリケーション動作制御方法、および、アプリケーション動作制御プログラム

Document

明 細 書

発明の名称 アプリケーション動作制御装置、アプリケーション動作制御方法、および、アプリケーション動作制御プログラム

技術分野

0001  

背景技術

0002   0003   0004   0005   0006  

先行技術文献

特許文献

0007  

非特許文献

0008  

発明の概要

発明が解決しようとする課題

0009  

課題を解決するための手段

0010  

発明の効果

0011  

図面の簡単な説明

0012  

発明を実施するための形態

0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054  

符号の説明

0055  

請求の範囲

1   2   3   4   5   6   7   8  

図面

1   2   3   4   5   6   7   8   9  

明 細 書

発明の名称 : アプリケーション動作制御装置、アプリケーション動作制御方法、および、アプリケーション動作制御プログラム

技術分野

[0001]
 本発明は、アプリケーション動作制御装置、アプリケーション動作制御方法、および、アプリケーション動作制御プログラムに関する。

背景技術

[0002]
 アプリケーションの異常動作を防止するためには、アプリケーションの完全性が損なわれた状況で稼働状態にしないことが必要である。なお、稼働状態とは、プロセスが生成されている(つまり、プロセスIDが与えられている)状態であり、稼働状態ではない(停止状態)とは、プロセスが停止している状態である。
[0003]
 ここで、アプリケーションの動作に関連するものは、例えば、以下のようなものが考えられる。
[0004]
 (1)アプリケーション開発者が管理するもの(例えば、アプリケーションの実行ファイル、設定ファイル、ライブラリ等)
 (2)アプリケーション開発者以外が管理し、動作に直接関わるもの(例えば、共有ライブラリ等)
 (3)アプリケーション開発者以外が管理し、動作に直接関わらないがサービス提供において必要となるもの(例えば、当該アプリケーションと連携して動作する他のアプリケーション等)
[0005]
 つまり、アプリケーションの異常動作を防止するためには、当該アプリケーションの動作に関連するもの(例えば、ファイルやアプリケーション)の完全性の確認結果に応じた動作の制御が必要である。
[0006]
 例えば、AP(アプリケーション)1~AP3の3つのAPが連携してサービスを提供する場合を考える。この場合、サービスを正しく動作させるためには、AP1の完全性を確認して動作を制御するだけではなく、AP2およびAP3の完全性も確認して動作を制御する必要がある。

先行技術文献

特許文献

[0007]
特許文献1 : 特開2009-80772号公報

非特許文献

[0008]
非特許文献1 : Sophos Anti-Virus for Linux: Fanotify 概要、[平成30年11月19日検索]、インターネット<URL:https://community.sophos.com/kb/ja-jp/118216>
非特許文献2 : Tripwire Enterprise、[平成30年11月19日検索]、インターネット<URL:https://www.tripwire.co.jp/products/enterprise/>

発明の概要

発明が解決しようとする課題

[0009]
 しかし、従来技術(例えば、特許文献1、非特許文献1,2に記載の技術)は、アプリケーションに関連するファイルに起因する異常動作に対処することはできなかった。そこで、本発明は、アプリケーションに関連するファイルに起因する異常動作を防止することを課題とする。

課題を解決するための手段

[0010]
 前記した課題を解決するため、本発明は、アプリケーションと前記アプリケーションの完全性を判定する際に完全性を確認すべきファイルである関連ファイルとを対応付けて示した関連ファイル情報と、前記アプリケーションと当該アプリケーションの完全性が損なわれた場合に影響を受ける可能性のあるアプリケーションである関連アプリケーションとを対応付けて示した関連アプリケーション情報とを記憶する記憶部と、前記アプリケーションの関連ファイルの完全性を判定する判定部と、前記アプリケーションの関連ファイルのうち、いずれかの関連ファイルの完全性が損なわれている判定された場合、動作制御の対象のアプリケーションとして、前記関連ファイル情報から、前記完全性が損なわれていると判定された関連ファイルに対応付けられているアプリケーションを抽出し、前記関連アプリケーション情報から、当該アプリケーションに対応付けられている関連アプリケーションを抽出する制御対象抽出部とを備えることを特徴とする。

発明の効果

[0011]
 本発明によれば、アプリケーションに関連するファイルに起因する異常動作を防止することができる。

図面の簡単な説明

[0012]
[図1] 図1は、アプリケーション(AP)動作制御装置の構成例を示す図である。
[図2] 図2は、図1の関連AP情報の例を示す図である。
[図3] 図3は、図1の関連ファイル情報の例を示す図である。
[図4] 図4は、図1の正解情報の例を示す図である。
[図5] 図5は、図1の正解情報の例を示す図である。
[図6] 図6は、図1のAP動作制御装置の処理手順の例を示すフローチャートである。
[図7] 図7は、冗長構成のAPを含む関連AP情報の例を示す図である。
[図8] 図8は、互いに連携して動作するAP群の例を示す図である。
[図9] 図9は、AP動作制御プログラムを実行するコンピュータの例を示す図である。

発明を実施するための形態

[0013]
 以下、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。図1を用いて、本実施形態のアプリケーション(AP)動作制御装置10の構成例を説明する。なお、AP動作制御装置10の制御対象となるAPは、AP動作制御装置10内で動作するAPであってもよいし、AP動作制御装置10の外部で動作するAPであってもよい。
[0014]
[構成]
 AP動作制御装置10は、APの動作制御を行う装置であり、例えば、制御部11と、記憶部12と、ファイル完全性判定部(判定部)13と、制御対象抽出部14と、AP動作制御部15とを備える。
[0015]
 制御部11は、記憶部12と、ファイル完全性判定部13と、制御対象抽出部14と、AP動作制御部15とを制御する。
[0016]
 記憶部12は、関連AP情報と、関連ファイル情報と、正解情報とを記憶する。
[0017]
 関連AP情報は、APごとに当該APの完全性が損なわれた場合に影響を受ける可能性のあるAPを示した情報である。この関連AP情報は、例えば、APごとに当該APの動作に関連するAP(関連AP)のプロセス名を示した情報である(図2参照)。なお、関連AP情報における関連APのプロセス名に代えて、例えば、関連APの実行ファイルのファイルパス名を用いてもよい。
[0018]
 関連ファイル情報は、APごとに当該APの完全性を判定する際に完全性を確認すべきファイルを示した情報である。換言すると、関連ファイル情報は、あるファイル(関連ファイル)の完全性が損なわれた場合に、影響を受ける可能性のあるAPを示した情報である。
[0019]
 この関連ファイル情報は、例えば、APごとに当該APの動作に関連するファイル(関連ファイル)のファイルパスを示した情報である(図3参照)。例えば、図3に示す関連ファイル情報は、AP1の完全性を判定したければ、AP1に対応付けられたファイルパス(「/a/b/f1」および「/c/f2」)の関連ファイルすべてについて完全性を確認する必要があることを示す。また、図3に示す関連ファイル情報は、ファイルパス「/a/b/f1」および「/c/f2」のいずれかの関連ファイルの完全性が損なわれた場合、影響を受ける可能性のあるAPは「AP1」であることを示す。
[0020]
 正解情報は、関連ファイルの完全性を判定するために用いられる情報である。この正解情報は、例えば、ファイルデータのダイジェスト値が用いられる。例えば、図4に示す正解情報は、関連ファイルのファイルパスと、当該ファイルパスのファイルデータのダイジェスト値とを対応付けた情報である。例えば、図4に示す正解情報は、ファイルパス「/a/b/f1」の関連ファイルのダイジェスト値が「123456abcd」であれば、当該関連ファイルの完全性は損なわれていないと判定される。
[0021]
 なお、この正解情報は、関連ファイルが格納されるディレクトリパスと、そのディレクトリの直下のファイルまたはファイルパスとを示した情報であってもよい。
[0022]
 例えば、図5に示す正解情報は、関連ファイルの格納されるディレクトリパス(確認対象ディレクトリパス)と、当該ディレクトリの直下の1以上のファイルパスとを対応付けた情報である。例えば、図5に示す正解情報は、関連ファイルが格納されるディレクトリパスが「/a/b/d1/」である場合、当該ディレクトリパスの直下に、ファイルパス「/a/b/d1/f1」、「/a/b/d1/f5」および「/a/b/d1/d3」が過不足なくあることが確認できれば、当該関連ファイルの完全性は損なわれていないことを示す。
[0023]
 なお、正解情報として、上記の他にも、関連ファイルのファイル所有者の情報、権限等を示した情報を用いてもよい。
[0024]
 次に、ファイル完全性判定部13を説明する。ファイル完全性判定部13は、APの関連ファイルを、当該関連ファイルの正解情報と比較することにより、当該関連ファイルの完全性を判定する。
[0025]
 例えば、ファイル完全性判定部13は、関連ファイル情報(図3参照)に示されるAP1の関連ファイルそれぞれについて、当該関連ファイルのダイジェスト値を計算し、計算したダイジェスト値が正解情報(図4参照)に示される当該関連ファイルのダイジェスト値と一致すれば、完全性が損なわれていないと判定する。一方、ファイル完全性判定部13は、当該関連ファイルのダイジェスト値を計算し、計算したダイジェスト値が正解情報(図4参照)に示される当該関連ファイルのダイジェスト値と一致しなければ、当該関連ファイルの完全性が損なわれていると判定する。そして、ファイル完全性判定部13は、APの関連ファイルのうち、いずれか1つでも完全性が損なわれていると判定した場合、完全性が損なわれていると判定した関連ファイルを制御対象抽出部14へ通知する。
[0026]
 制御対象抽出部14は、制御対象となるAPを抽出する。具体的には、制御対象抽出部14は、ファイル完全性判定部13により完全性が損なわれていると判定された関連ファイルに対応付けられるAPを関連ファイル情報(図3参照)から抽出する。また、制御対象抽出部14は、関連AP情報(図2参照)から、当該抽出したAPに対応付けられる関連APを抽出する。
[0027]
 例えば、ファイル完全性判定部13において、図3に示す関連ファイル情報に示される関連ファイルのうち、ファイルパス「/a/b/f1」の関連ファイルの完全性が損なわれていると判定された場合を考える。
[0028]
 この場合、制御対象抽出部14は、図3に示す関連ファイル情報からファイルパス「/a/b/f1」に対応付けられているAP1を抽出する。次に、制御対象抽出部14は、関連AP情報(図2参照)から、AP1に対応付けられている関連AP(AP3)を抽出する。
[0029]
 また、制御対象抽出部14は、関連AP情報に、当該抽出した関連APに対応付けられている関連APがさらにある場合、その関連APも抽出する。制御対象抽出部14は、このような処理を関連APが抽出できなくなるまで繰り返す。
[0030]
 例えば、制御対象抽出部14は、図2に示す関連AP情報から、AP3の関連APであるAP5を抽出する。なお、図2に示す関連AP情報において、AP3の関連APとして、AP1が記載されているが、AP1は既に抽出済みなので抽出しない。また、制御対象抽出部14は、図2に示す関連AP情報において、AP5の関連APとして、AP3が記載されているが、AP3は既に抽出済みなので抽出しない。以上の処理により、制御対象抽出部14は、図2に示す関連AP情報からAP3およびAP5を抽出する。そして、制御対象抽出部14は、関連ファイル情報から抽出したAP1と、関連AP情報から抽出したAP3およびAP5とをAP動作制御部15へ出力する。
[0031]
 AP動作制御部15は、制御対象抽出部14により抽出されたAPの動作制御を行う。例えば、AP動作制御部15は、制御対象抽出部14により抽出されたAP1、AP3、AP5が稼働している場合、これらのAPを停止させる。
[0032]
 このようなAP動作制御装置10によれば、APの関連ファイルに起因する異常動作を防止することができる。
[0033]
[処理手順]
 次に、図6を用いて、AP動作制御装置10の処理手順の例を説明する。なお、ここではAP動作制御装置10が、起動対象のAPの関連ファイルの完全性の判定を行う場合を例に説明する。
[0034]
 AP動作制御装置10のファイル完全性判定部13は、起動対象のAPの関連ファイルの完全性の判定を行う(S1)。
[0035]
 例えば、ファイル完全性判定部13は、関連ファイル情報(図3参照)から抽出した、起動対象のAPの関連ファイルすべてについて、記憶部12の正解情報を用いて、完全性の判定を行う。
[0036]
 ここで、ファイル完全性判定部13が、当該APの関連ファイルのうち、いずれかの関連ファイルについて完全性が損なわれていると判定した場合、完全性が損なわれている関連ファイルを制御対象抽出部14へ通知する。また、ファイル完全性判定部13は、関連ファイルの完全性が損なわれている旨の判定結果をAP動作制御部15へ通知する。
[0037]
 なお、ファイル完全性判定部13が、当該APのいずれの関連ファイルも完全性は損なわれていないと判定した場合、当該APのいずれの関連ファイルも完全性は損なわれていない旨の判定結果をAP動作制御部15へ通知する。
[0038]
 S1の後、制御対象抽出部14は、ファイル完全性判定部13から通知された関連ファイルに基づき、当該関連ファイルに対応付けられるAPの関連APを抽出する(S2)。
[0039]
 例えば、まず、制御対象抽出部14は、関連ファイル情報(図3参照)から、S1でファイル完全性判定部13から通知された関連ファイルに対応付けられるAPを抽出する。また、制御対象抽出部14は、関連AP情報(図2参照)から、当該抽出したAPの関連APを抽出する。そして、制御対象抽出部14は、抽出したAPおよび当該APの関連APをAP動作制御部15へ通知する。
[0040]
 S3の後、AP動作制御部15は、制御対象抽出部14により抽出されたAPの動作制御を行う(S3)。
[0041]
 例えば、ファイル完全性判定部13から通知された判定結果が、起動対象のAPのいずれかの関連ファイルの完全性が損なわれているというものである場合、AP動作制御部15は、制御対象抽出部14により通知されたAP(つまり、起動対象のAPおよび当該APの関連AP)を停止状態に遷移させる。
[0042]
 一方、ファイル完全性判定部13から通知された判定結果が、起動対象のAPのいずれの関連ファイルも完全性が損なわれていないというものである場合、AP動作制御部15は、当該APを起動させる(稼働状態に遷移させる)。なお、ファイル完全性判定部13から通知された判定結果が、起動対象のAPのいずれかの関連ファイルの完全性が損なわれたというものである場合において、当該APが記録モードであるとき(つまり、当該APの関連ファイルの完全性が損なわれた場合でも当該APの動作制御を行わないモードであるとき)、AP動作制御部15は、当該APを起動させる(稼働状態に遷移させる)。
[0043]
 なお、上記の例では、AP動作制御装置10が、起動対象のAPの関連ファイルを対象に完全性の判定を行う場合を例に説明したが、これに限定されない。例えば、AP動作制御装置10は、稼働中のAPの関連ファイルを対象に完全性の判定を行ってもよい。また、AP動作制御装置10は、関連ファイル情報に示されるいずれかの関連ファイルに何らかのアクセスが行われたことを契機に、当該関連ファイルの完全性の判定を行ってもよい。
[0044]
 以上説明したAP動作制御装置10によれば、APの関連ファイルの異常に起因する異常動作を防止することができる。
[0045]
 なお、前記したAP動作制御装置10による動作制御の対象となるAPが冗長構成となっている場合において、AP動作制御装置10は、冗長構成のすべてのAPの完全性が損なわれたときに初めて当該APの関連APを動作制御の対象とするようにしてもよい。
[0046]
 例えば、AP1の冗長構成としてAP4が存在し、AP1の完全性が損なわれたがAP4の完全性は損なわれていない場合を考える。この場合、図7に示す関連AP情報においてAP1の関連APはAP3であるが、AP1の冗長構成であるAP4の完全性は損なわれていないので、AP動作制御装置10は、AP3の完全性は損なわれないと判定する。よって、AP動作制御装置10はAP3を動作制御の対象としない。一方、AP1およびAP4の両方の完全性が損なわれた場合、AP動作制御装置10は、AP1およびAP4の関連APであるAP3およびAP5を動作制御の対象とする。
[0047]
 また、例えば、連携して動作するAPが複数種類ある場合等、完全性が損なわれても影響が及ばないことが明らかな関連APについては、動作制御の対象外としてもよい。例えば、図8に示すように、AP1およびAP3が連携して動作し、AP2、AP3およびA4が連携して動作し、例えば、AP4の完全性が損なわれたとしても、その影響はAP1には及ばない場合を考える。この場合、AP動作制御装置10は、AP4の完全性が損なわれたとしても、AP1を動作制御の対象としない。
[0048]
 また、AP動作制御装置10は、いずれかのAPにおいて完全性が損なわれたと判定したとしても、上記のようなAPの動作制御を行わず、アラートの出力のみを行ってもよい。
[0049]
[プログラム]
 また、上記の実施形態で述べたAP動作制御装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をAP動作制御装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等がその範疇に含まれる。また、AP動作制御装置10を、クラウドサーバに実装してもよい。
[0050]
 図7を用いて、上記のプログラム(AP動作制御プログラム)を実行するコンピュータの一例を説明する。図7に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
[0051]
 メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
[0052]
 ここで、図7に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
[0053]
 そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
[0054]
 なお、上記のAP動作制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。

符号の説明

[0055]
 10 AP動作制御装置
 11 制御部
 12 記憶部
 13 ファイル完全性判定部
 14 制御対象抽出部
 15 AP動作制御部

請求の範囲

[請求項1]
 アプリケーションと前記アプリケーションの完全性を判定する際に完全性を確認すべきファイルである関連ファイルとを対応付けて示した関連ファイル情報と、前記アプリケーションと当該アプリケーションの完全性が損なわれた場合に影響を受ける可能性のあるアプリケーションである関連アプリケーションとを対応付けて示した関連アプリケーション情報とを記憶する記憶部と、
 前記アプリケーションの関連ファイルの完全性を判定する判定部と、
 前記アプリケーションの関連ファイルのうち、いずれかの関連ファイルの完全性が損なわれている判定された場合、動作制御の対象のアプリケーションとして、前記関連ファイル情報から、前記完全性が損なわれていると判定された関連ファイルに対応付けられているアプリケーションを抽出し、前記関連アプリケーション情報から、当該アプリケーションに対応付けられている関連アプリケーションを抽出する制御対象抽出部と
 を備えることを特徴とするアプリケーション動作制御装置。
[請求項2]
 前記判定部は、
 前記関連ファイルのダイジェスト値を計算し、計算したダイジェスト値と、予め記憶部に記憶された当該関連ファイルのダイジェスト値とを比較することにより、当該関連ファイルの完全性を判定する
 ことを特徴とする請求項1に記載のアプリケーション動作制御装置。
[請求項3]
 前記判定部は、
 起動されるアプリケーションの関連ファイルを対象に、前記完全性を判定する
 ことを特徴とする請求項1に記載のアプリケーション動作制御装置。
[請求項4]
 前記判定部は、
 稼働中のアプリケーションの関連ファイルを対象に、前記完全性を判定する
 ことを特徴とする請求項1に記載のアプリケーション動作制御装置。
[請求項5]
 前記制御対象抽出部は、
 前記関連アプリケーション情報に、前記抽出した関連アプリケーションに対し、さらに関連アプリケーションがある場合、前記関連アプリケーション情報から前記関連アプリケーションに対する関連アプリケーションを抽出する処理を、新たな関連アプリケーションが抽出されなくなるまで繰り返す
 ことを特徴とする請求項1に記載のアプリケーション動作制御装置。
[請求項6]
 前記動作制御の対象のアプリケーションとして抽出されたアプリケーションに対し動作制御を行うアプリケーション動作制御部をさらに備える
 ことを特徴とする請求項1に記載のアプリケーション動作制御装置。
[請求項7]
 アプリケーション動作制御装置により実行されるアプリケーション動作制御方法であって、
 アプリケーションと前記アプリケーションの完全性を判定する際に完全性を確認すべきファイルである関連ファイルとを対応付けて示した関連ファイル情報を参照して、前記アプリケーションの関連ファイルの完全性を判定するステップと、
 前記アプリケーションの関連ファイルのうち、いずれかの関連ファイルの完全性が損なわれている判定された場合、
 動作制御の対象のアプリケーションとして、前記関連ファイル情報から、前記完全性が損なわれていると判定された関連ファイルに対応付けられているアプリケーションを抽出するステップと、
 前記アプリケーションと当該アプリケーションの完全性が損なわれた場合に影響を受ける可能性のあるアプリケーションである関連アプリケーションとを対応付けて示した関連アプリケーション情報から、当該アプリケーションに対応付けられている関連アプリケーションを抽出するステップと、
 を含んだことを特徴とするアプリケーション動作制御方法。
[請求項8]
 アプリケーションと前記アプリケーションの完全性を判定する際に完全性を確認すべきファイルである関連ファイルとを対応付けて示した関連ファイル情報を参照して、前記アプリケーションの関連ファイルの完全性を判定するステップと、
 前記アプリケーションの関連ファイルのうち、いずれかの関連ファイルの完全性が損なわれている判定された場合、
 動作制御の対象のアプリケーションとして、前記関連ファイル情報から、前記完全性が損なわれていると判定された関連ファイルに対応付けられているアプリケーションを抽出するステップと、
 前記アプリケーションと当該アプリケーションの完全性が損なわれた場合に影響を受ける可能性のあるアプリケーションである関連アプリケーションとを対応付けて示した関連アプリケーション情報から、当該アプリケーションに対応付けられている関連アプリケーションを抽出するステップと、
 をコンピュータに実行させることを特徴とするアプリケーション動作制御プログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]