JP2007109016A - Access policy creation system, method and program - Google Patents

Access policy creation system, method and program Download PDF

Info

Publication number
JP2007109016A
JP2007109016A JP2005299272A JP2005299272A JP2007109016A JP 2007109016 A JP2007109016 A JP 2007109016A JP 2005299272 A JP2005299272 A JP 2005299272A JP 2005299272 A JP2005299272 A JP 2005299272A JP 2007109016 A JP2007109016 A JP 2007109016A
Authority
JP
Japan
Prior art keywords
access
policy
rule
policy generation
generalization
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.)
Withdrawn
Application number
JP2005299272A
Other languages
Japanese (ja)
Inventor
Kazuo Yanoo
一男 矢野尾
Hiroshi Sakaki
啓 榊
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2005299272A priority Critical patent/JP2007109016A/en
Publication of JP2007109016A publication Critical patent/JP2007109016A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To reduce a labor of access policy creation to the minimum by automatically sorting/generalizing access information collected by operating a program for a monitoring target and by automating the access policy creation based on previously created policy creation rules. <P>SOLUTION: Co-occurrence relation that does not rely on the target program is previously listed up of such co-occurrence relations of resource access that "the possibility of accessing certain another resource anytime in accessing a certain resource is high", and is described as the policy creation rules 110. A sorting means 106 creates an event set from access logs observed by an access auditing means 102 based on the policy creation rules 110. A generalization means 107 generalizes an event based on the event set. The policy creation means 108 generates the access policy based on the generalized event set. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、アクセスポリシを生成するアクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラムに関し、特にポリシ強制(ポリシに基づくアクセス制御)の対象となるプログラムの動作状態を収集してアクセスポリシを生成できるアクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラムに関する。   The present invention relates to an access policy generation system, an access policy generation method, and an access policy generation program for generating an access policy, and in particular, collects operation states of programs subject to policy enforcement (policy-based access control) to access policy. The present invention relates to an access policy generation system, an access policy generation method, and an access policy generation program.

近年、コンピュータウイルスによる情報漏洩及び情報改ざんや、サーバへの不正アクセスによる情報漏洩及び情報改ざんが問題となっている。これら情報漏洩や情報改ざんの問題の多くは、ソフトウェアの脆弱性が原因となって生じている。つまり、脆弱な部分(例えば、セキュリティホール)を攻撃されることによって、本来そのプログラムが想定していた動作とは異なる動作に従ってプログラムが処理を実行してしまうことがある。プログラムが想定外の動作をすることによって、本来外部から読み取り不可であるファイルが読み取られてしまったり(情報漏洩)、本来外部から編集不可であるファイルを編集されてしまったり(情報改ざん)する等の不正なリソースアクセスがなされる。   In recent years, information leakage and information falsification due to computer viruses and information leakage and information falsification due to unauthorized access to servers have become problems. Many of these information leakage and information falsification problems are caused by software vulnerabilities. That is, when a vulnerable part (for example, a security hole) is attacked, the program may execute processing according to an operation different from the operation originally assumed by the program. Unexpectedly readable files are read by the program (information leakage), files that are originally uneditable from outside are edited (information falsification), etc. Unauthorized resource access is made.

上記のような情報漏洩や情報改ざんの問題を解決するために、例えソフトウェアの脆弱性を攻撃された場合であっても、ソフトウェアが本来想定していた動作とは異なる動作に従ってリソースアクセスをした場合には、そのアクセスを防止するように制御すればよい。例えば、ソフトウェアによる不正なリソースアクセスを防止するために、セキュアOSや、アクセス制御ミドルウェア、サンドボックス、不正侵入防止システム等と呼ばれる各種のポリシ強制システムが利用されている。   In order to solve the information leakage and information falsification problems mentioned above, even if a software vulnerability is attacked, resources are accessed according to operations different from those originally assumed by the software. May be controlled so as to prevent the access. For example, in order to prevent unauthorized access to resources by software, various policy enforcement systems called secure OS, access control middleware, sandbox, unauthorized intrusion prevention system, and the like are used.

これらのポリシ強制システムは、与えられた要件(条件)に従って、監視対象のプログラムが特定のリソースにアクセスすることを制限する機能を備える。以下、この監視対象のプログラムが特定のリソースにアクセスすることを制限するための要件(条件)を「アクセスポリシ」(又は単に「ポリシ」)という。また、アクセスポリシに従って制限される動作を「アクセス」という。   These policy enforcement systems have a function of restricting a monitored program from accessing a specific resource in accordance with given requirements (conditions). Hereinafter, the requirement (condition) for restricting the monitoring target program from accessing a specific resource is referred to as “access policy” (or simply “policy”). An operation restricted according to the access policy is referred to as “access”.

ポリシ強制システムにおいて、アクセスポリシを正しく設定することにより、不正アクセスやクラッキング、コンピュータウイルス、ワームによる被害を抑制することができる。例えば、WWWサーバでポリシ強制システムを用いる場合に、WWWコンテンツを書き換え不可というアクセスポリシを設定しておけば、WWWサーバの脆弱性を攻撃されて任意のコードを実行されたとしても、WWWコンテンツの書き換えによる改ざんを防止できる。   In the policy enforcement system, by setting the access policy correctly, damage caused by unauthorized access, cracking, computer viruses, and worms can be suppressed. For example, when using a policy enforcement system on a WWW server, if you set an access policy that the WWW content cannot be rewritten, even if an arbitrary code is executed by attacking the vulnerability of the WWW server, Tampering due to rewriting can be prevented.

なお、一般に、アクセスポリシには、「許可ポリシ」と「禁止ポリシ」との2種類のポリシがある。「許可ポリシ」は、プログラムが特定のリソースにアクセスすることを許可する条件を示すポリシである。また、「禁止ポリシ」は、プログラムが特定のリソースにアクセスすることを禁止する条件を示すポリシである。また、アクセスポリシの指定方法は、「許可ポリシ」のみを指定する方法、「禁止ポリシ」のみを指定する方法、及び「許可ポリシ」及び「禁止ポリシ」の両方を指定する方法の3通りがある。   In general, there are two types of access policies, “permitted policy” and “prohibited policy”. The “permission policy” is a policy indicating a condition for permitting a program to access a specific resource. The “prohibited policy” is a policy indicating a condition for prohibiting the program from accessing a specific resource. In addition, there are three methods for specifying an access policy: a method of specifying only “permitted policy”, a method of specifying only “prohibited policy”, and a method of specifying both “permitted policy” and “prohibited policy”. .

アクセスポリシの指定方法として許可ポリシのみを指定する方法では、アクセスポリシに、ユーザによって許可されたアクセスのみが記述される(含まれる)。この場合、アクセスポリシの許可ポリシに示される条件に合致したアクセスのみが許可され、それ以外の(許可ポリシに示される条件に合致しない)アクセスは禁止される。   In the method of specifying only the permitted policy as the access policy specifying method, only the access permitted by the user is described (included) in the access policy. In this case, only access that matches the condition indicated in the access policy permission policy is permitted, and other access (that does not match the condition indicated in the permission policy) is prohibited.

また、アクセスポリシの指定方法として禁止ポリシのみを指定する方法では、アクセスポリシに、ユーザによって禁止されたアクセスのみが記述される(含まれる)。この場合、アクセスポリシの禁止ポリシに示される条件に合致したアクセスのみが禁止され、それ以外の(禁止ポリシに示される条件に合致しない)アクセスは許可される。   Further, in the method of specifying only the prohibited policy as the access policy specifying method, only the access prohibited by the user is described (included) in the access policy. In this case, only access that matches the condition indicated in the access policy prohibition policy is prohibited, and other access (that does not match the condition indicated in the prohibition policy) is permitted.

また、アクセスポリシの指定方法として許可ポリシ及び禁止ポリシの両方を指定する方法では、許可ポリシと禁止ポリシとが競合したときに実行する処理を定めた「メタポリシ」が、許可ポリシ及び禁止ポリシとは別に、ユーザによって、アクセスポリシに別途記述される(含まれる)。   In addition, in the method of specifying both the permission policy and the prohibition policy as the method for specifying the access policy, the “meta policy” that defines the processing to be executed when the permission policy and the prohibition policy conflict with each other is the permission policy and the prohibition policy. Separately, it is separately described (included) in the access policy by the user.

ここで、アクセス制限を適切に行えるようにするためには、アクセスポリシを正しく設定することが重要である。アクセスポリシで許可されたアクセスの範囲が狭すぎると、本来アクセス可能であるべきリソースにプログラムがアクセスできず、プログラムの誤動作を引き起こしてしまう。この本来アクセス可能であるべきリソースにアクセスできず、プログラムが誤動作してしまうことを、「誤検知」という。プログラムの誤動作を引き起こすとシステム全体の運営に支障を及ぼすため、誤検知を可能な限りゼロに抑えられるようにしなければ、実用上、ポリシ強制システムを用いることは難しい。   Here, it is important to set the access policy correctly in order to appropriately limit the access. If the range of access permitted by the access policy is too narrow, the program cannot access resources that should be accessible, causing a malfunction of the program. This inability to access resources that should be accessible and the program malfunctioning is called “false detection”. If a malfunction of the program is caused, the operation of the entire system is hindered. Therefore, it is practically difficult to use the policy enforcement system unless false detection is suppressed to zero as much as possible.

一方、誤検知の発生を無くすために、アクセスポリシで許可するアクセスの範囲を広くすることが考えられる。しかし、アクセスポリシで許可するアクセスの範囲を広くしすぎると、プログラムの不正動作も許可してしまうことになり、適切にポリシ強制を行えなくなくなってしまう。このアクセスの範囲を広くしすぎてプログラムの不正動作も許可してしまうことを、「検知漏れ」という。従って、適切にポリシ強制を行えるようにするためには、検知漏れをできるだけ減らしつつ、誤検知を可能な限りゼロに抑える必要がある。   On the other hand, in order to eliminate the occurrence of erroneous detection, it is conceivable to widen the range of access permitted by the access policy. However, if the range of access permitted by the access policy is too wide, unauthorized operation of the program is permitted, and policy enforcement cannot be performed properly. Too widen the scope of access and allow unauthorized operation of the program is called “missing detection”. Therefore, in order to appropriately enforce policy enforcement, it is necessary to reduce false detections to zero as much as possible while reducing detection omissions as much as possible.

しかし、そのように検知漏れ及び誤検知の両方の低減を考慮したアクセスポリシを人手で記述して作成すると、ユーザの手間と時間がかかり、アクセスポリシの内容に誤りも生じやすい。そこで、プログラムの実際の動作状態を観測して、許可ポリシを自動的に生成する方法が提案されている。   However, if an access policy that takes into account the reduction of both detection omissions and false detections is described and created manually, it takes time and effort for the user, and errors in the access policy are likely to occur. Therefore, a method for automatically generating a permission policy by observing an actual operation state of a program has been proposed.

例えば、特許文献1には、プログラムを一定時間動作させて、そのプログラムが動作している間に観測されたアクセスを許可するルールを、許可ポリシとして追加する方法(従来技術1ともいう)が記載されている。また、例えば、特許文献2には、プログラムを一定時間動作させて、観測したリソースアクセスに対して、同じディレクトリ内のファイルや、同じ種類のファイルがアクセスされうると類推した上で、ベイズ推定によって許可対象のアクセスを絞り込む方法(従来技術2ともいう)が記載されている。   For example, Patent Document 1 describes a method (also referred to as Prior Art 1) of adding a rule that allows a program to operate for a certain period of time and permit access observed while the program is operating as a permission policy. Has been. In addition, for example, in Patent Document 2, the program is operated for a certain period of time, and by analogy that a file in the same directory or the same type of file can be accessed for the observed resource access, Bayesian estimation is performed. A method (also referred to as Prior Art 2) for narrowing down access to be permitted is described.

また、例えば、特許文献3には、プログラムを一定時間動作させて、観測したリソースアクセスに対して、パス名のパターンによって汎化したり、リソースアクセス時のプログラムの内部状態が類似しているアクセス同士を汎化する方法(従来技術3ともいう)が記載されている。また、例えば、特許文献4には、アクセスポリシ作成を支援するポリシ設定支援ツールが記載されている。   Further, for example, in Patent Document 3, the program is operated for a certain period of time, and the observed resource access is generalized by a path name pattern, or accesses having similar internal states of the program at the time of resource access are disclosed. Is described (also referred to as Prior Art 3). Further, for example, Patent Literature 4 describes a policy setting support tool that supports access policy creation.

特開2003−006027号公報(段落0009−0015、図1−5)Japanese Patent Laying-Open No. 2003-006027 (paragraphs 0009-0015, FIG. 1-5) 特開2005−044243号公報(段落0059−0101、図2)JP 2005-044243 (paragraph 0059-0101, FIG. 2) 特開2005−234661号公報(段落0044−0089、図1−6)Japanese Patent Laying-Open No. 2005-234661 (paragraphs 0044-0089, FIGS. 1-6) 特開2004−192601号公報(段落0088−0108、図1、図7−9)Japanese Patent Laying-Open No. 2004-192601 (paragraphs 0088-0108, FIGS. 1 and 7-9)

従来技術1(特許文献1に記載された方法)によれば、観測されたアクセスを許可ルールとして追加することができる。しかし、プログラムを一定期間動作させても、そのプログラムが行いうるアクセスを全て観測することができるとは限らない、監視対象のプログラムが行いうる全てのアクセスを観測できなかった場合、観測したアクセスをそのまま許可ルールとして追加したとしても、監視対象のプログラムで許可されるべきアクセスが全て許可されない(誤検知が生じる)という問題が生じる。一般に、プログラムの動作は非常に多岐にわたるため、全てのアクセスを観測することは難しく、従来技術1による方法を用いたとしても、このような誤動作を排除することができない。   According to the prior art 1 (method described in Patent Document 1), it is possible to add the observed access as a permission rule. However, even if the program is operated for a certain period of time, it is not always possible to observe all the access that the program can perform. Even if it is added as a permission rule as it is, there arises a problem that all access that should be permitted by the program to be monitored is not permitted (an erroneous detection occurs). In general, since the operations of the program are very diverse, it is difficult to observe all accesses, and even if the method according to the prior art 1 is used, such a malfunction cannot be excluded.

従来技術2(特許文献2に記載された方法)によれば、観測したアクセスをそのまま許可ルールとして追加するのではなく、観測したファイルアクセスの対象ファイルと同じディレクトリ内のファイルや、同じ拡張子をもつファイルも許可対象と類推する。そして、許可対象のファイルを推定した上で処理(推定した許可対象のファイルに対するアクセスを許可ルールとして追加)する。特許文献2に記載された方法を用いれば、アクセス対象が同一の種類のファイル(主にファイルの拡張子によって判定する)であれば、実際に観測していないアクセスであっても、アクセスポリシの対象としてアクセス制御することができる。すなわち、同一種類のファイルであれば同一のアクセスポリシを適用できるという性質や、同一のディレクトリにあるファイルであれば同じアクセスポリシを適用できるという性質を仮定して、実際に観測していないアクセスでもアクセスポリシの対象にすることができる。   According to Prior Art 2 (method described in Patent Document 2), instead of adding the observed access as a permission rule as it is, a file in the same directory as the target file of the observed file access or the same extension is used. The files you have are also considered to be allowed. Then, the file to be permitted is estimated and processed (access to the estimated permission target file is added as a permission rule). If the method described in Patent Document 2 is used, if the access target is the same type of file (mainly determined by the extension of the file), even if the access is not actually observed, the access policy Access control can be performed as a target. In other words, assuming that the same access policy can be applied to files of the same type and that the same access policy can be applied to files in the same directory, even access that is not actually observed Can be an access policy target.

特許文献2に記載された方法を用いれば、全てのアクセスを観測できなかった場合に誤検知を生じるという従来技術1における課題を、ある程度解消することができる。しかし、一般に上記のような性質(同一種類のファイルであれば適用できるという性質や、同一のディレクトリにあるファイルであれば適用できるという性質)が成り立たない場合も多いので、必ずしも適切なアクセスポリシを作成できるとは限らない。例えば、同一の拡張子をもつファイルや、同一のディレクトリ内にあるファイルであっても、実際には全く異なるアクセスポリシが適用されるべきことが多い。例えば、Linuxでは、ディレクトリ「/etc/ 」以下に「 .conf」という拡張子をもつファイルが多数あるが、これらは全く別々の機能に関連するファイルが多く、同一のアクセスポリシを適用するべきではない。このような場合に、同一のアクセスポリシを適用すると、検知漏れが発生することになってしまう。   If the method described in Patent Document 2 is used, it is possible to solve to some extent the problem in the prior art 1 in which erroneous detection occurs when all accesses cannot be observed. However, in general, the above-mentioned properties (the property that it can be applied if it is the same type of file and the property that it can be applied if it is a file in the same directory) often do not hold. It is not always possible to create it. For example, even if a file has the same extension or a file in the same directory, a completely different access policy should actually be applied. For example, in Linux, there are many files with the extension ".conf" under the directory "/ etc /", but these are many files related to completely different functions, and the same access policy should not be applied. Absent. In such a case, if the same access policy is applied, detection failure will occur.

逆に、同一の拡張子をもつファイルや、同一のディレクトリ内にあるファイルでなくても、同一のアクセスポリシが適用される場合も多い。例えば、一般に、ファイルサーバは、公開ディレクトリ以下に存在するファイル全てに対してアクセスしうる。しかし、これらの公開ディレクトリ以下のファイルを拡張子やディレクトリで区別することはできないので、従来技術2による方法を用いたとしても、同一のアクセスポリシを適用することは困難である。また、そのような公開ディレクトリ以下のファイルを区別できない場合に、同一のアクセスポリシを適用できなければ、誤検知が発生することになってしまう。   Conversely, the same access policy is often applied even if the files have the same extension or are not in the same directory. For example, in general, the file server can access all files existing under the public directory. However, since files under these public directories cannot be distinguished by extension or directory, it is difficult to apply the same access policy even if the method according to the prior art 2 is used. In addition, when the files under the public directory cannot be distinguished, if the same access policy cannot be applied, a false detection will occur.

従来技術3(特許文献3に記載された方法)によれば、プログラム中の同一の場所から呼び出された(同一のコールスタックをもつ)リソースアクセスである場合には同一のアクセスポリシが適用可能という性質を仮定して、実際に観測していないアクセスでもアクセスポリシの対象にすることができる。特許文献3に記載された方法によれば、拡張子やディレクトリを用いてアクセスポリシを作成する方法と比較して、高い精度をもつアクセスポリシを生成することができる。しかし、拡張子やディレクトリでアクセスの許否を判定する方法と比較すると、プログラム中の同一の場所から呼び出されたか否かで判定する方法は、生成するアクセスポリシの精度が高いが、監視対象のプログラムによっては判定条件が強すぎたり、弱すぎたりする場合がある。すなわち、特許文献3に記載された方法を用いたとしても、誤検知が生じたり、検知漏れが生じたりする場合がある。例えば、特許文献3に記載された方法を用いたとしても、アクセスポリシ生成中に観測したイベントの数が少ないと、適切なアクセスポリシを生成できない。   According to Prior Art 3 (the method described in Patent Document 3), the same access policy can be applied in the case of resource access that is called from the same place in the program (having the same call stack). Assuming the nature, even access that has not actually been observed can be the target of the access policy. According to the method described in Patent Document 3, it is possible to generate an access policy with higher accuracy compared to a method of creating an access policy using an extension or a directory. However, compared to the method of determining whether access is permitted or not based on the extension or directory, the method of determining whether or not the program is called from the same location in the program has a high accuracy of the access policy to be generated, but the program to be monitored Depending on the condition, the judgment condition may be too strong or too weak. That is, even if the method described in Patent Document 3 is used, there are cases where erroneous detection occurs or detection omission occurs. For example, even if the method described in Patent Document 3 is used, an appropriate access policy cannot be generated if the number of events observed during access policy generation is small.

以上のように、従来技術2による方法や従来技術3による方法では、全てのアクセスを観測できなかった場合に誤検知を生じるという従来技術1における課題を、ある程度解消している。しかし、従来技術2による方法を用いたとしても、同一種類のファイルであれば適用できるという性質や、同一のディレクトリにあるファイルであれば適用できるという性質が成り立たない場合には、必ずしも適切なアクセスポリシを作成できるとは限らない。また、従来技術3による方法では、精度よくアクセスポリシを生成でき、従来技術2による方法を用いた場合の課題をある程度解決している。しかし、従来技術3による方法を用いたとしても、監視対象のプログラムによっては、アクセスポリシによる判定条件が強すぎたり弱すぎたりし、依然として誤検知や検知漏れが生じするという課題がある。   As described above, the method according to the prior art 2 and the method according to the prior art 3 solve to some extent the problem in the prior art 1 in which false detection occurs when all accesses cannot be observed. However, even if the method according to the prior art 2 is used, if the property that it can be applied to files of the same type or the property that it can be applied to files in the same directory does not hold, it is not always appropriate access. It is not always possible to create a policy. In addition, the method according to the prior art 3 can generate an access policy with high accuracy, and solves the problems when the method according to the prior art 2 is used to some extent. However, even if the method according to the prior art 3 is used, depending on the program to be monitored, the determination condition based on the access policy is too strong or too weak, and there still remains a problem that erroneous detection or detection omission occurs.

なお、特許文献4に記載されたポリシ設定支援ツールもアクセスポリシの作成に関する従来技術である。しかし、特許文献4では、アクセスポリシ作成の支援に関する支援ツールが記載されているにすぎず、未知のアプリケーションのアクセスポリシを作成することは開示されていない。また、特許文献4に記載されたポリシ設定支援ツールを用いたとしても、アプリケーションのインストール場所や設定が変更された場合に、アクセスポリシ作成のための有効な支援を行うことはできない。   Note that the policy setting support tool described in Patent Document 4 is also a related art relating to the creation of an access policy. However, Patent Document 4 merely describes a support tool related to support for creating an access policy, and does not disclose creating an access policy for an unknown application. Even if the policy setting support tool described in Patent Document 4 is used, effective support for creating an access policy cannot be performed when the installation location or setting of the application is changed.

そこで、本発明は、アクセスポリシの生成を自動化し、アクセスポリシ作成の手間を可能な限り軽減できるアクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラムを提供することを目的とする。また、本発明は、精度の高いアクセスポリシを生成し、人手による修正の手間をできるだけ軽減できるアクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラムを提供することを目的とする。   Accordingly, an object of the present invention is to provide an access policy generation system, an access policy generation method, and an access policy generation program that can automate the generation of an access policy and reduce the effort for creating an access policy as much as possible. It is another object of the present invention to provide an access policy generation system, an access policy generation method, and an access policy generation program that can generate an access policy with high accuracy and reduce manual correction as much as possible.

