Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5402169B2 - Execution control program and information processing system - Google Patents
[go: Go Back, main page]

JP5402169B2 - Execution control program and information processing system - Google Patents

Execution control program and information processing system Download PDF

Info

Publication number
JP5402169B2
JP5402169B2 JP2009088233A JP2009088233A JP5402169B2 JP 5402169 B2 JP5402169 B2 JP 5402169B2 JP 2009088233 A JP2009088233 A JP 2009088233A JP 2009088233 A JP2009088233 A JP 2009088233A JP 5402169 B2 JP5402169 B2 JP 5402169B2
Authority
JP
Japan
Prior art keywords
program
introduction
update
list
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009088233A
Other languages
Japanese (ja)
Other versions
JP2010238168A (en
Inventor
茂寛 井谷
俊浩 園田
和正 黒下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009088233A priority Critical patent/JP5402169B2/en
Publication of JP2010238168A publication Critical patent/JP2010238168A/en
Application granted granted Critical
Publication of JP5402169B2 publication Critical patent/JP5402169B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、実行制御プログラムおよび情報処理システムに関する。   The present invention relates to an execution control program and an information processing system.

近年、インターネットの普及にともなってコンピュータウィルス等の悪意をもったプログラムによる被害が増大している。このような悪意をもったプログラムは、例えば、正常なプログラムを自らと置き換え、正常なプログラムに成りすまして、不正な処理を実行する。   In recent years, with the spread of the Internet, damage caused by malicious programs such as computer viruses has increased. Such a malicious program, for example, replaces a normal program with itself, impersonates a normal program, and executes unauthorized processing.

それを発見するために、正常なプログラムのハッシュ値を事前に保存し、それと他プログラムへの処理(書込や読みとりなど)を要求している同名のプログラムの実行ファイルのハッシュ値を比較することによって、実行ファイルの改ざんの有無を検査する。改ざんを発見した場合は、処理要求の拒否を行う。   To find it, store the hash value of a normal program in advance, and compare it with the hash value of the executable file of the program of the same name that requests processing (writing, reading, etc.) to another program To check if the executable file has been tampered with. If tampering is found, the processing request is rejected.

特開2007−140798号公報JP 2007-140798 A

しかしながら、上記の従来技術では、改ざんの検出には有効であるものの、プログラムを正当に更新する場合に問題が生ずる。この問題について具体的に説明すると、上記の従来技術で用いられるハッシュ値は、プログラム内のビット列の値を利用して算出される。このため、正当な権限を有する者がプログラムの不具合を改修した場合や、バージョンアップを行った場合であっても、更新前後のプログラムのハッシュ値が異なってしまう。このため、正当な権限を有する者が作成したプログラムが、正当な目的で他のプログラムを更新しても、更新後のプログラムのハッシュ値が異なるため、更新後のプログラムを実行しようとしても実行できなくなってしまう。   However, although the above-described conventional technique is effective for detecting tampering, a problem arises when the program is properly updated. This problem will be described in detail. The hash value used in the above conventional technique is calculated using the value of the bit string in the program. For this reason, the hash value of the program before and after the update is different even if a person with a legitimate authority corrects the problem of the program or upgrades the version. For this reason, even if a program created by a person with legitimate authority updates another program for a legitimate purpose, the hash value of the updated program is different, so it can be executed even if it tries to execute the updated program. It will disappear.

さらに、それ以上に重大な問題は、他のプログラムを更新しようとするプログラムが果たして正当な権限を有するか否かを判定するのに、プログラムのハッシュ値を比較するだけでは不十分だ、ということである。すなわち、実行許可されるプログラムのハッシュ値が複数登録されている場合、そのいずれかのハッシュ値に一致するならば、どのプログラムでも他のプログラムへの書込が許可される。しかし、書込の対象となるプログラムが、どのハッシュ値のプログラム(=アップデータ)によって更新されるべきかは管理していないため、全く関係ないプログラムによって更新され、その結果、更新されたプログラムが動作しなくなる恐れが生じる。   Furthermore, a more serious problem is that it is not enough to compare the hash values of programs to determine whether a program that is trying to update another program is truly legitimate. It is. That is, when a plurality of hash values of a program that is permitted to execute are registered, any program is permitted to be written to another program if it matches any one of the hash values. However, since it is not managed by which hash value program (= updater) the program to be written is to be updated, it is updated by an unrelated program, and as a result, the updated program operates. There is a fear that it will not.

例えば、昨今のワープロソフトや表計算ソフトなどでは、特定の操作手順をプログラムとして記述し、自動化を行う機能を備えている。このプログラムの記述言語をマクロ言語と言う。ワープロソフトと表計算ソフト自体は事前にハッシュ値で登録されたプログラムであるが、悪意のある利用者が作成したワープロソフトのマクロ機能によって、ワープロソフトが表計算ソフトを書き換えるということが可能である。これは、ユーザがファイル名を直接入力する際は、アプリケーションプログラムが自動的に自プログラム用の拡張子を付してファイル保存するが、マクロ処理のごとくプログラムから処理する場合は、自由にファイル名を定義できるためである。具体的には、ワープロソフトのマクロ機能を利用して、表計算ソフトの実行プログラムのファイル名を定義して特定のファイルを保存する処理を記述しておく。そのようなマクロ機能が設定されたワープロソフトのファイルをユーザが開きマクロ機能を実行すれば、表計算ソフトの実行プログラムが書き換えられてしまう。その結果、表計算ソフトは利用できなくなる。   For example, recent word processing software and spreadsheet software have a function of describing a specific operation procedure as a program and performing automation. This program description language is called a macro language. Word processor software and spreadsheet software itself are programs registered in advance with hash values, but it is possible for word processor software to rewrite spreadsheet software using the macro function of word processor software created by a malicious user. . This is because when the user directly inputs the file name, the application program automatically saves the file with the extension for its own program, but when processing from the program as in macro processing, the file name can be freely set. This is because it can be defined. Specifically, a process for defining a file name of an execution program of spreadsheet software and storing a specific file using a macro function of word processing software is described. If a user opens a file of a word processing software set with such a macro function and executes the macro function, the execution program of the spreadsheet software is rewritten. As a result, spreadsheet software cannot be used.

以上のことから、プログラムの不正な改ざんを防止しつつ、正当なプログラムの更新については許容することが重大な課題となっている。開示の技術は、上記に鑑みてなされたものであって、プログラムの正当な更新を許容しつつ、プログラムの不正な更新を防止することができる実行制御プログラムおよび情報処理システムを提供することを目的とする。   From the above, it is a serious problem to allow the updating of a legitimate program while preventing the unauthorized alteration of the program. The disclosed technology has been made in view of the above, and it is an object of the present invention to provide an execution control program and an information processing system capable of preventing unauthorized update of a program while permitting authorized update of the program. And

本願の開示する実行制御プログラムは、一つの態様において、導入プログラムによって複数のプログラムが導入された場合に、該導入プログラムによって導入された該複数のプログラムを対応づけて導入情報として記録する導入制御手順と、第一のプログラムに対して第二のプログラムからの更新処理要求を受け付け、前記導入情報を参照し、該第一のプログラムと該第二のプログラムが対応づけられているか否かを判定し、対応づけられている場合は、該更新処理を許可し、他方、対応づけられていない場合は、該更新処理を拒否する更新制御手順とをコンピュータに実行させる。   The execution control program disclosed in the present application is, in one aspect, an introduction control procedure in which, when a plurality of programs are introduced by the introduction program, the plurality of programs introduced by the introduction program are associated and recorded as introduction information. And receiving an update processing request from the second program to the first program, referring to the introduction information, and determining whether the first program and the second program are associated with each other. If they are associated with each other, the computer allows the computer to execute an update control procedure for permitting the update process, and, on the other hand, for rejecting the update process.

本願の開示する実行制御プログラムおよび情報処理システムの一つの態様によれば、プログラムの正当な更新を許容しつつ、プログラムの不正な更新を防止することができるという効果を奏する。   According to one aspect of the execution control program and the information processing system disclosed in the present application, it is possible to prevent unauthorized updating of a program while allowing authorized updating of the program.

図1は、本実施例に係るプログラム実行制御方法について説明するための図である。FIG. 1 is a diagram for explaining the program execution control method according to the present embodiment. 図2は、本実施例に係る情報処理システムの構成を示す図である。FIG. 2 is a diagram illustrating the configuration of the information processing system according to the present embodiment. 図3は、情報処理装置の構成を示すブロック図である。FIG. 3 is a block diagram illustrating a configuration of the information processing apparatus. 図4は、ホワイトリストの一例を示す図である。FIG. 4 is a diagram illustrating an example of a white list. 図5は、導入履歴の一例を示す図である。FIG. 5 is a diagram illustrating an example of the introduction history. 図6は、更新履歴の一例を示す図である。FIG. 6 is a diagram illustrating an example of the update history. 図7は、実行制御プログラムの処理手順を示すフローチャートである。FIG. 7 is a flowchart showing the processing procedure of the execution control program. 図8は、導入プログラム用書込処理の処理手順を示すフローチャートである。FIG. 8 is a flowchart showing the processing procedure of the introductory program write processing. 図9は、非導入プログラム用書込処理の処理手順を示すフローチャートである。FIG. 9 is a flowchart showing a processing procedure of non-introduction program writing processing. 図10は、動作判定処理の処理手順を示すフローチャートである。FIG. 10 is a flowchart illustrating the processing procedure of the operation determination process. 図11は、ホワイトリスト更新処理の処理手順を示すフローチャートである。FIG. 11 is a flowchart showing a processing procedure of whitelist update processing. 図12は、ホワイトリスト統合処理の処理手順の一例を示すフローチャートである。FIG. 12 is a flowchart illustrating an example of a processing procedure of whitelist integration processing. 図13は、プログラムがファイル操作を行う場合にOSがファイルシステム発行する操作命令の一例を示す図である。FIG. 13 is a diagram illustrating an example of an operation command issued by the OS when the program performs a file operation. 図14は、OSがプロセスを管理する管理テーブルの一例の図である。FIG. 14 is an example of a management table for managing processes by the OS. 図15は、ファイル操作を行ったプロセスを特定するために必要な情報の一例の図である。FIG. 15 is a diagram illustrating an example of information necessary for specifying a process that has performed a file operation. 図16は、導入処理の処理手順の一例を示すフローチャートである。FIG. 16 is a flowchart illustrating an example of the processing procedure of the introduction process. 図17は、更新処理の処理手順の一例を示すフローチャートである。FIG. 17 is a flowchart illustrating an example of a processing procedure of update processing.

以下に、本願の開示する実行制御プログラムおよび情報処理システムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。   Embodiments of an execution control program and an information processing system disclosed in the present application will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

まず、本実施例に係るプログラム実行制御方法について説明する。図1は、本実施例に係るプログラム実行制御方法について説明するための図である。図1に示す例では、情報処理装置が有するハードディスク装置170にメインプログラムAと、メインプログラムBと、更新プログラムBと、導入履歴175が記憶されている。   First, a program execution control method according to the present embodiment will be described. FIG. 1 is a diagram for explaining the program execution control method according to the present embodiment. In the example illustrated in FIG. 1, a main program A, a main program B, an update program B, and an introduction history 175 are stored in the hard disk device 170 included in the information processing apparatus.

メインプログラムAおよびメインプログラムBは、それぞれ、所定の目的で利用されるアプリケーションプログラムである。更新プログラムBは、不具合の改修や機能改善のためにメインプログラムBを更新するプログラムである。導入履歴175は、各プログラムがどの導入プログラムによって導入されたかが記録されたファイルである。導入プログラムとは、導入対象のプログラムや設定ファイルと、それらを導入するための各種手続とを含むプログラムである。   The main program A and the main program B are application programs used for predetermined purposes. The update program B is a program for updating the main program B for repairing defects and improving functions. The introduction history 175 is a file that records which installation program has introduced each program. The introduction program is a program including a program to be introduced and a setting file and various procedures for installing them.

ここで、メインプログラムA等が導入プログラムによってどのように導入されるかについて図16を参照しながら説明する。図16は、導入プログラムによるプログラムの導入処理の一例を示す図である。図16に示すように、導入プログラムが起動されると(ステップS101)、導入プログラムは、OS(Operating System)等の環境がプログラムの導入に適しているかを検証する(ステップS102)。もし、環境が適していなければ(ステップS103否定)、導入プログラムは、プログラムを導入することなく処理を終了する。   Here, how the main program A and the like are introduced by the introduction program will be described with reference to FIG. FIG. 16 is a diagram illustrating an example of program introduction processing by the introduction program. As shown in FIG. 16, when the introduction program is activated (step S101), the introduction program verifies whether an environment such as an OS (Operating System) is suitable for introduction of the program (step S102). If the environment is not suitable (No at Step S103), the introduction program ends the process without introducing the program.

一方、環境が適していれば(ステップS103肯定)、導入プログラムは、導入先の指定等について利用者が入力したパラメータを取得し(ステップS104)、導入対象のファイルを一時領域へ展開する(ステップS105)。ここで展開されるファイルには、プログラムや設定ファイルが含まれる。   On the other hand, if the environment is suitable (Yes at Step S103), the introduction program acquires parameters input by the user for the designation of the introduction destination (Step S104), and expands the introduction target file to a temporary area (Step S104). S105). The files expanded here include programs and setting files.

