(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-15
(45)【発行日】2023-08-23
(54)【発明の名称】人工知能支援による規則生成
(51)【国際特許分類】
H04L 67/56 20220101AFI20230816BHJP
G06F 21/55 20130101ALI20230816BHJP
G06F 40/205 20200101ALI20230816BHJP
【FI】
H04L67/56
G06F21/55
G06F40/205
(21)【出願番号】P 2021512938
(86)(22)【出願日】2019-10-02
(86)【国際出願番号】 IB2019058365
(87)【国際公開番号】W WO2020075011
(87)【国際公開日】2020-04-16
【審査請求日】2022-04-18
(32)【優先日】2018-10-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】バーティア、アアンカー
(72)【発明者】
【氏名】タマラペンタ、スリーニバス、バブ
(72)【発明者】
【氏名】ゴ、フヤン、ディン
(72)【発明者】
【氏名】アギレラ、カルロス
【審査官】前田 健人
(56)【参考文献】
【文献】米国特許出願公開第2014/0330756(US,A1)
【文献】米国特許出願公開第2017/0374082(US,A1)
【文献】特開2018-032354(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
G06F 21/00
G06F 40/205
(57)【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサによって、複数のクライアント・プロファイルを人工知能(AI)システムに入力することであって、前記複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている、入力することと、
前記1つ又は複数のプロセッサによって、新しいクライアントについての新しいクライアント・プロファイルを、前記複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合することであって、前記それぞれのクライアント・プロファイルは前記複数のクライアントからの特定のクライアントについてのものである、照合することと、
前記1つ又は複数のプロセッサによって、前記新しいクライアント・プロファイルと前記それぞれのクライアント・プロファイルとの類似性尺度に基づいて、前記新しいクライアントのための新しい規則のセットを構築することと、
前記1つ又は複数のプロセッサによって、前記新しい規則のセットに対する違反が発生したことを示す情報を受信することと、
前記新しい規則のセットに違反していることに応答して、前記1つ又は複数のプロセッサによって、前記新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、前記新しい規則のセットに対する前記違反を解決することと
を含む、方法。
【請求項2】
前記1つ又は複数のプロセッサによって、前記新しい規則のセットをベクトル化し、ベクトル化した規則セットを作成することと、
前記1つ又は複数のプロセッサによって、前記新しい規則のセットの前記ベクトル化した規則セットを前記AIシステムに入力し、前記新しい規則のセットを前記侵入検出警告履歴に対してテストすることによって、前記新しい規則のセットをテストすることと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記1つ又は複数のプロセッサによって、自然言語処理(NLP)を適用し、前記新しいクライアントの環境と前記特定のクライアントの環境との間の類似性を判断することと、
前記1つ又は複数のプロセッサによって、前記新しいクライアントの前記環境と前記特定のクライアントの前記環境との間の前記類似性に基づいて、前記新しいクライアント・プロファイルを前記それぞれのクライアント・プロファイルと照合することと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記AIシステムは前記新しい規則のセットを作出し、前記新しい規則のセットはそれぞれの規則に対する警告を含み、前記AIシステムは前記新しい規則のセットを前記コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する、請求項1に記載の方法。
【請求項5】
前記1つ又は複数のプロセッサによって、前記新しい規則のセットを侵入検出システムにインストールすることをさらに含む、請求項1に記載の方法。
【請求項6】
1つ又は複数のプロセッサによって、複数のクライアント・プロファイルを人工知能(AI)システムに入力することであって、前記複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている、入力することと、
前記1つ又は複数のプロセッサによって、新しいクライアントについての新しいクライアント・プロファイルを、前記複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合することであって、前記それぞれのクライアント・プロファイルは前記複数のクライアントからの特定のクライアントについてのものである、照合することと、
前記1つ又は複数のプロセッサによって、前記特定のクライアントが使用する規則に基づいて、前記新しいクライアントのための新しい規則を構築することと、
前記1つ又は複数のプロセッサによって、前記新しい規則に対する違反が発生したことを示す情報を受信することと、
前記新しい規則に違反していることに応答して、前記1つ又は複数のプロセッサによって、前記新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、前記新しい規則に対する前記違反を解決することと
を含む、方法。
【請求項7】
前記1つ又は複数のプロセッサによって、前記新しい規則をベクトル化し、ベクトル化した規則を作成することと、
前記1つ又は複数のプロセッサによって、前記ベクトル化した規則を前記AIシステムに入力し、前記新しい規則を前記侵入検出警告履歴に対してテストすることによって、前記新しい規則をテストすることと
をさらに含む、請求項6に記載の方法。
【請求項8】
前記1つ又は複数のプロセッサによって、自然言語処理(NLP)を適用し、前記新しいクライアントの環境と前記特定のクライアントの環境との間の類似性を判断することと、
前記1つ又は複数のプロセッサによって、前記新しいクライアントの前記環境と前記特定のクライアントの前記環境との間の前記類似性に基づいて、前記新しいクライアント・プロファイルを前記それぞれのクライアント・プロファイルと照合することと
をさらに含む、請求項6に記載の方法。
【請求項9】
前記AIシステムは前記新しい規則を作出し、前記新しい規則はそれぞれの規則に対する警告を含み、前記AIシステムは前記新しい規則を前記コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する、請求項6に記載の方法。
【請求項10】
前記1つ又は複数のプロセッサによって、前記新しい規則を侵入検出システムにインストールすることをさらに含む、請求項6に記載の方法。
【請求項11】
1つ又は複数のプロセッサによって、複数のクライアント・プロファイルを人工知能(AI)システムに入力することであって、前記複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている、入力することと、
前記1つ又は複数のプロセッサによって、新しいクライアントについての新しいクライアント・プロファイルを、前記複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合することであって、前記それぞれのクライアント・プロファイルは前記複数のクライアントからの特定のクライアントについてのものである、照合することと、
前記1つ又は複数のプロセッサによって、前記新しいクライアント・プロファイルが前記それぞれのクライアント・プロファイルに合致することに基づいて、前記特定のクライアントからの特定の規則を前記新しいクライアントに割り当てることと、
前記1つ又は複数のプロセッサによって、前記特定の規則に対する違反が発生したことを示す情報を受信することと、
前記特定の規則に違反していることに応答して、前記1つ又は複数のプロセッサによって、前記新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、前記特定の規則に対する前記違反を解決することと
を含む、方法。
【請求項12】
前記1つ又は複数のプロセッサによって、前記特定の規則をベクトル化し、ベクトル化した規則を作成することと、
前記1つ又は複数のプロセッサによって、前記ベクトル化した規則を前記AIシステムに入力し、前記特定の規則を前記侵入検出警告履歴に対してテストすることによって、前記特定の規則をテストすることと
をさらに含む、請求項11に記載の方法。
【請求項13】
前記1つ又は複数のプロセッサによって、自然言語処理(NLP)を適用し、前記新しいクライアントの環境と前記特定のクライアントの環境との間の類似性を判断することと、
前記1つ又は複数のプロセッサによって、前記新しいクライアントの前記環境と前記特定のクライアントの前記環境との間の前記類似性に基づいて、前記新しいクライアント・プロファイルを前記それぞれのクライアント・プロファイルと照合することと
をさらに含む、請求項11に記載の方法。
【請求項14】
前記AIシステムは前記特定の規則を作出し、前記特定の規則はそれぞれの規則に対する警告を含み、前記AIシステムは前記特定の規則を前記コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する、請求項11に記載の方法。
【請求項15】
前記1つ又は複数のプロセッサによって、前記特定の規則を侵入検出システムにインストールすることをさらに含む、請求項11に記載の方法。
【請求項16】
請求項1から請求項15までのいずれかに記載
の方法の全てのステップを実行するように適合された手段を含むシステム。
【請求項17】
コンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ・システム上で実行されたときに、
請求項1から請求項15までのいずれかに記載
の方法の全てのステップを実行するための命令を含む、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ・セキュリティの分野に関し、具体的には、規則ベースのコンピュータ・セキュリティに関する。さらに特定的には、本発明は、規則をコンピュータ・システムにデプロイすることに関する。
【背景技術】
【0002】
コンピュータ・セキュリティサービスは、カスタム規則を用いてログデータを取り込み、相関させ、警告を作成し、クライアントに攻撃の可能性を通知することを担う。そうしたサービスは、多くの場合、単一のベンダー(vendor)から世界中の何千ものクライアントに提供される。
【0003】
何千ものデータソース及びデバイスからの数十億ものログイベントを相関させることによって、日々、何千もの使用可能な(actionable)インテリジェンスイベント(例えば、「警告」)が生成される。これにより、サービスが、特定のコンピュータ・システム/アーキテクチャに特有の脅威を検出することが可能になる。つまり、そうしたシステムは、特定の情報技術(IT)環境(例えば、特定のハードウェア、ソフトウェア、ワークロード、企業形態など)に特有のカスタムのセキュリティ情報及びイベント管理(SIEM)規則を使用しており、従って、類似しているが僅かに異なるITプロファイルを有する他のクライアントに対して水平拡張されない。その結果、類似しているが僅かに異なるITドメインを有するクライアントに対する警告の生成、追跡、又は修正が行われない。そうしたクライアントのコンピュータ・システムは、規則の相関がないため、その環境において知られていない攻撃に気付かず、その影響を受けやすいままである。
【発明の概要】
【0004】
本発明の1つの実施形態において、方法は、コンピュータ・システムのための新しい規則のセット(new set of rules)を構築することによって、コンピュータ・システムのセキュリティを高める。1つ又は複数のプロセッサは、複数のクライアント・プロファイルを人工知能(AI)システムに入力し、複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析、及び複数のクライアントの侵入検出警告履歴(intrusion detection alert history)に基づいている。プロセッサは、新しいクライアントについての新しいクライアント・プロファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。プロセッサは、新しいクライアント・プロファイルとそれぞれのクライアント・プロファイルとの類似性尺度に基づいて、新しいクライアントのための新しい規則のセットを構築する。その後、プロセッサは、新しい規則セットに対する違反が発生したことを示す情報を受信し、新しい規則のセットに違反していることに応答して、新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、新しい規則のセットに対する違反を解決する。
【0005】
本発明の1つの実施形態において、方法は、別のクライアントが使用する規則に基づいて新しい規則を構築することによって、コンピュータ・システムのセキュリティを高める。1つ又は複数のプロセッサは、複数のクライアント・プロファイルを人工知能(AI)システムに入力し、複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析、及び複数のクライアントの侵入検出警告履歴に基づいている。プロセッサは、新しいクライアントについての新しいクライアント・ファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。その後、プロセッサは、特定のクライアントが使用する規則に基づいて、新しいクライアントのための新しい規則を構築する。その後、プロセッサは、新しい規則に対する違反が発生したことを示す情報を受信する。新しい規則に違反していることに応答して、プロセッサは、新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、新しい規則に対する違反を解決する。
【0006】
本発明の1つの実施形態において、方法は、第1のクライアントが使用するコンピュータ・システムにより使用するために、規則を第2の(特定の)クライアントから第1のクライアントに割り当てることによって、第1の(新しい)クライアントが使用するコンピュータ・システムのセキュリティを高める。1つ又は複数のプロセッサは、複数のクライアント・プロファイルを人工知能(AI)システムに入力し、複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析、及び複数のクライアントの侵入検出警告履歴に基づいている。プロセッサは、新しいクライアントについての新しいクライアント・プロファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。プロセッサは、新しいクライアント・プロファイルがそれぞれのクライアント・プロファイルと合致することに基づいて、特定の規則を特定のクライアントから新しいクライアントに割り当てる。その後、プロセッサは、特定の規則に対する違反が発生したことを示す情報を受信し、特定の規則に違反したことに応答して、新しいクライアントのコンピュータ・システムのセキュリティ機能を実行し、特定の規則に対する違反を解決する。
【0007】
1つ又は複数の実施形態において、本明細書に記載される方法は、コンピュータ・プログラム製品もしくはコンピュータ・システム又はその両方の実行により実施される。
【図面の簡単な説明】
【0008】
【
図1】本発明を実装することができる例示的なシステム及びネットワークを示す。
【
図2】本発明の1つ又は複数の実施形態によって用いられる全体的なソリューション・アーキテクチャを示す。
【
図3】本発明の1つ又は複数の実施形態で用いられる例示的な高度な脅威ディスポジション・システム(threat disposition system)を示す。
【
図4】本発明の1つ又は複数の実施形態で用いられる例示的な回帰型ニューラル・ネットワーク(Recurrent Neural Network、RNN)を示す。
【
図5】本発明の1つ又は複数の実施形態で用いられる例示的なプロファイル相関器を示す。
【
図6】本発明の1つ又は複数の実施形態で用いられる例示的な高度な規則分析器を示す。
【
図7】本発明の1つ又は複数の実施形態で用いられる例示的な規則人工知能(AI)システムを示す。
【
図8】本発明の1つ又は複数の実施形態で用いられる例示的なマスターAIシステムを示す。
【
図9】本発明の1つ又は複数の実施形態に従って実施される1つ又は複数のステップの高レベル・フローチャートである。
【
図10】本発明の1つの実施形態による、クラウド・コンピューティング環境を示す。
【
図11】本発明の実施形態による、クラウドコンピュータ環境の抽象化モデル層を示す。
【発明を実施するための形態】
【0009】
本発明は、システム、方法もしくはコンピュータ・プログラム製品又はその組み合わせを任意の可能な技術的詳細レベルで統合したものとすることができる。1つ又は複数の実施形態において、コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(単数又は複数)を含む。
【0010】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型コンパクトディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。コンピュータ可読ストレージ媒体は、本明細書で使用される場合、電波又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されるべきではない。
【0011】
本明細書で記載されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカルエリアネットワーク、広域ネットワークもしくは無線ネットワーク又はその組み合わせなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータもしくはエッジサーバ又はその組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワークアダプタカード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納する。
【0012】
1つ又は複数の実施形態において、本発明の動作を実行するためのコンピュータ可読プログラム命令が、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソースコード又はオブジェクトコードのいずれかとすることができる。1つ又は複数の実施形態において、コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、1つ又は複数の実施形態において、遠隔コンピュータは、ローカルエリアネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラム可能ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行し、電子回路を個別化する。
【0013】
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照してここに説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
【0014】
1つ又は複数の実施形態において、これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段が作り出される。1つ又は複数の実施形態において、これらのコンピュータ・プログラム命令は、1つ又は複数の実施形態において、コンピュータ・プログラム可能データ処理装置もしくは他のデバイス又はその組み合わせを特定の方式で機能させるように指示するコンピュータ可読媒体内にも格納され、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにされる。
【0015】
1つ又は複数の実施形態において、コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施プロセスを生成し、それにより、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにもされる。
【0016】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態によるシステム、方法及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又は命令の一部を表す。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で行われることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行され、又はこれらのブロックはときとして逆順で実行される。また、本発明の1つ又は複数の実施形態において、ブロック図もしくはフローチャート図又は両方の各ブロック、及びブロック図もしくはフローチャート図又は両方におけるブロックの組み合わせは、指定された機能又は動作を実施する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェアベースのシステムによって実装されることにも留意されたい。
【0017】
ここで図を、特に
図1を参照して、本発明の実装によってもしくは本発明の実装において又はその両方で利用することができる例示的なシステム及びネットワークのブロック図が示される。コンピュータ102に関して及びコンピュータ102内に図示された、示されるハードウェア及びソフトウェアの両方を含む例示的なアーキテクチャの一部又は全部は、ソフトウェア・デプロイ・サーバ150及び/又はテレメトリ・ソース152及び/又はクライアント・コンピュータ154及び/又は侵入検出システム156によって利用され得ることに留意されたい。
【0018】
例示的なコンピュータ102は、システム・バス106に結合されたプロセッサ104を含む。プロセッサ104は、その各々が1つ又は複数のプロセッサコアを有する1つ又は複数のプロセッサを利用することができる。ディスプレイ110を駆動/サポートするビデオ・アダプタ108も、システム・バス106に結合される。システム・バス106は、バス・ブリッジ112を介して入力/出力(I/O)バス114に結合される。I/Oインターフェース116は、I/Oバス114に結合される。I/Oインターフェース116は、キーボード118、マウス120、メディア・トレイ122(CD-ROMドライブ、マルチメディア・インターフェースなどのストレージ・デバイスを含むことができる)、回帰型ニューラル・ネットワーク124(
図4に示される例示的な実施形態においてより詳細に説明される)、及び外部USBポート126を含む種々のI/Oデバイスとの通信を提供する。I/Oインターフェース116に接続されたポートの形式は、コンピュータアーキテクチャの技術分野における当業者に周知の任意のものとすることができるが、一実施形態においては、これらのポートの一部又は全てはユニバーサル・シリアル・バス(USB)ポートである。
【0019】
示されるように、コンピュータ102は、ネットワーク・インターフェース130を用いて、ソフトウェア・デプロイ・サーバ150、テレメトリ・ソース152もしくはクライアント・コンピュータ154又はその組み合わせと通信することができる。ネットワーク・インターフェース130は、ネットワーク・インターフェース・カード(NIC)などのハードウェア・ネットワーク・インターフェースである。ネットワーク128は、インターネットなどの外部ネットワーク、又はイーサネットもしくは仮想プライベート・ネットワーク(VPN)などの内部ネットワークとすることができる。
【0020】
ハード・ドライブ・インターフェース132も、システム・バス106に結合される。ハード・ドライブ・インターフェース132は、ハード・ドライブ134とインターフェース接続する。一実施形態において、ハード・ドライブ134は、同じくシステム・バス106に結合されるシステム・メモリ136をポピュレートする。システム・メモリは、コンピュータ102における最下位レベルの揮発性メモリとして定められる。この揮発性メモリは、これらに限定されるものではないが、キャッシュ・メモリ、レジスタ及びバッファを含む、付加的なより高いレベルの揮発性メモリ(図示せず)を含む。システム・メモリ136をポピュレートするデータは、コンピュータ102のオペレーティング・システム(OS)138及びアプリケーション・プログラム144を含む。
【0021】
OS138は、トランスペアレントなユーザ・アクセスをアプリケーション・プログラム144などのリソースに提供するためのシェル140を含む。一般に、シェル140は、ユーザとオペレーティング・システムとの間にインタプリタ及びインターフェースを提供するプログラムである。より具体的には、シェル140は、コマンドライン・ユーザ・インターフェースに又はファイルから入力されたコマンドを実行する。このように、コマンド・プロセッサとも呼ばれるシェル140は、一般に、最上位レベルのオペレーティング・システム・ソフトウェア階層であり、コマンド・インタプリタとして機能する。シェルは、システム・プロンプトを提供し、キーボード、マウス又は他のユーザ入力媒体によって入力されたコマンドを解釈し、解釈されたコマンドを、処理のために適切な下位レベルのオペレーティング・システム(例えば、カーネル142)に送る。シェル140は、テキストベースのライン指向ユーザ・インターフェースであるが、本発明は、グラフィカル、音声、ジェスチャーなどの他のユーザ・インターフェース・モードも等しくよくサポートすることに留意されたい。
【0022】
示されるように、OS138は、メモリ管理、プロセス及びタスク管理、ディスク管理、並びにマウス及びキーボード管理を含む、OS138の他の部分及びアプリケーション・プログラム144によって必要とされる不可欠のサービスの提供を含む、OS138のための下位レベルの機能を含むカーネル142をも含む。
【0023】
アプリケーション・プログラム144は、ブラウザ146として例示的に示されるレンダラ(renderer)を含む。ブラウザ146は、ワールド・ワイド・ウェブ(WWW)クライアント(すなわち、コンピュータ102)が、ハイパーテキスト転送プロトコル(HTTP)メッセージングを用いて、ネットワーク・メッセージをインターネットに送受信することを可能にするプログラム・モジュール及び命令を含み、これにより、ソフトウェア・デプロイ・サーバ150及び他のコンピュータ・システムとの通信が可能になる。
【0024】
コンピュータ102のシステム・メモリ内のアプリケーション・プログラム144(並びに、ソフトウェア・デプロイ・サーバ150のシステム・メモリ)は、コンピュータ・セキュリティ管理論理(Computer Security Management Logic、CSML)148も含む。CSML148は、
図2~
図9に記載されるものを含む、以下に説明されるプロセスを実施するためのコードを含む。一実施形態において、コンピュータ102は、CSML148内のコードが、実行に必要とされるまでダウンロードされないオンデマンド方式などで、CSML148をソフトウェア・デプロイ・サーバ150からダウンロードすることができる。さらに、本発明の一実施形態において、ソフトウェア・デプロイ・サーバ150は、本発明と関連付けられた機能の全てを実行し(CSML148の実行を含む)、従って、コンピュータ102が、CSML148を実行するためにそれ自体の内部コンピューティング・リソースを使用する必要性がなくなることに留意されたい。
【0025】
テレメトリ・ソース152もコンピュータ102に結合され、このテレメトリ・ソース152は、セキュリティ・イベントに関する情報源であり、
図2のテレメトリ・ソース252においてさらに詳細に説明される。
【0026】
クライアント・コンピュータ154は、
図2の表204に示されたクライアントのようなクライアントにより使用される。
【0027】
クライアント・コンピュータ154は、クライアント・コンピュータ154への侵入を検出するために、本明細書に記載される規則ベースの特徴の1つ又は複数を利用する侵入検出システム156によって保護される。
【0028】
コンピュータ102内に示されるハードウェア要素は、網羅的であることを意図したものではなく、むしろ、本発明によって必要とされる本質的なコンポーネントを強調するための代表的なものであることに留意されたい。例えば、コンピュータ102は、磁気カセット、デジタル多用途ディスク(DVD)、ベルヌーイ(Bernoulli)カートリッジなどの代替的なメモリ・ストレージ・デバイスを含むことができる。これら及び他の変形は、本発明の趣旨及び範囲内であることが意図される。
【0029】
本発明は、必要とされるセキュリティ規則をコンピュータ・システムに提供するものとして本明細書に記載される。しかしながら、本明細書に記載される方法及びシステムは、必ずしもセキュリティ・システムに限定されるものではない。むしろ、本明細書に記載される方法及びシステムは、機械学習モデルに対する処理ディスポジション(processing disposition)を定式化する任意のデータ分析プラットフォームに適用可能である。
【0030】
セキュリティ・システムにそのアーキテクチャのための特定の規則がないという問題に関して、本発明の1つ又は複数の実施形態は、特定のクライアントのための規則のギャップを緩和するための、新しい新規なソリューション・アーキテクチャを提示する。つまり、特定のクライアント・システムは、セキュリティ攻撃に対応するための規則がない場合がある。本発明の1つ又は複数の実施形態は、人工知能(AI)支援による規則生成及び使用可能なインテリジェンス・アーキテクチャを提示する。セキュリティ侵入検出システムは、脅威分析及びディスポジション・システムから警告ディスポジション入力を取得し、アセット・プロファイラ・システム(本明細書では「プロファイル相関器」とも呼ばれる)又はソースシステムからのプロファイルを照合し、自然言語処理(NLP)規則分析システムからの規則設計を相関させる(相関エンジンを用いて)。このアーキテクチャ/機構において、相関エンジンは、製品カテゴリから独立しており、異なるデータ領域にわたって一般的に適用することが可能である。つまり、1つ又は複数の実施形態においては、本発明は、金融テレメトリ分析から作出された金融規則を取得し、マーケティングデータ分析に基づいて金融規則からマーケティング規則を導出する。しかしながら、1つ又は複数の実施形態において、これらのシステム(すなわち、金融システム及びマーケティング・システム)の各々は、共通のテレメトリを消費し、データを処理するために規則を適用し、使用可能なインテリジェンスを導出し、規則違反に基づいてインテリジェンスを用いて特定のアクションを実行する。
【0031】
複数のクライアント環境にわたる視界を有することにより、システム(例えば、
図1に示されるコンピュータ102などの監視システム)は、使用可能なインテリジェンス、及び複数のクライアントに対する警告の成功裡のディスポジションの有効性を評価することが可能である。これにより、他のクライアントとの比較分析、及び使用可能なインテリジェンスのカバレッジ(coverage)又は生成のギャップが存在する環境を提供することができる。このように、システムは、プロファイル間の比較を行い、データソース、規則、又はインテル(intel)ソースの欠落に起因し得るギャップを強調することが可能である。システムは、欠落している重要なデータソース、検出規則、インテル・フィード、又はシステムをより効果的にする任意の他のドメイン・レベルの情報を付加するよう、クライアントに自動的に通知することができる。1つ又は複数の実施形態において、このプロセスは、ギャップを識別し、欠落しているドメイン情報を推奨するために評価を行うことができるボーディング前(pre-boarding)段階(すなわち、クライアントのコンピュータ・システムがオンラインでクライアントの情報技術(IT)ニーズを処理する前)で利用される。1つ又は複数の実施形態において、本明細書に記載されるプロセスはまた、システムのライフサイクルを通じても利用され、収集されているテレメトリの有効性又は無効性を測定し、収集されたテレメトリが無効である場合、それに応じてそのテレメトリを調整すること又は切断を推奨することができる。
【0032】
このように、本発明の1つ又は複数の実施形態において、システムは、特定のイベント発生時に一時的に作動する規則を動的に挿入する。つまり、挿入された規則により、クライアント・コンピュータのセキュリティ・システムは、ゼロ・デイ脅威(zero day threat)を監視する(例えば、特定の領域で発生しているマルウェア攻撃を見張る)。このように、規則は、特定のテレメトリに基づいて検出された攻撃に対応するようにアクティブ化され、次いで、攻撃イベント後に非アクティブ化される。ディスポジション(攻撃及び対応)がどのように行われるかを学習し、攻撃を受けたシステムに関するドメイン情報を使用することにより、コグニティブ・システムがトリガされ、各々の影響を受けたクライアントのためのカスタム規則をリアルタイムで構築し、変更をシステムに通知し、同時に通知チケッティング(ticketing)システム上の使用可能なインテリジェンスを生成する。
【0033】
ここで
図2を参照すると、本発明の1つ又は複数の実施形態によって用いられる全体的なソリューション・アーキテクチャが提示される。
【0034】
図2に示されるアーキテクチャ202は、以下の問題に対処する。クライアントC1のための規則によって、使用可能なインテリジェンスが検出されると仮定する。例えば、規則R2は、「クライアントC1のコンピュータ・システムにより10秒以内に、信頼できないインターネットプロトコル(IP)アドレスからの3つのメッセージが製造業者X製の電子メールサーバによって受信され、その信頼できないIPアドレスが、クライアントC1が信頼しないIPアドレスの「ブラックリスト」上にあり、かつ、3つのメッセージが全て「緊急」という語を含む場合、クライアントC1がセキュリティ攻撃を受けている可能性が高いと述べるチケットを発行するよう、クライアントC1についてのセキュリティ・システムに関連付けられた通知チケッティング・システムに指示する」というものであり得る。しかしながら、規則R2によって検出された使用可能なインテリジェンスは、クライアントC1のための環境にローカルなままである。つまり、規則R2は、製造業者X製の電子メールサーバによって受信される電子メールに特有のものである。従って、セキュリティ情報及びイベント管理(SIEM)規則によって検出された、検出済みのセキュリティ・インシデントは、規則R2が存在するクライアントC1に対してローカルである(すなわち、クライアントC1用に調整される)。
【0035】
しかしながら、ここで表204に示されるクライアントC2は、製造業者X製の電子メールサーバを有していないと仮定する。むしろ、クライアントC2は、製造業者Y製の電子メールサーバを使用する。従って、クライアントC1及びC2が類似したタイプの動作を有し、また、製造業者Xによって構築された電子メールサーバが製造業者Yによって構築された電子メールサーバと同じ機能を実施したとしても、クライアントC2は、規則R2のコピーを持たない(R2は、製造業者Xによって構築された電子メールサーバを使用するコンピュータ・システムに特有であるので)。
【0036】
従って、
図2に示されるプロセスは、類似したドメインプロファイル(すなわち、類似したタイプの動作、類似したタイプの機器など)を有するクライアント(例えば、クライアントC1及びクライアントC2)を照合する。次に、
図2に示されるプロセスは、全ての類似したクライアントにわたって規則及びインテリジェンスを自動生成し、適用する。
【0037】
アーキテクチャ202は、以下のシステム・コンポーネントを含む。
【0038】
高度な脅威ディスポジション・スコアリング(ATDS)機械学習システム206は、機械学習ベースの脅威検出システムである。つまり、ATDS機械学習システム206は、特定のクライアント(例えば、クライアントC1)のコンピュータ・システムがセキュリティ攻撃を受けているかどうかを判断する。ATDS機械学習システム206の付加的な詳細は、
図3に示される。
【0039】
プロファイル相関器208は、類似のプロファイルを有するクライアントを照合するための自然言語処理(NLP)ベースのシステムである。プロファイル相関器208の付加的な詳細は、
図5に示される。
【0040】
規則分析(rule analytics)210は、規則をサブコンポーネントに分解するためのNLPベースの規則分析システムである。規則分析210の付加的な詳細は、
図6に示される。
【0041】
規則人工知能(AI)機械学習システム212は、規則閾値を予測するために用いられる教師あり(supervised)機械学習ベースのシステムである。規則人工知能(AI)機械学習システム212の付加的な詳細は、
図7に示される。
【0042】
マスターAIシステム214は、ソリューション収集器(solution aggregator)、規則生成器、及びオフェンス(offense)生成器である。マスターAIシステム214の付加的な詳細は、
図8に示される。
【0043】
図2に示されるように、マスターAIシステム214は、1)特定のクライアント(例えば、クライアントC2)のための使用可能なインテリジェンスを予測し、2)新しい規則(例えば、規則R2)を付加し、3)クライアントC2のために新しい規則が付加されたこと、もしくは(新しく付加された規則R2に基づいて)セキュリティ侵害イベントが発生したこと、又はその両方の顧客通知を(例えば、クライアントC2に)提供するように設計される。説明のために、規則R2が、違反した規則もしくは複製された規則又はその両方の例として使用される。しかしながら、本明細書に記載されるプロセスは、違反した規則もしくは複製された規則又はその両方などのいずれの規則にも適用可能であることを理解されたい。
【0044】
ここで例示的な表204を参照すると、クライアントC1、C3及びC4は規則R2を有していても、クライアントC2は規則R2を有していない。上述したように、規則R2は、本質的に、特定のイベント(例えば、センサからの不審な読み取り値、ブラックリストに載っているIPアドレスからのメッセージなど)が発生した場合、セキュリティ侵害の事象(occurrence)が発生していると判断されると述べる。
【0045】
本発明の1つの実施形態において、(クライアントC1、C3及びC4のための)示される様々な規則に関連するイベントは同一である。つまり、どの特定の機器が関与しているか、どのタイプの企業活動が関与しているか、どの特定のメッセージが関与しているかなどを含む、全ての条件/イベントが同一である。マスターAIシステム214が、C2が規則R2に記載される特定の機器を有し、クライアントC1、C3及びC4と同じタイプの企業活動(例えば、銀行業務)を有すると判断した場合、マスターAIシステム214は、規則R2をクライアントC2に直接割り当てる。
【0046】
しかしながら、本発明の別の実施形態において、(クライアントC1、C3及びC4のための)示される種々の規則に関連するイベントが同一ではない。例えば、規則R2が、どの特定の機器が関与しているか及びどのタイプの企業活動が関与しているかに依存すると再度仮定する。さらに、マスターAIシステム214は、クライアントC2が、クライアントC1、C3及びC4と同じタイプの企業活動(例えば、銀行業務)を有するが、クライアントC2は、クライアントC1、C3及びC4と同じ特定の機器を使用しないと判断すると仮定する。例えば、クライアントC1、C3及びC4はX社製の電子メールサーバを使用するが、クライアントC2はY社製の電子メールサーバを使用すると仮定する。しかしながら、さらに、X社製の電子メールサーバは、Y社製の電子メールサーバと同じ機能を実施するが、2つの電子メールサーバは異なる特徴、セキュリティレベル等を有し得ると仮定する。それにもかかわらず、この実施形態において、マスターAIシステム214は、規則R2’が、Y社製の電子メールサーバで動作するように設計されるのに対して、規則R2は、X社製の電子メールサーバで動作するように設計されているにもかかわらず、規則R2と機能的に同じである規則R2のバージョン(例えば、規則R2’)を作成する。
【0047】
再び表204を参照すると、最初に、クライアントC2は規則R2’を有していないと仮定する。しかしながら、ATDS機械学習206は、クライアントC1、C3もしくはC4又はその組み合わせによって、規則R2に違反した/規則R2がトリガされ、従って、そのシステム内でセキュリティ問題(例えば、ウイルス攻撃、専用のサービス拒否攻撃(dedicated denial of service attack)など)が発生したことを示すと判断している。例えば、クライアントC1のコンピュータ・システムにおいて規則R2に違反している場合、「R2>O1」で示されるように、クライアントC1のためのコンピュータ・システムにおいて、ある事象(occurrence)(例えば、ウイルス攻撃、専用のサービス拒否攻撃など)が発生していると考えられる。同様に、クライアントC3のためのコンピュータ・システムにおいて、規則R2に違反している場合、「R2>O3」で示されるように、クライアントC3のためのコンピュータ・システムにおいて、ある事象が発生していると考えられる。同様に、クライアントC4のためのコンピュータ・システムにおいて、規則R2に違反している場合、「R2>O4」で示されるように、クライアントC4のためのコンピュータ・システムにおいて、ある事象が発生していると考えられる。
【0048】
このようにして、ATDS機械学習システム206は、クライアントC1、C3及びC4の1つ又は複数において規則R2に違反したと判断し、目的のためにこの情報を使用する。その後、ATDS機械学習システム206がクライアントC2についての規則違反も追跡すると、クライアントC2についても、以下のアクションが実行される。
【0049】
最初に、ATDS機械学習システム206は、規則R2に違反したという判断を、クライアントC1、C3及びC4のためのセキュリティ・システム218に送られるエスカレーション(escalation)メッセージ216を生成するための基礎として用いる。本発明の1つの実施形態において、これらのセキュリティ・システム218は、セキュリティ管理人員である。しかしながら、本発明の好ましい実施形態において、セキュリティ・システム218は、特定のデバイスをオフにし、特定のIPアドレスからのメッセージをブロックし、ファイアウォールをアップグレードするなどの自動セキュリティ・システムである。
【0050】
例えば、クライアントC1に割り当てられた自動セキュリティ・システム218の1つが、製油所内のポンプを制御する監視制御及びデータ収集(SCADA)システムと関連付けられると仮定する。さらに、エスカレーション・メッセージ216が、1)重要なポンプをオフにするよう命令するメッセージを受信したこと、及び2)そのメッセージが信頼できないソースからのものであると仮定する。従って、クライアントC1のための自動セキュリティ・システム218は、重要なポンプをオンにしたままにするよう、もしくは問題が解決されるまで、重要なポンプを使用するユニット全体を適切にシャットダウンするよう、又はその両方を行うよう、SCADAシステムに自動的に指示する。
【0051】
別の実施形態において、規則R2に違反した場合、規則R2によって定義されたような特定のIPアドレスからのメッセージはブロックされる。
【0052】
第2に、ATDS機械学習システム206は、規則R2に違反したという判断を用いて、プロファイル相関器208を更新する。つまり、クライアントC1、C3及びC4の1つ又は複数による規則R2の違反の詳細は、とりわけこれがクライアントC1、C3及びC4から影響を受けるクライアントの1つ又は複数のアセット(例えば、機器、コンピュータ、データ・ストレージ、ソフトウェアなど)に影響を与える際、規則R2の違反の全体的な影響を判断するプロファイル相関器208に送られる。次に、この更新された情報は、クライアントC1、C3及びC4についての顧客アセット・プロファイルを含む顧客データベース220に送られる。
【0053】
第3に、ATDS機械学習システム206は、規則R2に違反したという判断を用いて、規則R2の違反が発生したことを規則分析210に伝える。これにより、規則分析210が、規則及び違反を評価し、規則R2を更新することが可能になる。例えば、信頼できない(ブラックリストに載っている)IPアドレスから電子メールを受信したことに基づいて、規則R2に違反したと仮定する。しかしながら、類似したメッセージが信頼できるIPアドレスから来たものであっても、規則分析210は、セキュリティ情報及びイベント管理(SIEM)規則222のセットからの規則テスト条件を用いて、類似した表現(wording)もしくはアクション(例えば、特定のデータベースにアクセスする)又はその両方を有するいずれのメッセージも、ファイアウォールによって、コンピュータ・システムによって受信できないようにするように、規則R2を修正する。
【0054】
第4に、ATDS機械学習システム206は、規則R2に違反したという判断を用いて、規則R2に関してクライアントC1、C3及びC4で何が起こっているかをマスターAIシステム214に知らせる。
【0055】
マスターAIシステム214において示されるように、マスターAIシステム214は今や、新しい規則R2(例えば、規則R2’)をクライアントC2に割り当てる際に使用するための複数の情報源を有する。
【0056】
つまり、マスターAIシステム214への入力は、1)どのように規則R2に違反しているか及び規則R2に違反しているかどうかをマスターAIシステム214に知らせる、ATDS機械学習システム206からの情報、2)もしある場合には、規則R2に対してどのような修正が行われたかを記述する規則分析210からの出力、3)SIEM規則222により設定された規則条件、イベント条件及び挙動条件に基づいて、規則R2に対する違反の場合に満たす必要がある予測される閾値及び境界を記述する規則AI機械学習システム212の出力、及び4)規則R2に対する違反の影響を受けるいずれかのクライアントのプロファイルを記述するプロファイル相関器208の出力を含む。
【0057】
さらに、マスターAIシステム214は、テレメトリ・ソース252、ログ・ソース226、及びドメイン・インテリジェンス・マッピング228からの入力を受信する。
【0058】
テレメトリ・ソース252(
図1に示されるテレメトリ・ソース152に類似した)は、イベントに関する任意の情報源である。例えば、一実施形態において、テレメトリ・ソース252は、プロセッサが過度に使用されていることを検出し、その結果、コンピュータ・システム全体を減速させるセンサである。別の実施形態において、テレメトリ・ソース252は、電子メールサーバが信頼できないIPアドレスから電子メールを受信したことを検出するセンサである。別の実施形態において、テレメトリ・ソース252は、「私は、信頼できないIPアドレスx.x.x.xから電子メール攻めにされている。気を付けて!(I’m getting bombarded with emails from untrusted IP address x.x.x.x. Watch out!)」などの、規則R2に関連したメッセージを投稿したソーシャル・メディア・プラットフォームである。
【0059】
ログ・ソース226は、コンピュータ・システム内のセンサのログ、ソーシャル・メディア・サービス上で投稿されたメッセージなどを含むイベントのログを含む。
【0060】
ドメイン・インテリジェンス・マッピング228は、規則R2に違反するイベントを示す特定のキーワード、パターンなどを探して、大規模なデータソース(例えば、ワールド・ワイド・ウェブ)を検索する。
【0061】
従って、本発明の1つ又は複数の実施形態において、マスターAIシステム214は、
図2に示される種々の入力を利用して、クライアントC2が、そのセキュリティ・インフラストラクチャの一部として、規則R2のコピー(又は、少なくとも規則R2’のような規則R2の変形)を有する必要があると判断する。
【0062】
ここで
図3を参照して、例示的な高度な脅威ディスポジション・スコアリング(ATDS)システム306(
図2に示されるATDS機械学習システム206に類似した)が提示される。
【0063】
図3に示されるように、ATDSシステム306は、機械学習を用いて、オフェンス(例えば、コンピュータ・システムに対するセキュリティ攻撃)に対処すべきか(例えば、オフェンスに対するチケット/報告書/アクションの生成にエスカレートすべきか)、又はこれを無視すべきか(閉鎖すべきか)を判断する。オフェンスに対処すべきか又はこれを無視すべきかについての判断は、更なるアクションを正当化するのに、オフェンスが十分に重要である可能性を判断する機械学習プロセスに基づいている。つまり、ATDSシステム305は、オフェンスのディスポジションがどのようであるべきかを予測する。本発明の1つ又は複数の実施形態において、この予測/決定は、オフェンスが更なるアクションを保証することを、AIプロセスがどれだけ確信しているかに基づいている。
【0064】
図3に示されるように、本発明の種々の実施形態において、種々のタイプの機械学習プロセスが用いられる。つまり、異なる実施形態は、オフェンス301に対処すべきか又はこれを無視すべきかを判断する際に、ブロック303に示される機械学習(ML)モデル1、MLモデル2(ブロック305に示される)もしくはMLモデル3(ブロック324に示される)又はその組み合わせとして示される機械学習プロセスのうちの1つ、2つ又は3つ全てを用いることができる。
【0065】
ブロック303は、互いの分析を利用し、従って、学習するためにプロセスを「ブースティング」する複数の決定木を用いる勾配ブースティング・マシン(gradient boosting machine、GBM)機械学習プロセスを表す。つまり、第1の決定木は、入力データのセットに基づいて予測を行う際に多くのエラーを有する「弱い学習者」であると仮定する。次に、これらのエラーを頻繁に使用して第2の決定木を再訓練するために、これらのエラーを重み付けする。このプロセスは、任意の入力データに基づいて正しい出力を適切に予測するのに、最終的なモデル/決定木が有効になるまで続く。
【0066】
ブロック305は、決定木も使用するが、決定木をランダムに組み合わせて木の「ランダム・フォレスト」にする、ランダム・フォレスト(random forest)機械学習プロセスを表す。これにより、システムが、異なる決定木における特徴を取り除くことを可能にし、従って、非常に強い予測器である、種々の決定木における特定の枝/ノードの特徴は、異なる決定木を相関されるものとして記述する。つまり、同じ特徴から同じ正確な予測を生成するので、異なる決定木における何らかの結果の良好な予測器であることが判明する特定の特徴は、これらの異なる決定木を相関させる。
【0067】
ブロック324は、深層学習(deep learning)機械学習モデルを表す。本発明の1つ又は複数の実施形態によって使用される例示的な深層学習機械学習モデルは、
図4に示されるような回帰型ニューラル・ネットワークである。
【0068】
ここで
図4を参照すると、例示的な回帰型ニューラル・ネットワーク(RNN)424(
図1に示されるRNN124に類似した)が提示される。RNNでは、ニューロンは、入力層403、隠れ層405及び出力層407として知られる層状に配置される。入力層403は、入力データを取得し、それをニューロンの一連の隠れ層(例えば、隠れ層405)に送るニューロン/ノードを含み、そこで、隠れ層内の1つの層からの全てのニューロンが、隠れ層405における次の層内の全てのニューロンと相互接続される。次に、隠れ層405内の最終層は、計算結果を、ベクトル情報を保持するための単一ノードであることが多い出力層407に出力する。
【0069】
今述べたように、示されるRNN424内の各ノードは、示されるニューロン409などの電子ニューロンを表す。ブロック411に示されるように、各ニューロン(ニューロン409を含む)は、機能上、少なくとも3つの特徴、すなわち、アルゴリズム、出力値及び重みを含む。
【0070】
アルゴリズムは、1つ又は複数の上流ニューロンからのデータを処理するための数式である。例えば、中間隠れ層405内に示されるニューロンの1つ又は複数が、データ値をニューロン409に送ると仮定する。次に、ニューロン409は、ブロック411に示されるアルゴリズムを実行することによって、これらのデータ値を処理して1つ又は複数の出力値を作成し、次に、この出力値は、隠れ層405内の別のニューロン又は出力層407内のニューロンなどの別のニューロンに送られる。各ニューロンは、そのニューロンもしくは他の接続されたニューロン又はその両方に特有の重みも有する。
【0071】
例えば、ニューロン413が、あるデータの分析結果をニューロン409に送信していると仮定する。ニューロン409は、特にニューロン413から来るデータがどれだけ重要であるかを定める第1の重みを有する。データが重要である場合、ニューロン413から来るデータは大きく重み付けされ、従って、ニューロン409内のアルゴリズムにより高い出力を生成させ、それにより、出力層407内のニューロンに対してより大きい影響を有することになる。同様に、ニューロン413が、ニューロン409の動作に重要であると判断された場合、ニューロン413内の重みが増大し、ニューロン409は、ニューロン413内のアルゴリズムの出力のためにより高い値を受け取る。これらの重みは、RNN424内のニューロンの1つ、それより多く、又は全てについて調整可能であり、信頼性の高い出力が、出力層407から生じる。そうした調整は、手動で又は自動的に行うことができる。
【0072】
手動で調整される場合、重みは、出力層407からの出力が期待値と合致するまで、ユーザ、センサ論理等によって繰り返し調整される。例えば、入力層403が、
図3に示されるオフェンス301によって表される特定のデータ値を受信すると仮定する。出力層407からの出力が、既知のセキュリティ攻撃を正確に記述することができないベクトルである場合、出力層407によって生成されたベクトルが、既知のセキュリティ攻撃(又は、既知のセキュリティ攻撃の予測)と関連付けられる値を有するまで、RNN424内のニューロンの1つ又は複数の重み(及び、代替的にアルゴリズム)が調整される。
【0073】
自動的に調整される場合、各重み値をどの方向に調整すべきかを決定する「勾配降下(gradient descent)」法を用いることによりニューロンの重み値を調整する「逆伝播(back propagation)」を用いて、重み(もしくはアルゴリズム又はその両方)が調整される。この勾配降下プロセスは、出力層407からの出力が改善する(例えば、特定のセキュリティ攻撃を表すこともしくは予測すること、又はその両方により近づく)まで、各ニューロンにおける重みを特定の方向に移動させる。
【0074】
種々の実施形態で用いられる他のタイプの機械学習プロセス/アルゴリズムは、サポート・ベクトル・マシン(線形ベクトルで整列するようにデータを訓練させる)、線形回帰(スカラー変数と1つ又は複数の独立変数との間の関係をモデル化する)、ロジスティック回帰(バイナリ従属変数に適用される)などを含む。
【0075】
図3に戻ると、このように、決定モデル307が、(ブロック303、305もしくは324又はその組み合わせで示されるMLモデル1~3の1つ又は複数の出力に基づいて)認識されたオフェンスを閉鎖すべきか(ブロック309)、従って、データベース320内で閉鎖されたものとしてマーク付けすべきか、又は認識されたオフェンスをエスカレートさせるべきか(ブロック317)を決定することが可能である。オフェンスがエスカレートされる場合、通知/チケットが、クライアント318(
図2に示される自動セキュリティ・システム218に類似した)、プロファイル相関器308(
図2に示されるプロファイル相関器208に類似した)、マスターAIエンジン314(
図2に示されるマスターAIシステム214に類似した)、もしくは規則分析エンジン310(
図2に示される規則分析210に類似した)、又はその組み合わせに送られる。
【0076】
従って、ATDSシステム306は、信頼閾値を用いて各々の着信する警告に対するオフェンス・ディスポジション分類(エスカレート対閉鎖)を提供する1つ又は複数の(好ましくは、
図3に示されるように少なくとも3つの)別個のアルゴリズムを含む。このように、決定モデル307は、設定された閾値及び決定論理に基づいて、オフェンスを閉鎖又は自動エスカレートさせ、エスカレートした警告が、プロファイル相関器308、規則分析エンジン310及びマスターAIエンジン314、並びにクライアント318に転送される。
【0077】
図5は、本発明の1つ又は複数の実施形態で使用される例示的なプロファイル相関器を示す。
【0078】
図5に示されるように、プロファイル相関器508(
図2に示されるプロファイル相関器208に類似した)は、ATDS506(ATDS機械学習システム206に類似した)からのオフェンス・ベクトル入力と、顧客アセット・プロファイル・データベース520(
図2に示される顧客アセット・プロファイル・データベース220に類似した)からのプロファイル入力とを取得する。次いで、顧客プロファイルが、クリーニングされ、変換され、文字列に変換される。
【0079】
例えば、クライアントAについてのクライアント・プロファイル503は、クライアントがどこに位置するか(Gi,Gj)、クライアントがどんなタイプの産業で働いているか(Ij)、クライアントが使用するIT機器のタイプ(Ti,Tm,Tn)、クライアントがどのタイプのログ・ソースを使用するか(Li,Lp,Lq)、ITシステムを保護するために、そのクライアントによってどんなタイプのセキュリティ・システムが使用されるか(Sp,St,Sf等)、及びそのクライアントによってどんな重要なビジネス・アプリケーションが使用されるか(Ai,Ap,Al等)を記述する文字列データを含む。次に、この情報はトークン化され(すなわち、データについての機密情報を明らかにすることなく、機密(sensitive)データが、データについての必要な情報を保持する一意の識別記号に置き換えられる)、ブロック505に示されるように、オフェンスをエスカレートさせるか又は中止するかを判断する際に特定のタイプのクライアント・プロファイル情報がどれだけ重要であるかを判断する、単語頻度・逆文書頻度(term frequency-inverse document frequency、TF-IDF)アルゴリズムなどのアルゴリズムを用いて、ベクトル化される(もしくは重み付け又はその両方が行われる)。つまり、TF-IDFアルゴリズムは、オフェンス評価アルゴリズムにおけるそれらの発生頻度に基づいて、特定のタイプのプロファイル情報がこの判断に重要であると識別する。
【0080】
プロファイル相関器508は、自然言語処理(NLP)方法501を用いて、類似した情報技術(IT)プロファイルを有するクライアント(例えば、クライアントA、クライアントBなど)の間の類似性を識別する。
【0081】
コサイン類似性アルゴリズムを用いて、顧客の文字列データの各セットについて、類似性スコアが計算される(ブロック507参照)。指定された閾値(x%)を上回る類似性スコアを有するクライアントは、フィルタ処理され、示されるAIマスター514(
図2に示されるAIマスター・システム214に類似した)などのマスターAIエンジンに出力される。
【0082】
図6は、本発明の1つ又は複数の実施形態で使用される例示的な高度な規則分析器としての規則分析エンジン610(
図2に示される規則分析210に類似した)を示す。
【0083】
ATDS606(
図2に示されるATDS機械学習システム206に類似した)及びクライアントSIEM622(
図2に示されるSIEM規則222に類似した)からの入力が、規則分析エンジン610に入力される。ATDS606からの例示的な入力は、
図2の表204に記載される規則の1つについての規則名である。SIEM622からの例示的な入力は、SIEM622内のツール又は規則ライブラリ内に見出される名前付き規則を記述するもしくは実装する又はその両方を行う拡張可能マークアップ言語(XML)ファイルである。
【0084】
解析(parse)規則論理602は、受信した規則を解析して整然形式(tidy format)(例えば、表形式)にし、NLP文字列方法を、規則の変換のために適用する。つまり、規則内の用語は、NLP方法601(
図5に示されるNLP方法501に類似した)によって種々の語/句に解析され、次に、それらの語/句は、互いに対する近接、文脈及び頻度の関係に従ってグラフで記述される。解析規則論理602によるこの解析/変換により、規則をテストする際に使用されるテスト条件604の記述がもたらされる(例えば、どのタイプのテスト・アルゴリズムもしくは機械学習システム又はその両方を使用すべきか、どのタイプのハードウェアを使用すべきかなど)。
【0085】
また、解析規則論理602による規則の解析/変換は、ブロック606に示されるように、規則をテストするために、どのログ・ソース(例えば、テレメトリ・データのソース、ソーシャル・メディア・コメント等)を使用すべきかの記述ももたらす。
【0086】
また、解析規則論理602による規則の解析/変換は、ブロック608に記載されるように、規則をテストする際に使用すべき規則の閾値の記述ももたらす。例えば、規則は、着信する電子メールの90%が未知のIPアドレスからのものである場合、チケットを発行すべきであると述べることができる。この例では、「90%」は、チケットを発行するために到達する必要がある規則の閾値である。
【0087】
また、解析規則論理602による規則の解析/変換は、規則をテストする際もしくは使用する際、又はその両方に使用されるべき演算子612の記述子ももたらす。例えば、規則の用語もしくは入力又はその両方の規則へのマッピングのような演算子は、そうした用語/入力を論理木、ベクトル空間等に割り当てて記述する。
【0088】
このように、テスト条件604、ログ・ソース・タイプ(ブロック606)、閾値(ブロック608)及び演算子612は、解析規則論理602によって規則から抽出される。
【0089】
さらに、ブロック614に示されるように、クライアント特有の情報(例えば、名前、口座番号、産業のタイプ等)が、規則から取り除かれる。
【0090】
ブロック616に示されるように、次に、規則は、規則テンプレートにアセンブルすることができる個々のベクトル・コンポーネント(例えば、オフェンスをエスカレートさせるのに必要な、規則内に記述される述語条件)に分解される。
【0091】
ベクトル化された規則テンプレートは、マスターAI614(
図2に示されるAIマスター・システム214に類似した)として
図6に示されるマスターAIエンジンに出力される。
【0092】
ここで
図7を参照すると、本発明の1つ又は複数の実施形態で使用される例示的な規則人工知能(AI)システムが提示される。
【0093】
図7に示されるように、規則AIシステム712(
図2に示される規則AI機械学習システム212に類似した)は、脅威インテリジェンス・フィード701、SIEM722(
図2に示されるSIEM規則222に類似した)及びセキュリティ・ソリューション703から入力を受け取る。
【0094】
脅威インテリジェンス・フィード701は、
図2に示されるテレメトリ・ソース252、ログ・ソース226及びドメイン・インテリジェンス・マッピング228からのフィードを含む。
【0095】
セキュリティ・ソリューション703は、ファイアウォールをより高いレベルのトラフィック制限に引き上げる、特定のITデバイスの電源をオフにするなど、事前に確立されたセキュリティ侵害(security breach)に対するソリューションである。
【0096】
図7に示されるように、規則に必要な特徴を構築するために、フロー条件705、イベント条件707、オフェンス条件709、挙動条件711、及び種々の規則条件713が解析される(ブロック715)。
【0097】
フロー条件705は、規則をトリガするために特定のイベントを行う必要がある順序を記述する。例えば、イベントE1、E2及びE3は、規則R1をトリガするために、その順序で行う必要がある。これらのイベントがE1、E3及びE2の順序で行われた場合、規則R1はトリガされない。
【0098】
イベント条件707は、規則をトリガするために行う必要があるイベントを記述する。例えば、例示的なイベントE1は、ブラックリストに載っているIPからの電子メールの受信とすることができ、例示的なイベントE2は、電子メールを受信したコンピュータにおける電力サージとすることができ、例示的なイベントE3は、コンピュータのシャットダウンとすることができる。
【0099】
オフェンス条件709は、オフェンスをトリガするために行う必要があるイベント、並びにその順序、タイミングなどを記述する。
【0100】
挙動条件711は、オフェンスをトリガするためにコンピュータがどのように挙動しなければならないか(例えば、処理スループット、利用可能な帯域幅など)を記述する。例えば、イベントが行われた後でも、コンピュータは、規則がこれを禁止していなくても、ウェブ・ブラウザを起動するなどの特定の方法で挙動する必要がある。
【0101】
種々の規則条件713は、システムが特定の規則を作成する際に考慮されるべき任意のユーザ定義条件である。
【0102】
規則AIシステム712によって新しい規則が最初に生成されると(ブロック715参照)、新しい規則が、機械学習モデル717を訓練するために使用される。例えば、本発明の1つの実施形態において、新しく作成された規則をエミュレートするために、
図4に示されるRNN424のようなニューラル・ネットワークが構築される。RNN424に供給されるトリガ・イベントが、コンピュータ・システムのセキュリティに対するオフェンスが発生したことを示すRNN424からの出力をもたらすまで、RNN424は調整される(例えば、アルゴリズム、出力値、ニューロンの1つ又は複数の中の重みを調整することによって)。
【0103】
本発明の1つの実施形態において、機械学習モデル717は、サポート・ベクトル・マシン(SVM)などのアルゴリズムを使用する教師あり(supervised)機械学習分類モデルである。
【0104】
本発明の1つの実施形態において、規則AIシステム712である教師あり機械学習ベースのシステムは、異なる閾値タイプ(頻度、カウント、時間)についての種々の学習モデルを用いて、規則ライブラリ/SIEMツール、セキュリティ・ベンダーの規則などから入力テスト条件を取得する。
【0105】
ブロック719に示されるように、規則閾値が予測され、AIマスター714(
図2に示されるAIマスター・システム214に類似した)に送られる。つまり、規則AIシステム712がテスト条件及び設計特徴を解析すると、深層学習システムを訓練するために、規則閾値(すなわち、規則の条件においてどの閾値を超える必要があるか)が設定され、ラベル付けされる。
【0106】
ここで
図8を参照して、本発明の1つ又は複数の実施形態で使用される例示的なマスターAI814(
図2に示されるAIマスター・システム214に類似した)が提示される。
【0107】
マスターAI814は、システム・コンポーネントの全てからの出力を統合し、プロファイル相関器によって照合されたクライアントについてのカスタム規則を生成する最終的なソリューション・インテグレータである。
【0108】
マスターAI814は、プロファイル相関器808(
図2に示されるプロファイル相関器208に類似した)、規則AIエンジン812(
図2に示される規則AI機械学習システム212に類似した)、規則分析エンジン810(
図2に示される規則分析210に類似した)、及びATDS806(
図2に示されるATDS機械学習システム206に類似した)から、入力を取得する。
【0109】
これらの入力を用いて、マスターAI814は、各クライアントのアセット・プロファイル(すなわち、どのコンピュータ・リソースがクライアントによって使用されるか)、顧客プロファイル(例えば、クライアントは、どのタイプの産業で働いているか)などを含むプロファイル情報802を用いて、各々の合致したクライアントのためのカスタム規則を生成する。さらに、プロファイル情報802は、コンピュータ・システムにおける異常を報告するために使用されるログ・ソース・タイプ、特定のクライアントのための規則を設計するために使用される規則設計テンプレート、クライアントのための規則をトリガするのに必要とされる予測閾値、セキュリティ脅威を記述する外部脅威インテリジェンス、及びオフェンスを作業チケット、警告などにエスカレートさせるために、どんな条件の属性をもたらす必要があるかを記述するエスカレートされたオフェンス属性などの情報を含む。
【0110】
ブロック804、816、818及び820に示されるように、マスターAI814は、新しい規則を生成すること(ブロック804及び818)、並びに生成された各々のカスタム規則についてチケッティング・システムにおける新しいオフェンスを生成すること(ブロック816及び820)も可能である。つまり、マスターAI814は、(NLP801を用いてプロファイル情報802から情報を抽出することによって)新しい規則を生成できるだけでなく、新しい規則に違反していることを記述する新しいオフェンスを生成することもできる。
【0111】
図8に示されるように、次に、マスターAI814は、新しい規則が生成されたこと、もしくは新しいオフェンスが発生したこと、又はその両方をセキュリティ・リソース822に通知する。例えば、本発明の1つの実施形態において、SIEM、チケッティング・システム、インシデント報告プラットフォーム(IRP)、クライアント報告システム、及び情報ポータルと同様に、新しい規則もしくはオフェンス又はその両方が、クライアントに通知される。マスターAI814はまた、使用事例/規則ライブラリ、脅威インテリジェンス(TI)ソース、及びベンダー・システムにも、新しい規則もしくはオフェンス又はその両方を知らせる。
【0112】
ここで
図9を参照して、本発明の1つ又は複数の実施形態に従って実行される1つ又は複数のステップの高レベル・フローチャートが提示される。
【0113】
開始プログラム(initiator)ブロック901の後、ブロック903に記載されるように、1つ又は複数のプロセッサ(例えば、
図1に示されるプロセッサ152)が、複数のクライアント・プロファイルを人工知能(AI)システムに入力する。この複数のクライアント・プロファイルは、クライアント・アセットを含むそれぞれのクライアント環境の分析と、複数のクライアントの侵入検出警告履歴とに基づいている。つまり、クライアント・プロファイルは、
図8に示されるクライアント情報802などの情報を含む。
【0114】
ブロック905に記載されるように、プロセッサは、新しいクライアントについての新しいクライアント・プロファイルを、複数のクライアント・プロファイルからのそれぞれのクライアント・プロファイルと照合し、それぞれのクライアント・プロファイルは、複数のクライアントからの特定のクライアントについてのものである。例えば、本明細書に記載されるマスターAIシステムは、
図2に示されるクライアントC1についてのクライアント情報802(すなわち、クライアント・プロファイル)を、
図2に示されるクライアントC2についての異なるクライアント情報802と比較する。
【0115】
本発明の種々の実施形態において、システムは、新しい規則を、クライアントC2などのクライアントに割り当てるための代替的ステップを取る。
【0116】
一実施形態において、ブロック907に記載されるように、プロセッサは、新しいクライアント・プロファイルとそれぞれのクライアント・プロファイルとの類似性尺度に基づいて、新しいクライアントのための新しい規則のセットを構築する。つまり、この実施形態において、マスターAIシステムは、クライアントC2を別のクライアント(例えば、クライアントC1)と比較することによって、クライアントC2のための規則を構築する。本発明の1つの実施形態において、次に、マスターAIシステムは、クライアントC1によって現在使用される規則の組み合わせであるクライアントC2のための規則を作成する。
【0117】
別の実施形態において、ブロック909に記載されるように、プロセッサは、特定のクライアントによって使用される規則に基づいて、新しいクライアントのための新しい規則を構築する。例えば、表204に示されるように、クライアントC2は、クライアントC1によって使用される規則R2の修正されたバージョンである新しい規則R2’を取得する。
【0118】
別の実施形態において、ブロック911に記載されるように、プロセッサは、新しいクライアント・プロファイルがそれぞれのクライアント・プロファイルに合致することに基づいて、単に、規則を特定のクライアントから新しいクライアントに割り当てる。つまり、クライアントC2のプロファイルがクライアントC1のプロファイルと合致する場合、クライアントC1によって使用されるいずれの規則(規則R2を含む)も、クライアントC2による使用のために割り当てられ、その逆もまた同様である。
【0119】
本発明の1つの実施形態において、新しいクライアント(すなわち、クライアントC2)への規則の作成/割り当ては、ブロック907、909もしくは911、又はその組み合わせに記載されるプロセスの組み合わせである。
【0120】
ブロック913に記載されるように、次に、プロセッサは、新しい規則のセットに対する違反が発生したことを示す情報を受信する(例えば、今や、クライアントC2の機器に関して規則R2に違反している)。
【0121】
ブロック915に記載されるように、プロセッサは、新しい規則のセットに違反していることに応答して、コンピュータ・システムのセキュリティ機能を実行し、新しい規則のセットに対する違反を解決する。例えば、ファイアウォールをアップグレードし、ストレージ・デバイスをシャットダウンして、オフェンス(新しい規則のセットに対する違反)に対処することができる。
【0122】
フローチャートは、終了ブロック917で終了する。
【0123】
本発明の1つの実施形態において、プロセッサは、新しい規則のセットをベクトル化してベクトル化された規則セットを作成し、次に、新しい規則のセットのベクトル化された規則セットをAIシステムに入力し、新しい規則のセットを侵入検出警告履歴に対してテストすることによって、新しい規則のセットをテストする。
【0124】
つまり、新しい規則のセット(例えば、
図2に示される規則R2又は規則R2’)は、最初に、複数のコンポーネント(アクション、イベント、時間関係、影響を受けるエンティティ、単語、用語、文脈関係など)のベクトルに分けられる。例えば、「クライアントCにYが発生して5分以内にXが発生した場合、アクションZを実行する」という規則は、「X,Y」(アクション)、「発生する(happen)/発生している(happening)」(イベント)、「5分」(時間関係)及び「クライアントC」(影響を受けるエンティティ)といったコンポーネントに分けることができる。次いで、これらのコンポーネントを、論理ベクトルで(例えば、リレーショナル・ツリーで)表示し、新しい規則のセットに基づいて、ベクトル化された規則セットを作成する。つまり、ベクトル化は、規則のセットを複数のコンポーネントに分け、次いで、それらの複数のコンポーネントを、規則セットの異なるコンポーネント間の関係を記述するツリーなどのリレーショナルグラフで示す。
【0125】
次いで、このベクトル化された規則セットは、1又は複数のクライアントの侵入検出警告履歴に基づいて侵害を認識するように訓練されているAIシステム(例えば、
図4に示されるRNN424)に入力される。従って、ベクトル化された規則セットを
図4に示されるRNN424の入力層403に入力することによって、出力層407は、(新しい規則セットが、特定のタイプの侵害を認識するように適切に立案された場合)その特定のタイプの侵害を反映することになる。
【0126】
本発明の1つの実施形態において、プロセッサは、自然言語処理(NLP)を適用して、新しいクライアントの環境と特定のクライアントの環境との間の類似性を判断し、次に、新しいクライアントの環境と特定のクライアントの環境との間の類似性に基づいて、新しいクライアントのプロファイルをそれぞれのクライアントのプロファイルと照合する。
【0127】
例えば、
図5のプロファイル・コンテナ508内のプロファイルに示されるクライアントAについての特徴は、特定のIT環境(例えば、タイプYのサーバをサポートするタイプXのネットワークにおけるタイプWのクライアント・コンピュータ、その全てがタイプZのファイアウォールによって保護される)を記述すると仮定する。さらに、
図5に記載されるクライアントBもまた、タイプYのサーバをサポートするタイプXのネットワークにおけるタイプWのクライアント・コンピュータを有し、その全てがタイプZのファイアウォールによって保護されると仮定する。従って、クライアントA(
図2に示されるクライアントC1に類似した)が規則R2を使用する場合、クライアントB(
図2に示されるクライアントC2に類似した)には、同じ規則R2、又は少なくともR2から導出された規則(R2’)が割り当てられる。
【0128】
本発明の1つの実施形態において、AIシステムは新しい規則のセットを作出し、新しい規則のセットは、それぞれの規則に対する警告を含み、AIシステムは、新しい規則のセットを、コンピュータ・システムのセキュリティ・システム・コンポーネントに伝送する。つまり、AIシステムは、新しい規則のセット(既存の規則の直接コピー又は既存の規則の派生物、又は代替的に、他のクライアントによって使用される他の規則から導出されない完全に新しい規則)を作出するだけでなく、新しい規則のセットに違反したことも検出し、規則違反の結果として生じる警告(すなわち、オフェンス)を作成し、新しい規則のセットを、影響を受けるコンピュータ・システムのためのセキュリティ・システム(例えば、ファイアウォール、セキュリティ管理者など)に送る。
【0129】
本発明の1つの実施形態において、プロセッサは、新しい規則のセットを侵入検出システムにインストールする。例えば、新しい規則のセットは、新しい規則のセットを実装し、それに応じて(例えば、
図2に示されるテレメトリ・ソース224からの信号に応答して)それらを作用させ、クライアント・コンピュータ154を保護する、
図1に示される侵入検出システム156にインストールされる。
【0130】
このように、本明細書に記載された本発明の1つ又は複数の実施形態は、類似したプロファイル(例えば、同じ産業、同じ地理的地域にいるなど)を有する全てのクライアントについてのセキュリティ検出範囲を大幅に向上させる。つまり、2人のクライアントが類似したプロファイルを有する場合、これらのクライアントが使用するセキュリティ規則は、これら全てが同じ(又は、少なくとも類似した)セキュリティ規則のセットを使用するように調和される。
【0131】
本発明はまた、本明細書に記載される方法でATDS及び自動規則生成器を用いて、脅威検出時間も大幅に短縮する。つまり、ATDSがセキュリティ侵害を自動的に検出し、セキュリティ問題の検出時に、自動規則生成器(例えば、クライアントC2とクライアントC1との類似性に基づいて規則R2をクライアントC2に割り当てることで、より正確なクライアントC2のためのセキュリティ検出システムが作成され、従って、脅威検出時間が短縮する。
【0132】
従って、本発明は、従来技術とは異なるセキュリティ検出ソリューションを提供する。つまり、従来技術では、新しい規則違反に基づいて警告/オフェンスを自動的に作成するために、本明細書に記載されるような機械学習を使用しない(
図8参照)。さらに、従来技術は、類似したクライアントのアセット・プロファイルを相関させることに基づいて、NLPメソッドを用いて規則を自動的に生成しない(
図5~
図7参照)。
【0133】
1つ又は複数の実施形態において、本開示は、クラウド・コンピューティングを用いて実装される。それにもかかわらず、本発明は、クラウド・コンピューティングについての詳細な説明を含むが、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことを予め理解されたい。むしろ、本発明の実施形態は、現在既知の又は後で開発される他のいずれかのタイプのコンピューティング環境と共に実装することができる。
【0134】
クラウド・コンピューティングは、最小限の管理労力又はサービス・プロバイダとの対話で迅速にプロビジョニングされ、かつ解放されることが可能である構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールへの、便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配信のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、及び少なくとも4つのデプロイメント・デルを含むことができる。
【0135】
特徴は、以下の通りである。
【0136】
オンデマンド・セルフサービス:クラウド・コンシューマは、必要に応じて、サーバ時間及びネットワーク・ストレージ等のコンピューティング機能を、人間がサービスのプロバイダと対話する必要なく自動的に、一方的にプロビジョニングすることができる。
【0137】
広範なネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、異種のシン又はシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、及びPDA)による使用を促進する標準的な機構を通じてアクセスされる。
【0138】
リソース・プール化:プロバイダのコンピューティング・リソースは、マルチテナント・モデルを用いて複数のコンシューマにサービスを提供するためにプールされ、異なる物理及び仮想リソースが要求に応じて動的に割り当て及び再割り当てされる。コンシューマは、一般に、提供されるリソースの正確な位置についての制御又は知識を持たないという点で、位置とは独立しているといえるが、より抽象化レベルの高い位置(例えば、国、州、又はデータセンタ)を特定できる場合がある。
【0139】
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的に、プロビジョニングしてすばやくスケールアウトし、迅速に解放して素早くスケールインすることができる。コンシューマにとって、プロビジョニングに利用可能な能力は、多くの場合、無制限であるように見え、いつでもどんな量でも購入できる。
【0140】
サービスの測定:クラウド・システムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅、及びアクティブなユーザ・アカウント)に適した何らかの抽象化レベルでの計量機能を用いることによって、リソースの使用を自動的に制御及び最適化する。リソース使用を監視し、制御し、報告して、利用されるサービスのプロバイダとコンシューマの両方に対して透明性をもたらすことができる。
【0141】
サービス・モデルは、以下の通りである。
Software as a Service(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。これらのアプリケーションは、ウェブ・ブラウザ(例えば、ウェブベースの電子メール)などのシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を想定される例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーション能力をも含めて、基礎をなすクラウド・インフラストラクチャを管理又は制御しない。
【0142】
Platform as a Service(PaaS):コンシューマに提供される機能は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作成された、コンシューマが作成又は取得したアプリケーションを、クラウド・インフラストラクチャ上にデプロイすることである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、デプロイされたアプリケーション、及び場合によってはアプリケーションをホストする環境構成を制御する。
【0143】
Infrastructure as a Service(IaaS):コンシューマに提供される機能は、コンシューマが、オペレーティング・システム及びアプリケーションを含み得る任意のソフトウェアをデプロイして実行させることができる、処理、ストレージ、ネットワーク、及び他の基本的なコンピューティング・リソースをプロビジョニングすることである。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理又は制御しないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションに対する制御、及び場合によってはネットワークコンポーネント(例えば、ホストのファイアウォール)選択に対する限定された制御を有する。
【0144】
デプロイメント・モデルは以下の通りである。
【0145】
プライベート・クラウド:クラウド・インフラストラクチャは、ある組織のためだけに運営される。1つ又は複数の実施形態において、これは、その組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【0146】
コミュニティクラウド:クラウド・インフラストラクチャは、幾つかの組織によって共有され、共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシー、及びコンプライアンス上の考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オンプレミス又はオフプレミスに存在することができる。
【0147】
パブリック・クラウド:クラウド・インフラストラクチャは、一般公衆又は大規模な業界グループによって利用可能であり、クラウド・サービスを販売する組織によって所有される。
【0148】
ハイブリッドクラウド:クラウド・インフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専用技術(例えば、クラウド間の負荷平衡のためのクラウドバースティング)によって互いに結び付けられた、2つ以上のクラウド(プライベート、コミュニティ、又はパブリック)の混成物である。
【0149】
クラウド・コンピューティング環境は、サービス指向であり、ステートレス性、低結合性、モジュール性、及びセマンティック相互運用性に焦点を置く。クラウド・コンピューティングの中心は、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0150】
ここで
図10を参照すると、例示的なクラウド・コンピューティング環境50が示される。図示のように、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)もしくはセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54Cもしくは自動車コンピュータ・システム54N又はその組み合わせなどの、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイスが通信することができる、1つ又は複数のクラウド・コンピューティング・ノード10を含む。ノード10は、互いに通信することができる。ノード10は、上述されるプライベート・クラウド、コミュニティクラウド、パブリック・クラウド、又はハイブリッドクラウド、又はその組み合わせなどの、1つ又は複数のネットワークにおいて物理的に又は仮想的にグループ化することができる(図示せず)。このことは、クラウド・コンピューティング環境50が、クラウド・コンシューマがローカル・コンピューティング・デバイス上にリソースを保持する必要のないInfrastructure as a Service、Platform as a ServiceもしくはSoftware as a Service又はその組み合わせを提供することを可能にする。
図10に示されるコンピューティングデバイス54A~54Nのタイプは、単に例示的であることが意図され、コンピューティング・ノード10及びクラウド・コンピューティング環境50は、任意のタイプのネットワークもしくはネットワークアドレス指定可能な接続又はその両方を介して任意のタイプのコンピュータ化されたデバイスと通信することが可能である(例えば、ウェブ・ブラウザを用いて)ことが理解される。
【0151】
ここで
図11を参照すると、クラウド・コンピューティング環境50(
図10)によって提供される機能抽象化層のセットが示される。
図11に示されるコンポーネント、層及び機能は単に例示であることを意図し、本発明の実施形態はそれらに限定されないことを予め理解されたい。図示されるように、以下の層及び対応する機能が提供される。
【0152】
ハードウェア及びソフトウェア層60は、ハードウェア・コンポーネント及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例として、メインフレーム61、RISC(Reduced Instruction Set Computer(縮小命令セットコンピュータ))アーキテクチャベースのサーバ62、サーバ63、ブレードサーバ64、ストレージ・デバイス65、並びにネットワーク及びネットワーキングコンポーネント66が含まれる。幾つかの実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67と、データベース・ソフトウェア68とを含む。
【0153】
仮想化層70は、抽象化層を提供し、この層により、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーション及びオペレーティング・システム74、並びに仮想クライアント75を提供することができる。
【0154】
一例において、管理層80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81が、クラウド・コンピューティング環境内でタスクを実行するために利用されるコンピューティング・リソース及び他のリソースの動的な調達を提供する。計量及び価格決定82は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡と、これらのリソースの消費に対する課金又は請求とを提供する。一例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを含み得る。セキュリティは、クラウド・コンシューマ及びタスクについての識別検証、並びにデータ及び他のリソースに対する保護を提供する。ユーザポータル83は、コンシューマ及びシステム管理者に対して、クラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理84は、必要なサービス・レベルが満たされるように、クラウド・コンピューティング・リソースの割当て及び管理を提供する。サービス・レベル・アグリーメント(Service Level Agreement、SLA)の計画及び履行85は、SLAに従って将来的な必要性が予測されるクラウド・コンピューティング・リソースの事前配置及び調達を提供する。
【0155】
1つ又は複数の実施形態において、ワークロード層90は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロード及び機能の例として、マッピング及びナビゲーション91、ソフトウェア開発及びライフサイクル管理92、仮想教室教育配信93、データ分析処理94、トランザクション処理95、及び本明細書で説明される本発明の特徴の1つ又は複数を実行するセキュリティ制御処理96が挙げられる。
【0156】
本明細書で用いられる用語は、特定の実施形態を説明することのみを目的とし、本開示を限定することを意図したものではない。本明細書内で用いられる場合、単数形「1つの(a)」、「1つの(an)」及び「その(the)」は、文脈がそうでないことを明確に示していない限り、複数形も含むことを意図している。さらに、用語「含む(comprise)」もしくは「含んでいる(comprising)」又はその両方は、本明細書において使用されるとき、記載される特徴、整数、ステップ、動作、要素もしくはコンポーネント又はその組み合わせの存在を明示するが、1つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネントもしくはグループ又はその組み合わせの存在も又は追加も排除しないことがさらに理解されるであろう。
【0157】
以下の特許請求の範囲における「手段又はステップと機能との組合せ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、動作及び均等物は、明確に特許請求された他の特許請求される要素と共に機能を実行するための任意の構造、材料、又は動作を含むことを意図したものである。本発明の種々の実施形態の説明は、例証及び説明のためだけに提示されたものであり、網羅的であること又は本発明を開示した形態に限定することを意図したものではない。当業者には、本発明の範囲及び趣旨から逸脱することなく、多くの修正及び変形が明らかであろう。実施形態は、本発明の原理、実際の用途を最も良く説明するため、及び考えられる特定の使用に適するものとして種々の変形を有する種々の実施形態において、当業者が、本発明を理解するのを可能にするために、選択され説明された。
【0158】
本発明の1つ又は複数の実施形態において、本発明において説明されるいずれの方法も、VHDL(VHSICハードウェア記述言語)プログラム及びVHDLチップを用いて実装される。VHDLは、フィールド・プログラム可能ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)及び他の類似の電子デバイスのための例示的な設計入力言語である。従って、本発明の1つ又は複数の実施形態において、本明細書で説明されるいずれのソフトウェア実装方法も、ハードウェアベースのVHDLプログラムによってエミュレートされ、次にこれは、FPGAのようなVHDLチップに適用される。
【0159】
このように本出願の本発明の実施形態を詳細に説明し、その例証的な実施形態を参照すると、添付の特許請求の範囲に定められる本発明の範囲から逸脱することなく、修正及び変形が可能であることが明らかであろう。