(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-29
(54)【発明の名称】動的ハニーポットデータベース応答生成による標的型のデータベース攻撃への防御
(51)【国際特許分類】
G06F 21/62 20130101AFI20231121BHJP
G06F 21/55 20130101ALI20231121BHJP
【FI】
G06F21/62 327
G06F21/55
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023526601
(86)(22)【出願日】2021-11-08
(85)【翻訳文提出日】2023-05-01
(86)【国際出願番号】 CN2021129354
(87)【国際公開番号】W WO2022111268
(87)【国際公開日】2022-06-02
(32)【優先日】2020-11-25
(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)【発明者】
【氏名】レバチャー、キリアン
(57)【要約】
標的とされたデータベースを対象とするクエリを受信する段階、及びそのクエリが非承認ユーザからのものであると判定する段階を含む技術が提供される。モデルによって生成された応答が非承認ユーザへ返され、ここで応答は、クエリを履行するように動的に生成される。モデルは、非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている。
【特許請求の範囲】
【請求項1】
コンピュータシステムによって、標的とされたデータベースを対象とするクエリを受信する段階;
前記コンピュータシステムによって、前記クエリが非承認ユーザからのものであると判定する段階;及び
前記コンピュータシステムによって、モデルによって生成された応答を前記非承認ユーザへ返す段階、ここで前記応答は、前記クエリを履行するように動的に生成され、前記モデルは、前記非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている
を備える、コンピュータ実装方法。
【請求項2】
前記モデルは、前記標的とされたデータベースからの真正の応答のデータと整合するフォーマットで前記応答のデータを合成するように構成されている、
請求項1に記載のコンピュータ実装方法。
【請求項3】
前記モデルは、履歴記録にアクセスするように構成されており、前記履歴記録は、前記非承認ユーザに関連付けられた以前のあらゆるクエリ、及び前記非承認ユーザに返された前記以前のあらゆる応答を含む、
請求項1に記載のコンピュータ実装方法。
【請求項4】
前記非承認ユーザに返された前記以前のあらゆる応答と整合する前記応答を生成する段階は、前記応答で生成されたデータが、前記以前のあらゆる応答の以前のデータと競合しないことを確認する段階を含む、
請求項1に記載のコンピュータ実装方法。
【請求項5】
前記非承認ユーザへの前記応答は、前記非承認ユーザから受信した以前のあらゆるクエリに基づいて前記モデルによって生成される、
請求項1に記載のコンピュータ実装方法。
【請求項6】
前記クエリ及び前記返された応答は、前記非承認ユーザに関連付けられた履歴記録に格納される、
請求項1に記載のコンピュータ実装方法。
【請求項7】
前記標的とされたデータベースは機密情報を含み、前記モデルは、前記機密情報を除外したデータを生成するように構成されている、
請求項1に記載のコンピュータ実装方法。
【請求項8】
コンピュータ可読命令を有するメモリ;及び
前記コンピュータ可読命令を実行するための1つ又は複数のプロセッサ、ここで前記コンピュータ可読命令は、動作を遂行するように前記1つ又は複数のプロセッサを制御し、前記動作は、
標的とされたデータベースを対象とするクエリを受信する手順;
前記クエリが非承認ユーザからのものであると判定する手順;及び
モデルによって生成された応答を前記非承認ユーザへ返す手順、ここで前記応答は、前記クエリを履行するように動的に生成され、前記モデルは、前記非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている
を有する
を備えるシステム。
【請求項9】
前記モデルは、前記標的とされたデータベースからの真正の応答のデータと整合するフォーマットで前記応答のデータを合成するように構成されている、
請求項8に記載のシステム。
【請求項10】
前記モデルは、履歴記録にアクセスするように構成されており、前記履歴記録は、前記非承認ユーザに関連付けられた以前のあらゆるクエリ、及び前記非承認ユーザに返された前記以前のあらゆる応答を含む、
請求項8に記載のシステム。
【請求項11】
前記非承認ユーザに返された前記以前のあらゆる応答と整合する前記応答を生成する段階は、前記応答で生成されたデータが、前記以前のあらゆる応答の以前のデータと競合しないことを確認する段階を含む、
請求項8に記載のシステム。
【請求項12】
前記非承認ユーザへの前記応答は、前記非承認ユーザから受信した以前のあらゆるクエリに基づいて前記モデルによって生成される、
請求項8に記載のシステム。
【請求項13】
前記クエリ及び前記返された応答は、前記非承認ユーザに関連付けられた履歴記録に格納される、
請求項8に記載のシステム。
【請求項14】
前記標的とされたデータベースは機密情報を含み、前記モデルは、前記機密情報を除外したデータを生成するように構成されている、
請求項8に記載のシステム。
【請求項15】
コンピュータ可読ストレージ媒体を備えるコンピュータプログラム製品であって、前記コンピュータ可読ストレージ媒体はそれによって具現化されたプログラム命令を有し、前記プログラム命令はプロセッサによって、前記プロセッサに動作を遂行させるように実行可能であり、前記動作は、
標的とされたデータベースを対象とするクエリを受信する手順;
前記クエリが非承認ユーザからのものであると判定する手順;及び
モデルによって生成された応答を前記非承認ユーザへ返す手順、ここで前記応答は、前記クエリを履行するように動的に生成され、前記モデルは、前記非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている
を含む、
コンピュータプログラム製品。
【請求項16】
前記モデルは、前記標的とされたデータベースからの真正の応答のデータと整合するフォーマットで前記応答のデータを合成するように構成されている、
請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記モデルは、履歴記録にアクセスするように構成されており、前記履歴記録は、前記非承認ユーザに関連付けられた以前のあらゆるクエリ、及び前記非承認ユーザに返された前記以前のあらゆる応答を含む、
請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記非承認ユーザに返された前記以前のあらゆる応答と整合する前記応答を生成することは、前記応答で生成されたデータが、前記以前のあらゆる応答の以前のデータと競合しないことを確認することを含む、
請求項15に記載のコンピュータプログラム製品。
【請求項19】
前記非承認ユーザへの前記応答は、前記非承認ユーザから受信した以前のあらゆるクエリに基づいて前記モデルによって生成される、
請求項15に記載のコンピュータプログラム製品。
【請求項20】
前記クエリ及び前記返された応答は、前記非承認ユーザに関連付けられた履歴記録に格納される、
請求項15に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は概してコンピュータシステムに関するものであり、より具体的には、コンピュータによって実施される方法、コンピュータシステム、及び動的ハニーポットデータベース応答生成により標的型のデータベース攻撃に対して防御するように構成及び準備されたコンピュータプログラム製品に関する。
【0002】
データベースのセキュリティは、データベースの機密性、整合性、可用性の危殆化からデータベースを保護するための幅広い情報セキュリティ管理手段の使用に関係している。データベースのセキュリティには、技術的、手続き的、管理的、物理的など、様々な種類又はカテゴリの管理手段が含まれる。データベースを保護する段階は、潜在的にデータを保護する段階、データベースアプリケーション、ストアドファンクション、データベースシステム、データベースサーバ及び関連するネットワークリンクを含む。データベースシステムに対するセキュリティリスクは、たとえば、非承認の、若しくは意図しない活動、又は承認されたデータベースユーザ若しくは非承認ユーザによる誤用を含む。セキュリティリスクは、たとえば、データベース内の機密データ、メタデータ又は機能への妥当でないアクセス、又はデータベースプログラム、構造又はセキュリティ構成への妥当でない変更をもたらす可能性がある。
【発明の概要】
【0003】
本発明の実施形態は、動的ハニーポットデータベース応答生成により標的型のデータベース攻撃に対して防御する、コンピュータによって実施される方法を対象としている。非限定的な例示の、コンピュータによって実施される方法は、標的とされたデータベースを対象とするクエリを受信する手順、及び前記クエリが非承認ユーザからのものであると判定する手順を含む。コンピュータによって実施される方法は、モデルによって生成された応答を前記非承認ユーザへ返す手順を含み、ここで前記応答は、前記クエリを履行するように動的に生成され、前記モデルは、前記非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている。
【0004】
本発明の他の実施形態は、上記方法の特徴を、コンピュータシステム及びコンピュータプログラム製品で実施する。
【0005】
さらなる技術的特徴及び利益が本発明の技術により実現される。本発明の実施形態及び態様が本明細書において詳細に説明され、特許請求される主題の一部とみなされる。より良好な理解のために、詳細な説明及び図面を参照する。
【図面の簡単な説明】
【0006】
本明細書に説明される排他的権利の詳細が特に指し示されており、明細書の結論における請求項で明確に主張されている。本発明の実施形態の上述の及び他の特徴及び利点は、添付の図面と併せて記載される以下の詳細な説明から明らかである。
【0007】
【
図1】本発明の1つ又は複数の実施形態と共に使用するための例示的なコンピュータシステムのブロック図を示す。
【0008】
【
図2】本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃への防御のためのシステムのブロック図を示す。
【0009】
【
図3】本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃への防御のための、コンピュータによって実施されるプロセスのフローチャートを示す。
【0010】
【
図4】本発明の1つ又は複数の実施形態に基づく、生成モデルを訓練するために無害なユーザを使用するアーキテクチャ例のブロック図を示す。
【0011】
【
図5】本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃への防御のための、コンピュータによって実施されるプロセスのフローチャートを示す。
【0012】
【
図6】本発明の1つ又は複数の実施形態に基づいて、標的とされたデータベースへのアクセスを得ようとする不正なユーザ、及び攻撃を阻止するための動的ハニーポットデータベース応答生成の使用のアーキテクチャ例のブロック図を示す。
【0013】
【
図7】本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃に対して防御するためのコンピュータによって実施される方法のフローチャートを示す。
【0014】
【
図8】本発明の1つ又は複数の実施形態に基づくクラウドコンピューティング環境を示す。
【0015】
【
図9】本発明の1つ又は複数の実施形態に基づく抽象化モデル層を示す。
【発明を実施するための形態】
【0016】
本発明の1つ又は複数の実施形態は、データベースに含まれる機密情報を入手しようとする攻撃者によって標的とされたデータベースを保護するための、コンピュータによって実施される方法、コンピュータシステム、及びコンピュータプログラム製品を提供し、コンピュータによって実施される方法は、標的とされたデータベースの応答を、見せかけの(ハニーポット)データベース応答で置き換える段階を含む。ハニーポットデータベース応答は、攻撃者をだまして、攻撃者に標的とされたデータベースから価値のある情報を取得していると思い込ませる。実際には、攻撃者の注意が実際の標的から離れている状態が保たれている間、実際の価値のある情報は安全なままである。これにより、インシデント対応チームには攻撃者の行動を監視する機会が提供される。
【0017】
企業ネットワーク又はウェブサイトが侵害された場合、通常、たとえば、クレジットカード情報、個人情報、ユーザ名及びパスワード他などの機密データを捕獲しようとする攻撃者にとって、データベースは最優先の標的である。システムが侵害された場合、インシデント対応チームは、被害を最小限に抑え、犯人を監視及び追跡し、その意図を理解するように行動する。ネットワーク上で攻撃者を忙しい状態に保つことは、インシデント対応手順の重要な部分である。これにより、調査員は技術、動機、及び最終的には攻撃の発信元及びおそらく攻撃者をも理解できるようになる。ハニーポット、すなわち「偽の」システムは通常、攻撃者を忙しい状態に保つためにネットワークに配備される。さらに、攻撃者の注意が偽のシステムに集中している間は、攻撃者の注意は、機密データを含む「本物の」システムから遠ざけられた状態が保たれている。これにより、最終的には、攻撃者の活動を監視するためのより多くの時間及び機会がインシデント対応チームに与えられる。熟練した攻撃者にとって、従来のハニーポットは簡単に特定することができ、攻撃者がそのようなハニーポットシステムとインタラクトしていることを攻撃者が察知するとすぐに、攻撃者は攻撃を停止し、他のシステムに集中する。これにより、インシデント対応チームが攻撃者を監視及び追跡する機会が妨げられるだけでなく、攻撃者の注意を他の価値あるシステムから遠ざけた状態に保つこともない。
【0018】
本発明の1つ又は複数の実施形態によれば、理想的なハニーポットデータベースは、標的とされたデータベースのシステムと区別がつかない。つまり、攻撃者に返されるハニーポットデータベース応答は、このユーザが不正であると検出される前に、この攻撃者のために本物の標的とされたデータベースから生成された以前の返答と整合している必要がある。言い換えると、ハニーポット応答は、1つ又は複数の実施形態によると、特定の攻撃者の過去の履歴に基づいた攻撃者固有のものである。また、ハニーポットデータベース応答は、生成された以前の返答だけでなく、本物のデータベースデータとも整合する(すなわち、これらのハニーポットデータベース応答に含まれるデータは、本物のデータベースに含まれるデータに類似している)。本発明の1つ又は複数の実施形態は、拡大縮小可能であり、複数の同時攻撃者からそれ自身を防御するハニーポット防御ソリューションとして、攻撃者に対して固有の応答を提供する。言い換えると、本発明の1つ又は複数の実施形態では、攻撃者ごとに標的データベース全体を複製する(これは非現実的である)ことによってハニーポットデータベースを作成する必要はない。むしろ、本発明の1つ又は複数の実施形態は、ハニーポットデータベース応答のデータベースクエリ応答時間は、攻撃者によるいかなる疑いも避けるために、標的データベースから受信した実際の応答の応答時間と等しくなるように構成される。これは応答時間に利益をもたらすだけでなく、システム(ハニーポットデータベース応答を含む)が1つ又は複数の実施形態に従って拡大縮小できる方法にも利益をもたらす。さらに、ハニーポットデータベース応答の生成では、おそらくテラバイトのデータで構成されるデータベースを複数回複製する必要はない。
【0019】
本発明の1つ又は複数の実施形態によれば、攻撃者の過去のクエリに基づく、かつそれに整合する、ハニーポットデータベース応答をオンデマンドで発生させる条件付き生成モデルが提供され、ここでハニーポットデータベース応答はいかなる機密情報も含んでいないが、それでも、本物のデータベースに含まれるデータに類似している。条件付き生成モデルは、攻撃者からの全ての不正なクエリを、攻撃者へのハニーポットデータベース応答と共に記録及び監査する、不正なクエリの記録を利用する。不正クエリ検出器を使用して、不正なクエリを、条件付き生成モデルであるハニーポットデータベースへ振り向ける。データ匿名化ツールを使用して、あらゆる機密情報を匿名化する。以下に用語集が提供される。
【0020】
インシデント対応:インシデント対応は、情報技術(IT)インシデント、コンピュータインシデント、又はセキュリティインシデントとして知られてもいるセキュリティ侵害又はサイバー攻撃の結果への対処及び管理への組織化された取り組みである。
【0021】
ハニーポット:ハニーポットは、情報システムの非承認使用の試みを検出する、回避する、又は何らかの方法で打ち消すように設定されたコンピュータセキュリティメカニズムである。
【0022】
条件付き生成モデル(GAN):元の標的とされたデータソースと同様のデータを再現することを学習する、条件付きGANなどのモデル。本発明の1つ又は複数の実施形態によれば、生成モデルの条件付き態様はさらに、ひとたびこのモデルが訓練されれば、予測時にモデルに提供される特定の入力条件に基づいて、このモデルの出力を変化させることができるようになる。
【0023】
機密情報:機密情報とは、データベースの所有者が攻撃者に明らかにしたくないあらゆる情報のことである。もちろん、これは個人情報(名前、住所、その他など)を含むが、契約金額、売上高、その他などの非個人情報も含むことができる。
【0024】
ここで、
図1を見ると、本発明の1つ又は複数の実施形態に基づくコンピュータシステム100が概略的に示されている。コンピュータシステム100を、本明細書に説明されるように、様々な通信技術を利用するコンピューティングデバイス及びネットワークを任意の数及び組み合わせで備える及び/又は採用する電子的コンピュータフレームワークとすることができる。コンピュータシステム100は、容易に拡大縮小可能で、拡張可能で、モジュール式であり得、異なるサービスに変更する又はいくつかの特徴を他の特徴から独立して再構成する能力を有し得る。コンピュータシステム100を、たとえば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ又はスマートフォンとすることができる。いくつかの例において、コンピュータシステム100をクラウドコンピューティングノードとすることができる。コンピュータシステム100を、コンピュータシステムによって実行される、プログラムモジュールなどのコンピュータシステム実行可能命令の一般的な文脈において説明することができる。概して、プログラムモジュールは、特定のタスクを遂行する、又は特定の抽象データ形式を実施するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータシステム100を、通信ネットワークを通じて連結されたリモート処理デバイスによってタスクが遂行される分散型クラウドコンピューティング環境において実施することができる。分散型クラウドコンピューティング環境では、プログラムモジュールを、メモリストレージデバイスを含むローカル及びリモートの両方のコンピュータシステムストレージ媒体に置くことができる。
【0025】
図1に示すように、コンピュータシステム100は、1つ又は複数の中央処理装置(CPU)101a、101b、101cなど(まとめて又は総称的にプロセッサ101と呼ぶ)を有する。プロセッサ101を、シングルコアプロセッサ、マルチコアプロセッサ、コンピューティングクラスタ、又は任意数の他の構成とすることができる。処理回路とも呼ばれるプロセッサ101は、システムバス102を介して、システムメモリ103及び様々な他のコンポーネントに結合される。システムメモリ103は、リードオンリメモリ(ROM)104及びランダムアクセスメモリ(RAM)105を含むことができる。ROM104はシステムバス102に結合されており、基本入力/出力システム(BIOS)、又はコンピュータシステム100の特定の基本機能を制御するユニファイド・エクステンシブル・ファームウェア・インタフェース(UEFI)のようなその後継要素を含むことができる。RAMは、プロセッサ101による使用のためにシステムバス102に結合された読み書きメモリである。システムメモリ103は、動作中に上記命令の動作のための一時的メモリスペースを提供する。システムメモリ103は、ランダムアクセスメモリ(RAM)、リードオンリメモリ、フラッシュメモリ、又は任意の他の適切なメモリシステムを含むことができる。
【0026】
コンピュータシステム100は、システムバス102に結合された入力/出力(I/O)アダプタ106及び通信アダプタ107を備える。I/Oアダプタ106を、ハードディスク108及び/又は任意の他の同様のコンポーネントと通信するスモール・コンピュータシステム・インタフェース(SCSI)アダプタとすることができる。I/Oアダプタ106及びハードディスク108は、本明細書において大容量ストレージ110とまとめて呼ばれる。
【0027】
コンピュータシステム100で実行するためのソフトウェア111を、大容量ストレージ110に格納することができる。大容量ストレージ110は、プロセッサ101によって読み取り可能な有形ストレージ媒体の例であり、ここでソフトウェア111はプロセッサ101によって実行されるための命令として格納され、コンピュータシステム100を、様々な図に関して本明細書の以下に説明されるように動作させる。コンピュータプログラム製品及びそのような命令の実行の例は、本明細書においてより詳細に説明される。通信アダプタ107は、システムバス102を、外側ネットワークであり得るネットワーク112と相互接続し、コンピュータシステム100が他のそのようなシステムと通信できるようにする。一実施形態において、システムメモリ103の一部及び大容量ストレージ110は、オペレーティングシステムをまとめて格納し、そのオペレーティングシステムを、
図1に示される様々なコンポーネントの機能を調整するための任意の妥当なオペレーティングシステムとしてもよい。
【0028】
追加の入力/出力デバイスは、ディスプレイアダプタ115及びインタフェースアダプタ116を介してシステムバス102に接続されているように示されている。一実施形態において、アダプタ106、107、115及び116は、中間バスブリッジ(図示せず)を介してシステムバス102に接続された1つ又は複数のI/Oバスに接続され得る。ディスプレイ119(たとえば、スクリーン又はディスプレイモニタ)は、ディスプレイアダプタ115によってシステムバス102に接続されており、ディスプレイアダプタ115は、グラフィック集約的アプリケーションのパフォーマンスを向上させるグラフィックコントローラ及びビデオコントローラを含み得る。キーボード121、マウス122、スピーカ123などを、インタフェースアダプタ116を介してシステムバス102に相互接続することができ、インタフェースアダプタ116は、たとえば、複数のデバイスアダプタを単一集積回路に統合するスーパーI/Oチップを含むことができる。ハードディスクコントローラ、ネットワークアダプタ及びグラフィックスアダプタなどの周辺デバイスを接続するための適切なI/Oバスは、通常は、ペリフェラル・コンポーネント・インターコネクト(PCI)及びペリフェラル・コンポーネント・インターコネクト・エクスプレス(PCIe)などの一般的なプロトコルを含む。したがって、
図1において構成されているように、コンピュータシステム100は、プロセッサ101の形の処理機能、及びシステムメモリ103及び大容量ストレージ110を含むストレージ機能、キーボード121及びマウス122などの入力手段、及びスピーカ123及びディスプレイ119を含む出力機能を含む。
【0029】
幾つかの実施形態では、通信アダプタ107は、とりわけ、インターネットスモールコンピュータシステムインタフェースなどの任意の適切なインタフェース又はプロトコルを使用してデータを送信することができる。ネットワーク112を、とりわけ、セルラーネットワーク、無線ネットワーク、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)又はインターネットとしてもよい。外部コンピューティングデバイスは、ネットワーク112を通じてコンピュータシステム100に接続され得る。いくつかの例において、外部コンピューティングデバイスを、外部ウェブサーバ又はクラウドコンピューティングノードとしてもよい。
【0030】
図1のブロック図は、コンピュータシステム100が
図1において示されているコンポーネントの全てを含むことを示すようには意図されていないことを理解するべきである。むしろ、コンピュータシステム100は、
図1に示されていない任意の妥当なより少ない又は追加のコンポーネント(たとえば、追加のメモリコンポーネント、エンベデッドコントローラ、モジュール、追加のネットワークインタフェースなど)を含み得る。さらに、コンピュータシステム100に関して本明細書で説明される実施形態を、任意の妥当なロジックを用いて実施することができ、様々な実施形態において、本明細書で言及されるロジックは、任意の適切なハードウェア(たとえば、とりわけ、プロセッサ、組み込みコントローラ、又は特定用途向け集積回路)、ソフトウェア(たとえば、とりわけ、アプリケーション)、ファームウェア、又はハードウェア、ソフトウェア、及びファームウェアの任意の適切な組み合わせを含むことができる。
【0031】
図2は、本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃への防御のためのシステム200のブロック図である。
図2は、コンピュータシステム220及びコンピュータシステム224に結合された1つ又は複数のコンピュータシステム202を示す。コンピュータシステム202は、様々なユーザにサービスを提供するデータセンター内の多数のコンピュータを代表することができる。コンピュータシステム220は、コンピュータシステム202上のリソースへのアクセスを要求する多数のユーザコンピュータ/デバイスを代表することができる。コンピュータシステム100の要素を、コンピュータシステム202、コンピュータシステム220及びコンピュータシステム224内で使用する、及び/又はそれらに統合することができる。
【0032】
図3は、本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃への防御のための、コンピュータによって実施されるプロセス300のフローチャートである。特に、
図3は、本明細書で説明されるように、生成モデル244の訓練プロセスを組み込んでいる。
図4は、本発明の1つ又は複数の実施形態に基づく、生成モデル244を訓練するために無害なユーザを使用するアーキテクチャ例のブロック図を示す。
図3のコンピュータによって実施されるプロセス300を、
図2に示すシステム200、及び/又は
図4に示すコンピュータアーキテクチャを使用して実施することができる。したがって、ここで、コンピュータによって実施されるプロセス300を、
図2に示すシステム200、及び
図4に示すコンピュータアーキテクチャを参照して説明する。
【0033】
ブロック302で、コンピュータシステム202上のソフトウェアアプリケーション204は、コンピュータシステム220から、標的とされたデータベース208に対するクエリ230を受信するように構成される。クエリ230は、標的とされたデータベース208を対象とするデータベースクエリである。ユーザは、コンピュータシステム220からクエリ230を送信することができる。標的とされたデータベース208が例として利用されているが、クエリ230は、標的とされたデータベース208、及び/又はメモリ206内の他のメモリ空間を含むメモリ206の任意の部分に対するものであってもよい。コンピュータシステム220は、ユーザのためのシステムである。いくつかの例示的なシナリオでは、ユーザは無害なユーザであってもよい。この文脈では、無害なユーザとは、たとえば、コンピュータシステム202の方針及び手順に従って、承認された活動のために通常の又は承認された方法でコンピュータシステム202とインタラクトしているユーザである。コンピュータシステム220は、有線及び/又は無線ネットワークを通じてコンピュータシステム202と通信することができる。コンピュータシステム220を使用して、ユーザは、コンピュータシステム202のソフトウェアアプリケーション204と直接インタフェースし、及び/又はクライアントアプリケーション222を使用してソフトウェアアプリケーション204とインタフェースすることができる。ソフトウェアアプリケーション204は、
図1で説明したように、1つ又は複数のプロセッサ101上で実行されるソフトウェア111として実施され得る。同様に、クライアントアプリケーション222を、1つ又は複数のプロセッサ101上で実行するように構成されたソフトウェア111を使用して実施することができる。クライアントアプリケーション222は、クッキー、プラグイン、シンクライアントなどを含むことができ、クライアントアプリケーション222は、コンピュータシステム202にアクセスするコンピュータソフトウェアの一部として機能することができる。クエリ230はクレデンシャルを含むことができ、及び/又はクレデンシャルはクエリ230に対して以前に提出されている可能性がある。クレデンシャルは、たとえば、ユーザ名及びパスワード、アカウント番号、トークン、人物の身体的特徴などを含む。標的とされたデータベース208は、多数のデータベースを代表することができる。標的とされたデータベース208は、「ビッグデータ」とも呼ばれる数百、数千及び/又は数百万のドキュメントを含むことができる。1つ又は複数の実施形態によれば、標的とされたデータベース208の巨大なサイズは、たとえば、コンピュータ実行可能命令を使用する(コンピュータシステム202などの)機械による管理、処理、及び検索を必要とし、標的とされたデータベース208を、本明細書で説明されるように、人間の心の中で実際に管理する、格納する、分析する及び/又は処理することはできない。
【0034】
図3を参照すると、ブロック304で、ソフトウェアアプリケーション204は、クエリ230が不正か無害かを検出するように構成される。
図3において、クエリ230は無害であると判定され、したがって、ユーザは無害なユーザと呼ばれる。ソフトウェアアプリケーション204は、任意の適切な技術を使用して、クエリが無害であるか不正であるかを判定することができる。たとえば、ソフトウェアアプリケーション204は、1つ又は複数の不正クエリ検出器240を含む、それと統合する及び/又はそれを採用することができる。
図4はユーザから不正クエリ検出器へのフロー401を示し、フロー402は、標的とされたデータベース及び生成モデル244へ訓練のために送信されている無害なクエリを示す。
図6では、破線のボックスは使用されていない。不正クエリ検出器240は、1つ又は複数のプロセッサ101上で実行されるソフトウェアを含むことができ、及び/又は特定用途向け集積回路(ASIC)を含むことができる。不正クエリ検出器は、様々な侵入アルゴリズムを含むことができる。不正クエリ検出器240は、クラスタリングアルゴリズム、外れ値アルゴリズム及びその他を使用して、不正なクエリを検出し、無害なクエリから区別することができる。不正クエリ検出器240を、コマンドをデータベースシステムにインジェクトする試み、又はそうでなければトランザクションを起動させてデータベースシステム内の記録へ特権なくアクセスを獲得しようとする試みを検出するように構成することができる。不正クエリ検出器240を使用して、パターンベースのルールを採用するためのルールベースのエンジンの使用を含む既知の攻撃パターンのリストに対してネットワークトラフィック(すなわち、クエリ)を照合することができる。不正クエリ検出器240は、ウェブベースの侵入を検出するための異常ベース方法を採用することができ、これには、発見的手法又はデータマイニング技術に基づいて異常を検出するためのログファイル、又はプロトコルレベルの情報の分析が含まれる。不正クエリ検出器240は、自然言語処理(NLP)の一部としてツリーカーネルベースの学習を含む他の分析技術を含むことができる。1つ又は複数の実施形態では、不正なクエリを検出するために機械学習モデルを利用できる。1つ又は複数の実施形態は、不正クエリ検出器に機械学習を利用しない場合がある。1つ又は複数の実施形態は、標的とされたデータベースに対する攻撃者又は攻撃の存在、又はデータベースがホストされているネットワーク/環境に対する攻撃者又は攻撃の存在を検出することができる任意の侵入検出システムを利用することができる。言い換えると、攻撃者はまだデータベースとインタラクトしていないかもしれないが、他のシステムで遂行された動作に基づいて不正であると認識されており、それゆえに、彼らがシステムとのインタラクトを開始する時までに、システムは、それらが不正であることを既に知っている。
【0035】
図3を参照すると、ブロック306で、コンピュータシステム202上のソフトウェアアプリケーション204は、標的とされたデータベース208から応答232を生成し、その応答232をコンピュータシステム220に返すように構成される。応答232は、データベース応答と呼ぶこともできる。
図4は、フロー403及び404での訓練のために、生成モデル244も含めてその無害なユーザに返される無害データベース応答の図を示す。ソフトウェアアプリケーション204を使用して、標的とされたデータベース208は、応答232を生成することができる。1つ又は複数の実施形態では、クエリを、標的とされたデータベースから結果(すなわち、応答)を要求する構造化クエリ言語(SQL)ステートメントとして解釈又は使用することができる。SQLは、データベースのデータを格納する、操作する、及び取得するための標準言語である。
【0036】
生成モデル244の訓練の一部として、ブロック308で、ソフトウェアアプリケーション204は、無害なユーザのために、クエリ230に対する応答232を匿名化するように構成される。ソフトウェアアプリケーション204は、1つ又は複数のデータ匿名化モジュール242を含む、それと統合する、及び/又はそれを採用することができる。データ匿名化モジュール242は、1つ又は複数のプロセッサ101上で実行されるソフトウェアアプリケーション及び/又は特定用途向け集積回路を含むことができる。
図4のフロー404に概して示されているように、データ匿名化は一種の情報サニタイズであり、その意図はプライバシー保護である。これは、データが説明する人物は匿名のままであり、データ自体は真正でも本物でもないように、データセットから個人を特定できる情報を削除するプロセスである。データ匿名化モジュール242は、様々なマスキング技術を使用して、応答232のデータを異なる値に置き換えると共に、標的とされたデータベース208からの真正のデータ(すなわち、元のデータ)のフォーマット及び構造を保存することができる。生成モデル244の訓練の一部として、ブロック310で、ソフトウェアアプリケーション204は、
図4のフロー402及び404に概して示されているように、クエリ230及びその対応する匿名化応答を訓練のために生成モデル244に転送するように構成される。ブロック312で、ソフトウェアアプリケーション204は、
図4のフロー405に概して示されているように、無害なクエリごとにこのプロセス300を繰り返して、生成モデル244の、クエリ、及びそれらの関連する匿名化応答のデータセットを構築するように構成される。生成モデル244を、機械学習フレームワークの一種である敵対的生成ネットワーク(GAN)とすることができる。訓練セットが与えられると、生成モデルは、訓練セットと同じ統計値を用いて新しいデータを生成することを学習する。訓練セットは、無害なクエリ、及び標的とされたデータベース208からのそれらの対応する匿名化応答を含む。生成モデルに使用できる例示的なアルゴリズムは、混合ガウスモデル(及び他の種類の混合モデル)、隠れマルコフモデル、確率文脈自由文法、ベイジアンネットワーク(たとえば、ナイーブベイズ、自己回帰モデルなど)、平均化一依存性推定器(averaged one-dependence estimators)、潜在的ディリクレ配分法、変分オートエンコーダ、敵対的生成ネットワーク、フローベース生成モデルなどを含むが、これらに限定されない。条件付きGANに関しては、GANは、教師なし学習、半教師あり学習、完全教師あり学習及び強化学習を使用できる。1つ又は複数の実施形態では、GANは、それ自体が動的に更新され得る識別器による「間接」訓練を含むことができる。生成器を訓練して、識別器をだますことができる。これにより、GANモデルは教師なしの方法で学習できる。生成ネットワークは候補を生成し、他方で、識別ネットワークはそれらを評価する。コンテストは、データ分布の観点から運営される。生成ネットワークは、潜在空間から関心のあるデータ分布へのマッピングを行うように学習し、他方で、識別ネットワークは、生成器が発生させた候補を真のデータ分布から区別する。生成ネットワークの訓練の目的は、識別ネットワークのエラー率を上げる(すなわち、合成されていない(真のデータ分布の一部である)と識別器が考える新規候補を発生させることにより、識別器ネットワークを「だます」)ことである。既知のデータセットは、識別器の初期訓練データとして機能する。GANの訓練では、GANが許容可能な精度を達成するまで、(たとえば、無害なクエリ、及び標的とされたデータベース208からのそれらの対応する匿名化応答である)訓練データセットからのサンプルをそれに提示することを伴う。生成器は、識別器をだますことに成功したかどうかに基づいて訓練を行う。その後、生成器によって合成された候補は、識別器によって評価される。生成器は通常、デコンボリューションニューラルネットワークであり、識別器は一般にコンボリューションニューラルネットワークである。1つ又は複数の実施形態は、条件付きGANモデルの使用によるハニーポットデータベース応答の生成について述べているが、1つ又は複数の実施形態は、条件付きGANを使用しなくてもよく、現実的な見せかけのデータを含むハニーポットデータベース応答を発生させることができる任意のメカニズムを採用できることを理解するべきである。
【0037】
図5は、本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃に対する防御のための、コンピュータによって実施されるプロセス500のフローチャートである。
図5のコンピュータによって実施されるプロセス500を、
図2に示すシステム200を使用して実施することができる。特に、生成モデル244は、クエリ(不正なクエリを含む)を受信するように訓練されており、攻撃者の以前の履歴に基づいた偽の応答である見せかけの応答を提供する。不正なユーザ、攻撃者、非承認ユーザなどを交換可能に使用することができる。
図6は、本発明の1つ又は複数の実施形態に基づいて、標的とされたデータベースへのアクセスを得ようとする不正なユーザ、及び攻撃を阻止するための動的ハニーポットデータベース応答生成の使用のアーキテクチャ例のブロック図を示す。破線のボックスは、
図6において使用されていない機能を表している。
図5のプロセス500を、
図2及び
図6を参照して説明する。ブロック502で、コンピュータシステム202上のソフトウェアアプリケーション204は、コンピュータシステム220から、標的とされたデータベース208を対象とするクエリ230を受信するように構成される。ここでも、ユーザは、コンピュータシステム220からクエリ230を送信することができる。
【0038】
図5を参照すると、ブロック504で、ソフトウェアアプリケーション204は、クエリ230が不正であることを検出するように構成される。
図6は、ユーザから不正クエリ検出器へのフロー601を示し、他方で、フロー602は不正なクエリの検出を例示する。
図5では、クエリ230は不正である及び/又は非承認であると判定されており、したがって、ユーザ及びクエリは、ソフトウェアアプリケーション204によって不正なユーザとして指定され、それに応じて処理される。クエリ230が不正であることを検出すると、ソフトウェアアプリケーション204は、この不正なクエリを、攻撃者として指定されたこのユーザの攻撃者固有のクエリ及び応答履歴記録246に格納するように構成される。攻撃者固有のクエリ及び応答履歴記録246は、特定の攻撃者(すなわち、ユーザ)のデータベースクエリ及び対応する応答のログを格納するシステム(たとえば、データベースシステム)である。そのようなデータベース応答は、標的とされたデータベースの応答及び/又は見せかけの応答(すなわち、偽のハニーポット応答)の両方を含むことができる。また、攻撃者固有のクエリ及び応答履歴記録246は、最初は無害であると認識されていた攻撃者検出前のクエリ、及びそれらの対応する本物の(たとえば、
図3及び
図4にあるような)標的データベース応答を含む。同様に、攻撃者固有のクエリ及び応答履歴記録246は、攻撃者検出後のクエリ、及びそれらの対応する見せかけのデータベース応答(すなわち、ハニーポット応答)を含む。1つ又は複数の実施形態では、不正クエリ検出器240は、ユーザが不正であると分類される前に満たされなければならない閾値を有し得る。最初は、ユーザは、承認されない方法でコンピュータシステム202とインタラクトし、承認されない活動(たとえば、クエリ)に向かって徐々に増大することができるが、これらの全ては、ソフトウェアアプリケーション204によって監視される。不正なユーザとは、たとえば、コンピュータシステム202の方針及び手順に従っていない異常又は承認されない方法でコンピュータシステム202とインタラクトしているユーザである。ソフトウェアアプリケーション204によってユーザが不正である又は非承認であるとして指定される(たとえば、不正クエリ検出器240の閾値を満たす)と、そのユーザの全ての過去の履歴及び現在の履歴は、本明細書で説明されるように、参照のために攻撃者固有のクエリ及び応答履歴記録246に格納される。上記のように、クエリ230はクレデンシャルを含むことができ、及び/又はクレデンシャルはクエリ230に対して以前に提出されている可能性があり、クレデンシャルはユーザを特定する。これらのクレデンシャルを利用して、コンピュータシステム202とのユーザの過去及び現在のインタラクトを追跡することができる。ユーザを特定及び追跡するためのユーザクレデンシャルに加えて、ユーザを、その人に関連付けられたトークン、インターネットプロトコル(IP)アドレスなどによって特定及び追跡することができ、これらは全て、攻撃者固有のクエリ及び応答履歴記録246にユーザに対して格納される。ユーザの全てのユーザ情報をそのユーザにマッピングし戻すことができるように、マッピング248を、ユーザに関連付けられたクレデンシャルを含む全てのユーザ情報をエイリアスと共に含む表とすることができる。ソフトウェアアプリケーション204は、そのユーザの攻撃者固有のクエリ及び応答履歴記録246を作成し、更新し、及びアクセスするときに、マッピング248を参照することができる。
【0039】
図5を参照すると、ブロック506で、以前に訓練された生成モデル244を使用して、コンピュータシステム202上のソフトウェアアプリケーション204は、この特定の不正ユーザの攻撃者固有のクエリ及び応答履歴記録246に条件付けられた(すなわち、それに基づく)、不正なクエリへの応答232を(標的とされたデータベース208にアクセスせずに)生成するように構成される。この場合、応答232は、ハニーポット応答とも呼ばれる見せかけの応答であり、その見せかけの応答は、標的とされたデータベース208に含まれる機密データを含まない偽の応答である。
図6は、生成モデルに提供される攻撃者固有のクエリ及び応答履歴情報のフロー603を示す。
【0040】
見せかけの応答を生成するとき、不正なユーザが以前に提出したあらゆるクエリと整合する応答を、そのユーザが受信するような方法で、見せかけの応答(すなわちハニーポットデータベース応答)は発生する。たとえば、不正なユーザが以前に提出した(提出時には無害なユーザであった可能性がある)クエリは、「テーブルAから*を数えよ」であった。そのクエリに対して受信した以前の回答は「4」であった。このユーザの攻撃者固有のクエリ及び応答履歴記録246に基づいて、この不正なユーザによって提出されるいかなる今後のクエリも、「テーブルA」に存在する行の総数は4に等しいか、それより小さくしかならない応答を受信する。このユーザの以前の全てのクエリ及び応答に対して応答を整合させておくことにより、標的とされたデータベース208の本物の標的とされたデータとは対照的に、ソフトウェアアプリケーション204は、見せかけのデータ(すなわち、ハニーポットデータ)が提供されたことに不正なユーザが気づかないことを保証する。別の例として、不正なユーザが、1~10行の全てのデータを消去するクエリを以前に提出した場合、このユーザの攻撃者固有のクエリ及び応答履歴記録246に基づいて、1~10行に関してこの不正なユーザによって提出されるいかなる今後のクエリも、1~10行は空であることを示す応答を受信する。ソフトウェアアプリケーション204は、同時に(たとえば、リアルタイム及び/又はほぼリアルタイムで)、異なる不正なユーザに、ユーザがそれぞれ提出した以前のクエリに固有の(独特の)見せかけの応答をそれぞれ生成し、提供するように構成され、これにより、同時攻撃者からの防御が可能になる。
【0041】
図5を参照すると、ブロック508で、コンピュータシステム202上のソフトウェアアプリケーション204は、不正なクエリに応答232(すなわち、見せかけの応答)を返し、ブロック510で、見せかけの応答と共にそれに対応する不正なクエリを、この不正なユーザの攻撃者固有のクエリ及び応答履歴記録246に格納するように構成される。1つ又は複数の実施形態では、匿名化モジュール242を利用して、不正なユーザに返す前のさらなる予防策として、見せかけの応答内のデータを匿名化することができる。
図6は、今後のクエリに備えて、不正なユーザへ戻る、及び攻撃者固有のクエリ、及び不正なユーザに固有な応答履歴記録へ戻る、見せかけの応答のフロー604を示す。コンピュータシステム224上のインシデント対応チームは、攻撃に関連するデータを収集することができる。
【0042】
本発明の1つ又は複数の実施形態によれば、技術的な利点及び利益は、個人情報を含むデータベースを攻撃者から保護できるシステム及び方法を含む。このシステムはいかなるハニーポットデータベース自体の作成も必要としないが、代わりに最小限の構成努力を使用する。システムは、それが検出されたことを攻撃者が気づくのをさらに遅らせることができ、こうして、攻撃者が偽のデータベース応答で忙しい状態に保たれている間、攻撃されたシステムを活用して、攻撃者の挙動を安全に監視する。生成モデルを使用すると、無制限の数の攻撃者固有のハニーポットデータベース応答(すなわち、見せかけの応答)が提供される。もし攻撃者が見せかけのデータセットを一般に開示した場合、この手法により、調査員は公開された見せかけのデータセットを、それを生成した特定のハニーポットデータベースシステム、つまり特定の攻撃者にリンクできる。また、生成モデルを使用することで、システムは攻撃者ごとに(独自に)無限量のデータを発生させて、その攻撃者を忙しい状態に保つ。システムは、インシデント対応チームに、攻撃がどのように遂行され、データベース内のどの情報が特に標的にされたかについての法廷用記録を提供することができる。
【0043】
図7は、本発明の1つ又は複数の実施形態に基づく動的ハニーポットデータベース応答生成による、標的型のデータベース攻撃に対して防御するための、コンピュータによって実施される方法700のフローチャートを示す。
図7のコンピュータによって実施される方法700を、
図2に示すシステム200を使用して実施することができる。ブロック702で、コンピュータシステム202のソフトウェアアプリケーション204は、標的とされたデータベース208を対象とするクエリ230(たとえば、不正なクエリ)を受信するように構成される。ブロック704で、コンピュータシステム202のソフトウェアアプリケーション204は、クエリ230が非承認ユーザからのもの(たとえば、不正なユーザからの不正なクエリ)であることを判定するように構成される。ブロック706で、コンピュータシステム202のソフトウェアアプリケーション204は、モデル(たとえば、生成モデル244)によって生成された応答232(たとえば、ハニーポット応答である見せかけの応答)を非承認ユーザへ返すように構成され、応答232は、クエリ230を履行するように独特にかつ動的に(リアルタイム及び/又はほぼリアルタイムで)生成され、モデル(たとえば、生成モデル244)は、非承認ユーザに返された以前のあらゆる応答と整合する応答を生成する(たとえば、攻撃者固有のクエリ及び応答履歴記録246内の以前の応答及びクエリと整合する見せかけの応答を(生成モデル244によって)生成する)ように構成されている。
【0044】
モデル(たとえば、生成モデル244)は、標的とされたデータベース208からの真正の応答のデータと整合する構造及びフォーマットの見せかけの応答のデータを合成するように構成される。たとえば、クエリがアカウント情報を要求し、標的とされたデータベース208が標準的に9桁の数字としてアカウント情報を提供する場合、生成モデル244は、同様に、9桁の数字を有する見せかけの応答を提供するように構成される。真正の応答は、標的とされたデータベース208に由来すると共に、そこに格納されたデータを含む応答である。対照的に、生成モデル244によって生成された見せかけの応答は、標的とされたデータベース208に由来すると共に、そこに格納されたデータを含まない。モデルは、履歴記録(たとえば、攻撃者固有のクエリ及び応答履歴記録246)にアクセスするように構成され、履歴記録は、非承認ユーザに関連付けられた以前のあらゆるクエリ、及び非承認ユーザに返された以前のあらゆる応答を含む。非承認ユーザに返された以前のあらゆる応答と整合する応答を生成する段階は、見せかけの応答で生成されたデータが、同じユーザに対する以前のあらゆる応答の以前のデータと競合しないことを確認する段階を含む。非承認ユーザへの応答は、非承認ユーザから受信した以前のあらゆるクエリに基づいてモデルによって生成される。クエリ及び返された応答は、非承認ユーザに関連付けられた履歴記録(たとえば、攻撃者固有のクエリ及び応答履歴記録246)に格納される。標的とされたデータベース208は機密情報を含み、モデルは機密情報を除外したデータを生成するように構成されている。1つ又は複数の実施形態では、ソフトウェアアプリケーション204は、匿名化モジュール242を利用して、見せかけの応答を匿名化し、生成モデル244が、標的とされたデータベース208内の機密情報を有する見せかけの応答(すなわち、ハニーポット応答)を作成するあらゆる可能性又は不測の事態を排除することができる。
【0045】
本開示はクラウドコンピューティングについての詳細な説明を含むが、本明細書で記載される教示内容の実施は、クラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られている又は今後に開発される任意の他の種類のコンピューティング環境と共に実施されることが可能である。
【0046】
クラウドコンピューティングは、最小限の管理労力又はサービスのプロバイダとのインタラクトで、迅速にプロビジョニング及びリリースができる構成可能コンピューティングリソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの便利なオンデマンド型ネットワークアクセスを可能にするサービスデリバリモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含んでもよい。
【0047】
以下が特性である。
【0048】
オンデマンドのセルフサービス:クラウド消費者は、サービスプロバイダとの人的インタラクトを必要とすることなく必要に応じて自動的に、サーバ時間及びネットワークストレージなどのコンピューティング機能を一方的にプロビジョニングすることができる。
【0049】
幅広いネットワークアクセス:ネットワーク経由で機能を利用可能であり、異種のシンクライアントプラットフォーム又はシッククライアントプラットフォーム(たとえば、携帯電話、ラップトップ、及びPDA(登録商標))による使用を促進する標準メカニズムを通じて機能にアクセスする。
【0050】
リソースのプール化:プロバイダのコンピューティングリソースをプール化して、マルチテナントモデルを使用する複数の消費者にサービスが提供されており、複数の異なる物理リソース及び仮想リソースが需要に従って動的に割り当て及び再割り当てされる。消費者は、概して、提供されるリソースの厳密な位置を制御も、又はそれを知ることもできないが、より高い抽象化レベル(たとえば、国、州、又はデータセンタ)では位置を指定可能である点で、位置的独立の意味がある。
【0051】
迅速な順応性:機能を迅速かつ順応的に、場合によっては自動的にプロビジョニングして素早くスケールアウトし、迅速にリリースして素早くスケールインすることができる。消費者にとって、多くの場合、プロビジョニングに使用できる能力は無制限に表示され、いつでも任意の数量で購入できる。
【0052】
測定サービス:クラウドシステムは、サービスの種類(たとえばストレージ、処理、帯域幅、及びアクティブなユーザアカウント)に適したある程度の抽象化レベルで計測機能を活用することにより、リソース使用を自動的に制御及び最適化する。リソースの使用量を監視、制御、報告できるため、利用したサービスのプロバイダと消費者の両方に透明性を提供できる。
【0053】
以下がサービスモデルである。
【0054】
ソフトウェア・アズ・ア・サービス(SaaS):消費者に提供される機能は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブブラウザ(たとえば、ウェブベースのメール)などのシンクライアントインタフェースを介して様々なクライアントデバイスからアクセスできる。消費者は、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は個々のアプリケーション能力をも含む、基盤となるクラウドインフラストラクチャを管理も、又は制御もしないが、限定されたユーザ固有のアプリケーション構成設定が例外になることはあり得る。
【0055】
プラットフォームアズアサービス(PaaS):消費者に提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成された、消費者が作成又は取得したアプリケーションを、クラウドインフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む基礎となるクラウドインフラストラクチャを管理も、又は制御もしないが、展開されたアプリケーション、及び、場合によっては、環境構成をホストするアプリケーションを制御できる。
【0056】
サービスとしてのインフラストラクチャ(IaaS):消費者に提供される機能は、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティングリソースをプロビジョニングすることであり、消費者は、オペレーティングシステム及びアプリケーションを含むことが可能な任意のソフトウェアを展開及び実行することができる。消費者は基盤となるクラウドインフラストラクチャを管理も、又は制御もしないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御でき、場合によっては選ばれたネットワークコンポーネント(たとえば、ホストファイアウォール)を限定的に制御できる。
【0057】
以下が展開モデルである。
【0058】
プライベートクラウド:クラウドインフラストラクチャが、1つの組織のためだけに運用される。これは組織又はサードパーティによって管理され、オンプレミス又はオフプレミスに存在する場合がある。
【0059】
コミュニティクラウド:クラウドインフラストラクチャが、いくつかの組織により共有されており、共通の関心事(たとえばミッション、セキュリティ要件、方針、及び法令遵守に関わる考慮事項)を有する特定のコミュニティをサポートする。これは組織又はサードパーティによって管理され、オンプレミス又はオフプレミスに存在する場合がある。
【0060】
パブリッククラウド:クラウドインフラストラクチャが、一般大衆又は大規模な業界団体に対して利用可能にされており、クラウドサービスを販売する組織により所有されている。
【0061】
ハイブリッドクラウド:クラウドインフラストラクチャは、独自のエンティティのままであるが、データ及びアプリケーションの移植性(たとえば、クラウド間の負荷分散のためのクラウドバースト)を可能にする標準技術又は独自技術によって互いに結び付けられた2つ又はそれより多くのクラウド(プライベート、コミュニティ、又はパブリック)の合成である。
【0062】
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性を重視したサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードのネットワークを含むインフラストラクチャが存在する。
【0063】
ここで
図8を参照すると、例示的なクラウドコンピューティング環境50が示されている。図示のように、クラウドコンピューティング環境50は、1つ又は複数のクラウドコンピューティングノード10を備えており、これらを相手に、クラウド消費者が使用するローカルコンピューティングデバイス(たとえば、携帯情報端末(PDA)又は携帯電話54A、デスクトップコンピュータ54B、ラップトップコンピュータ54C及び/又は自動車コンピュータシステム54Nなど)は通信することができる。ノード10は互いに通信してもよい。それらを、1つ又は複数のネットワーク(上記で説明したようなプライベートクラウド、コミュニティクラウド、パブリッククラウド及び/又はハイブリッドクラウド、又はそれらの組み合わせなど)において、物理的又は仮想的にグループ化してもよい(図示せず)。これにより、クラウドコンピューティング環境50は、インフラストラクチャ、プラットフォーム及び/又はソフトウェアをサービスとして提供できるようになり、そのために、クラウド消費者がローカルコンピューティングデバイス上にリソースを維持する必要はない。
図8に示すコンピューティングデバイス54A~Nの種類は例示のみを意図しており、コンピューティングノード10及びクラウドコンピューティング環境50は任意の種類のネットワーク及び/又はネットワークアドレス可能な接続を通して(たとえば、ウェブブラウザを使用して)任意の種類のコンピュータ化デバイスと通信できることが理解される。
【0064】
ここで
図9を参照すると、クラウドコンピューティング環境50(
図8)によって提供されるひと揃いの機能的抽象化層が示されている。
図9に示すコンポーネント、層、及び機能は、例示のみを意図するものであり、本発明の実施形態がそれに限定されないことを、事前に理解されるべきである。図示のように、以下の層及び対応する機能が提供される。
【0065】
ハードウェア層及びソフトウェア層60は、ハードウェア及びソフトウェアコンポーネントを備える。ハードウェアコンポーネントの例には、メインフレーム61、RISC(縮小命令セットコンピュータ)アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、ストレージデバイス65、及びネットワーク及びネットワークコンポーネント66が含まれている。いくつかの実施形態では、ソフトウェアコンポーネントには、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68が含まれる。
【0066】
仮想化層70が提供する抽象化層から提供され得る仮想エンティティに例には、仮想サーバ71、仮想ストレージ72、仮想プライベートネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティングシステム74、及び仮想クライアント75がある。
【0067】
一例では、管理層80は、以下で説明する機能を提供してもよい。リソースプロビジョニング81では、クラウドコンピューティング環境内でタスクを遂行するのに利用されるコンピューティングリソース及び他のリソースの動的調達を提供する。計量及び価格設定82は、リソースがクラウドコンピューティング環境内で利用される際のコスト追跡、及びこれらのリソースの消費に対する勘定又は請求を提供する。一例では、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでもよい。セキュリティが、クラウドの消費者とタスクの身元証明、及びデータとその他のリソースの保護を提供する。ユーザポータル83は、消費者及びシステム管理者にクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理84は、必要なサービスレベルに適合するように、クラウドコンピューティングリソースの割り当て及び管理を提供する。サービスレベルアグリーメント(SLA)の計画及び履行85は、SLAに従って将来の必要性が予想されるクラウドコンピューティングリソースの事前編成及び獲得を提供する。
【0068】
ワークロード層90は、クラウドコンピューティング環境を利用し得る機能の例を提供する。この層から提供することができるワークロード及び機能の例には、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育提供93、データ解析処理94、トランザクション処理95、及びワークロード及び機能96で実施されるソフトウェアアプリケーション(たとえば、ソフトウェアアプリケーション204、不正クエリ検出器240、匿名化モジュール242、生成モデル244など)が含まれる。また、ソフトウェアアプリケーションは、リソースプロビジョニング81と共に機能し、及び/又はそれと統合され得る。
【0069】
本発明の様々な実施形態は、関連図面を参照して本明細書に説明される。本発明の代替的な実施形態は、本発明の範囲から逸脱することなく工夫され得る。以下の説明及び図面における要素間で、様々な接続関係及び位置関係(たとえば、上方、下方、隣接など)が記載される。これらの接続関係及び/又は位置関係は、別途指定がない限り、直接的又は間接的であり得、本発明はこの点で限定的であることは意図していない。したがって、エンティティ間の連結は、直接的又は間接的な連結を指してよく、エンティティ間の位置関係は、直接的又は間接的な位置関係であり得る。さらに、本明細書で説明される様々なタスク及びプロセス段階は、本明細書で詳細に説明されない追加の段階又は機能を有する、より広範囲の手順又はプロセスに組み込まれ得る。
【0070】
本明細書で説明される方法のうちの1つ又は複数は、以下の技術:データ信号に対して論理機能を実施するための論理ゲートを有するディスクリート論理回路、妥当な組み合わせ論理ゲートを有する特定用途向け集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などのいずれか又はその組み合わせを用いて実施することができ、これらの各技術は、当技術分野で周知である。
【0071】
簡潔さのために、本発明の態様を作成及び使用することに関連する従来の技術は、本明細書で詳細に説明されても、又はされなくてもよい。特に、コンピューティングシステム、及び本明細書で説明される様々な技術的特徴を実施するための具体的なコンピュータプログラムの様々な態様は周知である。したがって、簡潔の目的で、多くの従来の実施の詳細は本明細書では簡潔にのみ言及されるか、あるいは、周知のシステム及び/又はプロセスの詳細を提供することなく完全に省略される。
【0072】
いくつかの実施形態では、様々な機能又は動作は、所与の位置で行われるか、及び/又は1つ又は複数の装置又はシステムの動作と関連して行われるかになり得る。いくつかの実施形態では、所与の機能又は動作の一部が第1のデバイス又は位置で遂行されてもよく、残りの機能又は動作が1つ又は複数の追加のデバイス又は位置で遂行されてもよい。
【0073】
本明細書に使用される用語は、特定の実施形態を説明することのみを目的とし、限定を意図するものではない。本明細書の中で使用されるとき、文脈により明確に別のことが指示される場合を除き、"a"、"an"、及び"the"といった単数形の表記は複数形も含むものとして意図される。「備える(comprises)」及び/又は「備える(comprising)」の用語は、本明細書で使用される場合、明示された特徴、整数、段階、動作及び/又は要素コンポーネントの存在を指定するが、1つ又は複数の他の特徴、整数、段階、動作、要素のコンポーネント及び/又はそのグループの存在又は追加を除外するわけではないことをさらに理解されたい。
【0074】
以下の特許請求の範囲における、あらゆるミーンズプラスファンクション要素又はステッププラスファンクション要素の対応する構造、材料、動作、及び同等物は、具体的に請求される他の請求された要素と組み合わせて機能を遂行するための任意の構造、材料、又は動作を含むことが意図されている。本開示を例示及び説明の目的で提示したが、網羅的であることも、開示された形態に限定されることも意図されない。本開示の範囲から逸脱することなく、多くの修正及び変形が当業者には明らかであろう。実施形態は、本開示の原理及び実際の適用を最も良好に説明すると共に、想定される特定用途に適した様々な修正を加えた様々な実施形態について当業者が本開示を理解することを可能にするために、選択及び説明された。
【0075】
本明細書に図示される図面は、例示的である。本開示の範囲から逸脱することなく、そこに記載されている図又は動作には多くの変形があり得る。たとえば、動作は異なる順序で遂行され得、又は、動作は追加、削除又は修正され得る。また、「結合される(coupled)」という用語は、2つの要素間に信号経路があることを表し、それらの間に介在する要素/接続のない要素間の直接接続を暗示するものではない。これらの変形の全ては、本開示の一部とみなされる。
【0076】
以下の定義及び略語は、特許請求の範囲及び明細書の解釈に使用される。本明細書において使用されるように、「備える(comprises)」、「備える(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(having)」、「含む(contains)」、又は「含む(containing)」という用語、又はそれらの他のあらゆる変形は、非排他的包含をカバーすることを意図している。たとえば、要素のリストを含む組成物、混合物、プロセス、方法、物品、又は装置は、必ずしもこれらの要素のみに限定されず、明示的に列挙されていない、又はそのような組成物、混合物、プロセス、方法、物品、又は装置に固有の他の要素のリストを含んでもよい。
【0077】
さらに、「例示的」という用語は、本明細書において、「例、インスタンス、又は例示として機能する」ことを意味するために使用される。本明細書において「例示的」として説明される任意の実施形態又は設計は、必ずしも、他の実施形態又は設計よりも好ましい又は有利であると解釈されるものではない。「少なくとも1つ」及び「1つ又は複数」という用語は、1以上の任意の整数、すなわち、1、2、3、4などを含むように理解され得る。「複数」という用語は、2以上の任意の整数、すなわち、2、3、4、5などを含むように理解され得る。「接続」という用語は、間接的な「接続」及び直接的な「接続」の両方を含み得る。
【0078】
「約(about)」、「実質的に(substantially)」、「およそ(approximately)」という用語及びそれらの変形は、出願時に利用可能な機器に基づいて特定の数量の測定に関連付けられた誤差の程度を含むことを意図している。たとえば、「約」とは、所与の値の、±8%又は5%、又は2%の範囲を含み得る。
【0079】
本発明は、任意の可能な技術的詳細レベルで統合化されたシステム、方法及び/又はコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体を含んでもよい。
【0080】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のために命令を保持及び格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、たとえば、電子ストレージデバイス、磁気ストレージデバイス、光学ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は上述のものの任意の好適な組み合わせであってもよいが、これらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非包括的なリストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカード又は命令が記録されている溝内の隆起構造などの機械的にエンコードされたデバイス、及び、前述のものの任意の好適な組み合わせを含む。コンピュータ可読ストレージ媒体は、本明細書において使用される場合、電波又は他の自由に伝播する電磁波、導波路又は他の伝送媒体を通じて伝播する電磁波(たとえば、光ファイバケーブルを通過する光パルス)、又はワイヤを通じて伝送される電気信号などの一過性の信号それ自体とは解釈されるべきではない。
【0081】
本明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスにダウンロードされてもよく、あるいは、ネットワーク、たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部ストレージデバイスにダウンロードされてもよい。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを備え得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワークインタフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体へのストレージのために転送する。
【0082】
本発明の動作を実行するコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データであってもよく、Smalltalk(登録商標)又はC++などといったオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語といった手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述したソースコード又はオブジェクトコードであってもよい。コンピュータ可読プログラム命令を、スタンドアロンのソフトウェアパッケージとして、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上かつ部分的に遠隔のコンピュータ上で、又は、全体的に遠隔のコンピュータ又はサーバ上で実行することができる。後者のシナリオでは、遠隔のコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてもよく、又はその接続は、外部コンピュータに対して(たとえば、インターネットサービスプロバイダを使用してインターネットを介して)行われてもよい。いくつかの実施形態において、たとえば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、又はプログラマブルロジックアレイ(PLA)を含む電子回路は、本発明の態様を遂行するため、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行し得る。
【0083】
本発明の態様は、本発明の実施形態に従う方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して本明細書に記載される。フローチャート図及び/又はブロック図の各ブロック、及びフローチャート図及び/又はブロック図におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実施することができることは理解されよう。
【0084】
これらのコンピュータ可読プログラム命令は、マシンを生成するように汎用コンピュータ、専用コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサに提供され、その結果、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定されている機能/動作を実施する手段を作成するようにしてよい。これらのコンピュータ可読プログラム命令を、コンピュータ、プログラム可能なデータ処理装置及び/又は他のデバイスを特定の様式で機能するよう方向付けることができるコンピュータ可読ストレージ媒体に格納することで、命令を格納したコンピュータ可読ストレージ媒体が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作の態様を実施する命令を含む製造品を備えるようにしてもよい。
【0085】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、又は、他のデバイスにロードして、コンピュータ、他のプログラマブル装置、又は、他のデバイス上で一連の動作段階を遂行させることでコンピュータによって実施されるプロセスを生成することもでき、これにより、コンピュータ、他のプログラマブル装置、又は、他のデバイス上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定される機能/動作を実施するようになる。
【0086】
図面内のフローチャート及びブロック図は、本発明の様々な実施形態に従うシステム、方法、及びコンピュータプログラム製品の可能な実施のアーキテクチャ、機能、及び動作を示す。この点で、フローチャート又はブロック図の各ブロックは、モジュール、セグメント、又は命令の一部を表すことができ、これらは、指定された論理機能を実施するための1つ又は複数の実行可能命令を含んでいる。いくつかの代替的実施では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われる場合がある。たとえば、連続して示されている2つのブロックは、実際には、実質的に同時に実行されてもよいし、ブロックは、関与する機能に依存して逆の順序で実行される場合もあり得る。ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフローチャート図におけるブロックの組み合わせが、指定された機能又は動作を遂行する、又は特定用途向けハードウェア及びコンピュータ命令の組み合わせを実施する、特定用途向けハードウェアベースのシステムによって実施され得ることにも留意されたい。
【0087】
本発明の様々な実施形態の説明は、例示のために提示されているが、網羅的であることも、開示された実施形態に限定することも意図していない。説明された実施形態の範囲から逸脱することなく、多くの修正及び変形が、当業者には明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の用途、又は市場で見られる技術に対する技術的改善を最も良く説明するため、又は他の当業者が本明細書に説明される実施形態を理解することを可能にするために選択された。
【手続補正書】
【提出日】2023-06-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータシステムによって、標的とされたデータベースを対象とするクエリを受信する段階;
前記コンピュータシステムによって、前記クエリが非承認ユーザからのものであると判定する段階;及び
前記コンピュータシステムによって、モデルによって生成された応答を前記非承認ユーザへ返す段階、ここで前記応答は、前記クエリを履行するように動的に生成され、前記モデルは、前記非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている
を備える、コンピュータ実装方法。
【請求項2】
前記モデルは、前記標的とされたデータベースからの真正の応答のデータと整合するフォーマットで前記応答のデータを合成するように構成されている、
請求項1に記載のコンピュータ実装方法。
【請求項3】
前記モデルは、履歴記録にアクセスするように構成されており、前記履歴記録は、前記非承認ユーザに関連付けられた以前のあらゆるクエリ、及び前記非承認ユーザに返された前記以前のあらゆる応答を含む、
請求項1
又は2に記載のコンピュータ実装方法。
【請求項4】
前記非承認ユーザに返された前記以前のあらゆる応答と整合する前記応答を生成する段階は、前記応答で生成されたデータが、前記以前のあらゆる応答の以前のデータと競合しないことを確認する段階を含む、
請求項1
から3のいずれか一項に記載のコンピュータ実装方法。
【請求項5】
前記非承認ユーザへの前記応答は、前記非承認ユーザから受信した以前のあらゆるクエリに基づいて前記モデルによって生成される、
請求項1
から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記クエリ及び前記返された応答は、前記非承認ユーザに関連付けられた履歴記録に格納される、
請求項1
から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記標的とされたデータベースは機密情報を含み、前記モデルは、前記機密情報を除外したデータを生成するように構成されている、
請求項1
から6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
コンピュータ可読命令を有するメモリ;及び
前記コンピュータ可読命令を実行するための1つ又は複数のプロセッサ、ここで前記コンピュータ可読命令は、動作を遂行するように前記1つ又は複数のプロセッサを制御し、前記動作は、
標的とされたデータベースを対象とするクエリを受信する手順;
前記クエリが非承認ユーザからのものであると判定する手順;及び
モデルによって生成された応答を前記非承認ユーザへ返す手順、ここで前記応答は、前記クエリを履行するように動的に生成され、前記モデルは、前記非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている
を有する
を備えるシステム。
【請求項9】
前記モデルは、前記標的とされたデータベースからの真正の応答のデータと整合するフォーマットで前記応答のデータを合成するように構成されている、
請求項8に記載のシステム。
【請求項10】
前記モデルは、履歴記録にアクセスするように構成されており、前記履歴記録は、前記非承認ユーザに関連付けられた以前のあらゆるクエリ、及び前記非承認ユーザに返された前記以前のあらゆる応答を含む、
請求項8
又は9に記載のシステム。
【請求項11】
前記非承認ユーザに返された前記以前のあらゆる応答と整合する前記応答を生成する段階は、前記応答で生成されたデータが、前記以前のあらゆる応答の以前のデータと競合しないことを確認する段階を含む、
請求項8
から10のいずれか一項に記載のシステム。
【請求項12】
前記非承認ユーザへの前記応答は、前記非承認ユーザから受信した以前のあらゆるクエリに基づいて前記モデルによって生成される、
請求項8
から11のいずれか一項に記載のシステム。
【請求項13】
前記クエリ及び前記返された応答は、前記非承認ユーザに関連付けられた履歴記録に格納される、
請求項8
から12のいずれか一項に記載のシステム。
【請求項14】
前記標的とされたデータベースは機密情報を含み、前記モデルは、前記機密情報を除外したデータを生成するように構成されている、
請求項8
から13のいずれか一項に記載のシステム。
【請求項15】
プロセッサによって
実行可能なプログラム命令であって、実行された場合、
標的とされたデータベースを対象とするクエリを受信する手順;
前記クエリが非承認ユーザからのものであると判定する手順;及び
モデルによって生成された応答を前記非承認ユーザへ返す手順、ここで前記応答は、前記クエリを履行するように動的に生成され、前記モデルは、前記非承認ユーザに返された以前のあらゆる応答と整合する応答を生成するように構成されている
を含む
動作を前記プロセッサに遂行させる、プログラム命令を備える、
コンピュータプログラ
ム。
【請求項16】
前記モデルは、前記標的とされたデータベースからの真正の応答のデータと整合するフォーマットで前記応答のデータを合成するように構成されている、
請求項15に記載のコンピュータプログラ
ム。
【請求項17】
前記モデルは、履歴記録にアクセスするように構成されており、前記履歴記録は、前記非承認ユーザに関連付けられた以前のあらゆるクエリ、及び前記非承認ユーザに返された前記以前のあらゆる応答を含む、
請求項15
または16に記載のコンピュータプログラ
ム。
【請求項18】
前記非承認ユーザに返された前記以前のあらゆる応答と整合する前記応答を生成することは、前記応答で生成されたデータが、前記以前のあらゆる応答の以前のデータと競合しないことを確認することを含む、
請求項15
から17のいずれか一項に記載のコンピュータプログラ
ム。
【請求項19】
前記非承認ユーザへの前記応答は、前記非承認ユーザから受信した以前のあらゆるクエリに基づいて前記モデルによって生成される、
請求項15
から18のいずれか一項に記載のコンピュータプログラ
ム。
【請求項20】
前記クエリ及び前記返された応答は、前記非承認ユーザに関連付けられた履歴記録に格納される、
請求項15
または19のいずれか一項に記載のコンピュータプログラ
ム。
【国際調査報告】