そして、導入プログラムは、導入対象のファイルを導入先へ転記し(ステップS106)、導入対象のプログラムが動作するために必要な環境設定をOS等に対して行う(ステップS107)。最後に、導入プログラムは、一時領域をクリアして導入処理を終了する(ステップS108)。   Then, the installation program transfers the installation target file to the installation destination (step S106), and performs environment settings necessary for the installation target program to operate on the OS or the like (step S107). Finally, the introduction program clears the temporary area and ends the introduction process (step S108).

このように、導入プログラムによるプログラムの導入処理では、複数のファイルが導入され得る。図1に示す導入履歴175は、導入プログラムAによって、メインプログラムAという1つのファイルが導入され、導入プログラムBによって、メインプログラムBと更新プログラムBという2つのファイルが導入されたことを示している。   Thus, a plurality of files can be introduced in the program introduction process by the introduction program. The introduction history 175 shown in FIG. 1 indicates that one file called the main program A was introduced by the introduction program A, and two files called the main program B and the update program B were introduced by the introduction program B. .

続いて、メインプログラムBのようなメインプログラムが更新プログラムBのような更新プログラムによってどのように更新されるかについて図17を参照しながら説明する。図17は、更新プログラムによるプログラムの更新処理の一例を示す図である。図17に示すように、メインプログラムが起動されると(ステップS201)、メインプログラムの実行プロセスは、更新プログラムを起動させる(ステップS202)。そして、更新プログラムの実行プロセスは、所定のサーバ等に問い合わせを行って更新ファイルの有無を確認する(ステップS203)。   Next, how a main program such as the main program B is updated by an update program such as the update program B will be described with reference to FIG. FIG. 17 is a diagram illustrating an example of a program update process performed by the update program. As shown in FIG. 17, when the main program is started (step S201), the main program execution process starts the update program (step S202). Then, the execution process of the update program makes an inquiry to a predetermined server or the like to check whether there is an update file (step S203).

ここで、更新ファイルがなければ(ステップS204否定)、更新プログラムの実行プロセスは終了し(ステップS205)、メインプログラムの実行プロセスが各種処理の実行を開始する(ステップS206)。なお、更新プログラムの実行プロセスが、メインプログラムの実行プロセスを終了させていた場合、更新プログラムの実行プロセスは、自らを終了させる前にメインプログラムを起動させる。   If there is no update file (No at step S204), the update program execution process ends (step S205), and the main program execution process starts executing various processes (step S206). If the execution process of the update program has ended the execution process of the main program, the execution process of the update program starts the main program before ending itself.

一方、更新ファイルがあれば(ステップS204肯定)、更新プログラムの実行プロセスは、更新ファイルをダウンロードする(ステップS207)。そして、更新プログラムの実行プロセスは、メインプログラムの実行プロセスの存在を確認する(ステップS208)。ここで、メインプログラムの実行プロセスが存在していた場合(ステップS209肯定)、そのままではメインプログラムを更新することができないため、更新プログラムの実行プロセスは、メインプログラムの実行プロセスを終了させる(ステップS210)。   On the other hand, if there is an update file (Yes at step S204), the update program execution process downloads the update file (step S207). The update program execution process confirms the existence of the main program execution process (step S208). If the main program execution process exists (Yes at step S209), the main program cannot be updated as it is, so the update program execution process ends the main program execution process (step S210). ).

続いて、更新プログラムの実行プロセスは、更新ファイルを一時領域で解凍し(ステップS211)、解凍したファイルでメインプログラム等を上書きして更新する(ステップS212)。そして、更新プログラムの実行プロセスは、一時領域をクリアした後(ステップS213)、さらなる更新ファイルの有無を確認するためにステップS203から処理手順を再開する。   Subsequently, the execution process of the update program decompresses the update file in the temporary area (step S211), and overwrites the main program with the decompressed file and updates it (step S212). Then, the execution process of the update program clears the temporary area (step S213), and then restarts the processing procedure from step S203 in order to check whether there is a further update file.

このように、更新プログラムによるプログラムの更新処理では、更新対象のプログラムが更新プログラムによって上書きされる。このような更新プログラムによるプログラムの上書きは不具合改修等のために必要不可欠であるが、コンピュータウィルス等による悪意をもったプログラムによるプログラムの上書きは防止しなければならない。   Thus, in the program update process by the update program, the update target program is overwritten by the update program. Although overwriting of the program by such an update program is indispensable for repairing a defect or the like, overwriting of the program by a malicious program due to a computer virus or the like must be prevented.

この相反する課題を解決するため、本実施例に係るプログラム実行制御方法では、導入プログラムによる導入処理時に、導入プログラムと被導入プログラムの対応が導入履歴175に記録される。そして、プログラムが上書きされそうになった場合には、導入履歴175に基づいて、そのまま上書きを実行させるか、上書きを中止させるかが決定される。   In order to solve this conflicting problem, in the program execution control method according to the present embodiment, the correspondence between the introduction program and the introduction program is recorded in the introduction history 175 during the introduction process by the introduction program. When the program is about to be overwritten, it is determined based on the introduction history 175 whether overwriting is executed as it is or overwriting is stopped.

例えば、図1に示した導入履歴175の例では、メインプログラムBと更新プログラムBが同一の導入プログラムによって導入されたことが分かる。このように同一の導入プログラムから導入されたプログラムは、同一のベンダによって提供されたものであるため、一方のプログラムが他方のプログラムを上書きしても危険はないと考えられる。そこで、本実施例に係るプログラム実行制御方法では、更新プログラムBがメインプログラムBを上書きしようとした場合、そのまま上書きが実行される。   For example, in the example of the introduction history 175 shown in FIG. 1, it can be seen that the main program B and the update program B are introduced by the same introduction program. Since the programs introduced from the same introduction program are provided by the same vendor, it is considered that there is no danger even if one program overwrites the other program. Therefore, in the program execution control method according to the present embodiment, when the update program B tries to overwrite the main program B, the overwriting is executed as it is.

一方、図1に示した導入履歴175の例では、メインプログラムAとメインプログラムBは異なる導入プログラムによって導入されたことが分かる。このように異なる導入プログラムから導入されたプログラムは、同一のベンダによって提供されたものであるか不明であるため、一方のプログラムが他方のプログラムを上書きしても安全であるという保証はない。そこで、本実施例に係るプログラム実行制御方法では、メインプログラムAがメインプログラムBを上書きしようとした場合、上書きは中止される。   On the other hand, in the example of the introduction history 175 shown in FIG. 1, it can be seen that the main program A and the main program B are introduced by different introduction programs. Since it is unclear whether programs installed from different installation programs are provided by the same vendor, there is no guarantee that one program can safely overwrite the other program. Therefore, in the program execution control method according to the present embodiment, when the main program A attempts to overwrite the main program B, the overwriting is stopped.

このように、本実施例に係るプログラム実行制御方法では、書込み元のプログラムと書込み先のプログラムが同一の導入プログラムによって導入された否かに基づいて上書きの可否を判定することにより、プログラムの不正な上書きを防止することができる。すなわち、導入処理時に導入プログラムと被導入プログラムの対応を導入履歴175に記録しておくことにより、システム管理者に負担をかけることなく、上記の可否判定を実現することができる。また、本実施例に係るプログラム実行制御方法では、悪意によってプログラムが上書きされることだけでなく、不具合、誤操作、誤動作等によってプログラムが誤って上書きされることも防止することができる。   As described above, in the program execution control method according to the present embodiment, an illegal program is determined by determining whether or not overwriting is possible based on whether or not the writing source program and the writing destination program are introduced by the same introduction program. Overwriting can be prevented. That is, by recording the correspondence between the introduction program and the introduction program in the introduction history 175 during the introduction process, it is possible to realize the above-described availability determination without imposing a burden on the system administrator. In addition, in the program execution control method according to the present embodiment, not only the program is overwritten by malicious intention but also the program can be prevented from being overwritten by mistake, malfunction, malfunction or the like.

なお、図17に示した更新処理では、メインプログラムが起動時に更新プログラムを起動することとしたが、メインプログラムの起動とは関係なく、OSの起動時もしくは所定の時刻に更新プログラムを起動することとしてもよい。   In the update process shown in FIG. 17, the main program starts the update program at the time of startup. However, the update program is started at the time of starting the OS or at a predetermined time regardless of the start of the main program. It is good.

