(57)【要約】  方法が、コンピュータ・システムのための新しい規則のセットを構築することによって、コンピュータ・システムのセキュリティを高める。１つ又は複数のプロセッサは、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力し、複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている。プロセッサは、新しいクライアント・プロファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合する。プロセッサは、新しいクライアント・プロファイルとそれぞれのクライアント・プロファイルとの類似性尺度に基づいて、新しいクライアントのための新しい規則のセットを構築する。その後、プロセッサは、新しい規則のセットに対する違反が発生したことを示す情報を受信し、次いで、コンピュータ・システムのセキュリティ機能を実行し、新しい規則のセットに対する違反を解決する。
2022502732.tif 000002
【特許請求の範囲】
【請求項１】
１つ又は複数のプロセッサによって、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力することであって、前記複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている、入力することと、
前記１つ又は複数のプロセッサによって、新しいクライアントについての新しいクライアント・プロファイルを、前記複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合することであって、前記それぞれのクライアント・プロファイルは前記複数のクライアントからの特定のクライアントについてのものである、照合することと、
前記１つ又は複数のプロセッサによって、前記新しいクライアント・プロファイルと前記それぞれのクライアント・プロファイルとの類似性尺度に基づいて、前記新しいクライアントのための新しい規則のセットを構築することと、
前記１つ又は複数のプロセッサによって、前記新しい規則のセットに対する違反が発生したことを示す情報を受信することと、
前記新しい規則のセットに違反していることに応答して、前記１つ又は複数のプロセッサによって、前記新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、前記新しい規則のセットに対する前記違反を解決することと
を含む、方法。
【請求項２】
前記１つ又は複数のプロセッサによって、前記新しい規則のセットをベクトル化し、ベクトル化した規則セットを作成することと、
前記１つ又は複数のプロセッサによって、前記新しい規則のセットの前記ベクトル化した規則セットを前記ＡＩシステムに入力し、前記新しい規則のセットを前記侵入検出警告履歴に対してテストすることによって、前記新しい規則のセットをテストすることと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記１つ又は複数のプロセッサによって、自然言語処理（ＮＬＰ）を適用し、前記新しいクライアントの環境と前記特定のクライアントの環境との間の類似性を判断することと、
前記１つ又は複数のプロセッサによって、前記新しいクライアントの前記環境と前記特定のクライアントの前記環境との間の前記類似性に基づいて、前記新しいクライアント・プロファイルを前記それぞれのクライアント・プロファイルと照合することと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ＡＩシステムは前記新しい規則のセットを作出し、前記新しい規則のセットはそれぞれの規則に対する警告を含み、前記ＡＩシステムは前記新しい規則のセットを前記コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する、請求項１に記載の方法。
【請求項５】
前記１つ又は複数のプロセッサによって、前記新しい規則のセットを侵入検出システムにインストールすることをさらに含む、請求項１に記載の方法。
【請求項６】
１つ又は複数のプロセッサによって、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力することであって、前記複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている、入力することと、
前記１つ又は複数のプロセッサによって、新しいクライアントについての新しいクライアント・プロファイルを、前記複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合することであって、前記それぞれのクライアント・プロファイルは前記複数のクライアントからの特定のクライアントについてのものである、照合することと、
前記１つ又は複数のプロセッサによって、前記特定のクライアントが使用する規則に基づいて、前記新しいクライアントのための新しい規則を構築することと、
前記１つ又は複数のプロセッサによって、前記新しい規則に対する違反が発生したことを示す情報を受信することと、
前記新しい規則に違反していることに応答して、前記１つ又は複数のプロセッサによって、前記新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、前記新しい規則に対する前記違反を解決することと
を含む、方法。
【請求項７】
前記１つ又は複数のプロセッサによって、前記新しい規則をベクトル化し、ベクトル化した規則を作成することと、
前記１つ又は複数のプロセッサによって、前記ベクトル化した規則を前記ＡＩシステムに入力し、前記新しい規則を前記侵入検出警告履歴に対してテストすることによって、前記新しい規則をテストすることと
をさらに含む、請求項６に記載の方法。
【請求項８】
前記１つ又は複数のプロセッサによって、自然言語処理（ＮＬＰ）を適用し、前記新しいクライアントの環境と前記特定のクライアントの環境との間の類似性を判断することと、
前記１つ又は複数のプロセッサによって、前記新しいクライアントの前記環境と前記特定のクライアントの前記環境との間の前記類似性に基づいて、前記新しいクライアント・プロファイルを前記それぞれのクライアント・プロファイルと照合することと
をさらに含む、請求項６に記載の方法。
【請求項９】
前記ＡＩシステムは前記新しい規則を作出し、前記新しい規則はそれぞれの規則に対する警告を含み、前記ＡＩシステムは前記新しい規則を前記コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する、請求項６に記載の方法。
【請求項１０】
前記１つ又は複数のプロセッサによって、前記新しい規則を侵入検出システムにインストールすることをさらに含む、請求項６に記載の方法。
【請求項１１】
１つ又は複数のプロセッサによって、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力することであって、前記複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている、入力することと、
前記１つ又は複数のプロセッサによって、新しいクライアントについての新しいクライアント・プロファイルを、前記複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合することであって、前記それぞれのクライアント・プロファイルは前記複数のクライアントからの特定のクライアントについてのものである、照合することと、
前記１つ又は複数のプロセッサによって、前記新しいクライアント・プロファイルが前記それぞれのクライアント・プロファイルに合致することに基づいて、前記特定のクライアントからの特定の規則を前記新しいクライアントに割り当てることと、
前記１つ又は複数のプロセッサによって、前記特定の規則に対する違反が発生したことを示す情報を受信することと、
前記特定の規則に違反していることに応答して、前記１つ又は複数のプロセッサによって、前記新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、前記特定の規則に対する前記違反を解決することと
を含む、方法。
【請求項１２】
前記１つ又は複数のプロセッサによって、前記特定の規則をベクトル化し、ベクトル化した規則を作成することと、
前記１つ又は複数のプロセッサによって、前記ベクトル化した規則を前記ＡＩシステムに入力し、前記特定の規則を前記侵入検出警告履歴に対してテストすることによって、前記特定の規則をテストすることと
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記１つ又は複数のプロセッサによって、自然言語処理（ＮＬＰ）を適用し、前記新しいクライアントの環境と前記特定のクライアントの環境との間の類似性を判断することと、
前記１つ又は複数のプロセッサによって、前記新しいクライアントの前記環境と前記特定のクライアントの前記環境との間の前記類似性に基づいて、前記新しいクライアント・プロファイルを前記それぞれのクライアント・プロファイルと照合することと
をさらに含む、請求項１１に記載の方法。
【請求項１４】
前記ＡＩシステムは前記特定の規則を作出し、前記特定の規則はそれぞれの規則に対する警告を含み、前記ＡＩシステムは前記特定の規則を前記コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する、請求項１１に記載の方法。
【請求項１５】
前記１つ又は複数のプロセッサによって、前記特定の規則を侵入検出システムにインストールすることをさらに含む、請求項１１に記載の方法。
【請求項１６】
前記方法の請求項のいずれかに記載の前記方法の全てのステップを実行するように適合された手段を含むシステム。
【請求項１７】
コンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ・システム上で実行されたときに、前記方法の請求項のいずれかに記載の前記方法の全てのステップを実行するための命令を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・セキュリティの分野に関し、具体的には、規則ベースのコンピュータ・セキュリティに関する。さらに特定的には、本発明は、規則をコンピュータ・システムにデプロイすることに関する。
【背景技術】
【０００２】
コンピュータ・セキュリティサービスは、カスタム規則を用いてログデータを取り込み、相関させ、警告を作成し、クライアントに攻撃の可能性を通知することを担う。そうしたサービスは、多くの場合、単一のベンダー（vendor）から世界中の何千ものクライアントに提供される。
【０００３】
何千ものデータソース及びデバイスからの数十億ものログイベントを相関させることによって、日々、何千もの使用可能な（actionable）インテリジェンスイベント（例えば、「警告」）が生成される。これにより、サービスが、特定のコンピュータ・システム/アーキテクチャに特有の脅威を検出することが可能になる。つまり、そうしたシステムは、特定の情報技術（ＩＴ）環境（例えば、特定のハードウェア、ソフトウェア、ワークロード、企業形態など）に特有のカスタムのセキュリティ情報及びイベント管理（ＳＩＥＭ）規則を使用しており、従って、類似しているが僅かに異なるＩＴプロファイルを有する他のクライアントに対して水平拡張されない。その結果、類似しているが僅かに異なるＩＴドメインを有するクライアントに対する警告の生成、追跡、又は修正が行われない。そうしたクライアントのコンピュータ・システムは、規則の相関がないため、その環境において知られていない攻撃に気付かず、その影響を受けやすいままである。
【発明の概要】
【０００４】
本発明の１つの実施形態において、方法は、コンピュータ・システムのための新しい規則のセット（new set of rules）を構築することによって、コンピュータ・システムのセキュリティを高める。１つ又は複数のプロセッサは、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力し、複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析、及び複数のクライアントの侵入検出警告履歴（intrusion detection alert history）に基づいている。プロセッサは、新しいクライアントについての新しいクライアント・プロファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。プロセッサは、新しいクライアント・プロファイルとそれぞれのクライアント・プロファイルとの類似性尺度に基づいて、新しいクライアントのための新しい規則のセットを構築する。その後、プロセッサは、新しい規則セットに対する違反が発生したことを示す情報を受信し、新しい規則のセットに違反していることに応答して、新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、新しい規則のセットに対する違反を解決する。
【０００５】
本発明の１つの実施形態において、方法は、別のクライアントが使用する規則に基づいて新しい規則を構築することによって、コンピュータ・システムのセキュリティを高める。１つ又は複数のプロセッサは、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力し、複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析、及び複数のクライアントの侵入検出警告履歴に基づいている。プロセッサは、新しいクライアントについての新しいクライアント・ファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。その後、プロセッサは、特定のクライアントが使用する規則に基づいて、新しいクライアントのための新しい規則を構築する。その後、プロセッサは、新しい規則に対する違反が発生したことを示す情報を受信する。新しい規則に違反していることに応答して、プロセッサは、新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、新しい規則に対する違反を解決する。
【０００６】
本発明の１つの実施形態において、方法は、第１のクライアントが使用するコンピュータ・システムにより使用するために、規則を第２の（特定の）クライアントから第１のクライアントに割り当てることによって、第１の（新しい）クライアントが使用するコンピュータ・システムのセキュリティを高める。１つ又は複数のプロセッサは、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力し、複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析、及び複数のクライアントの侵入検出警告履歴に基づいている。プロセッサは、新しいクライアントについての新しいクライアント・プロファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。プロセッサは、新しいクライアント・プロファイルがそれぞれのクライアント・プロファイルと合致することに基づいて、特定の規則を特定のクライアントから新しいクライアントに割り当てる。その後、プロセッサは、特定の規則に対する違反が発生したことを示す情報を受信し、特定の規則に違反したことに応答して、新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、特定の規則に対する違反を解決する。
【０００７】
１つ又は複数の実施形態において、本明細書に記載される方法は、コンピュータ・プログラム製品もしくはコンピュータ・システム又はその両方の実行により実施される。
【図面の簡単な説明】
【０００８】
【図１】本発明を実装することができる例示的なシステム及びネットワークを示す。
【図２】本発明の１つ又は複数の実施形態によって用いられる全体的なソリューション・アーキテクチャを示す。
【図３】本発明の１つ又は複数の実施形態で用いられる例示的な高度な脅威ディスポジション・システム（threat disposition system）を示す。
【図４】本発明の１つ又は複数の実施形態で用いられる例示的な回帰型ニューラル・ネットワーク（Recurrent Neural Network、ＲＮＮ）を示す。
【図５】本発明の１つ又は複数の実施形態で用いられる例示的なプロファイル相関器を示す。
【図６】本発明の１つ又は複数の実施形態で用いられる例示的な高度な規則分析器を示す。
【図７】本発明の１つ又は複数の実施形態で用いられる例示的な規則人工知能（ＡＩ）システムを示す。
【図８】本発明の１つ又は複数の実施形態で用いられる例示的なマスターＡＩシステムを示す。
【図９】本発明の１つ又は複数の実施形態に従って実施される１つ又は複数のステップの高レベル・フローチャートである。
【図１０】本発明の１つの実施形態による、クラウド・コンピューティング環境を示す。
【図１１】本発明の実施形態による、クラウドコンピュータ環境の抽象化モデル層を示す。
【発明を実施するための形態】
【０００９】
本発明は、システム、方法もしくはコンピュータ・プログラム製品又はその組み合わせを任意の可能な技術的詳細レベルで統合したものとすることができる。１つ又は複数の実施形態において、コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体（単数又は複数）を含む。
【００１０】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、携帯型コンパクトディスク読み出し専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。コンピュータ可読ストレージ媒体は、本明細書で使用される場合、電波又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波（例えば、光ファイバケーブルを通る光パルス）、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されるべきではない。
【００１１】
本明細書で記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスに、又は、例えばインターネット、ローカルエリアネットワーク、広域ネットワークもしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバ又はその組み合わせを含むことができる。各コンピューティング／処理デバイスにおけるネットワークアダプタカード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
【００１２】
１つ又は複数の実施形態において、本発明の動作を実行するためのコンピュータ可読プログラム命令が、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、及び、「Ｃ」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組み合わせで記述されるソースコード又はオブジェクトコードのいずれかとすることができる。１つ又は複数の実施形態において、コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、１つ又は複数の実施形態において、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）もしくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある（例えば、インターネットサービスプロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行し、電子回路を個別化する。
【００１３】
本発明の態様は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照してここに説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【００１４】
１つ又は複数の実施形態において、これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又は両方の１つ又は複数のブロック内で指定された機能／動作を実施するための手段が作り出される。１つ又は複数の実施形態において、これらのコンピュータ・プログラム命令は、１つ又は複数の実施形態において、コンピュータ・プログラム可能データ処理装置もしくは他のデバイス又はその組み合わせを特定の方式で機能させるように指示するコンピュータ可読媒体内にも格納され、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又は両方の１つ又は複数のブロックにおいて指定された機能／動作の態様を実施する命令を含む製品を含むようにされる。
【００１５】
１つ又は複数の実施形態において、コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施プロセスを生成し、それにより、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図又は両方の１つ又は複数のブロックにおいて指定された機能／動作を実施するようにもされる。
【００１６】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表す。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で行われることがある。例えば、連続して示される２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行され、又はこれらのブロックはときとして逆順で実行される。また、本発明の１つ又は複数の実施形態において、ブロック図もしくはフローチャート図又は両方の各ブロック、及びブロック図もしくはフローチャート図又は両方におけるブロックの組み合わせは、指定された機能又は動作を実施する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェアベースのシステムによって実装されることにも留意されたい。
【００１７】
ここで図を、特に図１を参照して、本発明の実装によってもしくは本発明の実装において又はその両方で利用することができる例示的なシステム及びネットワークのブロック図が示される。コンピュータ１０２に関して及びコンピュータ１０２内に図示された、示されるハードウェア及びソフトウェアの両方を含む例示的なアーキテクチャの一部又は全部は、ソフトウェア・デプロイ・サーバ１５０及び／又はテレメトリ・ソース１５２及び／又はクライアント・コンピュータ１５４及び／又は侵入検出システム１５６によって利用され得ることに留意されたい。
【００１８】
例示的なコンピュータ１０２は、システム・バス１０６に結合されたプロセッサ１０４を含む。プロセッサ１０４は、その各々が１つ又は複数のプロセッサコアを有する１つ又は複数のプロセッサを利用することができる。ディスプレイ１１０を駆動／サポートするビデオ・アダプタ１０８も、システム・バス１０６に結合される。システム・バス１０６は、バス・ブリッジ１１２を介して入力／出力（Ｉ／Ｏ）バス１１４に結合される。Ｉ／Ｏインターフェース１１６は、Ｉ／Ｏバス１１４に結合される。Ｉ／Ｏインターフェース１１６は、キーボード１１８、マウス１２０、メディア・トレイ１２２（ＣＤ−ＲＯＭドライブ、マルチメディア・インターフェースなどのストレージ・デバイスを含むことができる）、回帰型ニューラル・ネットワーク１２４（図４に示される例示的な実施形態においてより詳細に説明される）、及び外部ＵＳＢポート１２６を含む種々のＩ／Ｏデバイスとの通信を提供する。Ｉ／Ｏインターフェース１１６に接続されたポートの形式は、コンピュータアーキテクチャの技術分野における当業者に周知の任意のものとすることができるが、一実施形態においては、これらのポートの一部又は全てはユニバーサル・シリアル・バス（ＵＳＢ）ポートである。
【００１９】
示されるように、コンピュータ１０２は、ネットワーク・インターフェース１３０を用いて、ソフトウェア・デプロイ・サーバ１５０、テレメトリ・ソース１５２もしくはクライアント・コンピュータ１５４又はその組み合わせと通信することができる。ネットワーク・インターフェース１３０は、ネットワーク・インターフェース・カード（ＮＩＣ）などのハードウェア・ネットワーク・インターフェースである。ネットワーク１２８は、インターネットなどの外部ネットワーク、又はイーサネットもしくは仮想プライベート・ネットワーク（ＶＰＮ）などの内部ネットワークとすることができる。
【００２０】
ハード・ドライブ・インターフェース１３２も、システム・バス１０６に結合される。ハード・ドライブ・インターフェース１３２は、ハード・ドライブ１３４とインターフェース接続する。一実施形態において、ハード・ドライブ１３４は、同じくシステム・バス１０６に結合されるシステム・メモリ１３６をポピュレートする。システム・メモリは、コンピュータ１０２における最下位レベルの揮発性メモリとして定められる。この揮発性メモリは、これらに限定されるものではないが、キャッシュ・メモリ、レジスタ及びバッファを含む、付加的なより高いレベルの揮発性メモリ（図示せず）を含む。システム・メモリ１３６をポピュレートするデータは、コンピュータ１０２のオペレーティング・システム（ＯＳ）１３８及びアプリケーション・プログラム１４４を含む。
【００２１】
ＯＳ１３８は、トランスペアレントなユーザ・アクセスをアプリケーション・プログラム１４４などのリソースに提供するためのシェル１４０を含む。一般に、シェル１４０は、ユーザとオペレーティング・システムとの間にインタプリタ及びインターフェースを提供するプログラムである。より具体的には、シェル１４０は、コマンドライン・ユーザ・インターフェースに又はファイルから入力されたコマンドを実行する。このように、コマンド・プロセッサとも呼ばれるシェル１４０は、一般に、最上位レベルのオペレーティング・システム・ソフトウェア階層であり、コマンド・インタプリタとして機能する。シェルは、システム・プロンプトを提供し、キーボード、マウス又は他のユーザ入力媒体によって入力されたコマンドを解釈し、解釈されたコマンドを、処理のために適切な下位レベルのオペレーティング・システム（例えば、カーネル１４２）に送る。シェル１４０は、テキストベースのライン指向ユーザ・インターフェースであるが、本発明は、グラフィカル、音声、ジェスチャーなどの他のユーザ・インターフェース・モードも等しくよくサポートすることに留意されたい。
【００２２】
示されるように、ＯＳ１３８は、メモリ管理、プロセス及びタスク管理、ディスク管理、並びにマウス及びキーボード管理を含む、ＯＳ１３８の他の部分及びアプリケーション・プログラム１４４によって必要とされる不可欠のサービスの提供を含む、ＯＳ１３８のための下位レベルの機能を含むカーネル１４２をも含む。
【００２３】
アプリケーション・プログラム１４４は、ブラウザ１４６として例示的に示されるレンダラ（renderer）を含む。ブラウザ１４６は、ワールド・ワイド・ウェブ（ＷＷＷ）クライアント（すなわち、コンピュータ１０２）が、ハイパーテキスト転送プロトコル（ＨＴＴＰ）メッセージングを用いて、ネットワーク・メッセージをインターネットに送受信することを可能にするプログラム・モジュール及び命令を含み、これにより、ソフトウェア・デプロイ・サーバ１５０及び他のコンピュータ・システムとの通信が可能になる。
【００２４】
コンピュータ１０２のシステム・メモリ内のアプリケーション・プログラム１４４（並びに、ソフトウェア・デプロイ・サーバ１５０のシステム・メモリ）は、コンピュータ・セキュリティ管理論理（Computer Security Management Logic、ＣＳＭＬ）１４８も含む。ＣＳＭＬ１４８は、図２〜図９に記載されるものを含む、以下に説明されるプロセスを実施するためのコードを含む。一実施形態において、コンピュータ１０２は、ＣＳＭＬ１４８内のコードが、実行に必要とされるまでダウンロードされないオンデマンド方式などで、ＣＳＭＬ１４８をソフトウェア・デプロイ・サーバ１５０からダウンロードすることができる。さらに、本発明の一実施形態において、ソフトウェア・デプロイ・サーバ１５０は、本発明と関連付けられた機能の全てを実行し（ＣＳＭＬ１４８の実行を含む）、従って、コンピュータ１０２が、ＣＳＭＬ１４８を実行するためにそれ自体の内部コンピューティング・リソースを使用する必要性がなくなることに留意されたい。
【００２５】
テレメトリ・ソース１５２もコンピュータ１０２に結合され、このテレメトリ・ソース１５２は、セキュリティ・イベントに関する情報源であり、図２のテレメトリ・ソース２５２においてさらに詳細に説明される。
【００２６】
クライアント・コンピュータ１５４は、図２の表２０４に示されたクライアントのようなクライアントにより使用される。
【００２７】
クライアント・コンピュータ１５４は、クライアント・コンピュータ１５４への侵入を検出するために、本明細書に記載される規則ベースの特徴の１つ又は複数を利用する侵入検出システム１５６によって保護される。
【００２８】
コンピュータ１０２内に示されるハードウェア要素は、網羅的であることを意図したものではなく、むしろ、本発明によって必要とされる本質的なコンポーネントを強調するための代表的なものであることに留意されたい。例えば、コンピュータ１０２は、磁気カセット、デジタル多用途ディスク（ＤＶＤ）、ベルヌーイ（Bernoulli）カートリッジなどの代替的なメモリ・ストレージ・デバイスを含むことができる。これら及び他の変形は、本発明の趣旨及び範囲内であることが意図される。
【００２９】
本発明は、必要とされるセキュリティ規則をコンピュータ・システムに提供するものとして本明細書に記載される。しかしながら、本明細書に記載される方法及びシステムは、必ずしもセキュリティ・システムに限定されるものではない。むしろ、本明細書に記載される方法及びシステムは、機械学習モデルに対する処理ディスポジション（processing disposition）を定式化する任意のデータ分析プラットフォームに適用可能である。
【００３０】
セキュリティ・システムにそのアーキテクチャのための特定の規則がないという問題に関して、本発明の１つ又は複数の実施形態は、特定のクライアントのための規則のギャップを緩和するための、新しい新規なソリューション・アーキテクチャを提示する。つまり、特定のクライアント・システムは、セキュリティ攻撃に対応するための規則がない場合がある。本発明の１つ又は複数の実施形態は、人工知能（ＡＩ）支援による規則生成及び使用可能なインテリジェンス・アーキテクチャを提示する。セキュリティ侵入検出システムは、脅威分析及びディスポジション・システムから警告ディスポジション入力を取得し、アセット・プロファイラ・システム（本明細書では「プロファイル相関器」とも呼ばれる）又はソースシステムからのプロファイルを照合し、自然言語処理（ＮＬＰ）規則分析システムからの規則設計を相関させる（相関エンジンを用いて）。このアーキテクチャ／機構において、相関エンジンは、製品カテゴリから独立しており、異なるデータ領域にわたって一般的に適用することが可能である。つまり、１つ又は複数の実施形態においては、本発明は、金融テレメトリ分析から作出された金融規則を取得し、マーケティングデータ分析に基づいて金融規則からマーケティング規則を導出する。しかしながら、１つ又は複数の実施形態において、これらのシステム（すなわち、金融システム及びマーケティング・システム）の各々は、共通のテレメトリを消費し、データを処理するために規則を適用し、使用可能なインテリジェンスを導出し、規則違反に基づいてインテリジェンスを用いて特定のアクションを実行する。
【００３１】
複数のクライアント環境にわたる視界を有することにより、システム（例えば、図１に示されるコンピュータ１０２などの監視システム）は、使用可能なインテリジェンス、及び複数のクライアントに対する警告の成功裡のディスポジションの有効性を評価することが可能である。これにより、他のクライアントとの比較分析、及び使用可能なインテリジェンスのカバレッジ（coverage）又は生成のギャップが存在する環境を提供することができる。このように、システムは、プロファイル間の比較を行い、データソース、規則、又はインテル（intel）ソースの欠落に起因し得るギャップを強調することが可能である。システムは、欠落している重要なデータソース、検出規則、インテル・フィード、又はシステムをより効果的にする任意の他のドメイン・レベルの情報を付加するよう、クライアントに自動的に通知することができる。１つ又は複数の実施形態において、このプロセスは、ギャップを識別し、欠落しているドメイン情報を推奨するために評価を行うことができるボーディング前（pre-boarding）段階（すなわち、クライアントのコンピュータ・システムがオンラインでクライアントの情報技術（ＩＴ）ニーズを処理する前）で利用される。１つ又は複数の実施形態において、本明細書に記載されるプロセスはまた、システムのライフサイクルを通じても利用され、収集されているテレメトリの有効性又は無効性を測定し、収集されたテレメトリが無効である場合、それに応じてそのテレメトリを調整すること又は切断を推奨することができる。
【００３２】
このように、本発明の１つ又は複数の実施形態において、システムは、特定のイベント発生時に一時的に作動する規則を動的に挿入する。つまり、挿入された規則により、クライアント・コンピュータのセキュリティ・システムは、ゼロ・デイ脅威（zero day threat）を監視する（例えば、特定の領域で発生しているマルウェア攻撃を見張る）。このように、規則は、特定のテレメトリに基づいて検出された攻撃に対応するようにアクティブ化され、次いで、攻撃イベント後に非アクティブ化される。ディスポジション（攻撃及び対応）がどのように行われるかを学習し、攻撃を受けたシステムに関するドメイン情報を使用することにより、コグニティブ・システムがトリガされ、各々の影響を受けたクライアントのためのカスタム規則をリアルタイムで構築し、変更をシステムに通知し、同時に通知チケッティング（ticketing）システム上の使用可能なインテリジェンスを生成する。
【００３３】
ここで図２を参照すると、本発明の１つ又は複数の実施形態によって用いられる全体的なソリューション・アーキテクチャが提示される。
【００３４】
図２に示されるアーキテクチャ２０２は、以下の問題に対処する。クライアントＣ１のための規則によって、使用可能なインテリジェンスが検出されると仮定する。例えば、規則Ｒ２は、「クライアントＣ１のコンピュータ・システムにより１０秒以内に、信頼できないインターネットプロトコル（ＩＰ）アドレスからの３つのメッセージが製造業者Ｘ製の電子メールサーバによって受信され、その信頼できないＩＰアドレスが、クライアントＣ１が信頼しないＩＰアドレスの「ブラックリスト」上にあり、かつ、３つのメッセージが全て「緊急」という語を含む場合、クライアントＣ１がセキュリティ攻撃を受けている可能性が高いと述べるチケットを発行するよう、クライアントＣ１についてのセキュリティ・システムに関連付けられた通知チケッティング・システムに指示する」というものであり得る。しかしながら、規則Ｒ２によって検出された使用可能なインテリジェンスは、クライアントＣ１のための環境にローカルなままである。つまり、規則Ｒ２は、製造業者Ｘ製の電子メールサーバによって受信される電子メールに特有のものである。従って、セキュリティ情報及びイベント管理（ＳＩＥＭ）規則によって検出された、検出済みのセキュリティ・インシデントは、規則Ｒ２が存在するクライアントＣ１に対してローカルである（すなわち、クライアントＣ１用に調整される）。
【００３５】
しかしながら、ここで表２０４に示されるクライアントＣ２は、製造業者Ｘ製の電子メールサーバを有していないと仮定する。むしろ、クライアントＣ２は、製造業者Ｙ製の電子メールサーバを使用する。従って、クライアントＣ１及びＣ２が類似したタイプの動作を有し、また、製造業者Ｘによって構築された電子メールサーバが製造業者Ｙによって構築された電子メールサーバと同じ機能を実施したとしても、クライアントＣ２は、規則Ｒ２のコピーを持たない（Ｒ２は、製造業者Ｘによって構築された電子メールサーバを使用するコンピュータ・システムに特有であるので）。
【００３６】
従って、図２に示されるプロセスは、類似したドメインプロファイル（すなわち、類似したタイプの動作、類似したタイプの機器など）を有するクライアント（例えば、クライアントＣ１及びクライアントＣ２）を照合する。次に、図２に示されるプロセスは、全ての類似したクライアントにわたって規則及びインテリジェンスを自動生成し、適用する。
【００３７】
アーキテクチャ２０２は、以下のシステム・コンポーネントを含む。
【００３８】
高度な脅威ディスポジション・スコアリング（ＡＴＤＳ）機械学習システム２０６は、機械学習ベースの脅威検出システムである。つまり、ＡＴＤＳ機械学習システム２０６は、特定のクライアント（例えば、クライアントＣ１）のコンピュータ・システムがセキュリティ攻撃を受けているかどうかを判断する。ＡＴＤＳ機械学習システム２０６の付加的な詳細は、図３に示される。
【００３９】
プロファイル相関器２０８は、類似のプロファイルを有するクライアントを照合するための自然言語処理（ＮＬＰ）ベースのシステムである。プロファイル相関器２０８の付加的な詳細は、図５に示される。
【００４０】
規則分析（rule analytics）２１０は、規則をサブコンポーネントに分解するためのＮＬＰベースの規則分析システムである。規則分析２１０の付加的な詳細は、図６に示される。
【００４１】
規則人工知能（ＡＩ）機械学習システム２１２は、規則閾値を予測するために用いられる教師あり（supervised）機械学習ベースのシステムである。規則人工知能（ＡＩ）機械学習システム２１２の付加的な詳細は、図７に示される。
【００４２】
マスターＡＩシステム２１４は、ソリューション収集器（solution aggregator）、規則生成器、及びオフェンス（offense）生成器である。マスターＡＩシステム２１４の付加的な詳細は、図８に示される。
【００４３】
図２に示されるように、マスターＡＩシステム２１４は、１）特定のクライアント（例えば、クライアントＣ２）のための使用可能なインテリジェンスを予測し、２）新しい規則（例えば、規則Ｒ２）を付加し、３）クライアントＣ２のために新しい規則が付加されたこと、もしくは（新しく付加された規則Ｒ２に基づいて）セキュリティ侵害イベントが発生したこと、又はその両方の顧客通知を（例えば、クライアントＣ２に）提供するように設計される。説明のために、規則Ｒ２が、違反した規則もしくは複製された規則又はその両方の例として使用される。しかしながら、本明細書に記載されるプロセスは、違反した規則もしくは複製された規則又はその両方などのいずれの規則にも適用可能であることを理解されたい。
【００４４】
ここで例示的な表２０４を参照すると、クライアントＣ１、Ｃ３及びＣ４は規則Ｒ２を有していても、クライアントＣ２は規則Ｒ２を有していない。上述したように、規則Ｒ２は、本質的に、特定のイベント（例えば、センサからの不審な読み取り値、ブラックリストに載っているＩＰアドレスからのメッセージなど）が発生した場合、セキュリティ侵害の事象（occurrence）が発生していると判断されると述べる。
【００４５】
本発明の１つの実施形態において、（クライアントＣ１、Ｃ３及びＣ４のための）示される様々な規則に関連するイベントは同一である。つまり、どの特定の機器が関与しているか、どのタイプの企業活動が関与しているか、どの特定のメッセージが関与しているかなどを含む、全ての条件／イベントが同一である。マスターＡＩシステム２１４が、Ｃ２が規則Ｒ２に記載される特定の機器を有し、クライアントＣ１、Ｃ３及びＣ４と同じタイプの企業活動（例えば、銀行業務）を有すると判断した場合、マスターＡＩシステム２１４は、規則Ｒ２をクライアントＣ２に直接割り当てる。
【００４６】
しかしながら、本発明の別の実施形態において、（クライアントＣ１、Ｃ３及びＣ４のための）示される種々の規則に関連するイベントが同一ではない。例えば、規則Ｒ２が、どの特定の機器が関与しているか及びどのタイプの企業活動が関与しているかに依存すると再度仮定する。さらに、マスターＡＩシステム２１４は、クライアントＣ２が、クライアントＣ１、Ｃ３及びＣ４と同じタイプの企業活動（例えば、銀行業務）を有するが、クライアントＣ２は、クライアントＣ１、Ｃ３及びＣ４と同じ特定の機器を使用しないと判断すると仮定する。例えば、クライアントＣ１、Ｃ３及びＣ４はＸ社製の電子メールサーバを使用するが、クライアントＣ２はＹ社製の電子メールサーバを使用すると仮定する。しかしながら、さらに、Ｘ社製の電子メールサーバは、Ｙ社製の電子メールサーバと同じ機能を実施するが、２つの電子メールサーバは異なる特徴、セキュリティレベル等を有し得ると仮定する。それにもかかわらず、この実施形態において、マスターＡＩシステム２１４は、規則Ｒ２’が、Ｙ社製の電子メールサーバで動作するように設計されるのに対して、規則Ｒ２は、Ｘ社製の電子メールサーバで動作するように設計されているにもかかわらず、規則Ｒ２と機能的に同じである規則Ｒ２のバージョン（例えば、規則Ｒ２’）を作成する。
【００４７】
再び表２０４を参照すると、最初に、クライアントＣ２は規則Ｒ２’を有していないと仮定する。しかしながら、ＡＴＤＳ機械学習２０６は、クライアントＣ１、Ｃ３もしくはＣ４又はその組み合わせによって、規則Ｒ２に違反した／規則Ｒ２がトリガされ、従って、そのシステム内でセキュリティ問題（例えば、ウイルス攻撃、専用のサービス拒否攻撃（dedicated denial of service attack）など）が発生したことを示すと判断している。例えば、クライアントＣ１のコンピュータ・システムにおいて規則Ｒ２に違反している場合、「Ｒ２＞Ｏ１」で示されるように、クライアントＣ１のためのコンピュータ・システムにおいて、ある事象（occurrence）（例えば、ウイルス攻撃、専用のサービス拒否攻撃など）が発生していると考えられる。同様に、クライアントＣ３のためのコンピュータ・システムにおいて、規則Ｒ２に違反している場合、「Ｒ２＞Ｏ３」で示されるように、クライアントＣ３のためのコンピュータ・システムにおいて、ある事象が発生していると考えられる。同様に、クライアントＣ４のためのコンピュータ・システムにおいて、規則Ｒ２に違反している場合、「Ｒ２＞Ｏ４」で示されるように、クライアントＣ４のためのコンピュータ・システムにおいて、ある事象が発生していると考えられる。
【００４８】
このようにして、ＡＴＤＳ機械学習システム２０６は、クライアントＣ１、Ｃ３及びＣ４の１つ又は複数において規則Ｒ２に違反したと判断し、目的のためにこの情報を使用する。その後、ＡＴＤＳ機械学習システム２０６がクライアントＣ２についての規則違反も追跡すると、クライアントＣ２についても、以下のアクションが実行される。
【００４９】
最初に、ＡＴＤＳ機械学習システム２０６は、規則Ｒ２に違反したという判断を、クライアントＣ１、Ｃ３及びＣ４のためのセキュリティ・システム２１８に送られるエスカレーション（escalation）メッセージ２１６を生成するための基礎として用いる。本発明の１つの実施形態において、これらのセキュリティ・システム２１８は、セキュリティ管理人員である。しかしながら、本発明の好ましい実施形態において、セキュリティ・システム２１８は、特定のデバイスをオフにし、特定のＩＰアドレスからのメッセージをブロックし、ファイアウォールをアップグレードするなどの自動セキュリティ・システムである。
【００５０】
例えば、クライアントＣ１に割り当てられた自動セキュリティ・システム２１８の１つが、製油所内のポンプを制御する監視制御及びデータ収集（ＳＣＡＤＡ）システムと関連付けられると仮定する。さらに、エスカレーション・メッセージ２１６が、１）重要なポンプをオフにするよう命令するメッセージを受信したこと、及び２）そのメッセージが信頼できないソースからのものであると仮定する。従って、クライアントＣ１のための自動セキュリティ・システム２１８は、重要なポンプをオンにしたままにするよう、もしくは問題が解決されるまで、重要なポンプを使用するユニット全体を適切にシャットダウンするよう、又はその両方を行うよう、ＳＣＡＤＡシステムに自動的に指示する。
【００５１】
別の実施形態において、規則Ｒ２に違反した場合、規則Ｒ２によって定義されたような特定のＩＰアドレスからのメッセージはブロックされる。
【００５２】
第２に、ＡＴＤＳ機械学習システム２０６は、規則Ｒ２に違反したという判断を用いて、プロファイル相関器２０８を更新する。つまり、クライアントＣ１、Ｃ３及びＣ４の１つ又は複数による規則Ｒ２の違反の詳細は、とりわけこれがクライアントＣ１、Ｃ３及びＣ４から影響を受けるクライアントの１つ又は複数のアセット（例えば、機器、コンピュータ、データ・ストレージ、ソフトウェアなど）に影響を与える際、規則Ｒ２の違反の全体的な影響を判断するプロファイル相関器２０８に送られる。次に、この更新された情報は、クライアントＣ１、Ｃ３及びＣ４についての顧客アセット・プロファイルを含む顧客データベース２２０に送られる。
【００５３】
第３に、ＡＴＤＳ機械学習システム２０６は、規則Ｒ２に違反したという判断を用いて、規則Ｒ２の違反が発生したことを規則分析２１０に伝える。これにより、規則分析２１０が、規則及び違反を評価し、規則Ｒ２を更新することが可能になる。例えば、信頼できない（ブラックリストに載っている）ＩＰアドレスから電子メールを受信したことに基づいて、規則Ｒ２に違反したと仮定する。しかしながら、類似したメッセージが信頼できるＩＰアドレスから来たものであっても、規則分析２１０は、セキュリティ情報及びイベント管理（ＳＩＥＭ）規則２２２のセットからの規則テスト条件を用いて、類似した表現（wording）もしくはアクション（例えば、特定のデータベースにアクセスする）又はその両方を有するいずれのメッセージも、ファイアウォールによって、コンピュータ・システムによって受信できないようにするように、規則Ｒ２を修正する。
【００５４】
第４に、ＡＴＤＳ機械学習システム２０６は、規則Ｒ２に違反したという判断を用いて、規則Ｒ２に関してクライアントＣ１、Ｃ３及びＣ４で何が起こっているかをマスターＡＩシステム２１４に知らせる。
【００５５】
マスターＡＩシステム２１４において示されるように、マスターＡＩシステム２１４は今や、新しい規則Ｒ２（例えば、規則Ｒ２’）をクライアントＣ２に割り当てる際に使用するための複数の情報源を有する。
【００５６】
つまり、マスターＡＩシステム２１４への入力は、１）どのように規則Ｒ２に違反しているか及び規則Ｒ２に違反しているかどうかをマスターＡＩシステム２１４に知らせる、ＡＴＤＳ機械学習システム２０６からの情報、２）もしある場合には、規則Ｒ２に対してどのような修正が行われたかを記述する規則分析２１０からの出力、３）ＳＩＥＭ規則２２２により設定された規則条件、イベント条件及び挙動条件に基づいて、規則Ｒ２に対する違反の場合に満たす必要がある予測される閾値及び境界を記述する規則ＡＩ機械学習システム２１２の出力、及び４）規則Ｒ２に対する違反の影響を受けるいずれかのクライアントのプロファイルを記述するプロファイル相関器２０８の出力を含む。
【００５７】
さらに、マスターＡＩシステム２１４は、テレメトリ・ソース２５２、ログ・ソース２２６、及びドメイン・インテリジェンス・マッピング２２８からの入力を受信する。
【００５８】
テレメトリ・ソース２５２（図１に示されるテレメトリ・ソース１５２に類似した）は、イベントに関する任意の情報源である。例えば、一実施形態において、テレメトリ・ソース２５２は、プロセッサが過度に使用されていることを検出し、その結果、コンピュータ・システム全体を減速させるセンサである。別の実施形態において、テレメトリ・ソース２５２は、電子メールサーバが信頼できないＩＰアドレスから電子メールを受信したことを検出するセンサである。別の実施形態において、テレメトリ・ソース２５２は、「私は、信頼できないＩＰアドレスｘ．ｘ．ｘ．ｘから電子メール攻めにされている。気を付けて！（I’ｍ  ｇｅｔｔｉｎｇ  ｂｏｍｂａｒｄｅｄ  ｗｉｔｈ  ｅｍａｉｌｓ  ｆｒｏｍ  ｕｎｔｒｕｓｔｅｄ  ＩＰ  ａｄｄｒｅｓｓ  ｘ．ｘ．ｘ．ｘ.  Ｗａｔｃｈ  ｏｕｔ！）」などの、規則Ｒ２に関連したメッセージを投稿したソーシャル・メディア・プラットフォームである。
【００５９】
ログ・ソース２２６は、コンピュータ・システム内のセンサのログ、ソーシャル・メディア・サービス上で投稿されたメッセージなどを含むイベントのログを含む。
【００６０】
ドメイン・インテリジェンス・マッピング２２８は、規則Ｒ２に違反するイベントを示す特定のキーワード、パターンなどを探して、大規模なデータソース（例えば、ワールド・ワイド・ウェブ）を検索する。
【００６１】
従って、本発明の１つ又は複数の実施形態において、マスターＡＩシステム２１４は、図２に示される種々の入力を利用して、クライアントＣ２が、そのセキュリティ・インフラストラクチャの一部として、規則Ｒ２のコピー（又は、少なくとも規則Ｒ２’のような規則Ｒ２の変形）を有する必要があると判断する。
【００６２】
ここで図３を参照して、例示的な高度な脅威ディスポジション・スコアリング（ＡＴＤＳ）システム３０６（図２に示されるＡＴＤＳ機械学習システム２０６に類似した）が提示される。
【００６３】
図３に示されるように、ＡＴＤＳシステム３０６は、機械学習を用いて、オフェンス（例えば、コンピュータ・システムに対するセキュリティ攻撃）に対処すべきか（例えば、オフェンスに対するチケット／報告書／アクションの生成にエスカレートすべきか）、又はこれを無視すべきか（閉鎖すべきか）を判断する。オフェンスに対処すべきか又はこれを無視すべきかについての判断は、更なるアクションを正当化するのに、オフェンスが十分に重要である可能性を判断する機械学習プロセスに基づいている。つまり、ＡＴＤＳシステム３０５は、オフェンスのディスポジションがどのようであるべきかを予測する。本発明の１つ又は複数の実施形態において、この予測／決定は、オフェンスが更なるアクションを保証することを、ＡＩプロセスがどれだけ確信しているかに基づいている。
【００６４】
図３に示されるように、本発明の種々の実施形態において、種々のタイプの機械学習プロセスが用いられる。つまり、異なる実施形態は、オフェンス３０１に対処すべきか又はこれを無視すべきかを判断する際に、ブロック３０３に示される機械学習（ＭＬ）モデル１、ＭＬモデル２（ブロック３０５に示される）もしくはＭＬモデル３（ブロック３２４に示される）又はその組み合わせとして示される機械学習プロセスのうちの１つ、２つ又は３つ全てを用いることができる。
【００６５】
ブロック３０３は、互いの分析を利用し、従って、学習するためにプロセスを「ブースティング」する複数の決定木を用いる勾配ブースティング・マシン（gradient boosting machine、ＧＢＭ）機械学習プロセスを表す。つまり、第１の決定木は、入力データのセットに基づいて予測を行う際に多くのエラーを有する「弱い学習者」であると仮定する。次に、これらのエラーを頻繁に使用して第２の決定木を再訓練するために、これらのエラーを重み付けする。このプロセスは、任意の入力データに基づいて正しい出力を適切に予測するのに、最終的なモデル／決定木が有効になるまで続く。
【００６６】
ブロック３０５は、決定木も使用するが、決定木をランダムに組み合わせて木の「ランダム・フォレスト」にする、ランダム・フォレスト（random forest）機械学習プロセスを表す。これにより、システムが、異なる決定木における特徴を取り除くことを可能にし、従って、非常に強い予測器である、種々の決定木における特定の枝／ノードの特徴は、異なる決定木を相関されるものとして記述する。つまり、同じ特徴から同じ正確な予測を生成するので、異なる決定木における何らかの結果の良好な予測器であることが判明する特定の特徴は、これらの異なる決定木を相関させる。
【００６７】
ブロック３２４は、深層学習（deep learning）機械学習モデルを表す。本発明の１つ又は複数の実施形態によって使用される例示的な深層学習機械学習モデルは、図４に示されるような回帰型ニューラル・ネットワークである。
【００６８】
ここで図４を参照すると、例示的な回帰型ニューラル・ネットワーク（ＲＮＮ）４２４（図１に示されるＲＮＮ１２４に類似した）が提示される。ＲＮＮでは、ニューロンは、入力層４０３、隠れ層４０５及び出力層４０７として知られる層状に配置される。入力層４０３は、入力データを取得し、それをニューロンの一連の隠れ層（例えば、隠れ層４０５）に送るニューロン／ノードを含み、そこで、隠れ層内の１つの層からの全てのニューロンが、隠れ層４０５における次の層内の全てのニューロンと相互接続される。次に、隠れ層４０５内の最終層は、計算結果を、ベクトル情報を保持するための単一ノードであることが多い出力層４０７に出力する。
【００６９】
今述べたように、示されるＲＮＮ４２４内の各ノードは、示されるニューロン４０９などの電子ニューロンを表す。ブロック４１１に示されるように、各ニューロン（ニューロン４０９を含む）は、機能上、少なくとも３つの特徴、すなわち、アルゴリズム、出力値及び重みを含む。
【００７０】
アルゴリズムは、１つ又は複数の上流ニューロンからのデータを処理するための数式である。例えば、中間隠れ層４０５内に示されるニューロンの１つ又は複数が、データ値をニューロン４０９に送ると仮定する。次に、ニューロン４０９は、ブロック４１１に示されるアルゴリズムを実行することによって、これらのデータ値を処理して１つ又は複数の出力値を作成し、次に、この出力値は、隠れ層４０５内の別のニューロン又は出力層４０７内のニューロンなどの別のニューロンに送られる。各ニューロンは、そのニューロンもしくは他の接続されたニューロン又はその両方に特有の重みも有する。
【００７１】
例えば、ニューロン４１３が、あるデータの分析結果をニューロン４０９に送信していると仮定する。ニューロン４０９は、特にニューロン４１３から来るデータがどれだけ重要であるかを定める第１の重みを有する。データが重要である場合、ニューロン４１３から来るデータは大きく重み付けされ、従って、ニューロン４０９内のアルゴリズムにより高い出力を生成させ、それにより、出力層４０７内のニューロンに対してより大きい影響を有することになる。同様に、ニューロン４１３が、ニューロン４０９の動作に重要であると判断された場合、ニューロン４１３内の重みが増大し、ニューロン４０９は、ニューロン４１３内のアルゴリズムの出力のためにより高い値を受け取る。これらの重みは、ＲＮＮ４２４内のニューロンの１つ、それより多く、又は全てについて調整可能であり、信頼性の高い出力が、出力層４０７から生じる。そうした調整は、手動で又は自動的に行うことができる。
【００７２】
手動で調整される場合、重みは、出力層４０７からの出力が期待値と合致するまで、ユーザ、センサ論理等によって繰り返し調整される。例えば、入力層４０３が、図３に示されるオフェンス３０１によって表される特定のデータ値を受信すると仮定する。出力層４０７からの出力が、既知のセキュリティ攻撃を正確に記述することができないベクトルである場合、出力層４０７によって生成されたベクトルが、既知のセキュリティ攻撃（又は、既知のセキュリティ攻撃の予測）と関連付けられる値を有するまで、ＲＮＮ４２４内のニューロンの１つ又は複数の重み（及び、代替的にアルゴリズム）が調整される。
【００７３】
自動的に調整される場合、各重み値をどの方向に調整すべきかを決定する「勾配降下（gradient descent）」法を用いることによりニューロンの重み値を調整する「逆伝播（back propagation）」を用いて、重み（もしくはアルゴリズム又はその両方）が調整される。この勾配降下プロセスは、出力層４０７からの出力が改善する（例えば、特定のセキュリティ攻撃を表すこともしくは予測すること、又はその両方により近づく）まで、各ニューロンにおける重みを特定の方向に移動させる。
【００７４】
種々の実施形態で用いられる他のタイプの機械学習プロセス／アルゴリズムは、サポート・ベクトル・マシン（線形ベクトルで整列するようにデータを訓練させる）、線形回帰（スカラー変数と１つ又は複数の独立変数との間の関係をモデル化する）、ロジスティック回帰（バイナリ従属変数に適用される）などを含む。
【００７５】
図３に戻ると、このように、決定モデル３０７が、（ブロック３０３、３０５もしくは３２４又はその組み合わせで示されるＭＬモデル１〜３の１つ又は複数の出力に基づいて）認識されたオフェンスを閉鎖すべきか（ブロック３０９）、従って、データベース３２０内で閉鎖されたものとしてマーク付けすべきか、又は認識されたオフェンスをエスカレートさせるべきか（ブロック３１７）を決定することが可能である。オフェンスがエスカレートされる場合、通知／チケットが、クライアント３１８（図２に示される自動セキュリティ・システム２１８に類似した）、プロファイル相関器３０８（図２に示されるプロファイル相関器２０８に類似した）、マスターＡＩエンジン３１４（図２に示されるマスターＡＩシステム２１４に類似した）、もしくは規則分析エンジン３１０（図２に示される規則分析２１０に類似した）、又はその組み合わせに送られる。
【００７６】
従って、ＡＴＤＳシステム３０６は、信頼閾値を用いて各々の着信する警告に対するオフェンス・ディスポジション分類（エスカレート対閉鎖）を提供する１つ又は複数の（好ましくは、図３に示されるように少なくとも３つの）別個のアルゴリズムを含む。このように、決定モデル３０７は、設定された閾値及び決定論理に基づいて、オフェンスを閉鎖又は自動エスカレートさせ、エスカレートした警告が、プロファイル相関器３０８、規則分析エンジン３１０及びマスターＡＩエンジン３１４、並びにクライアント３１８に転送される。
【００７７】
図５は、本発明の１つ又は複数の実施形態で使用される例示的なプロファイル相関器を示す。
【００７８】
図５に示されるように、プロファイル相関器５０８（図２に示されるプロファイル相関器２０８に類似した）は、ＡＴＤＳ５０６（ＡＴＤＳ機械学習システム２０６に類似した）からのオフェンス・ベクトル入力と、顧客アセット・プロファイル・データベース５２０（図２に示される顧客アセット・プロファイル・データベース２２０に類似した）からのプロファイル入力とを取得する。次いで、顧客プロファイルが、クリーニングされ、変換され、文字列に変換される。
【００７９】
例えば、クライアントＡについてのクライアント・プロファイル５０３は、クライアントがどこに位置するか（Ｇｉ，Ｇｊ）、クライアントがどんなタイプの産業で働いているか（Ｉｊ）、クライアントが使用するＩＴ機器のタイプ（Ｔｉ，Ｔｍ，Ｔｎ）、クライアントがどのタイプのログ・ソースを使用するか（Ｌｉ，Ｌｐ，Ｌｑ）、ＩＴシステムを保護するために、そのクライアントによってどんなタイプのセキュリティ・システムが使用されるか（Ｓｐ，Ｓｔ，Ｓｆ等）、及びそのクライアントによってどんな重要なビジネス・アプリケーションが使用されるか（Ａｉ，Ａｐ，Ａｌ等）を記述する文字列データを含む。次に、この情報はトークン化され（すなわち、データについての機密情報を明らかにすることなく、機密（sensitive）データが、データについての必要な情報を保持する一意の識別記号に置き換えられる）、ブロック５０５に示されるように、オフェンスをエスカレートさせるか又は中止するかを判断する際に特定のタイプのクライアント・プロファイル情報がどれだけ重要であるかを判断する、単語頻度・逆文書頻度（term frequency-inverse document frequency、ＴＦ−ＩＤＦ）アルゴリズムなどのアルゴリズムを用いて、ベクトル化される（もしくは重み付け又はその両方が行われる）。つまり、ＴＦ−ＩＤＦアルゴリズムは、オフェンス評価アルゴリズムにおけるそれらの発生頻度に基づいて、特定のタイプのプロファイル情報がこの判断に重要であると識別する。
【００８０】
プロファイル相関器５０８は、自然言語処理（ＮＬＰ）方法５０１を用いて、類似した情報技術（ＩＴ）プロファイルを有するクライアント（例えば、クライアントＡ、クライアントＢなど）の間の類似性を識別する。
【００８１】
コサイン類似性アルゴリズムを用いて、顧客の文字列データの各セットについて、類似性スコアが計算される（ブロック５０７参照）。指定された閾値（ｘ％）を上回る類似性スコアを有するクライアントは、フィルタ処理され、示されるＡＩマスター５１４（図２に示されるＡＩマスター・システム２１４に類似した）などのマスターＡＩエンジンに出力される。
【００８２】
図６は、本発明の１つ又は複数の実施形態で使用される例示的な高度な規則分析器としての規則分析エンジン６１０（図２に示される規則分析２１０に類似した）を示す。
【００８３】
ＡＴＤＳ６０６（図２に示されるＡＴＤＳ機械学習システム２０６に類似した）及びクライアントＳＩＥＭ６２２（図２に示されるＳＩＥＭ規則２２２に類似した）からの入力が、規則分析エンジン６１０に入力される。ＡＴＤＳ６０６からの例示的な入力は、図２の表２０４に記載される規則の１つについての規則名である。ＳＩＥＭ６２２からの例示的な入力は、ＳＩＥＭ６２２内のツール又は規則ライブラリ内に見出される名前付き規則を記述するもしくは実装する又はその両方を行う拡張可能マークアップ言語（ＸＭＬ）ファイルである。
【００８４】
解析（parse）規則論理６０２は、受信した規則を解析して整然形式（tidy format）（例えば、表形式）にし、ＮＬＰ文字列方法を、規則の変換のために適用する。つまり、規則内の用語は、ＮＬＰ方法６０１（図５に示されるＮＬＰ方法５０１に類似した）によって種々の語／句に解析され、次に、それらの語／句は、互いに対する近接、文脈及び頻度の関係に従ってグラフで記述される。解析規則論理６０２によるこの解析／変換により、規則をテストする際に使用されるテスト条件６０４の記述がもたらされる（例えば、どのタイプのテスト・アルゴリズムもしくは機械学習システム又はその両方を使用すべきか、どのタイプのハードウェアを使用すべきかなど）。
【００８５】
また、解析規則論理６０２による規則の解析／変換は、ブロック６０６に示されるように、規則をテストするために、どのログ・ソース（例えば、テレメトリ・データのソース、ソーシャル・メディア・コメント等）を使用すべきかの記述ももたらす。
【００８６】
また、解析規則論理６０２による規則の解析／変換は、ブロック６０８に記載されるように、規則をテストする際に使用すべき規則の閾値の記述ももたらす。例えば、規則は、着信する電子メールの９０％が未知のＩＰアドレスからのものである場合、チケットを発行すべきであると述べることができる。この例では、「９０％」は、チケットを発行するために到達する必要がある規則の閾値である。
【００８７】
また、解析規則論理６０２による規則の解析／変換は、規則をテストする際もしくは使用する際、又はその両方に使用されるべき演算子６１２の記述子ももたらす。例えば、規則の用語もしくは入力又はその両方の規則へのマッピングのような演算子は、そうした用語／入力を論理木、ベクトル空間等に割り当てて記述する。
【００８８】
このように、テスト条件６０４、ログ・ソース・タイプ（ブロック６０６）、閾値（ブロック６０８）及び演算子６１２は、解析規則論理６０２によって規則から抽出される。
【００８９】
さらに、ブロック６１４に示されるように、クライアント特有の情報（例えば、名前、口座番号、産業のタイプ等）が、規則から取り除かれる。
【００９０】
ブロック６１６に示されるように、次に、規則は、規則テンプレートにアセンブルすることができる個々のベクトル・コンポーネント（例えば、オフェンスをエスカレートさせるのに必要な、規則内に記述される述語条件）に分解される。
【００９１】
ベクトル化された規則テンプレートは、マスターＡＩ６１４（図２に示されるＡＩマスター・システム２１４に類似した）として図６に示されるマスターＡＩエンジンに出力される。
【００９２】
ここで図７を参照すると、本発明の１つ又は複数の実施形態で使用される例示的な規則人工知能（ＡＩ）システムが提示される。
【００９３】
図７に示されるように、規則ＡＩシステム７１２（図２に示される規則ＡＩ機械学習システム２１２に類似した）は、脅威インテリジェンス・フィード７０１、ＳＩＥＭ７２２（図２に示されるＳＩＥＭ規則２２２に類似した）及びセキュリティ・ソリューション７０３から入力を受け取る。
【００９４】
脅威インテリジェンス・フィード７０１は、図２に示されるテレメトリ・ソース２５２、ログ・ソース２２６及びドメイン・インテリジェンス・マッピング２２８からのフィードを含む。
【００９５】
セキュリティ・ソリューション７０３は、ファイアウォールをより高いレベルのトラフィック制限に引き上げる、特定のＩＴデバイスの電源をオフにするなど、事前に確立されたセキュリティ侵害（security breach）に対するソリューションである。
【００９６】
図７に示されるように、規則に必要な特徴を構築するために、フロー条件７０５、イベント条件７０７、オフェンス条件７０９、挙動条件７１１、及び種々の規則条件７１３が解析される（ブロック７１５）。
【００９７】
フロー条件７０５は、規則をトリガするために特定のイベントを行う必要がある順序を記述する。例えば、イベントＥ１、Ｅ２及びＥ３は、規則Ｒ１をトリガするために、その順序で行う必要がある。これらのイベントがＥ１、Ｅ３及びＥ２の順序で行われた場合、規則Ｒ１はトリガされない。
【００９８】
イベント条件７０７は、規則をトリガするために行う必要があるイベントを記述する。例えば、例示的なイベントＥ１は、ブラックリストに載っているＩＰからの電子メールの受信とすることができ、例示的なイベントＥ２は、電子メールを受信したコンピュータにおける電力サージとすることができ、例示的なイベントＥ３は、コンピュータのシャットダウンとすることができる。
【００９９】
オフェンス条件７０９は、オフェンスをトリガするために行う必要があるイベント、並びにその順序、タイミングなどを記述する。
【０１００】
挙動条件７１１は、オフェンスをトリガするためにコンピュータがどのように挙動しなければならないか（例えば、処理スループット、利用可能な帯域幅など）を記述する。例えば、イベントが行われた後でも、コンピュータは、規則がこれを禁止していなくても、ウェブ・ブラウザを起動するなどの特定の方法で挙動する必要がある。
【０１０１】
種々の規則条件７１３は、システムが特定の規則を作成する際に考慮されるべき任意のユーザ定義条件である。
【０１０２】
規則ＡＩシステム７１２によって新しい規則が最初に生成されると（ブロック７１５参照）、新しい規則が、機械学習モデル７１７を訓練するために使用される。例えば、本発明の１つの実施形態において、新しく作成された規則をエミュレートするために、図４に示されるＲＮＮ４２４のようなニューラル・ネットワークが構築される。ＲＮＮ４２４に供給されるトリガ・イベントが、コンピュータ・システムのセキュリティに対するオフェンスが発生したことを示すＲＮＮ４２４からの出力をもたらすまで、ＲＮＮ４２４は調整される（例えば、アルゴリズム、出力値、ニューロンの１つ又は複数の中の重みを調整することによって）。
【０１０３】
本発明の１つの実施形態において、機械学習モデル７１７は、サポート・ベクトル・マシン（ＳＶＭ）などのアルゴリズムを使用する教師あり（supervised）機械学習分類モデルである。
【０１０４】
本発明の１つの実施形態において、規則ＡＩシステム７１２である教師あり機械学習ベースのシステムは、異なる閾値タイプ（頻度、カウント、時間）についての種々の学習モデルを用いて、規則ライブラリ／ＳＩＥＭツール、セキュリティ・ベンダーの規則などから入力テスト条件を取得する。
【０１０５】
ブロック７１９に示されるように、規則閾値が予測され、ＡＩマスター７１４（図２に示されるＡＩマスター・システム２１４に類似した）に送られる。つまり、規則ＡＩシステム７１２がテスト条件及び設計特徴を解析すると、深層学習システムを訓練するために、規則閾値（すなわち、規則の条件においてどの閾値を超える必要があるか）が設定され、ラベル付けされる。
【０１０６】
ここで図８を参照して、本発明の１つ又は複数の実施形態で使用される例示的なマスターＡＩ８１４（図２に示されるＡＩマスター・システム２１４に類似した）が提示される。
【０１０７】
マスターＡＩ８１４は、システム・コンポーネントの全てからの出力を統合し、プロファイル相関器によって照合されたクライアントについてのカスタム規則を生成する最終的なソリューション・インテグレータである。
【０１０８】
マスターＡＩ８１４は、プロファイル相関器８０８（図２に示されるプロファイル相関器２０８に類似した）、規則ＡＩエンジン８１２（図２に示される規則ＡＩ機械学習システム２１２に類似した）、規則分析エンジン８１０（図２に示される規則分析２１０に類似した）、及びＡＴＤＳ８０６（図２に示されるＡＴＤＳ機械学習システム２０６に類似した）から、入力を取得する。
【０１０９】
これらの入力を用いて、マスターＡＩ８１４は、各クライアントのアセット・プロファイル（すなわち、どのコンピュータ・リソースがクライアントによって使用されるか）、顧客プロファイル（例えば、クライアントは、どのタイプの産業で働いているか）などを含むプロファイル情報８０２を用いて、各々の合致したクライアントのためのカスタム規則を生成する。さらに、プロファイル情報８０２は、コンピュータ・システムにおける異常を報告するために使用されるログ・ソース・タイプ、特定のクライアントのための規則を設計するために使用される規則設計テンプレート、クライアントのための規則をトリガするのに必要とされる予測閾値、セキュリティ脅威を記述する外部脅威インテリジェンス、及びオフェンスを作業チケット、警告などにエスカレートさせるために、どんな条件の属性をもたらす必要があるかを記述するエスカレートされたオフェンス属性などの情報を含む。
【０１１０】
ブロック８０４、８１６、８１８及び８２０に示されるように、マスターＡＩ８１４は、新しい規則を生成すること（ブロック８０４及び８１８）、並びに生成された各々のカスタム規則についてチケッティング・システムにおける新しいオフェンスを生成すること（ブロック８１６及び８２０）も可能である。つまり、マスターＡＩ８１４は、（ＮＬＰ８０１を用いてプロファイル情報８０２から情報を抽出することによって）新しい規則を生成できるだけでなく、新しい規則に違反していることを記述する新しいオフェンスを生成することもできる。
【０１１１】
図８に示されるように、次に、マスターＡＩ８１４は、新しい規則が生成されたこと、もしくは新しいオフェンスが発生したこと、又はその両方をセキュリティ・リソース８２２に通知する。例えば、本発明の１つの実施形態において、ＳＩＥＭ、チケッティング・システム、インシデント報告プラットフォーム（ＩＲＰ）、クライアント報告システム、及び情報ポータルと同様に、新しい規則もしくはオフェンス又はその両方が、クライアントに通知される。マスターＡＩ８１４はまた、使用事例／規則ライブラリ、脅威インテリジェンス（ＴＩ）ソース、及びベンダー・システムにも、新しい規則もしくはオフェンス又はその両方を知らせる。
【０１１２】
ここで図９を参照して、本発明の１つ又は複数の実施形態に従って実行される１つ又は複数のステップの高レベル・フローチャートが提示される。
【０１１３】
開始プログラム（initiator）ブロック９０１の後、ブロック９０３に記載されるように、１つ又は複数のプロセッサ（例えば、図１に示されるプロセッサ１５２）が、複数のクライアント・プロファイルを人工知能（ＡＩ）システムに入力する。この複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている。つまり、クライアント・プロファイルは、図８に示されるクライアント情報８０２などの情報を含む。
【０１１４】
ブロック９０５に記載されるように、プロセッサは、新しいクライアントについての新しいクライアント・プロファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。例えば、本明細書に記載されるマスターＡＩシステムは、図２に示されるクライアントＣ１についてのクライアント情報８０２（すなわち、クライアント・プロファイル）を、図２に示されるクライアントＣ２についての異なるクライアント情報８０２と比較する。
【０１１５】
本発明の種々の実施形態において、システムは、新しい規則を、クライアントＣ２などのクライアントに割り当てるための代替的ステップを取る。
【０１１６】
一実施形態において、ブロック９０７に記載されるように、プロセッサは、新しいクライアント・プロファイルとそれぞれのクライアント・プロファイルとの類似性尺度に基づいて、新しいクライアントのための新しい規則のセットを構築する。つまり、この実施形態において、マスターＡＩシステムは、クライアントＣ２を別のクライアント（例えば、クライアントＣ１）と比較することによって、クライアントＣ２のための規則を構築する。本発明の１つの実施形態において、次に、マスターＡＩシステムは、クライアントＣ１によって現在使用される規則の組み合わせであるクライアントＣ２のための規則を作成する。
【０１１７】
別の実施形態において、ブロック９０９に記載されるように、プロセッサは、特定のクライアントによって使用される規則に基づいて、新しいクライアントのための新しい規則を構築する。例えば、表２０４に示されるように、クライアントＣ２は、クライアントＣ１によって使用される規則Ｒ２の修正されたバージョンである新しい規則Ｒ２’を取得する。
【０１１８】
別の実施形態において、ブロック９１１に記載されるように、プロセッサは、新しいクライアント・プロファイルがそれぞれのクライアント・プロファイルに合致することに基づいて、単に、規則を特定のクライアントから新しいクライアントに割り当てる。つまり、クライアントＣ２のプロファイルがクライアントＣ１のプロファイルと合致する場合、クライアントＣ１によって使用されるいずれの規則（規則Ｒ２を含む）も、クライアントＣ２による使用のために割り当てられ、その逆もまた同様である。
【０１１９】
本発明の１つの実施形態において、新しいクライアント（すなわち、クライアントＣ２）への規則の作成／割り当ては、ブロック９０７、９０９もしくは９１１、又はその組み合わせに記載されるプロセスの組み合わせである。
【０１２０】
ブロック９１３に記載されるように、次に、プロセッサは、新しい規則のセットに対する違反が発生したことを示す情報を受信する（例えば、今や、クライアントＣ２の機器に関して規則Ｒ２に違反している）。
【０１２１】
ブロック９１５に記載されるように、プロセッサは、新しい規則のセットに違反していることに応答して、コンピュータ・システムのセキュリティ機能を実行し、新しい規則のセットに対する違反を解決する。例えば、ファイアウォールをアップグレードし、ストレージ・デバイスをシャットダウンして、オフェンス（新しい規則のセットに対する違反）に対処することができる。
【０１２２】
フローチャートは、終了ブロック９１７で終了する。
【０１２３】
本発明の１つの実施形態において、プロセッサは、新しい規則のセットをベクトル化してベクトル化された規則セットを作成し、次に、新しい規則のセットのベクトル化された規則セットをＡＩシステムに入力し、新しい規則のセットを侵入検出警告履歴に対してテストすることによって、新しい規則のセットをテストする。
【０１２４】
つまり、新しい規則のセット（例えば、図２に示される規則Ｒ２又は規則Ｒ２’）は、最初に、複数のコンポーネント（アクション、イベント、時間関係、影響を受けるエンティティ、単語、用語、文脈関係など）のベクトルに分けられる。例えば、「クライアントＣにＹが発生して５分以内にＸが発生した場合、アクションＺを実行する」という規則は、「Ｘ，Ｙ」（アクション）、「発生する（happen）／発生している（happening）」（イベント）、「５分」（時間関係）及び「クライアントＣ」（影響を受けるエンティティ）といったコンポーネントに分けることができる。次いで、これらのコンポーネントを、論理ベクトルで（例えば、リレーショナル・ツリーで）表示し、新しい規則のセットに基づいて、ベクトル化された規則セットを作成する。つまり、ベクトル化は、規則のセットを複数のコンポーネントに分け、次いで、それらの複数のコンポーネントを、規則セットの異なるコンポーネント間の関係を記述するツリーなどのリレーショナルグラフで示す。
【０１２５】
次いで、このベクトル化された規則セットは、１又は複数のクライアントの侵入検出警告履歴に基づいて侵害を認識するように訓練されているＡＩシステム（例えば、図４に示されるＲＮＮ４２４）に入力される。従って、ベクトル化された規則セットを図４に示されるＲＮＮ４２４の入力層４０３に入力することによって、出力層４０７は、（新しい規則セットが、特定のタイプの侵害を認識するように適切に立案された場合）その特定のタイプの侵害を反映することになる。
【０１２６】
本発明の１つの実施形態において、プロセッサは、自然言語処理（ＮＬＰ）を適用して、新しいクライアントの環境と特定のクライアントの環境との間の類似性を判断し、次に、新しいクライアントの環境と特定のクライアントの環境との間の類似性に基づいて、新しいクライアントのプロファイルをそれぞれのクライアントのプロファイルと照合する。
【０１２７】
例えば、図５のプロファイル・コンテナ５０８内のプロファイルに示されるクライアントＡについての特徴は、特定のＩＴ環境（例えば、タイプＹのサーバをサポートするタイプＸのネットワークにおけるタイプＷのクライアント・コンピュータ、その全てがタイプＺのファイアウォールによって保護される）を記述すると仮定する。さらに、図５に記載されるクライアントＢもまた、タイプＹのサーバをサポートするタイプＸのネットワークにおけるタイプＷのクライアント・コンピュータを有し、その全てがタイプＺのファイアウォールによって保護されると仮定する。従って、クライアントＡ（図２に示されるクライアントＣ１に類似した）が規則Ｒ２を使用する場合、クライアントＢ（図２に示されるクライアントＣ２に類似した）には、同じ規則Ｒ２、又は少なくともＲ２から導出された規則（Ｒ２’）が割り当てられる。
【０１２８】
本発明の１つの実施形態において、ＡＩシステムは新しい規則のセットを作出し、新しい規則のセットは、それぞれの規則に対する警告を含み、ＡＩシステムは、新しい規則のセットを、コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する。つまり、ＡＩシステムは、新しい規則のセット（既存の規則の直接コピー又は既存の規則の派生物、又は代替的に、他のクライアントによって使用される他の規則から導出されない完全に新しい規則）を作出するだけでなく、新しい規則のセットに違反したことも検出し、規則違反の結果として生じる警告（すなわち、オフェンス）を作成し、新しい規則のセットを、影響を受けるコンピュータ・システムのためのセキュリティ・システム（例えば、ファイアウォール、セキュリティ管理者など）に送る。
【０１２９】
本発明の１つの実施形態において、プロセッサは、新しい規則のセットを侵入検出システムにインストールする。例えば、新しい規則のセットは、新しい規則のセットを実装し、それに応じて（例えば、図２に示されるテレメトリ・ソース２２４からの信号に応答して）それらを作用させ、クライアント・コンピュータ１５４を保護する、図１に示される侵入検出システム１５６にインストールされる。
【０１３０】
このように、本明細書に記載された本発明の１つ又は複数の実施形態は、類似したプロファイル（例えば、同じ産業、同じ地理的地域にいるなど）を有する全てのクライアントについてのセキュリティ検出範囲を大幅に向上させる。つまり、２人のクライアントが類似したプロファイルを有する場合、これらのクライアントが使用するセキュリティ規則は、これら全てが同じ（又は、少なくとも類似した）セキュリティ規則のセットを使用するように調和される。
【０１３１】
本発明はまた、本明細書に記載される方法でＡＴＤＳ及び自動規則生成器を用いて、脅威検出時間も大幅に短縮する。つまり、ＡＴＤＳがセキュリティ侵害を自動的に検出し、セキュリティ問題の検出時に、自動規則生成器（例えば、クライアントＣ２とクライアントＣ１との類似性に基づいて規則Ｒ２をクライアントＣ２に割り当てることで、より正確なクライアントＣ２のためのセキュリティ検出システムが作成され、従って、脅威検出時間が短縮する。
【０１３２】
従って、本発明は、従来技術とは異なるセキュリティ検出ソリューションを提供する。つまり、従来技術では、新しい規則違反に基づいて警告／オフェンスを自動的に作成するために、本明細書に記載されるような機械学習を使用しない（図８参照）。さらに、従来技術は、類似したクライアントのアセット・プロファイルを相関させることに基づいて、ＮＬＰメソッドを用いて規則を自動的に生成しない（図５〜図７参照）。
【０１３３】
１つ又は複数の実施形態において、本開示は、クラウド・コンピューティングを用いて実装される。それにもかかわらず、本発明は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを予め理解されたい。むしろ、本発明の実施形態は、現在既知の又は後で開発される他のいずれかのタイプのコンピューティング環境と共に実装することができる。
【０１３４】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニングされ、かつ解放されることが可能である構成可能なコンピューティング・リソース（例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス）の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも５つの特徴、少なくとも３つのサービス・モデル、及び少なくとも４つのデプロイメント・デルを含むことができる。
【０１３５】
特徴は、以下の通りである。
【０１３６】
オンデマンド・セルフサービス：クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
【０１３７】
広範なネットワーク・アクセス：機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム（例えば、携帯電話、ラップトップ、及びＰＤＡ）による使用を促進する標準的な機構を通じてアクセスされる。
【０１３８】
リソース・プール化：プロバイダのコンピューティング・リソースは、マルチテナント・モデルを用いて複数のコンシューマにサービスを提供するためにプールされ、異なる物理及び仮想リソースが要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で、位置とは独立しているといえるが、より抽象化レベルの高い位置（例えば、国、州、又はデータセンタ）を特定できる場合がある。
【０１３９】
迅速な弾力性：機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングしてすばやくスケールアウトし、迅速に解放して素早くスケールインすることができる。コンシューマにとって、プロビジョニングに利用可能な能力は、多くの場合、無制限であるように見え、いつでもどんな量でも購入できる。
【０１４０】
サービスの測定：クラウド・システムは、サービスのタイプ（例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント）に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【０１４１】
サービス・モデルは、以下の通りである。
Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＳａａＳ）：コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。これらのアプリケーションは、ウェブ・ブラウザ（例えば、ウェブベースの電子メール）などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を想定される例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション能力をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
【０１４２】
Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＰａａＳ）：コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作成された、コンシューマが作成又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーションをホストする環境構成を制御する。
【０１４３】
Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ（ＩａａＳ）：コンシューマに提供される機能は、コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイして実行させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワークコンポーネント（例えば、ホストのファイアウォール）選択に対する限定された制御を有する。
【０１４４】
デプロイメント・モデルは以下の通りである。
【０１４５】
プライベート・クラウド：クラウド・インフラストラクチャは、ある組織のためだけに運営される。１つ又は複数の実施形態において、これは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【０１４６】
コミュニティクラウド：クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項（例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項）を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【０１４７】
パブリック・クラウド：クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループによって利用可能であり、クラウド・サービスを販売する組織によって所有される。
【０１４８】
ハイブリッドクラウド：クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術（例えば、クラウド間の負荷平衡のためのクラウドバースティング）によって互いに結び付けられた、２つ以上のクラウド（プライベート、コミュニティ、又はパブリック）の混成物である。
【０１４９】
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置く。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【０１５０】
ここで図１０を参照すると、例示的なクラウド・コンピューティング環境５０が示される。図示のように、クラウド・コンピューティング環境５０は、例えば、携帯情報端末（ＰＤＡ）もしくはセルラ電話５４Ａ、デスクトップ・コンピュータ５４Ｂ、ラップトップ・コンピュータ５４Ｃもしくは自動車コンピュータ・システム５４Ｎ又はその組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信することができる、１つ又は複数のクラウド・コンピューティング・ノード１０を含む。ノード１０は、互いに通信することができる。ノード１０は、上述されるプライベート・クラウド、コミュニティクラウド、パブリック・クラウド、又はハイブリッドクラウド、又はその組み合わせなどの、１つ又は複数のネットワークにおいて物理的に又は仮想的にグループ化することができる（図示せず）。このことは、クラウド・コンピューティング環境５０が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないＩｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、Ｐｌａｔｆｏｒｍ  ａｓ  ａ  ＳｅｒｖｉｃｅもしくはＳｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ又はその組み合わせを提供することを可能にする。図１０に示されるコンピューティングデバイス５４Ａ〜５４Ｎのタイプは、単に例示的であることが意図され、コンピューティング・ノード１０及びクラウド・コンピューティング環境５０は、任意のタイプのネットワークもしくはネットワークアドレス指定可能な接続又はその両方を介して任意のタイプのコンピュータ化されたデバイスと通信することが可能である（例えば、ウェブ・ブラウザを用いて）ことが理解される。
【０１５１】
ここで図１１を参照すると、クラウド・コンピューティング環境５０（図１０）によって提供される機能抽象化層のセットが示される。図１１に示されるコンポーネント、層及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【０１５２】
ハードウェア及びソフトウェア層６０は、ハードウェア・コンポーネント及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム６１、ＲＩＳＣ（Reduced Instruction Set Computer（縮小命令セットコンピュータ））アーキテクチャベースのサーバ６２、サーバ６３、ブレードサーバ６４、ストレージ・デバイス６５、並びにネットワーク及びネットワーキングコンポーネント６６が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア６７と、データベース・ソフトウェア６８とを含む。
【０１５３】
仮想化層７０は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ７１、仮想ストレージ７２、仮想プライベート・ネットワークを含む仮想ネットワーク７３、仮想アプリケーション及びオペレーティング・システム７４、並びに仮想クライアント７５を提供することができる。
【０１５４】
一例において、管理層８０は、以下で説明される機能を提供することができる。リソース・プロビジョニング８１が、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定８２は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマ及びタスクについての識別検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザポータル８３は、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理８４は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割当て及び管理を提供する。サービス・レベル・アグリーメント（Service Level Agreement、ＳＬＡ）の計画及び履行８５は、ＳＬＡに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【０１５５】
１つ又は複数の実施形態において、ワークロード層９０は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例として、マッピング及びナビゲーション９１、ソフトウェア開発及びライフサイクル管理９２、仮想教室教育配信９３、データ分析処理９４、トランザクション処理９５、及び本明細書で説明される本発明の特徴の１つ又は複数を実行するセキュリティ制御処理９６が挙げられる。
【０１５６】
本明細書で用いられる用語は、特定の実施形態を説明することのみを目的とし、本開示を限定することを意図したものではない。本明細書内で用いられる場合、単数形「１つの（a）」、「１つの（an）」及び「その（the）」は、文脈がそうでないことを明確に示していない限り、複数形も含むことを意図している。さらに、用語「含む（comprise）」もしくは「含んでいる（comprising）」又はその両方は、本明細書において使用されるとき、記載される特徴、整数、ステップ、動作、要素もしくはコンポーネント又はその組み合わせの存在を明示するが、１つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネントもしくはグループ又はその組み合わせの存在も又は追加も排除しないことがさらに理解されるであろう。
【０１５７】
以下の特許請求の範囲における「手段又はステップと機能との組合せ（ミーンズ又はステップ・プラス・ファンクション）」要素の対応する構造、材料、動作及び均等物は、明確に特許請求された他の特許請求される要素と共に機能を実行するための任意の構造、材料、又は動作を含むことを意図したものである。本発明の種々の実施形態の説明は、例証及び説明のためだけに提示されたものであり、網羅的であること又は本発明を開示した形態に限定することを意図したものではない。当業者には、本発明の範囲及び趣旨から逸脱することなく、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理、実際の用途を最も良く説明するため、及び考えられる特定の使用に適するものとして種々の変形を有する種々の実施形態において、当業者が、本発明を理解するのを可能にするために、選択され説明された。
【０１５８】
本発明の１つ又は複数の実施形態において、本発明において説明されるいずれの方法も、ＶＨＤＬ（ＶＨＳＩＣハードウェア記述言語）プログラム及びＶＨＤＬチップを用いて実装される。ＶＨＤＬは、フィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）及び他の類似の電子デバイスのための例示的な設計入力言語である。従って、本発明の１つ又は複数の実施形態において、本明細書で説明されるいずれのソフトウェア実装方法も、ハードウェアベースのＶＨＤＬプログラムによってエミュレートされ、次にこれは、ＦＰＧＡのようなＶＨＤＬチップに適用される。
【０１５９】
このように本出願の本発明の実施形態を詳細に説明し、その例証的な実施形態を参照すると、添付の特許請求の範囲に定められる本発明の範囲から逸脱することなく、修正及び変形が可能であることが明らかであろう。
【図１】
2022502732.tif 000003
【図２】
2022502732.tif 000004
【図３】
2022502732.tif 000005
【図４】
2022502732.tif 000006
【図５】
2022502732.tif 000007
【図６】
2022502732.tif 000008
【図７】
2022502732.tif 000009
【図８】
2022502732.tif 000010
【図９】
2022502732.tif 000011
【図１０】
2022502732.tif 000012
【図１１】
2022502732.tif 000013
【国際調査報告】
2022502732.tif 000014
2022502732.tif 000015