IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特開2024-103863ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム
<>
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図1
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図2
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図3
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図4
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図5
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図6
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図7
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図8
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図9
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図10
  • 特開-ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024103863
(43)【公開日】2024-08-02
(54)【発明の名称】ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラム
(51)【国際特許分類】
   G06F 21/60 20130101AFI20240726BHJP
   G06F 21/62 20130101ALI20240726BHJP
【FI】
G06F21/60 340
G06F21/62 318
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023007807
(22)【出願日】2023-01-23
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100080816
【弁理士】
【氏名又は名称】加藤 朝道
(74)【代理人】
【識別番号】100098648
【弁理士】
【氏名又は名称】内田 潔人
(72)【発明者】
【氏名】井ノ口 真樹
(72)【発明者】
【氏名】三谷 昌平
(57)【要約】
【課題】ポリシー関数とポリシー定義との間の整合性を効率良く検証することに寄与する。
【解決手段】ポリシー整合性検証装置は、アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換部と、前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成部とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換部と、
前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成部とを備える、ポリシー整合性検証装置。
【請求項2】
前記エラーサンプル生成部は、前記If-Thenルールと前記ポリシー定義とをもとに生成した論理式について充足可能性検査を行うことでエラーサンプルを得る、請求項1に記載のポリシー整合性検証装置。
【請求項3】
前記ポリシー変換部は、前記属性値の組み合わせをランダムに生成し、前記属性値の組み合わせを前記ポリシー関数に入力して得られた出力から決定木を構成し、前記決定木からIf-Thenルールを生成する請求項1に記載のポリシー整合性検証装置。
【請求項4】
前記ポリシー定義を基に機械学習モデルとして前記ポリシー関数を生成するポリシー生成部と、
前記エラーサンプルをもとに学習データを生成し、前記ポリシー生成部を更新するポリシー生成更新部と、を備える請求項1に記載のポリシー整合性検証装置。
【請求項5】
前記エラーサンプルをもとに前記If-Thenルールを更新するルール更新部を備える、請求項4に記載のポリシー整合性検証装置。
【請求項6】
前記エラーサンプルが前記ポリシー関数に起因するエラーであるか前記If-Thenルールに起因するエラーであるかを判別し、前記判別の結果に基づいて前記ポリシー生成部を更新するか、前記If-Thenルールを更新するかを判断する、請求項5に記載のポリシー整合性検証装置。
【請求項7】
アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換ステップと、
前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成ステップとを有する、ポリシー整合性検証方法。
【請求項8】
前記エラーサンプルが前記ポリシー関数に起因するエラーであるか前記If-Thenルールに起因するエラーであるかを判別し、前記ポリシー関数に起因するエラーである場合は、前記エラーサンプルをもとに学習データを生成し、前記ポリシー定義を基に機械学習モデルとして前記ポリシー関数を生成するポリシー生成部を更新し、前記If-Thenルールに起因するエラーである場合は、前記エラーサンプルをもとに前記If-Thenルールを更新する、請求項7に記載のポリシー整合性検証方法。
【請求項9】
プログラムを実行するプロセッサと前記プログラムを記憶しているメモリを備えるコンピュータにポリシー整合性を検証させるポリシー整合性検証プログラムであって、
アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換プロセスと、
前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成プロセスとを有する、ポリシー整合性検証プログラム。
【請求項10】
前記エラーサンプルが前記ポリシー関数に起因するエラーであるか前記If-Thenルールに起因するエラーであるかを判別し、前記ポリシー関数に起因するエラーである場合は、前記エラーサンプルをもとに学習データを生成し、前記ポリシー定義を基に機械学習モデルとして前記ポリシー関数を生成するポリシー生成部を更新し、前記If-Thenルールに起因するエラーである場合は、前記エラーサンプルをもとに前記If-Thenルールを更新する、請求項9に記載のポリシー整合性検証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラムに関するものである。
【背景技術】
【0002】
データに対するアクセス制御は、セキュリティを高い状態で維持するための重要な技術である。アクセス制御の一つのやり方には、アクセスを許可するユーザやアクセス先リソースなどの属性(所属や役職など)を示したポリシー定義を作成し、このポリシー定義を基礎にして属性の組み合わせを入力としてアクセスの許可ないし拒否を出力するポリシー関数を作成し、このポリシー関数を用いてアクセス制御を実行する方法がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2020-525898号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
なお、上記先行技術文献の各開示を、本書に引用をもって組み込むものとする。以下の分析は、本発明者らによってなされたものである。
【0005】
ところで、作成されたポリシー関数は、ポリシー定義から作成されているとしても、ポリシー定義を正しく反映していない可能性も否定できない。そこで、ポリシー関数とポリシー定義との間の整合性を検証する必要があるが、ユーザやリソースなどのアクセス可否の判断に利用される属性(所属や役職など)のすべての組み合わせに対して整合性を検証することは現実的ではない。これらの属性(所属や役職など)の組み合わせの中から幾つかサンプルを選択して整合性を検証することになる。すると、サンプルから漏れた組み合わせにおける整合性を検証することはできず、ポリシー定義では拒否することが定められているものが、ポリシー関数では許可されている状態を見逃すという問題が発生してしまうことも起こり得る。その他、特許文献1には、比較検証するセキュリティ許可の集合から命題論理を決定し、命題論理同士の同等性を検証する方法が記載されている。
【0006】
このように、ポリシー関数とポリシー定義との間の整合性を検証することは容易ではない。そこで、ポリシー関数とポリシー定義との間の整合性を効率良く検証する方法が望まれている。
【0007】
本発明の目的は、上述した課題を鑑み、ポリシー関数とポリシー定義との間の整合性を効率良く検証することに寄与するポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラムを提供する。
【課題を解決するための手段】
【0008】
本発明の第1の視点では、アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換部と、前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成部とを備える、ポリシー整合性検証装置が提供される。
【0009】
本発明の第2の視点では、アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換ステップと、前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成ステップとを有する、ポリシー整合性検証方法が提供される。
【0010】
本発明の第3の視点では、プログラムを実行するプロセッサと前記プログラムを記憶しているメモリを備えるコンピュータにポリシー整合性を検証させるポリシー整合性検証プログラムであって、アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換プロセスと、前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成プロセスとを有する、ポリシー整合性検証プログラムが提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【0011】
本発明の各視点によれば、ポリシー関数とポリシー定義との間の整合性を効率良く検証することに寄与するポリシー整合性検証装置、ポリシー整合性検証方法、およびポリシー整合性検証プログラムを提供することができる。
【図面の簡単な説明】
【0012】
図1図1は、第1実施形態に係るポリシー整合性検証装置の概略構成図である。
図2図2は、ポリシー生成部の構成例を示す図である。
図3図3は、ポリシー変換部の構成例を示す図である。
図4図4は、エラーサンプル生成部の構成例を示す図である。
図5図5は、サンプルを用いてポリシー整合性を検証する従来の方法を例示する図である。
図6図6は、第1実施形態に係るポリシー整合性検証装置を用いた検証方法を例示する図である。
図7図7は、ポリシー定義とポリシー関数とIf-Thenルールにおけるアクセス許可条件の関係を示すベン図である。
図8図8は、第2実施形態に係るポリシー整合性検証装置の概略構成図である。
図9図9は、実施形態に係るポリシー整合性検証方法の手順を示すフローチャートである。
図10図10は、エラーサンプル生成部の変形例を示す図である。
図11図11は、ポリシー整合性検証装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら、本発明の実施形態について説明する。ただし、以下に説明する実施形態により本発明が限定されるものではない。また、各図面において、同一または対応する要素には適宜同一の符号を付している。さらに、図面は模式的なものであり、各要素の寸法の関係、各要素の比率などは、現実のものとは異なる場合があることに留意する必要がある。図面の相互間においても、互いの寸法の関係や比率が異なる部分が含まれている場合がある。
【0014】
〔第1実施形態〕
図1は、第1実施形態に係るポリシー整合性検証装置の概略構成図である。図1に示すように、ポリシー整合性検証装置10は、ポリシー生成部11とポリシー変換部12とエラーサンプル生成部13とを備えている。
【0015】
ポリシー生成部11は、ポリシー定義Aを基に機械学習モデルとしてポリシー関数Bを生成する演算器である。ポリシー定義Aは、アクセスの属性値とアクセス可否に関する規則を定めたファイルであり、所望のアクセス制御を実現するために事前に作成しておく。ポリシー定義Aは典型的には、一つ以上のアクセスの属性について、それらが特定の範囲の値を取るか否かを条件とし、条件を満たしたときにアクセス許可または拒否とするようなIf-Then形式の規則とすることができる。このとき、条件は命題論理式や述語論理式を用いて記述することができる。アクセスの属性値には、アクセス元ユーザの属性(所属部署や職位など)、アクセス元端末の属性(所属部署やオペレーティングシステム、内在する脆弱整数など)、アクセス先リソースの属性(所属部署や保有情報の種類など)、アクセスの方法(アプリケーションや通信プロトコルなど)やアクション(読み・書き・実行など)などが含まれ得る。一方、ポリシー関数Bは、属性値の入力からアクセス可否の出力を得る関数であり、アクセス制御は、アクセス要求をしているアクセスの属性値をポリシー関数Bに入力し、得られたアクセス可否の出力に従ってアクセス可否が決定される。
【0016】
ポリシー変換部12は、ポリシー関数Bを入力とし、ポリシー関数Bを近似したIf-ThenルールCを生成する。エラーサンプル生成部13は、If-ThenルールCとポリシー定義Aとの整合性を検証し、整合しない属性値をエラーサンプルDとして生成する。
【0017】
図2は、ポリシー生成部の構成例を示す図である。図2に示すように、ポリシー生成部11は、学習用入出力サンプル生成部11aと機械学習部11bとを備えている。学習用入出力サンプル生成部11aは、ポリシー定義Aから入出力のサンプルを生成する。例えば、学習用入出力サンプル生成部11aは、属性値の組み合わせをN個(A1~AN)ランダムに生成し、属性値の組み合わせAi(1≦i≦N)に対してポリシー定義Aに従って判断した場合のアクセス可否Xi(1≦i≦N)を得る。ここで、属性値の組み合わせをランダムに生成するとは、各属性についてあらかじめ設定された定義域の中から値をランダムに選択することを指す。またNはあらかじめ設定された1以上の整数値である。属性値の組み合わせA1~ANとアクセス可否X1~XNが学習用入出力サンプル生成部11aで生成される入出力のサンプルとなる。なお、ポリシー定義Aに優先度が定められてある場合、優先度が高いほど当該ポリシー定義Aに該当する属性の組み合わせのサンプルを多く生成することもできる。
【0018】
機械学習部11bは、学習用入出力サンプル生成部11aで生成したサンプルの入出力を用いてニューラルネットワークのモデルを学習させ、学習させたニューラルネットワークのモデルをポリシー関数Bとして出力する。例えば、ポリシー関数Bは属性値の組み合わせに対し0以上1以下の値を返す関数として構成することができる。このとき、基準値以上ならアクセス許可、基準値未満ならアクセス拒否と判断することができる。なお、機械学習部11bは、リスク・ニーズ情報Eを用いることもできる。例えば、リスク・ニーズ情報Eは特定の属性の値に対してアクセス許可または拒否の傾向を示すスコアとして与えることができる。これらのスコアデータに対して単調なモデルを使うことも可能である。リスク・ニーズ情報を用いることで、ポリシー定義には明確に述べられないリスクやニーズの傾向を反映したポリシーを生成することが可能となる。一方でこのようにして生成されたポリシー関数は、学習の過程で部分的にポリシー定義Aの判断を逸脱するような判断を返すように学習されることがある。
【0019】
図3は、ポリシー変換部の構成例を示す図である。図3に示すように、ポリシー変換部12は、検査対象入出力サンプル生成部12aとルール構成部12bとを備えている。検査対象入出力サンプル生成部12aは、属性値の組み合わせをM個(B1~BM)ランダムに生成し、属性値の組み合わせBi(1≦i≦M)に対してポリシー関数Bに従って判断した場合のアクセス可否の出力Yi(1≦i≦M)を得る。ここで、Mはあらかじめ設定された1以上の整数値である。属性値の組み合わせBi(1≦i≦M)とアクセス可否Yi(1≦i≦M)の組み合わせが、検査対象入出力サンプル生成部12aで生成される入出力のサンプルSi(1≦i≦M)となる。ルール構成部12bは、検査対象入出力サンプル生成部12aで生成したサンプルを用いてアクセス可否の判断を行うIf-then形式のルールであるIf-ThenルールCを生成する。例えば、ルール構成部12bは、生成したサンプルをもとに決定木を構成し、決定木をもとにIf-Then形式のルールを生成する方法を採用できる。また、決定木を構成する手法としてはClassification and Regression Tree(CART)などを用いることができる。一例として、CARTを用いて決定木を構成する場合、属性値の組み合わせB1~BNを説明変数として用いる。決定木を回帰木として構成する場合、アクセス可否の出力Y1~YNを目的変数として用いる。決定木を分類木として構成する場合、アクセス可否の出力Y1~YNを基準値以上ならアクセス許可、基準値未満ならアクセス拒否として2値に変換した値Y’1~Y’Nを目的変数として用いる。CARTを用いると葉ノードを除く各ノードKには、説明変数を用いた条件CKが対応付けられる。条件CKは、当該ノードに対応付けられるサンプルを分割したときに、分割されたサンプルに含まれる目的変数の不純度または分散を小さくするような条件が設定される。ここで、根ノードにはすべての入出力サンプルSが対応付けられ、根ノード以外のノードについては、根ノードから当該ノードに至るまでのノードの条件で繰り返し分割されたサンプルSの部分集合が対応付けられる。葉ノードにおいては対応付けられたサンプルSに含まれる目的変数をもとに、代表値が計算される。分類木の場合、葉ノードに対応付けられた目的変数の最頻値を代表値とすることができる。回帰木の場合、目的変数の平均値や中央値を代表値とすることができる。
【0020】
If-Thenルールは、決定木の根ノードから葉ノードに至るまでの各ノードの条件を論理積で結合したものをIf-Thenルールの条件(If節)とすることができる。このとき、分類木の場合は当該葉ノードの代表値を、If-Thenルールの条件を満たしたときのIf-Thenルールによる判断結果(Then節)とすることができる。回帰木の場合は当該葉ノードの代表値が基準値以上ならアクセス許可、基準値未満ならアクセス拒否を、If-Thenルールの条件を満たしたときのIf-Thenルールによる判断結果(Then節)とすることができる。この場合、葉ノードの数に等しいIf-Thenルールが生成されることになる。なおこれらのIf-Thenルールは判断結果が一致するものについて、条件を論理和で結合することで一つのIf-Thenルールにまとめることも可能である。
【0021】
図4は、エラーサンプル生成部の構成例を示す図である。図4に示すように、エラーサンプル生成部13は、論理式生成部13aと充足可能性検査部13bを備えている。論理式生成部13aは、ポリシー生成部11の入力としたポリシー定義Aとポリシー変換部12で生成したIf-ThenルールCをもとに論理式を生成する。例えば、論理式生成部13aは、ポリシー定義Aで許可となる条件とIf-ThenルールCで拒否となる条件の論理積を生成する。ポリシー定義Aで許可となる条件がα1であり、If-ThenルールCで拒否となる条件がα2であるとき、α1 and α2を生成する。ここでα1、α2は命題論理式であり、生成される論理式も命題論理式となる。同様に、ポリシー定義Aで拒否となる条件とIf-ThenルールCで許可となる条件の論理積をとることで命題論理式を生成する。典型的にはこれらの命題論理式に含まれる論理変数(命題)には属性値が特定の範囲の値を取ることなどが対応する。例えば、“端末に内在する脆弱性数NV”という属性について「NVが10以上であること」がアクセス許可の条件の場合、「NVが10以上であること」という命題が論理変数となる。充足可能性検査部13bは、論理式生成部13aで生成されたいずれかの論理式が真になる属性値の組み合わせを見つける。充足可能性検査部13bは、この探索において、SATソルバーを用いることができる。SATソルバーは命題論理式について、当該論理式が充足可能かと、充足可能な場合に論理式を充足させるような論理変数に対する真偽値の割り当てを探索する。充足不可能な場合、ポリシー関数を近似したIf-ThenルールCとポリシー定義Aに矛盾が見つからなかったと判断できる。生成した論理式がすべて充足不可能な場合、充足可能性検査部13bはエラーサンプルDを出力しない。このとき、エラーサンプルDを出力する代わりに、ポリシー定義とポリシー関数に矛盾が見つからなかったことを示す情報を出力してもよい。論理式が充足可能な場合は、発見した真偽値の組み合わせに基づき、当該論理変数の命題をもとに属性値の組み合わせを割り当て、エラーサンプルDとして出力することができる。例えば、発見した真偽値の組み合わせにおいて「脆弱性数Nvが10以上であること」という命題に対応する論理変数が偽である場合、Nvの値として10未満の値を選んで割り当てることができる。なお、エラーサンプルDにはすべての属性が含まれるとは限らない。例えば10種類ある属性のうち3種類のみの属性の属性値がエラーサンプルとして生成されることがある。
【0022】
論理式生成部13Aでは命題論理式ではなく述語論理式を構成することも可能である。すなわち、If-Thenルールの条件を命題として扱うのではなく述語として扱い、論理式を構成することができる。典型的には属性値が特定の範囲の値を取ることなどが述語として記述される。充足可能性検査部13bは、構築した述語論理式を充足する属性値を、充足可能性モジュロ理論(SMT)ソルバーを用いて探索することができる。SMTソルバーを用いることでより直接的に論理式を充足する属性値の組み合わせを発見することができる。
【0023】
図5は、サンプルを用いてポリシー整合性を検証する従来の方法を例示する図である。図5に示すように、従来では、ポリシー定義Aから生成したポリシー関数Bにおいてサンプリングを行ってポリシー定義Aとポリシー関数Bとの整合性を検証していた。例えば、ポリシー定義Aは、図5に示すように、属性値X,Y,Zがすべて真である場合にアクセスを許可することが定められており、属性値X,Yが真で、属性値Zが偽であるか、属性値X,Yが偽である場合にアクセスを拒否することが定められているとする。一方、ポリシー関数Bは、属性値X,Y,Zの組み合わせに対して図5に示すようにアクセス可否を出力する例を考える。なお、説明の簡単化のため属性値X、Y、Zを真または偽の値を取る論理変数としているが、これには限られない。ポリシー定義には属性値を使った任意の条件が含まれうる。例えば数値変数(量的変数)が基準値以上であるかや、カテゴリ変数(質的変数)が特定の値を取るかなどの条件が含まれうる。また図中のポリシー関数の出力は1が許可を0が拒否を表す。従来のポリシー定義Aとポリシー関数Bとの整合性検証では、属性値X,Y,Zの組み合わせのサンプリングを行い、このサンプリングの範囲内でポリシー定義Aとポリシー関数Bとの整合性を検証していた。例えば、このサンプリングが図5中の破線で示された属性値X,Y,Zの組み合わせである場合、このサンプリングの範囲内ではポリシー定義Aとポリシー関数Bが無矛盾であっても、サンプリングの範囲外である(図中の実線で示された)属性値X,Yが真で、属性値Zが偽である場合のアクセス可否は、ポリシー関数Bではアクセス許可であるが、ポリシー定義Aではアクセス拒否することが定められている。つまり従来の検証方法では、ポリシー定義Aとポリシー関数Bの整合性を正しく検証することができないことがあった。
【0024】
図6は、第1実施形態に係るポリシー整合性検証装置を用いた検証方法を例示する図である。ここでは、図5に示した例と同じように、ポリシー定義Aは、属性値X,Y,Zがすべて真である場合にアクセスを許可することが定められており、属性値X,Yが真で、属性値Zが偽であるか、属性値X,Yが偽である場合にアクセスを拒否することが定められているとする。また、ポリシー関数Bは、属性値X,Y,Zの組み合わせに対して図6に示すようにアクセス可否を出力する例を考える。図中のポリシー関数の出力は1が許可を0が拒否を表す。第1実施形態に係るポリシー整合性検証装置では、ポリシー関数Bとポリシー定義Aを直接比較するのではなく、ポリシー関数Bから決定木を生成し、この決定木からIf-ThenルールCを生成する。そして、If-ThenルールCとポリシー定義Aを比較して整合性を検証する。図6の決定木はノード内の属性値が真の場合が右の子ノードに対応し、偽の場合が左の子ノードに対応する。葉ノードに至るまでのノードの条件を論理積で結合したものが葉ノードに至る条件とみなすことができる。したがって1の値を持つ葉ノード(一番右のノード)に至る条件はX∧Yであるため、If-Thenルール中の許可条件はX∧Yになる。0の値を持つ葉ノードに至る条件は¬XであるかX∧¬Yであるため、If-Thenルール中の拒否条件は¬X∨(X∧¬Y)となる。例えば、この例では、属性値X,Yが真で、属性値Zが偽である場合はIf-ThenルールCではアクセス許可となっているが、ポリシー定義Aではアクセス拒否であると定められており、If-Thenルールとポリシー定義が矛盾している。第1実施形態に係るポリシー整合性検証装置は、ポリシー定義の拒否条件とポリシー関数の許可条件の論理積である ((X∧Y∧¬Z)∨(¬X∧¬Y))∧(X∧Y)を生成する。この論理式の充足可能性を判定し、XとYが真で、Zが偽である割り当てをこの論理式を充足する割り当てとして得る。論理式が充足されることからポリシー関数とポリシー定義の不整合を検出できる。つまり、第1実施形態に係るポリシー整合性検証装置では、属性値X,Y,Zの組み合わせに対するサンプリングからIf-ThenルールCを生成しているが、アクセス拒否・許可条件をもとに生成した論理式の充足可能性問題に帰着できるので、サンプリングの範囲外で整合性が破綻しているような場合でも、ポリシー定義Aとポリシー関数Bとの不整合を検出することができる。
【0025】
〔第2実施形態〕
上述のように、第1実施形態に係るポリシー整合性検証装置では、サンプリングの範囲外で整合性が破綻しているような場合でも、ポリシー定義Aとポリシー関数Bとの不整合を検出することができる。しかしながら、If-ThenルールCを生成する際にポリシー関数Bを完全に再現できるとは限らないので、正確なエラーサンプルDが得られないことも想定しえる。
【0026】
図7は、ポリシー定義とポリシー関数とIf-Thenルールにおけるアクセス許可条件の関係を示すベン図である。図7に示すように、ポリシー定義Aとポリシー関数BとIf-ThenルールCはそれぞれがアクセス許可の条件を有しているので、ポリシー定義Aとポリシー関数BとIf-ThenルールCのそれぞれでアクセス許可の属性値の範囲が異なる。したがって、If-Thenルールとポリシー定義が一致しない場合(領域2、4、5、7)であっても、If-Thenルールに間違いがあるのかポリシー関数に間違いがあるのかまでは、判別できない。そこで、第2実施形態に係るポリシー整合性検証装置では、以下のように、第1実施形態に係るポリシー整合性検証装置に構成を追加する。
【0027】
図8は、第2実施形態に係るポリシー整合性検証装置の概略構成図である。図8に示すように、ポリシー整合性検証装置20は、ポリシー生成部21とポリシー変換部22とエラーサンプル生成部23とエラー判別部24とポリシー生成更新部25とルール更新部26を備えている。
【0028】
第1実施形態と同様に、ポリシー生成部21は、ポリシー定義Aを基に機械学習モデルとしてポリシー関数Bを生成する演算器である。また、ポリシー変換部22は、ポリシー関数Bを入力とし、ポリシー関数Bを近似したIf-ThenルールCを生成する。エラーサンプル生成部23は、If-ThenルールCとポリシー定義Aとの整合性を検証し、整合しない属性値をエラーサンプルDとして生成する。
【0029】
エラー判別部24は、エラーサンプルDがポリシー関数BのエラーなのかIf-ThenルールCのエラーなのかを判別する。まず、エラー判別部24は、得られたエラーサンプルDについて、エラーサンプルDをもとに属性値の組み合わせを生成する。すなわち、エラーサンプルDに含まれる属性についてはエラーサンプルDの属性値を採用しその他の属性については属性の定義域からランダムに値を設定する。生成した属性値の組み合わせについて、ポリシー関数Bの出力を調べる。そして、If-ThenルールCとポリシー関数Bの出力が一致した場合、エラー判別部24はポリシー関数Bに問題があると判断する。一方、If-ThenルールCとポリシー関数Bの出力が一致しない場合、エラー判別部24はIf-ThenルールCに問題があると判断する。
【0030】
ポリシー生成更新部25は、エラー判別部24がポリシー関数Bに問題があると判断した場合に、ポリシー関数Bの生成の精度を向上させるようにポリシー生成部の処理を更新する。例えば、エラーサンプルDをもとに属性値の組み合わせを一つ以上生成し、その属性値の組み合わせに対してポリシー定義Aに従って判断した場合のアクセス可否の出力を得る。これを学習用入出力サンプルに加えて追加の学習をポリシー生成部にさせることができる。一方、ルール更新部26は、エラー判別部24がIf-ThenルールCに問題があると判断した場合に、If-ThenルールCの精度を向上させるようにIf-Thenルールを更新することができる。例えば、エラーサンプルDをもとに属性値の組み合わせを一つ以上生成し、その属性値の組み合わせに対してポリシー関数で判断した場合のアクセス可否の出力を得る。このサンプルを追加で用いて、決定木を生成しなおして、If-ThenルールCを生成しなおすことができる。
【0031】
〔ポリシー整合性検証方法〕
図9は、実施形態に係るポリシー整合性検証方法の手順を示すフローチャートである。ここでは、第1実施形態に係るポリシー整合性検証装置10および第2実施形態に係るポリシー整合性検証装置20の構成を参照しながらポリシー整合性検証方法の説明を行うが、ポリシー整合性検証方法自体は特定の装置構成に限定されるものではない。
【0032】
図9に示すように、ポリシー整合性検証方法は、ポリシー関数の生成ステップ(S1)とIf-Thenルールへの変換ステップ(S2)と充足可能性の検証ステップ(S3)とエラーの原因の判断ステップ(S4)とポリシー関数の更新ステップ(S5)とIf-Thenルールの更新ステップ(S6)とを有している。
【0033】
ポリシー関数の生成ステップ(S1)では、ポリシー定義Aを基に機械学習モデルとしてポリシー関数Bを生成する。ポリシー定義Aは、アクセスの属性値とアクセス可否に関する規則を定めたファイルであり、所望のアクセス制御を実現するために事前に作成しておく。一方、ポリシー関数Bは、属性値の入力からアクセス可否の出力を得る関数であり、アクセス制御は、アクセス要求をしているアクセスの属性値をポリシー関数Bに入力し、得られたアクセス可否の出力に従ってアクセス可否が決定される。
【0034】
If-Thenルールへの変換ステップ(S2)では、ポリシー関数Bを入力とし、ポリシー関数Bを近似したIf-ThenルールCを生成する。If-Thenルールへの変換ステップ(S2)では、属性値の組み合わせをランダムに生成し、その属性値の組み合わせに対してポリシー関数Bに従って判断した場合のアクセス可否の決定木を生成し、この決定木を基にIf-Then形式のルールを生成する。決定木を構成する手法としてはClassification and Regression Treeなどを用いることができる。
【0035】
充足可能性の検証ステップ(S3)では、ポリシー定義AとIf-ThenルールCとの整合性を検証し、生成した論理式を充足する属性値が存在する場合(S3;Yes)、不整合の属性値に関するエラーサンプルを生成する。具体的には、ポリシー定義AとIf-ThenルールCとをもとに論理式を生成し、生成したすべての論理式の充足可能性の検証を行う。ポリシー定義Aで許可となる条件とIf-ThenルールCで拒否となる条件の論理積を生成する。加えて、ポリシー定義Aで拒否となる条件とIf-ThenルールCで許可となる条件の論理積を生成する。これら論理式のうち少なくとも一つが真となる論理変数の真偽値の割り当て(SATソルバーを用いる場合)や属性値の割り当て(SMTソルバーを用いる場合)が存在する場合は、ポリシー定義AとIf-ThenルールCとが整合していないと判断し、当該真偽値の割り当てをもとに生成した属性値(SATソルバーを用いる場合)または当該属性値の割り当て(SMTソルバーを用いる場合)をエラーサンプルDとして得る。生成した論理式を充足する属性値が存在しない場合(S3;No)、ポリシー定義とIf-ThenルールCが整合していると判断し処理を終了する。
【0036】
エラーの原因の判断ステップ(S4)では、エラーサンプルDがポリシー関数BのエラーなのかIf-ThenルールCのエラーなのかを判別する。まず、得られたエラーサンプルDについて、ポリシー関数Bの出力を調べる。そして、If-ThenルールCとポリシー関数Bの出力が一致した場合(S4;Yes)、ポリシー関数Bに問題があると判断する。一方、If-ThenルールCとポリシー関数Bの出力が一致しない場合(S4;No)、If-ThenルールCに問題があると判断する。
【0037】
If-ThenルールCとポリシー関数Bの出力が一致した場合(S4;Yes)、ポリシー関数の更新ステップ(S5)で、エラーサンプルDを基に追加の学習をすることで、ポリシー関数Bの生成の精度を向上させる。一方、If-ThenルールCとポリシー関数Bの出力が一致しない場合(S4;No)、If-Thenルールの更新ステップ(S6)で、エラーサンプルDを基にIf-ThenルールCを生成し直すことで、If-ThenルールCの精度を向上させる。
【0038】
なお、図9に示したフローチャートでは、ポリシー関数の更新ステップ(S5)またはIf-Thenルールの更新ステップ(S6)を終えるとポリシー整合性検証方法を終了するように記載しているが、ポリシー関数の更新ステップ(S5)またはIf-Thenルールの更新ステップ(S6)の後に、改めてポリシー整合性検証方法を実施し、エラーサンプルが生成されなくなるまで、ポリシー整合性検証とポリシー関数BまたはIf-ThenルールCの更新を繰り返すことも可能である。
【0039】
〔変形実施形態〕
第1実施形態、第2実施形態は、以下のような変形実施形態でも実施されうる。以下で説明する変形実施形態は、第1実施形態および第2実施形態と同じ構成を採用することができるので、ここでは、第1実施形態および第2実施形態の構成を参照しながら変形実施形態の説明を行う。
【0040】
(アクセスログ・通信ログ情報の活用)
ポリシー変換部12は、ポリシー関数Bを入力とし、ポリシー関数Bを近似したIf-ThenルールCを生成する。このとき、ポリシー変換部12の検査対象入出力サンプル生成部12aは、ポリシー関数Bから検査対象入出力サンプルを生成するが、この処理において過去のアクセスログ・通信ログなどの情報をもとにポリシー関数Bに入力するサンプルを生成することができる。ログに登場する回数をもとに属性値の確率分布を定め、当該確率分布に従って入出力サンプル生成時の属性値を決める。こうすると、ランダムに生成するよりも実際に利用される可能性が高い入力値をポリシー関数Bに入力するサンプルとして検査することができる。
【0041】
(ポリシー定義情報の活用)
ポリシー変換部12の学習用入出力サンプル生成部11aが、ポリシー定義Aから入出力のサンプルを生成するときに、ポリシー定義A内の属性の登場回数を活用することができる。例えば、登場回数をもとに属性の利用頻度分布を算出し、当該利用頻度分布に従って入出力サンプル生成時の属性値を決める。登場回数が多いほど、ポリシー生成を行うユーザにとって重要な属性である可能性が高いので重点的に検査すること(重点的に検査すべき属性値のみ全パターンを試し、ほかは固定にする、など)ができる。
【0042】
また、ポリシー変換部12のルール構成部12bは、検査対象入出力サンプルをもとに決定木を構成し、決定木をもとにIf-Then形式のルールを生成するが、属性の利用頻度分布をもとに決定木生成時に分割条件とする属性値を選んでもよい。すなわち、通常分割条件を選択するときに不純度などの指標を用いるが、頻度分布をもとにした係数を不純度にかけて、登場回数の多い属性が積極的に選ばれるようにしてもよい。登場回数が多い属性値ほど、判断に関連する可能性が高いためより正確な判断を決定木に行わせることが期待できる。
【0043】
(If-Thenルール生成時に複数の決定木を作る)
ポリシー変換部12のルール構成部12bは、検査対象入出力サンプルをもとに決定木を構成し、決定木をもとにIf-Then形式のルールを生成するが、この決定木は1つとは限らない。特定の属性に着目して複数の決定木を作ることもできる。例えば、アクションが“読み込み”、“書き込み”、“実行”の場合それぞれについて決定木を構成することができる。また、アクセス先のリソースタイプごとに決定木を構成することができる。複数の決定木を構成する場合、エラーサンプル生成部13の論理式生成部13aは決定木ごとに独立して論理式を生成することができる。すなわち、各決定木について当該決定木から生成されたIf-Thenルールとポリシー定義をもとに論理式を生成する。充足可能性検査部13bは生成した各論理式について充足可能性検査を実施し、充足可能なものについて、当該論理式を充足させる属性値の組み合わせをエラーサンプルDとして出力する。
【0044】
また、アクセスログやポリシー定義に含まれる属性の相関に基づいて決定木を作成するときに利用する属性を決めてもよい。例えば、アクセス先リソースタイプが”開発サーバ”である入力で決定木を作るときに、ポリシー定義で“開発サーバ”を含む定義に頻出する(相関が強い)属性値を決定木の分割条件として優先的に利用することができる。具体的にはポリシー定義内の属性の利用頻度分布を算出し、分割条件を探索する際に利用頻度分布をもとにした係数を不純度にかけることで、利用頻度が高い属性を優先的に分割条件として使用できるようにしてもよい。
【0045】
(If-Thenルールの条件をもとにエラーサンプルを生成する)
エラーサンプルが一つ見つかると、同じ条件のサンプル(決定木で同じノードに分類されるもの)もエラーである可能性が高い。したがって、If-Thenルールの条件をもとにエラーサンプルを生成すると効率良くエラーサンプルを拡充することが期待できる。具体的にはエラーサンプルDを得た後、エラーサンプルDをもとに属性値の組み合わせを生成する。決定木上で生成した属性値の組み合わせが分類される葉ノードを特定する。このようにして特定された葉ノードに分類されるような属性値の組み合わせを探索することで効率的にIf-Thenルールとポリシー定義が食い違うサンプルを発見することができる。エラーサンプルを拡充することで、ポリシー生成更新部の処理で用いる再学習用のデータを拡充することができる。すなわちより効率的にポリシー生成更新部の処理を行わすことができる。
【0046】
前述の実施形態の説明では簡単のためポリシー定義やポリシー関数の判断を許可と拒否の2通りの場合について説明したが、本発明はこれに限られない。例えば条件付き許可、条件付き拒否、判断不能などの判断結果を出力してもよく、3種類以上の判断結果Rを持つように構成されていてもよい。このとき、論理式生成部13aでは各r∈Rについて、ポリシー定義で判断結果がrになる条件とIf-Thenルールで判断結果がr以外になる条件の論理積を論理式として生成することができる。同様にIf-Thenで判断結果がrになる条件とポリシー定義で判断結果がr以外になる条件の論理積を論理式として生成することができる。
【0047】
一般にSATソルバーやSMTソルバーは論理式が充足可能な場合は論理式を充足させる一例の割り当てを出力することができる。一方実用上、ポリシーの整合性を確認する上では特定の条件下でポリシーが整合しているかを検証するケースが生じうる。そのため論理式を充足させる一例の割り当てが当該条件の範囲外である場合、所望の検証が行えないことになる。この課題を解決するため、エラーサンプル生成部の処理では、一部の属性値の範囲を指定してエラーサンプルを生成することができる。図10はエラーサンプル生成部の変形例を示す図である。本変形例においてエラーサンプル生成部13は属性値範囲入力部13cを持つ。属性値範囲入力部13cは一つ以上のアクセス属性についてエラーサンプルに含まれる属性値がとる値の範囲の入力を受け付けるユーザインタフェースである。エラーサンプル生成部13は属性値範囲入力部13cにて指定された属性値がとりうる値の範囲の条件をもとに論理式を生成することができる。論理式生成部13aで命題論理式を生成する場合には、If-Thenルールとポリシー定義をもとに生成した論理式と属性値範囲入力部13cで指定された条件を示す論理変数との論理積をとることで、属性値範囲入力部で指定された条件を反映した論理式を構成することができる。論理式生成部13aで述語論理式を生成する場合には、If-Thenルールとポリシー定義をもとに生成した述語論理式に属性値範囲入力部で指定された条件を加えることで、属性値範囲入力部で指定された条件を反映した論理式を構成することができる。
【0048】
またエラーサンプル生成部13はエラーサンプル表示部13dを持つことができる。エラーサンプル表示部は生成したエラーサンプルを表示するユーザインタフェースである。ユーザはエラーサンプル表示部の出力を確認し、所望の条件でのエラーサンプルが得られていない場合は、属性値範囲入力部にて属性値に関する条件入力をして再度エラーサンプル生成の処理を行わせることができる。
【0049】
〔ハードウェア構成例〕
図11は、ポリシー整合性検証装置のハードウェア構成例を示す図である。図11に示すハードウェア構成を採用した情報処理装置(コンピュータ)は、上記説明したポリシー整合性検証装置10,20の各機能を実現することを可能にする。ただし、図11に示すハードウェア構成例は、ポリシー整合性検証装置10,20の各機能を実現するハードウェア構成の一例であり、ポリシー整合性検証装置10,20のハードウェア構成を限定する趣旨ではない。ポリシー整合性検証装置10,20は、図11に示さないハードウェアを含むことができる。
【0050】
図11に示すように、ポリシー整合性検証装置10,20が採用し得るハードウェア構成40は、例えば内部バスにより相互に接続される、CPU(Central Processing Unit)41、主記憶装置42、補助記憶装置43、およびIF(Interface)部44を備える。
【0051】
CPU41は、ポリシー整合性検証装置10,20が実行するプログラムに含まれる各指令を実行する。主記憶装置42は、例えばRAM(Random Access Memory)であり、ポリシー整合性検証装置10,20が実行する各種プログラムなどをCPU41が処理するために一時記憶する。
【0052】
補助記憶装置43は、例えば、HDD(Hard Disk Drive)であり、ポリシー整合性検証装置10,20が実行する各種プログラムなどを中長期的に記憶しておくことが可能である。各種プログラムは、非一時的なコンピュータ可読記録媒体(non-transitory computer-readable storage medium)に記録されたプログラム製品として提供することができる。補助記憶装置43は、非一時的なコンピュータ可読記録媒体に記録された各種プログラムを中長期的に記憶することに利用することが可能である。IF部44は、ポリシー整合性検証装置10,20と外部の情報処理装置との間の通信に関するインターフェイスを提供する。
【0053】
上記のようなハードウェア構成40を採用した情報処理装置は、ポリシー整合性検証装置10,20の各機能を実現することができる。
【0054】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換部と、
前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成部とを備える、ポリシー整合性検証装置。
[付記2]
前記エラーサンプル生成部は、前記If-Thenルールと前記ポリシー定義とをもとに生成した論理式について充足可能性検査を行うことでエラーサンプルを得る、付記1に記載のポリシー整合性検証装置。
[付記3]
前記ポリシー変換部は、前記属性値の組み合わせをランダムに生成し、前記属性値の組み合わせを前記ポリシー関数に入力して得られた出力から決定木を構成し、前記決定木からIf-Thenルールを生成する付記1に記載のポリシー整合性検証装置。
[付記4]
前記ポリシー定義を基に機械学習モデルとして前記ポリシー関数を生成するポリシー生成部と、
前記エラーサンプルをもとに学習データを生成し、前記ポリシー生成部を更新するポリシー生成更新部と、を備える付記1に記載のポリシー整合性検証装置。
[付記5]
前記エラーサンプルをもとに前記If-Thenルールを更新するルール更新部を備える、付記4に記載のポリシー整合性検証装置。
[付記6]
前記エラーサンプルが前記ポリシー関数に起因するエラーであるか前記If-Thenルールに起因するエラーであるかを判別し、前記判別の結果に基づいて前記ポリシー生成部を更新するか、前記If-Thenルールを更新するかを判断する、付記5に記載のポリシー整合性検証装置。
[付記7]
アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換ステップと、
前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成ステップとを有する、ポリシー整合性検証方法。
[付記8]
前記エラーサンプルが前記ポリシー関数に起因するエラーであるか前記If-Thenルールに起因するエラーであるかを判別し、前記ポリシー関数に起因するエラーである場合は、前記エラーサンプルをもとに学習データを生成し、前記ポリシー定義を基に機械学習モデルとして前記ポリシー関数を生成するポリシー生成部を更新し、前記If-Thenルールに起因するエラーである場合は、前記エラーサンプルをもとに前記If-Thenルールを更新する、付記7に記載のポリシー整合性検証方法。
[付記9]
プログラムを実行するプロセッサと前記プログラムを記憶しているメモリを備えるコンピュータにポリシー整合性を検証させるポリシー整合性検証プログラムであって、
アクセスの属性値とアクセス可否に関する規則を定めたポリシー定義から生成された、前記属性値の入力からアクセス可否の出力を得るポリシー関数を入力とし、前記ポリシー関数を近似したIf-Thenルールを生成するポリシー変換プロセスと、
前記If-Thenルールと前記ポリシー定義との整合を検証し、整合しない属性値をエラーサンプルとして生成するエラーサンプル生成プロセスとを有する、ポリシー整合性検証プログラム。
[付記10]
前記エラーサンプルが前記ポリシー関数に起因するエラーであるか前記If-Thenルールに起因するエラーであるかを判別し、前記ポリシー関数に起因するエラーである場合は、前記エラーサンプルをもとに学習データを生成し、前記ポリシー定義を基に機械学習モデルとして前記ポリシー関数を生成するポリシー生成部を更新し、前記If-Thenルールに起因するエラーである場合は、前記エラーサンプルをもとに前記If-Thenルールを更新する、付記9に記載のポリシー整合性検証プログラム。
【0055】
本発明で、アルゴリズム、ソフトウエア、ないしフローチャート或いは自動化されたプロセスステップが示された場合、コンピュータが用いられることは自明であり、またコンピュータにはプロセッサ及びメモリないし記憶装置が付設されることも自明である。よってその明示を欠く場合にも、本願には、これらの要素が当然記載されているものと解される。
【0056】
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。
【符号の説明】
【0057】
10,20 ポリシー整合性検証装置
11,21 ポリシー生成部
12,22 ポリシー変換部
13,23 エラーサンプル生成部
24 エラー判別部
25 ポリシー生成更新部
26 ルール更新部
11a 学習用入出力サンプル生成部
11b 機械学習部
12a 検査対象入出力サンプル生成部
12b ルール構成部
13a 論理式生成部
13b 充足可能性検査部
13c 属性値範囲入力部
13d エラーサンプル表示部
40 ハードウェア構成
41 CPU
42 主記憶装置
43 補助記憶装置
44 IF部
A ポリシー定義
B ポリシー関数
C If-Thenルール
D エラーサンプル
E リスク・ニーズ情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11