次に、本実施例に係る情報処理システム1について説明する。図2は、本実施例に係る情報処理システム1の構成を示す図である。情報処理システム1は、上述したプログラム実行制御方法に加えて、ホワイトリストに登録されていないプログラムの動作を制限する制御も実行する。ホワイトリストとは、通常通り実行させてよいプログラムに関する情報が登録されたファイルであり、ここに登録されていないプログラムは、実行時に何らかの制約を受ける。   Next, the information processing system 1 according to the present embodiment will be described. FIG. 2 is a diagram illustrating a configuration of the information processing system 1 according to the present embodiment. In addition to the program execution control method described above, the information processing system 1 also executes control for restricting the operations of programs that are not registered in the white list. The white list is a file in which information related to programs that can be executed as usual is registered. Programs that are not registered here are subject to some restrictions during execution.

図2に示すように、情報処理システム1は、情報処理装置10a〜10cと、サーバ20と、それらを接続するネットワーク30とを含む。情報処理装置10a〜10cは、例えば、パソコンであり、それぞれ、外部記憶装置11a〜11cが接続されている。情報処理装置10a〜10cは、利用者や他の装置等から要求された情報処理を実行するとともに、上述したプログラム実行制御方法等も実行する。   As shown in FIG. 2, the information processing system 1 includes information processing apparatuses 10a to 10c, a server 20, and a network 30 that connects them. The information processing devices 10a to 10c are, for example, personal computers, and are connected to external storage devices 11a to 11c, respectively. The information processing apparatuses 10a to 10c execute information processing requested by users and other apparatuses, and also execute the above-described program execution control method and the like.

サーバ20は、ホワイトリスト21を集中管理する。サーバ20に記憶されたホワイトリスト21は、サーバ20から情報処理装置10a〜10cへ配信され、情報処理装置10a〜10cにおいて、プログラムを通常通り実行させてよいか否かを判定するために用いられる。ホワイトリスト21は、情報処理装置10a〜10cにおいて更新されることもあり、その場合、差分が情報処理装置10a〜10cからサーバ20へ送信される。   The server 20 centrally manages the white list 21. The white list 21 stored in the server 20 is distributed from the server 20 to the information processing apparatuses 10a to 10c, and is used in the information processing apparatuses 10a to 10c to determine whether the program can be executed normally. . The white list 21 may be updated in the information processing apparatuses 10a to 10c. In this case, the difference is transmitted from the information processing apparatuses 10a to 10c to the server 20.

ネットワーク30は、インターネット31と接続されている。そして、情報処理装置10a〜10cは、ネットワーク30およびインターネット31を介して、更新ファイル提供装置22と接続されている。更新ファイル提供装置22は、プログラムを更新するための更新ファイルを保持する装置である。   The network 30 is connected to the Internet 31. The information processing apparatuses 10 a to 10 c are connected to the update file providing apparatus 22 via the network 30 and the Internet 31. The update file providing device 22 is a device that holds an update file for updating a program.

なお、図2に示す情報処理システム1は一例であり、情報処理システム1に含まれる各装置の数や各装置間の接続経路は、図2の通りである必要はない。   Note that the information processing system 1 illustrated in FIG. 2 is an example, and the number of devices included in the information processing system 1 and the connection paths between the devices do not have to be as illustrated in FIG.

次に、図2に示した情報処理装置10a〜10cの構成について説明する。なお、情報処理装置10a〜10cは、いずれも同様の構成を有するので、ここでは情報処理装置10aを例にして構成の説明を行う。   Next, the configuration of the information processing apparatuses 10a to 10c illustrated in FIG. 2 will be described. Note that the information processing apparatuses 10a to 10c all have the same configuration, and therefore, the configuration will be described using the information processing apparatus 10a as an example.

図3は、情報処理装置10aの構成を示すブロック図である。図3に示すように、情報処理装置10aは、CPU(Central Processing Unit)110と、入力部120と、表示部130と、ネットワークインターフェース部(以下、「ネットワークI/F部」という)140と、入出力インターフェース部(以下、「入出力I/F部」という)150と、記憶媒体読書部160と、ハードディスク装置170と、RAM(Random Access Memory)180と、それらを接続するバス190とを有する。   FIG. 3 is a block diagram illustrating a configuration of the information processing apparatus 10a. As shown in FIG. 3, the information processing apparatus 10a includes a CPU (Central Processing Unit) 110, an input unit 120, a display unit 130, a network interface unit (hereinafter referred to as “network I / F unit”) 140, An input / output interface unit (hereinafter referred to as “input / output I / F unit”) 150, a storage medium reading unit 160, a hard disk device 170, a RAM (Random Access Memory) 180, and a bus 190 for connecting them. .

CPU110は、各種演算処理を実行する演算回路である。入力部120は、利用者が指示や情報を入力する装置であり、例えば、キーボードやマウスである。表示部130は、文字や図形を表示する装置であり、例えば、液晶表示装置である。ネットワークI/F部140は、ネットワーク30を介して接続された他の装置との通信を実現する。入出力I/F部150は、外部記憶装置11aとの間でのデータの入出力を実現する。   The CPU 110 is an arithmetic circuit that executes various arithmetic processes. The input unit 120 is a device for a user to input instructions and information, and is, for example, a keyboard or a mouse. The display unit 130 is a device that displays characters and graphics, for example, a liquid crystal display device. The network I / F unit 140 realizes communication with other devices connected via the network 30. The input / output I / F unit 150 realizes data input / output with the external storage device 11a.

記憶媒体読書部160は、光ディスク等の記憶媒体に対してデータの読書きを行う。ハードディスク装置170は、各種ファイルを記憶する記憶装置である。RAM180は、プログラムやデータが展開されるワークメモリである。   The storage medium reading unit 160 reads / writes data from / to a storage medium such as an optical disk. The hard disk device 170 is a storage device that stores various files. The RAM 180 is a work memory in which programs and data are expanded.

ハードディスク装置170は、例えば、OSプログラム171、アプリケーションプログラム172、実行制御プログラム173、ホワイトリスト174、導入履歴175、更新履歴176を記憶する。   The hard disk device 170 stores, for example, an OS program 171, an application program 172, an execution control program 173, a white list 174, an introduction history 175, and an update history 176.

OSプログラム171は、OSの各種機能を実現するプログラムである。OSプログラム171は、情報処理装置10aの起動時にCPU110によってハードディスク装置170から読み出されてRAM180に展開され、OS181として機能するようになる。   The OS program 171 is a program that implements various functions of the OS. The OS program 171 is read from the hard disk device 170 by the CPU 110 when the information processing apparatus 10 a is started up and is expanded in the RAM 180 to function as the OS 181.

アプリケーションプログラム172は、CPU110によってハードディスク装置170から読み出され、RAM180に展開されて実行プロセス183となり、OS181に対して各種要求を行いながら所定の目的の処理を実行する。アプリケーションプログラム172には、他のプログラムを更新する更新プログラムも含まれる。   The application program 172 is read from the hard disk device 170 by the CPU 110 and expanded into the RAM 180 to become an execution process 183, which executes predetermined processing while making various requests to the OS 181. The application program 172 includes an update program for updating other programs.

実行制御プログラム173は、ホワイトリスト174に基づいてプログラムの動作を制御するとともに、プログラムが他のプログラムによって不正に上書きされることを防止する。実行制御プログラム173は、OS181の指示によって、OS181の起動後にCPU110によってハードディスク装置170から読み出され、RAM180に展開され、実行制御プロセス182として機能するようになる。また、実行制御プログラム173の一部は、OS181に組み込まれて、ファイルアクセス制御部181aとして機能するようになる。   The execution control program 173 controls the operation of the program based on the white list 174 and prevents the program from being overwritten illegally by another program. The execution control program 173 is read from the hard disk device 170 by the CPU 110 after activation of the OS 181 in accordance with an instruction from the OS 181, developed in the RAM 180, and functions as the execution control process 182. A part of the execution control program 173 is incorporated in the OS 181 so as to function as the file access control unit 181a.

ファイルアクセス制御部181aは、各種実行プロセス183からの要求に基づいてOS181がハードディスク装置170に対して実行する読出処理および書込処理の監視と制御を行う。   The file access control unit 181a monitors and controls the reading process and the writing process executed by the OS 181 on the hard disk device 170 based on requests from the various execution processes 183.

ここでファイルアクセス制御部181aは、実行プロセス183がOS181を介してハードディスク装置170のファイルアクセスを行うために利用されるOS181が用意するアプリケーション・プログラム・インタフェース(以下、「API」)をトラップする。この他にファイルアクセス制御部181aの機能を実行制御プログラム173から分離し、OS181のファイルシステムドライバとして実装することで、OS181の起動時から181aが起動し、実行プロセス183からOS181を介して行われるハードディスク装置170へのファイルアクセスをトラップすることができる。または、実行制御プログラム173そのものがドライバとしてOS181に含まれても良い。   Here, the file access control unit 181 a traps an application program interface (hereinafter, “API”) prepared by the OS 181 that is used by the execution process 183 to perform file access of the hard disk device 170 via the OS 181. In addition, by separating the function of the file access control unit 181a from the execution control program 173 and mounting it as a file system driver of the OS 181, the 181 a is started when the OS 181 is started, and is executed from the execution process 183 via the OS 181. File access to the hard disk device 170 can be trapped. Alternatively, the execution control program 173 itself may be included in the OS 181 as a driver.

具体的には、ファイルアクセス制御部181aは、OS181が、ハードディスク装置170を制御するドライバに対して読出し指示または書込み指示を発行すると、その指示を一時的にトラップする。そして指示の内容と指示を行ったプロセスの実体であるアプリケーションプログラム172をOS181の管理テーブルから取得し、それらを図15のフォーマットの情報とし、実行制御プロセス182に通知する。   Specifically, when the OS 181 issues a read instruction or a write instruction to the driver that controls the hard disk device 170, the file access control unit 181a temporarily traps the instruction. Then, the contents of the instruction and the application program 172 that is the entity of the instructing process are acquired from the management table of the OS 181, and the information is sent to the execution control process 182 as information in the format of FIG. 15.

このOS181が、ハードディスク装置170に対して読出し指示または書込み指示を行うコマンドのデータフォーマットを図13に示す。   FIG. 13 shows a data format of a command for the OS 181 to issue a read instruction or a write instruction to the hard disk device 170.

このコマンドは、指示を行った実行プロセス183のプロセス番号と、ハードディスク装置170に対する書込処理や読み取り処理などのファイル操作コマンドと、ファイル操作用データとが含まれている。ファイル操作用データには、書込または読み取り処理の場合の対象ファイル名や、書込処理が指定された場合は更に書込を行う情報が含まれている。   This command includes the process number of the execution process 183 that issued the instruction, a file operation command such as a write process and a read process for the hard disk device 170, and file operation data. The file operation data includes the target file name in the case of writing or reading processing, and information for further writing when the writing processing is designated.

