JP4887985B2 - Policy inspection system, method, and program - Google Patents
Policy inspection system, method, and program Download PDFInfo
- Publication number
- JP4887985B2 JP4887985B2 JP2006240225A JP2006240225A JP4887985B2 JP 4887985 B2 JP4887985 B2 JP 4887985B2 JP 2006240225 A JP2006240225 A JP 2006240225A JP 2006240225 A JP2006240225 A JP 2006240225A JP 4887985 B2 JP4887985 B2 JP 4887985B2
- Authority
- JP
- Japan
- Prior art keywords
- policy
- logical expression
- condition
- storage unit
- equal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000007689 inspection Methods 0.000 title claims description 126
- 238000000034 method Methods 0.000 title claims description 57
- 230000014509 gene expression Effects 0.000 claims description 226
- 238000010304 firing Methods 0.000 claims description 26
- 230000027455 binding Effects 0.000 claims description 5
- 238000009739 binding Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Description
本発明は、ポリシ検査システム、方法、及び、プログラムに関し、更に詳しくは、管理対象システムへの適用に問題があるポリシ記述を検査するポリシ検査システム、方法、及び、プログラムに関する。 The present invention relates to a policy checking system, method, and program, and more particularly, to a policy checking system, method, and program for checking a policy description that has a problem in application to a managed system.
ポリシを用いて管理対象システムの制御を行う技術がある(ポリシベースの管理システムについては、例えば特許文献1参照)。また、このような技術で用いるポリシについて、ポリシの検査を行うポリシ検査システムがある。従来のポリシ検査システムについては、非特許文献1、非特許文献2に記載されている。図12は、非特許文献1に記載のポリシ検査システムの構成を示している。この従来のポリシ検査システム900は、入力装置911、同時発火検査手段912、衝突検査手段913、出力装置914、及び、記憶装置917を有する。記憶装置917は、ポリシ記憶部915と、衝突ルール記憶部916とを含む。
There is a technique for controlling a management target system using a policy (see, for example, Patent Document 1 for a policy-based management system). There is also a policy inspection system for inspecting a policy used in such a technique. The conventional policy inspection system is described in Non-Patent Document 1 and Non-Patent Document 2. FIG. 12 shows the configuration of the policy inspection system described in Non-Patent Document 1. This conventional policy inspection system 900 includes an input device 911, a simultaneous
入力装置911は、特許文献1に記載されるようなポリシ管理システムに登録しようとしているポリシ記述を受け付ける。ポリシ記述は、if-then型のルールを記述したものであり、一般に、いつポリシを実行するかを示す発火条件を記述した部分と、発火条件が満たされたときに実行される管理対象への操作を記述した部分とを含む。この従来のポリシ検査システム900では、これらに加え、ポリシ記述に、管理対象への操作が管理対象に与える作用を表現した、∧結合された述語論理式(以下、便宜的に事後条件と呼ぶ)を含めている。 The input device 911 accepts a policy description to be registered in a policy management system as described in Patent Document 1. The policy description is a description of if-then type rules. Generally, the part that describes the firing condition indicating when the policy is executed and the management target that is executed when the firing condition is satisfied are described. And a part describing the operation. In this conventional policy inspection system 900, in addition to these, a predicate logical expression that represents an action that an operation on the management target gives to the management target in the policy description (hereinafter referred to as a postcondition for convenience). Is included.
入力装置911は、検査対象のポリシ記述を受け付けると、同時発火検査手段912に、ポリシを渡す。同時発火検査手段912は、ポリシ記憶部915に既に登録されているポリシ記述を全て読み出し、読み出したポリシ記述のうちで、入力装置911から渡された検査対象のポリシ記述の発火条件と記号的に同一の発火条件を持つポリシ記述、つまりは同時に発火する可能性があるポリシ記述を検索し、その集合を作成する。同時発火検査手段912は、検査対象のポリシ記述と同時に発火する可能性があるポリシ記述の集合を作成すると、作成したポリシ記述の集合と、検査対象のポリシ記述とを、衝突検査手段913に渡す。
When the input device 911 receives the policy description to be checked, the input device 911 passes the policy to the simultaneous firing checking means 912. The simultaneous firing checking means 912 reads all the policy descriptions already registered in the
衝突検査手段913は、ポリシ記述の集合と、検査対象のポリシ記述とを受け取ると、衝突ルール記憶部916から、衝突ルールの一覧を読み込む。衝突ルールは、述語のリストである。衝突検査手段913は、ポリシ記述の集合と、検査対象のポリシ記述とにおける事後条件を∧結合すると、読み込んだ各衝突ルールのそれぞれに対して、作成した事後条件の論理式により真になる述語が、当該衝突ルールの中に2つ以上あるか否かを調べる。調査の結果、2つ以上あった場合には、出力装置914を用いて、受け付けたポリシ記述に問題がある可能性があることを出力する。
When the
次に、非特許文献2に記載のポリシ検査システムについて説明する。図13は、非特許文献2に記載されたポリシ検査システムの構成を示している。ポリシ検査システム901は、入力装置921、検査手段922、充足判定手段923、出力装置924、及び、記憶装置925を備える。記憶装置925は、ポリシ記憶部926を含む。入力装置921は、検査対象であるポリシ記述を受け付けると、検査手段922に、受け付けたポリシ記述を受け渡す。
Next, the policy inspection system described in Non-Patent Document 2 will be described. FIG. 13 shows the configuration of the policy inspection system described in Non-Patent Document 2. The
検査手段922は、検査対象のポリシ記述を受け取ると、ポリシ記憶部926に既に登録されているポリシ記述を全て読み込む。検査手段922は、読み込んだポリシ記述のそれぞれについて、入力装置921から受け取った検査対象のポリシ記述と衝突するか否かを検査する。この検査には、充足判定手段923を用いる。検査手段922は、まず、ポリシの発火条件が充足可能であるか否か、つまりは、同時発火を起こすポリシ記述であるか否かを、充足判定手段923を用いて検査する。その後、同時発火を起こすポリシについて、ポリシ記述の操作が同時実行可能か否かを、充足判定手段923を用いて判断する。発火条件及び操作方法は、述語論理によって記述されており、充足判定手段923は、それら述語論理が充足可能であるか否かを判断する。検査手段922は、同時発火するポリシ記述について、操作方法の述語論理が充足不可能と判断されると、ポリシ記述が衝突すると判定し、出力装置924に、その結果を出力させる。
Upon receiving the policy description to be checked, the checking
例えば、あるコンピュータシステムの設定ファイルの属性名をxとする。このときに、x=10(属性xの値を10にする)という操作が定義されたポリシ記述と、x=20(属性xの値を20にする)という操作が定義された別のポリシ記述との衝突を判定する場合を考える。ポリシ検査システム901は、与えられたポリシ記述のそれぞれの操作の∧結合の論理式、つまりx=10 ∧ x=20の充足可能性(xのドメインを整数とする)を判定し、論理式が充足不可能である、すなわち与えられた論理式を満たすような変数の組み合わせが存在しないことを発見すると、与えられたポリシの組み合わせが整合しない(衝突する)と判定する。
For example, let x be the attribute name of a setting file of a computer system. At this time, a policy description in which an operation of x = 10 (set the value of attribute x to 10) is defined and another policy description in which an operation of x = 20 (set the value of attribute x to 20) is defined. Let us consider a case where a collision is determined. The
非特許文献1では、ポリシ記述に事後条件を与え、更に、不適切な事後条件の組み合わせを示す衝突ルールを与えることにより、ポリシ記述間の不整合を検出する。非特許文献1では、事前に、人間が、あらかじめ考え得る全ての不適切なポリシ記述の組み合わせを事前に想定してポリシ検査システムに与える必要があり、作成者の作業負担が大きいという問題がある。また、全ての不適切な組み合わせを用意することは困難であり、衝突ルールの不足によって問題があるポリシ記述を見逃す可能性が高くなる。 In Non-Patent Document 1, inconsistency between policy descriptions is detected by giving a post-condition to the policy description and further giving a collision rule indicating a combination of inappropriate post-conditions. In Non-Patent Document 1, there is a problem that it is necessary for humans to give in advance to the policy inspection system by assuming in advance all combinations of inappropriate policy descriptions that can be considered in advance. . Moreover, it is difficult to prepare all inappropriate combinations, and there is a high possibility that a policy description having a problem will be missed due to a lack of collision rules.
非特許文献2では、非特許文献1とは異なり、充足判定により、衝突ルールを人間が与えることなしに、衝突を検査することが可能である。しかしながら、非特許文献2では、管理対象システム上で成立する条件を考慮していない。このため、管理対象システムの性質を適切に反映したポリシ検査を行うことができず、ポリシの衝突を見逃して、本来は衝突するはずのポリシ記述の組み合わせを、衝突しないと判定する場合があるという問題がある。 In Non-Patent Document 2, unlike Non-Patent Document 1, it is possible to inspect a collision without a human being giving a collision rule by satisfaction determination. However, Non-Patent Document 2 does not consider the conditions that are satisfied on the management target system. For this reason, policy checks that appropriately reflect the nature of the managed system cannot be performed, and policy conflicts may be missed, and combinations of policy descriptions that should originally collide may be determined not to collide. There's a problem.
非特許文献2における問題点について、具体例を挙げて説明する。あるポリシにa→b(aならばb)という定義があり、別のポリシにa→¬b(aならばbでない)という定義があったとする。a、bは、例えばx>0やy=4などの真偽値を示す原始論理式とする。また、充足判定手段923における衝突判定では、充足不可能な場合にポリシは衝突すると判定するものとする。
The problems in Non-Patent Document 2 will be described with specific examples. Assume that one policy has a definition of a → b (if a, b), and another policy has a definition of a → ¬b (if a, not b). a and b are primitive logical expressions indicating true / false values such as x> 0 and y = 4. Further, in the collision determination in the
上記2つのポリシの定義を∧結合した(a→b)∧(a→¬b)は、¬a(aではない)を仮定することで真になるため、前記ポリシ検査システムでは衝突しないと判断される。しかし、実際の管理対象システムが、「a」が常に成立するという性質を備えていた場合、¬aは成立しないため、先のポリシは衝突すると判断されなければならない。このように、非特許文献2に記載の従来のポリシ検査システムでは、管理対象システムにおいて成立する条件を考慮していないため、ポリシの衝突を見逃す可能性が高くなる。 (A → b) ∧ (a → ¬b), which is a combination of the above two policy definitions, becomes true by assuming ¬a (not a), so it is determined that there is no collision in the policy inspection system. Is done. However, if the actual management target system has the property that “a” always holds, ¬a does not hold, so it must be determined that the previous policy collides. As described above, the conventional policy inspection system described in Non-Patent Document 2 does not consider the conditions that are satisfied in the management target system, and therefore there is a high possibility of missing a policy collision.
また、非特許文献2では、論理式中の束縛変数が示す対象の等価性を何ら考慮していない。このため、充足可能性判定によりポリシの衝突を検査する場合に、論理式中に登場する束縛変数が、同一の管理対象を指している可能性を考慮した制約が含まれないことで、ポリシの衝突を見逃す可能性があるという問題もある。 Further, in Non-Patent Document 2, no consideration is given to the equivalence of the object indicated by the bound variable in the logical expression. For this reason, when a policy collision is inspected by the satisfiability determination, the constraint variable that appears in the logical expression does not include a constraint that considers the possibility of pointing to the same management target. There is also the problem that a collision may be missed.
本発明は、充足可能性判定により問題のあるポリシ記述を検査する際に、管理対象システムの性質に基づいて、ポリシ記述を検査できるポリシ検査システムを提供することを目的とする。 An object of the present invention is to provide a policy checking system that can check a policy description based on the property of a management target system when checking a problematic policy description by satisfiability determination.
また、本発明は、上記目的を達成した上で、充足可能性判定により問題のあるポリシ記述を検査する際に、論理式中に登場する束縛変数が示す対象の等価性に関する制約を与えることができるポリシ検査システム、方法、及び、プログラムを提供することを目的とする。 In addition, the present invention may give restrictions on the equivalence of objects indicated by the bound variables appearing in the logical expression when the problematic policy description is checked by the satisfiability determination after achieving the above-mentioned object. It is an object to provide a policy inspection system, method, and program that can be used.
上記目的を達成するために、本発明のポリシ検査システムは、
検査対象のポリシ記述を検査するポリシ検査システムであって、
前記検査対象のポリシ記述を受け付ける入力装置と、
管理対象システムの状態について常に成立する条件を一階述語論理により記述した不変条件を記憶した不変条件記憶部と、
登録済みのポリシ記述を記憶するポリシ記憶部と、
前記入力装置により受け付けられた前記ポリシ記述中で定義されている操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した所定の論理式で表される事後条件と前記不変条件記憶部に記憶されている前記不変条件とに基づいて、前記入力装置により受け付けられた前記検査対象のポリシ記述の検査を行う検査手段と、を有し、
前記検査手段が、
論理式の充足判定を行う充足判定手段と、
前記不変条件記憶部に記憶された不変条件及び前記ポリシ記憶部に記憶された登録済みのポリシ記述を参照し、前記入力装置により受け付けられた前記検査対象のポリシ記述に含まれる事後条件と前記登録済みポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成する論理式生成手段と、
前記論理式生成手段が生成した論理式の充足可能性を、前記充足判定手段を用いて判定するポリシ整合性検査手段と、
前記管理対象システムの状態を表現したインスタンスの属性のうち、管理対象システムのクラスに関し、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部と、
を有し、
前記ポリシ整合性検査手段による判定に先立って、前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を、前記充足判定手段を用いて判定する不正ポリシ検査手段を更に備え、
前記管理対象システムの状態はインスタンスによって表現され、
前記不正ポリシ検査手段は、
前記充足判定手段による充足性判定に先立って、前記Key属性記憶部を参照し、前記管理対象システムの状態を表現したインスタンスのうち充足性判定の対象となる論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加え、
前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、
ことを特徴とする。
In order to achieve the above object, the policy inspection system of the present invention comprises:
A policy inspection system for inspecting a policy description to be inspected,
An input device for applying accept the policy description of said object,
An invariant condition storage unit that stores an invariant condition in which a condition that is always satisfied for the state of the managed system is described by first-order predicate logic;
A policy storage unit for storing registered policy descriptions;
A post-condition represented by a predetermined logical expression describing a condition to be satisfied with respect to the state of the managed system immediately after the operation defined in the policy description received by the input device using first-order predicate logic; and Inspection means for inspecting the policy description of the inspection object received by the input device based on the invariant condition stored in the invariant condition storage unit;
The inspection means is
A sufficiency judging means for judging sufficiency of the logical expression;
Refer to the invariant condition stored in the invariant condition storage unit and the registered policy description stored in the policy storage unit, and the post-condition and the registration included in the policy description of the inspection target received by the input device A logical expression generation means for generating a logical expression that is a combination of the postcondition included in the finished policy description and the invariant condition;
Policy consistency checking means for determining the satisfiability of the logical expression generated by the logical expression generation means using the satisfaction determination means;
A key attribute storage unit that stores information on a key attribute that always takes a unique value between the same classes with respect to the class of the managed system among the attributes of the instance that represents the state of the managed system;
Have
Prior to the determination by the policy consistency checking unit, the invariant condition storage unit is referred to, and a logical expression is generated by combining the postcondition included in the policy description to be inspected and the invariant condition. A fraud policy checking means for determining the satisfiability of the logical expression using the satisfaction determination means;
State of the managed system therefore is represented in instance,
The fraud policy inspection means includes:
Prior to sufficiency determination by the satisfaction judgment means, the Key attribute storage unit with reference to, corresponding to the bound variables appearing in formulas to be sufficiency determination of the states instance that expresses the managed system Add an equality constraint as a constraint to the formula, provided that the attached instances are equal,
When the values of the Key attributes of two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the instances corresponding to the two bound variables are equal, and when the two bound variables are equal, Add all Key attribute value is equal to such value constraints you two bound variables in formulas to be the sufficiency determination,
It is characterized by that.
本発明のポリシ検査方法は、検査対象のポリシ記述を受け付ける入力装置と、管理対象システムの状態について常に成立する条件を一階述語論理により記述した不変条件を記憶した不変条件記憶部と、登録済みのポリシ記述を記憶するポリシ記憶部と、前記入力装置により受け付けられた前記ポリシ記述中で定義されている操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した所定の論理式で表される事後条件と前記不変条件記憶部に記憶されている前記不変条件とに基づいて、前記入力装置に受け付けられた前記検査対象のポリシ記述の検査を行う検査手段と、を有するコンピュータを用いて、検査対象のポリシ記述を検査するポリシ検査方法であって、
前記コンピュータが、前記不変条件記憶部に記憶している不変条件と、前記入力装置により入力された前記ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した論理式とに基づいて、前記検査対象のポリシ記述の検査を検査手段により行うステップを有し、
前記ポリシ記述が、ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した事後条件及びポリシ発火条件を一階述語論理で記述した事前条件を含んでおり、
前記ポリシ記述の検査を行うステップが、
前記コンピュータが、前記不変条件を記憶する前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成するステップと、
生成した論理式の充足可能性を判定する不正ポリシ検査ステップと、
前記不正ポリシ検査ステップで充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事前条件と前記登録済みポリシ記述に含まれる事前条件と前記不変条件とを∧結合した論理式を生成するステップと、
生成した論理式の充足可能性を判定するステップと、
該判定するステップにおいて充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記登録済みポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成するステップと、
生成した論理式の充足可能性を判定するポリシ整合性検査ステップと、
を有し、
前記ポリシ整合性検査ステップによる判定に先立って、前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定する不正ポリシ検査ステップを更に備え、
前記不正ポリシ検査ステップが、前記論理式の充足性判定に先立って、前記コンピュータが、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照し、充足性判定の対象となる論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加えるステップを含み、
前記制約を加えるステップでは、前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、
ことを特徴とする。
Policy inspection method of the present invention includes an input device for accepting a policy Identifier Description inspected, and invariant condition storage unit always stores the described invariants by first-order logic conditions which satisfies the state of the managed system, registration A policy storage unit for storing a policy description that has already been described, and a condition that should be satisfied for the state of the managed system immediately after the operation defined in the policy description received by the input device is described by first-order predicate logic Based on a postcondition expressed by a predetermined logical expression and the invariant condition stored in the invariant condition storage unit, an inspection unit that inspects the policy description to be inspected received by the input device ; A policy inspection method for inspecting a policy description to be inspected using a computer having
A first-order predicate representing the invariant condition stored in the invariant condition storage unit by the computer and a condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description input by the input device A step of inspecting the policy description to be inspected by an inspection means based on a logical expression described by logic;
The policy description includes a post-condition that describes the condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description by the first-order predicate logic and a pre-condition that describes the policy firing condition by the first-order predicate logic. Including
Checking the policy description comprises the steps of:
The computer refers to the invariant condition storage unit that stores the invariant condition, and generates a logical expression obtained by combining the a posteriori condition included in the policy description to be examined and the invariant condition;
A fraud policy checking step for determining satisfiability of the generated logical expression;
If it is determined that the illegal policy checking step is satisfied, the invariant condition storage unit and the policy storage unit are referred to, the precondition included in the policy description to be inspected, the precondition included in the registered policy description, and the invariant Generating a logical expression that is a combination of conditions;
Determining the satisfiability of the generated logical expression;
If it is determined that the condition is satisfied in the determining step, the invariant condition storage unit and the policy storage unit are referred to, the postcondition included in the policy description to be examined, the postcondition included in the registered policy description, and the invariant condition. Generating a logical expression obtained by combining
A policy consistency check step for determining satisfiability of the generated logical expression; and
Have
Prior to the determination by the policy consistency checking step, the invariant condition storage unit is referred to, and a logical expression is generated by combining the postcondition included in the policy description to be inspected and the invariant condition. A fraud policy checking step for determining satisfiability of the logical expression;
Prior to the sufficiency determination of the logical expression, the illegal policy checking step is a key attribute of the Key attribute that always takes a unique value among the same class among the attributes of the instance expressing the state of the managed system. By referring to the Key attribute storage unit that stores information, an equivalence constraint is added to the logical expression as a restriction on the condition that the instances associated with the bound variables appearing in the logical expression that is the target of the sufficiency determination are equal. Including steps,
In the step of adding the constraint, when the values of the Key attributes of the two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the instances corresponding to the two bound variables are equal, and the 2 one of the added all equivalence constraint shall be the value of the Key attribute is equal of the two bound variables in formulas to be the sufficiency determining when bound variables are equal,
It is characterized by that.
本発明のプログラムは、コンピュータに、検査対象のポリシ記述を検査する処理を実行させるプログラムであって、
コンピュータを、検査対象のポリシ記述を受け付ける入力装置と、管理対象システムの状態について常に成立する条件を一階述語論理により記述した不変条件を記憶した不変条件記憶部と、登録済みのポリシ記述を記憶するポリシ記憶部と、前記入力装置により受け付けられた前記ポリシ記述中で定義されている操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した所定の論理式で表される事後条件と前記不変条件記憶部に記憶されている前記不変条件とに基づいて、前記入力装置で受け付けられた前記検査対象のポリシ記述の検査を行う検査手段と、として機能させ、
前記コンピュータに、
管理対象システムの状態について常に成立する条件を一階述語論理により記述した不変条件と、前記入力装置により入力された前記ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した論理式とに基づいて、前記検査対象のポリシ記述の検査を前記検査手段により行うステップを実行させるプログラムであって、
前記ポリシ記述が、ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した事後条件及びポリシ発火条件を一階述語論理で記述した事前条件を含んでおり、
前記ポリシ記述の検査を行うステップが、
前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と、前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定する不正ポリシ検査ステップと、
前記不正ポリシ検査ステップで充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事前条件と、前記登録済みポリシ記述に含まれる事前条件と、前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定し、該判定において充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と、前記登録済みポリシ記述に含まれる事後条件と、前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定するポリシ整合性検査ステップとを実行させ、
前記不正ポリシ検査ステップが、
前記論理式の充足性判定に先立って、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照し、充足性判定の対象となる論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加えるステップを含み、
前記制約を加えるステップでは、前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、
ことを特徴とする。
The program of the present invention is a program for causing a computer to execute processing for inspecting a policy description to be inspected,
The computer, an input device to attach accept the policy description of the test object, and invariant condition storage unit always stores the described invariants by first-order logic to establish conditions for the state of the managed system, policy description registered And a predetermined logical expression describing a condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description received by the input device using first-order predicate logic Based on the a posteriori condition represented by the above and the invariant condition stored in the invariant condition storage unit, function as an inspection unit that inspects the policy description of the inspection object received by the input device ,
In the computer,
An invariant condition in which a condition that is always satisfied for the state of the managed system is described by first-order predicate logic, and a condition that should be satisfied for the state of the managed system immediately after the operation defined in the policy description input by the input device Based on a logical expression described by first-order predicate logic, and a program for executing the step of checking the policy description to be checked by the checking means,
The policy description includes a post-condition that describes the condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description by the first-order predicate logic and a pre-condition that describes the policy firing condition by the first-order predicate logic. Including
Checking the policy description comprises the steps of:
An illegal policy that refers to the invariant condition storage unit, generates a logical expression that is a combination of the postcondition included in the policy description to be examined and the invariant condition, and determines whether the generated logical expression is satisfiable An inspection step;
When it is determined that the illegal policy checking step is satisfied, the invariant condition storage unit and the policy storage unit are referred to, the precondition included in the policy description to be checked, the precondition included in the registered policy description, Generate a logical expression that is combined with the invariant condition, determine the satisfiability of the generated logical expression, and determine that the logical expression is satisfied in the determination, refer to the invariant condition storage unit and the policy storage unit, Generate a logical expression that combines the post-conditions included in the policy description to be inspected, the post-conditions included in the registered policy description, and the invariant conditions, and determine the satisfiability of the generated logical expression A policy consistency check step,
The fraud policy checking step includes:
Prior to determining the sufficiency of the logical expression, a key attribute storage unit that stores key attribute information that always takes a unique value among the same class among the attributes of the instance representing the state of the managed system is referred to. Adding an equivalence constraint as a constraint to the logical expression, provided that the instances associated with the bound variable appearing in the logical expression that is the subject of the sufficiency determination are equal ,
In the step of adding the constraint, when the values of the Key attributes of the two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the instances corresponding to the two bound variables are equal, and the 2 one of the added all equivalence constraint shall be the value of the Key attribute is equal of the two bound variables in formulas to be the sufficiency determining when bound variables are equal,
It is characterized by that.
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の第1実施形態のポリシ検査システムの構成を示している。ポリシ検査システム10は、第1の検査手段11、第2の検査手段12、充足判定手段13、入力装置14、出力装置15、及び、記憶装置16を有する。ポリシ検査システム10は、プログラム動作により動作するコンピュータシステムとして構成される。記憶装置16は、ハードディスク装置等の記憶装置であり、管理対象システムの状態について常に成立すべき条件を一階述語論理式で表現した不変条件を記憶する不変条件記憶部161と、既に受理されてポリシ管理システムに登録されているポリシ記述を記憶するポリシ記憶部162とを有する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows the configuration of a policy inspection system according to the first embodiment of the present invention. The
入力装置14は、検査対象であるポリシ記述を受け付けるコンピュータの入力用デバイスである。第1の検査手段(不正ポリシ検査手段)11は、検査対象のポリシ記述が、管理対象システムに対して不正な作用を持つか否かを判定する。第2の検査手段(ポリシ整合性検査手段)12は、検査対象のポリシ記述が既に登録されているポリシ記述と整合するか否かを判定する。充足判定手段13は、第1の検査手段11及び第2の検査手段12が検査を行う際に利用され、述語論理式の充足可能性を判定する。出力装置15は、ディスプレイやファイルなどの外部出力装置であり、第1の検査手段11及び第2の検査手段12が検査結果を出力する際に利用される。
The
図2は、ポリシ記述の構成を示している。ポリシ記述71は、ポリシ本体と、ポリシ仕様とから構成される。ポリシ本体は、ポリシ管理システムで利用されるif-then型のルールを記述した部分である。ポリシ仕様は、ポリシ本体の振る舞いを表現したものである。図3に、ポリシ仕様の構成を示す。ポリシ仕様72は、事前条件と事後条件とを含む。事前条件は、ポリシ本体の発火条件を、一階述語条件により表現したものである。事後条件は、ポリシ本体に定義された操作の直後に、管理対象システムの状態について成立すべき条件を表現したものである。 FIG. 2 shows the structure of the policy description. The policy description 71 includes a policy body and a policy specification. The policy body is a part describing if-then type rules used in the policy management system. The policy specification expresses the behavior of the policy body. FIG. 3 shows the configuration of the policy specification. The policy specification 72 includes a precondition and a postcondition. The precondition expresses the firing condition of the policy body by the first order predicate condition. The post-condition represents a condition that should be satisfied for the state of the management target system immediately after the operation defined in the policy body.
なお、ポリシ記述において、ポリシ本体の内容とポリシ仕様の内容とが重複する場合には、ポリシ本体に記載される情報をポリシ仕様として利用し、ポリシ仕様には重複する情報を含めなくてよい。例えば、ポリシ本体の発火条件が述語論理により記述される場合には、その論理式を事前条件として扱い、ポリシ仕様には事前条件を含めなくてよい。 In the policy description, when the content of the policy body and the content of the policy specification overlap, the information described in the policy body is used as the policy specification, and the policy specification does not need to include the overlapping information. For example, when the firing condition of the policy body is described by predicate logic, the logical expression is treated as a precondition, and the precondition does not have to be included in the policy specification.
第1の検査手段11は、入力装置14によって入力された検査対象のポリシ記述を受け取る。第1の検査手段11は、ポリシ記述を受け取ると、不変条件記憶部161から、管理対象システムの状態について常に成立すべき条件を表現した不変条件を読み込み、ポリシ記述と読み込んだ不変条件との充足可能性を、充足判定手段13を用いて判定する。第1の検査手段11は、充足判定手段13が充足可能と判定すると、検査対象のポリシ記述を第2の検査手段12に受け渡す。第2の検査手段12は、ポリシ記述を受け取ると、ポリシ記憶部162から、既に登録されているポリシ記述を全て読み込み、読み込んだ各ポリシ記述と、検査対象のポリシ記述とが整合するか否かを、充足判定手段13を用いて判定する。
The first checking means 11 receives the policy description to be checked input by the
充足判定手段13は、与えられた一階述語論理式の充足可能性を判定する機能を備えている。充足可能性の判定方法は、例えば、「デイビッド・デトレフ(DAVID DETLEFS)、他 著、「シンプリファイ:ア・セオレム・プルーバー・フォー・プログラム・チェッキング(Simplify: A Theorem Prover for Program Checking)、ジャーナル・オブ・エーシーエム(Journal of the ACM),米国、 第52巻、3号、2005年5月、365−473頁」に記載されている。 The satisfaction determination means 13 has a function of determining the satisfaction of the given first-order predicate logical expression. For example, “David Detlefs”, et al., “Simplify: A Theorem Prover for Program Checking”, Journal "Journal of the ACM, USA, Vol. 52, No. 3, May 2005, pages 365-473".
図4は、ポリシ検査システム10の全体の動作の概略手順を示している。入力装置14により、検査対象のポリシ記述を受け付ける(ステップA10)。第1の検査手段11は、入力装置14から検査対象のポリシ記述を受け取り、そのポリシ記述が管理対象システムに対して不正な作用を与えるか否かを検査する(ステップA20)。第1の検査手段11による検査の結果、問題がないことが確認されると、第2の検査手段12は、検査対象のポリシ記述が、既に登録されている他のポリシ記述との間で不整合を起こすか否かを検査し(ステップA30)、その検査結果を出力装置15に出力する。
FIG. 4 shows a schematic procedure of the overall operation of the
図5は、図4のステップA20における第1の検査手段11による検査の動作手順を示している。第1の検査手段11は、入力装置14から検査対象のポリシ記述を受け取ると、不変条件記憶部161から、一階述語論理で記述された不変条件を読み込む。第1の検査手段11は、不変条件を読み込むと、検査対象のポリシ記述のポリシ仕様における事後条件(図3)と、読み込んだ不変条件とを∧によって結合した論理式を作成する(ステップB10)。論理式の作成後、第1の検査手段11は、作成した論理式を、充足判定手段13が検査可能な形に変換する(ステップB20)。例えば、上記した文献に記載の充足可能性判定ツールであるシンプリファイ(simplify)は、論理式がS式である必要があり、ステップB20では、作成した論理式をこのような形式に変換する。
FIG. 5 shows the operation procedure of the inspection by the first inspection means 11 in step A20 of FIG. When the
第1の検査手段11は、論理式の変換後、検査対象のポリシ記述における事後条件と不変条件とから構成される論理式が充足可能であるか否かを、充足判定手段13を用いて判定する(ステップB30)。第1の検査手段11は、充足判定手段13により、充足可能と判定されたか否かを判断する(ステップB40)。第1の検査手段11は、論理式が充足不可能であると判定されたときには、検査対象のポリシ記述は管理対象システムに対して不正な作用を持つと判断し、出力装置15に、ポリシ記述に問題がある旨のエラーを出力して(ステップB50)、全体の処理を終了する。第1の検査手段11は、論理式が充足可能であると判定されたときには、検査対象のポリシ記述は管理対象システムに対して不正な作用を持たないと判断し、ポリシ記述及び不変条件を第2の検査手段12に受け渡して、ステップA30(図4)の検査を実行させる。
The first checking means 11 uses the
図6は、図4のステップA30における第2の検査手段12による検査の動作手順を示している。第2の検査手段12は、図5に示す手順で、不変条件と同時に充足可能であることが確認されたポリシ記述と、不変条件とを第1の検査手段11から受け取る。第2の検査手段12は、ポリシ記述と不変条件とを受け取ると、ポリシ記憶部162から、登録済みのポリシ記述に含まれるポリシ仕様を全て読み込み(ステップC10)、ポリシ記述の検査を開始する。第2の検査手段12は、読み込んだポリシ仕様の全てについて検査を終了したか否かを判断し(ステップC20)、まだ終了していない場合には、未検査のポリシ仕様の中から1つを選択する(ステップC30)。 FIG. 6 shows an operation procedure of the inspection by the second inspection means 12 in step A30 of FIG. The second checking means 12 receives from the first checking means 11 the policy description that has been confirmed to be satisfiable simultaneously with the invariant condition and the invariant condition in the procedure shown in FIG. When receiving the policy description and the invariant condition, the second checking means 12 reads all policy specifications included in the registered policy description from the policy storage unit 162 (step C10), and starts checking the policy description. The second inspection means 12 determines whether or not the inspection has been completed for all of the read policy specifications (step C20). If the inspection has not yet been completed, one of the unexamined policy specifications is selected. Select (step C30).
第2の検査手段12は、第1の検査手段11から受け取った検査対象のポリシ記述が、ステップC30で選択したポリシ仕様と同時に発火する可能性があるか否かを判断する(ステップC40)。ステップC40で同時発火する可能性があると判断されるということは、管理対象システムで満たされるべき条件下において、検査対象のポリシ記述と、ステップC30で選択されたポリシ記述とが同時に適用される可能性があるということを意味している。同時に発火する可能性がない場合には、2つのポリシ記述は同時に適用されることがないので、ステップC20へ戻り、検査を行っていないポリシ仕様がまだ残っているか否かを判断して次のポリシ仕様を選択する。第2の検査手段12は、同時発火が可能であると判断すると、検査対象のポリシ記述と、ステップC30で選択したポリシ仕様とが、同時に実行可能か否かを判定する(ステップC50)。 The second checking means 12 determines whether or not the policy description to be checked received from the first checking means 11 is likely to be fired simultaneously with the policy specification selected in Step C30 (Step C40). When it is determined that there is a possibility of simultaneous firing in step C40, the policy description to be examined and the policy description selected in step C30 are applied simultaneously under the conditions to be satisfied by the managed system. It means that there is a possibility. If there is no possibility of firing at the same time, the two policy descriptions are not applied at the same time. Therefore, the process returns to Step C20, and it is determined whether there is still a policy specification that has not been checked. Select a policy specification. If the second checking means 12 determines that simultaneous firing is possible, it determines whether the policy description to be checked and the policy specification selected in step C30 can be executed simultaneously (step C50).
第2の検査手段12は、ステップC50で同時実行が不可能であると判断すると、ポリシ記述に問題がある旨を、出力装置15を用いて出力し(ステップC60)、全体の処理を終える。同時実行が可能であると判断した場合には、ステップC20に戻り、未検査のポリシ記述が残っているか否かを判断する。第2の検査手段12は、ステップC30からステップC50までの検査を、ステップC20で未検査のポリシ仕様がないと判断されるまで行う。第2の検査手段12は、検査の結果、ステップC50で、検査対象のポリシ記述と同時実行が不可能と判定されるポリシ仕様が存在しないときには、検査対象のポリシ記述には問題がないと判断し、検査対象のポリシ記述を、ポリシ記憶部162に登録し(ステップC70)、検査を終了する。
If the second checking means 12 determines that the simultaneous execution is impossible in Step C50, the second checking means 12 outputs that there is a problem in the policy description using the output device 15 (Step C60), and ends the entire processing. If it is determined that simultaneous execution is possible, the process returns to step C20 to determine whether or not an unexamined policy description remains. The
図7は、同時発火の可能性を判断するステップC40(図6)の動作手順の詳細を示している。ステップC40では、第2の検査手段12は、まず、検査対象のポリシ記述に含まれる事前条件と、不変条件と、ステップC30で選択されたポリシ仕様の事前条件とを∧で結合した論理式を作成する(ステップD10)。次いで、作成した論理式を、充足判定手段13が検査可能な形に変換する(ステップD20)。その後、ステップD10で作成した論理式が充足可能か否かを、充足判定手段13を用いて判定する(ステップD30)。 FIG. 7 shows details of the operation procedure of step C40 (FIG. 6) for determining the possibility of simultaneous firing. In step C40, first, the second checking means 12 first calculates a logical expression obtained by combining the precondition included in the policy description to be checked, the invariant condition, and the precondition of the policy specification selected in step C30. Create (step D10). Next, the created logical expression is converted into a form that can be inspected by the satisfaction determination means 13 (step D20). Thereafter, whether or not the logical expression created in step D10 can be satisfied is determined using the satisfaction determination means 13 (step D30).
第2の検査手段12は、ステップD30の判定で、充足可能と判定されたか否かを判断する(ステップD40)。論理式が充足可能と判定された場合には、検査対象のポリシ記述と、ステップC30(図6)で選択されたポリシ仕様に対応付けられるポリシ記述とが同時に発火する可能性があるため、同時発火可能と判定する(ステップD50)。この場合には、ステップC40からステップC50へ進んで、同時実行可能か否かの検査を行う。一方、論理式が充足不可能と判断された場合には、検査対象のポリシ記述と、選択されたポリシ仕様に対応するポリシ記述とが同時に発火する可能性がないため、同時発火なしと判定する(ステップD60)。同時発火しない場合には、当該組み合わせについては、ポリシ記述間に不整合は発生しないものと判定し、次のポリシ仕様を選択するために、ステップC40からステップC20に戻る。 The second inspection means 12 determines whether or not it is determined that it is satisfactorily determined in Step D30 (Step D40). If it is determined that the logical expression can be satisfied, the policy description to be inspected and the policy description associated with the policy specification selected in step C30 (FIG. 6) may be fired at the same time. It is determined that ignition is possible (step D50). In this case, the process proceeds from step C40 to step C50 to check whether simultaneous execution is possible. On the other hand, if it is determined that the logical expression cannot be satisfied, the policy description to be examined and the policy description corresponding to the selected policy specification are not likely to fire at the same time, so it is determined that there is no simultaneous firing. (Step D60). If not simultaneously fired, it is determined that no mismatch occurs between the policy descriptions for the combination, and the process returns from step C40 to step C20 to select the next policy specification.
図8は、実行可能か否かを判定するステップC50(図6)の動作手順の詳細を示している。ステップC50では、第2の検査手段12は、まず、検査対象のポリシ記述に含まれる事後条件と、不変条件と、ステップC30で選択されたポリシ仕様の事後条件とを∧で結合した論理式を作成する(ステップE10)。次いで、作成した論理式を、充足判定手段13が検査可能な形に変換する(ステップE20)。その後、ステップE10で作成した論理式が充足可能か否かを、充足判定手段13を用いて判定する(ステップE30)。 FIG. 8 shows details of the operation procedure of step C50 (FIG. 6) for determining whether or not execution is possible. In step C50, first, the second checking means 12 first generates a logical expression obtained by combining the postconditions included in the policy description to be checked, the invariant conditions, and the postconditions of the policy specification selected in step C30. Create (step E10). Next, the created logical expression is converted into a form that can be inspected by the satisfaction determination means 13 (step E20). Thereafter, whether or not the logical expression created in step E10 can be satisfied is determined using the satisfaction determination means 13 (step E30).
第2の検査手段12は、ステップE30の判定で、充足可能と判定されたか否かを判断する(ステップE40)。論理式が充足可能と判定された場合には、検査対象のポリシ記述と、ステップC30(図6)で選択されたポリシ仕様に対応するポリシ記述とを同時に実行しても問題が発生しないため、同時実行可能と判定する(ステップE50)。この場合には、ステップC50からステップC20に戻って、次の組み合わせでの検査を行う。一方、論理式が充足不可能と判断された場合には、検査対象のポリシ記述と、選択されたポリシ仕様に対応するポリシ記述とを同時に実行することは不可能であると判定する(ステップE60)。このようなポリシ記述の組み合わせは不正であり、ステップC50からステップC60へ進んで、検査対象のポリシに問題がある旨を出力する。 The second inspection means 12 determines whether or not it is determined that the satisfaction is possible in the determination of Step E30 (Step E40). If it is determined that the logical expression is satisfiable, there is no problem even if the policy description to be examined and the policy description corresponding to the policy specification selected in step C30 (FIG. 6) are executed simultaneously. It is determined that simultaneous execution is possible (step E50). In this case, the process returns from step C50 to step C20, and an inspection with the following combination is performed. On the other hand, if it is determined that the logical expression cannot be satisfied, it is determined that the policy description to be inspected and the policy description corresponding to the selected policy specification cannot be executed simultaneously (step E60). ). Such a combination of policy descriptions is invalid, and the process proceeds from step C50 to step C60 to output that there is a problem with the policy to be examined.
本実施形態では、ポリシ記述に対応した述語論理式の充足可能性により、2つのポリシ記述間の整合性を検査する際に、検査対象のポリシ記述に対応する論理式と、既に登録済みのポリシ記述に対応する論理式とを∧結合した論理式に、管理対象システムの状態に対して常に成立する不変条件を更に∧結合した論理式を作成し、その論理式に対して、充足可能性を判断する。このように、管理対象システムの性質を、検査時の制約として加えることにより、ポリシ記述が適用される環境が、より正確に論理式として表現されることになり、その結果、より正確にポリシ記述の問題を検査することができるようになる。 In the present embodiment, when the consistency between two policy descriptions is checked due to the satisfiability of the predicate logical expression corresponding to the policy description, the logical expression corresponding to the policy description to be inspected and the already registered policy are checked. Create a logical expression that is obtained by combining the logical expression corresponding to the description with the invariant that always holds for the status of the managed system. to decide. In this way, by adding the properties of the managed system as constraints at the time of inspection, the environment to which the policy description is applied can be expressed as a logical expression more accurately, and as a result, the policy description can be more accurately described. You will be able to inspect problems.
次に、本発明の第2実施形態について説明する。図9は、本発明の第2実施形態のポリシ検査システムの構成を示している。本実施形態のポリシ検査システム10aは、記憶装置16aがKey属性記憶部163を備える点で、図1に示す第1実施形態のポリシ検査システム10と相違する。本実施形態では、管理対象システムがオブジェクト指向型の情報モデルで表現されており、その情報モデルに登場するクラスや属性名を用いて条件を記述する際に、束縛変数で示されたインスタンスが同一である場合を論理式中に制約として含める。管理対象システムを表現する情報モデルの一例としては、「“シー・アイ・エム コア モデル ホワイトペーパー(CIM Core Model White Paper)ver2.4”2000年8月30日[online][平成17年3月8日検索]、ディストリビューティッド・マネージメント・タスクフォース(Distributed Management Task Force)、インターネット <URL http://www.dmtf.org/standards/documents/CIM/DSP0111.pdf>」に示されるシー・アイ・エム(CIM)がある。
Next, a second embodiment of the present invention will be described. FIG. 9 shows the configuration of the policy inspection system according to the second embodiment of the present invention. The
管理対象システムを構成する各管理対象物は、ある特定の性質を持ったクラスのインスタンスとして表現される。以下、本実施形態における条件検査システムの説明に先立って、そのような管理対象システムの状態に対する条件の一例を示す。管理対象システムであるコンピュータで稼動するプロセスであって、特に外部に特定のサービスを提供するプロセスの状態は、Serviceクラスのインスタンスとして表現されているとする。このとき、Serviceクラスは、状態を表現する属性として、NameとStatusとを持つ。Nameはサービスの名前であり、Statusはサービスの稼働状況を示す。 Each managed object constituting the managed system is expressed as an instance of a class having a specific property. Hereinafter, prior to the description of the condition inspection system in the present embodiment, an example of conditions for the state of such a managed system will be shown. Assume that the state of a process that runs on a computer that is a managed system and that provides a specific service to the outside is expressed as an instance of a Service class. At this time, the Service class has Name and Status as attributes representing the state. Name is the name of the service, and Status indicates the operating status of the service.
上記Serviceクラスに関する条件としては、下記の条件が考えられる。
∃s∈Service , s.Name=“mysql” ∧ s.Status=“running” (論理式A)
上記条件(論理式A)は、Serviceクラスのインスタンスであって、Name属性がmysqlであり、かつ、Status属性がrunningであるインスタンスが存在することを示している。このような論理式は、例えば、MySQLサービスが稼動状態になったら発火するポリシ記述の事前条件や、MySQLサービスを稼動状態にするポリシ記述の事後条件などとして与えられることが考えられる。
The following conditions can be considered as conditions related to the Service class.
∃s∈Service, s.Name = “mysql” ∧ s.Status = “running” (Logical expression A)
The above condition (logical expression A) indicates that there is an instance of the Service class, the Name attribute is mysql, and the Status attribute is running. Such a logical expression may be given as, for example, a pre-condition of a policy description that is fired when the MySQL service is activated, or a post-condition of a policy description that activates the MySQL service.
次に、問題を説明するために、上記の論理式Aとは別に、
∃t∈Service , t.Name=“mysql” ∧ t.Status =“stopped” (論理式B)
という条件(論理式B)を考える。この論理式Bは、先に説明した論理式Aとは、Status属性の値が異なっている。これら2つの論理式A及び論理式Bを∧結合したものは、充足可能である。
Next, in order to explain the problem, apart from the logical expression A above,
∃t∈Service, t.Name = “mysql” ∧ t.Status = “stopped” (Logical formula B)
(Condition B). The logical expression B is different from the logical expression A described above in the value of the Status attribute. A combination of these two logical expressions A and B can be satisfied.
一方、インスタンスを一意に識別するために、特定の属性は、クラスのインスタンス間で一意の値をとるものとする。そのような属性を、Key属性と呼ぶ。Name属性をKey属性と仮定すると、論理式Aと論理式Bでは、sとtではName属性の値が等しいため、sとtは、同じインスタンスに対する言明を与えていることになる。この場合、ある論理式、すなわちポリシ記述と、別のポリシ記述とにおいて、同じインスタンスの属性に対して異なる値を同時に設定するように条件が与えられているため、このような組み合わせのポリシ記述は整合しないように結果を出力しなければならない。このように、インスタンスが同一の場合を考慮した充足可能性の判定を実現するために、本実施形態では、Key属性を用いて、充足判定時にインスタンスの等価性制約を加える。 On the other hand, in order to uniquely identify an instance, a specific attribute takes a unique value among instances of the class. Such an attribute is called a Key attribute. Assuming that the Name attribute is the Key attribute, in the logical expressions A and B, since the value of the Name attribute is equal between s and t, s and t give a statement for the same instance. In this case, since a condition is given to set different values for the attribute of the same instance in a certain logical expression, that is, a policy description and another policy description, the policy description of such a combination is The result must be output so that it does not match. As described above, in order to realize the satisfiability determination in consideration of the case where the instances are the same, in this embodiment, the equivalence constraint of the instances is added at the time of satisfaction determination using the Key attribute.
Key属性記憶部163は、クラス名と、当該クラス名に定義されたKey属性のリストとを対応付けて記憶する。1つのクラスには、1つ以上のKey属性が定義され、Key属性が複数ある場合には、複数のKey属性を組み合わせた値が、同一クラスのインスタンス間で唯一となる。本実施形態では、第1の検査手段11及び第2の検査手段12は、Key属性を利用した等価性制約を、充足可能性を判定する式に加えて、充足可能性の判定を行う。
The key
図10は、充足可能性判定の前に実行するインスタンスの等価性制約を追加する処理の動作手順を示している。この処理は、ステップB20(図5)、ステップD20(図7)、又は、ステップE20(図8)で論理式を充足判定手段13が検査可能な形式に変換した後に実行される。なお、等価性制約を加える対象となる論理式は、事後条件と不変条件とを∧で結合したもの(図5)、検査対象のポリシ記述の事前条件と不変条件と登録済みポリシ記述の事前条件とを∧で結合したもの(図7)、又は、検査対象のポリシ記述の事後条件と不変条件と登録済みポリシ記述の事後条件とを∧で結合したもの(図8)となるが、論理式に対する操作は何れの場合でも同じ動作となるため、以下では、代表として、第1の検査手段11が、事後条件と不変条件とを∧で結合した論理式に対して等価性制約を加える例を用いて説明する。 FIG. 10 shows an operation procedure of a process for adding an equivalence constraint of an instance to be executed before the satisfiability determination. This process is executed after the logical expression is converted into a format that can be inspected by the satisfaction determination means 13 in step B20 (FIG. 5), step D20 (FIG. 7), or step E20 (FIG. 8). Note that the logical expression to which the equivalence constraint is to be added is a combination of the postcondition and the invariant condition (Fig. 5), the precondition of the policy description to be examined, the invariant condition, and the precondition of the registered policy description. Or a combination of the post-conditions of the policy description to be inspected, the invariant condition, and the post-conditions of the registered policy description (FIG. 8). In the following, as an example, the first checking means 11 applies an equivalence constraint to a logical expression in which a postcondition and an invariant condition are combined with each other. It explains using.
第1の検査手段11は、まず、論理式を冠頭標準形に変換する。これにより、論理式中に登場する束縛変数名は重複しないように名前が付け替えられる。次いで、その論理式に登場するクラス名と、当該クラス名のインスタンスに対応付けられた束縛変数名のリストとを組にした表を作成する(ステップF10)。このとき、クラスのインスタンスに対応する束縛変数の数が1つのみであるときには、表に含めない。 The first checking means 11 first converts the logical expression into the crown standard form. As a result, the names of the bound variables appearing in the logical expressions are renamed so as not to overlap. Next, a table is created in which a class name appearing in the logical expression and a list of bound variable names associated with instances of the class name are paired (step F10). At this time, when the number of binding variables corresponding to the instance of the class is only one, it is not included in the table.
ステップF10で作成された表の各行には、クラス名と、対応する束縛変数のリストとが格納されている。第1の検査手段11は、表の全ての行について処理を完了したか否かを判断する(ステップF20)。未処理の行が残っているときには、未処理の行(クラス名)を、1つを選択する(ステップF30)。第1の検査手段11は、選択した行に含まれる束縛変数のリストから2つを選択してできる各束縛変数の可能な組み合わせを作成する。その後、作成した組み合わせに、未処理の組み合わせが存在するか否かを判断する(ステップF40)。 Each row of the table created in step F10 stores a class name and a corresponding bound variable list. The first checking means 11 determines whether or not the processing has been completed for all the rows in the table (step F20). When an unprocessed line remains, one unprocessed line (class name) is selected (step F30). The first checking means 11 creates possible combinations of the respective bound variables that can be created by selecting two from the list of bound variables included in the selected row. Thereafter, it is determined whether or not an unprocessed combination exists in the created combination (step F40).
第1の検査手段11は、未処理の組み合わせが残っているときには、未処理の組み合わせのうちの1つを選択し、論理式を格納するための空のリストを作成する(ステップF50)。このリストを制約リストと呼ぶ。第1の検査手段11は、選択した行に含まれるクラス名を用いて、Key属性記憶部163から、当該クラス名に定義されたKey属性名のリストを取得する(ステップF60)。第1の検査手段11は、取得したKey属性の全てについて処理を完了したか否かを判断する(ステップF70)。
When an unprocessed combination remains, the
第1の検査手段11は、全てのKey属性について処理を完了していないときには、未処理のKey属性を1つ選択し、当該組み合わせに含まれる束縛変数のKey属性が等しいことを示す論理式を生成する。第1の検査手段11は、生成した論理式を、制約リストに格納する(ステップF80)。その際、第1の検査手段11は、制約リストが空であれば、生成した論理式を、そのまま制約リストに格納する。制約リストに、既に論理式が格納されているときには、格納すべき論理式と、格納済みの論理式とを∧結合したものを、制約リストに格納する。
The first checking means 11 selects one unprocessed Key attribute when the processing has not been completed for all the Key attributes, and generates a logical expression indicating that the Key attributes of the binding variables included in the combination are equal. Generate. The first checking means 11 stores the generated logical expression in the constraint list (step F80). At this time, if the constraint list is empty, the
例えば、束縛変数名の組み合わせをxとyとし、Key属性名をpとすると、生成される論理式は、x.p=y.pとなる。制約リストが空であれば、第1の検査手段11は、ステップF80で、制約リストにx.p=y.pを格納する。制約リストに、既に論理式Lが格納されている場合には、ステップF80で、L∧(x.p=y.p)を制約リストに格納する。 For example, if the combination of bound variable names is x and y and the Key attribute name is p, the generated logical expression is x. p = y. p. If the constraint list is empty, the first checking means 11 adds x. p = y. Store p. If the logical expression L is already stored in the constraint list, L∧ (x.p = y.p) is stored in the constraint list in step F80.
第1の検査手段11は、ステップF80からステップF70へ戻り、未処理の組み合わせが存在するか否かを判断する。全てのKey属性について処理を終えると、制約リストに含まれる論理式と、当該組み合わせに含まれる変数名が示すインスタンスが等しいことを示す論理式とが、論理的に等価であることを示す論理式を作成し、充足判定を行う論理式に、作成した論理式を∧結合して制約を追加する(ステップF90)。例えば、制約リストに含まれる論理式をL、束縛変数名の組み合わせをxとyとすると、生成される論理式は、
(L)⇔ (x=y)、又は、((L)→(x=y))∧((x=y)→(L))
となる。生成された論理式をQとし、充足判定を行う論理式をTとすると、ステップF90では、論理式Tと論理式Qとを∧結合したT∧Qを生成する。
The
(L) ⇔ (x = y) or ((L) → (x = y)) ∧ ((x = y) → (L))
It becomes. Assuming that the generated logical expression is Q, and T is a logical expression for which satisfaction is determined, in step F90, T∧Q is generated by linking the logical expression T and the logical expression Q.
第1の検査手段11は、ステップF90の実行後、ステップF40に戻り、未処理の組み合わせが存在するか否かを判断する。未処理の組み合わせが存在するときには、ステップF50へ進み、未処理の行を1つ選択する。ステップF50以降の処理を全ての組み合わせに対して実行したときには、ステップF20に戻り、ステップF10で作成した表の全ての行について、処理を完了したか否かを判断する。未処理の行が残っているときには、ステップF30へ進み、未処理の行を1つ選択する。未処理の行がない、つまり、作成した表の全ての行について、ステップF20以降の処理を完了したときには、等価性制約の処理を終了し、その後の、充足性判定処理(ステップB30(図5))へ進む。
After executing Step F90, the
本実施形態では、論理式を、充足判定手段13に与えて判定を行う前に、各クラスごと、各束縛変数の組み合わせごとに、等価性に関する制約式を作成し、これを充足判定を行う論理式に∧結合していき、制約式が追加された論理式に対して、充足判定手段13による判定を行う。このように、論理式の充足判定に先立って、論理式に登場するクラス名に定義された各Key属性のリストを用いて、インスタンスの等価性制約を生成し、充足判定を行う論理式に∧結合した上で充足判定を行うことで、検査に用いる論理式がより厳密になり、第1実施形態で得られる効果に加えて、インスタンスの等価性を考慮した、より正確なポリシ検査が可能となるという効果を得ることができる。 In the present embodiment, before giving a logical expression to the satisfaction determination means 13 and making a determination, a constraint expression related to equivalence is created for each class and for each combination of bound variables, and this is used to determine the satisfaction. The satisfaction determination means 13 makes a determination on the logical expression to which the constraint expression is added. As described above, prior to the satisfaction determination of the logical expression, the equivalence constraint of the instance is generated using the list of each Key attribute defined in the class name appearing in the logical expression, and the logical expression for performing the satisfaction determination By performing satisfaction after combining, the logical expression used for the inspection becomes more strict, and in addition to the effects obtained in the first embodiment, more accurate policy inspection considering instance equivalence is possible. The effect of becoming can be obtained.
次に、本発明の第3実施形態について説明する。まず、本実施形態の目的について説明する。第2実施形態で説明したインスタンスの等価性制約追加では、登場するクラスに定義された全てのKey属性について同じ値をとるようなインスタンスは同一であるという制約を加えた。この制約は、何れかのKey属性が欠落していた場合、或いは、Key属性に関する条件が登場しない場合など、束縛変数に対応付けられたインスタンスが同一であるか否かが明らかでない場合は充足判定に影響を与えない。よって、インスタンスが確実に同一である場合に加えて、同一であるか否かが明らかでない場合にも、同一であるとみなす手段が必要となる。本実施形態では、確実にインスタンスが異なることが論理式の条件により明らかにされている場合を除いて、束縛変数に対応付けられたインスタンス同士が等しいとする制約を加える。このようにすることで、インスタンスが同一か、又は、異なるかがわからないときに、「インスタンスは同一である」という制約を加えて充足可能性を判定できる。 Next, a third embodiment of the present invention will be described. First, the purpose of this embodiment will be described. In the instance equivalence constraint addition described in the second embodiment, a constraint is added that instances that have the same value for all the Key attributes defined in the appearing class are the same. This constraint is satisfied when it is not clear whether or not the instances associated with the bound variables are the same, such as when any of the Key attributes is missing or when a condition related to the Key attribute does not appear. Does not affect. Therefore, in addition to the case where the instances are surely the same, there is a need for means for regarding the instances as being the same even when it is not clear whether the instances are the same. In the present embodiment, a constraint is added that the instances associated with the bound variables are equal, except when the logical expression condition clearly indicates that the instances are different. In this way, when it is not known whether the instances are the same or different, it is possible to determine the satisfiability by adding the constraint that “the instances are the same”.
本実施形態におけるポリシ検査システムの構成は、図9に示すポリシ検査システム10aの構成と同じである。図11は、本実施形態の動作手順の一部を示している。本実施形態のポリシ検査システムの動作は、図10に示す制約追加処理において、ステップF60以降の処理手順が、第2実施形態の動作手順と相違する。第1の検査手段11(又は第2の検査手段12)は、ステップF50(図10)で、特定のクラス名と、当該クラス名に対応付けられた束縛変数名の組み合わせを1つ選択すると、Key属性記憶部163から、当該クラス名に定義されたKey属性の一覧を取得し、取得したKey属性のうちで、充足判定を行う論理式の中で組み合わせに含まれる2つの束縛変数名を用いて参照されるKey属性のみを検出する(ステップG10)。
The configuration of the policy inspection system in the present embodiment is the same as the configuration of the
例えば、組み合わせに含まれる束縛変数名をx、yとし、ClassAという名前のクラスについて処理をしているとする。また、ClassAのKey属性がp1、p2であったとする。この場合、論理式中に「x.p1」、「y.p1」、「y.p2」という属性参照が現れたとすると、ステップG10では、Key属性p1のみが検出される。Key属性p2については、束縛変数yによる参照はあるが、束縛変数xによる参照がないために除外される。第1の検査手段11は、ステップG10で、Key属性を検出できたか否かを判断する(ステップG20)。検出されたKey属性が存在しない場合には、組み合わせに含まれる2つの束縛変数名が等しいという制約を、制約リストに追加する(ステップG50)。例えば、組み合わせに含まれる2つの束縛変数名がxとyであれば、(x=y)を制約リストに追加する。 For example, it is assumed that the bound variable names included in the combination are x and y, and the class named ClassA is being processed. Further, it is assumed that the Key attribute of Class A is p1 and p2. In this case, if attribute references “x.p1”, “y.p1”, and “y.p2” appear in the logical expression, only the Key attribute p1 is detected in step G10. The Key attribute p2 is excluded because there is a reference by the bound variable y but there is no reference by the bound variable x. The first inspection means 11 determines whether or not the Key attribute has been detected in Step G10 (Step G20). If the detected Key attribute does not exist, a constraint that the two bound variable names included in the combination are equal is added to the constraint list (step G50). For example, if two bound variable names included in the combination are x and y, (x = y) is added to the constraint list.
第1の検査手段11は、ステップG10で検出したKey属性のすべてについて処理を完了したか否かを判断する(ステップG30)。未処理のKey属性が存在する場合には、その中から1つを選択し、当該組み合わせに含まれる束縛変数のKey属性が等しいことを示す論理式を生成し、生成した論理式を制約リストに格納する(ステップG40)。ステップG40では、図10のステップF80と同様に、制約リストが空であれば、生成した論理式をそのまま制約リストに格納し、制約リストに既に論理式が格納されているときには、格納すべき論理式と、格納済みの論理式とを∧結合したものを、制約リストに格納する。
The
第1の検査手段11は、ステップG40で論理式を制約リストに格納すると、ステップG30に戻って、全てのKey属性について処理したか否かを判断する。全てのKey属性について処理を終えた場合には、制約リストに含まれる論理式と、当該組み合わせに含まれる変数名が示すインスタンスが等しいことを示す論理式とが論理的に等価であることを示す論理式を作成し、作成した論理式を、充足判定を行う論理式に∧結合する(ステップG60)。例えば、制約リストに含まれる論理式をL、束縛変数名の組み合わせをxとyとすると、作成される論理式は、
(L)⇔ (x=y)、又は、((L)→(x=y))∧((x=y)→(L))
となる。この作成された論理式をQとし、充足判定を行う論理式をTとすると、T∧Q
が新たに充足判定を行う論理式となる。
When the first checking means 11 stores the logical expression in the constraint list in step G40, the first checking means 11 returns to step G30 and determines whether or not all key attributes have been processed. When processing is completed for all the key attributes, the logical expression included in the constraint list and the logical expression indicating that the instances indicated by the variable names included in the combination are equal are logically equivalent. A logical expression is created, and the created logical expression is connected to the logical expression for which satisfaction is determined (step G60). For example, if the logical expression included in the constraint list is L and the combination of bound variable names is x and y, the logical expression to be created is
(L) ⇔ (x = y) or ((L) → (x = y)) ∧ ((x = y) → (L))
It becomes. Assuming that the created logical expression is Q, and T is a logical expression for performing satisfaction determination, T∧Q
Is a new logical expression for performing a satisfaction determination.
上記した図11に示す処理を加えた制約追加手順は、図5のステップB20とステップB30の間、及び、図8のステップE20とステップE30の間に挿入することが好ましい。これは、図5に示す検査、及び、図8に示す検査では、検査対象のポリシ記述が、不変条件又は他のポリシ記述と衝突するか否かを判定するため、危険な可能性がある場合に充足不可能となることが好ましいためである。インスタンスが同一かどうかがわからない場合に、同一とすることで、論理式の充足はより困難となり、潜在的に問題があるポリシ記述を検出できることになる。 The above-described constraint addition procedure to which the process shown in FIG. 11 is added is preferably inserted between step B20 and step B30 in FIG. 5 and between step E20 and step E30 in FIG. This is because the inspection shown in FIG. 5 and the inspection shown in FIG. 8 may be dangerous because it determines whether the policy description to be inspected collides with an invariant condition or another policy description. This is because it is preferable that the above cannot be satisfied. When it is not known whether or not the instances are the same, by making them the same, it becomes more difficult to satisfy the logical expression, and a potentially problematic policy description can be detected.
一方で、図7に示す検査では、検査対象のポリシ記述と同時に発火する可能性があるポリシを選別しているため、明らかに同時に発火しないポリシの組み合わせのみを排除すべきである。仮に、インスタンスが同一かどうかわからない場合に同一と判断することとすると、同時に発火する可能性がポリシ記述の組み合わせを除外する可能性がある。このため、図5の検査、及び、図8の検査とは異なり、図7のステップD20とステップD30の間には、第2実施形態で説明した図10に示す手順の制約追加動作を挿入することが好ましい。 On the other hand, in the inspection shown in FIG. 7, since policies that may be ignited simultaneously with the description of the policy to be inspected are selected, only combinations of policies that do not ignite at the same time should be excluded. If it is determined that the instances are the same when it is not known whether or not the instances are the same, there is a possibility that a combination of policy descriptions may be excluded because of the possibility of firing simultaneously. Therefore, unlike the inspection of FIG. 5 and the inspection of FIG. 8, the constraint addition operation of the procedure shown in FIG. 10 described in the second embodiment is inserted between step D20 and step D30 of FIG. It is preferable.
本実施形態では、特に、不変条件と事後条件の検査(図5)、及び、2つのポリシ記述の事後条件と不変条件との検査(図8)で、論理式中に登場する束縛変数のうちで、対応する2つの束縛変数から参照されない束縛変数については、インスタンスが等しいとする制約を加える。このようにすることで、インスタンスが等しいか否かが明らかでない場合に、インスタンスが等しいと制約を与えることが可能であり、これより、問題がある可能性があるポリシ記述の組み合わせを広く検出することが可能となる。 In the present embodiment, among the bound variables appearing in the logical expression, in particular, inspecting the invariant condition and the postcondition (FIG. 5) and checking the postcondition and invariant condition of the two policy descriptions (FIG. 8). Thus, for a bound variable that is not referenced from the corresponding two bound variables, a constraint is added that the instances are equal. In this way, when it is not clear whether or not the instances are equal, it is possible to constrain the instances to be equal, and this broadly detects combinations of policy descriptions that may be problematic. It becomes possible.
本発明において、一階述語論理で記述される条件は、連接∧、選言∨、含意→、否定¬などの論理演算子と、“<”、“>”、“=”などの数値や文字列の比較演算による述語、全称記号∀、存在記号∃、及び、x∈Classなどの束縛変数xがクラス名Classのインスタンスに属することを示す∈という記号をASCII文字により表現した文字列により構成される。あるインスタンスの属性値を参照するためには、x.pなどと記述する。xは束縛変数名で、pは当該束縛変数が属するインスタンスのクラスに定義された属性名である。 In the present invention, the conditions described in the first-order predicate logic include logical operators such as concatenation ∧, disjunction 含, implication →, negative ¬, and numerical values and characters such as “<”, “>”, “=”, etc. It is composed of a predicate based on a column comparison operation, a universal symbol ∀, an existence symbol 文字, and a character string that expresses the symbol ∈ indicating that the bound variable x such as x∈Class belongs to an instance of the class name Class by ASCII characters. The To refer to the attribute value of an instance, x. Describe as p. x is a bound variable name, and p is an attribute name defined for the class of the instance to which the bound variable belongs.
以下に説明する2つの条件を例に挙げて、充足判定を行う方法の概略を具体的に説明する。ここで述べる等価性制約の追加手法は、第2実施形態に準ずる。また、下記条件1を検査対象のポリシ記述に含まれる事後条件、下記条件2を不変条件として、その充足可能判定を行う場合について説明する。ServiceというクラスのKey属性は、Nameという名前の属性のみであるとする。
条件1:exists s in Service, s.Name="mysql" and s.Status="running"
条件2:exists s in Service, s.Name="mysql" and s.Status="stopped"
The outline of a method for performing satisfaction determination will be specifically described by taking two conditions described below as examples. The equivalence constraint adding method described here is in accordance with the second embodiment. A case will be described in which the following condition 1 is included in the policy description to be inspected, and the following condition 2 is set as an invariant condition, and the satisfaction determination is performed. It is assumed that the Key attribute of the class “Service” is only an attribute named “Name”.
Condition 1: exists s in Service, s.Name = "mysql" and s.Status = "running"
Condition 2: exists s in Service, s.Name = "mysql" and s.Status = "stopped"
上記条件を∧結合し、冠頭標準形にした論理式を以下に示す。
exists s、t in Service,s.Name="mysql" and s.Status="running" and t.Name="mysql" and t.Status="stopped"
ここまでが、ステップB10(図5)とステップB20に対応する。論理式を冠頭標準形に変換する手順は広く知られている。
A logical expression that is obtained by combining the above conditions into a canonical standard form is shown below.
exists s, t in Service, s.Name = "mysql" and s.Status = "running" and t.Name = "mysql" and t.Status = "stopped"
The steps so far correspond to step B10 (FIG. 5) and step B20. The procedure for converting a logical expression into a canonical standard form is well known.
図10に示す、Key属性を用いた制約追加手続きを行う。論理式に登場するクラス名はServiceのみである。論理式中に登場する束縛変数はsとtの2つであり、その組み合わせは(s,t)のみである。一方、ServiceのKey属性はNameであり、これにより、以下に示す論理式が、ステップF90で追加される制約となる。
((s.Name=t.Name)implies s=t)
A constraint addition procedure using the Key attribute shown in FIG. 10 is performed. The only class name that appears in the logical expression is Service. There are two bound variables that appear in the logical expression, s and t, and the combination is only (s, t). On the other hand, the Key attribute of Service is “Name”, which restricts the following logical expression added in Step F90.
((S.Name = t.Name) implies s = t)
次に、充足判定手段13が充足可能性判定ツールとしてシンプリファイ(simplify)を実装している場合の充足判定方法について説明する。シンプリファイを用いて充足判定するためには、インスタンスの属性値のアクセスを関数呼び出しに変換し、文字列は例えばハッシュ値をとり整数に変換し、論理式をS式で表現するなどの変換を行えばよい。更に、シンプリファイは、与えられた論理式の否定について充足可能性を判定するため、与える論理式をあらかじめ否定で反転しておく。
Next, a satisfaction determination method in the case where the
上記の例を、シンプリファイに与える論理式に変換したものを以下に示す。ここでは、mysqlという文字列を1に、runningを2に、stoppedを3という整数に置き換えている。
(NOT (EXISTS (s t)
(AND
(AND
(AND (EQ (Service##Name s) 1)
(EQ (Service##Status s) 2))
(AND (EQ (Service##Name t) 1)
(EQ (Service##Status t) 3)))
(IFF
(EQ (Service##Name s) (Service##Name t))
(EQ s t)))))
上記論理式は、充足不可能であるため、シンプリファイではvalidという回答を出す。なお、充足可能である場合、又は、判定できない場合には、invalidという回答が返る。論理式の充足判定(ステップB40)が完了し、充足不可能と判定されるため、ステップB50に進んで、エラーが出力される。
A conversion of the above example into a logical expression given to simplify is shown below. Here, the character string mysql is replaced with 1, the running is replaced with 2, and the stopped is replaced with an integer of 3.
(NOT (EXISTS (st)
(AND
(AND
(AND (EQ (Service ## Name s) 1)
(EQ (Service ## Status s) 2))
(AND (EQ (Service ## Name t) 1)
(EQ (Service ## Status t) 3)))
(IFF
(EQ (Service ## Name s) (Service ## Name t))
(EQ st)))))
Since the above logical expression cannot be satisfied, a reply “valid” is issued in the simplify. Note that if it is satisfiable or cannot be determined, an invalid response is returned. Since the logical expression satisfaction determination (step B40) is completed and it is determined that the logical expression cannot be satisfied, the process proceeds to step B50, and an error is output.
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のポリシ検査システム、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。 The present invention has been described above based on the preferred embodiment. However, the policy inspection system, method, and program of the present invention are not limited to the above embodiment, and various configurations are possible from the configuration of the above embodiment. Those modified and changed as described above are also included in the scope of the present invention.
本発明は、ポリシ記述を作成する際に、ポリシ記述の問題を検査するためのポリシ検査装置や、ポリシ検査装置をコンピュータに実現するためのプログラムといった用途に適用できる。また、ポリシ記述に従ってコンピュータ・システムやネットワーク・システムを管理するポリシ管理装置に組み込み、登録時に不適切なポリシ記述を検出・排除する機能としても適用可能である。 The present invention can be applied to uses such as a policy inspection apparatus for inspecting a policy description problem and a program for realizing the policy inspection apparatus in a computer when creating a policy description. Further, it can be applied to a policy management apparatus that manages a computer system or a network system in accordance with a policy description, and detects and eliminates an inappropriate policy description at the time of registration.
10:ポリシ検査システム
11:第1の検査手段
12:第2の検査手段
13:充足判定手段
14:入力装置
15:出力装置
16:記憶装置
161:不変条件記憶部
162:ポリシ記憶部
163:Key属性記憶部
71:ポリシ記述
72:ポリシ仕様
10: Policy inspection system 11: First inspection means 12: Second inspection means 13: Satisfaction determination means 14: Input device 15: Output device 16: Storage device 161: Invariant condition storage unit 162: Policy storage unit 163: Key Attribute storage unit 71: policy description 72: policy specification
Claims (13)
前記検査対象のポリシ記述を受け付ける入力装置と、
管理対象システムの状態について常に成立する条件を一階述語論理により記述した不変条件を記憶した不変条件記憶部と、
登録済みのポリシ記述を記憶するポリシ記憶部と、
前記入力装置により受け付けられた前記ポリシ記述中で定義されている操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した所定の論理式で表される事後条件と前記不変条件記憶部に記憶されている前記不変条件とに基づいて、前記入力装置により受け付けられた前記検査対象のポリシ記述の検査を行う検査手段と、を有し、
前記検査手段が、
論理式の充足判定を行う充足判定手段と、
前記不変条件記憶部に記憶された不変条件及び前記ポリシ記憶部に記憶された登録済みのポリシ記述を参照し、前記入力装置により受け付けられた前記検査対象のポリシ記述に含まれる事後条件と前記登録済みポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成する論理式生成手段と、
前記論理式生成手段が生成した論理式の充足可能性を、前記充足判定手段を用いて判定するポリシ整合性検査手段と、
前記管理対象システムの状態を表現したインスタンスの属性のうち、管理対象システムのクラスに関し、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部と、
を有し、
前記ポリシ整合性検査手段による判定に先立って、前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を、前記充足判定手段を用いて判定する不正ポリシ検査手段を更に備え、
前記管理対象システムの状態はインスタンスによって表現され、
前記不正ポリシ検査手段は、
前記充足判定手段による充足性判定に先立って、前記Key属性記憶部を参照し、前記管理対象システムの状態を表現したインスタンスのうち充足性判定の対象となる論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加え、
前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、
ことを特徴とするポリシ検査システム。 A policy inspection system for inspecting a policy description to be inspected,
An input device for applying accept the policy description of said object,
An invariant condition storage unit that stores an invariant condition in which a condition that is always satisfied for the state of the managed system is described by first-order predicate logic;
A policy storage unit for storing registered policy descriptions;
A post-condition represented by a predetermined logical expression describing a condition to be satisfied with respect to the state of the managed system immediately after the operation defined in the policy description received by the input device using first-order predicate logic; and Inspection means for inspecting the policy description of the inspection object received by the input device based on the invariant condition stored in the invariant condition storage unit;
The inspection means is
A sufficiency judging means for judging sufficiency of the logical expression;
Refer to the invariant condition stored in the invariant condition storage unit and the registered policy description stored in the policy storage unit, and the post-condition and the registration included in the policy description of the inspection target received by the input device A logical expression generation means for generating a logical expression that is a combination of the postcondition included in the finished policy description and the invariant condition;
Policy consistency checking means for determining the satisfiability of the logical expression generated by the logical expression generation means using the satisfaction determination means;
A key attribute storage unit that stores information on a key attribute that always takes a unique value between the same classes with respect to the class of the managed system among the attributes of the instance that represents the state of the managed system;
Have
Prior to the determination by the policy consistency checking unit, the invariant condition storage unit is referred to, and a logical expression is generated by combining the postcondition included in the policy description to be inspected and the invariant condition. A fraud policy checking means for determining the satisfiability of the logical expression using the satisfaction determination means;
State of the managed system therefore is represented in instance,
The fraud policy inspection means includes:
Prior to sufficiency determination by the satisfaction judgment means, the Key attribute storage unit with reference to, corresponding to the bound variables appearing in formulas to be sufficiency determination of the states instance that expresses the managed system Add an equality constraint as a constraint to the formula, provided that the attached instances are equal,
When the values of the Key attributes of two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the instances corresponding to the two bound variables are equal, and when the two bound variables are equal, Add all Key attribute value is equal to such value constraints you two bound variables in formulas to be the sufficiency determination,
A policy inspection system characterized by that.
前記ポリシ整合性検査手段は、前記不変条件記憶部及びポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事前条件と、前記登録済みポリシ記述に含まれる事前条件と、前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を、前記充足判定手段を用いて判定し、充足すると判定すると、前記検査対象のポリシ記述に含まれる事後条件と、前記登録済みポリシ記述に含まれる事後条件と、前記不変条件とを∧結合した論理式の充足可能性の判定を行う、請求項1に記載のポリシ検査システム。 The policy description further includes a precondition in which the policy firing condition is described in first order predicate logic,
The policy consistency checking means refers to the invariant condition storage unit and the policy storage unit, and includes a precondition included in the policy description to be inspected, a precondition included in the registered policy description, and the invariant condition. Is generated using the above-described satisfaction determination means, and if it is determined that the satisfaction is satisfied, the post-conditions included in the policy description to be inspected, and The policy checking system according to claim 1, wherein a satisfiability of a logical expression obtained by combining the postcondition included in the registered policy description and the invariant is determined.
前記充足性判定の対象となる論理式に登場する束縛変数のうちの任意の2つの組み合わせについて、当該論理式中に、前記任意の2つの束縛変数を用いて参照されるKey属性が存在するか否かを判断し、存在しないと判断すると、前記任意の2つの束縛変数に対応するインスタンスが等しいとする等価性制約を前記充足性判定の対象となる論理式に加え、存在すると判断すると、前記任意の2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記任意の2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、請求項1又は2に記載のポリシ検査システム。 The fraud policy inspection means includes:
For any two combinations of the bound variables that appear in the logical expression that is the target of the sufficiency determination, whether there is a Key attribute that is referenced using the two arbitrary bound variables in the logical expression determine whether, when it is determined that there is no added equivalence constraint shall be the instances are equal corresponding to the arbitrary two bound variables in formulas to be the sufficiency determination, if it is determined that there is , When the values of all Key attributes of any two bound variables are equal, the instances corresponding to the two bound variables are equal, and when any two bound variables are equal, all of the two bound variables are all Add the value is equal to the equivalence constraint you of Key attributes to the logical expression to be the sufficiency determination, the policy checking system according to claim 1 or 2.
前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、請求項1、2又は3に記載のポリシ検査システム。 The policy consistency checking means includes:
When the values of the Key attributes of two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the instances corresponding to the two bound variables are equal, and when the two bound variables are equal, Add all Key attribute value is equal to such value constraints you two bound variables in formulas to be the sufficiency determination, the policy checking system according to claim 1, 2 or 3.
前記充足性判定の対象となる論理式に登場する束縛変数のうちの任意の2つの組み合わせについて、当該論理式中に、前記任意の2つの束縛変数を用いて参照されるKey属性が存在するか否かを判断し、存在しないと判断すると、前記任意の2つの束縛変数に対応するインスタンスが等しいとする等価性制約を前記充足性判定の対象となる論理式に加え、存在すると判断すると、前記任意の2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記任意の2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、請求項1〜4のいずれか1項に記載のポリシ検査システム。 The policy consistency checking means includes:
For any two combinations of the bound variables that appear in the logical expression that is the target of the sufficiency determination, whether there is a Key attribute that is referenced using the two arbitrary bound variables in the logical expression determine whether, when it is determined that there is no added equivalence constraint shall be the instances are equal corresponding to the arbitrary two bound variables in formulas to be the sufficiency determination, if it is determined that there is , When the values of all Key attributes of any two bound variables are equal, the instances corresponding to the two bound variables are equal, and when any two bound variables are equal, all of the two bound variables are all Add the value is equal to the equivalence constraint you of Key attributes to the logical expression to be the sufficiency determination, the policy checking system according to any one of claims 1 to 4.
前記コンピュータが、前記不変条件記憶部に記憶している不変条件と、前記入力装置により入力された前記ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した論理式とに基づいて、前記検査対象のポリシ記述の検査を検査手段により行うステップを有し、
前記ポリシ記述が、ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した事後条件及びポリシ発火条件を一階述語論理で記述した事前条件を含んでおり、
前記ポリシ記述の検査を行うステップが、
前記コンピュータが、前記不変条件を記憶する前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成するステップと、
生成した論理式の充足可能性を判定する不正ポリシ検査ステップと、
前記不正ポリシ検査ステップで充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事前条件と前記登録済みポリシ記述に含まれる事前条件と前記不変条件とを∧結合した論理式を生成するステップと、
生成した論理式の充足可能性を判定するステップと、
該判定するステップにおいて充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記登録済みポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成するステップと、
生成した論理式の充足可能性を判定するポリシ整合性検査ステップと、
を有し、
前記ポリシ整合性検査ステップによる判定に先立って、前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定する不正ポリシ検査ステップを更に備え、
前記不正ポリシ検査ステップが、前記論理式の充足性判定に先立って、前記コンピュータが、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照し、充足性判定の対象となる論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加えるステップを含み、
前記制約を加えるステップでは、前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、
ことを特徴とするポリシ検査方法。 Policy for storing an input device for accepting a policy Identifier Description inspected, and invariant condition storage unit always stores the described invariants by first-order logic conditions which satisfies the state of the managed system, the registered policy description It is expressed by a predetermined logical expression describing a condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description received by the storage unit and the input device, using first-order predicate logic. Inspection using a computer having inspection means for inspecting the policy description of the inspection object received by the input device based on the postcondition and the invariant condition stored in the invariant condition storage unit A policy inspection method for inspecting a target policy description,
A first-order predicate representing the invariant condition stored in the invariant condition storage unit by the computer and a condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description input by the input device A step of inspecting the policy description to be inspected by an inspection means based on a logical expression described by logic;
The policy description includes a post-condition that describes the condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description by the first-order predicate logic and a pre-condition that describes the policy firing condition by the first-order predicate logic. Including
Checking the policy description comprises the steps of:
The computer refers to the invariant condition storage unit that stores the invariant condition, and generates a logical expression obtained by combining the a posteriori condition included in the policy description to be examined and the invariant condition;
A fraud policy checking step for determining satisfiability of the generated logical expression;
If it is determined that the illegal policy checking step is satisfied, the invariant condition storage unit and the policy storage unit are referred to, the precondition included in the policy description to be inspected, the precondition included in the registered policy description, and the invariant Generating a logical expression that is a combination of conditions;
Determining the satisfiability of the generated logical expression;
If it is determined that the condition is satisfied in the determining step, the invariant condition storage unit and the policy storage unit are referred to, the postcondition included in the policy description to be examined, the postcondition included in the registered policy description, and the invariant condition. Generating a logical expression obtained by combining
A policy consistency check step for determining satisfiability of the generated logical expression; and
Have
Prior to the determination by the policy consistency checking step, the invariant condition storage unit is referred to, and a logical expression is generated by combining the postcondition included in the policy description to be inspected and the invariant condition. A fraud policy checking step for determining satisfiability of the logical expression;
Prior to the sufficiency determination of the logical expression, the illegal policy checking step is a key attribute of the Key attribute that always takes a unique value among the same class among the attributes of the instance expressing the state of the managed system. By referring to the Key attribute storage unit that stores information, an equivalence constraint is added to the logical expression as a restriction on the condition that the instances associated with the bound variables appearing in the logical expression that is the target of the sufficiency determination are equal. Including steps,
In the step of adding the constraint, when the values of the Key attributes of the two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the instances corresponding to the two bound variables are equal, and the 2 one of the added all equivalence constraint shall be the value of the Key attribute is equal of the two bound variables in formulas to be the sufficiency determining when bound variables are equal,
A policy inspection method characterized by the above.
前記ポリシ記述の検査を行うステップが、
前記コンピュータが、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事前条件と、前記登録済みポリシ記述に含まれる事前条件と、前記不変条件とを∧結合した論理式を生成し、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照して、前記事前条件と不変条件とを∧結合して生成した論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加え、該制約を加えた論理式の充足可能性を判定し、該充足性判定において充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と、前記登録済みポリシ記述に含まれる事後条件と、前記不変条件とを∧結合した論理式を生成し、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照して、前記事後条件と不変条件とを∧結合して生成した論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加え、該制約を加えた論理式の充足可能性を判定するポリシ整合性検査ステップを有し、
前記ポリシ整合性検査ステップでは、論理式に制約を加える際に、前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、請求項6又は7に記載のポリシ検査方法。 The policy description includes a post-condition that describes the condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description by the first-order predicate logic and a pre-condition that describes the policy firing condition by the first-order predicate logic. Including
Checking the policy description comprises the steps of:
The computer refers to the invariant condition storage unit and the policy storage unit, and combines the precondition included in the policy description to be inspected, the precondition included in the registered policy description, and the invariant condition. and generating the logical expression, of the attributes of an instance that represents the state of the managed system, by referring to Key attribute storage unit that stores information Key attributes whose always unique value between the same class, before article added the equivalent constraint that instance associated with the bound variable appearing the precondition and invariant conditions ∧ bound logical expression that is generated is provided that is equal as a constraint in the logical expression, adding the constraint If it is determined that the logical expression is satisfiable and is satisfied in the satisfaction determination, the invariant condition storage unit and the policy storage unit are referred to, and the policy description to be inspected is referred to. And Murrell postcondition, wherein a post-condition included in the registered policy description, the a invariants generate ∧ bound logical expression of attributes of an instance that represents the state of the managed system, between the same class Referring to the Key attribute storage unit that stores information of the Key attribute that always takes a unique value, it is associated with a bound variable that appears in a logical expression generated by linking the postcondition and the invariant condition. added the equivalent constraint that the condition that the instance is equal as a constraint in the logical expression has a logical expression policy consistency check determining satisfiability of plus the constraints,
In the policy consistency checking step, when a constraint is applied to a logical expression, if all the Key attribute values of the two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the two bound variables are equal the corresponding instance, and adding all the values are equal the equivalence constraint you of Key attributes of the two of the two bound variables when bound variables is equal to a logical formula to be the sufficiency determination The policy inspection method according to claim 6 or 7.
コンピュータを、検査対象のポリシ記述を受け付ける入力装置と、管理対象システムの状態について常に成立する条件を一階述語論理により記述した不変条件を記憶した不変条件記憶部と、登録済みのポリシ記述を記憶するポリシ記憶部と、前記入力装置により受け付けられた前記ポリシ記述中で定義されている操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した所定の論理式で表される事後条件と前記不変条件記憶部に記憶されている前記不変条件とに基づいて、前記入力装置で受け付けられた前記検査対象のポリシ記述の検査を行う検査手段と、として機能させ、
前記コンピュータに、
管理対象システムの状態について常に成立する条件を一階述語論理により記述した不変条件と、前記入力装置により入力された前記ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した論理式とに基づいて、前記検査対象のポリシ記述の検査を前記検査手段により行うステップを実行させるプログラムであって、
前記ポリシ記述が、ポリシ記述に定義された操作の直後に管理対象システムの状態について成立すべき条件を一階述語論理により記述した事後条件及びポリシ発火条件を一階述語論理で記述した事前条件を含んでおり、
前記ポリシ記述の検査を行うステップが、
前記不変条件記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と、前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定する不正ポリシ検査ステップと、
前記不正ポリシ検査ステップで充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事前条件と、前記登録済みポリシ記述に含まれる事前条件と、前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定し、該判定において充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と、前記登録済みポリシ記述に含まれる事後条件と、前記不変条件とを∧結合した論理式を生成し、該生成した論理式の充足可能性を判定するポリシ整合性検査ステップとを実行させ、
前記不正ポリシ検査ステップが、
前記論理式の充足性判定に先立って、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照し、充足性判定の対象となる論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加えるステップを含み、
前記制約を加えるステップでは、前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、
ことを特徴とするプログラム。 A program for causing a computer to execute a process for inspecting a policy description to be inspected,
The computer, an input device to attach accept the policy description of the test object, and invariant condition storage unit always stores the described invariants by first-order logic to establish conditions for the state of the managed system, policy description registered And a predetermined logical expression describing a condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description received by the input device using first-order predicate logic Based on the a posteriori condition represented by the above and the invariant condition stored in the invariant condition storage unit, function as an inspection unit that inspects the policy description of the inspection object received by the input device ,
In the computer,
An invariant condition in which a condition that is always satisfied for the state of the managed system is described by first-order predicate logic, and a condition that should be satisfied for the state of the managed system immediately after the operation defined in the policy description input by the input device Based on a logical expression described by first-order predicate logic, and a program for executing the step of checking the policy description to be checked by the checking means,
The policy description includes a post-condition that describes the condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description by the first-order predicate logic and a pre-condition that describes the policy firing condition by the first-order predicate logic. Including
Checking the policy description comprises the steps of:
An illegal policy that refers to the invariant condition storage unit, generates a logical expression that is a combination of the postcondition included in the policy description to be examined and the invariant condition, and determines whether the generated logical expression is satisfiable An inspection step;
When it is determined that the illegal policy checking step is satisfied, the invariant condition storage unit and the policy storage unit are referred to, the precondition included in the policy description to be checked, the precondition included in the registered policy description, Generate a logical expression that is combined with the invariant condition, determine the satisfiability of the generated logical expression, and determine that the logical expression is satisfied in the determination, refer to the invariant condition storage unit and the policy storage unit, Generate a logical expression that combines the post-conditions included in the policy description to be inspected, the post-conditions included in the registered policy description, and the invariant conditions, and determine the satisfiability of the generated logical expression A policy consistency check step,
The fraud policy checking step includes:
Prior to determining the sufficiency of the logical expression, a key attribute storage unit that stores key attribute information that always takes a unique value among the same class among the attributes of the instance representing the state of the managed system is referred to. Adding an equivalence constraint as a constraint to the logical expression, provided that the instances associated with the bound variable appearing in the logical expression that is the subject of the sufficiency determination are equal ,
In the step of adding the constraint, when the values of the Key attributes of the two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the instances corresponding to the two bound variables are equal, and the 2 one of the added all equivalence constraint shall be the value of the Key attribute is equal of the two bound variables in formulas to be the sufficiency determining when bound variables are equal,
A program characterized by that.
前記ポリシ記述の検査を行うステップが、
前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事前条件と、前記登録済みポリシ記述に含まれる事前条件と、前記不変条件とを∧結合した論理式を生成し、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照して、前記事前条件と不変条件とを∧結合して生成した論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加え、該制約を加えた論理式の充足可能性を判定し、該充足性判定において充足すると判定すると、前記不変条件記憶部及び前記ポリシ記憶部を参照し、前記検査対象のポリシ記述に含まれる事後条件と、前記登録済みポリシ記述に含まれる事後条件と、前記不変条件とを∧結合した論理式を生成し、前記管理対象システムの状態を表現したインスタンスの属性のうち、同一クラス間で常に唯一の値をとるKey属性の情報を記憶するKey属性記憶部を参照して、前記事後条件と不変条件とを∧結合して生成した論理式に登場する束縛変数に対応付けられたインスタンスが等しいことを条件とする等価性制約を当該論理式に制約として加え、該制約を加えた論理式の充足可能性を判定するポリシ整合性検査ステップを有し、
前記ポリシ整合性検査ステップでは、論理式に制約を加える際に、前記充足性判定の対象となる論理式に登場する2つの束縛変数の全てのKey属性の値が等しいとき該2つの束縛変数に対応するインスタンスが等しく、かつ、前記2つの束縛変数が等しいとき該2つの束縛変数の全てのKey属性の値が等しいとする等価性制約を前記充足性判定の対象となる論理式に加える、請求項10又は11に記載のプログラム。 The policy description includes a post-condition that describes the condition to be satisfied for the state of the managed system immediately after the operation defined in the policy description by the first-order predicate logic and a pre-condition that describes the policy firing condition by the first-order predicate logic. Including
Checking the policy description comprises the steps of:
Referring to the invariant condition storage unit and the policy storage unit, a logical expression obtained by combining the precondition included in the policy description to be examined, the precondition included in the registered policy description, and the invariant condition The key attribute storage unit that stores the key attribute information that always takes a unique value among the same class among the attributes of the instance that represents the state of the managed system that is generated, and is invariant with the precondition An equivalence constraint is added to the logical expression as a constraint, provided that the instances associated with the bound variables appearing in the logical expression generated by linking the conditions with each other are equal , and the logical expression satisfying the constraint is satisfied Determining the possibility, and determining that the satisfaction is satisfied in the satisfaction determination, refer to the invariant condition storage unit and the policy storage unit, and a postcondition included in the policy description of the inspection target; And post-condition included in the serial registered policy description, the a invariants generate ∧ bound logical expression of attributes of an instance that represents the state of the managed system, always only value between the same class Referring to a key attribute storage unit that stores information on the key attribute to be taken, the condition is that the instances associated with the bound variable appearing in the logical expression generated by linking the postcondition and the invariant condition are equal And a policy consistency check step for determining the satisfiability of the logical expression to which the constraint is added,
In the policy consistency checking step, when a constraint is applied to a logical expression, if all the Key attribute values of the two bound variables appearing in the logical expression subject to the sufficiency determination are equal, the two bound variables are An equivalence constraint is added to the logical expression subject to the sufficiency determination that the corresponding instances are equal and the values of all the Key attributes of the two bound variables are equal when the two bound variables are equal. Item 12. The program according to item 10 or 11.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006240225A JP4887985B2 (en) | 2006-09-05 | 2006-09-05 | Policy inspection system, method, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006240225A JP4887985B2 (en) | 2006-09-05 | 2006-09-05 | Policy inspection system, method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008065448A JP2008065448A (en) | 2008-03-21 |
| JP4887985B2 true JP4887985B2 (en) | 2012-02-29 |
Family
ID=39288135
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006240225A Expired - Fee Related JP4887985B2 (en) | 2006-09-05 | 2006-09-05 | Policy inspection system, method, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4887985B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016110946A1 (en) * | 2015-01-06 | 2016-07-14 | 株式会社日立製作所 | Rule consistency verification device and rule consistency verification method |
| CN111738763B (en) * | 2020-06-19 | 2024-04-19 | 京东科技控股股份有限公司 | Policy processing method, device, equipment and storage medium |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0820959B2 (en) * | 1992-04-03 | 1996-03-04 | 工業技術院長 | Knowledge base management method |
-
2006
- 2006-09-05 JP JP2006240225A patent/JP4887985B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008065448A (en) | 2008-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101579493B1 (en) | Staging control method for source code, Computer program for the same, Recording medium storing computer program for the same | |
| Oquendo | π-Calculus for SoS: A foundation for formally describing software-intensive systems-of-systems | |
| JP2008299723A (en) | Program verification method and device | |
| CN110162474A (en) | A kind of intelligent contract reentry leak detection method based on abstract syntax tree | |
| Neubauer et al. | Risk-based testing via active continuous quality control | |
| Fragal et al. | Extending HSI test generation method for software product lines | |
| Bergstra et al. | Accusations in the context of computer programming | |
| Mustafa et al. | Smart contract life-cycle management: an engineering framework for the generation of robust and verifiable smart contracts | |
| JP4887985B2 (en) | Policy inspection system, method, and program | |
| Christl et al. | The analysis approach of ThreatGet | |
| Zhang et al. | Rumono: Fuzz driver synthesis for rust generic apis | |
| Chitchyan et al. | Semantic vs. syntactic compositions in aspect-oriented requirements engineering: an empirical study | |
| Eshuis et al. | An integer programming based approach for verification and diagnosis of workflows | |
| Hacks et al. | Measuring and achieving test coverage of attack simulations extended version | |
| Saad-Khorchef et al. | A framework and a tool for robustness testing of communicating software | |
| Koscinski et al. | Formally modeled common weakness enumerations (cwes) | |
| Cabanillas et al. | Automatic generation of a data-centered view of business processes | |
| Hannousse et al. | Static analysis of aspect interaction and composition in component models | |
| Henkel et al. | Combining tools to design and develop software support for capabilities | |
| Li | An empirical study on bash language usage in Github | |
| JP2005056183A (en) | Rule checking system, device, method, and program | |
| Paurobally et al. | A formal framework for agent interaction semantics | |
| Hall et al. | OMML: A behavioural model interchange format | |
| Pakulin et al. | Model-based testing of internet e-mail protocols | |
| Büttner et al. | Realizing graph transformations by pre-and postconditions and command sequences |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100112 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20100223 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100315 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101115 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110816 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111014 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20111115 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111128 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141222 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |