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

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

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

<>
  • 特表-データベースセキュリティ 図1
  • 特表-データベースセキュリティ 図2
  • 特表-データベースセキュリティ 図3
  • 特表-データベースセキュリティ 図4
  • 特表-データベースセキュリティ 図5
  • 特表-データベースセキュリティ 図6
  • 特表-データベースセキュリティ 図7
  • 特表-データベースセキュリティ 図8
  • 特表-データベースセキュリティ 図9
  • 特表-データベースセキュリティ 図10
  • 特表-データベースセキュリティ 図11
  • 特表-データベースセキュリティ 図12
  • 特表-データベースセキュリティ 図13
  • 特表-データベースセキュリティ 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-23
(54)【発明の名称】データベースセキュリティ
(51)【国際特許分類】
   G06F 16/21 20190101AFI20240416BHJP
【FI】
G06F16/21
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023545801
(86)(22)【出願日】2022-03-11
(85)【翻訳文提出日】2023-07-27
(86)【国際出願番号】 CN2022080350
(87)【国際公開番号】W WO2022227887
(87)【国際公開日】2022-11-03
(31)【優先権主張番号】17/245,233
(32)【優先日】2021-04-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】スン、シェン ヤン
(72)【発明者】
【氏名】リ、シュオ
(72)【発明者】
【氏名】ワン、シャオボ
(72)【発明者】
【氏名】カオ、リ
(72)【発明者】
【氏名】ジャン、ホン メイ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175BA01
5B175CA07
5B175FA03
(57)【要約】
方法は、データベースサーバが、データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する段階;データベースサーバが、データベースに関連付けられた第1のデータベースデータを取得する段階;データベースサーバが、セキュリティポリシ及び第1のデータベースデータを使用して知識蒸留モデルを作成する段階;データベースサーバが、データベースに関連付けられた第2のデータベースデータを取得する段階;データベースサーバが、第2のデータベースデータ、及び知識蒸留モデルの出力を使用して、分類モデルを作成する段階;データベースサーバが、データベースに対するクライアントデータベース要求を受信する段階;データベースサーバが、分類モデルを使用して新たなセキュリティポリシルールセットを判定する段階;及び、データベースサーバが、新たなセキュリティポリシルールセットをクライアントデータベース要求に適用する段階、を備える。
【特許請求の範囲】
【請求項1】
データベースサーバが、前記データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する段階;
前記データベースサーバが、前記データベースに関連付けられた第1のデータベースデータを取得する段階;
前記データベースサーバが、前記セキュリティポリシ及び前記第1のデータベースデータを使用して知識蒸留モデルを作成する段階;
前記データベースサーバが、前記データベースに関連付けられた第2のデータベースデータを取得する段階;
前記データベースサーバが、前記第2のデータベースデータ、及び前記知識蒸留モデルの出力を使用して、分類モデルを作成する段階;
前記データベースサーバが、前記データベースに対するクライアントデータベース要求を受信する段階;
前記データベースサーバが、前記分類モデルを使用して新たなセキュリティポリシルールセットを判定する段階;及び
前記データベースサーバが、前記新たなセキュリティポリシルールセットを前記クライアントデータベース要求に適用する段階
を備える、方法。
【請求項2】
前記知識蒸留モデルを前記作成する段階は:
前記セキュリティポリシから影響を受ける要因を判定する段階;及び
前記影響を受ける要因のグループ分けを分析する段階
を有する、請求項1に記載の方法。
【請求項3】
前記第1のデータベースデータは、データベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義を有する、請求項1に記載の方法。
【請求項4】
前記データベースセキュリティオブジェクト定義は、前記データベースの複数の異なるレベルにおける複数の異なるデータベースセキュリティオブジェクト定義を含む、請求項3に記載の方法。
【請求項5】
前記第2のデータベースデータは、オペレーティングシステム統計及び業務要件データを有する、請求項1に記載の方法。
【請求項6】
前記分類モデルは:
前記クライアントデータベース要求に関連付けられたパラメータを入力として受信する;及び、
前記入力に基づき、前記新たなセキュリティポリシルールセットを出力として生成する、
請求項1に記載の方法。
【請求項7】
前記データベースは、複数の異なるデータベースノードのうちの1つである;及び
前記知識蒸留モデルを前記作成する段階は、前記複数の異なるデータベースノードからのデータを使用してフェデレーションモデルを訓練する段階を有する、
請求項1に記載の方法。
【請求項8】
1又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令を有する、前記1又は複数のコンピュータ可読記憶媒体
を備えるコンピュータプログラム製品であって、前記プログラム命令は:
データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する手順;
前記データベースに関連付けられた第1のデータベースデータを取得する手順;
前記セキュリティポリシ及び前記第1のデータベースデータを使用して知識蒸留モデルを作成する手順;
前記データベースに関連付けられた第2のデータベースデータを取得する手順;
前記第2のデータベースデータ、及び前記知識蒸留モデルの出力を使用して、分類モデルを作成する手順;
前記データベースに対するクライアントデータベース要求を受信する手順;
前記分類モデルを使用して新たなセキュリティポリシルールセットを判定する手順;及び
前記新たなセキュリティポリシルールセットを前記クライアントデータベース要求に適用する手順
のために実行可能である、コンピュータプログラム製品。
【請求項9】
前記知識蒸留モデルを前記作成する手順は:
前記セキュリティポリシから影響を受ける要因を判定する手順;及び
前記影響を受ける要因のグループ分けを分析する手順
を有する、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記第1のデータベースデータは、データベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義を有する、請求項8に記載のコンピュータプログラム製品。
【請求項11】
前記データベースセキュリティオブジェクト定義は、前記データベースの複数の異なるレベルにおける複数の異なるデータベースセキュリティオブジェクト定義を含む、請求項10に記載のコンピュータプログラム製品。
【請求項12】
前記第2のデータベースデータは、オペレーティングシステム統計及び業務要件データを有する、請求項8に記載のコンピュータプログラム製品。
【請求項13】
前記分類モデルは:
前記クライアントデータベース要求に関連付けられたパラメータを入力として受信する;及び、
前記入力に基づき、前記新たなセキュリティポリシルールセットを出力として生成する、
請求項8に記載のコンピュータプログラム製品。
【請求項14】
前記データベースは、複数の異なるデータベースノードのうちの1つである;及び
前記知識蒸留モデルを前記作成する手順は、前記複数の異なるデータベースノードからのデータを使用してフェデレーションモデルを訓練する手順を有する、
請求項8に記載のコンピュータプログラム製品。
【請求項15】
プロセッサ、コンピュータ可読メモリ、1又は複数のコンピュータ可読記憶媒体、及び前記1又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令
を備えるシステムであって、前記プログラム命令は:
データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する手順;
前記データベースに関連付けられた第1のデータベースデータを取得する手順;
前記セキュリティポリシ及び前記第1のデータベースデータを使用して知識蒸留モデルを作成する手順;
前記データベースに関連付けられた第2のデータベースデータを取得する手順;
前記第2のデータベースデータ、及び前記知識蒸留モデルの出力を使用して、分類モデルを作成する手順;
前記データベースに対するクライアントデータベース要求を受信する手順;
前記分類モデルを使用して新たなセキュリティポリシルールセットを判定する手順;及び
前記新たなセキュリティポリシルールセットを前記クライアントデータベース要求に適用する手順
のために実行可能である、システム。
【請求項16】
前記知識蒸留モデルを前記作成する手順は:
前記セキュリティポリシから影響を受ける要因を判定する手順;及び
前記影響を受ける要因のグループ分けを分析する手順
を有する、請求項15に記載のシステム。
【請求項17】
前記第1のデータベースデータは、データベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義を有する;及び
前記データベースセキュリティオブジェクト定義は、前記データベースの複数の異なるレベルにおける複数の異なるデータベースセキュリティオブジェクト定義を含む、
請求項15に記載のシステム。
【請求項18】
前記第2のデータベースデータは、オペレーティングシステム統計及び業務要件データを有する、請求項15に記載のシステム。
【請求項19】
前記分類モデルは:
前記クライアントデータベース要求に関連付けられたパラメータを入力として受信する;及び、
前記入力に基づき、前記新たなセキュリティポリシルールセットを出力として生成する、
請求項15に記載のシステム。
【請求項20】
前記データベースは、複数の異なるデータベースノードのうちの1つである;及び
前記知識蒸留モデルを前記作成する手順は、前記複数の異なるデータベースノードからのデータを使用してフェデレーションモデルを訓練する手順を有する、
請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の態様は、概してデータベースセキュリティに関し、より具体的には、機械学習を使用してデータベースセキュリティ及びデータベース性能の間の均衡を実現することに関する。
【0002】
データベースとは、データの集合体に編成された関連データのセットを指す。通常、データベースは、スキーマ、テーブル、クエリ、レポート、ビュー、及び他のオブジェクトを含む。データベースは、例えば、組織の内部運営をサポートするために、及び、顧客とのオンラインでの対話を支えるために使用される。データベースはまた、管理情報、及び、エンジニアリングデータ又は経済モデルなど、より専門化されたデータを保持するために使用される。
【0003】
データベースに記憶されたデータの集合体へのアクセスは、ユーザがデータベースと対話することを可能にし、データベースに含まれるデータへのアクセスを提供するコンピュータソフトウェアで構成されるデータベース管理システム(DBMS)によって通常提供される。しかしながら、特定のデータへのアクセスを制限する制約が存在し得る。一般に、データベース管理システムは、データベースの定義、作成、クエリの実行、更新、及び管理を可能にするように設計されている。データベース及びデータベース管理システムの間の関係性により、データベースという用語は、多くの場合、データベース及びその対応するデータベース管理システムの両方を指す。データベース及びその対応するデータベース管理システムの両方が、特定のデータベースモデルの原則に準拠している。データベースシステムは、総称的に、データベースモデル、データベース管理システム、及びデータベースを指す。物理データベースサーバは、データベースを記憶し、対応するデータベース管理システムを実行する専用のコンピュータである。
【0004】
データベースセキュリティ及びデータベース性能の間の最適な均衡を見出すことは、データベースセキュリティの分野において長きにわたる課題である。一方で、データベース顧客は、リスクを最小化する目的で、法律、規則、及び監査要件を遵守することを望んでいる。他方で、データベースセキュリティシステムを実装することは、コンピューティングリソースの観点においてコストがかかる。データベースにおいて高度なセキュリティを実現することは、通常、コンピューティングリソースにおける高コストを伴う。コンピューティングリソースの高コストは、通常、データベースの性能を低下させ、その結果、データベースセキュリティの分野における技術的問題を提起する。
【発明の概要】
【0005】
本発明の第1の態様において、コンピュータ実装方法が存在する。方法は、データベースサーバが、データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する段階を備える。方法は、データベースサーバが、データベースに関連付けられた第1のデータベースデータを取得する段階を備える。方法は、データベースサーバが、セキュリティポリシ及び第1のデータベースデータを使用して知識蒸留モデルを作成する段階を備える。方法は、データベースサーバが、データベースに関連付けられた第2のデータベースデータを取得する段階を備える。方法は、データベースサーバが、第2のデータベースデータ、及び知識蒸留モデルの出力を使用して、分類モデルを作成する段階を備える。方法は、データベースサーバが、データベースに対するクライアントデータベース要求を受信する段階を備える。方法は、データベースサーバが、分類モデルを使用して新たなセキュリティポリシルールセットを判定する段階を備える。方法は、データベースサーバが、新たなセキュリティポリシルールセットをクライアントデータベース要求に適用する段階を備える。有利なことに、そのような方法は、コンピューティングリソースのコストを最小限に抑えつつ、適用可能なセキュリティポリシ及びルールを満たすデータベースセキュリティルールセットを判定するにあたり有用である。
【0006】
実施形態において、知識蒸留モデルを作成する段階は、セキュリティポリシから影響を受ける要因を判定する段階;及び影響を受ける要因のグループ分けを分析する段階を有する。このようにして、実施形態は、異なるグループサイズがセキュリティ性能にどのような影響をもたらすかを有利に判定する。
【0007】
本発明の別の態様において、1又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令を有する1又は複数のコンピュータ可読記憶媒体を備えるコンピュータプログラム製品が存在する。プログラム命令は、データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得するために実行可能である。プログラム命令は、データベースに関連付けられた第1のデータベースデータを取得するために実行可能である。プログラム命令は、セキュリティポリシ及び第1のデータベースデータを使用して知識蒸留モデルを作成するために実行可能である。プログラム命令は、データベースに関連付けられた第2のデータベースデータを取得するために実行可能である。プログラム命令は、第2のデータベースデータ、及び知識蒸留モデルの出力を使用して、分類モデルを作成するために実行可能である。プログラム命令は、データベースに対するクライアントデータベース要求を受信するために実行可能である。プログラム命令は、分類モデルを使用して新たなセキュリティポリシルールセットを判定するために実行可能である。プログラム命令は、新たなセキュリティポリシルールセットをクライアントデータベース要求に適用するために実行可能である。有利なことに、そのようなコンピュータプログラム製品は、コンピューティングリソースのコストを最小限に抑えつつ、適用可能なセキュリティポリシ及びルールを満たすデータベースセキュリティルールセットを判定するにあたり有用である。
【0008】
実施形態において、知識蒸留モデルを作成する段階は、セキュリティポリシから影響を受ける要因を判定する段階;及び影響を受ける要因のグループ分けを分析する段階を有する。このようにして、実施形態は、異なるグループサイズがセキュリティ性能にどのような影響をもたらすかを有利に判定する。
【0009】
本発明の別の態様において、プロセッサ、コンピュータ可読メモリ、1又は複数のコンピュータ可読記憶媒体、及び1又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令、を備えるシステムが存在する。プログラム命令は、データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得するために実行可能である。プログラム命令は、データベースに関連付けられた第1のデータベースデータを取得するために実行可能である。プログラム命令は、セキュリティポリシ及び第1のデータベースデータを使用して知識蒸留モデルを作成するために実行可能である。プログラム命令は、データベースに関連付けられた第2のデータベースデータを取得するために実行可能である。プログラム命令は、第2のデータベースデータ、及び知識蒸留モデルの出力を使用して、分類モデルを作成するために実行可能である。プログラム命令は、データベースに対するクライアントデータベース要求を受信するために実行可能である。プログラム命令は、分類モデルを使用して新たなセキュリティポリシルールセットを判定するために実行可能である。プログラム命令は、新たなセキュリティポリシルールセットをクライアントデータベース要求に適用するために実行可能である。有利なことに、そのようなシステムは、コンピューティングリソースのコストを最小限に抑えつつ、適用可能なセキュリティポリシ及びルールを満たすデータベースセキュリティルールセットを判定するにあたり有用である。
【0010】
実施形態において、知識蒸留モデルを作成する段階は、セキュリティポリシから影響を受ける要因を判定する段階;及び影響を受ける要因のグループ分けを分析する段階を有する。このようにして、実施形態は、異なるグループサイズがセキュリティ性能にどのような影響をもたらすかを有利に判定する。
【図面の簡単な説明】
【0011】
本発明の態様は、本発明の例示的な実施形態の非限定的な例として言及された複数の図面を参照し、以下の発明を実施するための形態において説明される。
【0012】
図1】本発明の一実施形態に係る、クラウドコンピューティングノードを示す。
【0013】
図2】本発明の一実施形態に係る、クラウドコンピューティング環境を示す。
【0014】
図3】本発明の一実施形態に係る、抽象化モデル層を示す。
【0015】
図4】本発明の態様に係る、例示的な環境のブロック図を示す。
【0016】
図5】本発明の態様に係る、例示的な方法のフローチャートを示す。
【0017】
図6】本発明の態様に係る、知識蒸留モデルを作成する際に用いられる例示的なパラメータセットを示す。
【0018】
図7】本発明の態様に係る、データベース統計の一例のセットを示す。
【0019】
図8】本発明の態様に係る、データベースセキュリティオブジェクト定義の一例を示す。
【0020】
図9】本発明の態様に係る、影響を受ける要因の例示的なグループ分けを示す。
【0021】
図10】本発明の態様に係る、機械学習において用いられる例示的なアルゴリズムを示す。
【0022】
図11】本発明の態様に係る、使用される分類パラメータの例を示す。
【0023】
図12】本発明の態様に係る、例示的な方法のフローチャートを示す。
【0024】
図13】本発明の態様に係る、例示的な方法のフローチャートを示す。
【0025】
図14】本発明の態様に係る、図13の例示的なユースケースのブロック図を示す。
【発明を実施するための形態】
【0026】
データベースは、クライアントデバイスを操作するユーザにより記憶及びアクセスされる、編成されたデータの集合体である。クラウドコンピューティングの使用が増加するのに伴い、ますます多くのデータベースがクラウド内に位置している。データベースをクラウド内に移動又は配置することにより、インターネットへの接続が存在する任意の場所からのアクセスが生じ得る。
【0027】
クラウドデータベースを使用して、ますます大量のデータが収集、処理、及び分配されている。データは機密情報を含むことがあり、データはまた、高度なコンプライアンス要件を有し得る。クラウドデータベースサービスにより、インターネットを介して向上したアクセス及び可用性が存在する。この向上したアクセス及び可用性はまた、これらのタイプのデータベースへの潜在的な不正アクセスへの露出を高めている。現在、データベース内の機密情報への不正アクセスからデータベースを保護するために、セキュリティポリシが利用されている。これらのセキュリティポリシは、データベースへの不正アクセスの試みを示す動作が実行された場合に、接続を切断する。
【0028】
データベースセキュリティポリシ及びデータベース性能の間の最適な均衡を見出すことは、データベースセキュリティの分野において長きにわたる課題である。データベースにおいて高度なセキュリティを実現することは、通常、コンピューティングリソースにおける高コストを伴う。コンピューティングリソースの高コストは、通常、データベースの性能を低下させ、その結果、データベースセキュリティの分野における技術的問題を提起する。本発明の実装形態は、機械学習を使用して、コンピューティングリソースのコストを最小限に抑えつつ、適用可能なセキュリティポリシ及びルールを満たすデータベースセキュリティルールセットを判定する技術的解決策により、この技術的問題に対処する。実施形態は、知識蒸留モデルを利用して、セキュリティポリシ及びルールを適用する最適なレベルを判定し、更には分類モデルを使用して、特定のクライアントデータベース要求に対する最適なセキュリティポリシ及びルールの組み合わせを判定する。このようにして、本発明の実装形態は、機械学習を利用してデータベースセキュリティ及びデータベース性能の間の均衡を実現する。
【0029】
本発明は、任意の可能な技術的詳細レベルの統合におけるシステム、方法、及び/又はコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(複数可)を含み得る。
【0030】
コンピュータ可読記憶媒体は、命令実行デバイスにより使用される命令を保持及び記憶することのできる有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、又は上述したものの任意の好適な組み合わせであり得るが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非包括的なリストは、以下、すなわち、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、パンチカード又は命令が記録されている溝内の隆起構造などの機械的に符号化されたデバイス、及び、上述したものの任意の好適な組み合わせを含む。本明細書において使用される場合、コンピュータ可読記憶媒体は、電波又は他の自由に伝播する電磁波、導波路又は他の伝送媒体を介して伝播する電磁波(例えば、光ファイバケーブルを通過する光パルス)、又は電線を介して伝送される電気信号など、一時的な信号それ自体であると解釈されるべきではない。
【0031】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスに、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部記憶デバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、及び/又は、エッジサーバを備え得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するために、コンピュータ可読プログラム命令を転送する。
【0032】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk(登録商標)、C++などのようなオブジェクト指向プログラミング言語、及び、「C」プログラミング言語などの手続き型プログラミング言語又は同様のプログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで書かれたソースコード又はオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして、ユーザのコンピュータ上で全体を実行すること、ユーザのコンピュータ上で一部分を実行することができ、ユーザのコンピュータ上で一部分を、リモートコンピュータ上で一部分を実行すること、又は、リモートコンピュータ又はサーバ上で全体を実行することができる。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、又は、その接続が、(例えば、インターネットサービスプロバイダを用いたインターネットを介して)外部コンピュータに対して行われてよい。幾つかの実施形態において、例えば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、又は、プログラマブルロジックアレイ(PLA)を含む電子回路が、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行して、電子回路をパーソナライズすることができる。
【0033】
本発明の態様は、本明細書において、本発明の実施形態に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各ブロック、及び、フローチャート図及び/又はブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令により実装可能であることが理解されるであろう。
【0034】
これらのコンピュータ可読プログラム命令を、コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供してマシンを生み出してよく、それにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャート及び/又はブロック図の1又は複数のブロックで指定された機能/動作を実装するための手段を作成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置、及び/又は他のデバイスに特定の方法で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよく、それにより、命令が記憶されているコンピュータ可読記憶媒体は、フローチャート及び/又はブロック図の1又は複数のブロックにおいて指定された機能/動作の態様を実装するための命令を含む製造物品を備える。
【0035】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードして、一連の動作段階をコンピュータ、他のプログラマブル装置又は他のデバイス上で実行させ、コンピュータ実装プロセスを生成してよく、それにより、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート及び/又はブロック図の1又は複数のブロックで指定された機能/動作を実装する。
【0036】
図におけるフローチャート及びブロック図は、本発明の様々な実施形態に係る、システム、方法、及びコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装するための1又は複数の実行可能命令を含む命令のモジュール、セグメント、又は一部を表し得る。幾つかの代替的な実装形態において、ブロックに記されている機能は、図面に記されている順序とは異なる順序で行われ得る。例えば、連続して示されている2つのブロックが、実際には、1つの段階として実現されてよく、同時に、実質的に同時に、部分的に又は全体的に時間が重複する方式で実行されてよく、又は、ブロックは、場合によっては、関与する機能に応じて逆の順序で実行されてよい。ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフローチャート図におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用ハードウェア及びコンピュータ命令の組み合わせを実行する、専用ハードウェアベースシステムにより実装され得ることにも留意されたい。
【0037】
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書において列挙された教示内容の実装は、クラウドコンピューティング環境に限定されないことが事前に理解される。むしろ、本発明の実施形態は、現在既知、又は後に開発される任意の他のタイプのコンピューティング環境と併せて実装することができる。
【0038】
クラウドコンピューティングは、構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの利便性の高いオンデマンドのネットワークアクセスを可能にするサービス提供のモデルであり、最小限の管理努力又はサービスのプロバイダとの対話によって迅速にプロビジョニング及びリリースされ得る。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び、少なくとも4つの展開モデルを含み得る。
【0039】
特性は以下の通りである。
【0040】
オンデマンドのセルフサービス:クラウドコンシューマは、サービスのプロバイダとの人的対話を必要とすることなく、必要に応じて自動的に、サーバ時間及びネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングできる。
【0041】
幅広いネットワークアクセス:能力は、ネットワークを介して利用可能であり、また、異種混交のシンクライアントプラットフォーム又はシッククライアントプラットフォーム(例えば、携帯電話、ラップトップ、及びPDA(登録商標))による使用を促進する標準的なメカニズムを通じてアクセスされる。
【0042】
リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマにサービスを提供するようにプールされており、異なる物理リソース及び仮想リソースが需要に沿って動的に割り当てられ、また再割り当てされる。コンシューマは、概して提供されたリソースの正確な位置に対して制御又は知識を有しないが、より高度なレベルの抽象化(例えば、国、州、又はデータセンタ)において位置を指定することが可能であり得るという点で、一種の位置独立性がある。
【0043】
迅速な拡張性:能力は迅速に且つ伸縮自在に、場合によっては自動的にプロビジョニングされ、即座にスケールアウトすることも、即座にリリースして即座にスケールインすることもできる。コンシューマにとっては、多くの場合、プロビジョニングに利用可能な能力が無制限にあるように感じられ、また、任意の数量を任意の時点において購入可能である。
【0044】
計測されるサービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適したある抽象化レベルで計量能力を活用することにより、リソースの使用を自動的に制御及び最適化する。リソース使用率が、モニタリング、制御及び報告されることで、利用されるサービスのプロバイダ及びコンシューマの両方に透明性を提供できる。
【0045】
サービスモデルは以下の通りである。
【0046】
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウドインフラストラクチャ上で実行されているプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを介して、様々なクライアントデバイスからアクセス可能である。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は、個々のアプリケーション能力さえも含む基礎となるクラウドインフラストラクチャを管理することも、制御することもないが、限定されたユーザ固有のアプリケーション構成設定は例外となる場合がある。
【0047】
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成された、コンシューマが作成又は取得したアプリケーションをクラウドインフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又は、ストレージを含む基礎となるクラウドインフラストラクチャを管理することも、制御することもないが、展開されたアプリケーション、及び場合によっては、アプリケーションホスティング環境構成を制御する。
【0048】
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングすることであり、コンシューマは、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアを展開し、実行させることができる。コンシューマは、基礎となるクラウドインフラストラクチャを管理することも、制御することもないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御し、場合によっては、選択されたネットワーキングコンポーネント(例えば、ホストファイアウォール)を限定的に制御する。
【0049】
展開モデルは以下の通りである。
【0050】
プライベートクラウド:クラウドインフラストラクチャは、組織のためだけに運用される。それは、組織又はサードパーティにより管理されてよく、オンプレミス又はオフプレミスで存在し得る。
【0051】
コミュニティクラウド:クラウドインフラストラクチャは、複数の組織により共有されており、共通の関心事(例えば、ミッション、セキュリティ要件、ポリシ、及び法令順守に関わる考慮事項)を有する特定のコミュニティをサポートする。これは、組織又はサードパーティにより管理されてよく、オンプレミス又はオフプレミスで存在し得る。
【0052】
パブリッククラウド:クラウドインフラストラクチャは、一般大衆又は大規模な業界団体により利用可能になり、クラウドサービスを販売する組織により所有される。
【0053】
ハイブリッドクラウド:クラウドインフラストラクチャが、2つ又はそれより多くのクラウド(プライベート、コミュニティ、又は、パブリック)を組み合わせたものであり、これらのクラウドは、固有のエンティティであり続けるが、データ及びアプリケーションの移植性(例えば、クラウド間で負荷分散するためのクラウドバースト)を可能にする標準化技術又は独自技術によって結びつけられている。
【0054】
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、及び意味的相互運用性に重点を置いたサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードからなるネットワークを含むインフラストラクチャが存在する。
【0055】
ここで図1を参照すると、クラウドコンピューティングノードの一例の概略図が示されている。クラウドコンピューティングノード10は、好適なクラウドコンピューティングノードの一例に過ぎず、本明細書に記載の本発明の実施形態の使用又は機能の範囲に関するいかなる限定を示唆することも意図していない。いずれにしても、クラウドコンピューティングノード10は、上記の機能のいずれも実装及び/又は実行が可能である。
【0056】
クラウドコンピューティングノード10には、コンピュータシステム/サーバ12が存在し、これは、多数の他の汎用又は専用のコンピューティングシステム環境又は構成で動作する。コンピュータシステム/サーバ12で使用するのに適し得る、よく知られているコンピューティングシステム、環境及び/又は構成の例は、限定されないが、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、及び上記のシステム又はデバイスのいずれかを含む分散クラウドコンピューティング環境などを含む。
【0057】
コンピュータシステム/サーバ12は、プログラムモジュールなど、コンピュータシステムにより実行されているコンピュータシステム実行可能命令の一般的文脈において説明され得る。一般に、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を含んでよい。コンピュータシステム/サーバ12は、通信ネットワークを通じてリンクされた遠隔の処理デバイスによってタスクが実行される分散クラウドコンピューティング環境において実用化することができる。分散クラウドコンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルコンピュータシステム記憶媒体及びリモートコンピュータシステム記憶媒体の両方に位置し得る。
【0058】
図1に示すように、クラウドコンピューティングノード10におけるコンピュータシステム/サーバ12は、汎用コンピューティングデバイスの形態で示されている。コンピュータシステム/サーバ12のコンポーネントは、限定されないが、1又は複数のプロセッサ又は処理ユニット16、システムメモリ28、及び、システムメモリ28を含む様々なシステムコンポーネントをプロセッサ16に連結するバス18を含み得る。
【0059】
バス18は、複数のタイプのバス構造のいずれかのうちの1又は複数を表し、メモリバス又はメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャのいずれかを使用するプロセッサ又はローカルバスを含む。限定ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクススタンダードアソシエーション(VESA)ローカルバス、及びペリフェラルコンポーネントインターコネクト(PCI)バスを含む。
【0060】
コンピュータシステム/サーバ12は、通常、様々なコンピュータシステム可読媒体を含む。そのような媒体は、コンピュータシステム/サーバ12によってアクセス可能なあらゆる利用可能な媒体であることができ、揮発性及び不揮発性の媒体、及び、取り外し可能及び取り外し不可能な媒体の両方を含む。
【0061】
システムメモリ28は、ランダムアクセスメモリ(RAM)30及び/又はキャッシュメモリ32など、揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。コンピュータシステム/サーバ12は、他の取り外し可能/取り外し不能な揮発性/不揮発性のコンピュータシステム記憶媒体を更に含むことができる。例としてのみ挙げると、取り外し不能な不揮発性磁気媒体(図示せず、通常は「ハードドライブ」と称される)からの読み出し及びそれへの書き込みのためのストレージシステム34が提供され得る。図示されていないが、取り外し可能な不揮発性の磁気ディスク(例えば、「フロッピディスク」)からの読み出し及びそれへの書き込みのための磁気ディスクドライブ、及び、CD-ROM、DVD-ROM又は他の光学媒体などの取り外し可能な不揮発性の光学ディスクからの読み出し及びそれへの書き込みのための光学ディスクドライブが提供され得る。そのような場合、それぞれは1又は複数のデータ媒体インタフェースによってバス18へ接続することができる。以下で更に図示及び説明されるように、メモリ28は、本発明の実施形態の機能を実行するように構成されている、(例えば、少なくとも1つの)プログラムモジュールのセットを有する少なくとも1つのプログラム製品を備えてよい。
【0062】
プログラムモジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40は、限定ではなく例として、メモリ28に記憶されてよく、また、オペレーティングシステム、1又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータも同様である。オペレーティングシステム、1又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータのそれぞれ又はこれらの何らかの組み合わせは、ネットワーキング環境の実装を含んでよい。プログラムモジュール42は一般に、本明細書に記載の本発明の実施形態の機能及び/又は方法論を実行する。
【0063】
コンピュータシステム/サーバ12はまた、キーボード、ポインティングデバイス、ディスプレイ24等などの1又は複数の外部デバイス14;ユーザがコンピュータシステム/サーバ12と対話することを可能にする1又は複数のデバイス;及び/又はコンピュータシステム/サーバ12が1又は複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)と通信してよい。そのような通信は入力/出力(I/O)インタフェース22を介して行うことができる。更になお、コンピュータシステム/サーバ12は、ネットワークアダプタ20を介して、ローカルエリアネットワーク(LAN)、一般的なワイドエリアネットワーク(WAN)、及び/又は、パブリックネットワーク(例えば、インターネット)などの1又は複数のネットワークと通信することができる。図示のように、ネットワークアダプタ20は、バス18を介してコンピュータシステム/サーバ12の他のコンポーネントと通信する。図示されていないが、他のハードウェアコンポーネント及び/又はソフトウェアコンポーネントを、コンピュータシステム/サーバ12と併せて使用することができることが理解されるべきである。例としては:マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、及びデータアーカイバル記憶システム等を含むが、これらに限定されない。
【0064】
ここで図2を参照すると、例示的なクラウドコンピューティング環境50が示されている。示されるように、クラウドコンピューティング環境50は、例えば、パーソナルデジタルアシスタント(PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C、及び/又は、自動車コンピュータシステム54N等の、クラウドコンシューマによって使用されるローカルコンピューティングデバイスが通信し得る、1又は複数のクラウドコンピューティングノード10を備える。ノード10は、互いに通信してよい。それらは、上記で説明されたようなプライベートクラウド、コミュニティクラウド、パブリッククラウド又はハイブリッドクラウド、又は、それらの組み合わせなどの1又は複数のネットワーク内で物理的に又は仮想的にグループ分け(図示せず)することができる。これにより、クラウドコンピューティング環境50は、インフラストラクチャ、プラットフォーム、及び/又はソフトウェアを、クラウドコンシューマがそのためにローカルコンピューティングデバイス上にリソースを維持する必要がないサービスとして提供することが可能になる。図2に示されたコンピューティングデバイス54A~Nのタイプは例示のみを意図しており、コンピューティングノード10及びクラウドコンピューティング環境50は、任意のタイプのネットワーク及び/又はネットワークアドレス指定可能な接続を介して(例えば、ウェブブラウザを使用して)、任意のタイプのコンピュータ化デバイスと通信できることを理解されたい。
【0065】
ここで図3を参照すると、クラウドコンピューティング環境50(図2)により提供される機能抽象化層のセットが示されている。図3に示されているコンポーネント、層、及び機能は例示のみを意図したものであり、本発明の実施形態がそれらに限定されないことが事前に理解されるべきである。図示のように、以下の層及び対応する機能が提供される。
【0066】
ハードウェア及びソフトウェア層60は、ハードウェア及びソフトウェアコンポーネントを備える。ハードウェアコンポーネントの例は、メインフレーム61;RISC(縮小命令セットコンピュータ)アーキテクチャベースサーバ62;サーバ63;ブレードサーバ64;記憶デバイス65;及び、ネットワーク及びネットワーキングコンポーネント66を含む。幾つかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア67及びデータベースソフトウェア68を備える。
【0067】
仮想化層70は、仮想エンティティの以下の例:仮想サーバ71;仮想ストレージ72;仮想プライベートネットワークを含む仮想ネットワーク73;仮想アプリケーション及びオペレーティングシステム74;及び仮想クライアント75、が提供され得る抽象化層を提供する。
【0068】
一例において、管理層80は、以下で説明する機能を提供してもよい。リソースプロビジョニング81は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソース及び他のリソースの動的な調達を提供する。計量及び価格設定82は、リソースがクラウドコンピューティング環境内で利用される際のコスト追跡、及びこれらのリソースの消費に対する勘定又は請求を提供する。一例において、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウドコンシューマ及びタスクに対する身元検証、並びにデータ及びその他のリソースに対する保護を提供する。ユーザポータル83は、コンシューマ及びシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、要求されるサービスレベルが満たされるように、クラウドコンピューティングリソース割り当て及び管理を提供する。サービスレベル合意(SLA)計画及び履行85は、将来の要件がSLAに従って予期されるクラウドコンピューティングリソースの事前の取り決め及び調達を提供する。
【0069】
ワークロード層90は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロード及び機能の例は、マッピング及びナビゲーション91;ソフトウェア開発及びライフサイクル管理92;仮想教室教育配信93;データ解析処理94;トランザクション処理95;及びデータベースセキュリティポリシ判定96を含む。
【0070】
本発明の実装形態は、プログラムモジュール42のうちの1又は複数が、図3のデータベースセキュリティポリシ判定96の1又は複数の機能を実行する(又は、コンピュータシステム/サーバ12に実行させる)ように構成された、図1のコンピュータシステム/サーバ12を備え得る。例えば、プログラムモジュール42のうちの1又は複数は:データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得し;データベースに関連付けられた第1のデータベースデータを取得し;セキュリティポリシ及び第1のデータベースデータを使用して知識蒸留モデルを作成し;データベースに関連付けられた第2のデータベースデータを取得し;第2のデータベースデータ、及び知識蒸留モデルの出力を使用して、分類モデルを作成し;データベースに対するクライアントデータベース要求を受信し;分類モデルを使用して新たなセキュリティポリシルールセットを判定し;及び、新たなセキュリティポリシルールセットをクライアントデータベース要求に適用するように構成され得る。機械学習を使用して、コンピューティングリソースのコストを最小限に抑えつつ、適用可能なセキュリティポリシ及びルールを満たすデータベースセキュリティルールセットを判定することのこうした活用は、当技術分野における改善を提供する。
【0071】
図4は、本発明の態様に係る、例示的な環境のブロック図を示す。実施形態において、環境は、ネットワーク410を介して接続されたクライアントデバイス400及びセキュリティサーバ405を含む。クライアントデバイス400は、コンピュータシステム/サーバ12の1又は複数の要素を含むコンピューティングデバイスを備え、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、又はスマートフォンを含み得る。一例において、データベースクライアントは、クライアントデバイス400を利用して、データベースサーバ415により管理されるデータベースにアクセスする。ネットワーク410は、LAN、WAN、及びインターネットのうちの1又は複数などの、1又は複数の通信ネットワークを含む。セキュリティサーバ405及びデータベースサーバ415はそれぞれ、コンピュータシステム/サーバ12の1又は複数の要素を含む1又は複数のサーバを備える。クラウドの実装形態において、ネットワーク410は、図2のクラウドコンピューティング環境50を備え、クライアントデバイス400は、図2に示されたコンピューティングデバイス54A~Nのうちの1つを備え、セキュリティサーバ405及びデータベースサーバ415はそれぞれ、図2の1又は複数のクラウドコンピューティングノード10を備える。
【0072】
実施形態において、データベースサーバ415は、図1に関して説明されたプログラムモジュール42などの1又は複数のプログラムモジュールを有し得る、セキュリティモジュール420を備える。データベースサーバ415は、図4に示されたものよりも追加的な、又はより少ないモジュールを含み得る。例えば、データベースサーバ415は、データベースアプリケーション及びデータベース管理システムの一方又は両方として機能するようにプログラミングされた追加的なモジュールを備えてよく、それらの用語は当業者により理解されている。実施形態において、別個のモジュールは、単一のモジュールに統合され得る。追加的に、又は代替的に、単一のモジュールは、複数のモジュールとして実装され得る。更に、環境におけるデバイス及び/又はネットワークの数量は、図4に示されたものに限定されない。実際に、環境は、図4に示されたものよりも追加的なデバイス及び/又はネットワーク;より少ないデバイス及び/又はネットワーク;異なるデバイス及び/又はネットワーク;又は異なる配置がなされたデバイス及び/又はネットワークを含み得る。
【0073】
本発明の態様によれば、セキュリティモジュール420は、データベース統計425、オペレーティングシステム統計430、及びデータベースセキュリティオブジェクト定義435を利用して、知識蒸留モデル445を作成するようにプログラミングされている。実施形態において、セキュリティモジュール420は、複数の従来のデータベースセキュリティシステムからデータベースセキュリティポリシ及びルールを取得する。ポリシ及びルールは、新たなセキュリティポリシのスイートを構築するために比較的大きな機械学習モデルで利用され得る多数のパラメータを含む。実施形態において、特定のデータベース統計425、オペレーティングシステム統計430、及びデータベースセキュリティオブジェクト定義435について、セキュリティモジュール420は、機械学習アルゴリズム及び知識蒸留技法を利用して、限定的な数の初期入力から生成された関連するデータベースセキュリティ要件の定義を判定する、比較的小さな機械学習モデル(知識蒸留モデル445)を作成する。このようにして、セキュリティモジュール420は、このデータベースに対する新たな複数レベルのセキュリティポリシルールを判定するように構成されており、ここで複数レベルとは、このデータベースの異なるレベル(例えば、データベースアプリケーションレベル、ランタイムレベル、ストレージレベル等)に対する異なるポリシ及びルールのセットが存在することを意味する。
【0074】
本発明の態様によれば、セキュリティモジュール420は、知識蒸留モデル445の出力、オペレーティングシステム統計430、及び業務要件440を利用して分類モデル450を作成するようにプログラミングされている。実施形態において、セキュリティモジュール420は、機械学習アルゴリズムを使用し、知識蒸留モデル445の出力、オペレーティングシステム統計430、及び業務要件440を用いて機械学習モデル(分類モデル450)を訓練する。訓練済み分類モデル450は、オペレーティングシステム統計430及び業務要件440の特定のセットを入力として受信し、新たなポリシルールセットを出力する。このようにして、セキュリティモジュール420は、クライアントデバイス400によりなされたデータベース要求に適用する新たなポリシルールセットを判定する。
【0075】
図5は、本発明の態様に係る、例示的な方法のフローチャートを示す。方法の段階は、図4の環境において実行され得、図4に示された要素を参照して説明される。
【0076】
段階501で、システムは、従来のデータベースセキュリティシステムからデータベースセキュリティポリシ及びルールを取得する。実施形態において、セキュリティモジュール420は、コレクタ及びデータベースサーバなどのシステムからデータベースセキュリティポリシ及びルールを取得する。ポリシの非限定的な例は:特定のIPアドレス又はアプリケーションがデータベースサーバにクエリを送信することに応答して、データセキュリティ管理者に警告メッセージ(例えば、電子メール)を送信すること;管理対象のユーザが所定のタイムウィンドウにおいてデータベースにクエリを実行することに応答して、データセキュリティ管理者に警告メッセージ(例えば、電子メール)を送信すること;管理対象のユーザがデータベース内の特定のテーブル列にクエリを実行することを試みる場合に、結果における所定の数の行(例えば、100行)のみを送信すること;及び、ユーザが指定された回数を超えて管理対象のテーブルにクエリを実行することを試みる場合に、データベース接続を終了すること、を含む。ルールは、例外ルール及びアクセスルールを含み得、例えば、その幾つかの非限定的な例は、例外ルール(ログイン失敗―違反を記録);例外ルール(ログイン失敗―反復される場合に警告);例外ルール(SQLエラー―記録);例外ルール(SQLエラー―リスクを示すエラーについて警告);アクセスルール(コマンドを選択―完全な詳細を記録);アクセスルール(DDLコマンド―完全な詳細を記録);アクセスルール(不審なユーザ―完全な詳細を記録);及びアクセスルール(管理ユーザ―完全な詳細を記録)、である。
【0077】
段階502で、システムは、データベースのデータベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義を含むデータベースデータを取得する。実施形態において、セキュリティモジュール420は、データベースサーバ415を介して利用可能なデータから、データベース統計425、オペレーティングシステム統計430、及びデータベースセキュリティオブジェクト定義435を判定する。一例において、セキュリティモジュール420は、このデータベースサーバ415上で実行されているデータベース管理システムから、このデータを取得する。データベース統計425は、図7で更に説明される。データベースセキュリティオブジェクト定義435は、図8で更に説明される。一例において、この段階で使用されるオペレーティングシステム統計は、CPU速度;CPU時間;I/O速度;ページの読み出し/書き込み;及び送信/受信されたネットワークパッケージ、のうちの1又は複数を含む。
【0078】
段階503で、システムは、段階501からのポリシ及びルール、及び、段階502からのデータベースデータを使用して、知識蒸留モデルを作成する。知識蒸留モデル445、及び、セキュリティモジュール420によるその作成は、図9及び図10で更に説明される。
【0079】
段階504で、システムは、オペレーティングシステム統計430及び業務要件440を含むデータベースデータを取得する。実施形態において、セキュリティモジュール420は、データベースサーバ415を介して利用可能なデータから、オペレーティングシステム統計430及び業務要件440を判定する。一例において、セキュリティモジュール420は、このデータベースサーバ415上で実行されているデータベース管理システムから、このデータを取得する。一例において、この段階において使用されるオペレーティングシステム統計430は、CPU使用率;I/O使用率;受信されたネットワークパッケージ;クエリキュー;及びページ待機、のうちの1又は複数を含む。一例において、この段階で使用される業務要件440は:システム性能の影響は、所定の量を上回ってはならない;及び、I/O待機は、所定の量を上回ってはならない、のうちの1又は複数を含む。
【0080】
段階505で、システムは、(段階503からの)知識蒸留モデルの出力を使用して、(段階504からの)オペレーティングシステム統計430及び業務要件440を含む新たな分類モデルを作成する。実施形態において、セキュリティモジュール420は、機械学習アルゴリズムを使用し、知識蒸留モデル445の出力、オペレーティングシステム統計430、及び業務要件440を用いて分類モデル450を訓練する。実施形態において、訓練済み分類モデル450は、オペレーティングシステム統計430及び業務要件440の特定のセットを入力として受信し、オペレーティングシステム統計430及び業務要件440の特定のセットに対し、このデータベースの新たなポリシルールセットを出力するように構成されている。
【0081】
段階506で、システムは、クライアントデータベース要求を受信する。実施形態において、データベースサーバ415は、例えば、データベースアプリケーション又はデータベース管理システムを介して、クライアントデバイス400からデータベース要求を受信する。
【0082】
段階507で、システムは、(段階506からの)要求に関連付けられたオペレーティングシステム統計430及び業務要件440を判定する。実施形態において、業務要件440は、ユーザ入力を介して定義される。実施形態において、オペレーティングシステム統計430は、一般的なシステム統計収集ツール、又はサーバ側のデータベースセキュリティツールなどのソフトウェア収集ツールを使用して取得される。
【0083】
段階508で、システムは、クライアントデータベース要求のオペレーティングシステム統計430及び業務要件440を分類モデル450に入力することにより、このクライアントデータベース要求に対する新たなポリシルールセットを判定する。実施形態において、セキュリティモジュール420は、(段階507からの)オペレーティングシステム統計430及び業務要件440を(段階505からの)分類モデル450に入力する。分類モデル450の出力は、(段階506からの)このクライアントデータベース要求に対するポリシルールセットである。新たなポリシルールセットの一例は、図11に示されている。
【0084】
段階509で、システムは、このクライアントデータベース要求に新たなポリシルールセットを適用する。実施形態において、システム上で(例えば、セキュリティサーバ405で)実行されているソフトウェアセキュリティツールは、(段階508からの)判定されたポリシルールセットを、例えばデータベースアプリケーション又はデータベース管理システムを介して、(段階506からの)このクライアントデータベース要求に適用する。
【0085】
図6は、本発明の態様に係る、知識蒸留モデル445を作成する際に用いられる例示的なパラメータセット600を示す。実施形態において、パラメータセット600は、図5の段階501で取得されたデータベースセキュリティポリシ及びルールに含まれる要因(例えば、影響を受ける要因)を含む。実施形態において、セキュリティモジュール420は、図5の段階501で取得されたデータベースセキュリティポリシ及びルールを分析することにより、パラメータセット600を判定する。一例において、セキュリティモジュール420は、データベースセキュリティポリシ及びルールに含まれる全ての要因を識別し、次に、コサイン類似度を使用して、パラメータセット600に含めるための影響を受ける要因とみなすべき要因を判定する。この例において、セキュリティモジュール420は、データベースセキュリティポリシ及びルールに対応するベクトルを作成する。セキュリティモジュール420は、コサイン類似度を使用して、異なるベクトル間の類似度を比較する。実施形態において、セキュリティモジュール420は、ノードをベクトル化して全ての要因を計算し、また、動的閾値を利用する。このようにして、セキュリティモジュール420は、判定されたコサイン類似度を閾値と比較することに基づき、パラメータセットに含めるべき要因を判定し、閾値を上回る類似度を有する要因が、パラメータセット600に含まれる。図6のパラメータセット600において示された要因は例であり、他のデータベースは、パラメータセットにおいて異なる要因を有し得る。
【0086】
図7は、本発明の態様に係る、図5の段階502で取得されたデータベース統計の一例のセット700を示す。セット700において示されたデータベース統計は例であり、他のデータベースは、異なる統計を有し得る。この例において、セット700は、テーブル、単一列、複数列、及びパーティションテーブルを含むデータベースオブジェクトを有する。この例において、セット700は、データベースオブジェクトのそれぞれついての統計(例えば、カーディナリティ等)を含む。実施形態において、データベースサーバは、データベース内部機能又は外部システムツールを使用して、データベース統計を取得する。
【0087】
図8は、本発明の態様に係る、図5の段階502で取得されたデータベースセキュリティオブジェクト定義の一例を示す。図8に示されたデータベースセキュリティオブジェクト定義は例であり、他のデータベースは、異なるデータベースセキュリティオブジェクト定義を有し得る。この例において、SDBDPTR800は、データベース管理システムに代わりデータベースを管理する親ノードを指すポインタである。この例において、SOBDDBD(セキュリティオブジェクト定義、データベース記述)805は、データベースをデータベースオブジェクトの集合体として定義するセキュリティオブジェクト定義である。この例において、SOBDPSET(セキュリティオブジェクト定義、ページセット)810は、データベースファイルのインスタンスであるデータベースページセットを定義するセキュリティオブジェクト定義である。この例において、SOBDFS(セキュリティオブジェクト定義、ファイルシステム)815は、データへのアクセス経路を、インデックス、ハッシュ、又はリンクとして定義するセキュリティオブジェクト定義である。この例において、SOBDFILE(セキュリティオブジェクト定義、ファイル)820は、テーブルスペースをテーブル及び/又はページセットの集合体として定義するセキュリティオブジェクト定義である。この例において、SOBDREC(セキュリティオブジェクト定義、レコード)825は、テーブルを定義し、テーブル内の行を定義するセキュリティオブジェクト定義である。実施形態において、セキュリティオブジェクト定義810、815、820、825は、(図4の)データベースサーバ415に関連付けられたデータベースに適用する、セキュリティポリシ及びルールの異なるレベルを定義する。このようにして、システムは、データベースセキュリティポリシ及びルールに含まれ、異なるデータベースセキュリティオブジェクトレベルに組み込まれるデータの2つのグループを判定する。幾つかの実施形態において、データベースサーバは、パラメータをデータベースオブジェクトに加え、データベースは、これらのパラメータを実装するように構成されている。
【0088】
図9は、本発明の態様に係る、影響を受ける要因の例示的なグループ分けを示す。実施形態において、図5の段階503で、セキュリティモジュール420は、(図9のグラフにおいて点として示された、図6のパラメータセット600からの)影響を受けるパラメータを、異なるグループ901a~c及び902a~cに分類する。セキュリティモジュール420は、次に、影響を受けるパラメータのグループ分けを分析し、異なるグループサイズがセキュリティ性能(すなわち、セキュリティルール及びポリシの満足度)にどのような影響をもたらすかを判定する。この分析に基づき、また、データベースデータ(例えば、図5の段階502で取得されたデータベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義)を使用して、セキュリティモジュール420は、比較的小さなグループサイズを有する第1のグループ(例えば、901a~c)を受信し、比較的大きなグループサイズを有する第2のグループ(例えば、902a~c)を出力する機械学習モデル(例えば、図4の知識蒸留モデル445)を作成する。実施形態において、モデルは、本明細書に記載の機械学習アルゴリズム及び訓練データを使用して作成及び訓練され、それにより、モデルは、入力グループサイズのセットを指定された場合に、セキュリティ要件を満たし、コンピューティング性能をも最適化する、少なくとも1つの新たなグループサイズを判定するように構成されている。実施形態において、システムは、オペレーティングシステム統計に基づくコスト関数を利用して、コンピューティング性能をモデル化し、ひいてはそれを最適化する。一例において、モデルは、セキュリティ要件を満たす最適な最大グループサイズを判定するために、作成及び訓練される。このようにして、モデルは、比較的小さなグループサイズを有する第1のグループのセットを入力として受信し、比較的大きなグループサイズを有する第2のグループのセットを出力として生成し、ここで、第2のグループのセットは、第1のグループのセットと同じセキュリティ要件を、第1のグループのセットよりも高い(例えば、より低コストの)コンピューティング性能を伴って満たしている。実施形態において、グループサイズは、このデータベースの異なるレベル(例えば、データベースアプリケーションレベル、ランタイムレベル、及びストレージレベル)に対するポリシ及びルールに対応している。このように、異なるグループサイズを判定するためにモデルを使用することにより、モデルは、より低いコンピューティングコストで同じセキュリティポリシを満たすために異なるレベルでルールを適用することを判定するために使用され得、これは、当技術分野における改善を提供する。
【0089】
なおも図9を参照すると、実施形態において、グループサイズを判定する段階は、ポリシルールを準備する段階、及び、ベクトル関係マップを計算する段階を有する。幾つかの例において、各ポリシルールは、関連するポリシルールを探索するために柔軟である。従って、上述の要因データベクトル化の後に、ベクトル距離は、ベクトルの挟角で計算され得る。実施形態において、図5の段階503はまた、グループサイズ及び効果の両方が予測通りになることを確実にするために、レベル定義のための特定のグループとして「アクションの実行」を追加するポリシルールを含む。実施形態において、図5の段階503はまた、ポリシレベル定義のための特定のグループのスクリーニング及びプルーニングを含む。実装形態において、これらの段階は、小さなサイズのグループを入力として受信し、異なるサイズ、及び、より小さなサイズのグループのコンピューティングコストと比較して、実行にあたり異なるレベルのコンピューティングコストを有するグループを出力として生成するモデルを作成するために使用される。例示的な一実装形態において、セキュリティモジュール420は、フィードフォワードネットワーク(FFN)を使用してモデルを作成し、図10に示されるアルゴリズム1001及び1002に従い、ニューラルネットワークを訓練する。
【0090】
図11は、本発明の態様に係る、使用される分類パラメータの例を示す。図11は、テーブルカーディナリティ、ページ番号、アクセス頻度、インデックスレベル、及びポリシセットを含む、分類パラメータの第1のテーブル1100を示す。図11はまた、ポリシタイプ、セッションキュー、アクションレベル、クエリキュー及びステートメントの複雑性を含む、分類パラメータの第2のテーブル1105を示す。図11に示された分類パラメータは例であり、他のデータベースは、異なる分類パラメータを有し得る。実施形態において、図11に示された分類パラメータは、図5の段階505で分類モデルを作成及び訓練するために使用される。例えば、分類パラメータは、分類モデルを訓練するために使用されるオペレーティングシステム統計及び業務要件のうちの幾つか又は全部を含み得る。一例において、分類モデルは、ロジスティック回帰技法を使用して訓練される。
【0091】
図12は、本発明の態様に係る、例示的な方法のフローチャートを示す。方法の段階は、図4の環境において実行され得、図4に示された要素を参照して説明される。図12の方法は、パーティション動作を伴うユースケースの一例である。実施形態において、データベースサーバ415は、段階1201で、潜在的オブジェクトを識別し(例えば、セキュリティ検査に関与するオブジェクト(テーブル、列、又はパーティション)を判定するためにセキュリティポリシ又はルールを使用することにより)、段階1202で、パーティション化されたページセットを開き、段階1203で、ページセットピースを開き(例えば、関連するオブジェクトのパーティション化されたページセット及びページセットピースを開くためにデータベース操作タスクを使用して)、段階1204で、(例えば、ポリシを判定されたオブジェクトと比較することに基づき)オブジェクトをバイパス又はブロックするかどうかを検査する。段階1204での検査に基づき、データベースサーバ415は:段階1205で、パーティションをブロックする(例えば、高度な違反に対して、スキーマレベルからクエリをブロックする)、段階1206で、(例えば、違反ではない場合に)セキュリティルールをバイパスする、又は、段階1207で、SOBDからの結果をブロックする(例えば、特定のパーティションについてのみ、クエリをブロックする)、のうちの1つを実行する。
【0092】
図13は、本発明の態様に係る、例示的な方法のフローチャートを示す。方法の段階は、図4の環境において実行され得、図4に示された要素を参照して説明される。図13の方法は、結果セット制限動作を伴うユースケースの一例である。実施形態において、データベースサーバ415は、段階1301で、潜在的オブジェクトを識別し(例えば、セキュリティ検査に関与するオブジェクト(テーブル、列、又はパーティション)を判定するためにセキュリティポリシ又はルールを使用することにより)、段階1302で、(例えば、ポリシを、判定されたオブジェクトと比較することに基づき)オブジェクトをバイパス又はブロックするかどうかを検査する。段階1302での検査に基づき、データベースサーバ415は:段階1303で、結果セットをブロックする(例えば、データベースサーバからの接続を終了することにより)、段階1304で、セキュリティルールをバイパスする(例えば、データベースサーバから完全な結果セットを得る)、又は、段階1305~1308で、強化されたセキュリティポリシを適用する、のうちの1つを実行する。実施形態において、データベースサーバ415は、段階1305で、(例えば、特定のセキュリティオブジェクトに基づきコストを計算し、次に、新たなアクセス経路を選択することにより)アクセス経路変更を再計算し、段階1306で、各SOBDからの戻り結果を取得し(例えば、各SOBDから新たなアクセス経路と共に返される結果を得て)、段階1307で、SOBD結果を統合し(例えば、段階1306からの結果を統合し)、段階1308で、最終結果を提供する(例えば、結果をユーザに返す)。
【0093】
図14は、本発明の態様に係る、図13の例示的なユースケースのブロック図1400を示す。ブロック図1440において、実線は、図13の段階1304で行われるデータベース処理に対応し、それは比較的大きな結果セット(例えば、250,000*4000=1,000,000,000)を生成し、それは次に、最終結果サイズ(例えば、100)へと削減され、これは、比較的大量のコンピューティングリソースを利用する。ブロック図1440で、破線は、図13の段階1305~1308で行われるデータベース処理に対応し、それは比較的小さな結果セット(例えば、100)を生じさせ、これは、比較的少量のコンピューティングリソースを利用する。
【0094】
実施形態は、クラウドベースのフェデレーションモデルを使用して実装され得る。これらの実施形態において、異なるデータベースノードに対し、システムは、同様の業務要件、データベーストラフィック、又はセキュリティ要件を有する他のデータベースノードからの蒸留モデルを学習するために、フェデレーションモデルを訓練する。これらの実施形態において、方法は:整列されたサンプル及び特徴を判定する段階;対話を用い、異なるデータベースノード上の勾配の中間結果を計算する段階;損失の収束を得るまで計算する段階;及び、各ノードがモデルパラメータをリフレッシュする段階、を備える。
【0095】
実施形態において、サービスプロバイダは、本明細書に記載のプロセスを実行することを提案し得る。この場合、サービスプロバイダは、1又は複数の顧客のために、本発明のプロセス段階を実行するコンピュータインフラストラクチャを、作成、維持、展開、サポート等し得る。これらの顧客は、例えば、技術を用いる任意の企業であり得る。その見返りとして、サービスプロバイダは、サブスクリプション及び/又は料金契約に基づき、顧客から報酬を受けることができる、及び/又は、サービスプロバイダは、1又は複数のサードパーティへの広告コンテンツの販売から、報酬を受けることができる。
【0096】
なおも追加的な実施形態において、本発明は、ネットワークを介して、コンピュータ実装方法を提供する。この場合、コンピュータシステム/サーバ12(図1)などのコンピュータインフラストラクチャが提供され得、本発明のプロセスを実行するための1又は複数のシステムは、取得(例えば、作成、購入、使用、変更等)され、コンピュータインフラストラクチャに展開され得る。この限りにおいて、システムの展開は、(1)(図1に示されるような)コンピュータシステム/サーバ12などのコンピューティングデバイス上で、コンピュータ可読媒体からプログラムコードをインストールすること;(2)1又は複数のコンピューティングデバイスを、コンピュータインフラストラクチャに追加すること;及び(3)コンピュータインフラストラクチャの1又は複数の既存のシステムを組み込む、及び/又は変更して、コンピュータインフラストラクチャが本発明のプロセスを実行することを可能にすること、のうちの1又は複数を備え得る。
【0097】
本発明の様々な実施形態の説明は、例示目的で提示されてきたが、包括的であること、又は開示された実施形態に限定されることを意図するものではない。説明された実施形態の範囲から逸脱することなく、多くの修正及び変形が、当業者には明らかであろう。本明細書において使用される専門用語は、実施形態の原理、市場で見られる技術の実際的な適用又はそれに対する技術的改善を最適に説明する、又は、本明細書において開示された実施形態を他の当業者が理解することを可能にするように選択されたものである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2023-11-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
データベースサーバが、前記データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する段階;
前記データベースサーバが、前記データベースに関連付けられた第1のデータベースデータを取得する段階;
前記データベースサーバが、前記セキュリティポリシ及び前記第1のデータベースデータを使用して知識蒸留モデルを作成する段階;
前記データベースサーバが、前記データベースに関連付けられた第2のデータベースデータを取得する段階;
前記データベースサーバが、前記第2のデータベースデータ、及び前記知識蒸留モデルの出力を使用して、分類モデルを作成する段階;
前記データベースサーバが、前記データベースに対するクライアントデータベース要求を受信する段階;
前記データベースサーバが、前記分類モデルを使用して新たなセキュリティポリシルールセットを判定する段階;及び
前記データベースサーバが、前記新たなセキュリティポリシルールセットを前記クライアントデータベース要求に適用する段階
を備える、方法。
【請求項2】
前記知識蒸留モデルを前記作成する段階は:
前記セキュリティポリシから影響を受ける要因を判定する段階;及び
前記影響を受ける要因のグループ分けを分析する段階
を有する、請求項1に記載の方法。
【請求項3】
前記第1のデータベースデータは、データベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義を有する、請求項1または2に記載の方法。
【請求項4】
前記データベースセキュリティオブジェクト定義は、前記データベースの複数の異なるレベルにおける複数の異なるデータベースセキュリティオブジェクト定義を含む、請求項3に記載の方法。
【請求項5】
前記第2のデータベースデータは、オペレーティングシステム統計及び業務要件データを有する、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記分類モデルは:
前記クライアントデータベース要求に関連付けられたパラメータを入力として受信する;及び、
前記入力に基づき、前記新たなセキュリティポリシルールセットを出力として生成する、
請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記データベースは、複数の異なるデータベースノードのうちの1つである;及び
前記知識蒸留モデルを前記作成する段階は、前記複数の異なるデータベースノードからのデータを使用してフェデレーションモデルを訓練する段階を有する、
請求項1から6のいずれか一項に記載の方法。
【請求項8】
ログラム命令を有する、コンピュータプログラムであって、前記プログラム命令は:
データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する手順;
前記データベースに関連付けられた第1のデータベースデータを取得する手順;
前記セキュリティポリシ及び前記第1のデータベースデータを使用して知識蒸留モデルを作成する手順;
前記データベースに関連付けられた第2のデータベースデータを取得する手順;
前記第2のデータベースデータ、及び前記知識蒸留モデルの出力を使用して、分類モデルを作成する手順;
前記データベースに対するクライアントデータベース要求を受信する手順;
前記分類モデルを使用して新たなセキュリティポリシルールセットを判定する手順;及び
前記新たなセキュリティポリシルールセットを前記クライアントデータベース要求に適用する手順
のために実行可能である、コンピュータプログラム。
【請求項9】
前記知識蒸留モデルを前記作成する手順は:
前記セキュリティポリシから影響を受ける要因を判定する手順;及び
前記影響を受ける要因のグループ分けを分析する手順
を有する、請求項8に記載のコンピュータプログラム。
【請求項10】
前記第1のデータベースデータは、データベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義を有する、請求項8または9に記載のコンピュータプログラム。
【請求項11】
前記データベースセキュリティオブジェクト定義は、前記データベースの複数の異なるレベルにおける複数の異なるデータベースセキュリティオブジェクト定義を含む、請求項10に記載のコンピュータプログラム。
【請求項12】
前記第2のデータベースデータは、オペレーティングシステム統計及び業務要件データを有する、請求項8から11のいずれか一項に記載のコンピュータプログラム。
【請求項13】
前記分類モデルは:
前記クライアントデータベース要求に関連付けられたパラメータを入力として受信する;及び、
前記入力に基づき、前記新たなセキュリティポリシルールセットを出力として生成する、
請求項8から12のいずれか一項に記載のコンピュータプログラム。
【請求項14】
前記データベースは、複数の異なるデータベースノードのうちの1つである;及び
前記知識蒸留モデルを前記作成する手順は、前記複数の異なるデータベースノードからのデータを使用してフェデレーションモデルを訓練する手順を有する、
請求項8から13のいずれか一項に記載のコンピュータプログラム。
【請求項15】
プロセッサ、コンピュータ可読メモリ、1又は複数のコンピュータ可読記憶媒体、及び前記1又は複数のコンピュータ可読記憶媒体上に集合的に記憶されたプログラム命令
を備えるシステムであって、前記プログラム命令は:
データベースサーバによりホストされるデータベースに関連付けられたセキュリティポリシを取得する手順;
前記データベースに関連付けられた第1のデータベースデータを取得する手順;
前記セキュリティポリシ及び前記第1のデータベースデータを使用して知識蒸留モデルを作成する手順;
前記データベースに関連付けられた第2のデータベースデータを取得する手順;
前記第2のデータベースデータ、及び前記知識蒸留モデルの出力を使用して、分類モデルを作成する手順;
前記データベースに対するクライアントデータベース要求を受信する手順;
前記分類モデルを使用して新たなセキュリティポリシルールセットを判定する手順;及び
前記新たなセキュリティポリシルールセットを前記クライアントデータベース要求に適用する手順
のために実行可能である、システム。
【請求項16】
前記知識蒸留モデルを前記作成する手順は:
前記セキュリティポリシから影響を受ける要因を判定する手順;及び
前記影響を受ける要因のグループ分けを分析する手順
を有する、請求項15に記載のシステム。
【請求項17】
前記第1のデータベースデータは、データベース統計、オペレーティングシステム統計、及びデータベースセキュリティオブジェクト定義を有する;及び
前記データベースセキュリティオブジェクト定義は、前記データベースの複数の異なるレベルにおける複数の異なるデータベースセキュリティオブジェクト定義を含む、
請求項15または16に記載のシステム。
【請求項18】
前記第2のデータベースデータは、オペレーティングシステム統計及び業務要件データを有する、請求項15から17のいずれか一項に記載のシステム。
【請求項19】
前記分類モデルは:
前記クライアントデータベース要求に関連付けられたパラメータを入力として受信する;及び、
前記入力に基づき、前記新たなセキュリティポリシルールセットを出力として生成する、
請求項15から18のいずれか一項に記載のシステム。
【請求項20】
前記データベースは、複数の異なるデータベースノードのうちの1つである;及び
前記知識蒸留モデルを前記作成する手順は、前記複数の異なるデータベースノードからのデータを使用してフェデレーションモデルを訓練する手順を有する、
請求項15から19のいずれか一項に記載のシステム。
【国際調査報告】