プロセス番号とは、OS181が複数ある実行プロセスを管理するために、アプリケーションプログラム172が実行プロセス183となった場合に割り当てられるユニークな番号である。   The process number is a unique number assigned when the application program 172 becomes the execution process 183 in order to manage an execution process having a plurality of OSs 181.

次に、プロセス番号からアプリケーションプログラム172を特定する手順を示す。   Next, a procedure for specifying the application program 172 from the process number is shown.

ファイルアクセス制御部181aは、OS181に対して読出処理や書込処理を要求した実行プロセスに関する情報をOS181内の管理テーブル(図14)から取得する。ファイルアクセス制御部181aが取得した指示(図13)からプロセス番号を取り出し、OS181の管理テーブル(図14)と比較し、アプリケーションのプログラムパスを取得する。このアプリケーションのプログラムパスは、図3のハードディスク装置170に保存されているアプリケーションプログラム172の情報である。次に、管理テーブル(図14)からプロセス番号に対応した親プロセス番号を取得し、これが全てのプロセスの起点であるIDLEプロセスを示す0でない場合は、親プロセス番号を新たなプロセス番号として管理テーブル(図14)と比較する。そして親プロセス番号が0となるまで遡りアプリケーションのプログラムパスを取得する。   The file access control unit 181a obtains information related to an execution process that has requested the OS 181 for read processing and write processing from the management table (FIG. 14) in the OS 181. The process number is extracted from the instruction (FIG. 13) acquired by the file access control unit 181a, and compared with the management table (FIG. 14) of the OS 181 to acquire the program path of the application. The program path of this application is information of the application program 172 stored in the hard disk device 170 of FIG. Next, the parent process number corresponding to the process number is acquired from the management table (FIG. 14). If this is not 0 indicating the IDLE process that is the starting point of all processes, the management table is set with the parent process number as the new process number. Compare with FIG. The program path of the retroactive application is acquired until the parent process number becomes zero.

結果として、ファイルアクセス制御部181aは、動作制御部182aへ渡すための情報である図15に示すような、プロセス番号、親プロセス番号、モジュール名、アプリケーションのプログラムパスをまとめた情報を生成する。   As a result, the file access control unit 181a generates information that summarizes the process number, the parent process number, the module name, and the application program path as shown in FIG. 15, which is information to be passed to the operation control unit 182a.

なお、図13、図14は一例であり、OSによって構成が異なる。   13 and 14 are examples, and the configuration differs depending on the OS.

そして、ファイルアクセス制御部181aは、実行制御プロセス182からの応答に従って、読出し指示や書込み指示をそのまま実行させたり、キャンセルさせたり、指示の内容を変更したりする処理を行う。   Then, the file access control unit 181a performs processing for executing the read instruction and the write instruction as they are, canceling them, or changing the contents of the instructions according to the response from the execution control process 182.

実行制御プロセス182は、動作制御部182aと、動作判定部182bと、導入制御部182cと、更新制御部182dと、ホワイトリスト更新部182eとを有する。動作制御部182aは、実行制御プロセス182を全体制御する制御部であり、ファイルアクセス制御部181aからの通知内容に応じて、動作判定部182b、導入制御部182cまたは更新制御部182dの機能を呼び出す。   The execution control process 182 includes an operation control unit 182a, an operation determination unit 182b, an introduction control unit 182c, an update control unit 182d, and a white list update unit 182e. The operation control unit 182a is a control unit that controls the execution control process 182 as a whole, and calls the functions of the operation determination unit 182b, the introduction control unit 182c, or the update control unit 182d according to the notification content from the file access control unit 181a. .

動作判定部182bは、指定されたプログラムが通常通り実行させてよいプログラムとしてホワイトリスト174に登録されているか否かを判定する。ここで、ホワイトリスト174の一例を図4に示す。図4に示すように、ホワイトリスト174は、名称、ファイル名、バージョン、ハッシュ値といった項目を有する。   The operation determination unit 182b determines whether or not the designated program is registered in the white list 174 as a program that may be executed as usual. An example of the white list 174 is shown in FIG. As shown in FIG. 4, the white list 174 has items such as a name, a file name, a version, and a hash value.

名称は、プログラムの呼称である。ファイル名は、プログラムの物理的なファイル名である。バージョンは、プログラムの版を識別するための番号である。ハッシュ値は、プログラムをハッシュ関数に入力して生成されたハッシュ値である。   The name is the name of the program. The file name is a physical file name of the program. The version is a number for identifying the version of the program. The hash value is a hash value generated by inputting a program into a hash function.

具体的には、動作判定部182bは、指定されたプログラムのアプリケーションのプログラムからハッシュ値を生成し、そのハッシュ値と同一のハッシュ値をもつ行がホワイトリスト174にあれば、そのプログラムが通常通り実行させてよいプログラムであると判定する。また、生成したハッシュ値と同一のハッシュ値をもつ行がホワイトリスト174になければ、その親のプロセスのプログラムからハッシュ値を生成し、再度ホワイトリスト174と比較し判定を行う。そして親のプロセスも全てチェックしてもホワイトリスト174に該当しなければ、そのプログラムが通常通り実行させてよいプログラムではないと判定する。   Specifically, the operation determination unit 182b generates a hash value from the application program of the designated program, and if the white list 174 has a row having the same hash value as the hash value, the program is executed as usual. It is determined that the program can be executed. If the white list 174 does not contain a row having the same hash value as the generated hash value, the hash value is generated from the program of the parent process, and again compared with the white list 174 for determination. If all the parent processes are checked and the white list 174 is not met, it is determined that the program is not a program that can be executed as usual.

導入制御部182cは、導入プログラムによる導入処理を監視して、導入プログラムと被導入プログラムの対応を導入履歴175に記録する。ここで、導入履歴175の一例を図5に示す。図5に示すように、導入履歴175は、導入プログラムID、導入プログラム名、被導入プログラムパス名、バージョン、ハッシュ値といった項目を有し、導入されたプログラム毎に行が追加される。   The introduction control unit 182c monitors the introduction process by the introduction program, and records the correspondence between the introduction program and the introduction program in the introduction history 175. An example of the introduction history 175 is shown in FIG. As illustrated in FIG. 5, the introduction history 175 has items such as an introduction program ID, an introduction program name, an introduced program path name, a version, and a hash value, and a row is added for each installed program.

導入プログラムIDは、導入プログラムによる導入処理毎に割り当てられるユニークな番号である。導入プログラム名は、導入プログラムの呼称である。被導入プログラムパス名は、導入プログラムによって導入されたプログラムのパス付きのファイル名である。バージョンは、導入プログラムによって導入されたプログラムの版を示す番号である。ハッシュ値は、導入プログラムによって導入されたプログラムのハッシュ値である。   The introduction program ID is a unique number assigned for each introduction process by the introduction program. The introduction program name is the name of the introduction program. The installed program path name is a file name with a path of a program installed by the installed program. The version is a number indicating the version of the program installed by the installation program. The hash value is a hash value of a program introduced by the introduction program.

図5に示した導入履歴175の1行目と2行目の導入プログラムIDの値は、「INS001」で共通している。このことは、1行目と2行目に対応する被導入プログラムが同一の導入処理で導入されたこと、すなわち、同一の導入プログラムによって導入されたことを示している。   The value of the introduction program ID in the first and second lines of the introduction history 175 shown in FIG. 5 is common to “INS001”. This indicates that the introduced programs corresponding to the first and second lines are introduced by the same introduction process, that is, introduced by the same introduction program.

更新制御部182dは、導入プログラムによる導入処理以外の書込処理を監視して、プログラムが不正に上書きされないようにするとともに、プログラムが正当に更新された場合は、その結果を更新履歴176に記録する。ここで、更新履歴176の一例を図6に示す。図6に示すように、更新履歴176は、連番、被更新プログラムパス名、前バージョン、新バージョン、前ハッシュ値、新ハッシュ値といった項目を有する。   The update control unit 182d monitors the writing process other than the introduction process by the introduction program, prevents the program from being overwritten illegally, and records the result in the update history 176 when the program is properly updated. To do. An example of the update history 176 is shown in FIG. As illustrated in FIG. 6, the update history 176 includes items such as a serial number, an updated program path name, a previous version, a new version, a previous hash value, and a new hash value.

連番は、行が追加される度にカウントアップされるユニークな番号である。被更新プログラムパス名は、更新プログラムによって更新されたプログラムのパス付きのファイル名である。前バージョンは、更新プログラムによって更新されたプログラムの更新前の版の番号である。新バージョンは、更新プログラムによって更新されたプログラムの更新後の版の番号である。前ハッシュ値は、更新プログラムによって更新されたプログラムの更新前のハッシュ値である。新ハッシュ値は、更新プログラムによって更新されたプログラムの更新後のハッシュ値である。   The serial number is a unique number that is counted up each time a row is added. The update program path name is a file name with the path of the program updated by the update program. The previous version is the number of the version before the update of the program updated by the update program. The new version is an updated version number of the program updated by the update program. The previous hash value is a hash value before the update of the program updated by the update program. The new hash value is an updated hash value of the program updated by the update program.

図6に示した更新履歴176の1行目と3行目は、同一のプログラムに関するものであり、このプログラムが2回更新されていることを示している。すなわち、1行目に対応する1回目の更新ではバージョンが「9.0」でハッシュ値が「873jd75d」のプログラムが、バージョンが「9.1」でハッシュ値が「83s84j7z」のプログラムへ更新されている。そして、3行目に対応する2回目の更新ではバージョンが「9.1」でハッシュ値が「83s84j7z」のプログラムが、バージョンが「9.2」でハッシュ値が「93fg492s」のプログラムへ更新されている。   The first and third lines of the update history 176 shown in FIG. 6 relate to the same program and indicate that this program has been updated twice. That is, in the first update corresponding to the first row, the program with the version “9.0” and the hash value “873jd75d” is updated to the program with the version “9.1” and the hash value “83s84j7z”. ing. In the second update corresponding to the third line, the program with the version “9.1” and the hash value “83s84j7z” is updated to the program with the version “9.2” and the hash value “93fg492s”. ing.

更新制御部182dは、他のプログラムを更新しようとしているプログラムが正当であるかを判断するために、既に説明したように、それらのプログラムが同一の導入プログラムによって導入されたか否かを検証する。この検証のために、更新制御部182dは、導入履歴175に加えて更新履歴176を参照する。   The update control unit 182d verifies whether or not these programs have been introduced by the same introduction program, as described above, in order to determine whether or not the program to update another program is valid. For this verification, the update control unit 182d refers to the update history 176 in addition to the introduction history 175.