本発明によるアクセスポリシ生成システムは、監視対象のプログラム(例えば、対象プログラム101)が特定のリソース(例えば、アクセス対象のファイルやデータを管理するファイルシステムや、アクセス対象のファイルやデータ)にアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成システムであって、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出手段(例えば、アクセス監査手段102によって実現される)と、アクセスポリシの生成条件を示す情報であるポリシ生成ルール(例えば、ポリシ生成ルール110)に従って、アクセス検出手段が出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成手段(例えば、分類手段106、汎化手段107及びポリシ生成手段108によって実現されるアクセスポリシ生成手段)とを備えたことを特徴とする。   In the access policy generation system according to the present invention, a monitoring target program (for example, the target program 101) accesses a specific resource (for example, a file system for managing an access target file or data, or an access target file or data). An access policy generation system that generates an access policy for restricting the access, and detects an access to a resource by a monitored program and outputs access information indicating the content of the detected access (for example, The access policy is generated based on the access information output by the access detector according to the policy generation rule (for example, the policy generation rule 110) that is information indicating the access policy generation condition. Access Rishi generating means (e.g., the classification unit 106, the access policy generation means implemented by generalization means 107 and the policy generating unit 108) is characterized in that a.

また、アクセスポリシ生成システムは、アクセス検出手段が監視対象のプログラムによるリソースへのアクセスの発生を検出すると、監視対象のプログラムに従って実行されている処理の状態を検出する状態検出手段(例えば、状態観測手段113によって実現される)を備え、状態検出手段は、監視対象のプログラムに従って実行されている処理の状態の検出結果(例えば、内部状態情報)を、アクセス検出手段が出力したアクセス情報に付加し、アクセスポリシ生成手段は、状態検出手段が監視対象のプログラムに従って実行されている処理の状態の検出結果を付加したアクセス情報に基づいて、アクセスポリシを生成するものであってもよい。   In addition, the access policy generation system detects a state of processing executed according to the monitored program when the access detecting unit detects the occurrence of access to the resource by the monitored program (for example, state observation). The state detection unit adds the detection result (for example, internal state information) of the state of the process executed according to the program to be monitored to the access information output by the access detection unit. The access policy generation unit may generate an access policy based on access information to which the state detection unit adds the detection result of the state of the process being executed according to the program to be monitored.

また、アクセスポリシ生成システムは、ポリシ生成ルールを予め記憶するポリシ生成ルール記憶手段(例えば、ポリシ生成ルール記憶部109によって実現される)を備え、アクセスポリシ生成手段は、ポリシ生成ルール記憶手段が記憶するポリシ生成ルールに従って、アクセスポリシを生成するものであってもよい。   Further, the access policy generation system includes policy generation rule storage means (for example, realized by the policy generation rule storage unit 109) that stores policy generation rules in advance, and the policy generation rule storage means stores the access policy generation means. The access policy may be generated according to the policy generation rule.

また、アクセスポリシ生成システムにおいて、ポリシ生成ルール記憶手段は、アクセス情報を分類するための所定の分類条件を示す分類ルール(例えば、分類ルール111)と、アクセス情報を汎化するための所定の汎化条件を示す汎化ルール(例えば、汎化ルール112)とを含むポリシ生成ルールを予め記憶し、アクセスポリシ生成手段は、ポリシ生成ルールが含む分類ルールに従って、アクセス検出手段が出力したアクセス情報を分類する分類手段(例えば、分類手段106によって実現される)と、ポリシ生成ルールが含む汎化ルールに従って、分類手段が分類したアクセス情報を汎化する汎化手段(例えば、汎化手段107によって実現される)と、汎化手段が汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成手段(例えば、ポリシ生成手段108によって実現される)とを含むものであってもよい。なお、「汎化」とは、例えば、イベント(アクセスの際に検出したイベント)の集合に基づいて、そのイベントの集合を含むより大きなイベントの集合を算出することをいう。   In the access policy generation system, the policy generation rule storage means includes a classification rule (for example, a classification rule 111) indicating a predetermined classification condition for classifying the access information and a predetermined generalization for generalizing the access information. A policy generation rule including a generalization rule (for example, a generalization rule 112) indicating a generalization condition is stored in advance, and the access policy generation unit outputs the access information output by the access detection unit according to the classification rule included in the policy generation rule. Classification means for classifying (for example, realized by the classification means 106) and generalization means for generalizing the access information classified by the classification means in accordance with the generalization rules included in the policy generation rule (for example, realized by the generalization means 107) Policy that generates an access policy based on the access information generalized by the generalization means. Forming means (for example, implemented by the policy generating unit 108) and may include a. Note that “generalization” refers to, for example, calculating a larger set of events including a set of events based on a set of events (events detected at the time of access).

また、アクセスポリシ生成システムは、リソースへのアクセスを許可する許可ルールを示す許可ポリシにもとづいて行うポリシ強制に用いる、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成システムであって、ポリシ強制の際に、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出手段と、アクセス検出手段が監視対象のプログラムによるリソースへのアクセスの発生を検出すると、監視対象のプログラムに従って実行されている処理の状態を検出する状態検出手段と、アクセス検出手段が出力した複数のアクセス情報を、予め作成されたアクセスポリシの生成条件を示すポリシ生成ルールに含まれる分類ルールに基づいて分類する分類手段と、分類手段が分類したアクセス情報を、ポリシ生成ルールに含まれる汎化ルールに基づいて汎化する汎化手段と、汎化手段が汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成手段とを備え、状態検出手段は、監視対象のプログラムに従って実行されている処理の状態の検出結果を、対応するアクセス情報に付加するものであってもよい。なお、「ポリシ強制」とは、例えば、アクセスポリシに基づいて、リソースへのアクセスを許可するか禁止するか判定し、許可すると判定したアクセスを受け付け、禁止すると判定したアクセスを拒否することである。   In addition, the access policy generation system uses an access policy for restricting a monitored program from accessing a specific resource, which is used for policy enforcement performed based on an authorization policy indicating an authorization rule for permitting access to a resource. An access policy generation system for generating an access detection means for detecting access to a resource by a monitoring target program and outputting access information indicating the content of the detected access when the policy is forced, and an access detection means When the occurrence of access to the resource by the monitoring target program is detected, a state detecting means for detecting the state of processing executed in accordance with the monitoring target program and a plurality of access information output by the access detecting means are created in advance. Policy generation that shows the conditions for generating an access policy Classification means for classifying based on the classification rules included in the rules, generalization means for generalizing the access information classified by the classification means based on the generalization rules included in the policy generation rule, and A policy generation unit that generates an access policy based on the access information that has been converted, and the state detection unit adds the detection result of the state of the process being executed according to the monitored program to the corresponding access information It may be. Note that “policy enforcement” refers to, for example, determining whether to permit or prohibit access to a resource based on an access policy, accepting access determined to be permitted, and rejecting access determined to be prohibited .

また、アクセスポリシ生成システムにおいて、分類手段は、分類ルールとして、複数のアクセス情報から所定の条件に合致するアクセス情報のみを選択する条件を示す選択分類ルールと、所定の条件に合致するアクセス情報同士が同一の集合に属するように、複数のアクセス情報を分割する条件を示す分割分類ルールとを含むポリシ生成ルールに基づいて、アクセス情報を分類するものであってもよい。   Further, in the access policy generation system, the classification means includes, as a classification rule, a selection classification rule indicating a condition for selecting only access information that matches a predetermined condition from a plurality of access information, and access information that matches a predetermined condition. The access information may be classified based on a policy generation rule including a division classification rule that indicates a condition for dividing a plurality of pieces of access information so that they belong to the same set.

また、アクセスポリシ生成システムは、アクセスポリシによって許可されたアクセスが発生したときに状態検出手段が検出した監視対象のプログラムに従って実行されている処理の状態を保存する状態記憶手段(例えば、状態記憶部114によって実現される)を備え、アクセス検出手段は、アクセスポリシに基づいてアクセスを検出する際に、状態検出手段が検出した監視対象のプログラムに従って実行されている処理の状態が、状態記憶手段に格納されている状態と合致するか否かに基づいて、アクセスの検出を行い、ポリシ生成手段は、監視対象のプログラムに従って実行されている処理の状態に合致するか否かに基づいて、アクセスを検出するか否かを指示するアクセスポリシを生成するものであってもよい。   The access policy generation system also stores a status storage unit (for example, a status storage unit) that stores a status of a process that is being executed according to a monitoring target program detected by the status detection unit when an access permitted by the access policy occurs. When the access detecting means detects an access based on the access policy, the state of the processing executed according to the monitored program detected by the state detecting means is stored in the state storing means. Access is detected based on whether or not it matches the stored state, and the policy generation means performs access based on whether or not it matches the state of the process being executed according to the monitored program. An access policy for instructing whether or not to detect may be generated.

また、アクセスポリシ生成システムは、監視対象のプログラムが動作するプラットフォーム(例えば、コンピュータが用いるオペレーティングシステム(例えば、LinuxやWindows))の種類やバージョンを検出し、検出したプラットフォームの種類やバージョンに合致するポリシ生成ルールを取得するポリシ生成ルール取得手段(例えば、ポリシ生成ルール取得手段115によって実現される)を備えたものであってもよい。なお、「ポリシ生成ルールを取得」とは、例えば、アクセスポリシ生成システムを用いたコンピュータ以外のホストから、ポリシ生成ルール110を、ネットワークを介して受信することである。   Further, the access policy generation system detects the type and version of the platform (for example, the operating system (for example, Linux or Windows) used by the computer) on which the program to be monitored operates, and matches the detected platform type and version. A policy generation rule acquisition unit that acquires a policy generation rule (for example, realized by the policy generation rule acquisition unit 115) may be provided. Note that “obtain policy generation rule” means, for example, that the policy generation rule 110 is received via a network from a host other than the computer using the access policy generation system.

本発明によるアクセスポリシ生成方法は、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成方法であって、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出ステップと、アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、アクセス検出ステップで出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成ステップとを含むことを特徴とする。   An access policy generation method according to the present invention is an access policy generation method for generating an access policy for restricting a monitored program from accessing a specific resource, and detects access to a resource by a monitored program. And generating an access policy based on the access information output in the access detection step according to the access detection step for outputting the access information indicating the content of the detected access and the policy generation rule that is the information indicating the generation condition of the access policy. And an access policy generation step.

アクセスポリシ生成方法は、リソースへのアクセスを許可する許可ルールを示す許可ポリシにもとづいて行うポリシ強制に用いる、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成方法であって、ポリシ強制の際に、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出ステップと、アクセス検出ステップで監視対象のプログラムによるリソースへのアクセスの発生を検出すると、監視対象のプログラムに従って実行されている処理の状態を検出し、監視対象のプログラムに従って実行されている処理の状態の検出結果を、対応するアクセス情報に付加する状態検出ステップと、アクセス検出ステップで出力した複数のアクセス情報を、予め作成されたアクセスポリシの生成条件を示すポリシ生成ルールに含まれる分類ルールに基づいて分類する分類ステップと、分類ステップで分類したアクセス情報を、ポリシ生成ルールに含まれる汎化ルールに基づいて汎化する汎化ステップと、汎化ステップで汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成ステップとを含むものであってもよい。   The access policy generation method generates an access policy for restricting a monitored program from accessing a specific resource, which is used for policy enforcement performed based on an authorization policy indicating an authorization rule for permitting access to a resource. An access policy generation method that detects access to a resource by a monitored program when policy is forced, and outputs access information indicating the content of the detected access, and is monitored by the access detection step When the occurrence of access to a resource by a program is detected, the status of the process being executed according to the monitored program is detected, and the detection result of the status of the process being executed according to the monitored program is displayed as the corresponding access information. Status detection step and access A classification step for classifying a plurality of access information output in the output step based on a classification rule included in a policy generation rule indicating a pre-generated access policy generation condition, and a policy generation for the access information classified in the classification step A generalization step that generalizes based on a generalization rule included in the rule, and a policy generation step that generates an access policy based on the access information generalized in the generalization step may be included.

本発明によるアクセスポリシ生成用プログラムは、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するためのアクセスポリシ生成用プログラムであって、コンピュータに、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出処理と、アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成処理とを実行させるためのものである。   An access policy generation program according to the present invention is an access policy generation program for generating an access policy for restricting access of a monitoring target program to a specific resource, and the monitoring target program is stored in the computer. Access based on the output access information according to the access detection process that detects access to the resource by and outputs the access information indicating the content of the detected access, and the policy generation rule that is the information indicating the access policy generation condition This is for executing an access policy generation process for generating a policy.

また、アクセスポリシ生成用プログラムは、リソースへのアクセスを許可する許可ルールを示す許可ポリシにもとづいて行うポリシ強制に用いる、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成用プログラムであって、コンピュータに、ポリシ強制の際に、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出処理と、監視対象のプログラムによるリソースへのアクセスの発生を検出すると、監視対象のプログラムに従って実行されている処理の状態を検出し、監視対象のプログラムに従って実行されている処理の状態の検出結果を、対応するアクセス情報に付加する状態検出処理と、出力した複数のアクセス情報を、予め作成されたアクセスポリシの生成条件を示すポリシ生成ルールに含まれる分類ルールに基づいて分類する分類処理と、分類したアクセス情報を、ポリシ生成ルールに含まれる汎化ルールに基づいて汎化する汎化処理と、汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成処理とを実行させるためののものであってもよい。   The access policy generation program is an access policy for restricting a monitored program from accessing a specific resource, which is used for policy enforcement performed based on an authorization policy indicating an authorization rule for permitting access to a resource. An access policy generating program for generating an access policy that detects access to a resource by a monitored program and outputs access information indicating the content of the detected access when the policy is forced to the computer; When the occurrence of access to the resource by the monitored program is detected, the status of the process being executed according to the monitored program is detected, and the detection result of the status of the process being executed according to the monitored program is handled. State detection processing to be added to the access information to be A classification process for classifying a plurality of access information based on a classification rule included in a policy generation rule indicating an access policy generation condition created in advance, and a generalization included in the policy generation rule for the classified access information A generalization process for generalizing based on the rule and a policy generation process for generating an access policy based on the generalized access information may be executed.

例えば、従来技術3による方法において利用している「プログラム中の同一の場所から呼び出されたリソースアクセスには同一のアクセスポリシが適用可能」という性質は、プログラムのもっている性質の1つに過ぎない。プログラムが悪意をもって書かれていない限り、プログラムが動作するプラットフォーム上における慣習や、プラットフォームの性質等に由来するプログラム間における共通の性質が他にも存在する。   For example, the property that “the same access policy can be applied to resource access called from the same place in the program” used in the method according to the prior art 3 is only one of the properties of the program. . As long as the program is not written maliciously, there are other common properties between programs derived from the conventions on the platform on which the program runs and the nature of the platform.

それら共通の性質の中には、「あるリソースにアクセスした場合には、いずれ別のあるリソースにアクセスする可能性が高い」というリソースアクセスの類推が可能な性質がある。この性質を、「リソースアクセスの共起関係」という。「プログラム中の同一の場所から呼び出されたリソースアクセスには同一のアクセスポリシが適用可能」という性質は、リソースアクセスの共起関係の1つである。   Among these common properties, there is a property that allows an analogy of resource access that “when a certain resource is accessed, there is a high possibility of accessing another certain resource”. This property is called “resource access co-occurrence relationship”. The property that “the same access policy can be applied to resource accesses called from the same place in the program” is one of the co-occurrence relationships of resource access.

リソースアクセスの共起関係は、拡張子が共通であったり、親ディレクトリが共通であったり、リソースアクセス時の内部状態が同じであったりすること以外にも、いくつでも列挙することが可能である。それら複数のリソースアクセスの共起関係を組み合わせて利用することによって、より精度の高いアクセスポリシを生成することができる。   Resource access co-occurrence relationships can be enumerated in addition to common extensions, common parent directories, and the same internal state when accessing resources. . By using the co-occurrence relationships of the plurality of resource accesses in combination, an access policy with higher accuracy can be generated.

例えば、UNIX(登録商標)やLinuxを用いる場合、一時ファイルを「/tmp」ディレクトリ内に書き出すことが多い。このような性質から、UNIX,Linuxプラットフォーム上の慣習に由来した「「/tmp」ディレクトリ内に書き出されたあるファイルには同一のアクセスポリシが適用可能」というリソースアクセスの共起関係を導くことができる。そして、仮に、アクセスポリシ生成中に観測したイベントの数が少なく、例えば「 /tmp/0001.tmpへの書き込み」イベントしか観測できなかった場合であっても、この共起関係を用いることによって、「/tmp/*.tmp」への書き込みを許可してもよいと判断することができる。   For example, when UNIX (registered trademark) or Linux is used, a temporary file is often written in the “/ tmp” directory. Because of these characteristics, the resource access co-occurrence relationship that “the same access policy can be applied to a file written in the“ / tmp ”directory” derived from the convention on the UNIX and Linux platforms is derived. Can do. And if the number of events observed during access policy generation is small, for example, even if only `` write to /tmp/0001.tmp '' event can be observed, by using this co-occurrence relationship, It can be determined that writing to “/tmp/*.tmp” may be permitted.

同様に、UNIX,Linuxを用いる場合に「/etc」内に置かれている設定ファイルや、「/usr/lib」内等に置かれているライブラリファイル、「/var/log」内に置かれているログファイルの間には、慣習に由来したリソースアクセスの共起関係をいくつでも列挙することができる。これらの性質は、OSの種類やバージョン等、プラットフォームには依存するものの、アプリケーションプログラムには依存しないため、どのようなプログラムのアクセスポリシを生成する場合であっても利用することができる。   Similarly, when using UNIX or Linux, the configuration file placed in “/ etc”, the library file placed in “/ usr / lib”, etc., placed in “/ var / log” You can enumerate any number of resource access co-occurrence relationships between custom log files. These properties depend on the platform, such as the type and version of the OS, but do not depend on the application program. Therefore, the access policy of any program can be used.

本発明では、これら監視対象のプログラムに共通したリソースの共起関係を組み合わせて用いることによって、より精度の高いアクセスポリシを生成する。また、従来技術3による方法の課題の1つとして、アクセスポリシ生成中にのみ、リソースアクセス時のプログラムの内部状態を調べてアクセスポリシを生成するため、特に観測したイベントの数が少ないときに十分な許可ポリシを生成できない場合があるという問題がある。本発明の第2の実施の形態では、アクセスポリシ生成中だけでなく、プログラムの動作を監視している状態であっても、リソースアクセス時のプログラムの内部状態を調べる。そして、プログラム動作監視中も内部状態を検出するという監視方法を用いた場合に適したアクセスポリシ生成手段を用意することによって、より誤検知の少ないアクセス制御を実現する。   In the present invention, a higher-accuracy access policy is generated by using a combination of resource co-occurrence relationships common to these programs to be monitored. Also, as one of the problems of the method according to the prior art 3, since the access policy is generated by examining the internal state of the program at the time of accessing the resource only during the generation of the access policy, it is sufficient particularly when the number of observed events is small. There is a problem that it may not be possible to generate a simple authorization policy. In the second embodiment of the present invention, the internal state of the program at the time of resource access is checked not only during the generation of the access policy but also in the state where the operation of the program is monitored. Then, by providing an access policy generation means suitable for using a monitoring method for detecting an internal state even during program operation monitoring, access control with fewer false detections is realized.

本発明によれば、ポリシ生成ルールに従って、アクセス情報に基づいて、アクセスポリシを生成する。すなわち、単に所定期間のアクセスの観測結果のみに基づいてアクセスポリシを生成するのでなく、個々のプログラムに依存しないイベントの共起関係に基づくポリシ生成ルールに従って、アクセスポリシを生成する。従って、アクセスポリシの生成を自動化し、アクセスポリシ作成の手間を可能な限り軽減することができる。また、精度の高いアクセスポリシを生成し、人手による修正の手間をできるだけ軽減することができる。   According to the present invention, an access policy is generated based on access information according to a policy generation rule. That is, the access policy is not generated based on only the observation result of the access during the predetermined period, but is generated according to the policy generation rule based on the co-occurrence relationship of events not depending on each program. Therefore, it is possible to automate the generation of the access policy and reduce the trouble of creating the access policy as much as possible. In addition, it is possible to generate an access policy with high accuracy and reduce manual labor as much as possible.

また、本発明において、分類ルールと汎化ルールとを含むポリシ生成ルールに従って、アクセス情報を分類し汎化する処理を順に実行するように構成すれば、誤検知の点においても検知漏れの点においても、より精度の高いアクセスポリシを生成することができる。   Further, in the present invention, if the processing for classifying and generalizing the access information is executed in order according to the policy generation rule including the classification rule and the generalization rule, in terms of false detection and detection failure. However, it is possible to generate an access policy with higher accuracy.

また、本発明において、監視対象のプログラムに従って実行されている処理の状態を保存する状態記憶手段を備え、検出した処理の状態が状態記憶手段に格納されている状態と合致するか否かに基づいてアクセスの検出を行うように構成すれば、検出した状態を考慮しながらアクセス可否の判定を行うことができる。従って、観測したアクセスのイベントの数が足りなかったり、十分な汎化ができない場合であっても、より正確にアクセス可否の判定を行うことができる。   Further, in the present invention, a state storage unit that saves a state of a process being executed according to a program to be monitored is provided, and based on whether or not the detected state of the process matches a state stored in the state storage unit. Thus, it is possible to determine whether or not access is possible while taking into account the detected state. Therefore, even when the number of observed access events is insufficient or sufficient generalization cannot be performed, it is possible to more accurately determine whether access is possible.

また、本発明において、プラットフォームの種類やバージョンに合致するポリシ生成ルールを取得するように構成すれば、プラットフォームに適したポリシ生成ルールに従って、アクセスポリシを生成することができる。そのため、オペレーティングシステム(OS)のバージョンが更新された場合であっても、最適なアクセスポリシを生成することができる。   In the present invention, if a policy generation rule that matches the type and version of the platform is acquired, the access policy can be generated according to the policy generation rule suitable for the platform. Therefore, an optimal access policy can be generated even when the version of the operating system (OS) is updated.

実施の形態1.
以下、本発明の第1の実施の形態について図面を参照して説明する。図1は、本発明によるアクセスポリシ生成システムを用いた(稼動する)システム100の構成の例を示すブロック図である。なお、本実施の形態において、アクセスポリシ生成システムは、例えば、一般のオペレーティングシステム(OS)のファイルアクセス権限設定や、セキュアOSのアクセス権限設定、アクセス制御ミドルウェアのポリシ設定等を行うシステムに適用できる。また、アクセスポリシ生成システムは、ホストベース不正侵入検知システムやホストベース不正侵入防止システムのポリシ設定、サンドボックスモデルをもつバーチャルマシンのポリシ設定等を行うシステムに適用できる。
Embodiment 1 FIG.
Hereinafter, a first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an example of the configuration of a system 100 using (operating) an access policy generation system according to the present invention. In this embodiment, the access policy generation system can be applied to, for example, a system that performs file access authority setting of a general operating system (OS), access authority setting of a secure OS, policy setting of access control middleware, and the like. . The access policy generation system can be applied to a system that performs policy setting for a host-based unauthorized intrusion detection system or host-based unauthorized intrusion prevention system, policy settings for a virtual machine having a sandbox model, and the like.

図1に示すように、アクセスポリシ生成システムを用いたシステム(例えば、情報処理システム)100は、例えば、プログラム制御により動作するコンピュータ(中央処理装置やプロセッサ、データ処理装置)によって実現される。また、システム100は、例えば、ワークステーションやパーソナルコンピュータ等の情報処理装置によって実現される。また、図1に示すように、システム100は、各種の情報を入力する入力装置120が接続される。なお、システム100は、入力装置120を含んでいてもよい。また、入力装置120は、具体的には、キーボードやマウス等の入力機器によって実現される。   As shown in FIG. 1, a system (for example, an information processing system) 100 using an access policy generation system is realized by, for example, a computer (central processing unit, processor, or data processing device) that operates under program control. The system 100 is realized by an information processing apparatus such as a workstation or a personal computer. As shown in FIG. 1, the system 100 is connected to an input device 120 for inputting various types of information. Note that the system 100 may include an input device 120. The input device 120 is specifically realized by an input device such as a keyboard and a mouse.

図1に示すように、システム100は、対象プログラム101と、アクセス監査手段102と、リソース103と、状態観測手段113と、アクセスログ記憶部105と、ポリシ生成ルール記憶部109と、分類手段106と、汎化手段107と、ポリシ生成手段108と、ポリシ記憶部104とを含む。また、図1に示すように、ポリシ生成ルール記憶部109は、分類ルール111と汎化ルール112とを含むポリシ生成ルール110を予め複数格納する。すなわち、ポリシ生成ルール記憶部109は、個々のプログラムに依存しないイベントの共起関係に基づくポリシ生成ルール110を、分類ルール111と汎化ルール112との組という形式で予め記憶している。   As shown in FIG. 1, the system 100 includes a target program 101, an access audit unit 102, a resource 103, a state observation unit 113, an access log storage unit 105, a policy generation rule storage unit 109, and a classification unit 106. A generalization unit 107, a policy generation unit 108, and a policy storage unit 104. Further, as shown in FIG. 1, the policy generation rule storage unit 109 stores a plurality of policy generation rules 110 including a classification rule 111 and a generalization rule 112 in advance. That is, the policy generation rule storage unit 109 stores in advance a policy generation rule 110 based on a co-occurrence relationship of events that does not depend on individual programs in the form of a set of a classification rule 111 and a generalization rule 112.

対象プログラム101は、システム100上で動作するプログラムであって、アクセス監視の対象となるプログラムである。例えば、対象プログラム101は、WWWサーバやワードプロセッサ等の各種アプリケーションソフトウェアである。   The target program 101 is a program that operates on the system 100 and is a target of access monitoring. For example, the target program 101 is various application software such as a WWW server and a word processor.

アクセス監査手段102は、具体的には、プログラムに従って動作するコンピュータによって実現される。アクセス監査手段102は、対象プログラム101が特定のリソース103にアクセスすることを制限するためのアクセスポリシに従って、対象プログラム101が行う各種アクセス(例えば、ファイルへのアクセス)を監視する機能を備える。この場合、アクセス監査手段102は、アクセスポリシの許可ポリシに示される条件に従って(例えば、条件が合致すると)、対象プログラム101が行うアクセスを許可する。また、アクセス監査手段102は、アクセスポリシの禁止ポリシに示される条件に従って(例えば、条件が合致すると)、対象プログラム101が行うアクセスを禁止する。   Specifically, the access auditing unit 102 is realized by a computer that operates according to a program. The access audit unit 102 has a function of monitoring various accesses (for example, access to a file) performed by the target program 101 in accordance with an access policy for restricting the target program 101 from accessing a specific resource 103. In this case, the access auditing unit 102 permits access performed by the target program 101 in accordance with the conditions indicated in the access policy permission policy (for example, when the conditions are met). Further, the access auditing unit 102 prohibits access performed by the target program 101 in accordance with the conditions indicated in the access policy prohibition policy (for example, when the conditions are met).

本実施の形態では、アクセス監査手段102は、「監査モード」及び「ルール生成モード」のうちいずれか一方のモードで動作する。本実施の形態では、アクセス監査手段102を「監査モード」と「ルール生成モード」とのいずれのモードで動作させるかの設定は、入力装置110からのユーザ入力によって行われる。例えば、アクセス監査手段102は、予めユーザ入力によって設定された設定情報に従って、「監査モード」又は「ルール生成モード」のいずれかのモードを選択する。そして、アクセス監査手段102は、選択した動作モードに従って処理を実行する。   In the present embodiment, the access auditing means 102 operates in one of the “audit mode” and “rule generation mode”. In the present embodiment, the setting of whether the access auditing unit 102 is operated in the “audit mode” or the “rule generation mode” is performed by user input from the input device 110. For example, the access auditing unit 102 selects either “audit mode” or “rule generation mode” in accordance with setting information set in advance by user input. Then, the access audit means 102 executes processing according to the selected operation mode.

「監査モード」で動作する場合、アクセス監査手段102は、対象プログラム101からリソース103へのアクセスを監視する。この場合、アクセス監査手段102は、ポリシ記憶部104に格納されたアクセスポリシに基づいてポリシ強制を行う。   When operating in the “audit mode”, the access audit unit 102 monitors access from the target program 101 to the resource 103. In this case, the access auditing unit 102 enforces policy based on the access policy stored in the policy storage unit 104.

「ポリシ強制」とは、ポリシ記憶部104に格納されているアクセスポリシに基づいて、リソースへのアクセスを許可するか禁止するか判定し、許可すると判定したアクセスを受け付け、禁止すると判定したアクセスを拒否する処理である。   “Policy enforcement” refers to determining whether to permit or prohibit access to a resource based on the access policy stored in the policy storage unit 104, accepting access that is determined to be permitted, and access determined to be prohibited It is a process to refuse.

なお「アクセス」とは、対象プログラム101に基づく基盤プログラムに対する命令であって、システムリソース103に対する各種操作のための操作命令である。また、本実施の形態では、「アクセス」を、システムリソース103に対する各種操作の意味で用いることもある。例えば、基盤プログラムがオペレーティングシステム(OS)である場合、ファイル読み出しや、ファイル書き込み、通信ネットワークへのデータ送信、通信ネットワークからのデータ受信等を行うためのシステムコールが「アクセス」となる。なお、ファイルの入出力やデータ送受信以外の他のシステムコールを「アクセス」に含めてもよい。例えば、プロセス実行や、ヒープメモリ確保等を行うためのシステムコールを「アクセス」に含めてもよい。   Note that “access” is an instruction for a base program based on the target program 101 and is an operation instruction for various operations on the system resource 103. In the present embodiment, “access” may be used to mean various operations on the system resource 103. For example, when the base program is an operating system (OS), a system call for performing file reading, file writing, data transmission to the communication network, data reception from the communication network, and the like is “access”. Other system calls other than file input / output and data transmission / reception may be included in “access”. For example, a system call for executing a process, securing a heap memory, or the like may be included in “access”.

また、例えば、基盤プログラムがJavaVM(Java Virtual Machine、Javaは登録商標)の場合、オブジェクト作成や、他のオブジェクトのメソッド呼び出し等のJavaVMに対するAPI(Application Programming Interface )呼び出し全般が「アクセス」となる。   Further, for example, when the base program is JavaVM (Java Virtual Machine, Java is a registered trademark), API (Application Programming Interface) calls for JavaVM such as object creation and method call of other objects are “access”.

「ルール生成モード」で動作する場合、アクセス監査手段102は、対象プログラム101からリソース103へのアクセスを監視するが、ポリシ強制を行わずに、検知したアクセスの内容(アクセス情報)をアクセスログ記憶部105に格納する処理を行う。同時に、状態観測手段113は、対象プログラム101に基づく処理を行う制御手段(例えば、コンピュータ)の内部状態(例えば、制御手段が備えるスタックの内容やレジスタの内容、ヒープメモリの内容)を調べる(検出する)。そして、状態観測手段113は、アクセス監査手段102によって検知されたアクセス情報に、検出した制御手段の内部状態を加えた情報を、アクセスログ記憶部105に格納する。   When operating in the “rule generation mode”, the access audit unit 102 monitors the access from the target program 101 to the resource 103, but stores the detected access contents (access information) in the access log without performing policy enforcement. Processing to be stored in the unit 105 is performed. At the same time, the state observing unit 113 checks (detects the internal state of the control unit (for example, the computer) that performs processing based on the target program 101 (for example, the contents of the stack, the register, and the heap memory included in the control unit). To do). Then, the state observation unit 113 stores information obtained by adding the detected internal state of the control unit to the access information detected by the access audit unit 102 in the access log storage unit 105.

なお、状態観測手段113は、具体的には、プログラムに従って動作するコンピュータによって実現される。状態観測手段113は、アクセス監査手段102が対象プログラム101によるリソース103へのアクセスの発生を検出した際に、制御手段の内部状態として、対象プログラム101に従って実行されている処理の状態を検出する機能を備える。。また、状態観測手段113は、検出した制御手段の内部状態を、アクセス監査手段102が出力するアクセス情報に付加する機能を備える。   The state observing means 113 is specifically realized by a computer that operates according to a program. The state observation unit 113 has a function of detecting the state of a process being executed according to the target program 101 as the internal state of the control unit when the access audit unit 102 detects the occurrence of access to the resource 103 by the target program 101. Is provided. . Further, the state observation unit 113 has a function of adding the detected internal state of the control unit to the access information output by the access audit unit 102.

ここで、アクセスログ記憶部105に保存する情報に加えられた内部状態は、制御手段の内部状態の一部のみとするのが好ましい。なぜなら、一般に、制御手段の内部状態を示すデータ量は大きく、全ての内部状態を示す情報を保存するようにすると、メモリ利用効率上問題が生じる(例えば、メモリ容量が不足してしまう)おそれがあるためである。従って、例えば、制御手段の内部状態のうち、スタックの内容や、コールスタック(特に、スタックの中でも、プロシージャ呼び出しの履歴を格納する部分)のみを保存するようにすればよい。なお、状態観測手段113が検出する制御手段の内部状態を示す情報を内部状態情報ともいう。   Here, it is preferable that the internal state added to the information stored in the access log storage unit 105 is only a part of the internal state of the control means. This is because, in general, the amount of data indicating the internal state of the control means is large, and if information indicating all internal states is stored, a problem may occur in memory utilization efficiency (for example, the memory capacity may be insufficient). Because there is. Therefore, for example, only the contents of the stack and the call stack (particularly, the part storing the history of procedure calls in the stack) of the internal state of the control means may be saved. Information indicating the internal state of the control means detected by the state observation means 113 is also referred to as internal state information.

リソース103は、例えば、アクセス対象のファイルやデータを管理するファイルシステムである。また、リソース103は、例えば、アクセス対象のファイルやデータである。リソース103は、例えば、磁気ディスク装置等の記憶装置に予め蓄積される。なお、図1では、1つのリソース103を示しているが、システム100の記憶装置は、予め複数のリソース103を蓄積してもよい。   The resource 103 is, for example, a file system that manages files and data to be accessed. The resource 103 is, for example, a file or data to be accessed. The resource 103 is stored in advance in a storage device such as a magnetic disk device, for example. In FIG. 1, one resource 103 is shown, but the storage device of the system 100 may store a plurality of resources 103 in advance.

ポリシ記憶部104は、具体的には、磁気ディスク装置等の記憶装置によって実現される。ポリシ記憶部104は、アクセス監査手段102がアクセス監視に用いるアクセスポリシを記憶する。   Specifically, the policy storage unit 104 is realized by a storage device such as a magnetic disk device. The policy storage unit 104 stores an access policy used by the access auditing unit 102 for access monitoring.

アクセスログ記憶部105は、具体的には、磁気ディスク装置等の記憶装置によって実現される。アクセスログ記憶部105は、アクセス監査手段102によって検知されたアクセス情報(対象プログラム101によるアクセスに基づくアクセス情報)を、一時的に記憶する。また、アクセスログ記憶部105は、状態観測手段113によって検知された内部状態を示す情報(対象プログラム101によるアクセス時の内部状態情報)を、一時的に記憶する。なお、本実施の形態では、アクセスログ記憶部105は、内部状態情報を付加されたアクセス情報を記憶する。   Specifically, the access log storage unit 105 is realized by a storage device such as a magnetic disk device. The access log storage unit 105 temporarily stores the access information detected by the access audit unit 102 (access information based on access by the target program 101). The access log storage unit 105 temporarily stores information indicating the internal state detected by the state observation unit 113 (internal state information at the time of access by the target program 101). In the present embodiment, the access log storage unit 105 stores access information to which internal state information is added.

なお、アクセス情報は、アクセスの種類とアクセスの対象とを含む情報である。本実施の形態では、アクセスログ記憶部105に格納されているこれらアクセス情報や内部状態情報を、まとめてアクセスログという。アクセスログ記憶部105には、アクセスログとして、1回のリソースアクセスに対して、1つのアクセス情報と1つの内部状態情報とが保存される。また、このアクセス情報と内部状態情報との組をイベントという。   The access information is information including the type of access and the access target. In the present embodiment, these access information and internal state information stored in the access log storage unit 105 are collectively referred to as an access log. In the access log storage unit 105, one access information and one internal state information are stored as an access log for one resource access. A set of access information and internal state information is called an event.

分類手段106は、具体的には、プログラムに従って動作するコンピュータによって実現される。分類手段106は、アクセスログ記憶部105に格納されたイベントの集合から、ポリシ生成ルール110に含まれる(記述された)分類ルール111の内容に従って、1つ又は複数の部分集合を抽出する処理を実行する機能を備える。本実施の形態では、図1に示すように、ポリシ生成ルール記憶部109は、アクセス情報を分類するための所定の分類条件を示す分類ルール111を含むポリシ生成ルール110を予め記憶している。そして、分類手段106は、ポリシ生成ルール110に含まれる分類ルール111に従って、アクセス監査手段102が出力したアクセス情報を分類する処理を行う。   Specifically, the classifying means 106 is realized by a computer that operates according to a program. The classification means 106 performs processing for extracting one or a plurality of subsets from the set of events stored in the access log storage unit 105 according to the contents of the classification rule 111 included (described) in the policy generation rule 110. It has a function to execute. In the present embodiment, as shown in FIG. 1, the policy generation rule storage unit 109 stores in advance a policy generation rule 110 including a classification rule 111 indicating a predetermined classification condition for classifying access information. Then, the classification unit 106 performs processing for classifying the access information output by the access audit unit 102 according to the classification rule 111 included in the policy generation rule 110.

汎化手段107は、具体的には、プログラムに従って動作するコンピュータによって実現される。汎化手段107は、分類手段106によって抽出されたイベントの集合に基づいて、ポリシ生成ルール110に含まれる(記述された)汎化ルール112の内容に従って、イベントの汎化を行う処理を実行する機能を備える。本実施の形態では、図1に示すように、ポリシ生成ルール記憶部109は、アクセス情報(アクセス情報に示されるイベント)を汎化するための所定の汎化条件を示す汎化ルール112を含むポリシ生成ルール110を予め記憶している。そして、汎化手段107は、ポリシ生成ルール110に含まれる汎化ルール112に従って、分類手段106が分類したアクセス情報を汎化する処理を行う。   Specifically, the generalization unit 107 is realized by a computer that operates according to a program. Based on the set of events extracted by the classifying unit 106, the generalizing unit 107 executes a process of generalizing the event according to the contents of the generalization rule 112 included (described) in the policy generation rule 110. It has a function. In the present embodiment, as shown in FIG. 1, the policy generation rule storage unit 109 includes a generalization rule 112 indicating a predetermined generalization condition for generalizing access information (an event indicated in the access information). Policy generation rules 110 are stored in advance. Then, the generalization unit 107 performs a process of generalizing the access information classified by the classification unit 106 in accordance with the generalization rule 112 included in the policy generation rule 110.

ここで、イベントの汎化とは、イベントの集合に基づいて、そのイベントの集合を含むより大きなイベントの集合を算出する処理をいう。例えば、イベントの汎化は、「read /tmp/01.tmp」,「read /tmp/02.tmp」,「read /tmp/03.tmp」から成るイベントの集合がある場合、このイベントの集合に基づいて、 「read/tmp/*.tmp」というイベントの集合を算出することである。なお、ここで、「/tmp/*.tmp」に含まれる「* 」は、ワイルドカード又はGLOBと呼ばれる記法であり、0個以上の文字の並び(ただし、「/ 」を含まない)を意味する。「read/tmp/*.tmp」によって表されるイベントは無数に存在するので、汎化手段107は、この汎化処理を実行することによって、3つの元のイベントから成るイベントの集合から、その3つのイベントを含むある無限集合を算出する処理を実行したことになる。   Here, event generalization refers to a process of calculating a larger set of events including the set of events based on the set of events. For example, if there is a set of events consisting of "read /tmp/01.tmp", "read /tmp/02.tmp", "read /tmp/03.tmp" Based on, the event set “read / tmp / *. Tmp” is calculated. Here, “*” included in “/tmp/*.tmp” is a notation called a wild card or GLOB, and means a sequence of zero or more characters (but not including “/”). To do. Since there are an infinite number of events represented by “read / tmp / *. Tmp”, the generalization means 107 executes the generalization process, and from the set of events including the three original events, This means that a process for calculating an infinite set including three events has been executed.

また、「read /etc/hosts.conf」から成るイベントの集合から、「read /etc/hosts.conf」,「read /etc/hosts」から成るイベントの集合を算出する処理も汎化処理の一例である。汎化手段107は、この汎化処理を実行することによって、1つの元のイベントから成るイベントの集合から、2つの元のイベントから成る集合を算出する処理を実行したことになる。   Another example of generalization is the process of calculating a set of events consisting of "read /etc/hosts.conf" and "read / etc / hosts" from a set of events consisting of "read /etc/hosts.conf" It is. By executing this generalization process, the generalization unit 107 executes a process of calculating a set of two original events from a set of events of one original event.

ポリシ生成手段108は、具体的には、プログラムに従って動作するコンピュータによって実現される。ポリシ生成手段108は、汎化手段107が汎化したアクセス情報に基づいて、アクセスポリシを生成する機能を備える。本実施の形態では、ポリシ生成手段108は、汎化手段112によって生成されたイベントの集合を、アクセス監査手段102が解釈可能な形式(データ形式)に変換し、アクセスポリシを生成する。また、ポリシ生成手段108は、生成したアクセスポリシをポリシ記憶部104に格納する処理を行う。   Specifically, the policy generation unit 108 is realized by a computer that operates according to a program. The policy generation unit 108 has a function of generating an access policy based on the access information generalized by the generalization unit 107. In the present embodiment, the policy generation unit 108 converts the set of events generated by the generalization unit 112 into a format (data format) that can be interpreted by the access auditing unit 102, and generates an access policy. Further, the policy generation unit 108 performs processing for storing the generated access policy in the policy storage unit 104.

なお、システム100が「監査モード」で動作している場合、アクセスポリシの生成のための動作は行われず、アクセス監査手段102は、アクセスログ記憶部105に対してイベントを一切出力しない(すなわち、アクセスログ記憶部105にイベントを記憶させない)。そのため、「監査モード」で動作している場合、状態観測手段113、分類手段106、汎化手段107及びポリシ生成手段108は、何ら動作を行わないことになる。   When the system 100 is operating in the “audit mode”, the operation for generating the access policy is not performed, and the access audit unit 102 does not output any event to the access log storage unit 105 (that is, The event is not stored in the access log storage unit 105). Therefore, when operating in the “audit mode”, the state observation unit 113, the classification unit 106, the generalization unit 107, and the policy generation unit 108 do not perform any operation.

また、本実施の形態において、アクセスポリシ生成手段は、分類手段106、汎化手段107及びポリシ生成手段108によって実現される。また、分類手段106、汎化手段107及びポリシ生成手段108が上記に示す動作を行うことによって、アクセスポリシ生成手段は、ポリシ生成ルール110に従って、アクセス監査手段102が出力したアクセス情報に基づいて、アクセスポリシを生成する。   In the present embodiment, the access policy generation means is realized by the classification means 106, the generalization means 107, and the policy generation means 108. In addition, the classification unit 106, the generalization unit 107, and the policy generation unit 108 perform the operations described above, so that the access policy generation unit is based on the access information output by the access audit unit 102 according to the policy generation rule 110. Generate an access policy.

ポリシ生成ルール記憶部109は、具体的には、磁気ディスク装置等の記憶装置によって実現される。ポリシ生成ルール記憶部109は、アクセスポリシを生成する際の生成ルールを含むポリシ生成ルール110を、予め複数記憶する。また、ポリシ生成ルール110は、分類ルール111と汎化ルール112とを含む。分類ルール111は、分類手段106がイベントの集合から1つ又は複数の部分集合を抽出する際の抽出ルールである。また、汎化ルール112は、汎化手段107がイベントの集合に基づいてイベントの汎化を行う際の汎化ルールである。   Specifically, the policy generation rule storage unit 109 is realized by a storage device such as a magnetic disk device. The policy generation rule storage unit 109 stores in advance a plurality of policy generation rules 110 including generation rules for generating an access policy. The policy generation rule 110 includes a classification rule 111 and a generalization rule 112. The classification rule 111 is an extraction rule when the classification unit 106 extracts one or a plurality of subsets from a set of events. The generalization rule 112 is a generalization rule used when the generalization unit 107 generalizes an event based on a set of events.

なお、本実施の形態において、アクセスポリシ生成システムは、システム100が備える各手段のうち、例えば、アクセス監査手段102、ポリシ記憶部104、アクセスログ記憶部105、分類手段106、汎化手段107、ポリシ生成手段108、ポリシ生成ルール記憶部109及び状態観測手段113によって実現される。   In this embodiment, the access policy generation system includes, for example, an access audit unit 102, a policy storage unit 104, an access log storage unit 105, a classification unit 106, a generalization unit 107, among the units included in the system 100. This is realized by the policy generation unit 108, the policy generation rule storage unit 109, and the state observation unit 113.

また、本実施の形態において、システム100の記憶装置は、アクセスポリシを生成するための各種プログラムを記憶している。例えば、システム100の記憶装置は、コンピュータに、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出処理と、アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成処理とを実行させるためのアクセスポリシ生成用プログラムを記憶している。   In the present embodiment, the storage device of the system 100 stores various programs for generating an access policy. For example, the storage device of the system 100 detects access to a resource by a monitored program and outputs access information indicating the content of the detected access to the computer, and information indicating access policy generation conditions In accordance with the policy generation rule, an access policy generation program for executing an access policy generation process for generating an access policy based on the output access information is stored.

次に、動作について説明する。なお、本実施の形態では、ルール生成モードが設定されている場合のシステム100の動作について説明する。図2は、ルール生成モードが設定されている場合に、アクセスポリシ生成システムを用いたシステム100が実行するアクセスポリシ生成処理の一例を示すフローチャートである。   Next, the operation will be described. In the present embodiment, the operation of the system 100 when the rule generation mode is set will be described. FIG. 2 is a flowchart illustrating an example of an access policy generation process executed by the system 100 using the access policy generation system when the rule generation mode is set.

アクセスポリシ生成処理において、アクセス監査手段102は、対象プログラム101からのリソースアクセスを監視している。また、アクセス監査手段102は、アクセスが発生する毎に、アクセスの種類とアクセスの対象とを含むアクセス情報を抽出している。また、状態観測手段113は、アクセスが生じた時点における対象プログラム101の内部状態を取得する。例えば、対象プログラム101からのリソースアクセスが発生すると、状態観測手段113は、制御手段(例えば、コンピュータ)の内部状態を検出する。また、状態観測手段113は、検出した内部状態情報と、アクセス監査手段102が検出したアクセス情報とをイベントとしてまとめて、アクセスログとしてアクセスログ記憶部105に格納する(ステップS101)。   In the access policy generation process, the access audit unit 102 monitors resource access from the target program 101. Further, the access auditing unit 102 extracts access information including the type of access and the access target every time an access occurs. In addition, the state observation unit 113 acquires the internal state of the target program 101 at the time when the access occurs. For example, when resource access from the target program 101 occurs, the state observation unit 113 detects the internal state of the control unit (for example, a computer). The state observing unit 113 collects the detected internal state information and the access information detected by the access auditing unit 102 as events, and stores them as an access log in the access log storage unit 105 (step S101).

また、アクセス監査手段102は、所定の監視終了条件が成立したか否かを判断する(ステップS102)。監視終了条件が成立しないと判断すると、アクセス監査手段102は、ステップS101に戻り、ステップS101,S102の処理を繰り返し実行する。すなわち、アクセスの監視が所定の監視終了条件が成立するまで継続して実行され、監視中にアクセスが発生すると、ステップS101の処理が実行される。   Further, the access auditing unit 102 determines whether or not a predetermined monitoring end condition is satisfied (step S102). If it is determined that the monitoring end condition is not satisfied, the access auditing unit 102 returns to step S101 and repeatedly executes the processes of steps S101 and S102. That is, access monitoring is continuously executed until a predetermined monitoring end condition is satisfied. When an access occurs during monitoring, the process of step S101 is executed.

監視終了条件は、アクセス監査手段102によるアクセス監視を終了する条件である。例えば、対象プログラム101に基づく処理が終了したことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、ルール生成モードの終了が入力装置110から指定された(ユーザによって指示入力された)ことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、所定期間が経過したことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、所定個数のアクセス情報がアクセスログ記憶部105に格納されたことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、上記に示したいずれかの任意の条件の組合せが成立すると、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了してもよい。   The monitoring end condition is a condition for ending access monitoring by the access audit unit 102. For example, on the condition that the processing based on the target program 101 is completed, the monitoring end condition is satisfied, and the access auditing unit 102 ends the access monitoring. Further, for example, on the condition that the end of the rule generation mode is specified from the input device 110 (instructed by the user), the monitoring end condition is satisfied, and the access auditing unit 102 ends the access monitoring. Further, for example, on the condition that a predetermined period has elapsed, the monitoring end condition is satisfied, and the access auditing unit 102 ends the access monitoring. Further, for example, on condition that a predetermined number of pieces of access information are stored in the access log storage unit 105, the monitoring end condition is satisfied, and the access auditing unit 102 ends the access monitoring. Further, for example, when any combination of the above conditions is satisfied, the monitoring end condition is satisfied, and the access auditing unit 102 may end the access monitoring.

なお、この実施の形態において、監視終了条件は予め定められているものとする。例えば、アクセス監査手段102は、予め監視終了条件を定めた設定情報に基づいて、ステップS102において監視終了条件が成立したか否かを判断する。   In this embodiment, it is assumed that the monitoring end condition is predetermined. For example, the access auditing unit 102 determines whether or not the monitoring end condition is satisfied in step S <b> 102 based on setting information in which the monitoring end condition is set in advance.

ステップS102で監視終了条件が成立すると判断すると、アクセス監査手段102は、アクセス監視を終了する。アクセス監視を終了すると、システム100は、ポリシ生成ルール記憶部109に格納されているポリシ生成ルールを読み込む(ステップS103)。また、システム100の分類手段106は、ポリシ生成ルールに含まれる(記述された)分類ルール111の内容に従って、アクセスログ記憶部105に格納されているイベントを分類する分類処理を実行する(ステップS104)。   If it is determined in step S102 that the monitoring end condition is satisfied, the access auditing unit 102 ends the access monitoring. When the access monitoring is completed, the system 100 reads the policy generation rule stored in the policy generation rule storage unit 109 (step S103). Further, the classification means 106 of the system 100 executes a classification process for classifying the events stored in the access log storage unit 105 in accordance with the contents of the classification rule 111 included (described) in the policy generation rule (step S104). ).

また、汎化手段107は、分類手段106よって抽出された1つ又は複数のイベントの集合について、ポリシ生成ルールに含まれる(記述された)汎化ルール112の内容に従って、汎化処理を実行する(ステップS105)。システム100は、ポリシ生成ルール記憶部109が格納する全てのポリシ生成ルール110について処理を終了したか否かを判断する(ステップS106)。全てのポリシ生成ルール110について処理を終了していないと判断すると、システム100は、ステップS103に戻り、ステップS103〜S106の処理を繰り返し実行する。すなわち、システム100は、ステップS103,S104,S105の一連の処理を、ポリシ生成ルール記憶部109に格納されている全てのポリシ生成ルール110に対して順に行う。   Further, the generalization unit 107 performs a generalization process on the set of one or more events extracted by the classification unit 106 according to the contents of the generalization rule 112 included (described) in the policy generation rule. (Step S105). The system 100 determines whether or not the processing has been completed for all policy generation rules 110 stored in the policy generation rule storage unit 109 (step S106). If it is determined that the processing has not been completed for all policy generation rules 110, the system 100 returns to step S103 and repeatedly executes the processing of steps S103 to S106. That is, the system 100 sequentially performs a series of processes of steps S103, S104, and S105 on all policy generation rules 110 stored in the policy generation rule storage unit 109.

全てのポリシ生成ルール110について処理を終了したと判断すると、ポリシ生成手段108は、汎化手段107によって生成されたイベントの集合に基づいて、アクセスポリシを生成する(ステップS107)。そして、ポリシ生成手段108は、生成したアクセスポリシをポリシ記憶部104に格納する。   When it is determined that the processing has been completed for all policy generation rules 110, the policy generation unit 108 generates an access policy based on the set of events generated by the generalization unit 107 (step S107). Then, the policy generation unit 108 stores the generated access policy in the policy storage unit 104.

次に、分類手段106の動作について説明する。図3は、分類手段106がアクセスログ記憶部105に格納される各イベントを分類する分類処理(図2のステップS104)の一例を示すフローチャートである。   Next, the operation of the classification unit 106 will be described. FIG. 3 is a flowchart showing an example of the classification process (step S104 in FIG. 2) in which the classification unit 106 classifies each event stored in the access log storage unit 105.

まず、分類手段106が分類処理に用いる分類ルール111について説明する。本実施の形態において、分類ルール111には、「選択分類ルール」と「分割分類ルール」との2種類が存在する。「選択分類ルール」は、イベントの集合から1つの部分集合を抽出する条件を示す情報である。また、部分集合を抽出する条件とは、抽出された部分集合に属するイベントが満たすべき条件である。   First, the classification rule 111 used by the classification means 106 for classification processing will be described. In the present embodiment, there are two types of classification rules 111: “selected classification rules” and “divided classification rules”. “Selection classification rule” is information indicating a condition for extracting one subset from a set of events. The condition for extracting a subset is a condition that should be satisfied by an event belonging to the extracted subset.

「分割分類ルール」は、イベントの集合を複数の部分集合に分割するための条件を示す情報である。また、複数の部分集合に分割するための条件とは、イベントのどの属性が同一の値と見なされた場合に同じ部分集合に属するかを示す条件である。ただし、部分集合に含まれるイベントが1つしかない場合には除外される。   “Division classification rule” is information indicating a condition for dividing a set of events into a plurality of subsets. The condition for dividing into a plurality of subsets is a condition indicating which attributes of the event belong to the same subset when they are regarded as the same value. However, it is excluded when there is only one event included in the subset.

また、分類ルール111は、その分割ルール111に従ってイベントを処理した後に、抽出したイベントをアクセスログ記憶部105から削除するか否かを指定するフラグ(削除フラグという)を含む。例えば、分類手段106は、分類ルール111の削除フラグにおいてイベントを削除する旨が設定されている場合、イベントを処理すると、その処理したイベントをアクセスログ記憶部105から削除する。   Further, the classification rule 111 includes a flag (deletion flag) that specifies whether or not to delete the extracted event from the access log storage unit 105 after processing the event according to the division rule 111. For example, when it is set to delete an event in the deletion flag of the classification rule 111, the classification unit 106 deletes the processed event from the access log storage unit 105 when the event is processed.

分類処理において、分類手段106は、まず、ステップS103で読み込んだ分類ルール111が選択分類ルールでであるか否かを判定する(ステップS201)。すなわち、分類手段106は、分類ルール111が選択分類ルールであるか分割分類ルールであるかを判定する。   In the classification process, the classification unit 106 first determines whether or not the classification rule 111 read in step S103 is a selection classification rule (step S201). That is, the classification unit 106 determines whether the classification rule 111 is a selection classification rule or a division classification rule.

読み込んだ分類ルール111が選択分類ルールであると判定すると、分類手段106は、アクセスログ記憶部105に格納されているイベントの集合から、選択分類ルールに指定された条件に合致するイベントを抽出する(ステップS202)。そして、分類手段106は、分類ルール111のイベント削除フラグでイベントを削除する旨が指定されていれば、抽出したイベントをアクセスログ記憶部105から削除する(ステップ205)。また、分類手段206は、抽出したイベントを汎化手段107に渡す。   If it is determined that the read classification rule 111 is a selection classification rule, the classification unit 106 extracts an event that matches the condition specified in the selection classification rule from the set of events stored in the access log storage unit 105. (Step S202). If the event deletion flag of the classification rule 111 specifies that the event is to be deleted, the classification unit 106 deletes the extracted event from the access log storage unit 105 (step 205). Further, the classification unit 206 passes the extracted event to the generalization unit 107.

読み込んだ分類ルール111が分割分類ルールであると判定すると、分類手段106は、アクセスログ記憶部105に格納されているイベントの集合を、分割分類ルールに指定された条件に合致する属性が同一の値をもつイベント集合に分割する。そして、分類手段106は、分割後に要素数が2つ以上あるイベントの集合を抽出する(ステップS203)。次に、分類手段206は、分類ルール111のイベント削除フラグを調べ、削除フラグでイベントを削除する旨が指定されていれば、抽出したイベントの集合に含まれるイベントをアクセスログ記憶部105から削除する(ステップ205)。また、分類手段206は、抽出したイベントの集合を汎化手段107に渡す。   If it is determined that the read classification rule 111 is a division classification rule, the classification unit 106 sets the event set stored in the access log storage unit 105 to the same attribute that matches the condition specified in the division classification rule. Divide into event sets with values. Then, the classification unit 106 extracts a set of events having two or more elements after the division (step S203). Next, the classification unit 206 checks the event deletion flag of the classification rule 111 and deletes the event included in the extracted event set from the access log storage unit 105 if the deletion flag specifies that the event is deleted. (Step 205). Further, the classification unit 206 passes the extracted set of events to the generalization unit 107.

なお、本実施の形態では、分類ルール111が「選択分類ルール」又は「分割分類ルール」のいずれかのルールのみから成っている場合について説明するが、分類ルール111は、それらのルールが複数指定され、AND又はORで結合されていてもよい。例えば、分類ルール111は、選択分類ルールAと選択分類ルールBと分割分類ルールCとを含み、それらのルールA,B,CがANDで組み合わされたものであってもよい。この場合、分類手段106は、選択分類ルールAに従ってイベントの集合から抽出したイベント集合に対して、さらに選択分類ルールBを適用してイベントの集合を抽出する。そして、分類手段106は、更に、その抽出したイベント集合に対して、分割分類ルールCを適用してイベントの集合を抽出するようにしてもよい。   In this embodiment, the case where the classification rule 111 is composed of only one of the “selected classification rule” or the “division classification rule” will be described. May be combined with AND or OR. For example, the classification rule 111 may include a selection classification rule A, a selection classification rule B, and a division classification rule C, and these rules A, B, and C may be combined with AND. In this case, the classification means 106 further applies the selection classification rule B to the event set extracted from the event set according to the selection classification rule A, and extracts the event set. Then, the classification means 106 may further extract the event set by applying the division classification rule C to the extracted event set.

次に、汎化手段107の動作について説明する。図4は、汎化手段107がイベントを汎化する汎化処理(図2のステップS105)の一例を示すフローチャートである。汎化ルール112は、分類手段106によって抽出されたイベントの集合に対して適用される。例えば、分類ルール111が分割分類ルールである場合、分類手段106によってイベントの集合が複数抽出される。この場合、分類手段106によって抽出されたそれぞれのイベントの集合に対して、順に汎化手段107による汎化処理が適用される。汎化手段107の処理内容は、汎化ルール112に含まれる(記述されている)。   Next, the operation of the generalization unit 107 will be described. FIG. 4 is a flowchart illustrating an example of a generalization process (step S105 in FIG. 2) in which the generalization unit 107 generalizes an event. The generalization rule 112 is applied to the set of events extracted by the classification unit 106. For example, when the classification rule 111 is a division classification rule, the classification unit 106 extracts a plurality of event sets. In this case, the generalization processing by the generalization means 107 is sequentially applied to each set of events extracted by the classification means 106. The processing content of the generalization means 107 is included (described) in the generalization rule 112.

まず、汎化手段107が汎化処理に用いる汎化ルール112について説明する。本実施の形態において、汎化ルール112には、「直接汎化ルール」と「GLOB汎化ルール」との2種類がある。「直接汎化ルール」は、イベントの集合に含まれるそれぞれのイベントのある属性を、指定された値に直接置き換える処理方法を指定する情報である。また、イベントのどの属性を置き換えるかを示す情報は、直接汎化ルールの条件部に記述されている。また、値が複数指定された場合、汎化手段107は、汎化対象のイベントの複製を生成し、複製を含む複数のイベントについて、それぞれのイベントの属性の値を指定された値に置き換える。   First, the generalization rule 112 used by the generalization unit 107 for the generalization process will be described. In the present embodiment, there are two types of generalization rules 112: “direct generalization rules” and “GLOB generalization rules”. The “direct generalization rule” is information that specifies a processing method for directly replacing an attribute of each event included in the set of events with a specified value. Information indicating which attribute of the event is to be replaced is directly described in the condition part of the generalization rule. When a plurality of values are specified, the generalization unit 107 generates a copy of the event to be generalized, and replaces the value of each event attribute with the specified value for a plurality of events including the copy.

「GLOB汎化ルール」は、イベントの集合に含まれるそれぞれのイベントのある属性を、1つ又は複数のGLOBパターンに置き換える処理方法を指定する情報である。また、イベントのどの属性を置き換えるかを示す情報は、GLOB汎化ルールの条件部に記述されている。また、複数のパターンに置き換える場合、汎化手段107は、汎化対象のイベントの複製を生成し、複製を含む複数のイベントについて、それぞれのイベントの属性の値をそれぞれのパターンに置き換える。   The “GLOB generalization rule” is information that specifies a processing method for replacing an attribute of each event included in the set of events with one or more GLOB patterns. Information indicating which attribute of the event is to be replaced is described in the condition part of the GLOB generalization rule. Further, when replacing with a plurality of patterns, the generalization unit 107 generates a copy of the event to be generalized, and replaces the attribute value of each event with each pattern for the plurality of events including the copy.

汎化処理において、汎化手段107は、まず、ステップS103で読み込んだ汎化ルール112が直接汎化ルールであるか否かを判定する(ステップS301)。すなわち、汎化手段107は、汎化ルール112が直接汎化ルールかGLOB汎化ルールかを判定する。   In the generalization process, the generalization unit 107 first determines whether or not the generalization rule 112 read in step S103 is a direct generalization rule (step S301). That is, the generalization unit 107 determines whether the generalization rule 112 is a direct generalization rule or a GLOB generalization rule.

読み込んだ汎化ルール112が直接汎化ルールであると判定すると、汎化手段107は、処理対象としているイベント集合に含まれる各イベントそれぞれに対して、直接汎化ルールに記述された条件に合致する属性を、直接汎化ルールで指定された属性値に置き換える(ステップS302)。また、読み込んだ汎化ルール112がGLOB汎化ルールであると判定すると、汎化手段107は、処理対象としているイベント集合に含まれる各イベントの属性のうち、GLOB汎化ルールに記述された条件に合致する属性値からGLOBパターンを生成する。そして、汎化手段107は、その条件に合致する属性値を、生成したGLOBパターンに置き換える(ステップS303)。   If it is determined that the read generalization rule 112 is a direct generalization rule, the generalization unit 107 matches the conditions described in the direct generalization rule for each event included in the event set to be processed. The attribute to be replaced is replaced with the attribute value specified by the direct generalization rule (step S302). If it is determined that the read generalization rule 112 is a GLOB generalization rule, the generalization unit 107 determines that the condition described in the GLOB generalization rule is the attribute of each event included in the event set to be processed. A GLOB pattern is generated from attribute values that match Then, the generalization unit 107 replaces the attribute value that matches the condition with the generated GLOB pattern (step S303).

汎化手段107は、分類手段106が抽出したイベント集合のうち、未処理のイベント集合があるか否かを判断する(ステップS304)。未処理のイベント集合があると判断すると、汎化手段107は、ステップS301に戻り、ステップS301〜S304の処理を繰り返し実行する。すなわち、汎化手段107は、分類手段106によって複数のイベント集合が抽出されている場合、全てのイベント集合に対して、上記に示したステップS301〜S304の処理を繰り返す。また、汎化手段107は、上記の処理に従って生成したイベントを、ポリシ生成手段108に渡す。   The generalization unit 107 determines whether there is an unprocessed event set among the event sets extracted by the classification unit 106 (step S304). When determining that there is an unprocessed event set, the generalization unit 107 returns to step S301 and repeatedly executes the processes of steps S301 to S304. That is, when a plurality of event sets are extracted by the classifying unit 106, the generalization unit 107 repeats the processes of steps S301 to S304 described above for all event sets. In addition, the generalization unit 107 passes the event generated according to the above processing to the policy generation unit 108.

次に、GLOB汎化ルールが与えられた場合の汎化手段107の動作を説明する。図5は、GLOB汎化ルールが与えられた場合に、汎化手段107が行う変換処理(図4のステップS303)の一例を示すフローチャートである。まず、汎化手段107は、分類手段106が抽出したイベント集合について、与えられた複数の文字列に含まれるパスセパレータ(例えば、UNIXやLinuxの場合「/ 」)の数を数え、それぞれのパスの深さを算出する。そして、汎化手段107は、算出したパスの深さに基づいて、同一の深さのパスの集合を抽出する(ステップS401)。   Next, the operation of the generalization unit 107 when a GLOB generalization rule is given will be described. FIG. 5 is a flowchart showing an example of the conversion process (step S303 in FIG. 4) performed by the generalization means 107 when a GLOB generalization rule is given. First, the generalization unit 107 counts the number of path separators (for example, “/” in the case of UNIX or Linux) included in a plurality of given character strings for the event set extracted by the classification unit 106, and determines each path. The depth of is calculated. The generalization unit 107 extracts a set of paths having the same depth based on the calculated path depth (step S401).

また、汎化手段107は、抽出した同一の深さのパスの集合に含まれるそれぞれのパスのファイル名・ディレクトリ名部分(パスコンポーネントという)を、「. 」をデリミタとしてトークン化する(ステップS402)。ここで、「. 」をデリミタとしてトークン化するのは、拡張子を特別扱いするためである。なお、汎化手段107は、「. 」をデリミタとして用いる方法以外のトークン化のルールを用いてもよい。例えば、汎化手段107は、数字と英字とが別々のトークンになるルールを用いて、パスコンポーネントをトークン化してもよい。また、例えば、汎化手段107は、「- 」や「_ 」をデリミタとして加えて、パスコンポーネントをトークン化してもよい。また、汎化手段107は、敢えてパスコンポーネントをトークン化せずに、文字列に対して直接に最長共通部分列を算出してもよい。   Further, the generalization unit 107 tokenizes the file name / directory name part (referred to as a path component) of each path included in the extracted set of paths having the same depth with “.” As a delimiter (step S402). ). The reason for tokenizing “.” As a delimiter is to treat the extension specially. Note that the generalization unit 107 may use a tokenization rule other than the method using “.” As a delimiter. For example, the generalization unit 107 may tokenize the pass component using a rule in which numbers and alphabetic characters are different tokens. For example, the generalization unit 107 may tokenize the path component by adding “-” or “_” as a delimiter. Further, the generalization unit 107 may calculate the longest common subsequence directly for the character string without dare to tokenize the path component.

パスコンポーネントをトークン化した後、汎化手段107は、トークン列から最長共通部分列を算出して、トークン列の共通部分と非共通部分とを調べる(ステップS403)。そして、汎化手段107は、抽出した非共通部分を「* 」に置き換える(ステップS404)。   After tokenizing the pass component, the generalization unit 107 calculates the longest common partial sequence from the token sequence, and examines the common portion and the non-common portion of the token sequence (step S403). The generalization unit 107 replaces the extracted non-common part with “*” (step S404).

また、汎化手段107は、全てのコンポーネントについて処理を終了したか否かを判断する(ステップS405)。全てのコンポーネントについて処理を終了していないと判断すると、汎化手段107は、ステップS402に戻り、ステップS402〜S405の処理を繰り返し実行する。すなわち、汎化手段107は、ステップS402からステップS404までの処理を、全てのパスコンポーネントに対して繰り返し行う。   Further, the generalization unit 107 determines whether or not the processing has been completed for all components (step S405). If it is determined that the processing has not been completed for all components, the generalization unit 107 returns to step S402 and repeatedly executes the processing of steps S402 to S405. That is, the generalization unit 107 repeats the processing from step S402 to step S404 for all path components.

また、汎化手段107は、全てのパスについて処理を終了したか否かを判断する(ステップS406)。全てのパスについて処理を終了していないと判断すると、汎化手段107は、ステップS401に戻り、ステップS401〜S406の処理を繰り返し実行する。すなわち、汎化手段107は、ステップS401からステップS405までの処理を、全ての同じ深さのパスに対して繰り返し行う。   Further, the generalization unit 107 determines whether or not the processing has been completed for all paths (step S406). If it is determined that the processing has not been completed for all the paths, the generalization unit 107 returns to step S401 and repeatedly executes the processes of steps S401 to S406. That is, the generalization unit 107 repeats the processing from step S401 to step S405 for all the paths having the same depth.

なお、汎化手段107は、ステップS403において、トークン列から最長部分列を抽出するために、例えば、LCS(Longest Common Substring)アルゴリズムを用いればよい。   Note that the generalization unit 107 may use, for example, an LCS (Longest Common Substring) algorithm in order to extract the longest subsequence from the token sequence in step S403.

また、本実施の形態では、汎化ルール112として、直接汎化ルールとGLOB汎化ルールという2つの種類のルールを定義して用いる場合を説明したが、直接汎化ルールやGLOB汎化ルール以外のルールを定義して用いてもよい。例えば、GlOBではなく正規表現でイベントを汎化するルールを定義して用いてもよい。また、イベントの集合をそのイベントの集合を含む別のイベントの集合に対応付けることが可能な規則(ルール)であれば、どのようなルールであっても汎化ルール112として用いることができる。   Further, in the present embodiment, a case has been described in which two types of rules, the generalization rule and the GLOB generalization rule, are defined and used as the generalization rule 112, but other than the direct generalization rule and the GLOB generalization rule You may define and use these rules. For example, a rule for generalizing an event with a regular expression instead of GlOB may be defined and used. Further, any rule can be used as the generalization rule 112 as long as it is a rule (rule) that can associate a set of events with another set of events including the set of events.

次に、ポリシ生成手段108の動作について説明する。ポリシ生成手段108は、まず、汎化手段107によって生成されたイベントの集合から重複するイベントを取り除く。すなわち、同一の属性をもつイベントが複数ある場合、ポリシ生成手段108は、1つのイベントを残して、その残したイベント以外のイベントを削除する。ここで、ポリシ生成手段108は、同一か否かを判定する際に、アクセスポリシに反映させない属性(例えば、内部状態を示す属性)を考慮しない。汎化手段107は、上記の処理を行った後、削除せずに残したイベントを、アクセスポリシの許可ルールに変換する。   Next, the operation of the policy generation unit 108 will be described. The policy generation unit 108 first removes duplicate events from the set of events generated by the generalization unit 107. That is, when there are a plurality of events having the same attribute, the policy generation unit 108 leaves one event and deletes events other than the left event. Here, the policy generation unit 108 does not consider an attribute (for example, an attribute indicating the internal state) that is not reflected in the access policy when determining whether or not they are the same. After performing the above processing, the generalization unit 107 converts the event left without being deleted into an access policy permission rule.

次に、更に具体的な例を用いて、分類手段106、汎化手段107及びポリシ生成手段108の動作について説明する。図6は、アクセスログ記憶部105に格納されるイベントの集合の例を示す説明図である。本実施の形態では、図6に示すように、アクセスログ記憶部105は、アクセスの種類(アクセス名)と、アクセスの対象と、アクセス時のプログラムの内部状態とを含むイベントを、表形式で格納する。   Next, operations of the classification unit 106, the generalization unit 107, and the policy generation unit 108 will be described using more specific examples. FIG. 6 is an explanatory diagram illustrating an example of a set of events stored in the access log storage unit 105. In the present embodiment, as shown in FIG. 6, the access log storage unit 105 displays an event including an access type (access name), an access target, and an internal state of the program at the time of access in a table format. Store.

「アクセスの種類(アクセス名)」は、対象プログラム101に基づくリソース103へのアクセスの方法を示す情報である。例えば、イベントは、アクセスの種類として、ファイルの読み込み(「read」)やファイルへの書き込み(「write 」)等を含む。また、「アクセスの対象」は、対象プログラム101に基づくアクセスによって操作対象とされたファイル等のリソース103を示す情報である。   “Access type (access name)” is information indicating a method of accessing the resource 103 based on the target program 101. For example, the event includes a file read (“read”), a file write (“write”), and the like as the access type. “Access target” is information indicating a resource 103 such as a file that is an operation target by access based on the target program 101.

「内部状態」は、アクセス時のプログラムの内部状態を示す情報である。ここで、アクセス時のプログラムの内部状態は、一般に、長い文字列又は数値列で表されるが、本実施の形態では、見やすくするために内部状態を単一の数値に置き換えている。図6において、数値が同じ値であれば、それらのアクセスに対して同一の内部状態をもつものとする。   “Internal state” is information indicating the internal state of the program at the time of access. Here, the internal state of the program at the time of access is generally represented by a long character string or numerical value string. However, in this embodiment, the internal state is replaced with a single numerical value for easy viewing. In FIG. 6, if the numerical values are the same, it is assumed that they have the same internal state for those accesses.

図7は、ポリシ生成ルール記憶部109に格納されているポリシ生成ルール110の例を示す説明図である。本実施の形態では、図7に示すように、ルールR01,ルールR02,ルールR03の3つのポリシ生成ルール110が定義されている場合を説明する。   FIG. 7 is an explanatory diagram illustrating an example of the policy generation rule 110 stored in the policy generation rule storage unit 109. In the present embodiment, as shown in FIG. 7, a case will be described in which three policy generation rules 110 of rule R01, rule R02, and rule R03 are defined.

まず、3つのポリシ生成ルール110のうちルールR01を用いて処理を実行する場合を具体的に説明する。図8は、ポリシ生成ルールR01を用いて処理を実行する場合の例を示す説明図である。   First, the case where the process is executed using the rule R01 among the three policy generation rules 110 will be specifically described. FIG. 8 is an explanatory diagram showing an example in which processing is executed using the policy generation rule R01.

図7に示すように、ポリシ生成ルールR01には、分類ルールとして(アクセス対象の先頭="/tmp/" )という選択分類ルールが記述されている。このことは、ポリシ生成ルールR01が、イベントの集合から、「アクセス対象」が「/tmp/ 」で始まるイベントを抽出するという条件を示すルールであることを意味する。従って、図8に示すように、分類対象とするイベント集合C01に対して分類手段106による分類処理を適用すると、その分類処理の結果、イベントE02から成るイベントの集合C02が抽出される。   As shown in FIG. 7, the policy generation rule R01 describes a selection classification rule (first access target = “/ tmp /”) as a classification rule. This means that the policy generation rule R01 is a rule indicating a condition that an event whose “access target” starts with “/ tmp /” is extracted from a set of events. Therefore, as shown in FIG. 8, when the classification process by the classification means 106 is applied to the event set C01 to be classified, an event set C02 including the event E02 is extracted as a result of the classification process.

また、図7に示すように、ポリシ生成ルールR01には、汎化ルールとして(アクセス対象 => "/tmp/*")という直接汎化ルールが記述されている。このことは、ポリシ生成ルールR01が、分類手段106によって抽出されたイベント集合の各要素に対して、「アクセス対象」を「/tmp/*」に置き換えることを指定するルールであることを意味している。従って、図8に示すように、分類手段06によって抽出された部分集合C02に対して、汎化手段107による汎化処理を適用すると、その汎化処理の結果、イベントE11から成るイベントの集合C03が生成され、ポリシ生成手段108に対して出力される。   Further, as shown in FIG. 7, the policy generation rule R01 describes a direct generalization rule (access target => “/ tmp / *”) as a generalization rule. This means that the policy generation rule R01 is a rule that specifies that “access target” is replaced with “/ tmp / *” for each element of the event set extracted by the classifying unit 106. ing. Therefore, as shown in FIG. 8, when the generalization process by the generalization means 107 is applied to the subset C02 extracted by the classification means 06, the event set C03 including the event E11 is obtained as a result of the generalization process. Is generated and output to the policy generation means 108.

また、図7に示す例では、ポリシ生成ルールR01において、イベントを削除する旨の削除フラグが設定されている(本例では、削除フラグが○に設定されている)。そのため、汎化手段107は、上記に示す処理を実行する際に、分割手段106によって抽出されたイベントE02を、アクセスログ記憶部105から削除する。   In the example shown in FIG. 7, a deletion flag for deleting an event is set in the policy generation rule R01 (in this example, the deletion flag is set to ◯). Therefore, the generalization unit 107 deletes the event E02 extracted by the dividing unit 106 from the access log storage unit 105 when executing the processing described above.

次に、3つのポリシ生成ルール110のうちルールR02を用いて処理を実行する場合を具体的に説明する。図9は、ポリシ生成ルールR02を用いて処理を実行する場合の例を示す説明図である。   Next, the case where the process is executed using the rule R02 among the three policy generation rules 110 will be specifically described. FIG. 9 is an explanatory diagram illustrating an example in which processing is executed using the policy generation rule R02.

図7に示すように、ポリシ生成ルールR02には、分類ルールとして(内部状態)を条件とする分割分類ルールが記述されている。このことは、ポリシ生成ルールR02が、分類対象とするイベントの集合を、「内部状態」が同じものか否かに着目して分割する(ただし、分割後、要素数が1つしかない部分集合を除外する)ルールであることを意味する。従って、図9に示すように、イベント集合C11に対してポリシ生成ルールR02の分割分類ルールを適用して分類処理を行った場合、その分類処理の結果、イベントE03,0E04から成るイベントの集合C12aと、イベントE06,E07,E08,E09から成るイベントの集合C12との2つのイベント集合が抽出される。   As shown in FIG. 7, the policy generation rule R02 describes a division classification rule that uses (internal state) as a classification rule. This means that the policy generation rule R02 divides a set of events to be classified by paying attention to whether the “internal state” is the same (however, after the division, a subset having only one element) Is a rule). Therefore, as shown in FIG. 9, when the classification processing is performed by applying the policy classification rule R02 division classification rule to the event set C11, the event set C12a composed of events E03 and 0E04 is obtained as a result of the classification processing. And two event sets, an event set C12 composed of events E06, E07, E08, and E09, are extracted.

また、図7に示すように、ポリシ生成ルールR02には、汎化ルールとして(アクセス対象)を条件とするGLOB汎化ルールが記述されている。このことは、ポリシ生成ルールR02が、分類手段106によって抽出されたイベント集合に含まれる各イベントのアクセス対象をGLOBパターンに置き換えることを指定するルールであることを意味している。従って、図9に示すように、イベント集合C12aに含まれるイベントのアクセス対象に対して、図5に示したGLOB汎化処理を適用すると、汎化手段107によってイベントE12が生成される。同様に、イベント集合C12bに対してGLOB汎化処理を適用すると、汎化手段107によってイベントE13,E14が生成される。これらのイベントE12,E13,E14が、汎化手段107によってポリシ生成手段108に対して出力される。   Further, as shown in FIG. 7, the policy generation rule R02 describes a GLOB generalization rule that uses (access target) as a generalization rule. This means that the policy generation rule R02 is a rule that specifies that the access target of each event included in the event set extracted by the classifying unit 106 is replaced with the GLOB pattern. Therefore, as shown in FIG. 9, when the GLOB generalization process shown in FIG. 5 is applied to the access target of the event included in the event set C12a, the generalization means 107 generates the event E12. Similarly, when the GLOB generalization process is applied to the event set C12b, the generalization unit 107 generates events E13 and E14. These events E12, E13, E14 are output to the policy generation unit 108 by the generalization unit 107.

また、図7に示す例では、ポリシ生成ルールR02において、イベントを削除する旨の削除フラグが設定されている。そのため、汎化手段107は、上記に示す処理を実行する際に、分割手段106によって抽出されたイベントE03,E04,E06,E07,E08,E09を、アクセスログ記憶部105から削除する。   In the example shown in FIG. 7, a deletion flag for deleting an event is set in the policy generation rule R02. Therefore, the generalization unit 107 deletes the events E03, E04, E06, E07, E08, E09 extracted by the division unit 106 from the access log storage unit 105 when executing the processing described above.

次に、3つのポリシ生成ルール110のうちルールR03を用いて処理を実行する場合を具体的に説明する。図10は、ポリシ生成ルールR03を用いて処理を実行する場合の例を示す説明図である。   Next, the case where the process is executed using the rule R03 among the three policy generation rules 110 will be specifically described. FIG. 10 is an explanatory diagram showing an example in which processing is executed using the policy generation rule R03.

図7に示すように、ポリシ生成ルールR03には、分類ルールとして(TRUE)という条件をもつ選択分類ルールが記述されている。このことは、ポリシ生成ルールR03が、分類対象とするイベントの集合から、無条件にイベントを抽出することを示すルールであることを意味する。すなわち、ポリシ生成ルールR03が、分類手段106によってアクセスログ記憶部105に現在格納されている全てのイベントを抽出するルールであることを意味する(図10に示すイベント集合C22参照)。   As shown in FIG. 7, the policy generation rule R03 describes a selection classification rule having a condition of (TRUE) as a classification rule. This means that the policy generation rule R03 is a rule indicating that an event is unconditionally extracted from a set of events to be classified. That is, it means that the policy generation rule R03 is a rule for extracting all events currently stored in the access log storage unit 105 by the classification means 106 (see event set C22 shown in FIG. 10).

また、図7に示すように、ポリシ生成ルールR03には、汎化ルールとして()という直接汎化ルールが記述されている。このことは、ポリシ生成ルールR03が、何も汎化処理を行わないルールであることを意味している。従って、汎化手段107は、ポリシ生成ルールR03を用いる場合、アクセスログ記憶部105に格納されている全てのイベント(図10に示すイベント集合C23参照)を、そのままポリシ生成手段108に対して出力する。   Further, as shown in FIG. 7, the policy generation rule R03 describes a direct generalization rule () as a generalization rule. This means that the policy generation rule R03 is a rule that does not perform any generalization processing. Therefore, when using the policy generation rule R03, the generalization unit 107 outputs all events (see the event set C23 shown in FIG. 10) stored in the access log storage unit 105 to the policy generation unit 108 as they are. To do.

以上の処理によって、最終的に、図11に示すイベントがポリシ生成手段108に入力される。ポリシ生成手段108は、入力したイベントから重複を取り除く。また、ポリシ生成手段108は、入力したイベントに示されるアクセスを許可し、入力したイベントに示されるアクセス以外のアクセスを禁止するアクセスポリシを生成する。図12は、ポリシ生成手段108が生成し出力するアクセスポリシの例を示す説明図である。図12に示すように、本例では、ポリシ生成手段108は、ポリシP01,P02,P03,P04,P05,P06に合致するアクセスを許可し、ポリシP01,P02,P03,P04,P05,P06に合致するアクセス以外のアクセスを禁止するアクセスポリシを生成する。   Through the above processing, the event shown in FIG. 11 is finally input to the policy generation unit 108. The policy generation unit 108 removes duplication from the input event. The policy generating unit 108 generates an access policy that permits access indicated by the input event and prohibits access other than the access indicated by the input event. FIG. 12 is an explanatory diagram illustrating an example of an access policy generated and output by the policy generation unit 108. As shown in FIG. 12, in this example, the policy generation means 108 permits access that matches the policies P01, P02, P03, P04, P05, and P06, and allows the policies P01, P02, P03, P04, P05, and P06. An access policy that prohibits access other than matching access is generated.

以上のように、本実施の形態で示したアクセスポリシ生成システムにより、以下に挙げる効果を得ることができる。まず、本実施の形態によれば、より誤検知の少ないアクセスポリシを生成することができる。例えば、図6に示す「 /tmp/0001.tmpへの write」という1つのイベントE02しか観測できなかった場合であっても、図12に示す「/tmp/*への writeを許可する」というアクセスポリシを生成できている。例えば、「 /tmp/0001.tmpへの write」というイベントを観測した場合であっても、「 /tmp/0001.tmpへの write」は一時ファイル書き出しのイベントであり、いずれ「 /tmp/0002.tmp」等の他のファイルへの書き出しのイベントが生じる可能性が高い。プラットフォーム上の慣習に由来するルールであるポリシ生成ルールR01を与えることによって、このファイルアクセスを許可するルールP01を生成できていることが分かる。なお、この誤検知の少ないアクセスポリシを生成できるという効果は、従来技術1、従来技術2及び従来技術3による方法を用いたとしても、実現できないものである。   As described above, the following effects can be obtained by the access policy generation system shown in the present embodiment. First, according to the present embodiment, an access policy with fewer false detections can be generated. For example, even when only one event E02 “write to /tmp/0001.tmp” shown in FIG. 6 can be observed, “write to / tmp / *” shown in FIG. 12 is permitted. An access policy has been generated. For example, even if the event “write to /tmp/0001.tmp” is observed, “write to /tmp/0001.tmp” is an event for writing a temporary file. There is a high possibility that an event of writing to another file such as ".tmp" will occur. By giving a policy generation rule R01 which is a rule derived from the convention on the platform, it can be seen that the rule P01 permitting this file access can be generated. Note that the effect that an access policy with few false detections can be generated cannot be realized even if the methods of the prior art 1, the prior art 2 and the prior art 3 are used.

また、本実施の形態によれば、「プログラム中の同一の場所から呼び出されたリソースアクセスには同一のアクセスポリシが適用可能」という性質に由来するルールであるポリシ生成ルールR02を用いることにより、アプリケーションに依存したリソースアクセスに対しても誤検知の少ないアクセスポリシを生成できている。具体的には、図8に示すように、イベント集合E06,E07,E08,E09からイベントE13とE14とを生成し、アクセスポリシを生成できている。これらのイベントは、「/var/www」に配置されている(格納されている)Webコンテンツへのアクセスである可能性が高く、いずれ「/var/www/doc/result.xls」等のファイルへのアクセスが生じる可能性が高い。本実施の形態によれば、ポリシ生成ルールR02を与えることによって、このファイルアクセスを許可するルールP04を生成できていることが分かる。なお、このアプリケーションに依存したリソースアクセスに対しても誤検知の少ないアクセスポリシを生成できるという効果は、従来技術3による方法を用いた場合には実現できるが、従来技術1や従来技術2による方法を用いたとしても、実現できないものである。   Further, according to the present embodiment, by using the policy generation rule R02 which is a rule derived from the property that “the same access policy can be applied to resource access called from the same place in the program”, An access policy with few false positives can be generated even for resource access depending on applications. Specifically, as shown in FIG. 8, events E13 and E14 are generated from the event sets E06, E07, E08, E09, and an access policy can be generated. These events are likely to be accesses to Web contents placed (stored) in “/ var / www”, and eventually a file such as “/var/www/doc/result.xls” Access to is likely to occur. According to the present embodiment, it is understood that the rule P04 that permits this file access can be generated by providing the policy generation rule R02. The effect of generating an access policy with few false detections even for resource access depending on the application can be realized when the method according to the prior art 3 is used, but the method according to the prior art 1 and the prior art 2 Even if is used, it cannot be realized.

言い換えると、本実施の形態では、従来技術3による方法の特長を生かしつつ、そのプラットフォーム上の慣習等に由来するプログラム共通の知識(プログラム共通の情報)を記述した(含む)ポリシ生成ルール110を用いる。そのようなポリシ生成ルール110を用いることにより、限られた観測イベントから、未観測の正当なリソースアクセスを許可する(誤検知の可能性が低い)アクセスポリシを生成できる可能性が高まる。   In other words, in the present embodiment, the policy generation rule 110 describing (including) the common program knowledge (information common to the program) derived from customs on the platform, etc., while taking advantage of the method of the prior art 3 is used. Use. By using such a policy generation rule 110, there is an increased possibility of generating an access policy that permits unobserved legitimate resource access (low possibility of false detection) from a limited observation event.

また、ポリシ生成ルール110として、そのプラットフォーム上の慣習等に由来するプログラム共通の知識を記述しておくことによって、検知漏れの少ないアクセスポリシを生成できる可能性も高まる。   In addition, by describing knowledge common to programs derived from customs on the platform as the policy generation rule 110, the possibility of generating an access policy with few detection omissions increases.

例えば、仮に、図6に示すイベントE01とE02とが同一の内部状態をもっているとする。既に述べたように、発生する確率は低いものの、対象プログラム101の実装の仕方によっては、複数のイベントが同一の内部状態をもつような場合も生じうる。この場合、ポリシ生成ルール101としてルールR01を定義していないと、ルールR02を用いた分類処理及び汎化処理によって、「 write/var/run/httpd.pid」と「write/tmp/0001.tmp」とがGLOB汎化の対象となってしまう。本実施の形態によれば、ホリシ生成ルールR01を定義している場合、図8に示す処理の段階でイベント集合C11にイベントE02を含まないので、このような過剰な汎化による検知漏れの可能性を抑えることができる。なお、この過剰な汎化による検知漏れの可能性を抑えることができるという効果も、従来技術1や従来技術2、従来技術3による方法を用いたとしても、実現できないものである。   For example, assume that events E01 and E02 shown in FIG. 6 have the same internal state. As already described, although the probability of occurrence is low, depending on how the target program 101 is implemented, a plurality of events may have the same internal state. In this case, if the rule R01 is not defined as the policy generation rule 101, “write / var / run / httpd.pid” and “write / tmp / 0001.tmp” are obtained by classification processing and generalization processing using the rule R02. "Becomes a target of GLOB generalization. According to the present embodiment, when the horiishi generation rule R01 is defined, the event set C11 does not include the event E02 at the stage of processing shown in FIG. Sex can be suppressed. Note that the effect of suppressing the possibility of detection omission due to this excessive generalization cannot be realized even if the methods of the prior art 1, the prior art 2 and the prior art 3 are used.

以上のように、本実施の形態によれば、ポリシ生成ルール110に従って、アクセス監査手段102が出力したアクセス情報に基づいて、アクセスポリシを生成する。すなわち、本実施の形態によれば、単に所定期間のアクセスの観測結果のみに基づいてアクセスポリシを生成するのでなく、個々のプログラムに依存しないイベントの共起関係に基づくポリシ生成ルール110に従って、アクセスポリシを生成する。従って、アクセスポリシの生成を自動化し、アクセスポリシ作成の手間を可能な限り軽減することができる。また、精度の高いアクセスポリシを生成し、人手による修正の手間をできるだけ軽減することができる。   As described above, according to the present embodiment, an access policy is generated based on the access information output by the access auditing means 102 according to the policy generation rule 110. That is, according to the present embodiment, the access policy is not generated based on only the observation result of the access for a predetermined period, but is accessed according to the policy generation rule 110 based on the co-occurrence relationship of events not depending on each program. Generate a policy. Therefore, it is possible to automate the generation of the access policy and reduce the trouble of creating the access policy as much as possible. In addition, it is possible to generate an access policy with high accuracy and reduce manual labor as much as possible.

また、本実施の形態によれば、個々のプログラムに依存しないイベントの共起関係に基づくアクセスポリシ生成ルール(ポリシ生成ルール110)を、分類ルールと汎化ルールとの組という形式で予め記述する。そして、そのアクセスポリシ生成ルール110に従って、分類手段106と汎化手段107とを順に適用して処理することにより、従来技術による方法を用いた場合と比較して、誤検知の点においても検知漏れの点においても、より精度の高いアクセスポリシを生成できる。   Further, according to the present embodiment, the access policy generation rule (policy generation rule 110) based on the co-occurrence relationship of events that does not depend on individual programs is described in advance in the form of a set of classification rules and generalization rules. . Then, according to the access policy generation rule 110, the classification unit 106 and the generalization unit 107 are sequentially applied and processed, so that compared with the case where the method according to the prior art is used, the detection omission is also detected. Also in this point, a more accurate access policy can be generated.

実施の形態2.
次に、本発明の第2の実施の形態について図面を参照して説明する。図13は、アクセスポリシ生成システムを用いたシステム100の他の構成例を示すブロック図である。本実施の形態において、システム100は、図1で示した構成要素に加えて、状態記憶部114を含む点で、第1の実施の形態と異なる。なお、システム100の状態記憶部114以外の構成要素の機能は、第1の実施の形態で示したそれらの機能と同様である。
Embodiment 2. FIG.
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 13 is a block diagram illustrating another configuration example of the system 100 using the access policy generation system. In the present embodiment, system 100 is different from the first embodiment in that it includes a state storage unit 114 in addition to the components shown in FIG. The functions of the constituent elements other than the state storage unit 114 of the system 100 are the same as those functions described in the first embodiment.

状態記憶部114は、例えば、システム100上に搭載されているメインメモリである。例えば、状態記憶部11は、システム100を実現する情報処理装置のメモリによって実現される。   The state storage unit 114 is a main memory mounted on the system 100, for example. For example, the state storage unit 11 is realized by a memory of an information processing apparatus that implements the system 100.

本実施の形態では、システム100が「監査モード」で動作している場合、システム100はポリシの生成のための動作を行わず、アクセス監査手段102からアクセスログ記憶部105に対してイベントは一切出力されない。そのため、「監査モード」で動作する場合、分類手段106、汎化手段107及びポリシ生成手段108は、何ら動作を行わない。ただし、本実施の形態では、実施の形態1と異なり、状態観測手段113は、リソースアクセスが生じた時点におけるシステム100の内部状態を取得(検出)する動作を行う。   In this embodiment, when the system 100 is operating in the “audit mode”, the system 100 does not perform an operation for generating a policy, and no event is generated from the access audit unit 102 to the access log storage unit 105. Not output. Therefore, when operating in the “audit mode”, the classification unit 106, the generalization unit 107, and the policy generation unit 108 perform no operation. However, in the present embodiment, unlike the first embodiment, the state observation unit 113 performs an operation of acquiring (detecting) the internal state of the system 100 at the time when resource access occurs.

また、本実施の形態では、第1の実施の形態と異なり、アクセス監査手段102は、リソースアクセス時のアクセス名やアクセス対象だけでなく、アクセス時の内部状態も考慮してアクセス可否の判定を行う。具体的には、本実施の形態では、例えば、図14に示すアクセスポリシが与えられる。すなわち、アクセスポリシには、アクセス名やアクセス対象だけでなく、状態を考慮して判定するか否かを示すフラグ(状態フラグ)が指定される。そして、アクセス監査手段102は、状態フラグを含むアクセスポリシを用いて、アクセス可否の判定を行う。   Also, in the present embodiment, unlike the first embodiment, the access auditing means 102 determines whether or not access is possible in consideration of not only the access name and access target during resource access but also the internal state during access. Do. Specifically, in this embodiment, for example, the access policy shown in FIG. 14 is given. That is, in the access policy, not only the access name and the access target but also a flag (state flag) indicating whether or not the determination is made in consideration of the state is specified. Then, the access auditing unit 102 determines whether or not access is possible using an access policy including a status flag.

次に、動作について説明する。図15は、本実施の形態におけるアクセス監査手段102が行うアクセス監査処理の一例を示すフローチャートである。アクセス監査手段102は、アクセスを観測(検出)すると、アクセスポリシの先頭のルールを調べ、先頭のルールを取り出す(ステップS501)。また、アクセス監査手段102は、取り出したルールのアクセス名とアクセス対象とが合致するか否かを判定する(ステップS502)。アクセス名とアクセス対象とが合致する場合、アクセス監査手段102は、その取り出したルールに状態フラグが設定されているか否かを調べる(ステップS503)。状態フラグが設定されている場合、アクセス監査手段102は、その時点における状態観測手段113での観測内容(すなわち、状態観測手段113が検出した現在のシステム100の内部状態)と、その取り出したルールに示される状態フラグが「許可」を示しているか「拒否」を示しているかを合わせて状態記憶部114に保存する(ステップS504)。   Next, the operation will be described. FIG. 15 is a flowchart illustrating an example of an access audit process performed by the access audit unit 102 according to this embodiment. When the access auditing unit 102 observes (detects) the access, the access auditing unit 102 examines the top rule of the access policy and extracts the top rule (step S501). Further, the access auditing unit 102 determines whether or not the access name of the extracted rule matches the access target (step S502). If the access name matches the access target, the access auditing means 102 checks whether or not a status flag is set in the extracted rule (step S503). When the state flag is set, the access auditing unit 102 displays the observation contents of the state observation unit 113 at that time (that is, the current internal state of the system 100 detected by the state observation unit 113) and the extracted rule. Whether the status flag shown in FIG. 4 indicates “permitted” or “rejected” is stored in the status storage unit 114 (step S504).

そして、アクセス監査手段102は、その取り出したルールの記述に従って、アクセスを「許可」又は「拒否」する(ステップS505)。ステップS503で状態フラグが設定されていない場合、アクセス監査手段102は、状態記憶部114に状態を保存せずに、そのままステップS505に移行する。   Then, the access audit unit 102 “permits” or “denies” access according to the description of the extracted rule (step S505). If the status flag is not set in step S503, the access auditing unit 102 does not save the status in the status storage unit 114 and proceeds to step S505 as it is.

また、ステップS502でアクセス名とアクセス対象とが合致しないと判定した場合、アクセス監査手段102は、その取り出したルールに状態フラグが設定されているか否かを調べる(ステップS506)。状態フラグが設定されている場合、アクセス監査手段102は、その時点において状態観測手段113で観測された内容(すなわち、状態観測手段113が検出した現在のシステム100の内部状態)と同一の状態を示す情報が、状態記憶部114に既に保存されているか否かを調べる(ステップS507,S508)。同一の状態を示す情報が保存されている場合、アクセス監査手段102は、その同一の状態を示す情報と合わせて保存されている状態フラグが「拒否」を示しているか「許可」を示しているかの情報に従って、アクセス制御を行う(ステップS505)。   If it is determined in step S502 that the access name does not match the access target, the access auditing unit 102 checks whether a status flag is set in the extracted rule (step S506). When the state flag is set, the access auditing unit 102 indicates the same state as the content observed by the state observation unit 113 at that time (that is, the current internal state of the system 100 detected by the state observation unit 113). It is checked whether or not the indicated information is already stored in the state storage unit 114 (steps S507 and S508). When information indicating the same state is stored, the access auditing unit 102 indicates whether the state flag stored together with the information indicating the same state indicates “rejected” or “permitted”. Access control is performed according to the information (step S505).

保存されていない場合、アクセス監査手段102は、アクセスポリシに含まれる次のルールに対して、ステップS502以下の処理を繰り返し実行する。この場合、アクセス監査手段102は、アクセスポリシに未処理のルールが含まれるか否かを判断する(ステップS509)。未処理のルールがある場合、アクセス監査手段102は、アクセスポリシから次のルールを読み出す(ステップS510)。そして、アクセス監査手段102は、ステップS102の処理に戻る。次のルール(未処理のルール)がない場合、アクセス監査手段102は、システム100の状態がどのルールにも合致しなかったと判定し、そのまま処理を終了する。   If not stored, the access auditing unit 102 repeatedly executes the processing in step S502 and subsequent steps for the next rule included in the access policy. In this case, the access auditing unit 102 determines whether or not an unprocessed rule is included in the access policy (step S509). If there is an unprocessed rule, the access audit unit 102 reads the next rule from the access policy (step S510). Then, the access auditing unit 102 returns to the process of step S102. If there is no next rule (unprocessed rule), the access auditing means 102 determines that the state of the system 100 does not match any rule, and ends the process as it is.

次に、上記に示したアクセス監査手段102の動作を、具体例を用いて説明する。本実施の形態では、図16に示すように、システム100においてリソースアクセスが順に生じた場合を説明する。図16に示すリソースアクセスE206が生じたとすると、このアクセスは、アクセスルールP15(図14参照)に示す条件に合致する。また、アクセスルールP15には状態フラグが設定されているので、アクセス監査手段102は、ステップS504の処理を実行することにより、状態記憶部114に、(状態5,許可)という一組の情報を保存する。   Next, the operation of the access audit unit 102 described above will be described using a specific example. In the present embodiment, as shown in FIG. 16, a case will be described in which resource access occurs sequentially in the system 100. If the resource access E206 shown in FIG. 16 occurs, this access matches the condition shown in the access rule P15 (see FIG. 14). In addition, since the status flag is set in the access rule P15, the access auditing means 102 executes a process of step S504, and thereby sets a set of information (status 5, permission) in the status storage unit 114. save.

そして、その後にリソースアクセスE210が生じたとすると、このリソースアクセスはアクセスルールP15に示す条件に合致しないが、アクセスルールP15には状態フラグが設定されているので、アクセス監査手段102は、状態記憶部114から、リソースアクセスE210の状態5と同一の状態が保存されてるか否か検索する(ステップS507参照)。その検索の結果、アクセス監査手段102は、同一の状態をもつ(状態5,許可)という情報を検索して抽出し、その抽出した情報に基づいて、アクセスE210を許可すると判定する(ステップS505参照)。   If the resource access E210 occurs thereafter, this resource access does not match the condition shown in the access rule P15. However, since the status flag is set in the access rule P15, the access auditing unit 102 It is searched from 114 whether or not the same state as the state 5 of the resource access E210 is stored (see step S507). As a result of the search, the access audit means 102 searches for and extracts information having the same state (state 5, permission), and determines that access E210 is permitted based on the extracted information (see step S505). ).

また、本実施の形態において、ポリシ生成手段108は、第1の実施の形態で示した動作に加えて、内部状態による分割分類ルールを用いて生成されたイベントに対応するアクセス許可ルールに対して、状態フラグを設定するという処理を行う。そのようにすることにより、ポリシ生成手段108は、図14に例示したアクセスポリシを生成することが可能となる。   Further, in the present embodiment, the policy generation unit 108 applies to the access permission rule corresponding to the event generated using the division classification rule based on the internal state, in addition to the operation described in the first embodiment. The process of setting the status flag is performed. By doing so, the policy generation means 108 can generate the access policy illustrated in FIG.

なお、ポリシ生成ルール110に対して、予め状態フラグを設定できるようにしてもよい(図17参照)。この場合、ポリシ生成手段108は、第1の実施の形態で示した動作に加えて、状態フラグが設定されたポリシ生成ルールを用いて生成されたイベントに対応するアクセス許可ルールに対して、状態フラグを設定するという処理を行う。   Note that a status flag may be set in advance for the policy generation rule 110 (see FIG. 17). In this case, in addition to the operation described in the first embodiment, the policy generation unit 108 determines the status for the access permission rule corresponding to the event generated using the policy generation rule in which the status flag is set. Processing to set a flag is performed.

以上のように、本実施の形態によれば、監査モードでシステム100が動作している場合であっても、状態観測手段113がシステム100の状態を観測する。また、アクセス監査手段102は、状態観測手段113が検出した状態を考慮しながら、アクセス可否の判定を行う。さらに、ポリシ生成手段108が、予め状態フラグをもつアクセスポリシを事前に生成しておく。そのようにすることによって、ルール生成モードで観測したイベントの数が足りなかったり、GLOB汎化処理では十分な汎化ができない場合であっても、より正確なアクセス可否を実現することが可能となる。   As described above, according to the present embodiment, even when the system 100 is operating in the audit mode, the state observation unit 113 observes the state of the system 100. Further, the access auditing unit 102 determines whether or not access is possible while considering the state detected by the state observation unit 113. Further, the policy generation unit 108 generates an access policy having a status flag in advance. By doing so, even if the number of events observed in the rule generation mode is insufficient or sufficient generalization cannot be performed by the GLOB generalization process, it is possible to realize more accurate accessibility. Become.

例えば、第1の実施の形態において生成したアクセスポリシ(図12参照)の内容では、アクセス監査手段102は、「/var/www/copyright.txtへのread」アクセスを許可しないことになる。しかし、WWWサーバの動作として、「/var/www/index.html 」へのアクセスが許可されている以上、「/var/www/ 」以下の txtファイルへのアクセスも許可するように設定するのが自然である。第1の実施の形態において、図12に示すアクセスポリシを生成しているのは、ルール生成モードで動作している間に、アクセス監査手段102が「/var/www」内の「.html 」という拡張子ををつファイルへのアクセスしか観測できなかったので(図6に示すイベントE06,E07参照)、十分な汎化処理を行えなかったことが原因である。   For example, in the contents of the access policy (see FIG. 12) generated in the first embodiment, the access auditing means 102 does not permit “read to /var/www/copyright.txt” access. However, as the operation of the WWW server, since access to “/var/www/index.html” is permitted, access to txt files under “/ var / www /” is also permitted. Is natural. In the first embodiment, the access policy shown in FIG. 12 is generated because the access auditing means 102 is “.html” in “/ var / www” while operating in the rule generation mode. The reason is that sufficient generalization processing could not be performed because only the access to the file with the extension “.” Was observed (see events E06 and E07 shown in FIG. 6).

本実施の形態によれば、例えば、ルール生成モードで観測したイベントの内容が図6に示すイベントと同じであったとしても、上記のように具体的に示したように、アクセス監査手段102は、「/var/www/copyright.txtへのread」アクセスを許可する。すなわち、実施の形態1と比較して、より誤検知の少ないアクセス制御を実現することができる。   According to the present embodiment, for example, even if the event content observed in the rule generation mode is the same as the event shown in FIG. , “Read” access to “/var/www/copyright.txt”. That is, access control with fewer false detections can be realized as compared with the first embodiment.

実施の形態3.
次に、本発明の第3の実施の形態について図面を参照して説明する。図18は、アクセスポリシ生成システムを用いたシステム100の更に他の構成例を示すブロック図である。本実施の形態において、システム100は、図1で示した構成要素に加えて、ポリシ生成ルール取得手段115を含む点で、第1の実施の形態と異なる。また、本実施の形態では、ポリシ生成ルール記憶部109は、必ずしもシステム100内にある必要はなく、インターネット等のネットワークを介した別のホスト(例えば、ワークステーションやパーソナルコンピュータ等の情報処理装置)が含んでもよい。そして、その別のホストが、ポリシ生成ルール記憶部109が記憶するポリシ生成ルール110を管理してもよい。
Embodiment 3 FIG.
Next, a third embodiment of the present invention will be described with reference to the drawings. FIG. 18 is a block diagram showing still another configuration example of the system 100 using the access policy generation system. In the present embodiment, the system 100 is different from the first embodiment in that it includes a policy generation rule acquisition unit 115 in addition to the components shown in FIG. Further, in the present embodiment, the policy generation rule storage unit 109 does not necessarily need to be in the system 100, but another host (for example, an information processing apparatus such as a workstation or a personal computer) via a network such as the Internet. May be included. Then, the other host may manage the policy generation rule 110 stored in the policy generation rule storage unit 109.

なお、システム100のポリシ生成ルール取得手段115及びポリシ生成ルール記憶部109以外の構成要素の機能は、第1の実施の形態で示したそれらの機能と同様である。   The functions of the components other than the policy generation rule acquisition unit 115 and the policy generation rule storage unit 109 of the system 100 are the same as those functions described in the first embodiment.

本実施の形態において、ポリシ生成ルール記憶部109は、図6に示した属性(分類ルール、汎化ルール及び削除フラグ)に加えて、システム100が用いるオペレーティングシステム(OS)の種類やバージョンを示す識別子を含むポリシ生成ルール110を格納する。   In the present embodiment, the policy generation rule storage unit 109 indicates the type and version of the operating system (OS) used by the system 100 in addition to the attributes (classification rule, generalization rule, and deletion flag) shown in FIG. A policy generation rule 110 including an identifier is stored.

ポリシ生成ルール取得手段115は、具体的には、プログラムに従って動作するコンピュータ及びネットワークインタフェース部によって実現される。ポリシ生成ルール取得手段115は、システム100のコンピュータ上で稼動するOSの種類及びバージョンを検出する機能を備える。また、ポリシ生成ルール取得手段115は、その検出したOSの種類及びバージョンに合致するポリシ生成ルール110を、ポリシ生成ルール記憶部109に問い合わせる機能を備える。また、ポリシ生成ルール取得手段115は、ポリシ生成ルール110に設定されているバージョン識別子を参照し、バージョンが合致するポリシ生成ルールのみを取得する機能を備える。   Specifically, the policy generation rule acquisition unit 115 is realized by a computer and a network interface unit that operate according to a program. The policy generation rule acquisition unit 115 has a function of detecting the type and version of the OS running on the computer of the system 100. Further, the policy generation rule acquisition unit 115 has a function of inquiring the policy generation rule storage unit 109 for a policy generation rule 110 that matches the detected OS type and version. Further, the policy generation rule acquisition unit 115 has a function of referring to the version identifier set in the policy generation rule 110 and acquiring only the policy generation rule whose version matches.

この場合、例えば、ポリシ生成ルール取得手段115は、ポリシ生成ルール110の検索要求とともに、OSの種類及びバージョンを示す情報を、ネットワークを介して、ポリシ生成ルール記憶部109を備えるホストに送信する。すると、ホストは、受信した情報に示されるOSの種類及びバージョンに合致するポリシ生成ルール110を、ポリシ生成ルール記憶部109から抽出する。そして、ホストは、抽出したポリシ生成ルール110を、ネットワークを介してシステム100に送信する。   In this case, for example, the policy generation rule acquisition unit 115 transmits a search request for the policy generation rule 110 and information indicating the type and version of the OS to the host including the policy generation rule storage unit 109 via the network. Then, the host extracts from the policy generation rule storage unit 109 the policy generation rule 110 that matches the type and version of the OS indicated in the received information. Then, the host transmits the extracted policy generation rule 110 to the system 100 via the network.

図19は、OSの種類を追加して含むポリシ生成ルール110の例を示す説明図である。例えば、システム100がOSとしてLinuxを用いて動作している場合を考える。この場合、ポリシ生成ルール取得手段115は、ポリシ生成ルール記憶部109から、ポリシ生成ルールR201,R203,R204を取得し、分類手段106及び汎化手段107に渡す。   FIG. 19 is an explanatory diagram showing an example of the policy generation rule 110 that additionally includes the OS type. For example, consider a case where the system 100 operates using Linux as an OS. In this case, the policy generation rule acquisition unit 115 acquires the policy generation rules R201, R203, and R204 from the policy generation rule storage unit 109 and passes them to the classification unit 106 and the generalization unit 107.

また、システム100がOSとしてWindows(登録商標)を用いて動作している場合を考える。この場合、ポリシ生成ルール取得手段115は、ポリシ生成ルール記憶部109から、ポリシ生成ルールR202,R203,R204を取得し、分類手段106及び汎化手段107に渡す。   Also, consider a case where the system 100 is operating using Windows (registered trademark) as an OS. In this case, the policy generation rule acquisition unit 115 acquires the policy generation rules R202, R203, and R204 from the policy generation rule storage unit 109 and passes them to the classification unit 106 and the generalization unit 107.

また、本実施の形態では、分類手段106は、ポリシ生成ルール取得手段115が取得したポリシ生成ルール110に基づいて分類処理を行い、システム100が用いるOSに合致したイベント集合を生成する。また、汎化手段107は、ポリシ生成ルール取得手段115が取得したポリシ生成ルール110に基づいて汎化処理を行い、システム100が用いるOSに合致したイベント集合を生成する。そして、ポリシ生成手段108は、それらのイベント集合にもとづいて、、システム100が用いるOSに合致したアクセスポリシを生成する。   In the present embodiment, the classification unit 106 performs a classification process based on the policy generation rule 110 acquired by the policy generation rule acquisition unit 115, and generates an event set that matches the OS used by the system 100. The generalization unit 107 performs generalization processing based on the policy generation rule 110 acquired by the policy generation rule acquisition unit 115, and generates an event set that matches the OS used by the system 100. The policy generation unit 108 generates an access policy that matches the OS used by the system 100 based on the event set.

以上のように、本実施の形態によれば、システム100のプラットフォームに適したポリシ生成ルール100を参照して(システム100が用いるOSに合致したルールを用いて)、アクセスポリシを生成する。そのため、OSのバージョンが更新された場合であっても、最適なアクセスポリシを生成することができる。   As described above, according to the present embodiment, the access policy is generated by referring to the policy generation rule 100 suitable for the platform of the system 100 (using the rule that matches the OS used by the system 100). Therefore, even when the OS version is updated, an optimal access policy can be generated.

例えば、慣習的に、Linuxでは一時ファイルを「/tmp」に書き込むことが多く、Windowsではユーザのプロファイルディレクトリ内にある「Local Settings」ディレクトリ内のTempディレクトリに書き込むことが多い。そのため、OSのバージョンが更新されると、適切にアクセス制御を行えなくなる可能性がある。本実施の形態では、システムが用いるOSに合致したポリシ生成ルール110を用いてアクセスポリシを生成するので、システム100上で動作するプラットフォームに応じて、適切なアクセスポリシを生成することができる。   For example, traditionally, Linux often writes temporary files to “/ tmp”, and Windows often writes to the Temp directory in the “Local Settings” directory in the user's profile directory. Therefore, when the OS version is updated, there is a possibility that access control cannot be performed appropriately. In the present embodiment, the access policy is generated using the policy generation rule 110 that matches the OS used by the system. Therefore, an appropriate access policy can be generated according to the platform operating on the system 100.

実施の形態4.
次に、本発明の第4の実施の形態について図面を参照して説明する。図20は、アクセスポリシ生成システムを用いたシステム100の他の構成例を示すブロック図である。本実施の形態において、システム100は、図1で示した構成要素のうち、状態観測手段113を含まない点で、第1の実施の形態と異なる。なお、システム100の状態観測手段113以外の構成要素の機能は、第1の実施の形態で示したそれらの機能と同様である。
Embodiment 4 FIG.
Next, a fourth embodiment of the present invention will be described with reference to the drawings. FIG. 20 is a block diagram illustrating another configuration example of the system 100 using the access policy generation system. In the present embodiment, the system 100 differs from the first embodiment in that it does not include the state observation unit 113 among the components shown in FIG. The functions of the components other than the state observation unit 113 of the system 100 are the same as those functions described in the first embodiment.

本実施の形態によれば、システム100は状態観測手段113をもたないので、生成するアクセスポリシの精度が、第1の実施の形態1で生成したアクセスポリシよりも低下する可能性が高いが、システム100の構成を簡素化できるという長所がある。   According to the present embodiment, since the system 100 does not have the state observation unit 113, the accuracy of the access policy to be generated is likely to be lower than that of the access policy generated in the first embodiment. There is an advantage that the configuration of the system 100 can be simplified.

図21は、本実施の形態におけるポリシ生成ルール110の例を示す説明図である。図21に示すように、図7で示したルールと異なり、システム100は、ポリシ生成ルールR302として、内部状態ではなく、アクセス対象の拡張子が同一か否かを判断して、イベント集合を分割するルールを用いる。本実施の形態では、図21に示すルールを用いて処理を行った結果、システム100は、図6に示すイベントから、図22に示すアクセスポリシを生成する。そのため、第1の実施の形態で生成された図12に示すアクセスポリシと比較して、誤検知の可能性が高くなっている。しかし、状態観測手段113が不要となりシステム構成が簡素化されているため、既存のシステムへの導入がより容易になるという長所がある。   FIG. 21 is an explanatory diagram showing an example of the policy generation rule 110 in the present embodiment. As shown in FIG. 21, unlike the rule shown in FIG. 7, the system 100 divides the event set by determining whether the extension to be accessed is the same as the policy generation rule R302 instead of the internal state. Use rules to In the present embodiment, as a result of performing processing using the rule shown in FIG. 21, the system 100 generates the access policy shown in FIG. 22 from the event shown in FIG. Therefore, the possibility of erroneous detection is higher than the access policy shown in FIG. 12 generated in the first embodiment. However, since the state observing means 113 is not required and the system configuration is simplified, there is an advantage that introduction into an existing system becomes easier.

次に、本発明の具体的な実施例について説明する。なお、本実施例は、第1の実施の形態で示したアクセスポリシ生成システムを用いたシステム100を具体化したものに相当する。   Next, specific examples of the present invention will be described. Note that this example corresponds to a specific implementation of the system 100 using the access policy generation system described in the first exemplary embodiment.

図23は、本実施例におけるアクセスポリシ生成システムを含むコンピュータ200を示すブロック図である。コンピュータ200は、OSとしてLinuxがインストールされており、Linux上で動作するWWWサーバとしての機能を備える。   FIG. 23 is a block diagram illustrating a computer 200 including an access policy generation system according to the present embodiment. The computer 200 is installed with Linux as an OS, and has a function as a WWW server operating on Linux.

図23に示すように、アクセスポリシ生成システムを含むコンピュータ200は、WWWサーバ201と、システムコール監査手段202と、ファイルシステム203と、ポリシ記憶部204と、分類手段206と、汎化手段207と、ポリシ生成手段208と、アクセスログ記憶部205と、ポリシ生成ルール記憶部209と、スタック検査手段213とを含む。   As shown in FIG. 23, a computer 200 including an access policy generation system includes a WWW server 201, a system call audit unit 202, a file system 203, a policy storage unit 204, a classification unit 206, a generalization unit 207, , A policy generation unit 208, an access log storage unit 205, a policy generation rule storage unit 209, and a stack inspection unit 213.

図23に示すWWWサーバ201は、監視対象プログラム101の具体例であり、Linux上で動作するサーバプログラムである。   A WWW server 201 illustrated in FIG. 23 is a specific example of the monitoring target program 101, and is a server program that operates on Linux.

システムコール検査手段202は、アクセス監査手段102の具体例である。システムコール検査手段202は、Linuxのptraceシステムコールを利用することによって、対象プログラムに基づくシステムコールが発生する度に、ソフトウェア割り込みによってシステムコール名(アクセス名の例)と引数(アクセス対象の例)の内容を確認する処理を行う。または、コンピュータ200は、システムコール検査手段202を直接カーネルモジュール(ドライバ)として実装し、システムコール呼び出しを直接仲介して、上記に示す情報(システムコール名及び引数)を取得するようにしてもよい。   The system call inspection unit 202 is a specific example of the access audit unit 102. The system call inspecting unit 202 uses a Linux ptrace system call so that a system call name (an example of an access name) and an argument (an example of an access target) are generated by a software interrupt each time a system call based on the target program occurs. Confirm the contents of. Alternatively, the computer 200 may directly mount the system call inspection unit 202 as a kernel module (driver) and directly acquire the system call call to acquire the information (system call name and argument) shown above. .

ファイルシステム203は、リソース103の具体例であり、Linuxによって管理されるファイルシステムである。   The file system 203 is a specific example of the resource 103 and is a file system managed by Linux.

ルール生成モードで動作する場合、システムコール検査手段202は、観測したアクセス情報をアクセスログ記憶部205に格納する。また、システムコール検査手段202は、対象プログラムによるシステムコールが発生したことを、スタック検査手段213に通知する処理を行う。   When operating in the rule generation mode, the system call inspection unit 202 stores the observed access information in the access log storage unit 205. The system call inspection unit 202 performs processing for notifying the stack inspection unit 213 that a system call by the target program has occurred.

スタック検査手段213は、状態観測手段113の具体例である。スタック検査手段213は、システムコールが呼び出された時点におけるWWWサーバ201のコールスタックを検査する。   The stack inspection unit 213 is a specific example of the state observation unit 113. The stack checking unit 213 checks the call stack of the WWW server 201 at the time when the system call is called.

スタック検査手段213は、コールスタックを検査することによって、そのシステムコールがプログラム中のどのようなプロシージャによって呼び出されたかを、プロシージャの呼び出し階層を遡って検査する。そして、スタック検査手段213は、その検査結果を示す情報(後述するコールスタック情報)を取得(抽出)する処理を行う。なお、コールスタックを検査することによって、その時点におけるプロシージャ呼び出しの階層を遡って調べることは、例えば、gdb(GNUデバッガ)プログラム等のデバッガプログラムによって実現できる処理である。   The stack checking means 213 checks the call stack to check what procedure in the program calls the system call by going back up the procedure call hierarchy. Then, the stack inspection unit 213 performs processing for acquiring (extracting) information (call stack information described later) indicating the inspection result. Note that, by examining the call stack and examining the procedure call hierarchy at that point in time, this is a process that can be realized by a debugger program such as a gdb (GNU debugger) program.

アクセスログ記憶部205は、ファイルを記憶するコンピュータ200上のメインメモリ又は固定ディスク(例えば、磁気ディスク装置)であり、アクセス記憶部106の具体例である。アクセス記憶部206は、システムコール検査手段202によって検出されたシステムコール呼び出しを示すアクセス情報と、スタック検査手段213によって検査されたシステムコールの呼び出し時点におkるコールスタック情報とを合わせて、イベントとして保存する。   The access log storage unit 205 is a main memory or a fixed disk (for example, a magnetic disk device) on the computer 200 that stores files, and is a specific example of the access storage unit 106. The access storage unit 206 combines the access information indicating the system call invocation detected by the system call inspecting unit 202 and the call stack information at the time of invoking the system call inspected by the stack inspecting unit 213 to obtain an event. Save as.

分類手段206、汎化手段207及びポリシ生成手段208は、それぞれ分類手段106、汎化手段107及びポリシ生成手段108の具体例であり、Linux上で動作するプログラムとして実装されている。   The classification unit 206, the generalization unit 207, and the policy generation unit 208 are specific examples of the classification unit 106, the generalization unit 107, and the policy generation unit 108, respectively, and are implemented as programs that run on Linux.

ポリシ記憶部204は、ポリシ記憶部104の具体例であり、ファイルを記憶するコンピュータ200上のメインメモリ又は固定ディスク(例えば、磁気ディスク装置)である。   The policy storage unit 204 is a specific example of the policy storage unit 104, and is a main memory or a fixed disk (for example, a magnetic disk device) on the computer 200 that stores files.

ポリシ生成ルール記憶部209は、ポリシ記憶部109の具体例であり、ファイルを記憶するコンピュータ200上のメインメモリ又は固定ディスク(例えば、磁気ディスク装置)である。   The policy generation rule storage unit 209 is a specific example of the policy storage unit 109, and is a main memory or a fixed disk (for example, a magnetic disk device) on the computer 200 that stores files.

図24は、アクセスログ記憶部205が格納するアクセスログの具体例を示す説明図である。本実施例では、アクセスログは、XML形式のデータとして格納される。図24に示すように、アクセスログにおいて、それぞれのイベントは event要素で表され、 event要素の子要素の syscall要素がアクセス情報を表し、 syscall要素のname属性がアクセス名である。 syscall要素は子要素として1つ又は複数の arg要素をもつことができ、 arg要素がシステムコールの引数に相当する。 arg要素は value属性をもち、 value属性がシステムコールの引数の値に相当する。本例では、引数は常に1つであり、その唯一の引数がアクセス対象に相当する。   FIG. 24 is an explanatory diagram showing a specific example of the access log stored in the access log storage unit 205. In this embodiment, the access log is stored as XML format data. As shown in FIG. 24, in the access log, each event is represented by an event element, a syscall element as a child element of the event element represents access information, and a name attribute of the syscall element is an access name. The syscall element can have one or more arg elements as child elements, and the arg element corresponds to an argument of the system call. The arg element has a value attribute, and the value attribute corresponds to the value of the argument of the system call. In this example, there is always one argument, and the only argument corresponds to the access target.

また、 event要素の子要素の callstack要素の value属性がリソースアクセス呼び出し時のコールスタックの内容を表す。 callstack属性は、アドレスを16進表記した文字列を「:」で区切った列で表される。図15に示す例では、説明を簡単にするため、全てのイベントが2つのアドレスから成るコールスタックをもつ場合を示しているが、実際には、コールスタックは、データ長がもっと長く、長さもまちまちである。   In addition, the value attribute of the callstack element of the child element of the event element represents the contents of the call stack at the time of resource access invocation. The callstack attribute is represented by a string in which a character string representing an address in hexadecimal notation is separated by “:”. In the example shown in FIG. 15, for simplicity of explanation, the case where all events have a call stack composed of two addresses is shown. However, in practice, the call stack has a longer data length and a longer length. It is a town.

例えば、図24に示すイベントE21は、「/var/run/httpd.pid」をアクセス対象とする writeシステムコール呼び出しであり、呼び出し時のコールスタックが「 40008080:80008a5a」であるイベントを示す。   For example, the event E21 shown in FIG. 24 is a write system call call for accessing “/var/run/httpd.pid”, and the call stack at the time of the call is “40008080: 80008a5a”.

なお、本実施例では、上記に示したように、XML形式のデータをアクセスログとして用いる場合を説明したが、別の形式のデータをアクセスログとして用いてもよい。また、アクセスログは、データベースに格納された表データのようなデータであってもよい。   In the present embodiment, as described above, the case where XML format data is used as the access log has been described, but data in another format may be used as the access log. The access log may be data such as table data stored in a database.

図25は、ポリシ生成ルール記憶部209が格納するポリシ生成ルール210の具体例を示す説明図である。本実施例では、アクセスログと同様に、ポリシ生成ルール210も、XML形式のデータとして格納される。   FIG. 25 is an explanatory diagram of a specific example of the policy generation rule 210 stored in the policy generation rule storage unit 209. In this embodiment, as with the access log, the policy generation rule 210 is also stored as XML format data.

図25に示すように、各ポリシ生成ルール210は、rule要素で表される。また、rule要素において、delete属性が指定可能であり、delete属性の値が「 yes」の場合には削除フラグが設定されていることを示す。rule要素はclassify要素とgeneralize要素とを子要素としてもち、それぞれ分類ルールと汎化ルールとも相当する。また、classify要素のmethod属性の値が「choice」の場合には選択分類ルールであることを示し、method属性の値が「divide」の場合には分割分類ルールであることを示す。また、select属性は、分類の条件を示しており、XPathで記述される。XPathは、XML文書中のノード(要素や属性等)を指定する記法であり、W3C勧告として公開されている。   As shown in FIG. 25, each policy generation rule 210 is represented by a rule element. In the rule element, the delete attribute can be specified, and when the value of the delete attribute is “yes”, it indicates that the deletion flag is set. The rule element has a classify element and a generalize element as child elements, and corresponds to a classification rule and a generalization rule, respectively. Further, when the value of the method attribute of the classify element is “choice”, it indicates a selection classification rule, and when the value of the method attribute is “divide”, it indicates a division classification rule. The select attribute indicates a classification condition and is described in XPath. XPath is a notation for designating nodes (elements, attributes, etc.) in an XML document, and is published as a W3C recommendation.

また、generalize要素のmethod属性の値が「direct」の場合には直接汎化ルールであることを示し、generalize要素の子要素の value属性の値が、置き換える値を示す。method属性の値が「GLOB」の場合にはGLOB汎化ルールであることを示す。いずれの場合も、select属性にXPath形式で記述された値を置き換えるノードを指定する。   Further, when the value of the method attribute of the generalize element is “direct”, this indicates a direct generalization rule, and the value of the value attribute of a child element of the generalize element indicates a replacement value. When the value of the method attribute is “GLOB”, it indicates that the rule is a GLOB generalization rule. In either case, the node that replaces the value described in the XPath format is specified in the select attribute.

以下、分類手段206、汎化手段207及びポリシ生成手段208の具体的な手順について、具体例を用いて説明する。   Hereinafter, specific procedures of the classification unit 206, the generalization unit 207, and the policy generation unit 208 will be described using specific examples.

本実施例において、ポリシ生成ルールR11に含まれる選択分類ルールR12のselect属性の値は、「 syscall要素の最初の子の arg要素であり、かつ value属性の値が「 /tmp/」で始まっているノード」を選択するための条件式である。また、ポリシ生成ルールR11に含まれる直接汎化ルールR13のselect属性の値は、「 syscall要素の最初の arg要素の value属性」を表し、子要素として「/tmp/*」という値をもつ value属性が定義されている。   In this embodiment, the value of the select attribute of the selection classification rule R12 included in the policy generation rule R11 is “the arg element of the first child of the syscall element, and the value attribute value starts with“ / tmp / ”. This is a conditional expression for selecting the “node”. Further, the value of the select attribute of the direct generalization rule R13 included in the policy generation rule R11 represents “the value attribute of the first arg element of the syscall element”, and a value having a value of “/ tmp / *” as a child element. The attribute is defined.

ポリシ生成ルールR11を用いた場合の分類手段206、汎化手段207及びポリシ生成手段208の具体的処理手順は以下のとおりである。分類手段206は、イベント集合を示すXML文書(図24参照)の各 event要素に対して、選択分類ルールR12のselect属性で示されるXPath形式の値を評価し、XPath形式で指示されたノードを含む event要素を選択する。その処理の結果、分類手段206は、 event要素E22を選択する。   Specific processing procedures of the classification unit 206, the generalization unit 207, and the policy generation unit 208 when the policy generation rule R11 is used are as follows. The classification unit 206 evaluates the value of the XPath format indicated by the select attribute of the selection classification rule R12 for each event element of the XML document (see FIG. 24) indicating the event set, and determines the node specified in the XPath format. Select the event element that contains it. As a result of the processing, the classification unit 206 selects the event element E22.

次に、汎化手段207は、分類手段206が選択したイベントの集合(イベントE22のみから成る)に対して、直接汎化ルールR13のselect属性で示されるXPath形式の値を評価し、XPath形式で指示されたノードの値を「/tmp/*」に置き換える。そのような処理を行うことにより、汎化手段207は、 event要素E22の子の syscall要素の最初の arg要素の value属性の値を「/tmp/*」に変換する。そして、ポリシ生成ルールR11にはdeleteフラグが設定されているため、イベントE22の内容をポリシ生成手段208に渡した後、分類手段206は、アクセスログ記憶部205から削除する。   Next, the generalization unit 207 directly evaluates the value of the XPath format indicated by the select attribute of the generalization rule R13 with respect to the set of events (only the event E22) selected by the classification unit 206, and the XPath format Replace the value of the node indicated in with "/ tmp / *". By performing such processing, the generalization unit 207 converts the value of the value attribute of the first arg element of the syscall element that is a child of the event element E22 to “/ tmp / *”. Since the delete flag is set in the policy generation rule R11, the classification unit 206 deletes the event E22 from the access log storage unit 205 after passing the contents of the event E22 to the policy generation unit 208.

次に、ポリシ生成ルールR14を用いた場合の分類手段206、汎化手段207及びポリシ生成手段208の処理について具体的に説明する。ポリシ生成ルールR14に含まれる選択分類ルールR15のselect属性の値は、「name属性の値が「read」である syscall要素」を示す条件式である。また、分割分類ルールR16のselect属性の値は、「子の callstack要素の value属性」を示す式である。また、GLOB汎化ルールR17のselect属性の値は、「 syscall要素の最初の arg要素の value属性」を示す。   Next, the processing of the classification unit 206, the generalization unit 207, and the policy generation unit 208 when the policy generation rule R14 is used will be specifically described. The value of the select attribute of the selection classification rule R15 included in the policy generation rule R14 is a conditional expression indicating “syscall element whose name attribute value is“ read ””. The value of the select attribute of the division classification rule R16 is an expression indicating “value attribute of child callstack element”. Further, the value of the select attribute of the GLOB generalization rule R17 indicates “the value attribute of the first arg element of the syscall element”.

なお、本実施例では、分類ルールを複数指定可能であり、それらの分類ルールをAND結合で評価する場合を説明する。   In the present embodiment, a case will be described in which a plurality of classification rules can be specified and these classification rules are evaluated by AND combination.

ポリシ生成ルールR14を用いた場合の分類手段206、汎化手段207及びポリシ生成手段208の具体的処理手順は以下のとおりである。分類手段206は、ポリシ生成ルールR11の処理後のイベント集合を示すXML文書(図26参照)の各 event要素に対して、GLOB汎化ルールR17のselect属性で示されるXPath形式の値を評価し、XPath形式で指示されたノードを含む event要素を選択する。その処理の結果、分類手段206は、 event要素E23とE24とを選択する。次に、分類手段206は、イベントE23とE24とから成るイベントの集合の各 event要素に対して、分割分類ルールR16のselect属性で示されるXPath形式で示されるノードの値が一致するイベントが、同じ部分集合に属するように分割する。本例の場合、イベントE23とE24との「子の callstack要素の value属性」が同じ値であるため、分類手段206は、分割分類ルールR16を用いた分類処理後も、イベントE23とE24とから成るイベントの集合を残す。   Specific processing procedures of the classification unit 206, the generalization unit 207, and the policy generation unit 208 when the policy generation rule R14 is used are as follows. The classification unit 206 evaluates the value of the XPath format indicated by the select attribute of the GLOB generalization rule R17 for each event element of the XML document (see FIG. 26) indicating the event set after the processing of the policy generation rule R11. , Select the event element containing the node indicated in the XPath format. As a result of the processing, the classification unit 206 selects the event elements E23 and E24. Next, the classifying unit 206 determines that an event whose node value indicated by the XPath format indicated by the select attribute of the division classification rule R16 matches each event element of the event set including the events E23 and E24, Split to belong to the same subset. In the case of this example, since the “value attribute of child callstack element” of the events E23 and E24 is the same value, the classifying means 206 also uses the events E23 and E24 after the classification processing using the division classification rule R16. Leave a set of events consisting of.

次に、汎化手段207は、上記の分類手段206が生成したイベントの集合(イベントE23とE24とから成る)に対して、GLOB汎化ルールR17のselect属性で示されるXPath形式の値を評価し、選択されたノードの値に対してGLOB汎化処理を適用(実行)する。GLOB汎化ルールR17のselect属性で示されるXPath形式は、「 syscall要素の最初の arg要素の value属性」を示すため、汎化手段207は、ノードの値として、それぞれ「/usr/lib/libc.so」と「 /usr/lib/libutil.so」とを選択する。   Next, the generalization means 207 evaluates the value of the XPath format indicated by the select attribute of the GLOB generalization rule R17 for the set of events (consisting of events E23 and E24) generated by the classification means 206 described above. Then, the GLOB generalization process is applied (executed) to the value of the selected node. Since the XPath format indicated by the select attribute of the GLOB generalization rule R17 indicates “the value attribute of the first arg element of the syscall element”, the generalization means 207 uses “/ usr / lib / libc” as the node value. Select ".so" and "/usr/lib/libutil.so".

汎化手段207は、この選択した2つの文字列に対して、図5に示したGLOB汎化処理を適用(実行)して、「 /usr/lib/*.so」という文字列を生成する。また、汎化手段207は、この生成した値(文字列)をイベントE23とE24との syscall要素の最初の arg要素の value属性に代入する。そして、ポリシ生成ルールR14にはdeleteフラグが設定されているため、イベントE23とE24との内容をポリシ生成手段208に渡した後、分類手段206は、アクセスログ記憶部205から削除する。   The generalization means 207 applies (executes) the GLOB generalization process shown in FIG. 5 to the two selected character strings to generate a character string “/usr/lib/*.so”. . Further, the generalization unit 207 substitutes the generated value (character string) for the value attribute of the first arg element of the syscall element of the events E23 and E24. Since the delete flag is set in the policy generation rule R14, the contents of the events E23 and E24 are transferred to the policy generation unit 208, and then the classification unit 206 deletes them from the access log storage unit 205.

なお、ポリシ生成ルールR18を用いる場合も、分類手段206、汎化手段207及びポリシ生成手段208は、ポリシ生成ルールR11,R14を用いた場合と同様の処理手順に従って処理を実行する。   Even when the policy generation rule R18 is used, the classification unit 206, the generalization unit 207, and the policy generation unit 208 execute processing according to the same processing procedure as that when the policy generation rules R11 and R14 are used.

以上に示す処理の結果、汎化手段207は、図27に示すXMLデータ(イベント集合)をポリシ生成手段208に渡す。ポリシ生成手段207は、図27に示すイベント集合に基づいて、イベントE21,E22,E23によるアクセスを許可し、イベントE21,E22,E23以外のイベントによるアクセスを禁止するアクセスポリシを生成し出力する。   As a result of the processing described above, the generalization unit 207 passes the XML data (event set) shown in FIG. 27 to the policy generation unit 208. The policy generation unit 207 generates and outputs an access policy that permits access by the events E21, E22, and E23 and prohibits access by events other than the events E21, E22, and E23 based on the event set shown in FIG.

以上のように、本実施例によれば、第1の実施の形態で示したアクセスポリシ生成システムを具体的なコンピュータシステム上で実施可能であることが分かる。また、本実施例により、従来技術による方法より精度の高い(誤検知が少なく、検知漏れも少ない)アクセスポリシを生成できることができる。   As described above, according to this embodiment, it can be understood that the access policy generation system shown in the first embodiment can be implemented on a specific computer system. Further, according to the present embodiment, it is possible to generate an access policy with higher accuracy (less erroneous detection and fewer detection omissions) than the conventional method.

本発明は、一般のオペレーティングシステム(OS)のファイルアクセス権限設定や、セキュアOSのアクセス権限設定、アクセス制御ミドルウェアのポリシ設定等を行うシステムが、アクセス制御に用いるアクセスポリシを生成する用途に適用できる。また、ホストベース不正侵入検知システムやホストベース不正侵入防止システムのポリシ設定、サンドボックスモデルをもつバーチャルマシンのポリシ設定等を行うシステムが、アクセス制御に用いるアクセスポリシを生成する用途に適用できる。また、これらの各アクセス権限設定や不正侵入検知/防止システムを実現するソフトウェアが搭載されたサーバ装置やネットワーク機器(例えば、ルータ)にも適用可能である。   INDUSTRIAL APPLICABILITY The present invention can be applied to a purpose of generating an access policy used for access control by a system that performs file access authority setting for a general operating system (OS), access authority setting for a secure OS, policy setting for access control middleware, and the like. . In addition, a system that performs policy setting of a host-based intrusion detection system or host-based intrusion prevention system, policy setting of a virtual machine having a sandbox model, and the like can be applied to the use of generating an access policy used for access control. Further, the present invention can also be applied to server devices and network devices (for example, routers) equipped with software for realizing these access authority settings and unauthorized intrusion detection / prevention systems.

本発明によるアクセスポリシ生成システムを用いたシステム100の構成の例を示すブロック図である。It is a block diagram which shows the example of a structure of the system 100 using the access policy production | generation system by this invention. アクセスポリシ生成システムを用いたシステム100が実行するアクセスポリシ生成処理の一例を示すフローチャートである。It is a flowchart which shows an example of the access policy production | generation process which the system 100 using an access policy production | generation system performs. 分類手段106がアクセスログ記憶部105に格納される各イベントを分類する分類処理の一例を示すフローチャートである。5 is a flowchart illustrating an example of a classification process in which a classification unit 106 classifies each event stored in an access log storage unit 105. 汎化手段107がイベントを汎化する汎化処理の一例を示すフローチャートである。It is a flowchart which shows an example of the generalization process in which the generalization means 107 generalizes an event. GLOB汎化ルールが与えられた場合に、汎化手段107が行う変換処理の一例を示すフローチャートである。It is a flowchart which shows an example of the conversion process which the generalization means 107 performs when a GLOB generalization rule is given. アクセスログ記憶部105に格納されるイベントの集合の例を示す説明図である。6 is an explanatory diagram illustrating an example of a set of events stored in an access log storage unit 105. ポリシ生成ルール記憶部109に格納されているポリシ生成ルール110の例を示す説明図である。It is explanatory drawing which shows the example of the policy production | generation rule 110 stored in the policy production | generation rule memory | storage part 109. FIG. ポリシ生成ルールR01を用いて処理を実行する場合の例を示す説明図である。It is explanatory drawing which shows the example in the case of performing a process using policy production | generation rule R01. ポリシ生成ルールR02を用いて処理を実行する場合の例を示す説明図である。It is explanatory drawing which shows the example in the case of performing a process using policy production | generation rule R02. ポリシ生成ルールR03を用いて処理を実行する場合の例を示す説明図である。It is explanatory drawing which shows the example in the case of performing a process using policy production | generation rule R03. ポリシ生成手段108に入力されるイベントの例を示す説明図である。It is explanatory drawing which shows the example of the event input into the policy production | generation means. ポリシ生成手段108が生成し出力するアクセスポリシの例を示す説明図である。It is explanatory drawing which shows the example of the access policy which the policy production | generation means 108 produces | generates and outputs. アクセスポリシ生成システムを用いたシステム100の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the system 100 using the access policy production | generation system. 第2の実施の形態におけるアクセスポリシの例を示す説明図である。It is explanatory drawing which shows the example of the access policy in 2nd Embodiment. 第2の実施の形態におけるアクセス監査手段102が行うアクセス監査処理の一例を示すフローチャートである。It is a flowchart which shows an example of the access audit process which the access audit means 102 in 2nd Embodiment performs. 第2の実施の形態におけるリソースアクセスの例を示す説明図である。It is explanatory drawing which shows the example of the resource access in 2nd Embodiment. 第2の実施の形態におけるポリシ生成ルール110の例を示す説明図である。It is explanatory drawing which shows the example of the policy production | generation rule 110 in 2nd Embodiment. アクセスポリシ生成システムを用いたシステム100の更に他の構成例を示すブロック図である。It is a block diagram which shows the further another structural example of the system 100 using the access policy generation system. OSの種類を追加して含むポリシ生成ルール110の例を示す説明図である。It is explanatory drawing which shows the example of the policy production | generation rule 110 which additionally includes the kind of OS. アクセスポリシ生成システムを用いたシステム100の他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the system 100 using the access policy production | generation system. 第3の実施の形態におけるポリシ生成ルール110の例を示す説明図である。It is explanatory drawing which shows the example of the policy production | generation rule 110 in 3rd Embodiment. 第3の実施の形態におけるアクセスポリシの例を示す説明図である。It is explanatory drawing which shows the example of the access policy in 3rd Embodiment. アクセスポリシ生成システムを含むコンピュータ200を示すブロック図である。It is a block diagram which shows the computer 200 containing an access policy production | generation system. アクセスログ記憶部205が格納するアクセスログの具体例を示す説明図である。It is explanatory drawing which shows the specific example of the access log which the access log memory | storage part 205 stores. ポリシ生成ルール記憶部209が格納するポリシ生成ルール210の具体例を示す説明図である。It is explanatory drawing which shows the specific example of the policy production | generation rule 210 which the policy production | generation rule memory | storage part 209 stores. ポリシ生成ルールR11の処理後のイベント集合を示すXML文書の例を示す説明図である。It is explanatory drawing which shows the example of the XML document which shows the event set after the process of policy production | generation rule R11. 汎化処理後のイベント集合をを示すXMLデータの例を示す説明図である。It is explanatory drawing which shows the example of the XML data which shows the event set after a generalization process.

符号の説明Explanation of symbols

100 システム
101 対象プログラム
102 アクセス監査手段
103 リソース
104 ポリシ記憶部
105 アクセスログ記憶部
106 分類手段
107 汎化手段
108 ポリシ生成手段
109 ポリシ生成ルール記憶部
110 ポリシ生成ルール
111 分類ルール
112 汎化ルール
113 状態観測手段
120 入力装置
100 System 101 Target Program 102 Access Auditing Unit 103 Resource 104 Policy Storage Unit 105 Access Log Storage Unit 106 Classification Unit 107 Generalization Unit 108 Policy Generation Unit 109 Policy Generation Rule Storage Unit 110 Policy Generation Rule 111 Classification Rule 112 Generalization Rule 113 State Observation means 120 Input device

Claims (12)

監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成システムであって、
前記監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出手段と、
アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、前記アクセス検出手段が出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成手段とを
備えたことを特徴とするアクセスポリシ生成システム。
An access policy generation system for generating an access policy for restricting a monitored program from accessing a specific resource,
Access detection means for detecting access to the resource by the monitored program and outputting access information indicating the content of the detected access;
An access policy generation system comprising: access policy generation means for generating an access policy based on the access information output by the access detection means in accordance with a policy generation rule that is information indicating an access policy generation condition .
アクセス検出手段が監視対象のプログラムによるリソースへのアクセスの発生を検出すると、前記監視対象のプログラムに従って実行されている処理の状態を検出する状態検出手段を備え、
前記状態検出手段は、前記監視対象のプログラムに従って実行されている処理の状態の検出結果を、前記アクセス検出手段が出力したアクセス情報に付加し、
アクセスポリシ生成手段は、前記状態検出手段が前記監視対象のプログラムに従って実行されている処理の状態の検出結果を付加したアクセス情報に基づいて、アクセスポリシを生成する
請求項1記載のアクセスポリシ生成システム。
When the access detection unit detects the occurrence of access to the resource by the monitoring target program, the access detection unit includes a state detection unit that detects the state of the process being executed according to the monitoring target program,
The state detection unit adds the detection result of the state of the process being executed according to the monitored program to the access information output by the access detection unit,
The access policy generation system according to claim 1, wherein the access policy generation unit generates an access policy based on access information to which a detection result of a state of processing executed by the state detection unit according to the monitoring target program is added. .
ポリシ生成ルールを予め記憶するポリシ生成ルール記憶手段を備え、
アクセスポリシ生成手段は、前記ポリシ生成ルール記憶手段が記憶するポリシ生成ルールに従って、アクセスポリシを生成する
請求項1又は請求項2記載のアクセスポリシ生成システム。
A policy generation rule storage means for storing the policy generation rule in advance;
The access policy generation system according to claim 1 or 2, wherein the access policy generation unit generates an access policy in accordance with a policy generation rule stored in the policy generation rule storage unit.
ポリシ生成ルール記憶手段は、アクセス情報を分類するための所定の分類条件を示す分類ルールと、アクセス情報を汎化するための所定の汎化条件を示す汎化ルールとを含むポリシ生成ルールを予め記憶し、
アクセスポリシ生成手段は、
前記ポリシ生成ルールが含む分類ルールに従って、アクセス検出手段が出力したアクセス情報を分類する分類手段と、
前記ポリシ生成ルールが含む汎化ルールに従って、前記分類手段が分類したアクセス情報を汎化する汎化手段と、
前記汎化手段が汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成手段とを含む
請求項3記載のアクセスポリシ生成システム。
The policy generation rule storage means stores in advance a policy generation rule including a classification rule indicating a predetermined classification condition for classifying access information and a generalization rule indicating a predetermined generalization condition for generalizing access information. Remember,
The access policy generation means
Classification means for classifying the access information output by the access detection means according to the classification rule included in the policy generation rule;
Generalization means for generalizing the access information classified by the classification means according to the generalization rule included in the policy generation rule;
The access policy generation system according to claim 3, further comprising policy generation means for generating an access policy based on the access information generalized by the generalization means.
リソースへのアクセスを許可する許可ルールを示す許可ポリシにもとづいて行うポリシ強制に用いる、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成システムであって、
前記ポリシ強制の際に、前記監視対象のプログラムによる前記リソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出手段と、
前記アクセス検出手段が前記監視対象のプログラムによるリソースへのアクセスの発生を検出すると、当該監視対象のプログラムに従って実行されている処理の状態を検出する状態検出手段と、
前記アクセス検出手段が出力した複数のアクセス情報を、予め作成されたアクセスポリシの生成条件を示すポリシ生成ルールに含まれる分類ルールに基づいて分類する分類手段と、
前記分類手段が分類したアクセス情報を、前記ポリシ生成ルールに含まれる汎化ルールに基づいて汎化する汎化手段と、
前記汎化手段が汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成手段とを備え、
前記状態検出手段は、前記監視対象のプログラムに従って実行されている処理の状態の検出結果を、対応するアクセス情報に付加する
ことを特徴とするアクセスポリシ生成システム。
This is an access policy generation system that generates an access policy for restricting access of a monitored program to a specific resource, which is used for policy enforcement based on an authorization policy indicating an authorization rule for permitting access to a resource. And
Access detection means for detecting access to the resource by the monitored program at the time of policy enforcement, and outputting access information indicating the content of the detected access;
When the access detection unit detects the occurrence of access to the resource by the monitoring target program, the state detection unit detects the state of the process being executed according to the monitoring target program;
Classification means for classifying the plurality of access information output by the access detection means based on a classification rule included in a policy generation rule indicating a generation condition of an access policy created in advance,
Generalization means for generalizing the access information classified by the classification means based on a generalization rule included in the policy generation rule;
Policy generating means for generating an access policy based on the access information generalized by the generalization means,
The status detection unit adds a detection result of a status of a process executed in accordance with the monitored program to corresponding access information.
分類手段は、分類ルールとして、複数のアクセス情報から所定の条件に合致するアクセス情報のみを選択する条件を示す選択分類ルールと、所定の条件に合致するアクセス情報同士が同一の集合に属するように、複数のアクセス情報を分割する条件を示す分割分類ルールとを含むポリシ生成ルールに基づいて、アクセス情報を分類する請求項5記載のアクセスポリシ生成システム。   The classification means includes a selection classification rule indicating a condition for selecting only access information that matches a predetermined condition from a plurality of access information as a classification rule, and the access information that satisfies the predetermined condition belongs to the same set. 6. The access policy generation system according to claim 5, wherein the access information is classified based on a policy generation rule including a division classification rule indicating a condition for dividing the plurality of access information. アクセスポリシによって許可されたアクセスが発生したときに状態検出手段が検出した監視対象のプログラムに従って実行されている処理の状態を保存する状態記憶手段を備え、
アクセス検出手段は、アクセスポリシに基づいてアクセスを検出する際に、状態検出手段が検出した監視対象のプログラムに従って実行されている処理の状態が、前記状態記憶手段に格納されている状態と合致するか否かに基づいて、アクセスの検出を行い、
ポリシ生成手段は、監視対象のプログラムに従って実行されている処理の状態に合致するか否かに基づいて、アクセスを検出するか否かを指示するアクセスポリシを生成する
請求項5又は請求項6記載のアクセスポリシ生成システム。
A state storage unit that stores a state of a process executed in accordance with a monitoring target program detected by the state detection unit when an access permitted by the access policy occurs;
When the access detection means detects an access based on the access policy, the state of the process executed in accordance with the monitored program detected by the state detection means matches the state stored in the state storage means. Based on whether or not
7. The policy generation unit generates an access policy that instructs whether to detect access based on whether or not the state of the process being executed according to the monitored program matches. Access policy generation system.
監視対象のプログラムが動作するプラットフォームの種類やバージョンを検出し、検出したプラットフォームの種類やバージョンに合致するポリシ生成ルールを取得するポリシ生成ルール取得手段を備えた請求項5から請求項7のうちのいずれか1項に記載のアクセスポリシ生成システム。   8. The policy generation rule acquisition means for detecting the type and version of the platform on which the program to be monitored operates, and acquiring a policy generation rule that matches the detected type and version of the platform. The access policy generation system according to any one of the above. 監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成方法であって、
前記監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出ステップと、
アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、前記アクセス検出ステップで出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成ステップとを
含むことを特徴とするアクセスポリシ生成方法。
An access policy generation method for generating an access policy for restricting a monitored program from accessing a specific resource,
An access detection step of detecting access to the resource by the monitored program and outputting access information indicating the content of the detected access;
An access policy generation method, comprising: an access policy generation step of generating an access policy based on the access information output in the access detection step according to a policy generation rule which is information indicating an access policy generation condition.
リソースへのアクセスを許可する許可ルールを示す許可ポリシにもとづいて行うポリシ強制に用いる、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成方法であって、
前記ポリシ強制の際に、前記監視対象のプログラムによる前記リソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出ステップと、
前記アクセス検出ステップで前記監視対象のプログラムによるリソースへのアクセスの発生を検出すると、前記監視対象のプログラムに従って実行されている処理の状態を検出し、前記監視対象のプログラムに従って実行されている処理の状態の検出結果を、対応するアクセス情報に付加する状態検出ステップと、
前記アクセス検出ステップで出力した複数のアクセス情報を、予め作成されたアクセスポリシの生成条件を示すポリシ生成ルールに含まれる分類ルールに基づいて分類する分類ステップと、
前記分類ステップで分類したアクセス情報を、前記ポリシ生成ルールに含まれる汎化ルールに基づいて汎化する汎化ステップと、
前記汎化ステップで汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成ステップとを
含むことを特徴とするアクセスポリシ生成方法。
This is an access policy generation method that generates an access policy for restricting a monitored program from accessing a specific resource, which is used for policy enforcement performed based on an authorization policy indicating an authorization rule for permitting access to a resource. And
An access detection step of detecting access to the resource by the monitored program at the time of policy enforcement and outputting access information indicating the content of the detected access;
When the occurrence of access to the resource by the monitored program is detected in the access detecting step, the status of the process being executed according to the monitored program is detected, and the process being executed according to the monitored program is detected. A state detection step of adding a state detection result to the corresponding access information;
A classification step for classifying the plurality of access information output in the access detection step based on a classification rule included in a policy generation rule indicating a generation condition of an access policy created in advance,
A generalization step of generalizing the access information classified in the classification step based on a generalization rule included in the policy generation rule;
A policy generation step of generating an access policy based on the access information generalized in the generalization step.
監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するためのアクセスポリシ生成用プログラムであって、
コンピュータに、
前記監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出処理と、
アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、前記出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成処理とを
実行させるためのアクセスポリシ生成用プログラム。
An access policy generation program for generating an access policy for restricting a monitored program from accessing a specific resource,
On the computer,
An access detection process for detecting access to a resource by the monitored program and outputting access information indicating the content of the detected access;
An access policy generation program for executing an access policy generation process for generating an access policy based on the output access information in accordance with a policy generation rule which is information indicating an access policy generation condition.
リソースへのアクセスを許可する許可ルールを示す許可ポリシにもとづいて行うポリシ強制に用いる、監視対象のプログラムが特定のリソースにアクセスすることを制限するためのアクセスポリシを生成するアクセスポリシ生成用プログラムであって、
コンピュータに、
前記ポリシ強制の際に、前記監視対象のプログラムによる前記リソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出処理と、
前記監視対象のプログラムによるリソースへのアクセスの発生を検出すると、前記監視対象のプログラムに従って実行されている処理の状態を検出し、前記監視対象のプログラムに従って実行されている処理の状態の検出結果を、対応するアクセス情報に付加する状態検出処理と、
前記出力した複数のアクセス情報を、予め作成されたアクセスポリシの生成条件を示すポリシ生成ルールに含まれる分類ルールに基づいて分類する分類処理と、
前記分類したアクセス情報を、前記ポリシ生成ルールに含まれる汎化ルールに基づいて汎化する汎化処理と、
前記汎化したアクセス情報に基づいて、アクセスポリシを生成するポリシ生成処理とを
実行させるためのアクセスポリシ生成用プログラム。
This is an access policy generation program that generates an access policy for restricting the monitored program from accessing a specific resource, which is used for policy enforcement performed based on an authorization policy indicating an authorization rule for permitting access to a resource. There,
On the computer,
An access detection process for detecting access to the resource by the monitored program at the time of policy enforcement and outputting access information indicating the content of the detected access;
When the occurrence of access to the resource by the monitored program is detected, the status of the process being executed according to the monitored program is detected, and the detection result of the status of the process being executed according to the monitored program is displayed. State detection processing to be added to the corresponding access information,
A classification process for classifying the plurality of output access information based on a classification rule included in a policy generation rule indicating a generation condition of an access policy created in advance;
A generalization process for generalizing the classified access information based on a generalization rule included in the policy generation rule;
An access policy generation program for executing a policy generation process for generating an access policy based on the generalized access information.
JP2005299272A 2005-10-13 2005-10-13 Access policy creation system, method and program Withdrawn JP2007109016A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005299272A JP2007109016A (en) 2005-10-13 2005-10-13 Access policy creation system, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005299272A JP2007109016A (en) 2005-10-13 2005-10-13 Access policy creation system, method and program

Publications (1)

Publication Number Publication Date
JP2007109016A true JP2007109016A (en) 2007-04-26

Family

ID=38034838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005299272A Withdrawn JP2007109016A (en) 2005-10-13 2005-10-13 Access policy creation system, method and program

Country Status (1)

Country Link
JP (1) JP2007109016A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009081530A1 (en) * 2007-12-26 2009-07-02 Nec Corporation Virtual computer system, system for forcing policy, method for forcing policy, and virtual computer control program
JP2012178137A (en) * 2011-02-02 2012-09-13 Hitachi Solutions Ltd Security policy management server and security monitoring system
WO2015087923A1 (en) * 2013-12-11 2015-06-18 株式会社アイキュエス Access control device, program and access control system
US10929356B2 (en) 2018-06-04 2021-02-23 International Business Machines Corporation Detection of hidden data co-occurrence relationships
CN114462373A (en) * 2022-02-09 2022-05-10 星环信息科技(上海)股份有限公司 Audit rule determination method and device, electronic equipment and storage medium
WO2023144906A1 (en) * 2022-01-26 2023-08-03 日本電気株式会社 Analysis device, analysis method, and non-transitory computer-readable medium
US11899668B2 (en) 2013-08-12 2024-02-13 International Business Machines Corporation Database management apparatus, database control method and program

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009081530A1 (en) * 2007-12-26 2009-07-02 Nec Corporation Virtual computer system, system for forcing policy, method for forcing policy, and virtual computer control program
US8468522B2 (en) 2007-12-26 2013-06-18 Nec Corporation Virtual machine system, system for forcing policy, method for forcing policy, and virtual machine control program
JP5387415B2 (en) * 2007-12-26 2014-01-15 日本電気株式会社 Virtual computer system, policy enforcement system, policy enforcement method, and virtual computer control program
JP2012178137A (en) * 2011-02-02 2012-09-13 Hitachi Solutions Ltd Security policy management server and security monitoring system
US11899668B2 (en) 2013-08-12 2024-02-13 International Business Machines Corporation Database management apparatus, database control method and program
WO2015087923A1 (en) * 2013-12-11 2015-06-18 株式会社アイキュエス Access control device, program and access control system
JP2015114837A (en) * 2013-12-11 2015-06-22 株式会社アイキュエス Access control device, program and access control system
CN105247534A (en) * 2013-12-11 2016-01-13 株式会社Iqs Access control device, program and access control system
US10262152B2 (en) 2013-12-11 2019-04-16 Finalcode, Inc. Access control apparatus, computer-readable medium, and access control system
US10929356B2 (en) 2018-06-04 2021-02-23 International Business Machines Corporation Detection of hidden data co-occurrence relationships
WO2023144906A1 (en) * 2022-01-26 2023-08-03 日本電気株式会社 Analysis device, analysis method, and non-transitory computer-readable medium
CN114462373A (en) * 2022-02-09 2022-05-10 星环信息科技(上海)股份有限公司 Audit rule determination method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
Milajerdi et al. Poirot: Aligning attack behavior with kernel audit records for cyber threat hunting
JP6672457B2 (en) Software risk control method and system for software development
US10154066B1 (en) Context-aware compromise assessment
KR100509650B1 (en) Method to detect malicious scripts using code insertion technique
US7865777B2 (en) Thread interception and analysis
US9300682B2 (en) Composite analysis of executable content across enterprise network
JP2018073423A (en) File-modifying malware detection
US20110239293A1 (en) Auditing access to data based on resource properties
JPWO2006087780A1 (en) Vulnerability audit program, vulnerability audit device, vulnerability audit method
KR100968126B1 (en) System for Detecting Webshell and Method Thereof
JP2007109016A (en) Access policy creation system, method and program
Møller et al. Automated detection of client-state manipulation vulnerabilities
EP3196798A1 (en) Context-sensitive copy and paste block
CN111183620B (en) Intrusion investigation
JP2019008377A (en) Collation information generation device, management system, and collation information generation method
Seacord et al. A structured approach to classifying security vulnerabilities
Fu et al. Data correlation‐based analysis methods for automatic memory forensic
Zhu et al. Detecting privilege escalation attacks through instrumenting web application source code
JP4363214B2 (en) Access policy generation system, access policy generation method, and access policy generation program
KR101503827B1 (en) A detect system against malicious processes by using the full path of access files
CN112733157B (en) File uploading method, system and medium based on non-executable directory
CN116048554A (en) Container mirror image security scanning method and device, electronic equipment and storage medium
Ahn et al. Systematic policy analysis for high-assurance services in SELinux
Li et al. LogKernel: A threat hunting approach based on behaviour provenance graph and graph kernel clustering
US20220101336A1 (en) Compliant and auditable data handling in a data confidence fabric

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080919

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100401