应用程序动作控制装置、应用程序动作控制方法以及应用程序动作控制程序
文献发布时间:2023-06-19 11:55:48
技术领域
本发明涉及应用程序动作控制装置、应用程序动作控制方法以及应用程序动作控制程序。
背景技术
为了防止应用程序的异常动作,需要在损害应用程序的完整性的状况下使其成为非工作状态。此外需要说明的是,工作状态是指生成有进程(即,给出进程ID)的状态,非工作状态(停止状态)是指进程停止的状态。
在此,与应用程序的动作相关联的内容例如可以考虑如下内容。
(1)由应用程序开发者管理的内容(例如,应用程序的执行文件、设定文件、库等)。
(2)由应用程序开发者以外的人管理,与动作直接相关的内容(例如,共享库等)。
(3)由应用程序开发者以外的人管理,虽然与动作没有直接相关,但在服务提供中是必要的内容(例如,与该应用程序协作地进行动作的其他应用程序等)。
即,为了防止应用程序的异常动作,需要与和该应用程序的动作相关联的动作(例如,文件或应用程序)的完整性的确认结果相应的动作的控制。
例如,考虑AP(应用程序)1~AP3这3个AP协作来提供服务的情况。在该情况下,为了使服务正确地动作,不仅需要确认AP1的完整性来控制动作,还需要确认AP2及AP3的完整性来控制动作。
现有技术文献
专利文献
专利文献1:日本特开2009-80772号公报
非专利文献
非专利文献1:Sophos Anti-Virus for Linux:Fanotify概要、[平成30年11月19日检索]、因特网<https://community.sophos.com/kb/ja-jp/118216>
非专利文献2:Tripwire Enterprise,[平成30年11月19日检索],互联网
发明内容
发明所要解决的课题
但是,现有技术(例如,专利文献1、非专利文献1、2所记载的技术)无法应对起因于与应用程序关联的文件的异常动作。因此,本发明的课题在于防止起因于与应用程序关联的文件的异常动作。
用于解决课题的手段
为了解决上述课题,本发明是一种应用程序动作控制装置,其特征在于,所述应用程序动作控制装置具备:存储部,其存储关联文件信息和关联应用程序信息,其中所述关联文件信息是将应用程序与在判定所述应用程序的完整性时应该确认完整性的文件即关联文件对应起来表示的信息,所述关联应用程序信息是将所述应用程序与该应用程序的完整性受损的情况下有可能受到影响的应用程序即关联应用程序对应起来表示的信息;判定部,其判定所述应用程序的关联文件的完整性;以及控制对象提取部,在判定为所述应用程序的关联文件中的任意的关联文件的完整性受损的情况下,作为动作控制的对象的应用程序,从所述关联文件信息中提取与被判定为所述完整性受损的关联文件对应的应用程序,从所述关联应用程序信息中提取与该应用程序对应的关联应用程序。
发明效果
根据本发明,能够防止起因于与应用程序关联的文件的异常动作。
附图说明
图1是示出应用程序(AP)动作控制装置的结构例的图。
图2是表示图1的关联AP信息的例子的图。
图3是表示图1的关联文件信息的例子的图。
图4是表示图1的正解信息的例子的图。
图5是表示图1的正解信息的例子的图。
图6是表示图1的AP动作控制装置的处理步骤的例子的流程图。
图7是表示包含冗余结构的AP的关联AP信息的例子的图。
图8是表示相互协作地动作的AP组的例子的图。
图9是表示执行AP动作控制程序的计算机的例子的图。
具体实施方式
以下,参照附图对实施本发明的方式(实施方式)进行说明。使用图1,对本实施方式的应用程序(AP)动作控制装置10的结构例进行说明。另外需要说明的是,作为AP动作控制装置10的控制对象的AP可以是在AP动作控制装置10内进行动作的AP,也可以是在AP动作控制装置10的外部进行动作的AP。
[结构]
AP动作控制装置10是进行AP的动作控制的装置,例如具备控制部11、存储部12、文件完整性判定部(判定部)13、控制对象提取部14、AP动作控制部15。
控制部11控制存储部12、文件完整性判定部13、控制对象提取部14、AP动作控制部15。
存储部12存储关联AP信息、关联文件信息和正解信息。
关联AP信息是表示针对每个AP在该AP的完整性受损的情况下有可能受到影响的AP的信息。该关联AP信息例如是针对每个AP表示与该AP的动作相关联的AP(关联AP)的进程名的信息(参照图2)。另外需要说明的是,也可以代替关联AP信息中的关联AP的进程名,例如使用关联AP的执行文件的文件路径名。
关联文件信息是表示在针对每个AP判定该AP的完整性时应该确认完整性的文件的信息。换言之,关联文件信息是表示在某个文件(关联文件)的完整性受损的情况下有可能受到影响的AP的信息。
该关联文件信息例如是针对每个AP表示与该AP的动作关联的文件(关联文件)的文件路径的信息(参照图3)。例如,图3所示的关联文件信息表示如果判定AP1的完整性,则需要对与AP1对应的文件路径(“/a/b/f1”及“/c/f2”)的所有关联文件确认完整性。另外,图3所示的关联文件信息表示在文件路径“/a/b/f1”以及“/c/f2”中的任一个关联文件的完整性受损的情况下,有可能受到影响的AP是“AP1”。
正解信息是用于判定关联文件的完整性的信息。该正解信息例如使用文件数据的摘要(digest)值。例如,图4所示的正解信息是将关联文件的文件路径与该文件路径的文件数据的摘要值相对应起来的信息。例如,图4所示的正解信息为,如果文件路径“/a/b/f1”的关联文件的摘要值是“123456abcd”,则判定为该关联文件的完整性没有受损。
另外需要说明的是,该正解信息也可以是表示存储关联文件的目录路径和该目录的紧下方的文件或文件路径的信息。
例如,图5所示的正解信息是将存储关联文件的目录路径(确认对象目录路径)与该目录的紧下方的1个以上的文件路径相对应起来的信息。例如,图5所示的正解信息表示:在存储关联文件的目录路径为“/a/b/d1/”的情况下,如果能够确认在该目录路径的紧下方的文件路径“/a/b/d1/f1”、“/a/b/d1/f5”以及“/a/b/d1/d3”不存在过量或不足,则该关联文件的完整性没有受损。
另外需要说明的是,作为正解信息,除了上述以外,也可以使用表示关联文件的文件所有者的信息、权限等的信息。
接着,对文件完整性判定部13进行说明。文件完整性判定部13通过将AP的关联文件与该关联文件的正解信息进行比较,来判定该关联文件的完整性。
例如,文件完整性判定部13针对关联文件信息(参照图3)所示的AP1的关联文件分别计算该关联文件的摘要值,如果计算出的摘要值与正解信息(参照图4)所示的该关联文件的摘要值一致,则判定为完整性未受损。另一方面,文件完整性判定部13计算该关联文件的摘要值,如果计算出的摘要值与正解信息(参照图4)所示的该关联文件的摘要值不一致,则判定为该关联文件的完整性受损。而且,文件完整性判定部13在判定为AP的关联文件中的任意关联文件的完整性受损的情况下,向控制对象提取部14通知被判定为完整性受损的关联文件。
控制对象提取部14提取成为控制对象的AP。具体而言,控制对象提取部14从关联文件信息(参照图3)中提取与由文件完整性判定部13判定为完整性受损的关联文件相对应的AP。另外,控制对象提取部14从关联AP信息(参照图2)中提取与该提取出的AP相对应的关联AP。
例如,考虑在文件完整性判定部13中判定为图3所示的关联文件信息所示的关联文件中的文件路径“/a/b/f1”的关联文件的完整性受损的情况。
在该情况下,控制对象提取部14从图3所示的关联文件信息中提取与文件路径“/a/b/f1”相对应的AP1。接着,控制对象提取部14从关联AP信息(参照图2)中提取与AP1相对应的关联AP(AP3)。
另外,控制对象提取部14在关联AP信息中还存在与该提取出的关联AP相对应的关联AP的情况下,也提取该关联AP。控制对象提取部14反复进行这样的处理直到无法提取关联AP为止。
例如,控制对象提取部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。
AP动作控制部15进行由控制对象提取部14提取出的AP的动作控制。例如,AP动作控制部15在由控制对象提取部14提取出的AP1、AP3、AP5工作的情况下,使这些AP停止。
根据这样的AP动作控制装置10,能够防止由AP的关联文件引起的异常动作。
[处理过程]
接着,使用图6说明AP动作控制装置10的处理步骤的例子。另外需要说明的是,在此以AP动作控制装置10进行启动对象的AP的关联文件的完整性的判定的情况为例进行说明。
AP动作控制装置10的文件完整性判定部13进行启动对象的AP的关联文件的完整性的判定(S1)。
例如,文件完整性判定部13针对从关联文件信息(参照图3)提取出的、启动对象的AP的全部关联文件,使用存储部12的正解信息进行完整性的判定。
在此,在文件完整性判定部13判定为该AP的关联文件中的任意关联文件的完整性受损的情况下,向控制对象提取部14通知完整性受损的关联文件。另外,文件完整性判定部13向AP动作控制部15通知关联文件的完整性受损的判定结果。
另外需要说明的是,在文件完整性判定部13判定为该AP的任一个关联文件的完整性都没有受损的情况下,向AP动作控制部15通知该AP的任一个关联文件的完整性都未受损的判定结果。
在S1之后,控制对象提取部14基于从文件完整性判定部13通知的关联文件,提取与该关联文件相对应的AP的关联AP(S2)。
例如,首先,控制对象提取部14从关联文件信息(参照图3)中提取与S1中从文件完整性判定部13通知的关联文件相对应的AP。另外,控制对象提取部14从关联AP信息(参照图2)中提取该提取出的AP的关联AP。然后,控制对象提取部14将提取出的AP以及该AP的关联AP通知给AP动作控制部15。
在S3之后,AP动作控制部15进行由控制对象提取部14提取出的AP的动作控制(S3)。
例如,在从文件完整性判定部13通知的判定结果是启动对象的AP中的任意的关联文件的完整性受损的情况下,AP动作控制部15使由控制对象提取部14通知的AP(即,启动对象的AP以及该AP的关联AP)转移到停止状态。
另一方面,在从文件完整性判定部13通知的判定结果是启动对象的AP中的任一个关联文件的完整性都没有受损的情况下,AP动作控制部15使该AP启动(转移到工作状态)。需要说明的是,在从文件完整性判定部13通知的判定结果是启动对象的AP中的任意的关联文件的完整性受损的情况下,在该AP为记录模式时(即,即使在该AP的关联文件的完整性受损的情况下也不进行该AP的动作控制的模式时),AP动作控制部15使该AP启动(转移到工作状态)。
需要说明的是,在上述的例子中,以AP动作控制装置10以启动对象的AP的关联文件为对象进行完整性的判定的情况为例进行说明,但并不限定于此。例如,AP动作控制装置10也可以以工作中的AP的关联文件为对象进行完整性的判定。另外,AP动作控制装置10也可以以对关联文件信息所示的任意关联文件进行了某些访问为契机,进行该关联文件的完整性的判定。
根据以上说明的AP动作控制装置10,能够防止由AP的关联文件的异常引起的异常动作。
另外需要说明的是,在成为上述AP动作控制装置10进行的动作控制的对象的AP成为冗余结构的情况下,AP动作控制装置10也可以在冗余结构的所有AP的完整性受损时,才将该AP的关联AP作为动作控制的对象。
例如,考虑作为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作为动作控制的对象。
另外,例如在协作地动作的AP有多种的情况下等,对于很显然虽然完整性受损但不会产生影响的关联AP,也可以将其排除为动作控制的对象外。例如,考虑如下情况:如图8所示,AP1及AP3协作地动作,AP2、AP3及A4协作地动作,例如,即使AP4的完整性受损,其影响也不会波及到AP1。在该情况下,即使AP 4的完整性受损,AP动作控制装置10也不将AP1作为动作控制的对象。
另外,AP动作控制装置10即使判定为任意的AP的完整性受损,也可以不进行上述那样的AP的动作控制而仅进行警报的输出。
[程序]
另外,能够通过将实现上述的实施方式中叙述的AP动作控制装置10的功能的程序安装到所希望的信息处理装置(计算机)中来实现。例如,通过使信息处理装置执行作为封装软件、在线软件提供的上述程序,能够使信息处理装置作为AP动作控制装置10发挥功能。这里所说的信息处理装置包括台式或笔记本型的个人计算机、机柜搭载型的服务器计算机等。另外,除此之外,信息处理装置的范畴也包括智能手机、便携电话、PHS(PersonalHandyphone System:个人手持电话系统)等移动通信终端、以及PDA(Personal DigitalAssistant:个人数字助理)等。另外,也可以将AP动作控制装置10安装于云服务器。
使用图7说明执行上述的程序(AP动作控制程序)的计算机的一例。如图7所示,计算机1000包括例如存储器1010、CPU1020、硬盘驱动器接口1030、盘驱动器接口1040、串行端口接口1050、视频适配器1060和网络接口1070。这些各部通过总线1080连接。
存储器1010包括ROM(只读存储器)1011和RAM(随机存取存储器)1012。ROM1011例如存储BIOS(Basic Input Output System:基本输入输出系统)等引导程序。硬盘驱动器接口1030连接到硬盘驱动器1090。盘驱动器接口1040与盘驱动器1100连接。在盘驱动器1100中插入例如磁盘、光盘等可装卸的存储介质。例如,鼠标1110和键盘1120连接到串行端口接口1050。显示器1130例如连接到视频适配器1060。
这里,如图7所示,硬盘驱动器1090例如存储OS 1091、应用程序1092、程序模块1093以及程序数据1094。在上述实施方式中说明的各种数据和信息例如被存储在硬盘驱动器1090或存储器1010中。
然后,CPU1020根据需要将硬盘驱动器1090中存储的程序模块1093、程序数据1094读出到RAM1012,执行上述的各过程。
此外需要说明的是,上述的AP动作控制程序所涉及的程序模块1093、程序数据1094不限于存储在硬盘驱动器1090中的情况,例如,也可以存储在可装卸的存储介质中,经由盘驱动器1100等由CPU1020读出。或者,上述的程序所涉及的程序模块1093、程序数据1094也可以存储于经由LAN、WAN(Wide Area Network:广域网)等网络连接的其他计算机,经由网络接口1070由CPU1020读出。
标号说明
10 AP动作控制装置
11 控制部
12 存储部
13 文件完整性判定部
14 控制对象提取部
15 AP动作控制部
- 应用程序动作控制装置、应用程序动作控制方法以及应用程序动作控制程序
- 应用程序控制程序、应用程序控制方法以及应用程序控制系统