導入履歴175には、プログラムが導入された時点のハッシュ値しか残っていないため、プログラムが既に更新を受けている場合には、プログラムの現在のハッシュ値を導入履歴175と照合しても、どの導入プログラムによって導入されたか特定できない。被導入プログラムパス名で照合することも考えられるが、何らかの理由でパスが変更されていることがあり得るため好ましくない。   Since only the hash value at the time of introduction of the program remains in the introduction history 175, if the program has already been updated, the current hash value of the program is checked against the introduction history 175. It is not possible to determine whether it was introduced by the installation program. Although it is conceivable to check by the installed program path name, it is not preferable because the path may be changed for some reason.

そこで、更新制御部182dは、プログラムの現在のハッシュ値を導入履歴175と照合し、どの導入プログラムによって導入されたか特定できない場合には、更新履歴176を参照して導入時のプログラムのハッシュ値を取得する。そして、取得した導入時のハッシュ値を導入履歴175と照合して、どの導入プログラムによって導入されたかを特定する。   Therefore, the update control unit 182d compares the current hash value of the program with the introduction history 175, and if it cannot be identified by which introduction program the introduction program is installed, the update control unit 182d refers to the update history 176 to determine the hash value of the program at the time of introduction. get. Then, the acquired hash value at the time of introduction is compared with the introduction history 175 to identify which introduction program has been used for introduction.

例えば、図6に示した例で2回更新されているプログラムの場合、現在のハッシュ値である「93fg492s」が新ハッシュの項目の値として設定されている3行目のデータから、1つ前のハッシュ値である「83s84j7z」が取得される。続いて、1つ前のハッシュ値である「83s84j7z」が新ハッシュの項目の値として設定されている1行目のデータから、2つ前のハッシュ値である「873jd75d」が取得される。   For example, in the case of the program updated twice in the example shown in FIG. 6, the current hash value “93fg492s” is set to the previous one from the data in the third row in which the value of the new hash item is set. The hash value “83s84j7z” is acquired. Subsequently, “873jd75d” that is the second previous hash value is acquired from the data in the first row in which “83s84j7z” that is the previous hash value is set as the value of the item of the new hash.

そして、2つ前のハッシュ値である「873jd75d」が新ハッシュの項目の値として設定されている行は更新履歴176には存在しないため、「873jd75d」が導入時のプログラムのハッシュ値として取得される。この「873jd75d」を図5に示した導入履歴175と照合することにより、導入プログラムの導入プログラムIDである「INS001」が取得される。   And since there is no row in the update history 176 in which the second hash value “873jd75d” is set as the value of the new hash item, “873jd75d” is acquired as the hash value of the program at the time of introduction. The By comparing this “873jd75d” with the introduction history 175 shown in FIG. 5, “INS001” which is the introduction program ID of the introduction program is acquired.

また、更新制御部182dは、プログラムが正当に更新された場合、更新されたプログラムがホワイトリスト174に登録されていれば、更新後のプログラムの情報をホワイトリスト174に追加する。更新後のプログラムは、ハッシュ値が変わっているため、このようにしないと、更新後のプログラムが通常通り実行されなくなってしまうためである。   The update control unit 182d adds the updated program information to the white list 174 if the updated program is registered in the white list 174 when the program is properly updated. This is because the hash value of the updated program has changed, and if this is not done, the updated program will not be executed normally.

ホワイトリスト更新部182eは、ホワイトリスト174の更新処理を実行する。具体的には、ホワイトリスト更新部182eは、サーバ20に対して問い合わせを行い、ホワイトリスト21が更新されていれば、ホワイトリスト21をダウンロードする。そして、ホワイトリスト更新部182eは、ホワイトリスト21をホワイトリスト174へ統合する。統合処理の時に更新履歴も更新される。この更新履歴の更新は、ホワイトリスト更新部182eが行わず、更新処理部182dに対して更新処理を依頼する形で更新を行う。   The white list update unit 182e executes update processing of the white list 174. Specifically, the white list update unit 182e makes an inquiry to the server 20, and if the white list 21 has been updated, the white list 21 is downloaded. Then, the white list update unit 182e integrates the white list 21 into the white list 174. The update history is also updated during the integration process. The update of the update history is not performed by the white list update unit 182e, but is updated in the form of requesting an update process to the update processing unit 182d.

そして、ホワイトリスト更新部182eは、統合後のホワイトリスト174をホワイトリスト21と比較し、差分があれば、差分をサーバ20へ送信する。この差分は、更新プログラムによって更新されたプログラムを正常に動作させるために更新制御部182dによって追加されたものであり、サーバ20におけるホワイトリスト21の更新作業に利用される。   Then, the white list update unit 182e compares the integrated white list 174 with the white list 21 and transmits the difference to the server 20 if there is a difference. This difference is added by the update control unit 182d so that the program updated by the update program operates normally, and is used for the update work of the white list 21 in the server 20.

次に、図3に示した実行制御プログラム173によって実行される処理の手順について説明する。図7は、実行制御プログラム173の処理手順を示すフローチャートである。図7に示すように、実行制御プログラム173が起動すると、ホワイトリスト更新部182eが後述するするホワイトリスト更新処理を実行して、ホワイトリスト174を更新する(ステップS301)。   Next, the procedure of processing executed by the execution control program 173 shown in FIG. 3 will be described. FIG. 7 is a flowchart showing the processing procedure of the execution control program 173. As shown in FIG. 7, when the execution control program 173 is activated, the white list update unit 182e executes a white list update process described later to update the white list 174 (step S301).

続いて、動作制御部182aは、ファイルアクセス制御部181aからファイルアクセスの通知が来るのを待ち受ける(ステップS302)。そして、書込処理に関する通知があった場合は(ステップS303肯定)、動作制御部182aは、通知に含まれる情報等に基づいて、書込処理をOS181に依頼したプロセスを特定する(ステップS304)。   Subsequently, the operation control unit 182a waits for a file access notification from the file access control unit 181a (step S302). If there is a notification regarding the writing process (Yes at Step S303), the operation control unit 182a identifies the process that has requested the OS 181 to perform the writing process based on the information included in the notification (Step S304). .

ここで、書込処理を依頼したプロセスが、導入プログラムが実行状態となったものであれば(ステップS305肯定)、動作制御部182aは、後述する導入プログラム用書込処理を導入制御部182cに実行させる(ステップS306)。なお、導入プログラムが実行状態となったものであるか否かの判定は、例えば、プログラムの拡張子や、プロセスの挙動に基づいて行うことができる。例えば、マイクロソフト社のWindows(登録商標) OSでは、導入プログラムはマイクロソフト社が規定した手順で実装を行い、拡張子としてmsiを使用することが定められている。また、この導入プログラムを規定する以前は、導入プログラムによって導入される被導入プログラムは、キャビネット形式と呼ばれる拡張子がcabの形式で纏められることが推奨されていた。以上からWindows(登録商標) OSでは、msiやcabといった拡張子で、導入プログラムかどうかの判断を行う。   Here, if the process that requested the writing process is the one in which the introduction program is in an execution state (Yes at Step S305), the operation control unit 182a sends the introduction program writing process described later to the introduction control unit 182c. This is executed (step S306). Note that whether or not the introduction program is in an execution state can be determined based on, for example, the extension of the program or the behavior of the process. For example, in the Windows (registered trademark) OS of Microsoft Corp., it is stipulated that the installation program is implemented according to a procedure prescribed by Microsoft Corp. and uses msi as an extension. Prior to the introduction of the introduction program, it was recommended that the introduction program introduced by the introduction program be compiled in a cab format with an extension called a cabinet format. From the above, in the Windows (registered trademark) OS, it is determined whether the program is an installation program with an extension such as msi or cab.

その他のOS、例えばUNIX(登録商標)やそれらの派生OSである、Linux(登録商標)、BSDにおいては、個々のOSで被導入プログラムを管理する管理プログラムが決まっているため、その管理プログラムを起動したファイルが導入プログラムであると判定することが可能である。   In other OSs such as UNIX (registered trademark) and their derivative OS, Linux (registered trademark) and BSD, a management program for managing the installed program is determined by each OS. It is possible to determine that the activated file is an installation program.

一方、書込処理を依頼したプロセスが、導入プログラムが実行状態となったものでなければ(ステップS305否定)、動作制御部182aは、後述する非導入プログラム用書込処理を更新制御部182dに実行させる(ステップS307)。   On the other hand, if the process that requested the writing process is not the one in which the introduction program is in an execution state (No in step S305), the operation control unit 182a sends the non-introduction program writing process to be described later to the update control unit 182d. This is executed (step S307).

また、ファイルアクセス制御部181aから読出処理に関する通知があった場合は(ステップS303否定)、動作制御部182aは、通知に含まれる情報等に基づいて、読出処理をOS181に依頼したプロセスを特定する(ステップS308)。ここで、読出処理を依頼したプロセスが、導入プログラムが実行状態となったものであれば(ステップS309肯定)、動作制御部182aは、そのまま読出処理を実行させるようにファイルアクセス制御部181aに指示する(ステップS313)。   When the file access control unit 181a receives a notification regarding the reading process (No at Step S303), the operation control unit 182a identifies the process that has requested the OS 181 to perform the reading process based on information included in the notification. (Step S308). Here, if the process that requested the read process is the one in which the introduction program has been executed (Yes at step S309), the operation control unit 182a instructs the file access control unit 181a to execute the read process as it is. (Step S313).

一方、読出処理を依頼したプロセスが、導入プログラムが実行状態となったものでなければ(ステップS309否定)、動作制御部182aは、後述する動作判定処理を動作判定部182bに実行させる(ステップS310)。その結果、読出処理を依頼したプロセスが通常通りの処理を実行してよいものであることが分かれば(ステップS311肯定)、動作制御部182aは、そのまま読出処理を実行させるようにファイルアクセス制御部181aに指示する(ステップS313)。   On the other hand, if the process that requested the read process is not the one in which the introduction program is in the execution state (No at Step S309), the operation control unit 182a causes the operation determination unit 182b to execute an operation determination process described later (Step S310). ). As a result, if it is found that the process that requested the read process may execute the normal process (Yes in step S311), the operation control unit 182a causes the file access control unit to execute the read process as it is. Instruct 181a (step S313).

また、読出処理を依頼したプロセスが通常通りの処理を実行してよいものでないことが分かれば(ステップS311否定)、動作制御部182aは、読出処理をキャンセルさせるようにファイルアクセス制御部181aに指示する(ステップS312)。   If it is found that the process that requested the reading process is not a process that can execute the normal process (No in step S311), the operation control unit 182a instructs the file access control unit 181a to cancel the reading process. (Step S312).

以上の処理手順を終了した後、動作制御部182aは、ステップS302に戻って、ファイルアクセス制御部181aから次の通知が来るのを待ち受ける。   After completing the above processing procedure, the operation control unit 182a returns to step S302 and waits for the next notification from the file access control unit 181a.

