JP2007109016A - Access policy creation system, method and program - Google Patents
Access policy creation system, method and program Download PDFInfo
- 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
Links
Images
Abstract
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,
また、例えば、特許文献3には、プログラムを一定時間動作させて、観測したリソースアクセスに対して、パス名のパターンによって汎化したり、リソースアクセス時のプログラムの内部状態が類似しているアクセス同士を汎化する方法(従来技術3ともいう)が記載されている。また、例えば、特許文献4には、アクセスポリシ作成を支援するポリシ設定支援ツールが記載されている。
Further, for example, in
従来技術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
従来技術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
特許文献2に記載された方法を用いれば、全てのアクセスを観測できなかった場合に誤検知を生じるという従来技術1における課題を、ある程度解消することができる。しかし、一般に上記のような性質(同一種類のファイルであれば適用できるという性質や、同一のディレクトリにあるファイルであれば適用できるという性質)が成り立たない場合も多いので、必ずしも適切なアクセスポリシを作成できるとは限らない。例えば、同一の拡張子をもつファイルや、同一のディレクトリ内にあるファイルであっても、実際には全く異なるアクセスポリシが適用されるべきことが多い。例えば、Linuxでは、ディレクトリ「/etc/ 」以下に「 .conf」という拡張子をもつファイルが多数あるが、これらは全く別々の機能に関連するファイルが多く、同一のアクセスポリシを適用するべきではない。このような場合に、同一のアクセスポリシを適用すると、検知漏れが発生することになってしまう。
If the method described in
逆に、同一の拡張子をもつファイルや、同一のディレクトリ内にあるファイルでなくても、同一のアクセスポリシが適用される場合も多い。例えば、一般に、ファイルサーバは、公開ディレクトリ以下に存在するファイル全てに対してアクセスしうる。しかし、これらの公開ディレクトリ以下のファイルを拡張子やディレクトリで区別することはできないので、従来技術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
従来技術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
以上のように、従来技術2による方法や従来技術3による方法では、全てのアクセスを観測できなかった場合に誤検知を生じるという従来技術1における課題を、ある程度解消している。しかし、従来技術2による方法を用いたとしても、同一種類のファイルであれば適用できるという性質や、同一のディレクトリにあるファイルであれば適用できるという性質が成り立たない場合には、必ずしも適切なアクセスポリシを作成できるとは限らない。また、従来技術3による方法では、精度よくアクセスポリシを生成でき、従来技術2による方法を用いた場合の課題をある程度解決している。しかし、従来技術3による方法を用いたとしても、監視対象のプログラムによっては、アクセスポリシによる判定条件が強すぎたり弱すぎたりし、依然として誤検知や検知漏れが生じするという課題がある。
As described above, the method according to the
なお、特許文献4に記載されたポリシ設定支援ツールもアクセスポリシの作成に関する従来技術である。しかし、特許文献4では、アクセスポリシ作成の支援に関する支援ツールが記載されているにすぎず、未知のアプリケーションのアクセスポリシを作成することは開示されていない。また、特許文献4に記載されたポリシ設定支援ツールを用いたとしても、アプリケーションのインストール場所や設定が変更された場合に、アクセスポリシ作成のための有効な支援を行うことはできない。
Note that the policy setting support tool described in
そこで、本発明は、アクセスポリシの生成を自動化し、アクセスポリシ作成の手間を可能な限り軽減できるアクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラムを提供することを目的とする。また、本発明は、精度の高いアクセスポリシを生成し、人手による修正の手間をできるだけ軽減できるアクセスポリシ生成システム、アクセスポリシ生成方法及びアクセスポリシ生成用プログラムを提供することを目的とする。 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
また、アクセスポリシ生成システムは、アクセス検出手段が監視対象のプログラムによるリソースへのアクセスの発生を検出すると、監視対象のプログラムに従って実行されている処理の状態を検出する状態検出手段(例えば、状態観測手段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
それら共通の性質の中には、「あるリソースにアクセスした場合には、いずれ別のあるリソースにアクセスする可能性が高い」というリソースアクセスの類推が可能な性質がある。この性質を、「リソースアクセスの共起関係」という。「プログラム中の同一の場所から呼び出されたリソースアクセスには同一のアクセスポリシが適用可能」という性質は、リソースアクセスの共起関係の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
本発明によれば、ポリシ生成ルールに従って、アクセス情報に基づいて、アクセスポリシを生成する。すなわち、単に所定期間のアクセスの観測結果のみに基づいてアクセスポリシを生成するのでなく、個々のプログラムに依存しないイベントの共起関係に基づくポリシ生成ルールに従って、アクセスポリシを生成する。従って、アクセスポリシの生成を自動化し、アクセスポリシ作成の手間を可能な限り軽減することができる。また、精度の高いアクセスポリシを生成し、人手による修正の手間をできるだけ軽減することができる。 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のアクセス権限設定、アクセス制御ミドルウェアのポリシ設定等を行うシステムに適用できる。また、アクセスポリシ生成システムは、ホストベース不正侵入検知システムやホストベース不正侵入防止システムのポリシ設定、サンドボックスモデルをもつバーチャルマシンのポリシ設定等を行うシステムに適用できる。
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
図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
図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
対象プログラム101は、システム100上で動作するプログラムであって、アクセス監視の対象となるプログラムである。例えば、対象プログラム101は、WWWサーバやワードプロセッサ等の各種アプリケーションソフトウェアである。
The target program 101 is a program that operates on the
アクセス監査手段102は、具体的には、プログラムに従って動作するコンピュータによって実現される。アクセス監査手段102は、対象プログラム101が特定のリソース103にアクセスすることを制限するためのアクセスポリシに従って、対象プログラム101が行う各種アクセス(例えば、ファイルへのアクセス)を監視する機能を備える。この場合、アクセス監査手段102は、アクセスポリシの許可ポリシに示される条件に従って(例えば、条件が合致すると)、対象プログラム101が行うアクセスを許可する。また、アクセス監査手段102は、アクセスポリシの禁止ポリシに示される条件に従って(例えば、条件が合致すると)、対象プログラム101が行うアクセスを禁止する。
Specifically, the
本実施の形態では、アクセス監査手段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
「監査モード」で動作する場合、アクセス監査手段102は、対象プログラム101からリソース103へのアクセスを監視する。この場合、アクセス監査手段102は、ポリシ記憶部104に格納されたアクセスポリシに基づいてポリシ強制を行う。
When operating in the “audit mode”, the
「ポリシ強制」とは、ポリシ記憶部104に格納されているアクセスポリシに基づいて、リソースへのアクセスを許可するか禁止するか判定し、許可すると判定したアクセスを受け付け、禁止すると判定したアクセスを拒否する処理である。
“Policy enforcement” refers to determining whether to permit or prohibit access to a resource based on the access policy stored in the
なお「アクセス」とは、対象プログラム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
また、例えば、基盤プログラムが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
なお、状態観測手段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
ここで、アクセスログ記憶部105に保存する情報に加えられた内部状態は、制御手段の内部状態の一部のみとするのが好ましい。なぜなら、一般に、制御手段の内部状態を示すデータ量は大きく、全ての内部状態を示す情報を保存するようにすると、メモリ利用効率上問題が生じる(例えば、メモリ容量が不足してしまう)おそれがあるためである。従って、例えば、制御手段の内部状態のうち、スタックの内容や、コールスタック(特に、スタックの中でも、プロシージャ呼び出しの履歴を格納する部分)のみを保存するようにすればよい。なお、状態観測手段113が検出する制御手段の内部状態を示す情報を内部状態情報ともいう。
Here, it is preferable that the internal state added to the information stored in the access
リソース103は、例えば、アクセス対象のファイルやデータを管理するファイルシステムである。また、リソース103は、例えば、アクセス対象のファイルやデータである。リソース103は、例えば、磁気ディスク装置等の記憶装置に予め蓄積される。なお、図1では、1つのリソース103を示しているが、システム100の記憶装置は、予め複数のリソース103を蓄積してもよい。
The
ポリシ記憶部104は、具体的には、磁気ディスク装置等の記憶装置によって実現される。ポリシ記憶部104は、アクセス監査手段102がアクセス監視に用いるアクセスポリシを記憶する。
Specifically, the
アクセスログ記憶部105は、具体的には、磁気ディスク装置等の記憶装置によって実現される。アクセスログ記憶部105は、アクセス監査手段102によって検知されたアクセス情報(対象プログラム101によるアクセスに基づくアクセス情報)を、一時的に記憶する。また、アクセスログ記憶部105は、状態観測手段113によって検知された内部状態を示す情報(対象プログラム101によるアクセス時の内部状態情報)を、一時的に記憶する。なお、本実施の形態では、アクセスログ記憶部105は、内部状態情報を付加されたアクセス情報を記憶する。
Specifically, the access
なお、アクセス情報は、アクセスの種類とアクセスの対象とを含む情報である。本実施の形態では、アクセスログ記憶部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
分類手段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
汎化手段107は、具体的には、プログラムに従って動作するコンピュータによって実現される。汎化手段107は、分類手段106によって抽出されたイベントの集合に基づいて、ポリシ生成ルール110に含まれる(記述された)汎化ルール112の内容に従って、イベントの汎化を行う処理を実行する機能を備える。本実施の形態では、図1に示すように、ポリシ生成ルール記憶部109は、アクセス情報(アクセス情報に示されるイベント)を汎化するための所定の汎化条件を示す汎化ルール112を含むポリシ生成ルール110を予め記憶している。そして、汎化手段107は、ポリシ生成ルール110に含まれる汎化ルール112に従って、分類手段106が分類したアクセス情報を汎化する処理を行う。
Specifically, the
ここで、イベントの汎化とは、イベントの集合に基づいて、そのイベントの集合を含むより大きなイベントの集合を算出する処理をいう。例えば、イベントの汎化は、「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
ポリシ生成手段108は、具体的には、プログラムに従って動作するコンピュータによって実現される。ポリシ生成手段108は、汎化手段107が汎化したアクセス情報に基づいて、アクセスポリシを生成する機能を備える。本実施の形態では、ポリシ生成手段108は、汎化手段112によって生成されたイベントの集合を、アクセス監査手段102が解釈可能な形式(データ形式)に変換し、アクセスポリシを生成する。また、ポリシ生成手段108は、生成したアクセスポリシをポリシ記憶部104に格納する処理を行う。
Specifically, the
なお、システム100が「監査モード」で動作している場合、アクセスポリシの生成のための動作は行われず、アクセス監査手段102は、アクセスログ記憶部105に対してイベントを一切出力しない(すなわち、アクセスログ記憶部105にイベントを記憶させない)。そのため、「監査モード」で動作している場合、状態観測手段113、分類手段106、汎化手段107及びポリシ生成手段108は、何ら動作を行わないことになる。
When the
また、本実施の形態において、アクセスポリシ生成手段は、分類手段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
ポリシ生成ルール記憶部109は、具体的には、磁気ディスク装置等の記憶装置によって実現される。ポリシ生成ルール記憶部109は、アクセスポリシを生成する際の生成ルールを含むポリシ生成ルール110を、予め複数記憶する。また、ポリシ生成ルール110は、分類ルール111と汎化ルール112とを含む。分類ルール111は、分類手段106がイベントの集合から1つ又は複数の部分集合を抽出する際の抽出ルールである。また、汎化ルール112は、汎化手段107がイベントの集合に基づいてイベントの汎化を行う際の汎化ルールである。
Specifically, the policy generation
なお、本実施の形態において、アクセスポリシ生成システムは、システム100が備える各手段のうち、例えば、アクセス監査手段102、ポリシ記憶部104、アクセスログ記憶部105、分類手段106、汎化手段107、ポリシ生成手段108、ポリシ生成ルール記憶部109及び状態観測手段113によって実現される。
In this embodiment, the access policy generation system includes, for example, an
また、本実施の形態において、システム100の記憶装置は、アクセスポリシを生成するための各種プログラムを記憶している。例えば、システム100の記憶装置は、コンピュータに、監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出処理と、アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成処理とを実行させるためのアクセスポリシ生成用プログラムを記憶している。
In the present embodiment, the storage device of the
次に、動作について説明する。なお、本実施の形態では、ルール生成モードが設定されている場合のシステム100の動作について説明する。図2は、ルール生成モードが設定されている場合に、アクセスポリシ生成システムを用いたシステム100が実行するアクセスポリシ生成処理の一例を示すフローチャートである。
Next, the operation will be described. In the present embodiment, the operation of the
アクセスポリシ生成処理において、アクセス監査手段102は、対象プログラム101からのリソースアクセスを監視している。また、アクセス監査手段102は、アクセスが発生する毎に、アクセスの種類とアクセスの対象とを含むアクセス情報を抽出している。また、状態観測手段113は、アクセスが生じた時点における対象プログラム101の内部状態を取得する。例えば、対象プログラム101からのリソースアクセスが発生すると、状態観測手段113は、制御手段(例えば、コンピュータ)の内部状態を検出する。また、状態観測手段113は、検出した内部状態情報と、アクセス監査手段102が検出したアクセス情報とをイベントとしてまとめて、アクセスログとしてアクセスログ記憶部105に格納する(ステップS101)。
In the access policy generation process, the
また、アクセス監査手段102は、所定の監視終了条件が成立したか否かを判断する(ステップS102)。監視終了条件が成立しないと判断すると、アクセス監査手段102は、ステップS101に戻り、ステップS101,S102の処理を繰り返し実行する。すなわち、アクセスの監視が所定の監視終了条件が成立するまで継続して実行され、監視中にアクセスが発生すると、ステップS101の処理が実行される。
Further, the
監視終了条件は、アクセス監査手段102によるアクセス監視を終了する条件である。例えば、対象プログラム101に基づく処理が終了したことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、ルール生成モードの終了が入力装置110から指定された(ユーザによって指示入力された)ことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、所定期間が経過したことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、所定個数のアクセス情報がアクセスログ記憶部105に格納されたことを条件として、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了する。また、例えば、上記に示したいずれかの任意の条件の組合せが成立すると、監視終了条件が成立し、アクセス監査手段102は、アクセス監視を終了してもよい。
The monitoring end condition is a condition for ending access monitoring by the
なお、この実施の形態において、監視終了条件は予め定められているものとする。例えば、アクセス監査手段102は、予め監視終了条件を定めた設定情報に基づいて、ステップS102において監視終了条件が成立したか否かを判断する。
In this embodiment, it is assumed that the monitoring end condition is predetermined. For example, the
ステップ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
また、汎化手段107は、分類手段106よって抽出された1つ又は複数のイベントの集合について、ポリシ生成ルールに含まれる(記述された)汎化ルール112の内容に従って、汎化処理を実行する(ステップS105)。システム100は、ポリシ生成ルール記憶部109が格納する全てのポリシ生成ルール110について処理を終了したか否かを判断する(ステップS106)。全てのポリシ生成ルール110について処理を終了していないと判断すると、システム100は、ステップS103に戻り、ステップS103〜S106の処理を繰り返し実行する。すなわち、システム100は、ステップS103,S104,S105の一連の処理を、ポリシ生成ルール記憶部109に格納されている全てのポリシ生成ルール110に対して順に行う。
Further, the
全てのポリシ生成ルール110について処理を終了したと判断すると、ポリシ生成手段108は、汎化手段107によって生成されたイベントの集合に基づいて、アクセスポリシを生成する(ステップS107)。そして、ポリシ生成手段108は、生成したアクセスポリシをポリシ記憶部104に格納する。
When it is determined that the processing has been completed for all policy generation rules 110, the
次に、分類手段106の動作について説明する。図3は、分類手段106がアクセスログ記憶部105に格納される各イベントを分類する分類処理(図2のステップS104)の一例を示すフローチャートである。
Next, the operation of the
まず、分類手段106が分類処理に用いる分類ルール111について説明する。本実施の形態において、分類ルール111には、「選択分類ルール」と「分割分類ルール」との2種類が存在する。「選択分類ルール」は、イベントの集合から1つの部分集合を抽出する条件を示す情報である。また、部分集合を抽出する条件とは、抽出された部分集合に属するイベントが満たすべき条件である。
First, the
「分割分類ルール」は、イベントの集合を複数の部分集合に分割するための条件を示す情報である。また、複数の部分集合に分割するための条件とは、イベントのどの属性が同一の値と見なされた場合に同じ部分集合に属するかを示す条件である。ただし、部分集合に含まれるイベントが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
分類処理において、分類手段106は、まず、ステップS103で読み込んだ分類ルール111が選択分類ルールでであるか否かを判定する(ステップS201)。すなわち、分類手段106は、分類ルール111が選択分類ルールであるか分割分類ルールであるかを判定する。
In the classification process, the
読み込んだ分類ルール111が選択分類ルールであると判定すると、分類手段106は、アクセスログ記憶部105に格納されているイベントの集合から、選択分類ルールに指定された条件に合致するイベントを抽出する(ステップS202)。そして、分類手段106は、分類ルール111のイベント削除フラグでイベントを削除する旨が指定されていれば、抽出したイベントをアクセスログ記憶部105から削除する(ステップ205)。また、分類手段206は、抽出したイベントを汎化手段107に渡す。
If it is determined that the read
読み込んだ分類ルール111が分割分類ルールであると判定すると、分類手段106は、アクセスログ記憶部105に格納されているイベントの集合を、分割分類ルールに指定された条件に合致する属性が同一の値をもつイベント集合に分割する。そして、分類手段106は、分割後に要素数が2つ以上あるイベントの集合を抽出する(ステップS203)。次に、分類手段206は、分類ルール111のイベント削除フラグを調べ、削除フラグでイベントを削除する旨が指定されていれば、抽出したイベントの集合に含まれるイベントをアクセスログ記憶部105から削除する(ステップ205)。また、分類手段206は、抽出したイベントの集合を汎化手段107に渡す。
If it is determined that the read
なお、本実施の形態では、分類ルール111が「選択分類ルール」又は「分割分類ルール」のいずれかのルールのみから成っている場合について説明するが、分類ルール111は、それらのルールが複数指定され、AND又はORで結合されていてもよい。例えば、分類ルール111は、選択分類ルールAと選択分類ルールBと分割分類ルールCとを含み、それらのルールA,B,CがANDで組み合わされたものであってもよい。この場合、分類手段106は、選択分類ルールAに従ってイベントの集合から抽出したイベント集合に対して、さらに選択分類ルールBを適用してイベントの集合を抽出する。そして、分類手段106は、更に、その抽出したイベント集合に対して、分割分類ルールCを適用してイベントの集合を抽出するようにしてもよい。
In this embodiment, the case where the
次に、汎化手段107の動作について説明する。図4は、汎化手段107がイベントを汎化する汎化処理(図2のステップS105)の一例を示すフローチャートである。汎化ルール112は、分類手段106によって抽出されたイベントの集合に対して適用される。例えば、分類ルール111が分割分類ルールである場合、分類手段106によってイベントの集合が複数抽出される。この場合、分類手段106によって抽出されたそれぞれのイベントの集合に対して、順に汎化手段107による汎化処理が適用される。汎化手段107の処理内容は、汎化ルール112に含まれる(記述されている)。
Next, the operation of the
まず、汎化手段107が汎化処理に用いる汎化ルール112について説明する。本実施の形態において、汎化ルール112には、「直接汎化ルール」と「GLOB汎化ルール」との2種類がある。「直接汎化ルール」は、イベントの集合に含まれるそれぞれのイベントのある属性を、指定された値に直接置き換える処理方法を指定する情報である。また、イベントのどの属性を置き換えるかを示す情報は、直接汎化ルールの条件部に記述されている。また、値が複数指定された場合、汎化手段107は、汎化対象のイベントの複製を生成し、複製を含む複数のイベントについて、それぞれのイベントの属性の値を指定された値に置き換える。
First, the
「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
汎化処理において、汎化手段107は、まず、ステップS103で読み込んだ汎化ルール112が直接汎化ルールであるか否かを判定する(ステップS301)。すなわち、汎化手段107は、汎化ルール112が直接汎化ルールかGLOB汎化ルールかを判定する。
In the generalization process, the
読み込んだ汎化ルール112が直接汎化ルールであると判定すると、汎化手段107は、処理対象としているイベント集合に含まれる各イベントそれぞれに対して、直接汎化ルールに記述された条件に合致する属性を、直接汎化ルールで指定された属性値に置き換える(ステップS302)。また、読み込んだ汎化ルール112がGLOB汎化ルールであると判定すると、汎化手段107は、処理対象としているイベント集合に含まれる各イベントの属性のうち、GLOB汎化ルールに記述された条件に合致する属性値からGLOBパターンを生成する。そして、汎化手段107は、その条件に合致する属性値を、生成したGLOBパターンに置き換える(ステップS303)。
If it is determined that the
汎化手段107は、分類手段106が抽出したイベント集合のうち、未処理のイベント集合があるか否かを判断する(ステップS304)。未処理のイベント集合があると判断すると、汎化手段107は、ステップS301に戻り、ステップS301〜S304の処理を繰り返し実行する。すなわち、汎化手段107は、分類手段106によって複数のイベント集合が抽出されている場合、全てのイベント集合に対して、上記に示したステップS301〜S304の処理を繰り返す。また、汎化手段107は、上記の処理に従って生成したイベントを、ポリシ生成手段108に渡す。
The
次に、GLOB汎化ルールが与えられた場合の汎化手段107の動作を説明する。図5は、GLOB汎化ルールが与えられた場合に、汎化手段107が行う変換処理(図4のステップS303)の一例を示すフローチャートである。まず、汎化手段107は、分類手段106が抽出したイベント集合について、与えられた複数の文字列に含まれるパスセパレータ(例えば、UNIXやLinuxの場合「/ 」)の数を数え、それぞれのパスの深さを算出する。そして、汎化手段107は、算出したパスの深さに基づいて、同一の深さのパスの集合を抽出する(ステップS401)。
Next, the operation of the
また、汎化手段107は、抽出した同一の深さのパスの集合に含まれるそれぞれのパスのファイル名・ディレクトリ名部分(パスコンポーネントという)を、「. 」をデリミタとしてトークン化する(ステップS402)。ここで、「. 」をデリミタとしてトークン化するのは、拡張子を特別扱いするためである。なお、汎化手段107は、「. 」をデリミタとして用いる方法以外のトークン化のルールを用いてもよい。例えば、汎化手段107は、数字と英字とが別々のトークンになるルールを用いて、パスコンポーネントをトークン化してもよい。また、例えば、汎化手段107は、「- 」や「_ 」をデリミタとして加えて、パスコンポーネントをトークン化してもよい。また、汎化手段107は、敢えてパスコンポーネントをトークン化せずに、文字列に対して直接に最長共通部分列を算出してもよい。
Further, the
パスコンポーネントをトークン化した後、汎化手段107は、トークン列から最長共通部分列を算出して、トークン列の共通部分と非共通部分とを調べる(ステップS403)。そして、汎化手段107は、抽出した非共通部分を「* 」に置き換える(ステップS404)。
After tokenizing the pass component, the
また、汎化手段107は、全てのコンポーネントについて処理を終了したか否かを判断する(ステップS405)。全てのコンポーネントについて処理を終了していないと判断すると、汎化手段107は、ステップS402に戻り、ステップS402〜S405の処理を繰り返し実行する。すなわち、汎化手段107は、ステップS402からステップS404までの処理を、全てのパスコンポーネントに対して繰り返し行う。
Further, the
また、汎化手段107は、全てのパスについて処理を終了したか否かを判断する(ステップS406)。全てのパスについて処理を終了していないと判断すると、汎化手段107は、ステップS401に戻り、ステップS401〜S406の処理を繰り返し実行する。すなわち、汎化手段107は、ステップS401からステップS405までの処理を、全ての同じ深さのパスに対して繰り返し行う。
Further, the
なお、汎化手段107は、ステップS403において、トークン列から最長部分列を抽出するために、例えば、LCS(Longest Common Substring)アルゴリズムを用いればよい。
Note that the
また、本実施の形態では、汎化ルール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
次に、ポリシ生成手段108の動作について説明する。ポリシ生成手段108は、まず、汎化手段107によって生成されたイベントの集合から重複するイベントを取り除く。すなわち、同一の属性をもつイベントが複数ある場合、ポリシ生成手段108は、1つのイベントを残して、その残したイベント以外のイベントを削除する。ここで、ポリシ生成手段108は、同一か否かを判定する際に、アクセスポリシに反映させない属性(例えば、内部状態を示す属性)を考慮しない。汎化手段107は、上記の処理を行った後、削除せずに残したイベントを、アクセスポリシの許可ルールに変換する。
Next, the operation of the
次に、更に具体的な例を用いて、分類手段106、汎化手段107及びポリシ生成手段108の動作について説明する。図6は、アクセスログ記憶部105に格納されるイベントの集合の例を示す説明図である。本実施の形態では、図6に示すように、アクセスログ記憶部105は、アクセスの種類(アクセス名)と、アクセスの対象と、アクセス時のプログラムの内部状態とを含むイベントを、表形式で格納する。
Next, operations of the
「アクセスの種類(アクセス名)」は、対象プログラム101に基づくリソース103へのアクセスの方法を示す情報である。例えば、イベントは、アクセスの種類として、ファイルの読み込み(「read」)やファイルへの書き込み(「write 」)等を含む。また、「アクセスの対象」は、対象プログラム101に基づくアクセスによって操作対象とされたファイル等のリソース103を示す情報である。
“Access type (access name)” is information indicating a method of accessing the
「内部状態」は、アクセス時のプログラムの内部状態を示す情報である。ここで、アクセス時のプログラムの内部状態は、一般に、長い文字列又は数値列で表されるが、本実施の形態では、見やすくするために内部状態を単一の数値に置き換えている。図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
まず、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
また、図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
次に、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
また、図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
次に、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
また、図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
以上の処理によって、最終的に、図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
以上のように、本実施の形態で示したアクセスポリシ生成システムにより、以下に挙げる効果を得ることができる。まず、本実施の形態によれば、より誤検知の少ないアクセスポリシを生成することができる。例えば、図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
また、本実施の形態によれば、「プログラム中の同一の場所から呼び出されたリソースアクセスには同一のアクセスポリシが適用可能」という性質に由来するルールであるポリシ生成ルール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
言い換えると、本実施の形態では、従来技術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
また、ポリシ生成ルール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
以上のように、本実施の形態によれば、ポリシ生成ルール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
実施の形態2.
次に、本発明の第2の実施の形態について図面を参照して説明する。図13は、アクセスポリシ生成システムを用いたシステム100の他の構成例を示すブロック図である。本実施の形態において、システム100は、図1で示した構成要素に加えて、状態記憶部114を含む点で、第1の実施の形態と異なる。なお、システム100の状態記憶部114以外の構成要素の機能は、第1の実施の形態で示したそれらの機能と同様である。
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
状態記憶部114は、例えば、システム100上に搭載されているメインメモリである。例えば、状態記憶部11は、システム100を実現する情報処理装置のメモリによって実現される。
The
本実施の形態では、システム100が「監査モード」で動作している場合、システム100はポリシの生成のための動作を行わず、アクセス監査手段102からアクセスログ記憶部105に対してイベントは一切出力されない。そのため、「監査モード」で動作する場合、分類手段106、汎化手段107及びポリシ生成手段108は、何ら動作を行わない。ただし、本実施の形態では、実施の形態1と異なり、状態観測手段113は、リソースアクセスが生じた時点におけるシステム100の内部状態を取得(検出)する動作を行う。
In this embodiment, when the
また、本実施の形態では、第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
次に、動作について説明する。図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
そして、アクセス監査手段102は、その取り出したルールの記述に従って、アクセスを「許可」又は「拒否」する(ステップS505)。ステップS503で状態フラグが設定されていない場合、アクセス監査手段102は、状態記憶部114に状態を保存せずに、そのままステップS505に移行する。
Then, the
また、ステップ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
保存されていない場合、アクセス監査手段102は、アクセスポリシに含まれる次のルールに対して、ステップS502以下の処理を繰り返し実行する。この場合、アクセス監査手段102は、アクセスポリシに未処理のルールが含まれるか否かを判断する(ステップS509)。未処理のルールがある場合、アクセス監査手段102は、アクセスポリシから次のルールを読み出す(ステップS510)。そして、アクセス監査手段102は、ステップS102の処理に戻る。次のルール(未処理のルール)がない場合、アクセス監査手段102は、システム100の状態がどのルールにも合致しなかったと判定し、そのまま処理を終了する。
If not stored, the
次に、上記に示したアクセス監査手段102の動作を、具体例を用いて説明する。本実施の形態では、図16に示すように、システム100においてリソースアクセスが順に生じた場合を説明する。図16に示すリソースアクセスE206が生じたとすると、このアクセスは、アクセスルールP15(図14参照)に示す条件に合致する。また、アクセスルールP15には状態フラグが設定されているので、アクセス監査手段102は、ステップS504の処理を実行することにより、状態記憶部114に、(状態5,許可)という一組の情報を保存する。
Next, the operation of the
そして、その後にリソースアクセス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
また、本実施の形態において、ポリシ生成手段108は、第1の実施の形態で示した動作に加えて、内部状態による分割分類ルールを用いて生成されたイベントに対応するアクセス許可ルールに対して、状態フラグを設定するという処理を行う。そのようにすることにより、ポリシ生成手段108は、図14に例示したアクセスポリシを生成することが可能となる。
Further, in the present embodiment, the
なお、ポリシ生成ルール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
以上のように、本実施の形態によれば、監査モードでシステム100が動作している場合であっても、状態観測手段113がシステム100の状態を観測する。また、アクセス監査手段102は、状態観測手段113が検出した状態を考慮しながら、アクセス可否の判定を行う。さらに、ポリシ生成手段108が、予め状態フラグをもつアクセスポリシを事前に生成しておく。そのようにすることによって、ルール生成モードで観測したイベントの数が足りなかったり、GLOB汎化処理では十分な汎化ができない場合であっても、より正確なアクセス可否を実現することが可能となる。
As described above, according to the present embodiment, even when the
例えば、第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を管理してもよい。
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
なお、システム100のポリシ生成ルール取得手段115及びポリシ生成ルール記憶部109以外の構成要素の機能は、第1の実施の形態で示したそれらの機能と同様である。
The functions of the components other than the policy generation
本実施の形態において、ポリシ生成ルール記憶部109は、図6に示した属性(分類ルール、汎化ルール及び削除フラグ)に加えて、システム100が用いるオペレーティングシステム(OS)の種類やバージョンを示す識別子を含むポリシ生成ルール110を格納する。
In the present embodiment, the policy generation
ポリシ生成ルール取得手段115は、具体的には、プログラムに従って動作するコンピュータ及びネットワークインタフェース部によって実現される。ポリシ生成ルール取得手段115は、システム100のコンピュータ上で稼動するOSの種類及びバージョンを検出する機能を備える。また、ポリシ生成ルール取得手段115は、その検出したOSの種類及びバージョンに合致するポリシ生成ルール110を、ポリシ生成ルール記憶部109に問い合わせる機能を備える。また、ポリシ生成ルール取得手段115は、ポリシ生成ルール110に設定されているバージョン識別子を参照し、バージョンが合致するポリシ生成ルールのみを取得する機能を備える。
Specifically, the policy generation
この場合、例えば、ポリシ生成ルール取得手段115は、ポリシ生成ルール110の検索要求とともに、OSの種類及びバージョンを示す情報を、ネットワークを介して、ポリシ生成ルール記憶部109を備えるホストに送信する。すると、ホストは、受信した情報に示されるOSの種類及びバージョンに合致するポリシ生成ルール110を、ポリシ生成ルール記憶部109から抽出する。そして、ホストは、抽出したポリシ生成ルール110を、ネットワークを介してシステム100に送信する。
In this case, for example, the policy generation
図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
また、システム100がOSとしてWindows(登録商標)を用いて動作している場合を考える。この場合、ポリシ生成ルール取得手段115は、ポリシ生成ルール記憶部109から、ポリシ生成ルールR202,R203,R204を取得し、分類手段106及び汎化手段107に渡す。
Also, consider a case where the
また、本実施の形態では、分類手段106は、ポリシ生成ルール取得手段115が取得したポリシ生成ルール110に基づいて分類処理を行い、システム100が用いるOSに合致したイベント集合を生成する。また、汎化手段107は、ポリシ生成ルール取得手段115が取得したポリシ生成ルール110に基づいて汎化処理を行い、システム100が用いるOSに合致したイベント集合を生成する。そして、ポリシ生成手段108は、それらのイベント集合にもとづいて、、システム100が用いるOSに合致したアクセスポリシを生成する。
In the present embodiment, the
以上のように、本実施の形態によれば、システム100のプラットフォームに適したポリシ生成ルール100を参照して(システム100が用いるOSに合致したルールを用いて)、アクセスポリシを生成する。そのため、OSのバージョンが更新された場合であっても、最適なアクセスポリシを生成することができる。
As described above, according to the present embodiment, the access policy is generated by referring to the
例えば、慣習的に、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
実施の形態4.
次に、本発明の第4の実施の形態について図面を参照して説明する。図20は、アクセスポリシ生成システムを用いたシステム100の他の構成例を示すブロック図である。本実施の形態において、システム100は、図1で示した構成要素のうち、状態観測手段113を含まない点で、第1の実施の形態と異なる。なお、システム100の状態観測手段113以外の構成要素の機能は、第1の実施の形態で示したそれらの機能と同様である。
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
本実施の形態によれば、システム100は状態観測手段113をもたないので、生成するアクセスポリシの精度が、第1の実施の形態1で生成したアクセスポリシよりも低下する可能性が高いが、システム100の構成を簡素化できるという長所がある。
According to the present embodiment, since the
図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
次に、本発明の具体的な実施例について説明する。なお、本実施例は、第1の実施の形態で示したアクセスポリシ生成システムを用いたシステム100を具体化したものに相当する。
Next, specific examples of the present invention will be described. Note that this example corresponds to a specific implementation of the
図23は、本実施例におけるアクセスポリシ生成システムを含むコンピュータ200を示すブロック図である。コンピュータ200は、OSとしてLinuxがインストールされており、Linux上で動作するWWWサーバとしての機能を備える。
FIG. 23 is a block diagram illustrating a
図23に示すように、アクセスポリシ生成システムを含むコンピュータ200は、WWWサーバ201と、システムコール監査手段202と、ファイルシステム203と、ポリシ記憶部204と、分類手段206と、汎化手段207と、ポリシ生成手段208と、アクセスログ記憶部205と、ポリシ生成ルール記憶部209と、スタック検査手段213とを含む。
As shown in FIG. 23, a
図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
ファイルシステム203は、リソース103の具体例であり、Linuxによって管理されるファイルシステムである。
The
ルール生成モードで動作する場合、システムコール検査手段202は、観測したアクセス情報をアクセスログ記憶部205に格納する。また、システムコール検査手段202は、対象プログラムによるシステムコールが発生したことを、スタック検査手段213に通知する処理を行う。
When operating in the rule generation mode, the system
スタック検査手段213は、状態観測手段113の具体例である。スタック検査手段213は、システムコールが呼び出された時点におけるWWWサーバ201のコールスタックを検査する。
The stack inspection unit 213 is a specific example of the
スタック検査手段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
分類手段206、汎化手段207及びポリシ生成手段208は、それぞれ分類手段106、汎化手段107及びポリシ生成手段108の具体例であり、Linux上で動作するプログラムとして実装されている。
The
ポリシ記憶部204は、ポリシ記憶部104の具体例であり、ファイルを記憶するコンピュータ200上のメインメモリ又は固定ディスク(例えば、磁気ディスク装置)である。
The
ポリシ生成ルール記憶部209は、ポリシ記憶部109の具体例であり、ファイルを記憶するコンピュータ200上のメインメモリ又は固定ディスク(例えば、磁気ディスク装置)である。
The policy generation
図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
また、 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
図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
本実施例において、ポリシ生成ルール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
次に、汎化手段207は、分類手段206が選択したイベントの集合(イベントE22のみから成る)に対して、直接汎化ルールR13のselect属性で示されるXPath形式の値を評価し、XPath形式で指示されたノードの値を「/tmp/*」に置き換える。そのような処理を行うことにより、汎化手段207は、 event要素E22の子の syscall要素の最初の arg要素の value属性の値を「/tmp/*」に変換する。そして、ポリシ生成ルールR11にはdeleteフラグが設定されているため、イベントE22の内容をポリシ生成手段208に渡した後、分類手段206は、アクセスログ記憶部205から削除する。
Next, the
次に、ポリシ生成ルール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
なお、本実施例では、分類ルールを複数指定可能であり、それらの分類ルールを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
次に、汎化手段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
なお、ポリシ生成ルールR18を用いる場合も、分類手段206、汎化手段207及びポリシ生成手段208は、ポリシ生成ルールR11,R14を用いた場合と同様の処理手順に従って処理を実行する。
Even when the policy generation rule R18 is used, the
以上に示す処理の結果、汎化手段207は、図27に示すXMLデータ(イベント集合)をポリシ生成手段208に渡す。ポリシ生成手段207は、図27に示すイベント集合に基づいて、イベントE21,E22,E23によるアクセスを許可し、イベントE21,E22,E23以外のイベントによるアクセスを禁止するアクセスポリシを生成し出力する。
As a result of the processing described above, the
以上のように、本実施例によれば、第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 システム
101 対象プログラム
102 アクセス監査手段
103 リソース
104 ポリシ記憶部
105 アクセスログ記憶部
106 分類手段
107 汎化手段
108 ポリシ生成手段
109 ポリシ生成ルール記憶部
110 ポリシ生成ルール
111 分類ルール
112 汎化ルール
113 状態観測手段
120 入力装置
100 System 101
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又は請求項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.
前記監視対象のプログラムによるリソースへのアクセスを検出し、検出したアクセスの内容を示すアクセス情報を出力するアクセス検出ステップと、
アクセスポリシの生成条件を示す情報であるポリシ生成ルールに従って、前記アクセス検出ステップで出力したアクセス情報に基づいて、アクセスポリシを生成するアクセスポリシ生成ステップとを
含むことを特徴とするアクセスポリシ生成方法。 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.
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)
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 |
-
2005
- 2005-10-13 JP JP2005299272A patent/JP2007109016A/en not_active Withdrawn
Cited By (12)
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 |