JP2007072969A - Operation history protection device and operation history protection program - Google Patents
Operation history protection device and operation history protection program Download PDFInfo
- Publication number
- JP2007072969A JP2007072969A JP2005262111A JP2005262111A JP2007072969A JP 2007072969 A JP2007072969 A JP 2007072969A JP 2005262111 A JP2005262111 A JP 2005262111A JP 2005262111 A JP2005262111 A JP 2005262111A JP 2007072969 A JP2007072969 A JP 2007072969A
- Authority
- JP
- Japan
- Prior art keywords
- operation history
- processing unit
- history
- process processing
- specific
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、プロセスの動作履歴をバッファオーバーフロー攻撃等から保護する動作履歴保護装置及び動作履歴保護プログラムに関する。 The present invention relates to an operation history protection device and an operation history protection program for protecting an operation history of a process from a buffer overflow attack or the like.
パーソナルコンピュータ、PDA(Personal Digital Assistant)や携帯電話等の端末装置は、ネットワークを介してプログラムを受信し、受信したプログラムを実行している。これによれば、端末装置は、必要なアプリケーションを実行するためのプログラムを迅速に取得することができるため、端末装置の利便性を向上させることができる。 A terminal device such as a personal computer, a PDA (Personal Digital Assistant), or a mobile phone receives the program via the network and executes the received program. According to this, since the terminal device can quickly acquire a program for executing a necessary application, the convenience of the terminal device can be improved.
一方、ネットワークを介して送信されるプログラムを構成するコードには、端末装置の内部データを破壊するコード、端末装置に対する不正操作を実行するコード、端末装置が用いるリソースを乱用するコードなどの不正コードが含まれる場合がある。このため、ダウンロード可能なアプリケーションの拡大に伴ない、当該不正コードによるシステム障害を未然に防ぐ処理、又は当該不正コードによるシステム障害が発生してもシステムの状態を適切に復旧させる処理の重要性が増している。 On the other hand, the code that constitutes the program transmitted via the network includes illegal codes such as a code that destroys internal data of the terminal device, a code that executes an illegal operation on the terminal device, and a code that abuses resources used by the terminal device May be included. For this reason, the importance of processing to prevent system failure due to the malicious code in advance with the expansion of downloadable applications, or processing to properly restore the system state even if system failure due to the malicious code occurs is important. It is increasing.
従来から端末装置は、プログラムにより生成されたプロセスの動作履歴を逐次記録(例えば、オペレーティングシステムで用いられるSYSLOGが動作履歴を逐次記録)し、当該プロセスによりシステム障害が発生した場合には、記録したプロセスの動作履歴を参照することによりシステム障害が発生する前のシステムの状態に復旧させる。 Conventionally, the terminal device sequentially records the operation history of the process generated by the program (for example, SYSLOG used in the operating system records the operation history sequentially), and records when a system failure occurs due to the process. By referring to the operation history of the process, the system state before the occurrence of the system failure is restored.
しかしながら、上記システム障害の復旧が行われるためには、プロセスの動作履歴自体の信頼性が保証されなければならない。このため、システム障害に関わる動作履歴が破壊されたり、動作履歴が上記不正コードを含むプログラムにより改竄された場合には、端末装置は、上記動作履歴を本来の目的に利用することができなくなる。 However, in order to recover the system failure, it is necessary to guarantee the reliability of the process operation history itself. For this reason, when the operation history related to the system failure is destroyed or the operation history is falsified by the program including the illegal code, the terminal device cannot use the operation history for the original purpose.
この点を解決するための従来技術として特許文献1で提案されている動作履歴正当性検証技術を例にして説明する。
An operation history validity verification technique proposed in
当該動作履歴正当性検証技術では、現時点の動作履歴とその前の動作履歴とを含むデータに対して電子署名が施されて記録される。記録された電子署名は公開鍵により復号化され、復号化後のデータと予め算出したデータとが一致している場合には、復号化後のデータは正当なデータであると判定される。 In the operation history correctness verification technique, an electronic signature is applied to data including the current operation history and the previous operation history and recorded. The recorded electronic signature is decrypted with the public key, and if the decrypted data matches the data calculated in advance, the decrypted data is determined to be valid data.
一方、復号化後のデータと予め算出したデータとが一致していない場合には、復号化後のデータは、正当なデータではなく、改竄されたデータであると判定される。当該動作履歴正当性検証技術によれば、上記電子署名の正当性を検証することにより動作履歴の正当性を検証することができる。
ところで、プログラムにより生成されたプロセスは、オペレーティングシステムの各種機能を利用することができる特権レベルに基づいて動作するカーネル特権プロセスと、特権レベルよりも低い制限付権限レベルであり、且つ各種機能の一部のみの機能を利用することができる制限付権限レベルに基づいて動作する制限付権限プロセスとに分類される。 By the way, the process generated by the program is a kernel privilege process that operates based on a privilege level that can use various functions of the operating system, a restricted authority level that is lower than the privilege level, and one of various functions. It is classified into a restricted authority process that operates based on a restricted authority level that can use only the functions of the department.
制限付権限プロセスは、該制限付権限プロセスが動作する制限付権限プロセス領域のみに対するアクセス権を有し、カーネル特権プロセスが動作するカーネル特権プロセス領域に対するアクセス権を有しない。従って、制限付権限プロセスは、該制限付権限プロセス自体の動作履歴を制限付権限プロセス領域に記録することとなる。 The restricted authority process has an access right only to the restricted authority process area in which the restricted authority process operates, and does not have an access right to the kernel privileged process area in which the kernel privileged process operates. Therefore, the restricted authority process records the operation history of the restricted authority process itself in the restricted authority process area.
しかしながら、制限付権限プロセス領域で用いられるファイルやプログラム等は、カーネル特権プロセス領域と比較して、悪意の目的を持って端末装置を利用する悪意者から改竄される恐れが高い。例えば、バッファオーバーフロー攻撃等を利用して端末装置の管理者権限を取得した悪意者は、制限付権限プロセス領域内のファイルやプログラム等を改竄することができる。このため、制限付権限プロセス領域に記録された動作履歴の信頼性は、カーネル特権プロセス領域と比較して低くなる。 However, files, programs, and the like used in the restricted authority process area are more likely to be falsified by a malicious person who uses the terminal device for malicious purposes than the kernel privileged process area. For example, a Service-to-Self who has acquired the administrator authority of the terminal device using a buffer overflow attack or the like can tamper with a file or program in the restricted authority process area. For this reason, the reliability of the operation history recorded in the restricted authority process area is lower than that in the kernel privileged process area.
従来からの制限付権限プロセスの動作履歴は、制限付権限プロセス領域で保護されている。このため、上記悪意者が端末装置の管理者権限を取得することにより、動作履歴の正当性を検証するための電子署名等の検証情報が破壊、又は当該検証情報を作成する処理自体が改竄されるという安全性が損なわれる恐れが生じていた。 The operation history of the conventional restricted authority process is protected in the restricted authority process area. For this reason, when the Service-to-Self acquires the administrator authority of the terminal device, verification information such as an electronic signature for verifying the validity of the operation history is destroyed, or the process itself for creating the verification information is falsified. There was a risk that the safety might be impaired.
この点を解決するためには、制限付権限プロセスではなくカーネル特権プロセスが制限付権限プロセスの動作履歴を上記バッファオーバーフロー攻撃等から保護する方法が考えられる。1つ目の方法としては、カーネル特権プロセスが制限付権限プロセスの動作を監視し、当該カーネル特権プロセスが制限付権限プロセスの動作履歴を取得してその動作履歴を記録する方法が考えられる。2つ目としては、制限付権限プロセスの動作履歴の正当性を保証するために、カーネル特権プロセスが全ての制限付権限プロセスの動作履歴に対する電子署名をカーネル特権プロセス領域に記録することが考えられる。 In order to solve this point, a method in which the kernel privilege process, not the restricted authority process, protects the operation history of the restricted authority process from the buffer overflow attack or the like can be considered. As a first method, a method in which a kernel privileged process monitors the operation of a restricted authority process, the kernel privileged process acquires an operation history of the restricted authority process, and records the operation history can be considered. Second, in order to guarantee the validity of the operation history of the restricted authority process, it is conceivable that the kernel privileged process records an electronic signature for the operation history of all restricted authority processes in the kernel privileged process area. .
ところが、1つ目の方法では、カーネル特権プロセス自体が記録する制限付権限プロセスの動作履歴は、制限付権限プロセス自体が記録する制限付権限プロセスの動作履歴と比較して、利用者にとって理解し難い言語体系で構成されており、有用性に乏しい。 However, in the first method, the operation history of the restricted authority process recorded by the kernel privileged process itself is compared with the operation history of the restricted authority process recorded by the restricted authority process itself and understood by the user. It is composed of difficult language systems and is not very useful.
一方、2つ目の方法では、上記端末装置がマルチタスクのオペレーティングシステムを実行することができる場合には、通常は同時並行して多数の制限付権限プロセスが動作することとなる。従って、カーネル特権プロセスが、「全て」の制限付権限プロセスの動作履歴に対して電子署名を施し、その電子署名をカーネル特権プロセス領域で記憶することとなると、カーネル特権プロセスは、カーネル特権プロセス自体の処理量を増大させてしまい、端末装置のシステム全体に対する深刻な性能劣化を引き起こす場合がある。 On the other hand, in the second method, when the terminal device can execute a multitasking operating system, a number of restricted authority processes usually operate in parallel at the same time. Therefore, when the kernel privileged process applies an electronic signature to the operation history of the “all” restricted authority process and stores the electronic signature in the kernel privileged process area, the kernel privileged process itself becomes the kernel privileged process itself. May cause serious performance degradation of the terminal device system as a whole.
そこで、本発明は以上の点に鑑みて成されたものであり、システム全体の性能劣化を抑制しつつ、プロセスの動作履歴をバッファオーバーフロー攻撃等から安全に保護することができる動作履歴保護装置及び動作履歴保護プログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above points, and an operation history protection device that can safely protect a process operation history from a buffer overflow attack or the like while suppressing performance deterioration of the entire system, and An object is to provide an operation history protection program.
上記課題を解決するために、本発明の第1の特徴は、オペレーティングシステムの各種機能を利用することができる特権レベルに基づいて動作するカーネル特権プロセスを制御するカーネル特権プロセス処理部と、特権レベルよりも低い制限付権限レベルであり、各種機能の一部のみを利用することができる制限付権限レベルに基づいて動作する制限付権限プロセスを制御する制限付権限プロセス処理部とを備え、制限付権限プロセス処理部は、制限付権限プロセスの動作の履歴を制限付権限プロセス処理部に記録し、カーネル特権プロセス処理部は、制限付権限プロセス処理部に記録される動作の履歴のうちの特定動作の履歴をカーネル特権プロセス処理部に記録することを要旨とする。 In order to solve the above-described problem, a first feature of the present invention is that a kernel privileged process processing unit that controls a kernel privileged process that operates based on a privilege level that can use various functions of an operating system, and a privilege level A restricted authority process processing unit that controls a restricted authority process that operates based on a restricted authority level that can use only a part of various functions. The privileged process processing unit records the history of operations of the restricted privileged process in the restricted privileged process processing unit, and the kernel privileged process processing unit selects a specific operation from the history of operations recorded in the restricted privileged process processing unit. The history is recorded in the kernel privileged process processing unit.
かかる特徴によれば、カーネル特権プロセス処理部が制限付権限プロセスの「全ての動作」の履歴を保護するのではなく、制限付権限プロセスの全ての動作のうちの「特定動作」の履歴をカーネル特権プロセス処理部に記録する。これにより、動作履歴保護装置は、カーネル特権プロセス処理部における処理負担を増大させないようにすることができる。このため、動作履歴保護装置は、制限付権限プロセスの「特定動作」の履歴をカーネル特権プロセス処理部内で記録することにより、システム全体の性能劣化を抑制しつつ、制限付権限プロセスの特定動作の履歴をバッファオーバーフロー攻撃等から安全に保護することができる。 According to such a feature, the kernel privileged process processing unit does not protect the history of “all operations” of the restricted authority process, but stores the history of “specific operations” of all the operations of the restricted authority process. Record in the privileged process processing part. Thereby, the operation history protection device can prevent the processing load on the kernel privileged process processing unit from increasing. For this reason, the operation history protection device records the history of the “specific operation” of the restricted authority process in the kernel privileged process processing unit, thereby suppressing the performance degradation of the entire system and suppressing the specific operation of the restricted authority process. History can be safely protected from buffer overflow attacks.
本発明の第2の特徴は、特定動作がオペレーティングシステムの設定に関する動作であることを要旨とする。 The gist of the second feature of the present invention is that the specific operation is an operation related to setting of the operating system.
本発明の第3の特徴は、制限付権限プロセスが第1プロセスと第2プロセスとを含んでおり、カーネル特権プロセス処理部が、第1プロセスと第2プロセスとのプロセス間通信が実行中である場合には、第1プロセスと第2プロセスとのそれぞれの特定動作の履歴をカーネル特権プロセス処理部に記録することを要旨とする。 A third feature of the present invention is that the restricted authority process includes a first process and a second process, and the kernel privileged process processing unit is executing inter-process communication between the first process and the second process. In some cases, the history of specific operations of the first process and the second process is recorded in the kernel privileged process processing unit.
本発明の第4の特徴は、制限付権限プロセスが第1プロセスと第2プロセスとを含んでおり、カーネル特権プロセス処理部が、第1プロセスの特定動作が実行中であるときに、第1プロセスに基づいて生成された第2プロセスの特定動作が実行中である場合には、第1プロセスと第2プロセスとのそれぞれの特定動作の履歴をカーネル特権プロセス処理部に記録することを要旨とする。 According to a fourth aspect of the present invention, when the restricted authority process includes a first process and a second process, and the kernel privileged process processing unit executes the specific operation of the first process, the first process is performed. When the specific operation of the second process generated based on the process is being executed, the history of the specific operation of each of the first process and the second process is recorded in the kernel privileged process processing unit. To do.
本発明の第5の特徴は、カーネル特権プロセス処理部が、特定動作を実行中である制限付権限プロセスの信頼性の度合を示す信頼度の大きさに応じて、特定動作の履歴をカーネル特権プロセス処理部に記録するか否か決定することを要旨とする。 The fifth feature of the present invention is that the kernel privileged process processing unit stores the history of the specific operation according to the degree of reliability indicating the degree of reliability of the restricted authority process that is executing the specific operation. The gist is to determine whether or not to record in the process processing unit.
本発明の第6の特徴は、カーネル特権プロセス処理部が、カーネル特権プロセス処理部のみが参照可能な鍵情報を用いることにより、制限付権限プロセス処理部に記録される特定動作の履歴を暗号化することを要旨とする。 The sixth feature of the present invention is that the kernel privileged process processing unit encrypts a history of specific operations recorded in the restricted authority process processing unit by using key information that can be referred to only by the kernel privileged process processing unit. The gist is to do.
本発明の第7の特徴は、カーネル特権プロセス処理部が、制限付権限プロセス処理部に記録される特定動作の履歴の複製をカーネル特権プロセス処理部に記録することを要旨とする。 The gist of the seventh feature of the present invention is that the kernel privileged process processing unit records a copy of the history of the specific operation recorded in the restricted authority process processing unit in the kernel privileged process processing unit.
本発明の第8の特徴は、カーネル特権プロセス処理部が、制限付権限プロセス処理部に記録される特定動作の履歴のハッシュ値をカーネル特権プロセス処理部に記録することを要旨とする。 The eighth feature of the present invention is summarized in that the kernel privileged process processing unit records the hash value of the history of the specific operation recorded in the restricted authority process processing unit in the kernel privileged process processing unit.
本発明の第9の特徴は、カーネル特権プロセス処理部が、信頼度の大きさに応じて、制限付権限プロセス処理部に記録される特定動作の履歴の複製をカーネル特権プロセス処理部に記録する処理、又は制限付権限プロセス処理部に記録される特定動作の履歴のハッシュ値をカーネル特権プロセス処理部に記録する処理のいずれかを決定することを要旨とする。 According to a ninth feature of the present invention, the kernel privileged process processing unit records, in the kernel privileged process processing unit, a copy of a history of specific operations recorded in the restricted authority process processing unit according to the reliability level. The gist of the present invention is to determine either the process or the process of recording the hash value of the history of the specific operation recorded in the restricted authority process processing unit in the kernel privileged process processing unit.
本発明の第10の特徴は、カーネル特権プロセス処理部が、制限付権限プロセス処理部に記録された特定動作の履歴のハッシュ値とカーネル特権プロセス処理部に記録したハッシュ値とが同一である場合には、特定動作の履歴が正当な履歴であると判定することを要旨とする。 The tenth feature of the present invention is that the kernel privileged process processing unit has the same hash value recorded in the kernel privileged process processing unit and the hash value of the specific operation history recorded in the restricted authority process processing unit. The gist is to determine that the history of the specific action is a valid history.
本発明の第11の特徴は、カーネル特権プロセス処理部は、制限付権限プロセスが実行中の特定動作を検出する特定動作検出部と、検出された特定動作の履歴が保護対象であることを個々に識別するための固有の識別情報を発行する識別情報発行部と、制限付権限プロセスの動作の履歴の保護を要求するための動作履歴保護要求情報を制限付権限プロセスから取得したことに基づいて、動作履歴保護要求情報の要求元の制限付権限プロセスのプロセスIDが識別情報に含まれている場合には、制限付権限プロセスの特定動作の履歴をカーネル特権プロセス処理部に記録させる動作履歴記録部とを備えることを要旨とする。 The eleventh feature of the present invention is that the kernel privileged process processing unit is configured to detect a specific operation being executed by the restricted authority process, and to detect that the history of the detected specific operation is a protection target. Based on the fact that the identification information issuing unit that issues unique identification information for identifying the operation history and the operation history protection request information for requesting protection of the operation history of the restricted authority process are obtained from the restricted authority process When the process ID of the restricted authority process that is the request source of the operation history protection request information is included in the identification information, the operation history record that records the history of the specific operation of the restricted authority process in the kernel privileged process processing unit It is a summary to provide a part.
本発明の第12の特徴は、特定動作検出部が、制限付権限プロセスが発行したシステムコールに特定のライブラリ関数が含まれている場合には、制限付権限プロセスが実行中の特定動作を検出することを要旨とする。 A twelfth feature of the present invention is that the specific action detecting unit detects a specific action being executed by the restricted authority process when the specific library function is included in the system call issued by the restricted authority process. The gist is to do.
本発明の第13の特徴は、特定動作検出部が単位時間当りに特定動作を検出した検出回数を算出するものであり、算出された検出回数が予め設定された設定回数を超えている場合には、動作履歴記録部により動作履歴保護要求情報が取得された後の動作履歴記録部における処理の開始を所定時間遅延させる遅延処理部を備えることを要旨とする。 A thirteenth feature of the present invention is to calculate the number of detections by which the specific action detecting unit has detected a specific action per unit time, and when the calculated number of detections exceeds a preset number of times. The gist of the invention is that it includes a delay processing unit that delays the start of processing in the operation history recording unit after the operation history protection request information is acquired by the operation history recording unit for a predetermined time.
本発明の第14の特徴は、識別情報発行部は、制限付権限プロセスが発行したシステムコールに含まれる特定のライブラリ関数の種類、及び制限付権限プロセスの信頼性の度合を示す信頼度の大きさに応じて、識別情報を発行するか否か決定することを要旨とする。 A fourteenth feature of the present invention is that the identification information issuing unit has a high reliability indicating the type of a specific library function included in the system call issued by the restricted authority process and the degree of reliability of the restricted authority process. Accordingly, the gist is to determine whether or not to issue identification information.
本発明の第15の特徴は、動作履歴保護要求情報が第1動作履歴保護要求情報と第2動作履歴保護要求情報とを含んでおり、第1動作履歴保護要求情報が制限付権限プロセスの動作の履歴の記録先に対するアクセス権の付与を要求するためのシステムコールであり、第2動作履歴保護要求情報がアクセス権が付与された記録先に対して制限付権限プロセスの動作の履歴を記録するためのシステムコールであり、動作履歴記録部が、第1動作履歴保護要求情報の要求元の制限付権限プロセスのプロセスIDが識別情報に含まれている場合には、第2動作履歴保護要求情報に含まれている制限付権限プロセスの動作の履歴をカーネル特権プロセス処理部に記録させることを要旨とする。 According to a fifteenth feature of the present invention, the operation history protection request information includes first operation history protection request information and second operation history protection request information, and the first operation history protection request information is an operation of a restricted authority process. Is a system call for requesting the granting of access right to the recording destination of the history, and the second operation history protection request information records the history of the operation of the restricted authority process for the recording destination to which the access right is granted. Second operation history protection request information when the operation history recording unit includes the process ID of the restricted authority process of the request source of the first operation history protection request information in the identification information. The gist is to record the history of the operation of the restricted authority process included in the kernel privileged process processing unit.
本発明の第16の特徴は、動作履歴保護要求情報が第3動作履歴保護要求情報を含んでおり、第3動作履歴保護要求情報がアクセス権が付与された記録先に対するアクセス権の解除を要求するためのシステムコールであり、動作履歴記録部が、第3動作履歴保護要求情報を制限付権限プロセスから取得した場合には、動作履歴記録部の処理を終了することを要旨とする。 According to a sixteenth feature of the present invention, the operation history protection request information includes the third operation history protection request information, and the third operation history protection request information requests release of the access right to the recording destination to which the access right is given. The operation history recording unit ends the processing of the operation history recording unit when the operation history recording unit acquires the third operation history protection request information from the restricted authority process.
本発明の特徴によれば、システム全体の性能劣化を抑制しつつ、プロセスの動作履歴をバッファオーバーフロー攻撃等から安全に保護することができる。 According to the characteristics of the present invention, it is possible to safely protect the operation history of a process from a buffer overflow attack and the like while suppressing the performance degradation of the entire system.
[第1実施形態]
(動作履歴保護装置の構成)
図1は、本実施形態における動作履歴保護装置100の概略構成図である。図1に示すように、動作履歴保護装置100は、制限付権限プロセス処理部200と、カーネル特権プロセス処理部300とを備えている。
[First Embodiment]
(Configuration of operation history protection device)
FIG. 1 is a schematic configuration diagram of an operation
制限付権限プロセス処理部200は、オペレーティングシステムの各種機能を利用することができる特権レベルよりも低い制限付権限レベルであり、各種機能の一部のみを利用することができる制限付権限レベルに基づいて動作するプロセス210を制御する。なお、プロセス210は、制限付権限プロセスを構成する。
The restricted authority
制限付権限プロセス処理部200は、プロセス210と、動作履歴記録部220とを備えている。プロセス210は、プロセス210の動作履歴を動作履歴記録部220に順次記録する。
The restricted authority
カーネル特権プロセス処理部300は、オペレーティングシステムの各種機能を利用することができる特権レベルに基づいて動作するカーネル特権プロセスを制御する。
The kernel privileged
カーネル特権プロセス処理部300は、特定動作検出部310と、識別情報発行部320と、動作履歴保護規則情報記憶部330と、動作履歴保護要求情報検出部340と、監視リスト情報記憶部350と、動作履歴保護制御部360と、保護情報記録部370とを備えている。なお、特定動作検出部310、識別情報発行部320、動作履歴保護要求情報検出部340及び動作履歴保護制御部360は、カーネル特権プロセスを構成する。
The kernel privileged
特定動作検出部310は、プロセス210が実行中の特定動作を検出する。例えば、特定動作検出部310は、プロセス210が発行したシステムコール(後述するライブラリ関数呼出システムコール230など)に特定のライブラリ関数が含まれている場合には、プロセス210が実行中の特定動作を検出する。
The specific
識別情報発行部320は、特定動作検出部310により検出された特定動作に基づいて、当該特定動作の履歴が保護対象であることを個々に識別するための固有の識別情報321を発行する。
Based on the specific operation detected by the specific
又は、識別情報発行部320は、後述する動作履歴保護規則情報331を参照し、プロセス210が発行したシステムコールに含まれる特定のライブラリ関数の種類、及びプロセスの信頼性の度合を示す信頼度の大きさに応じて、識別情報321を発行するか否か決定する。
Alternatively, the identification
動作履歴保護規則情報記憶部330は、図2に示す動作履歴保護規則情報331を記憶する。図2に示すように、動作履歴保護規則情報331は、プロセス210の特定動作に関するライブラリ関数と、そのライブラリ関数を呼び出したプロセス210の特定動作の履歴を保護対象とするか否か決定するための動作履歴保護規則とにより構成されている。
The operation history protection rule
ここで、動作履歴保護規則は、プロセス210の信頼度により定められている。プロセス210の信頼度は、プロセス210を生成したプログラムの信頼性の度合により決定される。
Here, the operation history protection rule is determined by the reliability of the
本実施形態では、例えば、プログラムが任意のベンダーから提供された場合には、プログラムの信頼性は低い場合が多いため、当該プログラムが生成したプロセス210の信頼度は「低」に設定される。プログラムが一定実績のあるベンダーから提供された場合には、プログラムの信頼性は任意のベンダーから提供されたプログラムよりも高いため、当該プログラムが生成したプロセス210の信頼度は「中」に設定される。プログラムが予めシステムに設定されている場合には、プログラムの信頼性は一定実績のあるベンダーから提供されたプログラムよりも高いため、当該プログラムが生成したプロセス210の信頼度は「高」に設定される。
In the present embodiment, for example, when a program is provided from an arbitrary vendor, the reliability of the program is often low, so the reliability of the
図3は、本実施形態における識別情報321の内容を示す図である。図3に示すように、識別情報321は、特定動作を実行中であるプロセス210を個々に識別するための固有のプロセスIDと、プロセス210が特定動作を実行中に呼び出したライブラリ関数とにより構成されている。
FIG. 3 is a diagram showing the contents of the
動作履歴保護要求情報検出部340は、プロセス210の動作履歴の保護を要求するための動作履歴保護要求情報をプロセス210から取得したことに基づいて、識別情報321及び監視リスト情報351を参照し、特定の動作履歴保護要求情報(後述する第2動作履歴保護要求情報)のみを動作履歴保護制御部360に送信する。
The operation history protection request
動作履歴保護制御部360は、動作履歴保護要求情報検出部340により取得された特定の動作履歴保護要求情報に基づいて、該動作履歴保護要求情報に含まれているプロセス210の特定動作の履歴を保護情報記録部370に記録する。
Based on the specific operation history protection request information acquired by the operation history protection request
本実施形態では、動作履歴保護要求情報は、第1動作履歴保護要求情報(後述するopenシステムコール240)と、第2動作履歴保護要求情報(後述するwriteシステムコール250)と、第3動作履歴保護要求情報(後述するcloseシステムコール260)とを含んでいる。 In the present embodiment, the operation history protection request information includes first operation history protection request information (open system call 240 described later), second operation history protection request information (write system call 250 described later), and third operation history. It includes protection request information (a close system call 260 described later).
動作履歴保護要求情報検出部340は、第1動作履歴保護要求情報(openシステムコール240)の要求元のプロセス210のプロセスIDが識別情報に含まれいる場合には、第2動作履歴保護要求情報(writeシステムコール250)を動作履歴保護制御部360に送信する。動作履歴保護制御部360は、動作履歴保護要求情報検出部340から送信された第2動作履歴保護要求情報に基づいて、当該第2動作履歴保護要求情報に含まれているプロセス210の動作履歴を保護情報記録部370に記録する。
The operation history protection request
動作履歴保護制御部360は、動作履歴保護要求情報検出部340から送信された第3動作履歴保護要求情報(closeシステムコール260)に基づいて、動作履歴保護制御部360の処理を終了する。
The operation history
なお、動作履歴保護要求情報検出部340と、監視リスト情報記憶部350と、動作履歴保護制御部360と、保護情報記録部370とは、動作履歴記録部を構成する。
The operation history protection request
(動作履歴保護装置の動作)
次に、本実施形態における動作履歴保護装置100の動作について図4を参照しながら説明する。
(Operation of the operation history protection device)
Next, the operation of the operation
図4に示すように、S101において、特定動作検出部310は、プロセス210が実行中の特定動作を検出する。ここで、プロセス210が実行中の特定動作とは、プロセス210が予め設定された特定のライブラリ関数を呼び出している動作である。当該特定動作には、オペレーティングシステムの設定に関する動作などが含まれている。
As illustrated in FIG. 4, in S <b> 101, the specific
本実施形態では、ライブラリ関数を記述するコードの先頭にライブラリ関数呼出システムコール230(図1参照)が設定されている。ライブラリ関数呼出システムコール230は、ライブラリ関数を特定するための情報を備えており、プロセス210が呼び出す特定のライブラリ関数名と、プロセス210が特定のライブラリ関数を呼び出すか否か判定するためのフラグとを含んでいる。
In this embodiment, a library function call system call 230 (see FIG. 1) is set at the head of the code describing the library function. The library function call system call 230 includes information for specifying a library function, a specific library function name that the
フラグは、プロセス210が特定のライブラリ関数を呼び出す場合には「1」となり、プロセス210が特定のライブラリ関数を呼び出さない場合には「0」となる。ライブラリ関数呼出システムコール230の一例を以下に示す。
The flag is “1” when the
Func_CALL(“ライブラリ関数名”,フラグ)
例えば、特定動作検出部310は、プロセス210が発行したライブラリ関数呼出システムコール230を取得する。特定動作検出部310は、ライブラリ関数呼出システムコール230に含まれているフラグが「1」である場合には、ライブラリ関数呼出システムコール230に含まれている“ライブラリ関数名”に対応する特定のライブラリ関数をプロセス210が呼び出していることを検出する。この場合には、特定動作検出部310は、プロセス210が特定のライブラリ関数を呼び出していることを検出することにより、プロセス210が特定動作を実行中であることを検出することができる。
Func_CALL ("library function name", flag)
For example, the specific
S103において、特定動作検出部310は、プロセス210が特定動作を実行中であることを示す情報を検出結果情報として識別情報発行部320に送信する。検出結果情報には、特定動作を実行中であるプロセス210を個々に識別するための固有のプロセスID、及び当該プロセス210が呼び出した特定のライブラリ関数が含まれている。
In S103, the specific
S105において、識別情報発行部320は、検出結果情報に基づいて、検出結果情報に含まれているライブラリ関数の種類、及び特定動作の実行中のプロセスの信頼度の大きさに応じて、識別情報321を発行するか否か決定する。
In S105, the identification
例えば、検出結果情報に含まれているライブラリ関数が「func_1」であり、そのライブラリ関数「func_1」を呼び出したプロセス210のプロセスIDが「3828」である場合を考える。この場合には、識別情報発行部320は、図2に示す動作履歴保護規則情報を参照し、当該ライブラリ関数「func_1」に対応する動作履歴保護規則が「全てのプロセスについて保護する」という規則であるため、当該検出結果情報に対応する識別情報321を発行することを決定する。識別情報発行部320は、プロセスID「3828」及びライブラリ関数「func_1」により構成される識別情報321を発行する(図3参照)。
For example, consider a case where the library function included in the detection result information is “func_1” and the process ID of the
S107において、識別情報発行部320は、発行した識別情報321を動作履歴保護要求情報検出部340に送信する。
In S107, the identification
S109において、動作履歴保護要求情報検出部340は、識別情報321に基づいて、プロセス210により送信された「特定の動作履歴保護要求情報」を検出する。
In S <b> 109, the operation history protection request
ここで、動作履歴保護要求情報は、プロセス210から3段階に渡って送信される。以下では各段階で送信される動作履歴保護要求情報について説明する。本実施形態では2段階目に送信された動作履歴保護要求情報が、上記「特定の動作履歴保護要求情報」として検出される。なお、図5に示す順序でライブラリ関数が記述されている。
Here, the operation history protection request information is transmitted from the
(1)1段階目に送信される動作履歴保護要求情報
1段階目に送信される動作履歴保護要求情報(第1動作履歴保護要求情報)は、プロセス210の動作履歴の記録先(動作履歴記録部220内の記録先)に対するアクセス権の付与を要求するためのopenシステムコール240(図1参照)である。openシステムコール240の一例を以下に示す。
(1) Operation History Protection Request Information Transmitted in the First Stage The operation history protection request information (first operation history protection request information) transmitted in the first stage is an operation history recording destination (operation history record) of the
open(“ファイルのpath名”,“アクセス権”,“ファイルパーミッション”,“フラグ”)
上記の通りopenシステムコール240は、プロセス210の動作履歴の記録先である“ファイルのpath名”と、必要に応じて設定されるアクセス権(追加書込みを行う場合のアクセス権)と、システム内で一意にファイルを識別するためのファイルパーミッションと、システムコールが動作履歴保護要求情報に関するopenシステムコール240であるか否か判定するためのフラグとを含んでいる。
open (“file path name”, “access right”, “file permission”, “flag”)
As described above, the open system call 240 includes the “path name of the file” that is the recording destination of the operation history of the
フラグは、システムコールが動作履歴保護要求情報に関するopenシステムコール240である場合には「1」となり、システムコールが動作履歴保護要求情報に関するopenシステムコール240でない場合には「0」となる。 The flag is “1” when the system call is an open system call 240 related to operation history protection request information, and is “0” when the system call is not an open system call 240 related to operation history protection request information.
動作履歴保護要求情報検出部340は、フラグ「1」が設定されたopenシステムコール240をプロセス210から取得した場合に、openシステムコール240の発行元のプロセス210のプロセスIDを含む識別情報321が発行されている場合には、そのプロセスIDと、openシステムコール240に含まれている“ファイルのpath名”に対応するファイルディスクリプタとを監視リスト情報351に登録する。
When the operation history protection request
例えば、以下に示すopenシステムコール240を考える。 For example, consider the open system call 240 shown below.
open(“var/log/xxx”,“0_WONLY|0_APPEND”,“0644”,“1”)
上記のopenシステムコール240がプロセスID「3828」のプロセス210により発行された場合には、動作履歴保護要求情報検出部340は、図3に示す識別情報321にプロセスID「3828」が含まれているため、当該プロセスID「3828」と「var/log/xxx」に対応するファイルディスクリプタ「11」とを監視リスト情報351(図6参照)に登録する。
open (“var / log / xxx”, “0_WONLY | 0_APPEND”, “0644”, “1”)
When the above open system call 240 is issued by the
(2)2段階目に送信される動作履歴保護要求情報
2段階目に送信される動作履歴保護要求情報(第2動作履歴保護要求情報)は、アクセス権が付与された記録先に対してプロセス210の動作履歴を記録するためのwriteシステムコール250(図1参照)である。writeシステムコール250の一例を以下に示す。
(2) Operation history protection request information transmitted in the second stage The operation history protection request information (second operation history protection request information) transmitted in the second stage is a process for the recording destination to which the access right is given. This is a write system call 250 (see FIG. 1) for recording an
write(“記録先のファイルディスクリプタ”,“記録内容”,“記録サイズ”)
上記の通りwriteシステムコール250は、一般的に用いられるwriteシステムコールと同様の内容である。
write ("recording file descriptor", "recording contents", "recording size")
As described above, the write system call 250 has the same contents as the commonly used write system call.
動作履歴保護要求情報検出部340は、writeシステムコール250をプロセス210から取得した場合に、writeシステムコール250の発行元のプロセス210のプロセスID及び“登録先のファイルディスクリプタ”が監視リスト情報351に登録されている場合には、writeシステムコール250を上記特定の動作履歴保護要求情報として検出する。
When the write system call 250 is acquired from the
例えば、以下に示すwriteシステムコール250を考える。 For example, consider the following write system call 250.
write(“11”,“記録内容”,“10”)
上記のwriteシステムコール250がプロセスID「3828」のプロセス210により発行された場合には、動作履歴保護要求情報検出部340は、図6に示す監視リスト情報351に、プロセスID「3828」及びファイルディスクリプタ「11」が含まれているため、writeシステムコール250を上記特定の動作履歴保護要求情報として検出する。
write (“11”, “record contents”, “10”)
When the write system call 250 is issued by the
(3)3段階目に送信される動作履歴保護要求情報
3段階目に送信される動作履歴保護要求情報(第3動作履歴保護要求情報)は、アクセス権が付与された記録先に対するアクセス権の解除を要求するためのcloseシステムコール260(図1参照)である。closeシステムコール260の一例を以下に示す。
(3) Operation history protection request information transmitted in the third stage The operation history protection request information (third operation history protection request information) transmitted in the third stage is the access right for the recording destination to which the access right is given. This is a close system call 260 (see FIG. 1) for requesting release. An example of the close system call 260 is shown below.
close(“記録先のファイルディスクリプタ”)
上記の通りcloseシステムコール260は、一般的に用いられるcloseシステムコールと同様の内容を含んでいる。
close ("record descriptor of the recording destination")
As described above, the close system call 260 includes the same content as a generally used close system call.
動作履歴保護要求情報検出部340は、closeシステムコール260をプロセス210から取得した場合に、closeシステムコール260の発行元のプロセス210のプロセスID、及び“記録先のファイルディスクリプタ”が監視リスト情報351に登録されている場合には、当該プロセスID及び“記録先のファイルディスクリプタ”により構成される登録内容を監視リスト情報351の中から消去する。
If the operation history protection request
例えば、以下に示すcloseシステムコール260を考える。
For example, consider the following
close(“11”)
上記のcloseシステムコール260がプロセスID「3828」のプロセス210により発行された場合には、動作履歴保護要求情報検出部340は、図6に示す監視リスト情報351に、プロセスID「3828」及びファイルディスクリプタ「11」により構成される登録内容を監視リスト情報351の中から消去する。当該登録内容が消去された後の監視リスト情報351は、図7に示す通りである。
close (“11”)
When the above close system call 260 is issued by the
S113において、動作履歴保護要求情報検出部340は、検出した動作履歴保護要求情報(writeシステムコール250)を検出結果情報として動作履歴保護制御部360に送信する。
In S113, the operation history protection request
S115において、動作履歴保護制御部360は、検出結果情報(writeシステムコール250)に含まれている“記録内容(プロセス210の特定動作の履歴)”を保護する。例えば、動作履歴保護制御部360は、検出結果情報に含まれている“記録内容”のハッシュ値を保護情報記録部370に記録させたり、検出結果情報に含まれている“記録内容”をそのまま保護情報記録部370に記憶させる。これらの保護の手法については、後述の実施形態において詳細に説明する。
In S115, the operation history
かかる特徴によれば、カーネル特権プロセス処理部300がプロセス210の「全ての動作」の履歴を記録するのではなく、プロセス210の全ての動作のうちの「特定動作」の履歴をカーネル特権プロセス処理部300に記録する。これにより、動作履歴保護装置100は、カーネル特権プロセス処理部300における処理負担を増大させないようにすることができる。このため、動作履歴保護装置100は、プロセス210の「特定動作」の履歴をカーネル特権プロセス処理部300内で記録することにより、システム全体の性能劣化を抑制しつつ、プロセス210の特定動作の履歴をバッファオーバーフロー攻撃等から安全に保護することができる。
According to this feature, the kernel privileged
また、カーネル特権プロセス処理部300は、プロセス210が特定動作を実行しているか否かについて常に監視していなくても、openシステムコール240及びcloseシステムコール260を取得するだけで、プロセス210の特定動作の開始・終了を検出することができる。このため、カーネル特権プロセス処理部300は、カーネル特権プロセス処理部300の処理負担を増大させないようにすることができ、システム全体の性能劣化を抑制することができる。
Further, even if the kernel privileged
また、カーネル特権プロセス処理部300は、プロセス210が発行した特定のライブラリ関数の種類、及び当該プロセス210の信頼度の大きさに応じて、プロセス210の特定動作の履歴をカーネル特権プロセス処理部300に記録(保護)するか否か決定する。
Further, the kernel privileged
例えば、カーネル特権プロセス処理部300は、システムに元々格納されている信頼度の高いプログラムにより生成されたプロセス210の特定動作の履歴を保護せずに、システムに元々格納されておらず、システムに障害を及ぼす可能性の高いプログラムより生成されたプロセス210の特定動作の履歴をカーネル特権プロセス処理部300に記録する。
For example, the kernel privileged
これにより、カーネル特権プロセス処理部300は、必要以上にプロセス210の特定動作の履歴を記録しないため、カーネル特権プロセス処理部300の処理負担を増大させないようにすることができる。
Thereby, since the kernel privileged
(変更例1)
なお、本実施形態における動作履歴保護装置100は、上記内容に限定されずに以下に示す変更を加えることができる。本変更例では、動作履歴保護装置100は、プロセス210の特定動作の履歴に対応する識別情報321を既に発行しているときに、(1)プロセス210が呼び出したライブラリ関数の処理が終了した場合又は(2)プロセス210が他のライブラリ関数を呼び出した場合)には、以下に示すように識別情報321が削除又は追加される。
(Modification 1)
Note that the operation
図8は、本変更例における動作履歴保護装置100の内部構成を示す図である。図8に示す特定動作検出部310及び識別情報発行部320の機能が図1に示す同各部の機能と異なるだけであり、図8に示す特定動作検出部310及び識別情報発行部320以外の機能は図1に示す同各部の機能と同様である。このため、特定動作検出部310及び識別情報発行部320のみの処理について、上記(1)及び上記(2)のそれぞれに分けて説明する。
FIG. 8 is a diagram illustrating an internal configuration of the operation
(1)プロセス210が呼び出したライブラリ関数の処理が終了した場合
特定動作検出部310は、フラグが「0」に設定されたライブラリ関数呼出システムコールをライブラリ関数終了システムコール231としてプロセス210から取得することにより、プロセス210が呼び出したライブラリ関数の処理が終了(すなわち、プロセス210の特定動作が終了)したことを検出する。
(1) When the processing of the library function called by the
例えば、特定動作検出部310は、プロセスID「3828」のプロセス210が発行したライブラリ関数終了システムコール231を取得することにより、当該プロセスID「3828」のプロセス210が呼び出したライブラリ関数「func_1」の処理が終了したことを検出する。識別情報発行部320は、既に発行した識別情報321の中から、プロセスID「3828」の行からなる識別情報321を消去する(図9参照)。その後の処理については第1実施形態と同様の処理であるため、ここでの詳細な説明は省略する。
For example, the specific
かかる特徴によれば、カーネル特権プロセス処理部300は、プロセス210の特動作の終了を常に監視しなくても、プロセス210が発行したライブラリ関数終了システムコール231のみを取得するだけで、プロセス210の特定動作が終了したことを検出することができるため、カーネル特権プロセス処理部300の処理負担を増大させないようにすることができる。
According to such a feature, the kernel privileged
(2)プロセス210が他のライブラリ関数を呼び出した場合
特定動作検出部310は、フラグが「1」に設定されたライブラリ関数呼出システムコール230を更に取得することにより、プロセス210が他のライブラリ関数を呼び出したことを検出する。
(2) When the
The specific
例えば、特定動作検出部310は、更に取得したライブラリ関数呼出システムコール230に基づいて、プロセスID「3828」のプロセス210がライブラリ関数「func_2」を更に呼び出したことを検出する。この場合には、識別情報発行部320は、プロセスID「3828」のある行にライブラリ関数「func_2」を追加し、プロセスID「3828」及びライブラリ関数「func_2」により構成される識別情報321を発行する(図10参照)。その後の処理については第1実施形態と同様の処理であるため、ここでの詳細な説明は省略する。
For example, the specific
かかる特徴によれば、カーネル特権プロセス処理部300は、プロセス210がさらに他のライブラリ関数を呼び出すことにより、当該他のライブラリ関数に対応する識別情報をさらに発行する。これにより、カーネル特権プロセス処理部300は、更に発行した識別情報を用いて、当該他のライブラリ関数を呼び出したプロセス210の特定動作の履歴もカーネル特権プロセス処理部300に記録することができる。
According to this feature, the kernel privileged
(変更例2)
なお、本実施形態における動作履歴保護装置100は、上記内容に限定されずに以下に示す変更を加えることができる。本変更例における動作履歴保護装置100は、第1プロセスと第2プロセスとのプロセス間通信が実行中である場合には、第1プロセスと第2プロセスとのそれぞれの特定動作の履歴に対応する識別情報321を発行してもよい。
(Modification 2)
Note that the operation
ここでは、第1プロセスであるプロセス211の特定動作の履歴に対応する識別情報321、第2プロセスであるプロセス210の動作の履歴に対応する識別情報321が既に発行されていることを前提にして説明する。
Here, it is assumed that the
本変更例では、プロセス211とプロセス210とがプロセス間通信を実行することにより、プロセス211が特定動作を実行中にアクセスしたリソースがプロセス210に渡されることがある。このため、当該プロセス210は、当該リソースに対してアクセスすることがあり、プロセス211と同等の特定動作を実行することがある。これにより、動作履歴保護装置100は、当該プロセス210の特定動作の履歴に対応する識別情報321を、プロセス211の特定動作の履歴に対応する識別情報321と同等のものとして新たに発行する必要がある。以下ではここまでの処理について詳細に説明する。
In this modified example, the
図11は、本変更例における動作履歴保護装置100の内部構成を示す図である。図11に示す特定動作検出部310及び識別情報発行部320の機能が図1に示す同各部の機能と異なるだけであり、図11に示す特定動作検出部310及び識別情報発行部320以外の機能は図1に示す同各部の機能と同様である。このため、特定動作検出部310及び識別情報発行部320のみの処理について説明する。
FIG. 11 is a diagram illustrating an internal configuration of the operation
図12は、本変更例における識別情報321の内容を示す図である。図12に示すように、図3に示す識別情報321に対して「送信側ファイルディスクリプタ」及び「受信元プロセスID」がさらに加えられている。「送信側ファイルディスクリプタ」には、送信側のプロセスがpipe等を生成した際のファイルディスクリプタが記録される。「受信元プロセスID」には、受信側のプロセスが送信側のデータを受信した場合に受信側のプロセスIDが送信側のプロセスIDとして記録される。
FIG. 12 is a diagram showing the contents of the
以下では、プロセスID「3828」のプロセス210が、プロセス間通信におけるデータの受信側であるとする。プロセスID「11556」のプロセス211が、プロセス間通信における送信側であるとする。この場合に、pipeを用いたプロセス間通信が実行されたことを例にして説明する。
In the following, it is assumed that the
pipeの受信用ファイルディスクリプタの格納先をpp[0]、送信用ファイルディスクリプタの格納先をpp[1]とすると、プロセス211(送信側)は、先ず以下のプロセス間通信システムコール232を発行する。なお、上記送信用ファイルディスクリプタの値は「21」であるものとする。 Assuming that the storage destination of the pipe file reception descriptor is pp [0] and the storage destination of the transmission file descriptor is pp [1], the process 211 (transmission side) first issues the following inter-process communication system call 232. . It is assumed that the value of the transmission file descriptor is “21”.
pipe(pp);パイプの生成
特定動作検知部110は、プロセスID「11556」のプロセス211(送信側)が発行したプロセス間通信システムコール232を取得し、プロセスID「11556」に対応する送信用ファイルディスクリプタの値に「21」を設定する(図13に示す識別情報を参照)。
pipe (pp); pipe generation The specific operation detection unit 110 acquires the inter-process communication system call 232 issued by the process 211 (transmission side) with the process ID “11556”, and performs transmission for the process ID “11556”. “21” is set as the value of the file descriptor (see the identification information shown in FIG. 13).
そして、プロセス211(送信側)が生成したpipeを利用して、プロセス210(受信側)がプロセス211(送信側)のデータを受信する場合には、プロセス211及びプロセス210は以下のシステムコールを発行する。
When the process 210 (reception side) receives the data of the process 211 (transmission side) using the pipe generated by the process 211 (transmission side), the
write(pp[1],outmsg,strlen(msg));データの送信(プロセス211)
read(pp[0],inmsg,strlen(msg));データの受信(プロセス210)
特定動作検出部310は、pp[0]の値「21」が設定されたreadシステムコールを取得したことに基づいて、プロセス211(送信側)からプロセス210(受信側)にデータが送信されたことを検出する。この場合には、プロセス210(受信側)は、プロセス211(送信側)が呼び出したライブラリ関数(func_2)を継承することとなる。
write (pp [1], outmsg, strlen (msg)); data transmission (process 211)
read (pp [0], inmsg, strlen (msg)); data reception (process 210)
The specific
このため、識別情報発行部320は、プロセス210のプロセスID「3828」、及び継承後のライブラリ関数「func_2」により構成される新たな識別情報321を追加し、当該新たな識別情報321における送信元プロセスIDに「11556」を設定する(図14参照)。なお、プロセス211のプロセスID「11556」が設定された識別情報321が消去された場合には、上記新たな識別情報321も消去される。
For this reason, the identification
その後の処理については第1実施形態と同様の処理であるため、ここでの詳細な説明は省略する。 Since the subsequent processes are the same as those in the first embodiment, a detailed description thereof is omitted here.
かかる特徴によれば、カーネル特権プロセス処理部300は、プロセス210(受信側)の特定動作の履歴に対応する識別情報321を発行していても(図14に示す1段目の識別情報)、さらに当該プロセス210(受信側)の特定動作の履歴に対応する識別情報321を、プロセス211(送信側)の特定動作の履歴に対応する識別情報と同等の識別情報(図14に示す2段目の識別情報)として新たに発行する。
According to such a feature, even if the kernel privileged
これにより、カーネル特権プロセス処理部300は、プロセス間通信を実行しているプロセス210(受信側)の特定動作の履歴に対応する識別情報を適切に発行することができるため、プロセス間通信を実行しているプロセス211(送信側)及びプロセス210(受信側)のそれぞれの特定動作の履歴を適切に記録することができる。
As a result, the kernel privileged
(変更例3)
なお、本実施形態における動作履歴保護装置100は、上記内容に限定されずに以下に示す変更を加えることができる。本変更例における動作履歴保護装置100は、第1プロセスの特定動作が実行中であるときに、当該第1プロセスに基づいて生成された第2プロセスの特定動作が実行中である場合には、当該第1プロセスと第2プロセスとのそれぞれの特定動作の履歴に対応する識別情報321を発行してもよい
図15は、本変更例における動作履歴保護装置100の内部構成を示す図である。図15に示す特定動作検出部310及び識別情報発行部320の機能が図1に示す同各部の機能と異なるだけであり、図15に示す特定動作検出部310及び識別情報発行部320以外の機能は図1に示す同各部の機能と同様である。このため、特定動作検出部310及び識別情報発行部320のみの処理について説明する。
(Modification 3)
Note that the operation
特定動作検出部310は、既に発行されている識別情報321を構成するプロセスIDのプロセス210が発行した子プロセス生成システムコール234を取得し、プロセス210に基づいて子プロセス233が生成されたことを検出する。
The specific
本実施形態における子プロセス生成システムコール234は、プロセス210(いわゆる親プロセス)を複製することにより子プロセス233を生成するためのシステムコールである。子プロセス生成システムコール234には、forkシステムコール、cloneシステムコール等が含まれている。
The child process generation system call 234 in this embodiment is a system call for generating a
識別情報発行部320は、プロセス210に基づいて子プロセス233が生成された場合には、当該子プロセス233の特定動作の履歴に対応する識別情報321を発行する。
When the
例えば、プロセス210のプロセスIDが「3828」であり、プロセス210に基づいて生成された子プロセス233のプロセスIDが「3829」である場合を考える。また、図3に示す通り、プロセスID「3828」及びそれに対応するライブラリ関数「func_1」が設定された識別情報321が既に発行されている場合を考える。
For example, consider a case where the process ID of the
識別情報発行部320は、親プロセスであるプロセス210のライブラリ関数「func_1」を複製し、子プロセス233のプロセスID「3829」及び複製したライブラリ関数「func_1」を含む識別情報321(図16参照)を新たに発行する。その後の処理については第1実施形態と同様の処理であるため、ここでの詳細な説明は省略する。
The identification
かかる特徴によれば、カーネル特権プロセス処理部300は、プロセス210(親プロセス)に基づいて子プロセス233が生成されることにより、当該子プロセス233の特定動作の履歴に対応する識別情報321も発行する。このため、カーネル特権プロセス処理部300は、プロセス210の識別情報及び子プロセス233を含む識別情報を用いて、プロセス210の特定動作の履歴を記録するだけではなく、子プロセス210の特定動作の履歴も記録することができる。
According to such a feature, the kernel privileged
[第2実施形態]
第1実施形態では、カーネル特権プロセス処理部がプロセスの特定動作の履歴を保護対象するか否か決定しているが、本実施形態では、制限付権限プロセス処理部がプロセスの特定動作の履歴を保護対象するか否か決定している点で異なる。以下、具体的に説明する。
[Second Embodiment]
In the first embodiment, the kernel privileged process processing unit determines whether or not to protect the specific operation history of the process. However, in this embodiment, the restricted authority process processing unit stores the specific operation history of the process. It differs in that it is determined whether or not to protect. This will be specifically described below.
図17は、本実施形態における動作履歴保護装置400の概略構成図である。図17に示すように、動作履歴保護装置400は、制限付権限プロセス処理部500と、カーネル特権プロセス処理部600とを備えている。
FIG. 17 is a schematic configuration diagram of the operation
制限付権限プロセス処理部500は、プロセス510と、動作履歴記録部520とを備えている。カーネル特権プロセス処理部600は、特定動作検出部610と、識別情報発行部620と、動作履歴保護規則情報記憶部630と、動作履歴保護要求情報検出部640と、監視リスト情報記憶部650と、暗号化設定規則情報記憶部660と、動作履歴保護制御部670と、保護情報記録部680とを備えている。
The restricted authority
図17に示す暗号化設定規則情報記憶部660が図1に示す構成に加えられ、及び動作履歴保護制御部670の機能が図1に示す同部の機能と異なるだけである。図17に示す暗号化設定規則情報記憶部660及び動作履歴保護制御部670以外の機能は図1に示す同各部の機能と同様である。このため、暗号化設定規則情報記憶部660及び動作履歴保護制御部670のみの処理について説明する。
An encryption setting rule
本実施形態で用いられるwriteシステムコール540の一例を以下に示す。 An example of the write system call 540 used in this embodiment is shown below.
write(“記録先のファイルディスクリプタ”,“記録内容”,“記録サイズ”,“保護フラグ”)
上記のwriteシステムコール540には、第1実施形態のwriteシステムコールの内容に加えて保護フラグが加えられている。
write (“recording file descriptor”, “recording content”, “recording size”, “protection flag”)
In the above write system call 540, a protection flag is added in addition to the contents of the write system call of the first embodiment.
暗号化設定規則情報記憶部660は、図18に示す暗号化設定規則情報661を記憶している。図18に示すように、暗号化設定規則情報661には、保護フラグの内容と、それに対応するプロセス510の動作履歴の保護方法(記録方法)の内容とが含まれている。
The encryption setting rule
動作履歴保護制御部670は、動作履歴保護要求情報検出部640により該当するwriteシステムコール540が検出された場合には、当該writeシステムコール540に設定されている保護フラグを参照する。動作履歴保護制御部670は、保護フラグが「0」である場合には、writeシステムコール540に設定されている記録内容をそのままプロセス510に送信する。プロセス510は、当該記録内容を動作履歴記録部520に記録させる。
If the corresponding write system call 540 is detected by the operation history protection request
一方、動作履歴保護制御部670は、保護フラグが「1」である場合には、カーネル特権プロセス処理部600のみが参照可能な鍵情報を用いて、writeシステムコール540に設定されている記録内容を暗号化し、暗号化後の記録内容を保護対象特定動作履歴としてプロセス510に送信する。プロセス510は、当該保護対象特定動作履歴を動作履歴記録部520に記録させる。
On the other hand, when the protection flag is “1”, the operation history
かかる特徴によれば、カーネル特権プロセス処理部600だけではなく、制限付権限プロセス処理部500も保護フラグを用いてプロセス510の特定動作の履歴を保護対象するか否か決定することができる。これにより、動作履歴保護装置400は、上記保護フラグを用いて、プロセス510の特定動作の履歴を保護対象するか否かについて「プロセス510側」から容易に設定させることができる。
According to such a feature, not only the kernel privileged
また、カーネル特権プロセス処理部600は、プロセス510の特定動作の履歴を暗号化する。これにより、カーネル特権プロセス処理部600は、プロセス510の特定動作(例えば、個人情報のアクセスに関する動作)の履歴が悪意者に取得されても、当該プロセス510の特定動作を実行させないようにすることができ、個人情報の漏洩を防止することができる。
Further, the kernel privileged
更に、プロセス510の特定動作の履歴を暗号化するための鍵情報が、カーネル特権プロセス処理部600にのみ記憶されていることにより、カーネル特権プロセス処理部600は、当該鍵情報を悪意者に容易に取得させないようにすることができる。
Furthermore, since the key information for encrypting the history of the specific operation of the
[第3実施形態]
本実施形態では、第2実施形態におけるプロセスの動作履歴の保護方法とは異なる保護方法について説明する。
[Third Embodiment]
In the present embodiment, a protection method different from the process operation history protection method in the second embodiment will be described.
図19は、本実施形態における動作履歴保護装置700の概略構成図である。図19に示すように、動作履歴保護装置700は、制限付権限プロセス処理部800と、カーネル特権プロセス処理部900とを備えている。
FIG. 19 is a schematic configuration diagram of an operation
制限付権限プロセス処理部800は、プロセス810と、動作履歴記録部820とを備えている。カーネル特権プロセス処理部900は、特定動作検出部910と、識別情報発行部920と、重要度決定規則情報記憶部930と、動作履歴保護規則情報記憶部935と、動作履歴保護要求情報検出部940と、監視リスト情報記憶部950と、保護レベル決定規則情報記憶部960と、動作履歴保護制御部970と、保護情報記録部980とを備えている。なお、図19に示す各部のうち、図1に示す同一名称の部については、特段の説明をしていない限り同様の機能を有するものとする。
The restricted authority
重要度決定規則情報記憶部930は、図20に示す重要度決定規則情報931を記憶する。図20に示すように、重要度決定規則情報931には、プロセス810が呼び出した特定のライブラリ関数と、その特定のライブラリ関数を呼び出したプロセス810の信頼度と、プロセス810の特定動作の履歴に対する重要性の度合を示す重要度とが含まれている。
The importance determination rule
識別情報発行部920は、図2に示す動作履歴保護規則情報936を参照し、プロセス810の特定動作の履歴に対応する識別情報921(図3参照)を発行する。識別情報発行部920は、図20に示す重要度決定規則情報931を参照し、識別情報921に含まれるライブラリ関数に基づいて重要度を決定し、その重要度及び識別IDを識別情報921(図21参照)に設定する。識別情報発行部920は、当該識別情報921を動作履歴保護要求情報検出部940及び動作履歴保護制御部970に送信する。
The identification
保護レベル決定規則情報記憶部960は、図22に示す保護レベル決定規則情報961を記憶する。図22に示すように、保護レベル決定規則情報961には、重要度と、その重要度に対応するプロセス810の動作履歴の保護方法とが含まれている。
The protection level determination rule
動作履歴保護制御部970は、動作履歴保護要求情報により動作履歴保護要求情報(writeシステムコール840)が検出された場合には、当該動作履歴保護要求情報の要求元のプロセス810のプロセスIDが含まれている識別情報921を参照する。動作履歴保護制御部970は、当該識別情報921に設定された重要度に応じて、動作履歴保護要求情報に含まれている記録内容の保護方法を決定する。
When the operation history protection request information (write system call 840) is detected from the operation history protection request information, the operation history
上記保護方法には、プロセス810の特定動作の履歴の複製をそのまま保護情報記憶部980に記憶する方法、プロセス810の特定動作の履歴に対応するハッシュ値を保護情報記憶部980に記録する方法などが含まれている。なお、保護情報記憶部980は、ハッシュ値記録部を構成する。
The protection method includes a method of storing a copy of the history of the specific operation of the
又、動作履歴保護制御部970は、プロセス810の特定動作の履歴のハッシュ値を算出し、当該ハッシュ値を保護情報記憶部980に記録する。動作履歴保護制御部970は、動作履歴記録部820に記録された特定動作の履歴のロールバックを実行する前に、当該動作履歴記録部820に記録された特定動作の履歴のハッシュ値を算出し、そのハッシュ値と保護情報記憶部980に記録されたハッシュ値とが同一である場合には、当該動作履歴記録部820に記憶された特定動作の履歴が正当であると判定する。なお、動作履歴保護制御部970は、算出部及び判定部を構成する。
In addition, the operation history
次に、本実施形態における動作履歴保護装置700の動作について図23を参照しながら説明する。
Next, the operation of the operation
図23に示すように、S201において、特定動作検出部910は、プロセス810が実行中の特定動作を検出する。
As illustrated in FIG. 23, in S201, the specific
S203において、特定動作検出部910は、プロセス810が特定動作を実行中であることを示す情報を検出結果情報として識別情報発行部920に送信する。検出結果情報には、特定動作を実行中であるプロセス810を個々に識別するための固有のプロセスID、及び当該プロセス810が呼び出した特定のライブラリ関数が含まれている。
In step S <b> 203, the specific
S205において、識別情報発行部920は、検出結果情報に基づいて、検出結果情報に含まれているライブラリ関数の種類、及び特定動作を実行中であるのプロセス810の信頼度の大きさに応じて、プロセス810の特定動作の履歴を保護対象にするか否か決定する(図2参照)。
In S205, based on the detection result information, the identification
また、識別情報発行部920は、プロセス810の特定動作の履歴を保護対象にすることを決定した場合には、図20に示す重要度決定規則情報931を参照し、プロセス810の特定動作の実行中に呼び出されたライブラリ関数の種類及びそのプロセス810の信頼度を用いて重要度を決定する。
Further, when the identification
識別情報発行部920は、特定動作を実行しているプロセス810のプロセスID、当該プロセス810の特定動作の実行中に呼び出されたライブラリ関数、識別情報を個々に識別するための固有の識別ID、決定した重要度を含む識別情報921を発行する。
The identification
S207において、識別情報発行部920は、発行した識別情報921を動作履歴保護要求情報検出部940及び動作履歴保護制御部970に送信する。
In step S <b> 207, the identification
S209において、動作履歴保護要求情報検出部940は、動作履歴保護要求情報であるopenシステムコール830をプロセス810から取得する。
In step S209, the operation history protection request
S211において、動作履歴保護要求情報検出部940は、発行された各識別情報の中から、当該openシステムコール830の発行元のプロセス810のプロセスIDを含む識別情報921を特定する。
In step S <b> 211, the operation history protection request
動作履歴保護要求情報検出部940は、特定した識別情報921に含まれている識別IDを、openシステムコール830に対する返り値としてプロセス810に返信する。プロセス810は、返り値である識別IDと、プロセス810の動作履歴とを動作履歴記録部820に記録させる。
The operation history protection request
また、動作履歴保護要求情報検出部940は、openシステムコール830の発行元のプロセス810のプロセスIDと、openシステムコール830に含まれている“ファイルのpath名”に対応するファイルディスクリプタとを監視リスト情報951に登録する。
The operation history protection request
更に、動作履歴保護要求情報検出部940は、動作履歴保護要求情報であるwriteシステムコール840をプロセス810から取得した場合には、writeシステムコール840の発行元のプロセス810のプロセスID及び“登録先のファイルディスクリプタ”が監視リスト情報951に登録されている場合には、S213において、writeシステムコール840を検出結果情報として動作履歴保護制御部970に送信する。
Further, when the operation history protection request
S215において、動作履歴保護制御部970は、S211において上記特定された識別情報921に基づいて、該識別情報921に含まれている重要度に応じて、受信したwriteシステムコール840に含まれている“記録内容(プロセス210の特定動作の履歴)”の保護方法を決定する。具体的には以下の通りである。
In S215, the operation history
S215−1において、動作履歴保護制御部970は、上記識別情報921に含まれている重要度が「高」・「中」・「低」のいずれであるか判定する。
In step S215-1, the operation history
S215−2において、動作履歴保護制御部970は、上記識別情報921に設定された重要度が「高」である場合には、該識別情報921に含まれている識別IDと、動作履歴保護要求情報に含まれている記録内容(プロセス210の特定動作の履歴)の複製とを保護情報記録部980に記録させる。
In S215-2, when the importance set in the identification information 921 is “high”, the operation history
S215−3において、動作履歴保護制御部970は、上記識別情報921に含まれている重要度が「中」である場合には、1エントリの動作履歴保護要求情報に含まれている記録内容(プロセス210の特定動作の履歴)のハッシュ値、すなわち1つのwriteシステムコール840に含まれている記録内容のハッシュ値を算出し、当該ハッシュ値と、識別情報921に含まれている重要度,識別IDとを保護情報記録部980に記録させる。
In S215-3, when the importance level included in the identification information 921 is “medium”, the operation history
S215−4において、動作履歴保護制御部970は、上記識別情報921に含まれている重要度が「低」である場合には、プロセス810の全ての動作履歴保護要求情報に含まれている記録内容(プロセス210の特定動作の履歴)のハッシュ値を算出し、当該ハッシュ値と、識別情報921に含まれている重要度,識別IDとを保護情報記録部980に記録させる。
In S215-4, when the importance level included in the identification information 921 is “low”, the operation history
かかる特徴によれば、カーネル特権プロセス処理部900は、上記重要度の大きさに応じて、プロセス810の特定動作の履歴をそのまま複製して、カーネル特権プロセス処理部900が持つ特権レベルでのみアクセス可能なカーネル特権プロセス処理部900に記録したり、プロセス810の特定動作の履歴に対応するハッシュ値をカーネル特権プロセス処理部900に記録する。これにより、カーネル特権プロセス処理部900は、カーネル特権プロセス処理部900以外の領域に記憶された情報を改竄するバッファオーバーフロー攻撃などから、プロセス810の特定動作の履歴を適切に保護することができる。
According to such a feature, the kernel privileged
特に、カーネル特権プロセス処理部900は、上記重要度が「高」である場合にはプロセス810の特定動作の履歴をそのまま複製して、カーネル特権プロセス処理部900が持つ特権レベルでのみアクセス可能なカーネル特権プロセス処理部900に記録することにより、重要なプロセス810の特定動作の履歴を適切に保護することができる。
In particular, when the importance level is “high”, the kernel privileged
また、カーネル特権プロセス処理部900は、上記重要度が「中」である場合には、プロセス810の特定動作の履歴のハッシュ値を1エントリ毎に記録する。これにより、カーネル特権プロセス処理部900は、重要性の低いプロセス810の特定動作の履歴を記録する場合には、プロセス810の特定動作の履歴をそのまま複製してカーネル特権プロセス処理部900に記録するのではなく、プロセス810の特定動作の履歴のハッシュ値を1エントリ毎にカーネル特権プロセス処理部900に記録する。このため、カーネル特権プロセス処理部900は、カーネル特権プロセス処理部900に記録させる情報量をより低減することができ、システム全体の性能劣化をより抑制することができる。
Further, when the importance level is “medium”, the kernel privileged
さらに、動作履歴保護装置700は、上記重要度が「低」である場合には、プロセス810の「全て」の特定動作の履歴のハッシュ値を記録させる。これにより、動作履歴保護装置700は、重要性のさらに低いプロセス810の特定動作の履歴を記録する場合には、プロセス810の特定動作の履歴のハッシュ値を1エントリ毎に記録するのではなく、プロセス810の特定動作の履歴の「全て」のハッシュ値を記録する。このため、カーネル特権プロセス処理部900は、カーネル特権プロセス処理部900に記録させる情報量をより低減することができ、システム全体の性能劣化をより抑制することができる。
Furthermore, the operation
ここで、動作履歴記録部820に記録されたプロセス810の特定動作の履歴の正当性を検証する手法について説明する。
Here, a method for verifying the validity of the history of the specific operation of the
図24に示すように、ここでは、識別IDである「38280001」と、それに対応する動作履歴であるシステム設定変更動作1乃至3とが動作履歴記録部820に記録されているものとする。システム設定変更動作1乃至3は、システムの設定を変更するための動作であるものとする。
As shown in FIG. 24, it is assumed here that the identification ID “38280001” and the system setting
もし、システム設定変更動作1乃至3によりシステムに何等かの異常が発生した場合には、システム設定変更動作1乃至3のロールバックが実行されることにより、再びシステム設定変更動作1乃至3が実行される。
If any abnormality occurs in the system due to the system setting changing
しかし、システム設定変更動作1乃至3自体が不当に改竄された場合には、システム設定変更動作1乃至3のロールバックが実行されることにより、システムの状態が悪化することがある。
However, if the system setting
そこで、本実施形態における動作履歴保護装置700は、システム設定変更動作1乃至3の正当性を検証し、システム設定変更動作1乃至3のロールバックによるシステムの状態の悪化を未然に防いでいる。
Therefore, the operation
具体的には、動作履歴保護装置700は、システム設定変更動作1乃至3のロールバックを実行する前に、図24に示す制限付権限プロセス処理部800(動作履歴記録部820)に記録されたシステム設定変更動作1乃至3の識別ID「38280001」を特定する。動作履歴保護装置700は、図25に示すカーネル特権プロセス処理部900(保護情報記録部980)を参照し、特定した識別ID「38280001」に対応する重要度を参照する。
Specifically, the operation
動作履歴保護装置700は、図25に示す識別ID「38280001」に対応する重要度が「中」であるため、保護情報記録部980におけるハッシュ値が1エントリ毎(システム設定変更動作毎)に記録されたものであると判定する。この場合には、動作履歴保護装置700は、図24に示す識別ID「38280001」に対応するシステム設定変更動作1乃至3のそれぞれ(1エントリ毎)のハッシュ値を算出する。
Since the importance corresponding to the identification ID “3828281” shown in FIG. 25 is “medium”, the operation
動作履歴保護装置700は、図24に示す識別ID「38280001」に対応するシステム設定変更動作1乃至3のハッシュ値のそれぞれと、図25に示す識別ID「38280001」に対応するハッシュ値のそれぞれとが同一である場合には、プロセス810の動作履歴であるシステム設定変更動作1乃至3が正当な履歴であると判定し、システム設定変更動作1乃至3をロールバックする。
The operation
一方、動作履歴保護装置700は、システム設定変更動作1乃至3のハッシュ値のそれぞれと、識別ID「38280001」に対応するハッシュ値のそれぞれとが同一でない場合には、システム設定変更動作1乃至3が正当でないものであると判定、すなわちシステム設定変更動作1乃至3が改竄されたもの(又は書換えられたもの)であると判定し、システム設定変更動作1乃至3をロールバックしない。
On the other hand, if each of the hash values of the system setting
このように動作履歴保護装置700は、システム設定変更動作1乃至3のロールバックを実行する前に、当該システム設定変更動作1乃至3の正当性を検証するため、当該システム設定変更動作1乃至3のロールバックによるシステムの状態の悪化を未然に防ぐことができる。
As described above, the operation
[第4実施形態]
ここで、制限付権限プロセス処理部がプロセスの動作の履歴を大量に記録すると、制限付権限プロセス処理部は、カーネル特権プロセス処理部に対してプロセスの動作に関するシステムコール(ライブラリ関数呼出システムコール、openシステムコール、writeシステムコール、closeシステムコールなど)を頻繁に送信する。これにより、カーネル特権プロセス処理部における処理負担が増大し、結果的にはシステム全体の性能劣化が懸念される。
[Fourth Embodiment]
Here, when the restricted authority process processing unit records a large amount of process operation history, the restricted authority process processing unit makes a system call (library function call system call, frequently (open system call, write system call, close system call, etc.). As a result, the processing load on the kernel privileged process processing unit increases, and as a result, there is a concern about the performance degradation of the entire system.
そこで、一定期間内において制限付権限プロセス処理部がカーネル特権プロセス処理部に対してシステムコールを頻繁に送信した場合には、カーネル特権プロセス処理部は、カーネル特権プロセス処理部における処理負担を増大させないようにしている。以下、具体的に説明する。 Therefore, when the restricted authority process processing unit frequently sends system calls to the kernel privileged process processing unit within a certain period, the kernel privileged process processing unit does not increase the processing load on the kernel privileged process processing unit. I am doing so. This will be specifically described below.
図26は、本実施形態における動作履歴保護装置1000の内部構成を示す図である。図26に示すように、動作履歴保護装置1000は、制限付権限プロセス処理部1100と、カーネル特権プロセス処理部1200とを備えている。
FIG. 26 is a diagram illustrating an internal configuration of the operation
制限付権限プロセス処理部1100は、プロセス1110と、動作履歴記録部1120とを備えている。カーネル特権プロセス処理部1200は、特定動作検出部1210と、識別情報発行部1220と、動作履歴保護規則情報記憶部1230と、特定動作実行履歴情報記録部1240と、特定動作制御規則情報記憶部1250と、特定動作制御部1260と、動作履歴保護要求情報検出部1270と、監視リスト情報記憶部1280と、動作履歴保護制御部1290と、保護情報記録部1300とを備えている。なお、図26に示す各部のうち、図1に示す同一名称の部については、特段の説明をしていない限り同様の機能を有するものとする。
The restricted authority
特定動作検出部1210は、単位時間当りにプロセス1110が特定動作を検出した検出回数を算出する。本実施形態では当該検出回数は、1秒間当りの平均回数とする。
The specific
例えば、特定動作検出部1210は、プロセス1110が発行したライブラリ関数呼出システムコール1130を取得したことに基づいて、プロセス1110の特定動作を検出し、当該ライブラリ関数呼出システムコール1130によりライブラリ関数が呼び出された呼出時刻、そのライブラリ関数、そのライブラリ関数が呼び出された1秒間当りの平均回数を特定動作実行履歴情報として特定動作実行履歴情報記録部1240に記録させる(後述する図28及び図29参照)。
For example, the specific
特定動作制御規則情報記憶部1250は、後述する設定回数(回数/秒)が設定された特定動作制御規則情報を記憶する。
The specific operation control rule
特定動作制御部1260は、特定動作実行履歴情報記録部1240に記録された1秒間当りの平均回数が予め設定された設定回数(回数/秒)を超える場合には、動作履歴保護要求情報検出部1270により動作履歴保護要求情報が取得された後の動作履歴保護要求情報検出部1270における処理の開始を所定時間遅延させる。なお、特定動作制御部1260及び動作履歴保護要求情報検出部1270は、遅延処理部を構成する。
When the average number of times per second recorded in the specific operation execution history
次に、本実施形態における動作履歴保護装置1000の動作について図27を参照しながら説明する。図27に示すA部分以外は、図4に示す動作と同様であるため、ここでの詳細な説明は省略する。よって、図27に示すA部分のみについて説明する。
Next, the operation of the operation
図27に示すA部分のS309において、特定動作検出部1210は、プロセス1110が発行したライブラリ関数呼出システムコール1130を取得したことに基づいて、当該ライブラリ関数呼出システムコール1130によりライブラリ関数が呼び出された呼出時刻と、そのライブラリ関数と、そのライブラリ関数が呼び出された1秒間当りの平均回数とを特定動作実行履歴情報として特定動作実行履歴情報記録部1240に記録させる。
In step S309 of part A shown in FIG. 27, the specific
S311において、特定動作制御部1260は、特定動作制御規則情報に従い、特定動作実行履歴情報記録部1240に記憶された1秒間当りの平均回数が予め設定された設定回数を超える場合には、プロセス1110からの動作履歴保護要求情報に対する処理を遅延させるための制御指示情報を動作履歴保護要求情報検出部1270に送信する。
In S311, the specific
例えば、特定動作制御部1260は、特定動作実行履歴情報が図28に示す内容である場合には、最新の1秒間当りの平均回数[3.5]が予め設定された設定回数「20」(1秒間当りのライブラリ関数の呼出回数が20回)を超えないため、上記制御指示情報を動作履歴保護要求情報検出部1270に送信しない。このため、動作履歴保護要求情報検出部1270は、上記制御指示情報が送信されないため、図28に示すプロセスID「3828」のプロセスが発行した動作履歴保護要求情報に対する処理を遅延させない。
For example, when the specific operation execution history information has the content shown in FIG. 28, the specific
また、上記特定動作制御部1260は、特定動作実行履歴情報が図29に示す内容である場合には、最新の1秒間当りの平均回数[20.5]が予め設定された設定回数「20」を超えるため、上記制御指示情報を動作履歴保護要求情報検出部1270に送信する。このため、動作履歴保護要求情報検出部1270は、S313において上記制御指示情報を受信するため、図28に示すプロセスID「11556」のプロセスが発行した動作履歴保護要求情報(openシステムコール、writeシステムコール、closeシステムコールなど)に対する処理を所定時間(1msなど)遅延させる。
In addition, when the specific operation execution history information has the contents shown in FIG. 29, the specific
かかる特徴によれば、制限付権限プロセス処理部1100が、一定期間内においてカーネル特権プロセス処理部1200に対してシステムコールを設定回数以上送信した場合には、カーネル特権プロセス処理部1200が、動作履歴保護要求情報に対する処理を遅延させる。これにより、カーネル特権プロセス処理部1200は、カーネル特権プロセス処理部1200における処理負担を上記一定期間内において増大させないようにすることができる。
According to such a feature, when the restricted authority
このため、一定期間内において動作履歴保護装置1000に対して外部から大量にアクセスを実行し、これに伴ないカーネル特権プロセス処理部1200に対して制限付権限プロセス処理部1100から大量にアクセスを実行させ、カーネル特権プロセス処理部1200における処理負担を増大させてシステム全体の動作処理を不能にさせるサービス不能攻撃から、カーネル特権プロセス処理部1200はシステム全体を保護することができる。
For this reason, a large amount of external access is made to the operation
以上、本発明の一例を説明したが、具体例を例示したに過ぎず、特に本発明を限定するものではなく、各実施形態及び各変更例における具体的構成等は、適宜設計変更可能である。また、各実施形態及び各変更例の具体的構成のそれぞれは、組み合わせることが可能である。さらに、各実施形態及び各変更例の作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、各実施形態及び各変更例に記載されたものに限定されるものではない。 In the above, an example of the present invention has been described, but only a specific example has been illustrated, and the present invention is not particularly limited. Specific configurations and the like in each embodiment and each modified example can be appropriately changed in design. . In addition, each of the specific configurations of each embodiment and each modified example can be combined. Furthermore, the actions and effects of each embodiment and each modified example are merely a list of the most preferable actions and effects resulting from the present invention, and the actions and effects according to the present invention are described in each embodiment and each modified example. It is not limited to the ones.
100…動作履歴保護装置、110…特定動作検知部、200…制限付権限プロセス処理部、210…プロセス、220…動作履歴記録部、300…カーネル特権プロセス処理部、310…特定動作検出部、320…識別情報発行部、330…動作履歴保護規則情報記憶部、340…動作履歴保護要求情報検出部、350…監視リスト情報記憶部、360…動作履歴保護制御部、370…保護情報記録部、400…動作履歴保護装置、500…制限付権限プロセス処理部、510…プロセス、520…動作履歴記録部、600…カーネル特権プロセス処理部、610…特定動作検出部、620…識別情報発行部、630…動作履歴保護規則情報記憶部、640…動作履歴保護要求情報検出部、650…監視リスト情報記憶部、660…暗号化設定規則情報記憶部、670…動作履歴保護制御部、680…保護情報記録部、700…動作履歴保護装置、800…制限付権限プロセス処理部、810…プロセス、820…動作履歴記録部、900…カーネル特権プロセス処理部、910…特定動作検出部、920…識別情報発行部、930…重要度決定規則情報記憶部、935…動作履歴保護規則情報記憶部、940…動作履歴保護要求情報検出部、950…監視リスト情報記憶部、960…保護レベル決定規則情報記憶部、970…動作履歴保護制御部、980…保護情報記録部、1000…動作履歴保護装置、1100…制限付権限プロセス処理部、1110…プロセス、1120…動作履歴記録部、1200…カーネル特権プロセス処理部、1210…特定動作検出部、1220…識別情報発行部、1230…信頼度決定規則情報記憶部、1240…特定動作実行履歴情報記録部、1250…特定動作制御規則情報記憶部、1260…特定動作制御部、1270…動作履歴保護要求情報検出部、1280…監視リスト情報記憶部、1290…動作履歴保護制御部、1300…保護情報記録部
DESCRIPTION OF
Claims (17)
前記特権レベルよりも低い制限付権限レベルであり、前記各種機能の一部のみを利用することができる前記制限付権限レベルに基づいて動作する制限付権限プロセスを制御する制限付権限プロセス処理部とを備え、
前記制限付権限プロセス処理部は、前記制限付権限プロセスの動作の履歴を前記制限付権限プロセス処理部に記録し、
前記カーネル特権プロセス処理部は、前記制限付権限プロセス処理部に記録される動作の履歴のうちの特定動作の履歴を前記カーネル特権プロセス処理部に記録することを特徴とする動作履歴保護装置。 A kernel privileged process processing unit for controlling a kernel privileged process operating based on a privilege level capable of using various functions of the operating system;
A restricted authority process processing unit that controls a restricted authority process that is based on the restricted authority level that is a restricted authority level lower than the privilege level and that can use only a part of the various functions; With
The restricted authority process processing unit records an operation history of the restricted authority process in the restricted authority process processing unit,
The kernel privileged process processing unit records in the kernel privileged process processing unit a history of specific operations out of operation histories recorded in the restricted authority process processing unit.
前記カーネル特権プロセス処理部は、前記第1プロセスと前記第2プロセスとのプロセス間通信が実行中である場合には、前記第1プロセスと前記第2プロセスとのそれぞれの前記特定動作の履歴を前記カーネル特権プロセス処理部に記録することを特徴とする請求項1に記載の動作履歴保護装置。 The restricted authority process includes a first process and a second process,
When the inter-process communication between the first process and the second process is being executed, the kernel privileged process processing unit records the specific operation history of each of the first process and the second process. The operation history protection device according to claim 1, wherein the operation history protection device records the information in the kernel privileged process processing unit.
前記カーネル特権プロセス処理部は、前記第1プロセスの前記特定動作が実行中であるときに、前記第1プロセスに基づいて生成された前記第2プロセスの前記特定動作が実行中である場合には、前記第1プロセスと前記第2プロセスとのそれぞれの前記特定動作の履歴を前記カーネル特権プロセス処理部に記録することを特徴とする請求項1に記載の動作履歴保護装置。 The restricted authority process includes a first process and a second process,
When the specific operation of the second process generated based on the first process is being executed when the specific operation of the first process is being executed, the kernel privileged process processing unit 2. The operation history protection device according to claim 1, wherein the history of the specific operation of each of the first process and the second process is recorded in the kernel privileged process processing unit.
前記制限付権限プロセスが実行中の前記特定動作を検出する特定動作検出部と、
検出された前記特定動作の履歴が保護対象であることを個々に識別するための固有の識別情報を発行する識別情報発行部と、
前記制限付権限プロセスの動作の履歴の保護を要求するための動作履歴保護要求情報を前記制限付権限プロセスから取得したことに基づいて、前記動作履歴保護要求情報の要求元の前記制限付権限プロセスのプロセスIDが前記識別情報に含まれている場合には、前記制限付権限プロセスの前記特定動作の履歴を前記カーネル特権プロセス処理部に記録させる動作履歴記録部と
を備えることを特徴とする請求項5に記載の動作履歴保護装置。 The kernel privileged process processing unit
A specific action detecting unit for detecting the specific action being executed by the restricted authority process;
An identification information issuing unit that issues unique identification information for individually identifying that the detected history of the specific operation is a protection target;
Based on the fact that the operation history protection request information for requesting the protection of the operation history of the restricted authority process is acquired from the restricted authority process, the restricted authority process of the request source of the operation history protection request information And an operation history recording unit that records the history of the specific operation of the restricted authority process in the kernel privileged process processing unit when the process ID is included in the identification information. Item 6. The operation history protection device according to Item 5.
算出された前記検出回数が予め設定された設定回数を超えている場合には、前記動作履歴記録部により前記動作履歴保護要求情報が取得された後の前記動作履歴記録部における処理の開始を所定時間遅延させる遅延処理部を備えることを特徴とする請求項11に記載の動作履歴保護装置。 The specific action detection unit calculates the number of times of detection of the specific action per unit time,
When the calculated number of detections exceeds a preset number of times, a predetermined start of processing in the operation history recording unit after the operation history protection request information is acquired by the operation history recording unit The operation history protection device according to claim 11, further comprising a delay processing unit that delays the time.
前記第1動作履歴保護要求情報は、前記制限付権限プロセスの動作の履歴の記録先に対するアクセス権の付与を要求するためのシステムコールであり、
前記第2動作履歴保護要求情報は、前記アクセス権が付与された前記記録先に対して前記制限付権限プロセスの動作の履歴を記録するためのシステムコールであり、
前記動作履歴記録部は、前記第1動作履歴保護要求情報の要求元の前記制限付権限プロセスの前記プロセスIDが前記識別情報に含まれている場合には、前記第2動作履歴保護要求情報に含まれている前記制限付権限プロセスの動作の履歴を前記カーネル特権プロセス処理部に記録させることを特徴とする請求項11に記載の動作履歴保護装置。 The operation history protection request information includes first operation history protection request information and second operation history protection request information,
The first operation history protection request information is a system call for requesting the granting of access right to the recording destination of the operation history of the restricted authority process,
The second operation history protection request information is a system call for recording an operation history of the restricted authority process for the recording destination to which the access right is granted,
The operation history recording unit includes the second operation history protection request information when the process ID of the restricted authority process requesting the first operation history protection request information is included in the identification information. The operation history protection apparatus according to claim 11, wherein the operation history of the restricted authority process included is recorded in the kernel privileged process processing unit.
前記第3動作履歴保護要求情報は、前記アクセス権が付与された前記記録先に対する前記アクセス権の解除を要求するためのシステムコールであり、
前記動作履歴記録部は、前記第3動作履歴保護要求情報を前記制限付権限プロセスから取得した場合には、前記動作履歴記録部の処理を終了することを特徴とする請求項15に記載の動作履歴保護装置。 The operation history protection request information includes third operation history protection request information,
The third operation history protection request information is a system call for requesting release of the access right to the recording destination to which the access right is granted,
16. The operation according to claim 15, wherein the operation history recording unit terminates the process of the operation history recording unit when the third operation history protection request information is acquired from the restricted authority process. History protection device.
オペレーティングシステムの各種機能を利用することができる特権レベルに基づいて動作するカーネル特権プロセスを制御するカーネル特権プロセス処理部と、
前記特権レベルよりも低い制限付権限レベルであり、前記各種機能の一部のみを利用することができる前記制限付権限レベルに基づいて動作する制限付権限プロセスを制御する制限付権限プロセス処理部として機能させる動作履歴保護プログラムであって、
前記制限付権限プロセス処理部は、前記制限付権限プロセスの動作の履歴を前記制限付権限プロセス処理部に記録し、
前記カーネル特権プロセス処理部は、前記制限付権限プロセス処理部に記録される動作の履歴のうちの特定動作の履歴を前記カーネル特権プロセス処理部に記録することを特徴とする動作履歴保護プログラム。 Computer
A kernel privileged process processing unit for controlling a kernel privileged process operating based on a privilege level capable of using various functions of the operating system;
As a restricted authority process processing unit that controls a restricted authority process that operates based on the restricted authority level that is a restricted authority level lower than the privilege level and that can use only a part of the various functions. An operation history protection program to function,
The restricted authority process processing unit records an operation history of the restricted authority process in the restricted authority process processing unit,
The kernel privileged process processing unit records a specific operation history among the operation histories recorded in the restricted authority process processing unit in the kernel privileged process processing unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005262111A JP2007072969A (en) | 2005-09-09 | 2005-09-09 | Operation history protection device and operation history protection program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005262111A JP2007072969A (en) | 2005-09-09 | 2005-09-09 | Operation history protection device and operation history protection program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007072969A true JP2007072969A (en) | 2007-03-22 |
Family
ID=37934330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005262111A Pending JP2007072969A (en) | 2005-09-09 | 2005-09-09 | Operation history protection device and operation history protection program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007072969A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008117471A1 (en) * | 2007-03-27 | 2008-10-02 | Fujitsu Limited | Audit program, audit system and audit method |
WO2010131579A1 (en) * | 2009-05-11 | 2010-11-18 | 日本電気株式会社 | Terminal device, communication method used in the terminal device, and communication control program |
JP2011511980A (en) * | 2008-01-31 | 2011-04-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method and apparatus for operating system event notification mechanism using file system interface |
KR20120081113A (en) | 2009-09-30 | 2012-07-18 | 가부시키가이샤 닛폰 쇼쿠바이 | Particulate water absorbent and method for producing same |
WO2014058178A1 (en) * | 2012-10-12 | 2014-04-17 | 한국전자통신연구원 | Black box device and method for supporting restoration of a smart grid system |
KR101428769B1 (en) | 2012-10-12 | 2014-08-08 | 한국전자통신연구원 | Black box apparatus and method for supporting reconfiguration of smart grid system |
JP2021117624A (en) * | 2020-01-24 | 2021-08-10 | 三菱電機株式会社 | In-vehicle control device |
-
2005
- 2005-09-09 JP JP2005262111A patent/JP2007072969A/en active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008117471A1 (en) * | 2007-03-27 | 2008-10-02 | Fujitsu Limited | Audit program, audit system and audit method |
JP5278309B2 (en) * | 2007-03-27 | 2013-09-04 | 富士通株式会社 | Audit program, audit system, and audit method |
JP2011511980A (en) * | 2008-01-31 | 2011-04-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method and apparatus for operating system event notification mechanism using file system interface |
US8935579B2 (en) | 2008-01-31 | 2015-01-13 | International Business Machines Corporation | Method and apparatus for operating system event notification mechanism using file system interface |
WO2010131579A1 (en) * | 2009-05-11 | 2010-11-18 | 日本電気株式会社 | Terminal device, communication method used in the terminal device, and communication control program |
JP5370482B2 (en) * | 2009-05-11 | 2013-12-18 | 日本電気株式会社 | TERMINAL DEVICE, COMMUNICATION METHOD AND COMMUNICATION CONTROL PROGRAM USED FOR THE TERMINAL DEVICE |
US8782663B2 (en) | 2009-05-11 | 2014-07-15 | Nec Corporation | Terminal device, communication method used in the terminal device and recording medium |
KR20120081113A (en) | 2009-09-30 | 2012-07-18 | 가부시키가이샤 닛폰 쇼쿠바이 | Particulate water absorbent and method for producing same |
WO2014058178A1 (en) * | 2012-10-12 | 2014-04-17 | 한국전자통신연구원 | Black box device and method for supporting restoration of a smart grid system |
KR101428769B1 (en) | 2012-10-12 | 2014-08-08 | 한국전자통신연구원 | Black box apparatus and method for supporting reconfiguration of smart grid system |
JP2021117624A (en) * | 2020-01-24 | 2021-08-10 | 三菱電機株式会社 | In-vehicle control device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555089B2 (en) | Program execution apparatus, control method, control program, and integrated circuit | |
US7698744B2 (en) | Secure system for allowing the execution of authorized computer program code | |
CN103827881B (en) | Method and system for the dynamic platform safety in device operating system | |
JP5346608B2 (en) | Information processing apparatus and file verification system | |
US8522015B2 (en) | Authentication of binaries in memory with proxy code execution | |
EP3479280A1 (en) | Ransomware protection for cloud file storage | |
CN102279760A (en) | Device booting with an initial protection component | |
JP2006511877A (en) | System and method for detecting software tampering by proactively | |
US20030221115A1 (en) | Data protection system | |
CN106295407B (en) | Method and device for detecting whether file is tampered | |
JP2008537224A (en) | Safe starting method and system | |
JP2007072969A (en) | Operation history protection device and operation history protection program | |
KR101828600B1 (en) | Context-aware ransomware detection | |
US20160004859A1 (en) | Method and system for platform and user application security on a device | |
JP2003108253A (en) | Method and program for monitoring application | |
JP2023534502A (en) | Advanced ransomware detection | |
JP2010097550A (en) | Virus prevention program, storage device detachable from computer, and virus prevention method | |
JP2013164732A (en) | Information processor | |
US9507922B1 (en) | System, method, and computer program for conditionally implementing protected content | |
KR20200041639A (en) | In-vehicle software update system and method for controlling the same | |
US8490208B2 (en) | Method and device for detecting if a computer file has been copied and method and device for enabling such detection | |
CN113672925B (en) | Method and device for preventing lux software attack, storage medium and electronic equipment | |
KR20190095056A (en) | Systems and methods for detection and prevention of Ransomware | |
JP4627266B2 (en) | Information leakage prevention system due to unknown malware | |
JP5392494B2 (en) | File check device, file check program, and file check method |