図8は、図7に示した導入プログラム用書込処理(ステップS306)の処理手順を示すフローチャートである。図8に示すように、まず、動作判定部182bによる動作判定処理が実行される(ステップS401)。ここで、導入プログラムが通常通りの処理を実行してよいものでないことが分かれば(ステップS402否定)、導入制御部182cは、書込先のパスを外部記憶装置11aへ変更させるようにファイルアクセス制御部181aに指示する(ステップS403)。   FIG. 8 is a flowchart showing a processing procedure of the introductory program writing process (step S306) shown in FIG. As shown in FIG. 8, firstly, an operation determination process by the operation determination unit 182b is executed (step S401). Here, if it is found that the introduction program may not execute the normal processing (No at Step S402), the introduction control unit 182c accesses the file so as to change the write destination path to the external storage device 11a. The control unit 181a is instructed (step S403).

このように、実行制御プログラム173は、ホワイトリストに登録されていない導入プロセスであっても、プログラムの導入先を通常とは異なる場所に変更して導入させる。そして、導入後のプログラムについては、ファイルの読み書きに制限を課すものの、起動は認める。このような制御により、正式に実行が認められていないプログラムの動作や機能を安全な状態で確認することが可能になる。なお、書込先のパスの変更先は、他のプログラムに悪影響を生じない場所であれば、外部記憶装置11aでなくてもよい。   As described above, the execution control program 173 changes the installation destination of the program to a place different from the normal place, even if the introduction process is not registered in the white list. And after installing the program, although it imposes restrictions on reading and writing of files, it can be started. By such control, it becomes possible to confirm in a safe state the operation and function of a program that is not officially permitted to be executed. Note that the change destination of the write destination path may not be the external storage device 11a as long as it does not adversely affect other programs.

一方、導入プログラムが通常通りの処理を実行してよいものであることが分かれば(ステップS402肯定)、導入制御部182cは、通知に含まれる情報等に基づいて、書込先のファイルに関する情報を取得する(ステップS404)。そして、書込先のファイルがプログラムでなければ(ステップS405否定)、導入制御部182cは、そのまま書込処理を実行させるようにファイルアクセス制御部181aに指示する(ステップS407)。   On the other hand, if it is found that the introduction program can execute the normal processing (Yes at Step S402), the introduction control unit 182c determines the information on the write destination file based on the information included in the notification. Is acquired (step S404). If the writing destination file is not a program (No at Step S405), the introduction control unit 182c instructs the file access control unit 181a to execute the writing process as it is (Step S407).

また、書込先のファイルがプログラムであれば(ステップS405肯定)、導入制御部182cは、導入プログラムと被導入プログラムの情報を対応づけて導入履歴175に記憶させる(ステップS406)。そして、導入制御部182cは、そのまま書込処理を実行させるようにファイルアクセス制御部181aに指示する(ステップS407)。   If the write destination file is a program (Yes at step S405), the introduction control unit 182c stores the information of the introduction program and the introduction program in the introduction history 175 in association with each other (step S406). Then, the introduction control unit 182c instructs the file access control unit 181a to execute the writing process as it is (step S407).

図9は、図7に示した非導入プログラム用書込処理(ステップS307)の処理手順を示すフローチャートである。図9に示すように、まず、動作判定部182bによる動作判定処理が実行される(ステップS501)。ここで、要求元のプログラムが通常通りの処理を実行してよいものでないことが分かれば(ステップS502否定)、更新制御部182dは、書込先のパスを外部記憶装置11aへ変更させるようにファイルアクセス制御部181aに指示する(ステップS503)。   FIG. 9 is a flowchart showing a processing procedure of the non-introduction program writing process (step S307) shown in FIG. As shown in FIG. 9, first, an operation determination process by the operation determination unit 182b is executed (step S501). Here, if it is found that the request source program may not execute normal processing (No in step S502), the update control unit 182d changes the write destination path to the external storage device 11a. The file access control unit 181a is instructed (step S503).

一方、要求元のプログラムが通常通りの処理を実行してよいものであることが分かれば(ステップS502肯定)、更新制御部182dは、通知に含まれる情報等に基づいて、書込先のファイルに関する情報を取得する(ステップS504)。そして、書込先のファイルがホワイトリスト174に登録されたものでなければ(ステップS505否定)、更新制御部182dは、そのまま書込処理を実行させるようにファイルアクセス制御部181aに指示する(ステップS515)。   On the other hand, if it is found that the request source program can execute normal processing (Yes in step S502), the update control unit 182d determines that the write destination file is based on the information included in the notification. The information regarding is acquired (step S504). If the writing destination file is not registered in the white list 174 (No in step S505), the update control unit 182d instructs the file access control unit 181a to execute the writing process as it is (step S505). S515).

書込先のファイルがホワイトリスト174に登録されたものであれば(ステップS505肯定)、更新制御部182dは、導入履歴175と更新履歴176を参照して、書込先のプログラムに対応する導入プログラムIDを取得する(ステップS506)。また、更新制御部182dは、導入履歴175と更新履歴176を参照して、書込処理の要求元のプログラムに対応する導入プログラムIDを取得する(ステップS508)。   If the write destination file is registered in the white list 174 (Yes at step S505), the update control unit 182d refers to the introduction history 175 and the update history 176, and introduces the program corresponding to the write destination program. A program ID is acquired (step S506). In addition, the update control unit 182d refers to the introduction history 175 and the update history 176, and acquires the introduction program ID corresponding to the program that requested the writing process (step S508).

ここで、一方でも取得できなければ(ステップS507否定またはステップS509否定)、同一の導入プログラムによって導入されたプログラム同士ではないことになるので、更新制御部182dは、書込処理をキャンセルさせる(ステップS512)。   Here, if neither of them can be acquired (No at Step S507 or No at Step S509), it means that the programs are not installed by the same introduction program, so the update control unit 182d cancels the writing process (Step S507). S512).

また、導入プログラムIDをいずれも取得できた場合(ステップS507肯定かつステップS509肯定)、更新制御部182dは、取得された導入プログラムIDを比較する(ステップS510)。ここで、導入プログラムIDが一致しなかった場合も(ステップS511否定)、同一の導入プログラムによって導入されたプログラム同士ではないことになるので、更新制御部182dは、書込処理をキャンセルさせる(ステップS512)。   Further, when both of the introduction program IDs can be acquired (Yes at Step S507 and Yes at Step S509), the update control unit 182d compares the acquired introduction program IDs (Step S510). Here, even if the installation program IDs do not match (No in step S511), the programs are not installed by the same installation program, so the update control unit 182d cancels the writing process (step S511). S512).

一方、導入プログラムIDが一致した場合(ステップS511肯定)、更新制御部182dは、更新履歴176に情報を追加する(ステップS513)。さらに、更新制御部182dは、更新後のプログラムを通常通り実行できるように、書込先のプログラムに対応するホワイトリスト174の情報を更新する(ステップS514)。そして、更新制御部182dは、そのまま書込処理を実行させるようにファイルアクセス制御部181aに指示する(ステップS515)。   On the other hand, when the introduction program IDs match (Yes at Step S511), the update control unit 182d adds information to the update history 176 (Step S513). Further, the update control unit 182d updates the information in the white list 174 corresponding to the program to be written so that the updated program can be executed normally (step S514). Then, the update control unit 182d instructs the file access control unit 181a to execute the writing process as it is (step S515).

なお、図9に示した処理手順では、プログラムが上書きされそうになったときに導入プログラムの一致を確認する処理を、ホワイトリスト174に登録されているプログラムのみを対象として行っている。このように制御することにより、導入プログラムの一致を確認する処理によって生じる負荷を軽減することができる。   In the processing procedure shown in FIG. 9, the process for confirming the matching of the installed programs when the program is about to be overwritten is performed only for the programs registered in the white list 174. By controlling in this way, it is possible to reduce the load caused by the process of confirming the matching of the introduction programs.

図10は、図7〜9に示した動作判定処理(ステップS310、ステップS401、ステップS501)の処理手順を示すフローチャートである。図10に示すように、動作判定部182bは、判定対象のプロセスに関する情報をファイルアクセス制御部181aが取得し動作制御部182aに通知した情報から取得する(ステップS601)。そして、動作判定部182bは、判定対象のプロセスに対応するプログラムからハッシュ値を生成し(ステップS602)、ハッシュ値を検索キーとしてホワイトリスト174を検索する(ステップS603)。   FIG. 10 is a flowchart showing a processing procedure of the operation determination processing (step S310, step S401, step S501) shown in FIGS. As illustrated in FIG. 10, the operation determination unit 182b acquires information related to the determination target process from the information acquired by the file access control unit 181a and notified to the operation control unit 182a (step S601). Then, the operation determination unit 182b generates a hash value from a program corresponding to the determination target process (step S602), and searches the white list 174 using the hash value as a search key (step S603).

ここで、検索がヒットした場合は(ステップS604肯定)、動作判定部182bは、判定対象のプロセスは通常通り実行して構わないと判定する(ステップS605)。一方、検索がヒットしない場合は(ステップS604否定)、動作判定部182bは、判定対象のプロセスに関する情報から親プロセスの有無を確認する(ステップS606)。親プロセスが存在しない場合は(ステップS607否定)、判定対象のプロセスは通常通り実行させることはできないと判定する(ステップS608)。親プロセスが存在する場合は(ステップS607肯定)、親プロセスのプログラムからハッシュ値を生成し(ステップS609)、親プロセスのハッシュ値を検索キーとしてホワイトリスト174を再検索する(ステップS603)。   If the search is hit (Yes at Step S604), the operation determination unit 182b determines that the determination target process may be executed as usual (Step S605). On the other hand, when the search does not hit (No at Step S604), the operation determination unit 182b confirms the presence / absence of the parent process from the information related to the determination target process (Step S606). If there is no parent process (No at Step S607), it is determined that the process to be determined cannot be executed normally (Step S608). If a parent process exists (Yes at step S607), a hash value is generated from the program of the parent process (step S609), and the white list 174 is searched again using the hash value of the parent process as a search key (step S603).

図11は、図7に示したホワイトリスト更新処理の処理手順を示すフローチャートである。図11に示すように、ホワイトリスト更新部182eは、ホワイトリスト21の更新の有無をサーバ20に問い合わせる(ステップS701)。ここで、更新がなければ(ステップS702否定)、ホワイトリスト更新処理は終了する。   FIG. 11 is a flowchart showing a processing procedure of the white list update process shown in FIG. As shown in FIG. 11, the white list update unit 182e inquires of the server 20 whether or not the white list 21 is updated (step S701). If there is no update (No at step S702), the white list update process ends.

更新があれば(ステップS702肯定)、ホワイトリスト更新部182eは、ホワイトリスト21をサーバ20からダウンロードし(ステップS703)、ホワイトリスト174へ統合させる(ステップS704)。そして、ホワイトリスト更新部182eは、統合後のホワイトリスト174をホワイトリスト21と比較し(ステップS705)、差分があれば(ステップS706肯定)、差分をサーバ20へ送信する(ステップS707)。   If there is an update (Yes at Step S702), the white list updating unit 182e downloads the white list 21 from the server 20 (Step S703) and integrates it into the white list 174 (Step S704). Then, the white list update unit 182e compares the integrated white list 174 with the white list 21 (step S705), and if there is a difference (Yes in step S706), transmits the difference to the server 20 (step S707).

図12は、図11に示したホワイトリストを統合する処理(ステップS704)の処理手順を示すフローチャートである。ホワイトリスト21から1行読み取り(ステップS801)、読み取りができた場合は(ステップS802肯定)、ホワイトリスト21と統合前のホワイトリスト174を比較し、ハッシュ値の確認を行う(ステップS803)。ハッシュ値が一致したプログラムについては(ステップS804肯定)、ホワイトリスト21とホワイトリスト174で同一プログラムということで統合済みと判断し、ステップS801に戻ってホワイトリスト21から次の1行を読み取る。   FIG. 12 is a flowchart illustrating a processing procedure of processing (step S704) for integrating the white list illustrated in FIG. One line is read from the white list 21 (step S801). If the reading is successful (Yes in step S802), the white list 21 and the white list 174 before integration are compared, and the hash value is confirmed (step S803). For the programs with the matching hash values (Yes at step S804), the white list 21 and the white list 174 determine that the programs are integrated, and the process returns to step S801 to read the next line from the white list 21.

ハッシュ値が一致しなかったプログラムについて(ステップS804否定)、次に名称とファイル名のどちらか一方が一致するか確認を行い(ステップS805)、一致した場合は(ステップS806肯定)、バージョン番号を比較し(ステップS807)、ホワイトリスト21がホワイトリスト174より同一または大きい場合に(ステップS808肯定)、ホワイトリスト174に統合を行う(ステップS809)。統合処理に続いて更新履歴176に情報を追加する必要がある(ステップS810)。この時はホワイトリスト更新部182eが更新制御部182dに通知を行い、更新履歴176に情報の追加を依頼する。そして、ステップS801に戻ってホワイトリスト21から次の1行を読み取る。   For programs whose hash values do not match (No in step S804), it is checked whether either the name or the file name matches (step S805). If they match (Yes in step S806), the version number is changed. When the comparison is made (step S807) and the white list 21 is the same or larger than the white list 174 (Yes at step S808), the white list 174 is integrated (step S809). It is necessary to add information to the update history 176 following the integration process (step S810). At this time, the white list update unit 182e notifies the update control unit 182d and requests the update history 176 to add information. Then, the process returns to step S801, and the next line is read from the white list 21.

逆にバージョン番号を比較しホワイトリスト21よりホワイトリスト174が大きい場合には(ステップS808否定)、ホワイトリスト21よりもホワイトリスト174の方がより新しい情報として、ホワイトリスト174への統合を行わずに、ステップS801に戻ってホワイトリスト21から次の1行を読み取る。名称とファイル名のどちらも一致しなかった場合は(ステップS806否定)、新規プログラムとして、ホワイトリスト21をホワイトリスト174に統合を行い(ステップS811)、ステップS801に戻ってホワイトリスト21から次の1行を読み取る。   Conversely, if the version number is compared and the white list 174 is larger than the white list 21 (No in step S808), the white list 174 is newer than the white list 21 and is not integrated into the white list 174. Returning to step S801, the next line is read from the white list 21. If neither the name nor the file name match (No in step S806), the white list 21 is integrated into the white list 174 as a new program (step S811), and the process returns to step S801 to return to the next list from the white list 21. Read one line.

そして、ホワイトリスト21の全ての行を処理し終えたならば(ステップS802否定)、ホワイトリストを統合する処理を終了する。   If all the lines of the white list 21 have been processed (No at step S802), the process of integrating the white list is ended.

上述してきたように、本実施例では、プログラムの導入時に取得した情報に基づいてプログラムの更新を制御することとしたので、手間をかけることなく、プログラムの不正な更新を防止することができる。   As described above, in this embodiment, since the update of the program is controlled based on the information acquired when the program is introduced, it is possible to prevent the program from being illegally updated without taking time and effort.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)導入プログラムによって複数のプログラムが導入された場合に、該導入プログラムによって導入された該複数のプログラムを対応づけて導入情報として記録する導入制御手順と、
第一のプログラムに対して第二のプログラムからの更新処理要求を受け付け、前記導入情報を参照し、該第一のプログラムと該第二のプログラムが対応づけられているか否かを判定し、対応づけられている場合は、該更新処理を許可し、他方、対応づけられていない場合は、該更新処理を拒否する更新制御手順と
をコンピュータに実行させることを特徴とする実行制御プログラム。
(Supplementary Note 1) When a plurality of programs are introduced by the introduction program, an introduction control procedure for recording the plurality of programs introduced by the introduction program as introduction information in association with each other;
An update process request from the second program is received with respect to the first program, the introduction information is referred to, and it is determined whether or not the first program and the second program are associated with each other. An execution control program that causes the computer to execute an update control procedure that permits the update process if it is attached, and rejects the update process if it is not associated.

(付記2)プログラムリストに基づいて特定のプログラムの動作を定義する動作制御手順をさらにコンピュータに実行させ、
前記導入情報は、前記導入プログラムに対応づけて、該導入プログラムによって導入された前記プログラムが管理され
前記更新制御手順は、前記第二のプログラムが前記プログラムリストに基づき動作が許可される場合に、前記導入情報を参照し、該第二のプログラムに対応づけられた導入プログラムと、前記第一のプログラムに対応づけられた導入プログラムを比較し、両者の導入プログラムが一致するか否かを判定し、一致する場合は該第二のプログラムの前記更新処理を許可し、一致しない場合は該更新処理を拒否することを特徴とする付記1に記載の実行制御プログラム。
(Additional remark 2) Let a computer further perform the operation control procedure which defines operation | movement of a specific program based on a program list,
The introduction information is associated with the introduction program, the program introduced by the introduction program is managed, and the update control procedure is performed when the second program is permitted to operate based on the program list. Refer to the introduction information, compare the introduction program associated with the second program with the introduction program associated with the first program, and determine whether the two introduction programs match. The execution control program according to appendix 1, wherein the update process of the second program is permitted if they match, and the update process is rejected if they do not match.

(付記3)前記更新制御手順は、前記プログラムリストにおいて、前記第一のプログラムの動作が許可されている場合、該第一のプログラムが前記第二のプログラムよって更新されると、該第一のプログラムが更新されたことを示す更新情報を該プログラムリストに記録することを特徴とする付記2に記載の実行制御プログラム。 (Supplementary Note 3) In the program list, when the operation of the first program is permitted in the program list, the update control procedure is performed when the first program is updated by the second program. The execution control program according to appendix 2, wherein update information indicating that the program has been updated is recorded in the program list.

(付記4)外部装置からダウンロードしたダウンロードデータを前記プログラムリストへ統合するとともに、該ダウンロードデータに前記第一のプログラムが更新されたことを示す更新情報が含まれていない場合は、該更新情報を前記外部装置へ送信するリスト更新手順をさらにコンピュータに実行させることを特徴とする付記3に記載の実行制御プログラム。 (Supplementary Note 4) When download data downloaded from an external device is integrated into the program list and the download data does not include update information indicating that the first program has been updated, the update information is The execution control program according to appendix 3, further causing a computer to execute a list update procedure to be transmitted to the external device.

(付記5)導入プログラムによって複数のプログラムが導入された場合に、該導入プログラムによって導入された該複数のプログラムを対応づけて導入情報として記録する導入制御手段と、
第一のプログラムに対して第二のプログラムからの更新処理要求を受け付け、前記導入情報を参照し、該第一のプログラムと該第二のプログラムが対応づけられているか否かを判定し、対応づけられている場合は、該更新処理を許可し、他方、対応づけられていない場合は、該更新処理を拒否する更新制御手段と
を備えたことを特徴とする情報処理装置。
(Appendix 5) When a plurality of programs are introduced by the introduction program, introduction control means for associating and recording the plurality of programs introduced by the introduction program as introduction information;
An update process request from the second program is received with respect to the first program, the introduction information is referred to, and it is determined whether or not the first program and the second program are associated with each other. And an update control means for permitting the update process if it is attached, and rejecting the update process if it is not associated.

(付記6)導入プログラムによって複数のプログラムが導入された場合に、該導入プログラムによって導入された該複数のプログラムを対応づけて導入情報として記録する導入制御工程と、
第一のプログラムに対して第二のプログラムからの更新処理要求を受け付け、前記導入情報を参照し、該第一のプログラムと該第二のプログラムが対応づけられているか否かを判定し、対応づけられている場合は、該更新処理を許可し、他方、対応づけられていない場合は、該更新処理を拒否する更新制御工程と
を含んだことを特徴とする実行制御方法。
(Supplementary Note 6) When a plurality of programs are introduced by the introduction program, an introduction control step of associating and recording the plurality of programs introduced by the introduction program as introduction information;
An update process request from the second program is received with respect to the first program, the introduction information is referred to, and it is determined whether or not the first program and the second program are associated with each other. And an update control step of permitting the update process if it is attached, and rejecting the update process if it is not associated.

(付記7)サーバと情報処理装置とを含む情報処理システムであって、
前記サーバは、
特定のプログラムの動作を定義するためのプログラムリストを記憶する記憶部と、
前記記憶部に記憶されたプログラムリストを前記情報処理装置に送信する送信部と
を備え、
前記情報処理装置は、
前記サーバから、前記プログラムリストを受信する受信部と、
受信した前記プログラムリストに基づいて特定のプログラムの動作を定義する操作制御部と、
導入プログラムによって複数のプログラムが導入された場合に、該導入プログラムによって導入された複数のプログラムを対応づけて導入情報として記録する導入制御部と、
第一のプログラムに対して第二のプログラムからの更新処理要求を受け付け、前記プログラムリストに基づき該第二のプログラムの動作が許可されると判断した場合、さらに、前記導入情報を参照し、該第一のプログラムと該第二のプログラムが対応づけられているか否かを判定し、対応づけられている場合は第二のプログラムの該更新処理要求を許可し、一方、対応づけられていない場合は該更新処理要求を拒否する更新制御部と、
を備えることを特徴とする情報処理システム。
(Supplementary note 7) An information processing system including a server and an information processing device,
The server
A storage unit for storing a program list for defining the operation of a specific program;
A transmission unit that transmits the program list stored in the storage unit to the information processing apparatus,
The information processing apparatus includes:
A receiving unit for receiving the program list from the server;
An operation control unit that defines the operation of a specific program based on the received program list;
When a plurality of programs are introduced by the introduction program, an introduction control unit that records a plurality of programs introduced by the introduction program as introduction information in association with each other,
When receiving an update processing request from the second program for the first program and determining that the operation of the second program is permitted based on the program list, further refer to the introduction information, It is determined whether or not the first program and the second program are associated with each other, and if they are associated with each other, the update processing request of the second program is permitted. Is an update control unit that rejects the update processing request;
An information processing system comprising:

1 情報処理システム
10a〜c 情報処理装置
110 CPU
120 入力部
130 表示部
140 ネットワークI/F部
150 入出力I/F部
160 記憶媒体読書部
170 ハードディスク装置
171 OSプログラム
172 アプリケーションプログラム
173 実行制御プログラム
174 ホワイトリスト
175 導入履歴
176 更新履歴
180 RAM
181 OS
181a ファイルアクセス制御部
182 実行制御プロセス
182a 動作制御部
182b 動作判定部
182c 更新制御部
182d 更新制御部
182e ホワイトリスト更新部
183 実行プロセス
190 バス
11a〜c 外部記憶装置
20 サーバ
21 ホワイトリスト
22 更新ファイル提供装置
30 ネットワーク
31 インターネット
1 Information processing system 10a-c Information processing apparatus 110 CPU
120 Input unit 130 Display unit 140 Network I / F unit 150 Input / output I / F unit 160 Storage medium reading unit 170 Hard disk device 171 OS program 172 Application program
173 Execution control program 174 White list 175 Introduction history 176 Update history 180 RAM
181 OS
181a File access control unit 182 Execution control process 182a Operation control unit 182b Operation determination unit 182c Update control unit 182d Update control unit 182e White list update unit 183 Execution process 190 Bus 11a-c External storage device 20 Server 21 White list 22 Provide update file Device 30 Network 31 Internet

Claims (3)

導入プログラムによって複数のプログラムが導入された場合に、該導入プログラムによって導入された該複数のプログラムを、前記導入プログラムに対応づけて導入情報として記録する導入制御手順と、
プログラムリストに基づいて特定のプログラムの動作を定義する動作制御手順と、
第一のプログラムに対して第二のプログラムからの更新処理要求を受け付け、前記第二のプログラムの動作が前記プログラムリストに基づき許可される場合に、前記導入情報を参照し、前記第二のプログラムに対応づけられた導入プログラムと、前記第一のプログラムに対応づけられた導入プログラムとを比較し、両者の導入プログラムが一致するか否かを判定し、一致する場合は前記第二のプログラムによる前記第一のプログラムの更新処理を許可すると共に、前記プログラムリストにおいて、前記第一のプログラムの動作が許可されている場合に、該第一のプログラムが前記第二のプログラムによって更新されると、該第一のプログラムが更新されたことを示す更新情報を前記プログラムリストに記録し、前記第一のプログラムが正当に更新された場合、更新された前記第一のプログラムが前記プログラムリストに登録されているときに、更新後のプログラムの情報を前記プログラムリストに追加する一方、
前記両者の導入プログラムが一致しない場合は、前記更新処理を拒否する更新制御手順と
をコンピュータに実行させることを特徴とする実行制御プログラム。
When a plurality of programs are introduced by the introduction program, an introduction control procedure for recording the plurality of programs introduced by the introduction program as introduction information in association with the introduction program ;
An operation control procedure that defines the operation of a specific program based on a program list;
When an update processing request from the second program is received with respect to the first program and the operation of the second program is permitted based on the program list, the introduction information is referred to, and the second program The introduction program associated with the first program is compared with the introduction program associated with the first program, and it is determined whether or not the two introduction programs match. When the first program is updated by the second program when the first program is permitted in the program list and the operation of the first program is permitted in the program list, Update information indicating that the first program has been updated is recorded in the program list, and the first program is properly When new is, when the first program that has been updated is registered in the program list, while adding information of the updated programs in the program list,
An execution control program that causes a computer to execute an update control procedure that rejects the update process when the two introduction programs do not match .
外部装置からダウンロードしたダウンロードデータを前記プログラムリストへ統合するとともに、該ダウンロードデータに前記第一のプログラムが更新されたことを示す更新情報が含まれていない場合は、該更新情報を前記外部装置へ送信するリスト更新手順をさらにコンピュータに実行させることを特徴とする請求項に記載の実行制御プログラム。 Download data downloaded from an external device is integrated into the program list, and if the download data does not include update information indicating that the first program has been updated, the update information is sent to the external device. The execution control program according to claim 1 , further causing the computer to execute a list update procedure to be transmitted. サーバと情報処理装置とを含む情報処理システムであって、
前記サーバは、
特定のプログラムの動作を定義するためのプログラムリストを記憶する記憶部と、
前記記憶部に記憶されたプログラムリストを前記情報処理装置に送信する送信部と
を備え、
前記情報処理装置は、
前記サーバから、前記プログラムリストを受信する受信部と、
受信した前記プログラムリストに基づいて特定のプログラムの動作を定義する操作制御部と、
導入プログラムによって複数のプログラムが導入された場合に、該導入プログラムによって導入された複数のプログラムを、前記導入プログラムに対応づけて導入情報として記録する導入制御部と、
第一のプログラムに対して第二のプログラムからの更新処理要求を受け付け、前記第二のプログラムの動作が前記プログラムリストに基づき許可される場合に、前記導入情報を参照し、前記第二のプログラムに対応づけられた導入プログラムと、前記第一のプログラムに対応づけられた導入プログラムとを比較し、両者の導入プログラムが一致するか否かを判定し、一致する場合は前記第二のプログラムによる前記第一のプログラムの更新処理を許可すると共に、前記プログラムリストにおいて、前記第一のプログラムの動作が許可されている場合に、該第一のプログラムが前記第二のプログラムによって更新されると、該第一のプログラムが更新されたことを示す更新情報を前記プログラムリストに記録し、前記第一のプログラムが正当に更新された場合、更新された前記第一のプログラムが前記プログラムリストに登録されているときに、更新後のプログラムの情報を前記プログラムリストに追加する一方、
前記両者の導入プログラムが一致しない場合は、前記更新処理を拒否する更新制御部と、
を備えることを特徴とする情報処理システム。
An information processing system including a server and an information processing device,
The server
A storage unit for storing a program list for defining the operation of a specific program;
A transmission unit that transmits the program list stored in the storage unit to the information processing apparatus,
The information processing apparatus includes:
A receiving unit for receiving the program list from the server;
An operation control unit that defines the operation of a specific program based on the received program list;
An introduction control unit that records a plurality of programs introduced by the introduction program as introduction information in association with the introduction program when a plurality of programs are introduced by the introduction program ;
When an update processing request from the second program is received with respect to the first program and the operation of the second program is permitted based on the program list, the introduction information is referred to and the second program is referred to The introduction program associated with the first program is compared with the introduction program associated with the first program, and it is determined whether or not the two introduction programs match. When the first program is updated by the second program when the first program is permitted in the program list and the operation of the first program is permitted in the program list, Update information indicating that the first program has been updated is recorded in the program list, and the first program is properly When new is, when the first program that has been updated is registered in the program list, while adding information of the updated programs in the program list,
If the both installation program do not match, and rejects the update control unit said update processing,
An information processing system comprising:
JP2009088233A 2009-03-31 2009-03-31 Execution control program and information processing system Expired - Fee Related JP5402169B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009088233A JP5402169B2 (en) 2009-03-31 2009-03-31 Execution control program and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009088233A JP5402169B2 (en) 2009-03-31 2009-03-31 Execution control program and information processing system

Publications (2)

Publication Number Publication Date
JP2010238168A JP2010238168A (en) 2010-10-21
JP5402169B2 true JP5402169B2 (en) 2014-01-29

Family

ID=43092396

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009088233A Expired - Fee Related JP5402169B2 (en) 2009-03-31 2009-03-31 Execution control program and information processing system

Country Status (1)

Country Link
JP (1) JP5402169B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6253333B2 (en) * 2012-10-09 2017-12-27 キヤノン電子株式会社 Information processing apparatus, information processing system, and information processing method
JP6254414B2 (en) * 2012-10-09 2017-12-27 キヤノン電子株式会社 Information processing apparatus, information processing system, and information processing method
WO2014207859A1 (en) * 2013-06-27 2014-12-31 株式会社日立製作所 Control device and software overwrite system employing same
KR101883713B1 (en) * 2016-09-22 2018-07-31 주식회사 위드네트웍스 Apparatus and method for blocking ransome ware using access control to the contents file

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
JP4361894B2 (en) * 2005-09-15 2009-11-11 株式会社エヌ・ティ・ティ・ドコモ External memory management device and external memory management method
JP2007316780A (en) * 2006-05-24 2007-12-06 Nec Corp Computer system, computer and file operation limiting method to be used therefor, and its program

Also Published As

Publication number Publication date
JP2010238168A (en) 2010-10-21

Similar Documents

Publication Publication Date Title
JP5381670B2 (en) Execution control method, execution control program, and execution control apparatus
JP5863869B2 (en) Browser-based fraud prevention method and system
CN109446815B (en) Management method and device for basic input/output system firmware and server
CN103890716B (en) For accessing the interface based on webpage of the function of basic input/output
JP5014726B2 (en) Enhanced execution environment by preventing unauthorized boot loader execution
US9576132B2 (en) Information processing apparatus and information processing method
JP5222427B1 (en) Network system and program
JP2005129066A (en) Operating system resource protection
CN107644174B (en) Data leakage prevention system and data leakage prevention method
JP2020520518A (en) Auxiliary storage device having independent restoration area and equipment to which the auxiliary storage device is applied
JP5402169B2 (en) Execution control program and information processing system
JP6165469B2 (en) Information processing apparatus, control method therefor, and information processing system
US9390275B1 (en) System and method for controlling hard drive data change
JP2007249782A (en) Electronic data leakage prevention program
JP2008305377A (en) Network storage device intrusion protection system and method
CN110750805B (en) Application access control method, apparatus, electronic device and readable storage medium
JP6829168B2 (en) Information processing equipment, information processing methods and programs
JP2016058997A (en) System and method for monitoring access to network in secured site
JP4671418B2 (en) Method for managing secondary storage device in user terminal and user terminal
JP6253333B2 (en) Information processing apparatus, information processing system, and information processing method
JP2010044656A (en) Information processing terminal and management server
JP6820073B2 (en) Program management device, program management method, and program
US20210240364A1 (en) Storing new settings for write-protected systems on non-write-protected storage
JP2010146408A (en) Information processing apparatus, information processing method, and program
WO2006053488A1 (en) A method for realizing anti-virus and a computer thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131014

LAPS Cancellation because of no payment of annual fees