JP2022512192A - 挙動による脅威検出のためのシステムおよび方法 - Google Patents

挙動による脅威検出のためのシステムおよび方法 Download PDF

Info

Publication number
JP2022512192A
JP2022512192A JP2021533152A JP2021533152A JP2022512192A JP 2022512192 A JP2022512192 A JP 2022512192A JP 2021533152 A JP2021533152 A JP 2021533152A JP 2021533152 A JP2021533152 A JP 2021533152A JP 2022512192 A JP2022512192 A JP 2022512192A
Authority
JP
Japan
Prior art keywords
event
client
events
cluster
assigning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021533152A
Other languages
English (en)
Other versions
JP7319370B2 (ja
Inventor
ディチウ,ダニエル
ニクラエ,ステファン
ボシンチェアヌ,エレーナ・エイ
ザムフィル,ソリナ・エヌ
ディンチュ,アンドレーア
アポストアエ,アンドレイ・エイ
Original Assignee
ビットディフェンダー アイピーアール マネジメント リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ビットディフェンダー アイピーアール マネジメント リミテッド filed Critical ビットディフェンダー アイピーアール マネジメント リミテッド
Publication of JP2022512192A publication Critical patent/JP2022512192A/ja
Application granted granted Critical
Publication of JP7319370B2 publication Critical patent/JP7319370B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis

Abstract

いくつかの実施形態では、挙動コンピュータセキュリティシステムは、クライアントおよびネットワークを、悪意のあるソフトウェアおよび侵入などの脅威から保護する。クライアントプロファイルのセットは、クライアントにおいて発生するイベントのトレーニングコーパスにしたがって構築され、各クライアントプロファイルは、保護されたマシンのサブセットを表し、各クライアントプロファイルは、クライアントそれぞれのプロファイルに割り当てられたマシンを使用する通常のまたはベースラインのパターンを示す。クライアントプロファイルは、同様のイベント統計を有するマシンをともにグループ化し得る。トレーニングの後、クライアントにおいて検出されたイベントは、異常な挙動を検出するために、それぞれのクライアントに関連付けられたクライアントプロファイルに対して選択的に分析される。いくつかの実施形態では、個々のイベントは、多次元イベント埋込空間を使用して、他のイベントのコンテキストにおいて分析される。

Description

[0001]本発明は、コンピュータセキュリティシステムおよび方法に関し、特に、悪意のあるソフトウェア、および/または、コンピュータシステムおよび/または通信ネットワークへの侵入を検出するためのシステムおよび方法に関する。
[0002]近年、コンピュータおよびネットワークのセキュリティは、個人にとっても企業にとっても同様にますます重要になってきている。電子通信技術の急速な発展、日々のアクティビティにおけるソフトウェアへの依存度の高まり、モノのインターネットの出現により、企業や個人はプライバシの喪失やデータの盗難に対して脆弱になっている。
[0003]熟練した攻撃者は、様々な技法を使用して、たとえば、悪意あるソフトウェアによって企業のコンピュータにインストールされたバックドアを使用して、企業ネットワークへの侵入を試み得る。その後、攻撃者は機密情報にアクセスしたり、変更したり、破壊したりする可能性がある。他の例示的な攻撃は、とりわけ、物理的セキュリティシステム(たとえば、盗難警報)を無効にするか、機能不能にすること、スパイソフトウェアをインストールすること、商品やサービス(たとえば、電力網)の製造または分配を制御する自動化されたシステムへの干渉を含む。
[0004]コンピュータシステムにおいて実行されるソフトウェアは、不正な侵入および他の悪意のあるアクティビティを自動的に検出および/または防止するために使用され得る。そのようなソフトウェアは、一般に侵入検出システム(IDS)として知られ、ネットワークおよび/またはコンピュータのアクティビティを監視して、異常なイベントやポリシ違反を検出し得る。一般的なIDSは、観察されたイベントに関連する情報を記録し、ユーザまたはネットワーク管理者に通知し、レポートを作成する。一部のIDSはさらに、たとえば、侵入の検出に応じてセキュリティ設定を変更する(たとえば、ファイアウォールを再構成する)ことで、侵入者が悪意のあるアクティビティを実行するのを防ぐことができる。
[0005]しかしながら、ソフトウェアサービスが次第に非局在化し、情報ネットワークを流れるデータ量が増加するにつれて、セキュリティソフトウェアが、悪意のあるアクティビティのインジケータとして、この膨大な量の情報をふるいにかけることがますます非現実的になっている。したがって、よりロバストでスケーラブルな侵入検出システムおよび方法の開発に大きな関心が寄せられている。
[0006]1つの態様によれば、サーバコンピュータシステムは、複数のクライアントシステムにおいて発生したイベントの集合を備えるトレーニングコーパスのイベントを、複数のイベントカテゴリに割り当てるように構成された少なくとも1つのハードウェアプロセッサを備える。ハードウェアプロセッサはさらに、イベントをイベントカテゴリに割り当てることに応じて、複数のクライアントシステムのうちのクライアントシステムを、複数のイベントカテゴリにしたがって、複数のクライアントクラスタに割り当てるように構成される。ハードウェアプロセッサはさらに、複数のクライアントシステムをクライアントクラスタに割り当てることに応じて、ターゲットクライアントシステムにおいて発生するターゲットイベントが、コンピュータセキュリティ脅威を示すか否かを判定するように構成された異常検出器へ、クライアントクラスタメンバシップインジケータを送信するように構成される。イベントをイベントカテゴリに割り当てることは、複数のクライアントシステムのうちのクライアントシステムにおいて発生した複数のイベントを、トレーニングコーパスから選択することと、発生時間にしたがって、複数のイベントを配列して、イベントシーケンスを形成することとを備える。イベントをイベントカテゴリに割り当てることはさらに、それに応じて、イベントシーケンス内の、選択されたイベントに先行する第1のイベントにしたがって、さらに、選択されたイベントに後続する第2のイベントにしたがって、イベントシーケンスの選択されたイベントを、選択されたイベントカテゴリに割り当てることを備える。クライアントシステムをクライアントクラスタに割り当てることは、クライアントシステムにおいて発生し、選択されたイベントカテゴリに属するイベントの回数にしたがって決定されるイベントプロファイルにしたがって、クライアントシステムを、選択されたクライアントクラスタに割り当てることを備える。異常検出器は、イベントのクライアントクラスタ固有のサブコーパスでトレーニングされた挙動モデルにしたがって、ターゲットイベントが、コンピュータセキュリティ脅威を示しているか否かを判定するように構成され、クライアントクラスタ固有のサブコーパスは、複数のクライアントクラスタのターゲットクラスタの複数のメンバにおいて発生したイベントのみを含むようにトレーニングコーパスから選択される。
[0007]別の態様によれば、コンピュータで実施される方法は、コンピュータシステムの少なくとも1つのハードウェアプロセッサを適用して、複数のクライアントシステムにおいて発生するイベントの集合を備えるトレーニングコーパスのイベントを、複数のイベントカテゴリに割り当てることを備える。この方法はさらに、イベントをイベントカテゴリに割り当てることに応じて、コンピュータシステムの少なくとも1つのハードウェアプロセッサを適用して、複数のクライアントシステムのうちのクライアントシステムを、複数のイベントカテゴリにしたがって、複数のクライアントクラスタに割り当てることを備える。この方法はさらに、クライアントシステムをクライアントクラスタに割り当てることに応じて、コンピュータシステムの少なくとも1つのハードウェアプロセッサを適用して、ターゲットクライアントシステムにおいて発生するターゲットイベントが、コンピュータセキュリティ脅威を示すか否かを判定するように構成された異常検出器へ、クライアントクラスタメンバシップインジケータを送信することを備える。イベントをイベントカテゴリに割り当てることは、複数のクライアントシステムのうちのクライアントシステムにおいて発生した複数のイベントを、トレーニングコーパスから選択することと、発生時間にしたがって、複数のイベントを配列して、イベントシーケンスを形成することとを備える。イベントをイベントカテゴリに割り当てることはさらに、それに応じて、イベントシーケンス内の、選択されたイベントに先行する第1のイベントにしたがって、さらに、選択されたイベントに後続する第2のイベントにしたがって、イベントシーケンスの選択されたイベントを、選択されたイベントカテゴリに割り当てることを備える。クライアントシステムをクライアントクラスタに割り当てることは、クライアントシステムにおいて発生し、選択されたイベントカテゴリに属するイベントの回数にしたがって決定されるイベントプロファイルにしたがって、クライアントシステムを、選択されたクライアントクラスタに割り当てることを備える。異常検出器は、イベントのクライアントクラスタ固有のサブコーパスでトレーニングされた挙動モデルにしたがって、ターゲットイベントが、コンピュータセキュリティ脅威を示しているか否かを判定するように構成され、クライアントクラスタ固有のサブコーパスは、複数のクライアントクラスタのターゲットクラスタの複数のメンバにおいて発生したイベントのみを含むようにトレーニングコーパスから選択される。
[0008]別の態様によれば、非一時的コンピュータ可読媒体は、コンピュータシステムの少なくとも1つのハードウェアプロセッサによって実行されると、コンピュータシステムに対して、複数のクライアントシステムにおいて発生したイベントの集合を備えるトレーニングコーパスのイベントを、複数のイベントカテゴリに割り当てさせる命令を記憶している。この命令はさらに、コンピュータシステムに対して、イベントをイベントカテゴリに割り当てることに応じて、複数のクライアントシステムのうちのクライアントシステムを、複数のイベントカテゴリにしたがって、複数のクライアントクラスタに割り当てさせる。この命令はさらに、コンピュータシステムに対して、クライアントシステムをクライアントクラスタに割り当てることに応じて、ターゲットクライアントシステムにおいて発生するターゲットイベントが、コンピュータセキュリティ脅威を示すか否かを判定するように構成された異常検出器へ、クライアントクラスタメンバシップインジケータを送信させる。イベントをイベントカテゴリに割り当てることは、複数のクライアントシステムのうちのクライアントシステムにおいて発生した複数のイベントを、トレーニングコーパスから選択することと、発生時間にしたがって、複数のイベントを配列して、イベントシーケンスを形成することとを備える。イベントをイベントカテゴリに割り当てることはさらに、それに応じて、イベントシーケンス内の、選択されたイベントに先行する第1のイベントにしたがって、さらに、選択されたイベントに後続する第2のイベントにしたがって、イベントシーケンスの選択されたイベントを、選択されたイベントカテゴリに割り当てることを備える。クライアントシステムをクライアントクラスタに割り当てることは、クライアントシステムにおいて発生し、選択されたイベントカテゴリに属するイベントの回数にしたがって決定されるイベントプロファイルにしたがって、クライアントシステムを、選択されたクライアントクラスタに割り当てることを備える。異常検出器は、イベントのクライアントクラスタ固有のサブコーパスでトレーニングされた挙動モデルにしたがって、ターゲットイベントが、コンピュータセキュリティ脅威を示しているか否かを判定するように構成され、クライアントクラスタ固有のサブコーパスは、複数のクライアントクラスタのターゲットクラスタの複数のメンバにおいて発生したイベントのみを含むようにトレーニングコーパスから選択される。
[0009]本発明の前述の態様および利点は、以下の詳細な説明を読み、図面を参照すると、よりよく理解されるであろう。
[0010]本発明のいくつかの実施形態による、セキュリティサーバが侵入検出システムとして機能する、いくつかの例示的な相互接続されたクライアントシステムを示す図である。 [0011]本発明のいくつかの実施形態によるクライアントシステムを保護するために実行される例示的なデータ交換を示す図である。 [0012]本発明のいくつかの実施形態によるクライアントシステムの例示的なハードウェア構成を示す図である。 [0013]本発明のいくつかの実施形態によるセキュリティサーバの例示的なハードウェア構成を示す図である。 [0014]本発明のいくつかの実施形態による保護されたクライアントシステムにおいて実行される例示的なソフトウェア構成要素を示す図である。 [0015]本発明のいくつかの実施形態によるセキュリティサーバの例示的なソフトウェアアーキテクチャを示す図である。 [0016]本発明のいくつかの実施形態によるプロファイリングエンジンの例示的な動作を示す図である。 [0017]本発明のいくつかの実施形態によるプロファイリングエンジンによって実行されるステップの例示的なシーケンスを示す図である。 [0018]本発明のいくつかの実施形態によるイベントエンコーダの例示的なトレーニングを示す図である。 [0019]本発明のいくつかの実施形態によるイベントエンコーダの代替的な例示的なトレーニングを示す図である。 [0020]図8-Aの構成でイベントデコーダをトレーニングするために実行される例示的なステップのシーケンスを示す図である。 [0021]本発明のいくつかの実施形態による例示的なイベント埋込空間と、例示的なイベントクラスタのセットとを示す図である。 [0022]本発明のいくつかの実施形態による例示的なクライアントプロファイル空間およびクライアントクラスタのセットを示す図である。 [0023]本発明のいくつかの実施形態によるクライアントシステムの例示的なイベントプロファイルを示す図である。 [0024]本発明のいくつかの実施形態による異常検出器の例示的な構成要素および動作を示す図である。 [0025]本発明のいくつかの実施形態によるトレーニング中に異常検出器によって実行される例示的なステップのシーケンスを示す図である。 [0026]本発明のいくつかの実施形態による異常検出器の一部を形成する挙動モデルの例示的な構成要素を示す図である。 [0027]本発明のいくつかの実施形態によるトレーニングされた異常検出器によって実行される例示的なステップのシーケンスを示す図である。 [0028]実際のコンピュータセキュリティ脅威を検出するために本発明のいくつかの実施形態を適用することを備える実験の結果を示す図である。 [0029]いくつかの実施形態を使用して実際のコンピュータセキュリティ脅威を検出した他の実験結果を示す図である。
[0030]以下の説明において、構成間に列挙されたすべての接続は、直接的な有効な接続または中間構成を介した間接的な有効な接続であり得ることが理解される。要素のセットは、1つまたは複数の要素を含む。要素の詳説は、少なくとも1つの要素を指すものと理解される。複数の要素は、少なくとも2つの要素を含む。特に明記されていない限り、「OR」の使用は、非排他的論理和を指す。特に必要がない限り、説明されるいずれの方法ステップも、必ずしも特定の例示された順序で実行される必要はない。第2の要素から派生した第1の要素(たとえば、データ)は、第2の要素と等しい第1の要素のみならず、第2の要素およびオプションで他のデータを処理することによって生成される第1の要素をも含む。パラメータにしたがって判定または決定することは、パラメータおよびオプションで他のデータにしたがって判定または決定することを含む。特に明記されていない限り、ある量/データのインジケータは、量/データ自体であるか、または量/データ自体とは異なるインジケータであり得る。コンピュータプログラムは、タスクを実行するプロセッサ命令のシーケンスである。本発明のいくつかの実施形態で説明されるコンピュータプログラムは、スタンドアロンのソフトウェアエンティティ、または他のコンピュータプログラムのサブエンティティ(たとえば、サブルーチン、ライブラリ)であり得る。特に明記されていない限り、コンピュータセキュリティは、不正なアクセス、変更、および/または破壊から機器およびデータを保護することを含む。コンピュータ可読媒体は、磁気、光学、および半導体記憶媒体(たとえば、ハードドライブ、光ディスク、フラッシュメモリ、DRAM)などの非一時的媒体のみならず、導電性ケーブルや光ファイバリンクなどの通信リンクも含む。いくつかの実施形態によれば、本発明は、とりわけ、本明細書で説明された方法を実行するようにプログラムされたハードウェア(たとえば、1つまたは複数のプロセッサ)のみならず、本明細書で説明された方法を実行するためのコンピュータ可読媒体エンコード命令を備えるコンピュータシステムを提供する。
[0031]以下の説明は、本発明の実施形態を例として例示するものであり、必ずしも限定するものではない。
[0032]図1は、本発明のいくつかの実施形態による、コンピュータセキュリティ脅威から保護されるクライアントシステム10a-hの例示的なセットを示す。クライアントシステム10a-hは、一般的に、プロセッサ、メモリ、および通信インターフェースを有する任意の電子デバイスを表す。例示的なクライアントシステム10a-hは、パーソナルコンピュータ、ラップトップ、タブレットコンピュータ、モバイル電気通信デバイス(たとえば、スマートフォン)、メディアプレーヤ、テレビ、ゲーム機、家電器具(たとえば、冷蔵庫、インテリジェント暖房および/または照明システム)、およびウェアラブルデバイス(たとえば、スマートウォッチ、フィットネス機器)などを含む。クライアントシステム10a-hは、たとえば、文書プロセシング、ゲーム、電子メッセージング、およびソーシャルメディアアプリケーションなどの様々なソフトウェアを実行し得る。一部のクライアントは、たとえばインターネットブラウジングなど、リモートコンテンツサーバ17と情報を交換し得る。
[0033]例示されるクライアントシステムは、ローカルネットワーク12a-bによって接続され、さらに広域ネットワーク(WAN)またはインターネットなどの拡張ネットワーク14に接続される。1つの例では、クライアントシステム10a-dは、ホームネットワーク12aによって相互接続された家族の電子デバイスを表す。一方、クライアントシステム10e-gは、オフィスビル内の個々のコンピュータおよび/または企業のメインフレームを示し得る。ローカルネットワーク12-bは、企業ネットワーク(たとえば、ローカルエリアネットワーク-LAN)の一部を表し得る。
[0034]ルータは、複数のクライアントシステム間の通信、および/または、拡張ネットワーク14へのそれぞれのクライアントのアクセスを可能にする電子機器を備える。図1の例では、ルータ15a-bは、ローカルネットワーク12a-bにおけるクライアントを相互接続し、および/または、クライアント10a-gがインターネットにアクセスできるようにする。ルータ15a-bは、ローカルネットワーク12a-bそれぞれと、拡張ネットワーク14との間のゲートウェイとして機能することができ、さらに、クライアントシステム10a-gにネットワークサービスのセットを提供することができる。そのようなサービスは、たとえば、ネットワーク構成パラメータをクライアントシステム10a-gに分配すること(たとえば、動的ホスト構成プロトコル-DHCPを介してネットワークアドレスを割り当てること)、およびネットワークノードのシーケンスを介して通信をルーティングすることを含む。例示的なクライアントシステム10hなどのいくつかのクライアントシステムは、たとえば電気通信リレーを介して、拡張ネットワーク14に直接接続し得る。
[0035]図1はさらに、拡張ネットワーク14に接続されたセキュリティサーバ16を示す。サーバ16は、一般的に、互いに物理的に近接していてもいなくてもよい、通信可能に結合されたコンピュータシステムのセットを表す。サーバ16は、クライアントシステム10a-hを、悪意のあるソフトウェアや侵入などのコンピュータセキュリティ脅威から保護する。いくつかの実施形態では、そのような保護は、クライアントシステムにおいて発生する疑わしいアクティビティ、たとえば、それぞれのクライアントシステムを制御する攻撃者のアクションを検出するセキュリティサーバ16を含む。
[0036]セキュリティサーバ16とクライアントシステム10との間の例示的なデータ交換が図2に例示される。クライアントシステム10は、図1におけるいずれかのクライアント10a-hを表し得る。いくつかの実施形態では、サーバ16は、クライアントシステム10からイベントインジケータ20aを受信するように構成され、インジケータ20aは、クライアント10におけるソフトウェアの実行中の特定のタイプのイベントの発生を示す。そのようなイベントの例は、プロセス/スレッドの起動(たとえば、ユーザがアプリケーションを起動し、親プロセスが子プロセスを作成する)、それぞれのクライアントシステムの入力デバイス(たとえば、カメラ、マイクロホン)へのアクセスの試み、ローカルまたはリモートネットワークリソースへのアクセスの試み(たとえば、特定のURLへアクセスするハイパテキスト転送プロトコル-HTTP要求、ローカルネットワークを介したドキュメントリポジトリへのアクセスの試み)、特定の統一リソース識別子スキームで作成された要求(たとえば、mailto:またはftp:要求)、特定のプロセッサ命令の実行(たとえば、システムコール)、ライブラリ(たとえば、ダイナミックリンクライブラリ-DLL)のロードの試み、新しいディスクファイルを生成する試み、ディスク上の特定の場所からの読取または書込の試み(たとえば、既存のファイルの上書きの試み、固有のフォルダまたはドキュメントを開く試み)、および電子メッセージ(たとえば、電子メール、ショートメッセージサービス-SMSなど)の送信の試みなどを含む。いくつかの実施形態では、非アクティブ期間、すなわち、それぞれのクライアントシステムがアイドル状態であり、ユーザアクティビティを登録しないか、または内部システムタスクのみを実行する、イベント間の時間ギャップおよび/または時間間隔は、イベントとしても適しており、イベントインジケータを介してセキュリティサーバへ報告され得る。そのような非アクティブ期間はさらに、(たとえば、秒のオーダの)短い時間ギャップと、(たとえば、数分から数時間のオーダの)長い時間ギャップに区別され得る。検出されたイベントは、それ自体が悪意を示している場合とそうでない場合とがあり、一部のイベントは、他のイベントとともに発生した場合、および/または、特定のシーケンスで発生した場合、悪意を示す可能性がある。他のイベントは、1日の特定の時間に、または、たとえば、数秒の間隔における、特定のディスクフォルダからの1000回の読取のシーケンスのように、通常とは異なる頻度で発生する場合、悪意がある可能性がある。
[0037]各イベントインジケータ20aは、とりわけ、それぞれのイベントのタイプを示すインジケータと、それぞれのイベントが発生した時点を示すタイムスタンプとを備え得る。イベントインジケータ20aはさらに、それぞれのクライアントシステムの識別子(クライアントID)、および/または、それぞれのクライアントシステムを現在操作しているユーザ(ユーザID)のインジケータを含み得る。たとえば、通信されたイベントが、プロセス作成を備える場合、ユーザインジケータは、親プロセスの所有者を示し得る。イベントインジケータ20aは、プロセス名、起動されているプロセスのファイルシステムの場所/パス、ネットワークアドレス(たとえば、インターネットプロトコル-IPアドレス)、HTTP要求のユニバーサルリソースロケータ(URL)などの他のパラメータをエンコードし得る。
[0038]いくつかの実施形態では、サーバ16は、図2におけるイベントインジケータ20bによって示されるように、ルータ15a-bから情報を収集し得る。そのようなイベントインジケータは、たとえば、それぞれのルータ/ゲートウェイに接続されているクライアントシステムによって発行されたネットワークアクセス要求などのネットワークイベントを示すインジケータを含み得る。たとえば、イベントインジケータ20bは、発信元IPアドレス、宛先IPアドレス、タイムスタンプ、およびペイロードサイズを含み得る。いくつかの実施形態では、イベントインジケータ20bは、様々なデータ処理プロトコル(たとえば、ネットワークフロー、ネットワークログなど)にしたがって、それぞれのルータによって集約されたクライアントイベントデータを備える。
[0039]セキュリティサーバ16は、クライアントシステム10a-hのサブセットを動作させるベースラインの、通常の、および/または正当な方式を表すユーザ挙動モデルのセットを維持する。そのような挙動モデルは、本明細書ではクライアントプロファイルと見なされる。そのような挙動モデルのパラメータは、図1においてプロファイルデータベース19として一般的に表され、以下に詳細に示されるように、イベントおよび/またはクライアントクラスタリングアルゴリズムの出力を含み得る。プロファイルがクライアントまたはイベントクラスタによって表される例示的な1つの実施形態では、それぞれのプロファイルのパラメータは、クラスタ重心の座標と、様々な軸に沿ったそれぞれのクラスタの範囲を示す数値のセットとを含み得る。とりわけ、他のプロファイルパラメータは、それぞれのクラスタの離心率、および、クラスタメンバとクラスタの重心との間の平均距離などを含み得る。以下に示すように、教師ありまたは教師なしの学習方法およびアルゴリズムを使用して、クライアントプロファイルが自動的に生成され得る。
[0040]クライアントプロファイルは、単一のユーザの挙動を取り込んでもよいし、複数のユーザの挙動をまとめて取り込んでもよい。いくつかの例を挙げると、スマートフォンは主に、1人のユーザによって使用され得るので、それぞれのスマートフォンに付随されたクライアントプロファイルは、本質的に、その主要なユーザのベースライン挙動を取り込むことができる。対照的に、大学のコンピュータラボに属するコンピュータは、多くの異なる学生によって使用され得、これらのマシンのうちの1つのマシンに付随されるクライアントプロファイルは、すべての各学生のベースライン挙動をまとめて表すことができる。1つのクライアントプロファイルを1つのクライアントシステム/物理マシン(たとえば、スマートフォン、ラップトップ)に付随させることができる。いくつかの実施形態では、1つのクライアントプロファイルが、複数の物理マシンをまとめて表し得る。そのような1つの例では、図1のクライアントシステム10a-dは、特定の家族のメンバの通常のまたはベースラインの挙動を取り込む単一のクライアントプロファイルによって集合的に表され得る。別の例では、あるクライアントプロファイルが、企業の経理部門のすべてのコンピュータを表すために使用される一方、別のクライアントプロファイルが、それぞれの企業の研究開発チームによって使用されるすべてのコンピュータを表すために使用される。物理マシンが様々な分散ユーザのために、複数の仮想マシンを実行できる仮想デスクトップインフラストラクチャ(VDI)環境などのクラウドコンピューティングの実施形態では、1つのクライアントプロファイルを、それぞれの物理マシンで実行する複数の仮想マシンに付随させることができる。
[0041]いくつかの実施形態では、単一のユーザは、複数の別個のクライアントプロファイルによって表され得る。たとえば、同じ人が、職場では1つのクライアントプロファイル/ベースライン挙動を有する一方、自宅では別個のクライアントプロファイル/ベースライン挙動を有する場合がある。クライアントプロファイルの他の例は、特定の年齢層(たとえば、10代の若者)、特定の個人的な興味(たとえば、ゲーム)、特定の職業(たとえば、エンジニア、アーティスト、教育者)などのユーザに関連付けられ得る。さらに別の例示的な実施形態では、別個のクライアントプロファイルは、たとえば、別個のコンピュータプログラムを使用すること、インターネットをブラウジングすること、ソーシャルメディアを使用すること、事務作業を行うことなど、別個のコンピュータアクティビティに対応し得る。さらに別の例示的なクライアントプロファイルは、別個のデバイスタイプ(たとえば、スマートフォンとPC)に付随され得る。たとえば、X社のエンジニアがインターネットをブラウズする典型的な/ベースラインの方式を示すクライアントプロファイルなど、より複雑な基準にしたがって集合プロファイルを考案することができる。そのような別の例示的なプロファイルは、若者がタブレットコンピュータを使用する典型的な方式を示すことができる。
[0042]イベントインジケータ20a-bのサブセットを収集して、以下に詳細に示されるように、クライアントプロファイルを導出するためにさらに使用されるイベントコーパスを形成し得る。セキュリティ脅威を検出するために、イベントインジケータの別のサブセットが使用され得る。たとえば、イベントインジケータ20a-bの受信に応じて、セキュリティサーバ16は、それぞれのイベントインジケータによって通信されるイベントが、それぞれのクライアントインジケータにしたがって選択されたクライアントプロファイルと一貫しているか否かを判定し得る。別の言い方をすれば、セキュリティサーバ16は、それぞれのイベントが、それぞれのクライアントプロファイルにエンコード化された通常/ベースラインの挙動のパターンと一致するか否かを判定し得る。一致しない場合、それぞれのイベントは、疑わしいアクティビティを示すことができ、その場合、いくつかの実施形態は、たとえば、セキュリティアラート22a-bをそれぞれのクライアントシステムおよび/またはそれぞれのクライアントシステムの管理者に送信するなど、保護的なアクションを講じ得る。保護的なアクションの別の例では、いくつかの実施形態は、疑わしいクライアントシステムと同じローカルネットワークに属するルータに、それぞれの疑わしいクライアントシステムとの通信をブロックするように指示する。セキュリティサーバ16によるクライアントプロファイルおよびイベントインジケータの処理について、以下でさらに説明する。
[0043]図3-Aは、本発明のいくつかの実施形態によるクライアントシステムの例示的なハードウェア構成を示す。クライアントシステム10は、図1におけるクライアントシステム10a-hのいずれかを表し得る。明確化のために、例示されているクライアントシステムは、コンピュータシステムである。モバイル電話、タブレットコンピュータ、およびウェアラブルデバイスなどの他のクライアントシステムは、構成が若干異なる場合がある。プロセッサ32は、信号および/またはデータのセットを用いて計算および/または論理演算を実行するように構成された物理デバイス(たとえば、半導体基板上に形成されたマイクロプロセッサ、マルチコア集積回路)を備える。そのような信号またはデータは、エンコードされ、プロセッサ命令、たとえばマシンコードの形態でプロセッサ32に配信され得る。メモリユニット34は、動作を実行する過程でプロセッサ32によってアクセスまたは生成されるデータ/信号を記憶する揮発性コンピュータ可読媒体(たとえば、ダイナミックランダムアクセスメモリ-DRAM)を備え得る。
[0044]入力デバイス36は、とりわけ、コンピュータのキーボード、マウス、およびマイクロホンを含むことができ、ユーザがデータおよび/または命令をクライアントシステム10に導入することを可能にするそれぞれのハードウェアインターフェースおよび/またはアダプタを含む。出力デバイス8は、とりわけ、モニタおよびスピーカなどの表示デバイスのみならず、グラフィックカードなどのハードウェアインターフェース/アダプタを含むことができ、それぞれのクライアントシステムがデータをユーザに通信できるようにする。いくつかの実施形態では、入力および出力デバイス36-38は、ハードウェアの共通部分(たとえば、タッチスクリーン)を共有する。記憶デバイス42は、ソフトウェア命令および/またはデータの不揮発性記憶、読取、および書込を可能にするコンピュータ可読媒体を含む。例示的な記憶デバイスは、磁気ディスクおよび光ディスクおよびフラッシュメモリデバイスのみならず、CDおよび/またはDVDディスクおよびドライブなどのリムーバブルメディアを含む。ネットワークアダプタ44は、クライアントシステム10が電子通信ネットワーク(たとえば、図1におけるネットワーク12、14)へ、および/または、他のデバイス/コンピュータシステムへ接続することを可能にする。
[0045]コントローラハブ40は、一般的に、複数のシステム、周辺機器、および/またはチップセットバス、および/または、プロセッサ32と、クライアントシステム10の残りのハードウェア構成要素との間の通信を可能にする他のすべての回路構成を表す。たとえば、コントローラハブ40は、メモリコントローラ、入力/出力(I/O)コントローラ、および割込コントローラを備え得る。ハードウェア製造者に応じて、そのようなコントローラの一部は、単一の集積回路に組み込まれ得るか、および/または、プロセッサと統合され得る。別の例では、コントローラハブ40は、プロセッサ32をメモリ34に接続するノースブリッジ、および/または、プロセッサ32をデバイス36、38、42、および44に接続するサウスブリッジを備え得る。
[0046]図3-Bは、本発明のいくつかの実施形態によるセキュリティサーバ16の例示的なハードウェア構成を示す。サーバ16は、少なくとも1つのハードウェアプロセッサ132(たとえば、マイクロプロセッサ、マルチコア集積回路)、物理メモリ134(たとえば、DRAM)、サーバ記憶デバイス142、およびサーバネットワークアダプタ144のセットを備える。サーバプロセッサ132は、中央処理装置(CPU)、および/または、グラフィック処理装置(GPU)のアレイを含み得る。アダプタ144は、セキュリティサーバ16が通信ネットワーク14に接続できるようにするネットワークカードおよび他の通信インターフェースを含み得る。サーバ記憶デバイス142は、イベントインジケータおよび/またはクライアントプロファイルパラメータなどのデータを記憶し得る。いくつかの実施形態では、サーバ16はさらに、クライアントシステム10の入力/出力デバイス36、38と機能的にそれぞれ類似し得る入力および出力デバイスを備え得る。
[0047]図4は、本発明のいくつかの実施形態によるクライアントシステム10において実行される例示的なソフトウェア構成要素を示す。そのようなソフトウェアは、クライアントシステム10のハードウェアと、それぞれのクライアントシステムにおいて実行されるユーザアプリケーション48などの他のコンピュータプログラムとの間のインターフェースを提供するオペレーティングシステム(OS)46を含み得る。例示的なオペレーティングシステムは、Windows(登録商標)、MacOS(登録商標)、iOS(登録商標)、およびAndroid(登録商標)などを含む。ユーザアプリケーション48は、一般的に、ワードプロセシング、画像処理、スプレッドシート、カレンダ、オンラインゲーム、ソーシャルメディア、ウェブブラウザ、および電子通信アプリケーションなどの任意のアプリケーションを表す。いくつかの実施形態では、セキュリティアプリケーション50は、クライアントシステム10を、悪意のあるソフトウェアや侵入などのコンピュータセキュリティ脅威から保護するように構成される。他の機能の中でも、セキュリティアプリケーション50は、イベントインジケータをセキュリティサーバ16に送信し、および/または、セキュリティアラートを受信するように構成される。いくつかの実施形態では、アプリケーション50はさらに、イベントハーベスタ52およびネットワークフィルタ53を備える。ネットワークフィルタ53のいくつかの機能は、ハードウェアにおいて直接実施され得る。クライアントシステム10が、ハードウェア仮想化プラットフォームを動作させ、OS46とアプリケーション48が、仮想マシン内で(たとえば、クラウドコンピューティング環境において)実行する場合、イベントハーベスタ52および/またはネットワークフィルタ53は、たとえば、イントロスペクションとして当技術分野で知られている技法を使用して、それぞれの仮想マシンを公開するハイパバイザのレベルで、それぞれの仮想マシンの外部で実行することができる。
[0048]イベントハーベスタ52は、クライアントシステム10によるソフトウェアの実行中に発生する様々なイベントを検出するように構成される。いくつかの実施形態は、検出された各イベントに、タイムスタンプを付けて、それぞれのイベントの発生時間を記録することができる。監視されるイベントは、マシンおよび/またはオペレーティングシステムに固有であり得る。例示的なイベントは、とりわけ、プロセス起動、プロセス終了、子プロセスの生成、周辺機器(たとえば、ハードディスク、ネットワークアダプタなど)へのアクセス要求、コマンドラインインターフェースへのユーザによるコマンド入力などを含む。そのようなハードウェアおよび/またはソフトウェアイベントは、たとえば、オペレーティングシステムの特定の機能をフックし、システムコールを検出し、ファイルシステムミニフィルタを適用し、メモリアクセス許可を変更して、特定のメモリアドレスからのコードの実行の試みを検出することなどによって、コンピュータセキュリティの技術分野で知られている任意の方法を使用して検出され得る。
[0049]いくつかの実施形態は、OS46に組み込まれたシステムロギングツール(たとえば、UNIX(登録商標)におけるSyslog)を使用して、ハードウェアおよび/またはソフトウェアイベントを監視する。そのようなツールは、各イベントのタイムスタンプ、イベントタイプを識別する数値コード、それぞれのイベントを生成したプロセスまたはアプリケーションのタイプのインジケータ、および他のイベントパラメータを含むイベント記述子のリストを生成し得る。セキュリティアプリケーション50は、そのような情報をそれぞれのシステムログから抽出して、イベントインジケータを作成し得る。例示的なシスログ入力が、以下に与えられる。
<30>Feb 8 21:36:51 dtm charon:12[IKE]establishing CHILD_SA dtmhq5{5}
<30>Feb 8 21:36:51 dtm charon:12[IKE]establishing CHILD_SA dtmhq5{5}
<187>Feb 8 21:37:56 example.domain.biz dhcpd:DHCPDISCOVER from 0c:14:7b:11:14:64 via eth1:network eth1:no free leases
[0050]ネットワークフィルタ53は、クライアントシステム10と他の当事者との間のネットワーク12-14を介した電子通信中に発生するネットワークイベントのセットを検出する。ネットワークフィルタ53によって検出される例示的なイベントは、クライアントシステム10と別のネットワークエンティティとの間の接続の確立の一部を形成するイベント(たとえば、ネットワークアドレスの要求、ネットワークアドレスの送信、ハンドシェイクイベントなど)、暗号化された接続(セキュアソケットレイヤ-SSL、仮想プライベートネットワーク-VPN)を構成するイベント、データの送信、およびデータの受信などを含む。いくつかの実施形態では、ネットワークフィルタ53は、傍受されたネットワークトラフィックからメタデータを収集する。そのようなメタデータは、たとえば、発信元ネットワークアドレス(たとえば、インターネットプロトコル-IPアドレス)、宛先アドレス、データパケットのタイムスタンプ、通信プロトコルのタイプのインジケータ、およびデータパケットのサイズを含み得る。他の例示的なメタデータは、それぞれの通信/データパケットを送信するハイパテキスト転送プロトコル(HTTP)ユーザエージェントのタイプのインジケータを含み得る。いくつかの実施形態は、通信メタデータを、(たとえば、シスコシステムズ社のNetFlow(登録商標)のように)当技術分野でネットワークフローとして知られる特殊なデータ構成に編成する。表1は、本発明のいくつかの実施形態によるフローとして表される通信メタデータの例を示す。
Figure 2022512192000002
[0051]いくつかの実施形態では、セキュリティアプリケーション50は、ハードウェアと、ソフトウェアと、および/または、ハーベスタ52およびネットワークフィルタ53によって検出されたネットワークイベントとにしたがって、イベントインジケータを定式化する。アプリケーション50はさらに、セキュリティサーバ16との通信を管理して、イベントインジケータを送信し、および/または、セキュリティ通知を受信するなどし得る。
[0052]代替実施形態では、上記のようにクライアントにおいてネットワーク通信を処理する代わりに、ネットワークフィルタ53および/またはルータ15は、クライアントシステム10に送受信される電子通信の少なくとも一部をセキュリティサーバ16に再ルーティングするように構成され得る。たとえば、クライアントシステム10のネットワーク構成パラメータは、サーバ16をデフォルトネットワークゲートウェイとして示すように設定され得る。次に、いくつかの実施形態は、セキュリティサーバ16を適用して、それぞれ再ルーティングされたトラフィックから、イベントインジケータを抽出する。
[0053]図5は、本発明のいくつかの実施形態による、セキュリティサーバ16において実行される例示的なソフトウェアを示す。例示されたソフトウェアは、プロファイリングエンジン60と、アラートマネージャ64にさらに接続された異常検出器62とを含む。当業者は、例示されたすべての構成要素が同じマシン/プロセッサにおいて実行される必要がないことを理解するであろう。たとえば、プロファイリングエンジン60は、プロセッサの専用クラスタにおいて実行することができ、異常検出器62のインスタンスは、他のマシン/プロセッサにおいて実行することができる。
[0054]いくつかの実施形態では、プロファイリングエンジン60は、クライアントシステムのセット(たとえば、図1におけるクライアント10a-hのサブセット)において発生するイベントを分析し、それぞれのクライアントシステムを動作させる、ベースラインの、通常の、および/または、正当な方式を表す複数のクライアントプロファイルを構築するように構成される。クライアントから受信したイベントインジケータ20a-bのサブセットを使用して、図1、図5、および図6においてコーパス18として示されるトレーニングイベントコーパスをアセンブルすることができる。その後、イベントコーパス18にしたがってプロファイルが決定される。クライアントプロファイルを決定することは、とりわけ、以下でより詳細に示すように、抽象的な多次元イベント空間におけるイベントを表し、データクラスタリング手順を実行することを含み得る。構築されたプロファイルは、その後、プロファイルデータベース19に、入力として記憶され得る。例示的なプロファイルデータベース入力は、クラスタ重心の座標のセット、クラスタの直径および/または偏心の測定値などのプロファイルパラメータのセットを備え得る。
[0055]図6は、プロファイリングエンジン60の例示的な構成要素および動作を示す。いくつかの実施形態では、エンジン60は、イベントエンコーダ70と、イベントクラスタリングエンジン72と、イベントエンコーダ70およびイベントクラスタリングエンジン72に接続されたクライアントクラスタリングエンジン74とを備える。プロファイリングエンジンによって実行される例示的なステップのシーケンスが図7に例示される。
[0056]ステップ202-204-206のシーケンスにおいて、プロファイリングエンジン60は、選択されたクライアントシステムおよび/またはルータから受信したイベントインジケータにしたがって、トレーニングイベントコーパス18をアセンブルし得る。いくつかの実施形態は、何らかの蓄積条件が満たされるまで、イベントインジケータを蓄積する。蓄積条件は、(100万イベントのコーパスを収集する)イベントの回数にしたがって、(たとえば、1時間以内などに受信したすべてのイベントを記録する)時間条件にしたがって、(たとえば、企業X、IP範囲Y、サブスクリプションアカウントZなどから受信したすべてのイベントを記録する)クライアントシステムおよび/またはユーザのアイデンティティにしたがって、または当技術分野で知られている他の任意の方法にしたがって決定され得る。個々のイベントは、その発生元に応じてラベル付けされ得、それぞれのイベントが発生した、検出された、またはセキュリティサーバ16で受信された時点などを特徴付けるタイムスタンプを備え得る。いくつかの実施形態では、イベントコーパス18は、新たに受信したイベントインジケータを組み込むことにより、定期的におよび/またはオンデマンドでリフレッシュされる。
[0057]いくつかの実施形態では、イベントエンコーダ70(図6)は、クライアントシステムにおいて発生したイベント(たとえば、クライアントマシンにおけるプロセスの起動)を特徴付けるデータを備えるイベントレコード26を入力し、これに応じて、当技術分野において通常、埋込空間と見なされる抽象的な多次元空間におけるベクトルとして、それぞれのイベントの表現を備えるイベントベクトル28aを出力するように構成される。例示的な埋込空間は、各軸が別個のイベント特徴を表す軸のセットにまたがっている。例示的な特徴は、ネットワークイベントの場合、ソースIPアドレス、ソースポート、宛先IPアドレス、宛先ポート、およびトランスポートプロトコルのインジケータなどを含み得る。別の例では、埋込空間の各軸は、(たとえば、主成分/特異値分解の実施形態において)イベント特徴の線形結合に対応する。好ましい実施形態では、イベントは、それぞれのイベントに先行および/または後続する他のイベントのコンテキストで分析される。そのような場合において、エンコーダ70は、イベントをコンテキストの埋込空間内のベクトルとして表すように構成され、類似のコンテキストで主に発生する2つのイベントは、互いに比較的近くに位置する。いくつかの実施形態は、イベントボキャブラリのサイズN、すなわち、それぞれのセキュリティシステムが監視している別個のイベントタイプの回数にしたがって、埋込空間の次元を選択する(イベントボキャブラリのさらなる詳細については、以下を参照)。たとえば、イベント空間の次元は、Nの2次ルートまたはNの対数のオーダであり得る。本発明の典型的な実施形態は、数百から数千の次元を有する埋込コンテキスト空間を使用する。
[0058]イベントエンコーダ70は、自動化されたデータ処理の技術分野で知られている任意の方法を使用して構築され得る。好ましい実施形態では、エンコーダ70は、人工知能システム、たとえば、多層人工ニューラルネットワーク(たとえば、リカレントおよび/またはフィードフォワードニューラルネットワーク)を備える。イベントベクトルの所望の表現を達成するために、何らかの性能条件が満たされるまで、エンコーダ70のパラメータを調整することができる。そのような調整は、本明細書においてトレーニングと呼ばれ、図7におけるステップ208によって表される。ニューラルネットワークの実施形態では、イベントエンコーダ70の例示的な調整可能なパラメータは、シナプス重みのセットなどを含む。いくつかの実施形態では、トレーニングエンコーダ70は、埋込空間自体を構築することになる。別の言い方をすれば、埋込空間は事前に決定されず、代わりに、イベントコーパス18の構成と、選択されたトレーニング手順とに依存する。
[0059]例示的なトレーニング手順は、図8-A-Bに示され、これは、スキップグラムアルゴリズムや、連続バッグオブワードアルゴリズムなどのword2vecアルゴリズムのバージョンを備える。そのような実施形態では、イベントは、単独で分析されるのではなく、発生または検出の時間にしたがって順序付けられた複数のイベントからなるイベントシーケンス25の構成要素として分析される。いくつかの実施形態では、それぞれのシーケンスのすべてのイベントは、同じクライアントシステムにおいて発生するように選択される。イベントシーケンス25は、中央イベントEと、中央イベントに先行するイベントのサブセットE-k...E-1(k≧0)、および/または、中央イベントに後続するイベントのサブセットE...E(p≧0)からなるイベントコンテキストとを備える。典型的な実施形態は、対称的なイベントコンテキスト(p=k)を使用し、pは2から5の範囲である。個々の各イベントE(-k≦i≦p)は、N行l列の数値ベクトルとして表すことができ、各行は、別個のイベントタイプ(たとえば、ブラウザの起動、ファイルのダウンロードの開始、ディスクへのデータの書込など)を表し、Nは、イベントタイプの「ボキャブラリ」のサイズを表し、ゼロ以外の要素は、それぞれのイベントがそれぞれのイベントタイプであることを示す。そのような表現は、当技術分野でワンホットエンコーディングとして一般的に知られている。イベントボキャブラリの典型的なサイズNは、数百から数千の別個のイベントタイプの範囲をとるが、固有のアプリケーションでは数百万に達する可能性がある。当業者は、ワンホットエンコーディングが、本明細書では例としてのみ使用されており、決して本発明の範囲を限定しないことを理解するであろう。
[0060]例示的なトレーニング手順では、イベントエンコーダは、イベントデコーダとペアになり、イベントデコーダとともにトレーニングされ、両方とも、フィードフォワードおよび/またはリカレントニューラルネットワークの一部を備え得る。一般的に、エンコーダとデコーダのペアは、トレーニングシーケンスの第1のサブセット(たとえば、中央イベントE)を入力し、それぞれのシーケンスの第2サブセット(たとえば、何らかのコンテキストイベントE,i≠0)の「予測」を出力するように構成される。図8-A-Bの例では、予測は、ワンホットベクトルとして例示され、代替実施形態は、異なる表現を使用してもよい。たとえば、予測は、N次元の数値ベクトルとして表すことができ、各数値は、対応するイベントタイプが、第2のサブセットに存在する可能性を示す。
[0061]図8-Aに例示されるスキップグラムトレーニング手順において、エンコーダとデコーダのペアは、中央イベントEが与えられた場合に正しいイベントコンテキストを生成するようにトレーニングされる。イベントコーパス18から引き出されたイベントの各シーケンスに対して、エンコーダ70aは、中央イベントEのワンホットエンコーディングを入力し、埋込コンテキスト空間における中央イベントEの表現を備えるイベントベクトル28cを生成するように構成される。次に、デコーダ76aは、イベントベクトル28cを入力し、各々が、それぞれのイベントシーケンスの「予測された」コンテキストイベントE(i≠0)を表す複数の推測ベクトルを出力するように構成される。エンコーダとデコーダのペアは、その後、予測誤差を低減するために、すなわち、「予測された」コンテキストと、それぞれのトレーニングシーケンスの実際のコンテキストとの間の不一致を修正するために、エンコーダ70aおよび/またはデコーダ76aのパラメータを調節することによってトレーニングされ得る。
[0062]連続的なバッグオブワードトレーニングアルゴリズムを使用する代替的なトレーニング手順は、それぞれのイベントコンテキストが与えられたトレーニングシーケンスの正しい中央イベントEを生成することを目的とする。図8-Bに例示されるそのような1つの例では、イベントエンコーダ70bは、シーケンス25のコンテキストイベントE(i≠0)を表すワンホットベクトルのセットを入力し、それぞれの各コンテキストイベントに対して決定された埋込イベントベクトル28d-fを出力するように構成される。図8-Aに例示されるスキップグラムの実施形態とは対照的に、エンコーダ70bは、複数のイベントベクトル28d-fを入力し、シーケンス25の中央イベントEの予測または「推測」を生成するように構成されたイベントデコーダ76bとペアをなす。その後、エンコーダとデコーダのペアは、予測誤差、すなわち、「予測された」中央イベントと、それぞれのトレーニングシーケンスの実際の中央イベントとの不一致を低減するために、エンコーダ70bおよび/またはデコーダ76bのパラメータを調節することによってトレーニングされる。
[0063]イベントエンコーダのトレーニングを実施するステップの例示的なシーケンスが、図9に例示される。ステップ222は、イベントコーパス18からイベントレコードのセットを検索し、イベントタイムスタンプにしたがって、およびそれぞれのイベントのソース(すなわち、それぞれのイベントが発生したクライアントシステム)にしたがって、イベントシーケンス25を識別する。スキップグラムの実施形態では、その後、ステップ224がイベントエンコーダ70aを実行して、イベントE(図8-Aのイベントベクトル28c)の埋込空間表現を生成する。ステップ226において、プロファイリングエンジン60は、イベントデコーダ76aを実行して、シーケンス25内の中央イベントEに先行する、および/または、後続するイベントについて、予測または「推測」のセットを生成する。ステップ228は、予測された各コンテキストイベントを、シーケンス25のそれぞれの実際のコンテキストイベントE(i≠0)と比較し、したがって、数値予測誤差を判定する。コスト関数または目的関数として解釈され得る予測誤差は、人工知能の技術分野で知られている任意の方法にしたがって計算され得る。そのような計算は、距離、たとえば、予測されたイベントと、実際のイベントとの間のレーベンシュタイン距離、ユークリッド距離、または余弦距離を決定することを備え得る。いくつかの実施形態は、交差エントロピ測定にしたがって目的関数を決定する。ステップ230において、プロファイリングエンジンは、計算された予測誤差を最小化する方向にエンコーダ70aのパラメータを調節し得る。トレーニングのために使用されるいくつかの例示的なアルゴリズムは、勾配降下法を使用した逆伝播法、シミュレーテッドアニーリング、および遺伝的アルゴリズムなどを含む。いくつかの実施形態は、その後、終了条件が満たされるまで、たとえば、イベントコーパス18にわたる平均予測誤差が、所定のしきい値を下回るまで、ステップ222-230を繰り返す。別の実施形態では、トレーニングは、所定の時間、または所定の反復回数継続する。当業者は、図9に例示されるステップのシーケンスが、多少の変更を加えて、バッグオブワードの実施形態(図8-B)にも等しく適合されることを理解するであろう。
[0064]上に示したイベントエンコーダのトレーニングに応じて、いくつかの実施形態はさらに、生成された埋込空間を変換して、その次元を削減する。この動作は、任意のデータ次元削減アルゴリズム、たとえば主成分分析(PCA)または特異値分解(SVD)を備え得る。
[0065]トレーニングおよびオプションの次元削減(図7におけるステップ208)の後、イベントエンコーダ70は、イベントコンテキストの多次元埋込空間におけるベクトルとして、各イベントを表すことができ、ここでは、同じイベントコンテキスト内で頻繁に発生する2つのイベントは、同じような位置を占める。別の言い方をすれば、そのような2つのイベントは、主に異なるコンテキストで発生する2つのイベント間の距離よりも短い距離だけ、埋込空間内で分離される。
[0066]プロファイリングエンジン60(図6)の構成要素に戻って示すように、イベントクラスタリングエンジン74は、トレーニングされたイベントエンコーダ70によって生成され、トレーニングコーパス18のメンバを表すイベントベクトルを、埋込空間内の各イベントベクトルの位置にしたがってクラスタに編成するように構成される(図7におけるステップ207も参照)。実施形態では、クラスタは、埋込空間内で互いに比較的近い複数のイベント、または別の言い方をすれば、埋込空間内の比較的小さなイベント間距離を特徴とする複数のイベントを備える。代替実施形態では、クラスタは、埋込空間のクラスタ固有領域を占めるイベントから構成される。そのような領域は、相互に排他的であるか、または部分的に重複していてもよい。図10は、本発明のいくつかの実施形態による、例示的な埋込空間と、イベントクラスタ80a-bのセットとを示す。例示される軸は、たとえば、例示されるイベントベクトル(ベクトル28g-h-k)の第1および第2の主構成要素を備え得る。イベントコンテキストの埋込空間を使用する実施形態では、クラスタは、主に類似のイベントコンテキスト内で発生するイベントを選択的に含み得る。さらに、同じクラスタは、様々なクライアントシステムにおいて発生する、および/または、様々なユーザのアクティビティを表す、イベントを含み得る。
[0067]イベントクラスタを構築するために、プロファイリングエンジン60は、当技術分野で知られている任意のデータクラスタリングアルゴリズム、たとえばk平均アルゴリズムの変形を適用し得る。別の例示的な実施形態は、パーセプトロンのセットをトレーニングして、埋込空間を別個の領域に切り分け、各領域内に位置するイベントベクトルを別個のイベントクラスタに割り当て得る。クラスタおよび/または領域の数は、(たとえば、保護されるクライアントシステム、および/または、監視されるイベントタイプの回数にしたがって)事前に決定され得るか、または、クラスタリングアルゴリズム自体によって動的に決定され得る。イベントクラスタリングの結果は、イベントクラスタパラメータ54(図6)のセットを備え、これは、各クラスタについて、クラスタの重心の座標およびクラスタの範囲の尺度、たとえば直径および/または偏心度を含み得る。他の例示的なクラスタパラメータ54は、それぞれのクラスタのメンバのリストや、それぞれのクラスタの代表/アーキタイプと見なされるそれぞれのクラスタの選択されたメンバなどを含み得る。クラスタパラメータは、クライアントクラスタリングエンジン74に渡され得る。
[0068]クライアントクラスタリングエンジン74(図6)は、イベントクラスタリングエンジン72によって計算されたイベントクラスタにしたがって、クライアントプロファイルのセットを決定するように構成される。そのようなクライアントプロファイルが、図11に例示される。いくつかの実施形態では、各クライアントプロファイルは、保護されたクライアントシステム10a-hの選択されたサブセット(クラスタ)を備える。いくつかのクライアントプロファイルは、複数のクライアントクラスタを含み得る。いくつかの実施形態では、クライアントプロファイルは、それぞれのクライアントクラスタの実際のメンバ、またはプロファイル空間内の固有の位置によって特徴付けられる架空のクライアントシステムであり得る、プロファイルアーキタイプを備え得る。たとえば、プロファイルアーキタイプは、クライアントクラスタリングエンジン74によって決定されるクライアントクラスタの重心を備え得る。
[0069]クライアントプロファイルを計算するために、クライアントクラスタリングエンジン74のいくつかの実施形態は、それぞれのクライアントシステムにおいて発生するイベントの典型的な分布を示すイベントプロファイルにしたがって、クライアントシステム10a-hをクラスタに割り当てる。1つの例示的な実施形態では、クライアントシステムのイベントプロファイルは、数字のベクトルを備え、数字は各々、それぞれのクライアントシステムにおいて発生し、イベントクラスタリングエンジン72によって以前に決定された別個のイベントクラスタに属する、イベントの回数にしたがって決定される。図12に例示される例では、イベントプロファイルの各構成要素は、それぞれのクライアントシステムから利用可能なイベントの合計回数の一部として決定される、それぞれのイベントクラスタQに属するイベントの割合を示すクラスタ信頼度尺度にしたがって決定される。たとえば、イベントクラスタリングエンジン72が、3つのイベントクラスタC、C、およびCを識別した場合、イベントプロファイルベクトル[0.1,0.75,0.15]は、それぞれのクライアントシステムにおいて発生するイベントの10%が、イベントクラスタCに属する一方、イベントの75%が、イベントクラスタCに属し、イベントの15%が、イベントクラスタCに属するクライアントシステムを表し得る。
[0070]図11に例示される例示的な実施形態では、各クライアントシステムは、それぞれのイベントプロファイルにしたがって多次元プロファイル空間において表される。別の言い方をすれば、クライアントシステムの各座標は、それぞれのクライアントのイベントプロファイルの構成要素を表す。図11は、3つの例示的なクライアントクラスタ/プロファイル82a-cを示す。当業者は、機械学習またはデータマイニングの技術分野で知られている任意の方法を使用して、そのようなプロファイルを構築することができ、例示的な方法は、k-meansクラスタリングアルゴリズムやニューラルネットワークの変形などを含む。代替実施形態は、クライアントシステムをクラスタに割り当てる他の基準を使用するか、またはそれぞれのクライアントのイベントプロファイルに加えてそのような基準を使用することができる。追加の例示的なクライアントクラスタリング基準は、とりわけ、それぞれのクライアントシステムの所有者および/またはユーザと、それぞれのクライアントシステムのネットワークアドレスと、それぞれのクライアントシステムのデバイスタイプなどを含む。たとえば、同じ家族、同じ企業、または同じネットワークドメインに属するクライアントは、同じクラスタにおいて、ともにグループ化され得る。
[0071]クライアントクラスタリングの後、プロファイリングエンジン60は、各クラスタ/プロファイルに割り当てられたクライアントシステムのリストと、クラスタアーキタイプ(たとえば、重心)の座標と、クラスタ直径などのクラスタパラメータを、プロファイルデータベース19に保存し得る。
[0072]図13は、本発明のいくつかの実施形態による異常検出器62の例示的な構成要素および動作を示す(図5も参照)。異常検出器62は、様々なクライアントシステムにおいて発生するイベントを示すイベントインジケータを備えるイベントストリーム24を受信し、それに応じて、それぞれのイベントが侵入、または悪意のあるソフトウェアの実行などのセキュリティ脅威を示しているか否かを示すセキュリティラベル88を出力するように構成される。いくつかの実施形態では、異常検出器62は、保護されたクライアントシステムにおいて発生するイベントを示すイベント通知の受信に応じて、それぞれのイベントにしたがってクライアントプロファイルを選択するように構成されたプロファイルマネージャ84を備える。プロファイルマネージャ84はさらに、それぞれのイベントが、それぞれのプロファイルによって表される通常/ベースラインの挙動のパターンに適合するか否かを判定するように構成された挙動モデル86に接続される。適合しない場合、それぞれのイベントは、異常と見なされ得、したがって、それぞれのクライアントシステムに対する攻撃の可能性を示す。
[0073]以下に示す異常検出を実行する準備として、異常検出器62のいくつかの実施形態は、プロファイリングエンジン60の出力を使用して、最初にイベントコーパスでトレーニングされる。異常検出器62をトレーニングする1つの目的は、プロファイリングエンジン60によって識別された各クライアントプロファイルの通常/ベースラインのユーザ挙動を判定することである。トレーニングは、終了基準が満たされるまで、挙動モデル86のパラメータのセットを調節することを備える。異常検出器62をトレーニングするために使用されるイベントコーパスは、プロファイリングエンジン60の構成要素をトレーニングするために使用されるトレーニングコーパス18とは異なり得る。
[0074]図14は、本発明のいくつかの実施形態によるトレーニング手順中に異常検出器62によって実行される例示的なステップのシーケンスを示す。異常エンジン60が、クライアントプロファイルのセットを構築することに応じて、ステップ242は、プロファイルデータベース19からそのようなクライアントプロファイルを1つ選択する。いくつかの実施形態では、そのような各クライアントプロファイルは、クライアントクラスタのセット、たとえば図11におけるクラスタ82aを備える。各クライアントクラスタはさらに、保護されたクライアントシステムの選択されたサブセットを含む。ステップ244は、それぞれのプロファイル/クラスタに関連付けられた任意のクライアントシステムにおいて発生するものとして登録されたイベントのトレーニングセットを選択し得る。いくつかの実施形態では、ステップ244は、上記に示されたように、クライアントプロファイルを構築するためにすでに使用されたトレーニングコーパス18から選択された、イベントのトレーニングセットを備え得る。さらなるステップ246は、挙動モデル86をトレーニングするためのトレーニングコーパスとして、イベントのそれぞれのトレーニングセットを使用し得る。
[0075]いくつかの実施形態では、挙動モデル86は、プロファイリングエンジン60のいくつかの構成要素と、構成および機能が類似している構成要素を備える。たとえば、モデル86のいくつかの実施形態は、図15に例示されるようなエンコーダとデコーダのペアを含み、これは、ニューラルネットワーク技術を使用して構築され得、word2vecファミリのアルゴリズムのメンバにしたがってトレーニングされ得る(図8-A-Bに関する上記の説明参照)。トレーニング挙動モデル86は、その後、それぞれのクライアントクラスタ/プロファイルからの各イベントを、イベント埋込空間内のベクトルとして表すことを目的として、エンコーダ70cおよび/またはデコーダ76cのパラメータ(たとえば、シナプス重みのセット)を調節することになり得る。好ましい実施形態では、エンコーダ70cは、イベントシーケンスのコンテキストで各イベントを分析し、他のコンテキストで発生するイベントと比較して、同様のコンテキストで主に発生するイベントが短い距離で分離される埋込空間を生成する。しかしながら、2つのエンコーダのために使用されるトレーニングコーパスは別個であるので、トレーニングエンコーダ70cから生じるイベント埋込空間(すなわち、軸の平均化、イベント間距離のサイズなど)は、トレーニングイベントエンコーダ70から生じるイベント埋込空間とは実質的に異なる場合がある。
[0076]好ましい実施形態では、ステップ246は、バッグオブワードアルゴリズムのバージョンを使用して、エンコーダとデコーダのペアをトレーニングすることを備える(図8-B参照)。そのような1つの例では、エンコーダとデコーダのペア(図15)は、現在分析されているイベントシーケンスのイベントコンテキストを表す複数のイベントE-k...E-1,E...Eを受信し、N次元の予測スコアベクトル90を生成するように構成され、各要素は、別個のイベントタイプに関連付けられ、各要素は、それぞれのイベントシーケンスの中央イベントが、それぞれのイベントタイプからなる可能性を表す。たとえば、より高いスコア値は、それぞれのイベントタイプが、より低いスコアを有する他のイベントタイプよりも、それぞれのイベントシーケンスの中央イベントとして発生する可能性がより高いことを示し得る。そのような実施形態では、モデル86の例示的なトレーニングは、ステップ244(図14)において識別されたイベントのサブセットからイベントシーケンスを選択することと、それぞれのシーケンスのイベントコンテキストをエンコーダ70cに入力することと、それぞれのイベントシーケンスの中央イベントEのための予測を生成するようにデコーダ76cを実行することと、エンコーダ70cおよび/またはデコーダ76cを形成するニューラルネットワークを介して予測誤差を逆伝播することにより、不正確な予測を罰することとを備え得る。トレーニングが成功したことに応じて、ステップ248は、トレーニングされた挙動モデルのパラメータ値を保存し得る。トレーニング手順は、プロファイリングエンジン60によって識別されたクライアントプロファイルごとに繰り返され得る。
[0077]図16は、本発明のいくつかの実施形態による、ターゲットクライアントシステム(図1におけるクライアント10a-hなど)を、コンピュータセキュリティ脅威から保護するために異常検出器62によって実行される例示的なステップのシーケンスを例示する。ターゲットクライアントシステムは、上記のように挙動モデルおよび/またはクライアントプロファイルを生成したイベントのトレーニングコーパスを提供するクライアントのサブセットのメンバである場合も、そうでない場合もある。ターゲットクライアントシステムを保護するために、イベントは、ターゲットクライアントシステム、および/または、ルータ15a-b(図1参照)などの他のデバイスで検出され得、イベントインジケータの形態でセキュリティサーバ16へ通信され得る。そのようなイベントインジケータは、ソース、イベントタイプ、タイミング、サービスアカウント設定などにしたがって前処理され、イベントストリーム24として編成され得る。イベントは個別に、またはバッチで処理され得る。ターゲットクライアントシステムからのイベントインジケータの受信に応じて、ステップ254において、異常検出器62は、それぞれのイベントインジケータにしたがって、分析するイベントシーケンスをアセンブルし得る。ステップ254は、イベントソース(すなわち、それぞれのイベントが発生したクライアントシステム)を識別することと、イベントストリーム24から複数の他のイベントを選択して、イベントシーケンスを形成することとを含み得る。いくつかの実施形態では、シーケンスのメンバはすべて、同じターゲットクライアントシステムにおいて発生するように選択される。別の例では、シーケンスのすべてのメンバは、たとえば、ネットワークサブドメインや、共通のIPアドレスなど、クライアントシステムの所定のサブセットにおいて発生する必要がある。選択されたイベントはまた、発生および/または検出の時間にしたがって、たとえば、着信イベントインジケータで提供されるタイムスタンプを使用して順序付けられ得る。イベントシーケンスはさらに、たとえば中央イベントとイベントコンテキストとを識別するなどの部分にさらに分割され得る(たとえば、図8-A参照)。
[0078]ステップ256において、プロファイルマネージャ84は、それぞれのイベントインジケータにしたがって、たとえば、それぞれのイベントが発生したターゲットクライアントシステムのアイデンティティにしたがって、クライアントプロファイルを選択し得る。それぞれのターゲットクライアントシステムが、クライアントプロファイルの開発、および/または、挙動モデルのトレーニングのためのトレーニングイベントを提供した場合、ステップ256は、メンバとしてそれぞれのターゲットクライアントシステムを有するクライアントプロファイル/クラスタを選択することを備え得る。他のプロファイル選択基準を使用することもできる。たとえば、ステップ256は、クライアントプロファイル空間(図11参照)内のターゲットクライアントシステムの位置にしたがって、たとえば、ターゲットクライアントシステムの位置を、クラスタアーキタイプのセットまたは重心と比較することによって、クライアントプロファイルを選択することと、重心がターゲットクライアントシステムに最も近いクラスタ/プロファイルを選択することとを備え得る。そのような1つの例では、クライアントプロファイルは、ターゲットクライアントシステムについて決定されたイベントプロファイルにしたがって(たとえば、特定のイベントカテゴリ/クラスタに適合する、ターゲットクライアントシステムから受信したイベントの回数にしたがって)選択され得る。他のクライアントプロファイル選択基準は、ターゲットクライアントシステムのネットワークアドレスにしたがってクライアントプロファイルを選択すること(たとえば、ターゲットクライアントシステムと同じIPアドレスを有するクライアントを含むクライアントプロファイルを選択すること)、ターゲットクライアントシステムの所有者/ユーザにしたがってクライアントプロファイルを選択すること(たとえば、ターゲットクライアントシステムと同じ世帯のメンバを含むプロファイルを選択すること)などを含み得る。
[0079]さらなるステップ258において、異常検出器は、選択されたそれぞれのクライアントプロファイルに固有のパラメータ値で、挙動モデル86をインスタンス化し得る。いくつかの実施形態では、プロファイル固有のインスタンス化の後、モデル86を実行すること(ステップ260)は、それぞれのクライアントプロファイルに関連付けられたイベント埋込空間にそれぞれのイベントシーケンスのイベントを投影することを備える。
[0080]ステップ262は、それぞれのイベントシーケンスのイベントが、それぞれのクライアントプロファイルに関連付けられた通常/ベースラインのユーザ挙動を表すか否かを判定し得る。1つの実施形態では、ステップ260において、それぞれのシーケンスのイベントコンテキスト(E,i≠0)を挙動モデル86へ供給することと、それぞれのシーケンスの予測スコアベクトル90を計算することとを備える。その後、ステップ262は、シーケンスの実際の中央イベントEのイベントタイプに対応するベクトル90の要素を識別することと、それぞれのスコアを所定のしきい値(たとえば、0.95)と比較することとを備え得る。いくつかの実施形態では、しきい値よりも低いスコア値は、それぞれのイベントEがそれぞれのイベントコンテキストで実質的に発生する可能性が高くないことを示し、したがって、潜在的なコンピュータセキュリティ脅威と一貫する異常を示す。いくつかの実施形態では、セキュリティサーバ16のユーザまたは管理者は、しきい値を調節することにより、方法の感度を調整し得る。そのような1つの例では、異なるしきい値が、クライアントシステムの異なるグループに関連付けられる。
[0081]代替実施形態では、ステップ260は、モデル86を使用して、それぞれのクライアントプロファイルに固有のイベント埋込空間内のシーケンスのイベントEの表現を決定することを備え得る。その後、ステップ262は、埋込空間内のそれぞれのイベントの位置にしたがって、イベントEが、それぞれのクライアントプロファイルの通常の挙動のパターンに適合するか否かを判定することを備え得る。たとえば、イベントが、トレーニングイベントのクラスタ内に配置されている(たとえば、所定のしきい値よりもクラスタ重心に近い)場合、イベントは通常と見なされる。別の例では、イベントは、埋込空間の特定の領域に位置する場合、通常/良性と見なされ得、他の領域に位置する場合は異常と見なされ得る。
[0082]シーケンスのイベント(たとえば、E)が異常であると見なされる場合、つまり、言い換えれば、それぞれのクライアントプロファイルのトレーニングを通じて確立された通常のパターンに適合しない場合、ステップ264は、さらなる分析のためにそれぞれのイベントにマークを付すことができる。いくつかの実施形態では、異常は、セキュリティサーバ16のアラートマネージャ64によるセキュリティアラートの送信をトリガし得る(図5参照)。セキュリティアラートは、異常なイベントが発生したクライアントシステム、および/または、それぞれのクライアントシステムの管理者に送信され得る。異常なイベントのインシデントも収集され得、さらなる分析のために、コンピュータセキュリティラボに報告され得る。
[0083]上述した例示的なシステムおよび方法により、悪意のあるソフトウェアおよび侵入などのコンピュータセキュリティ脅威の効率的な検出が可能になる。開示されたシステムおよび方法は、コンピュータセキュリティに対する挙動によるアプローチを実施し、通常/ベースラインのユーザ挙動は、イベントのトレーニングコーパスにしたがってシステムによって自動的に推測され、ベースライン挙動パターンからの逸脱は、脅威を示し得る。
[0084]いくつかの実施形態は、複数のクライアントシステム、たとえば、コンピュータ、モバイル電話、ネットワーク器具、および仮想マシンにおいて発生する様々なイベントを検出する。例示的なイベントは、固有のプロセスの起動、特定のファイルまたはネットワークの場所へのアクセスの試み、特定のポートやアドレスへのアクセスなどのネットワークトラフィックイベントなどを含む。当業者は、とりわけ、本明細書において説明されたシステムおよび方法が、ソーシャルメディアにおけるユーザのアクティビティ、ユーザのブラウジング履歴、およびユーザのゲームアクティビティなどに関連するイベントのように、他の種類のイベントに適応できることを理解するであろう。イベント通知は、セキュリティサーバにおいて集約される。そのようなイベントの集合は、クライアントプロファイルのセットを構築するためのトレーニングコーパスとして使用され得、各クライアントプロファイルは、単一のユーザ、単一のマシン、または複数のユーザ/マシンを表し得る。いくつかの実施形態では、各クライアントプロファイルは、クライアントシステムのサブセット、および/または、それぞれのサブセットクライアントシステムにおいて発生したイベントのサブセットを備える。各クライアントプロファイルは、それぞれのクライアントシステムの通常のおよび/または良性なパターンを表し得る。そのようなクライアントプロファイルは、その後、コンピュータセキュリティ脅威を示し得る異常な挙動のインシデントを検出するために使用され得る。
[0085]いくつかの従来のコンピュータセキュリティは、悪意を示す挙動を定量化するルールのセットにしたがって動作する。開発者は通常、そのようなソリューションを、広く様々なクライアントに提供することに関心があるため、挙動ルールは、通常、一般的であり、固有のユーザに合わせて調整されていない。しかしながら、実際には、ユーザは、非常に多様である。同じ会社や家族であっても、メンバによってコンピュータの使用方法は大きく異なり得る。ソフトウェア開発者またはエンジニアにとっては通常と見なされ得るアクションのセットが、経理部門のコンピュータで検出されると、非常に珍しい場合がある。さらに、同じユーザでも、職場と自宅で挙動が大きく異なる場合がある。したがって、一般的な挙動ルールでは、実際のユーザの多様性と特異性を取り込めない場合がある。そのような従来のシステムとは対照的に、本発明のいくつかの実施形態では、各クライアントシステムにおいて発生するイベントは、それぞれのクライアントシステム自体および/または同様のクライアントの通常/ベースラインの挙動を取り込むモデルに対して、選択的にレビューおよび分析される。別の言い方をすれば、挙動の「正常性」の境界は、固有のクライアントマシン、固有のグループ(たとえば、会社の特定の部門、家族のメンバ、特定の年齢層)のユーザなど、かなり具体的に定義され得る。
[0086]ソフトウェアおよびインターネットの使用の普及により、高度に固有の挙動プロファイル、たとえば個々のユーザに付随されたプロファイルを開発する試みは、不合理な計算リソースを必要とする可能性があり、したがって非現実的である可能性がある。さらに、個々のユーザ/マシンからイベントを収集しても、統計的にロバストな挙動モデルを開発するのに十分なデータが提供されない場合がある。このアプローチとは対照的に、本発明のいくつかの実施形態は、複数のユーザ、および/または、マシンを、単一のクライアントプロファイルにグループ化し、したがって、特異性、ロバスト性、および計算コストの間の有用なトレードオフを保証する。それに加えて、ユーザとマシンがプロファイルにグループ化される方式は、それ自体が挙動基準に基づいており、そのようなグループ化が特異性を維持することを保証する。いくつかの実施形態では、各クライアントプロファイルは、実質的に同様のイベントプロファイルを有するユーザ/マシンをグループ化する。別の言い方をすれば、クライアントプロファイルのすべてのメンバは、メンバマシンにおいて発生するイベントの統計に関して、同様のベースライン挙動を示す。
[0087]いくつかの従来のコンピュータセキュリティシステムおよび方法は、主に個々のイベントを分析する。コンピュータシステムの動作中に発生する多くのイベント(たとえば、ファイルを開く、ウェブページにアクセスする)は、単独で考えると悪意を示すものではないかもしれない。しかしながら、特定のアクションのシーケンスなど、他のイベントのコンテキストにおいて発生する場合は、悪意がある可能性がある。より従来式のソリューションとは対照的に、本発明のいくつかの実施形態は、コンテキスト内でイベントを明示的に分析するので、そのようなイベント相関状況により適している。好ましい実施形態は、個々のイベントを、同じイベントコンテキストにおいて、比較的高い頻度で発生するイベントのペアが、同じイベントコンテキストにおいて、より稀にしか発生しない別のイベントのペアよりも、短い距離で隔てられているという別個の特性を有する、多次元埋込空間内のベクトルとして表す。
[0088]挙動モデリングを成功させるには、多数(たとえば、数百または数千)の別個のイベントタイプを検出する必要があり得るが、挙動モデリングにおいてすべてのイベントタイプが等しく重要であるとは限らない。多数のソースから受信したそのような多数のイベントタイプに関する統計データを収集して分析することは、非現実的であり得る。この問題に対処するために、いくつかの実施形態は、イベントを、イベント間の類似性の程度にしたがって、イベントカテゴリまたはクラスタにグループ化し、したがって、よりロバストなおよび/または関連性のある統計を作成する。クライアントプロファイルの構築は、そのような意味のある次元削減によって実質的に容易とされ得る。イベントの類似性は、いくつかの基準にしたがって、たとえば、イベント埋込空間内の2つのイベントを分離する距離にしたがって決定され得る。好ましい実施形態において、2つのイベントは、それらが主に同じ文脈において発生する場合、類似していると見なされ得る(たとえば、例示的なシーケンスXAYおよびXBYにおけるように、イベントAおよびBの両方が頻繁に、イベントXが先行し、および/または、イベントYが後続する場合、イベントAおよびBは、類似していると見なされる)。
[0089]図17-A-Bは、コンピュータセキュリティ脅威の検出に、上記で説明したシステムおよび方法のいくつかを適用する実験を例示する。複数の監視されたクライアントから収集されたイベントのイベントコーパスを使用して、上記のようにプロファイリングエンジンの構成要素をトレーニングした結果、監視されたクライアントは、11のクライアントクラスタ/プロファイルに分割された。イベントは、15次元の埋込空間における各イベントの表現にしたがって、イベントカテゴリに分類された。プロファイル固有の挙動モデルは、それぞれのクライアントクラスタ用に開発された。その後、特定のタイプの攻撃が、テストマシンにおいて実行された。テストマシンから収集されたイベントシーケンスは、挙動モデルの各々に固有のパラメータでインスタンス化され、異常検出器に入力された。そのようなイベントシーケンスの一部が、異常として検出された。
[0090]図17-Aは、スコア1が異常100%の確実性を示すスケールで表されたクラスタ固有の異常スコアを示す(たとえば、テストマシンから受信したイベントシーケンスの少なくとも1つのイベントが、トレーニング中に見られていない)。グラフは、異常なイベントシーケンス全体で平均化されたスコア値と、関連付けられた標準偏差とを表す。この図は、同じシーケンスが、クラスタ固有の確実性レベルで、異常と見なされる可能性があることを示している。別の言い方をすれば、同じイベントシーケンスは、特定のクライアントでは他のクライアントよりも「異常が少ない」と見なされる。たとえば、クラスタ1、2、7に関連付けられた挙動モデルは、他のモデルよりも比較的高い効率で攻撃を検出するだけでなく、攻撃に関連付けられたすべてのイベントシーケンスは「同等に異常」と見なされた。対照的に、クラスタ0および9に関連付けられたモデルは、同じ攻撃の一部のイベントシーケンスを、他のシーケンスよりも「異常性が少ない」として示している。
[0091]図17-Bは、3つの別個のタイプの攻撃に対して達成されたプロファイル固有の平均検出率を示している。各タイプの攻撃中にテストマシンから収集されたイベントシーケンスは、11のプロファイル固有のトレーニング済み挙動モデルの各々を使用して分析された。検出率は、攻撃のモデルやタイプによって異なっており、これはさらに、本明細書で説明したシステムおよび方法のいくつかの特異性をさらに証明している。
[0092]そのような実験結果は、本発明のいくつかの実施形態の別の潜在的な適用を示している。集中型コンピュータセキュリティソリューションは、クライアントプロファイルによって識別されたクライアントの各セット、および/または、各クライアントクラスタのアーキタイプに対する類似性を有する他のクライアントに対する保護戦略を選択的に開発することができる。いくつかの実施形態は、本明細書で説明された方法が、十分な程度のセキュリティを提供するクライアントのクラスタ、および追加のセキュリティ対策を必要とするクライアントの他のクラスタを識別し得る。クライアントの各クラスタに合わせて保護を調整すると、ユーザ体感が向上し、不必要な計算コストが削減される。
[0093]当業者には、本発明の範囲から逸脱することなく、上記の実施形態を多くの手法で変更できることが明らかであろう。したがって、本発明の範囲は、以下の特許請求の範囲およびそれらの法的均等物によって決定されるべきである。

Claims (17)

  1. サーバコンピュータシステムであって、
    トレーニングコーパスのイベントを複数のイベントカテゴリに割り当てることであって、前記トレーニングコーパスは、複数のクライアントシステムにおいて発生したイベントの集合を含む、割り当てることと、
    イベントをイベントカテゴリに割り当てることに応じて、前記複数のクライアントシステムのうちのクライアントシステムを、複数のクライアントクラスタに、前記複数のイベントカテゴリにしたがって割り当てることと、
    ライアントシステムをクライアントクラスタに割り当てることに応じて、クライアントクラスタメンバシップインジケータを異常検出器に送信することであって、前記異常検出器は、ターゲットクライアントシステムにおいて発生するターゲットイベントがコンピュータセキュリティ脅威を示すか否かを判定するように構成された、送信することと
    を行うように構成された少なくとも1つのハードウェアプロセッサを含み、
    イベントをイベントカテゴリに割り当てることは、
    複数のイベントを前記トレーニングコーパスから選択することであって、前記複数のイベントは、前記複数のクライアントシステムのうちのクライアントシステムにおいて発生した、選択することと、
    前記複数のイベントを発生時間にしたがって配列して、イベントシーケンスを形成することと、
    それに応じて、前記イベントシーケンスのうちの選択されたイベントを、選択されたイベントカテゴリに、前記選択されたイベントに先行する第1のイベントにしたがって、さらに、前記選択されたイベントに後続する、前記イベントシーケンス内の第2のイベントにしたがって割り当てることと
    を含み、
    クライアントシステムをクライアントクラスタに割り当てることは、前記クライアントシステムを、選択されたクライアントクラスタに、イベントプロファイルに従って割り当てることであって、前記イベントプロファイルは、前記クライアントシステムにおいて発生し、前記選択されたイベントカテゴリに属するイベントの回数にしたがって決定された、割り当てることを含み、
    前記異常検出器は、前記ターゲットイベントが前記コンピュータセキュリティ脅威を示しているか否かを、イベントのクライアントクラスタ固有のサブコーパスでトレーニングされた挙動モデルにしたがって判定するように構成され、前記クライアントクラスタ固有のサブコーパスは、前記トレーニングコーパスから、前記複数のクライアントクラスタのターゲットクラスタの複数のメンバにおいて発生したイベントのみを含むように選択された、
    サーバコンピュータシステム。
  2. 請求項1に記載のコンピュータシステムであって、イベントをイベントカテゴリに割り当てることは、
    多次元イベント埋込空間における前記選択されたイベントの位置を、前記第1および第2のイベントにしたがって決定することと、
    前記選択されたイベントを、前記選択されたイベントカテゴリに、前記イベント埋込空間における前記選択されたイベントの前記位置にしたがって、割り当てることと
    を含む、コンピュータシステム。
  3. 請求項2に記載のコンピュータシステムであって、前記選択されたイベントカテゴリを、前記イベント埋込空間における同様の位置を占めるイベントのクラスタにしたがって決定するようにさらに構成されるコンピュータシステム。
  4. 請求項2に記載のコンピュータシステムであって、前記イベント埋込空間における前記選択されたイベントの前記位置を決定することは、前記位置を示す座標のセットを生成するようにイベントエンコーダをトレーニングすることを含み、
    前記イベントエンコーダをトレーニングすることは、
    前記イベントエンコーダにイベントデコーダを結合することであって、前記イベントデコーダは、前記座標のセットを受信し、前記イベントシーケンスが前記第1および第2のイベントを含む可能性を示す予測インジケータを出力するように構成された、結合することと、
    前記イベントエンコーダのパラメータのセットを前記予測インジケータにしたがって調節することと
    を含む、コンピュータシステム。
  5. 請求項2に記載のコンピュータシステムであって、前記イベント埋込空間における前記選択されたイベントの前記位置を決定することは、前記位置を示す座標のセットを生成するようにイベントエンコーダをトレーニングすることを含み、前記イベントエンコーダをトレーニングすることは、
    前記イベントエンコーダをイベントデコーダに結合することであって、前記イベントデコーダは、前記座標のセットを受信し、前記選択されたイベントの予測されたコンテキストを出力するように構成され、前記予測されたコンテキストは、第1の予測されたイベントおよび第2の予測されたイベントを含む、結合することと、
    前記第1の予測されたイベントを前記第1のイベントと比較し、前記第2の予測されたイベントを前記第2のイベントと比較することと、
    前記イベントエンコーダのパラメータのセットを前記比較の結果にしたがって調節することと
    を含む、コンピュータシステム。
  6. 請求項1に記載のコンピュータシステムであって、前記イベントプロファイルは複数のコンポーネントを含み、各コンポーネントは、前記複数のイベントカテゴリのうちの各イベントカテゴリに属するイベントの比率にしたがって決定され、前記比率は、前記クライアントシステムにおいて発生する前記トレーニングコーパスのイベントの総回数から計算される、コンピュータシステム。
  7. 請求項1に記載のコンピュータシステムであって、クライアントシステムをクライアントクラスタに割り当てることは、同様のイベントプロファイルを有するクライアントシステムを、同じクライアントクラスタに割り当てることを含む、コンピュータシステム。
  8. 請求項1に記載のコンピュータシステムであって、前記トレーニングコーパスの前記イベントは、選択されたプロセスの、前記複数のクライアントシステムのうちのクライアントシステムにおける起動を含む、コンピュータシステム。
  9. コンピュータが実施する方法であって、
    コンピュータシステムの少なくとも1つのハードウェアプロセッサを用いて、トレーニングコーパスのイベントを複数のイベントカテゴリに割り当てるステップであって、前記トレーニングコーパスは、複数のクライアントシステムにおいて発生するイベントの集合を含む、ステップと、
    イベントをイベントカテゴリに割り当てるステップに応じて、前記コンピュータシステムの少なくとも1つのハードウェアプロセッサを用いて、前記複数のクライアントシステムのうちのクライアントシステムを、複数のクライアントクラスタに、前記複数のイベントカテゴリにしたがって割り当てるステップと、
    クライアントシステムをクライアントクラスタに割り当てるステップに応じて、前記コンピュータシステムの少なくとも1つのハードウェアプロセッサを用いて、クライアントクラスタメンバシップインジケータを異常検出器に送信するステップであって、前記異常検出器は、ターゲットクライアントシステムにおいて発生するターゲットイベントがコンピュータセキュリティ脅威を示すか否かを判定するように構成された、ステップと
    を含み、
    イベントをイベントカテゴリに割り当てるステップは、
    複数のイベントを前記トレーニングコーパスから選択するステップであって、前記複数のイベントは、前記複数のクライアントシステムのうちのクライアントシステムにおいて発生した、ステップと、
    前記複数のイベントを発生時間にしたがって配列して、イベントシーケンスを形成するステップと、
    それに応じて、前記イベントシーケンスのうちの選択されたイベントを、選択されたイベントカテゴリに、前記選択されたイベントに先行する第1のイベントにしたがって、さらに、前記選択されたイベントに後続する、前記イベントシーケンス内の第2のイベントにしたがって割り当てるステップと
    を含み、
    クライアントシステムをクライアントクラスタに割り当てるステップは、前記クライアントシステムを、選択されたクライアントクラスタに、イベントプロファイルに従って割り当てるステップであって、前記イベントプロファイルは、前記クライアントシステムにおいて発生し、前記選択されたイベントカテゴリに属するイベントの回数にしたがって決定される、ステップを含み、
    前記異常検出器は、前記ターゲットイベントが前記コンピュータセキュリティ脅威を示しているか否かを、イベントのクライアントクラスタ固有のサブコーパスでトレーニングされた挙動モデルにしたがって判定するように構成され、前記クライアントクラスタ固有のサブコーパスは、前記トレーニングコーパスから、前記複数のクライアントクラスタのターゲットクラスタの複数のメンバにおいて発生したイベントのみを含むように選択された、
    方法。
  10. 請求項9に記載の方法であって、イベントをイベントカテゴリに割り当てるステップは、
    多次元イベント埋込空間における前記選択されたイベントの位置を、前記第1および第2のイベントにしたがって決定するステップと、
    前記選択されたイベントを、前記選択されたイベントカテゴリに、前記イベント埋込空間における前記選択されたイベントの前記位置にしたがって割り当てるステップと
    を含む、方法。
  11. 請求項10に記載の方法であって、前記選択されたイベントカテゴリを、前記イベント埋込空間における同様の位置を占めるイベントのクラスタにしたがって決定するステップをさらに含む方法。
  12. 請求項10に記載の方法であって、前記イベント埋込空間における前記選択されたイベントの前記位置を決定するステップは、前記位置を示す座標のセットを生成するようにイベントエンコーダをトレーニングするステップを含み、前記イベントエンコーダをトレーニングするステップは、
    前記イベントエンコーダをイベントデコーダに結合するステップであって、前記イベントデコーダは、前記座標のセットを受信し、前記イベントシーケンスが前記第1および第2のイベントを含む可能性を示す予測インジケータを出力するように構成された、ステップと、
    前記イベントエンコーダのパラメータのセットを前記予測インジケータにしたがって、調節するステップと
    を含む、方法。
  13. 請求項10に記載の方法であって、前記イベント埋込空間における前記選択されたイベントの前記位置を決定するステップは、前記位置を示す座標のセットを生成するようにイベントエンコーダをトレーニングするステップを含み、前記イベントエンコーダをトレーニングするステップは、
    前記イベントエンコーダをイベントデコーダに結合するステップであって、前記イベントデコーダは、前記座標のセットを受信し、前記選択されたイベントの予測されたコンテキストを出力するように構成され、前記予測されたコンテキストは、第1の予測されたイベントおよび第2の予測されたイベントを含む、ステップと、
    前記第1の予測されたイベントを前記第1のイベントと比較し、前記第2の予測されたイベントを前記第2のイベントと比較するステップと、
    前記イベントエンコーダのパラメータのセットを前記比較の結果にしたがって調節するステップと
    を含む、方法。
  14. 請求項9に記載の方法であって、前記イベントプロファイルは複数のコンポーネントを含み、各コンポーネントは、前記複数のイベントカテゴリのうちの各イベントカテゴリに属するイベントの比率にしたがって決定され、前記比率は、前記クライアントシステムにおいて発生する前記トレーニングコーパスのイベントの総回数から計算される、方法。
  15. 請求項9に記載の方法であって、前記複数のクライアントシステムをクライアントクラスタに割り当てるステップは、同様のイベントプロファイルを有するクライアントシステムを、同じクライアントクラスタに割り当てるステップを含む、方法。
  16. 請求項9に記載の方法であって、前記トレーニングコーパスの前記イベントは、選択されたプロセスの、前記複数のクライアントシステムのうちのクライアントシステムにおける起動を含む、方法。
  17. 命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、コンピュータシステムの少なくとも1つのハードウェアプロセッサによって実行されると、前記コンピュータシステムに、
    トレーニングコーパスのイベントを複数のイベントカテゴリに割り当てることであって、前記トレーニングコーパスは、複数のクライアントシステムにおいて発生したイベントの集合を含む、割り当てることと、
    イベントをイベントカテゴリに割り当てることに応じて、前記複数のクライアントシステムのうちのクライアントシステムを、複数のクライアントクラスタに、前記複数のイベントカテゴリにしたがって割り当てることと、
    前記クライアントシステムをクライアントクラスタに割り当てることに応じて、クライアントクラスタメンバシップインジケータを異常検出器に送信することであって、前記異常検出器は、ターゲットクライアントシステムにおいて発生するターゲットイベントがコンピュータセキュリティ脅威を示すか否かを判定するように構成された、送信することと
    を行わせ、
    イベントをイベントカテゴリに割り当てることは、
    複数のイベントを前記トレーニングコーパスから選択することであって、前記複数のイベントは、前記複数のクライアントシステムのうちのクライアントシステムにおいて発生した、選択することと、
    前記複数のイベントを発生時間にしたがって配列して、イベントシーケンスを形成することと、
    それに応じて、前記イベントシーケンスのうちの選択されたイベントを、選択されたイベントカテゴリに、前記選択されたイベントに先行する第1のイベントにしたがって、さらに、前記選択されたイベントに後続する、前記イベントシーケンス内の第2のイベントにしたがって割り当てることと
    を含み、
    クライアントシステムをクライアントクラスタに割り当てることは、前記クライアントシステムを、選択されたクライアントクラスタに、イベントプロファイルに従って割り当てることであって、前記イベントプロファイルは、前記クライアントシステムにおいて発生し、前記選択されたイベントカテゴリに属するイベントの回数にしたがって決定される、割り当てることを含み、
    前記異常検出器は、前記ターゲットイベントが前記コンピュータセキュリティ脅威を示しているか否かを、イベントのクライアントクラスタ固有のサブコーパスでトレーニングされた挙動モデルにしたがって判定するように構成され、前記クライアントクラスタ固有のサブコーパスは、前記トレーニングコーパスから、前記複数のクライアントクラスタのターゲットクラスタの複数のメンバにおいて発生したイベントのみを含むように選択された、
    非一時的コンピュータ可読媒体。
JP2021533152A 2018-12-10 2019-12-10 挙動による脅威検出のためのシステムおよび方法 Active JP7319370B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/215,179 US11089034B2 (en) 2018-12-10 2018-12-10 Systems and methods for behavioral threat detection
US16/215,179 2018-12-10
PCT/EP2019/084310 WO2020120427A1 (en) 2018-12-10 2019-12-10 Systems and methods for behavioral threat detectiion

Publications (2)

Publication Number Publication Date
JP2022512192A true JP2022512192A (ja) 2022-02-02
JP7319370B2 JP7319370B2 (ja) 2023-08-01

Family

ID=68841134

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021533152A Active JP7319370B2 (ja) 2018-12-10 2019-12-10 挙動による脅威検出のためのシステムおよび方法

Country Status (11)

Country Link
US (1) US11089034B2 (ja)
EP (1) EP3895046B1 (ja)
JP (1) JP7319370B2 (ja)
KR (1) KR102403622B1 (ja)
CN (1) CN113168470A (ja)
AU (1) AU2019398304A1 (ja)
CA (1) CA3120156A1 (ja)
ES (1) ES2945836T3 (ja)
IL (1) IL283695A (ja)
SG (1) SG11202105052QA (ja)
WO (1) WO2020120427A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841337B2 (en) 2016-11-28 2020-11-17 Secureworks Corp. Computer implemented system and method, and computer program product for reversibly remediating a security risk
US10735470B2 (en) 2017-11-06 2020-08-04 Secureworks Corp. Systems and methods for sharing, distributing, or accessing security data and/or security applications, models, or analytics
US11594012B2 (en) * 2018-09-19 2023-02-28 Chenope, Inc. System and method for detecting and analyzing digital communications
US10834142B2 (en) * 2018-10-09 2020-11-10 International Business Machines Corporation Artificial intelligence assisted rule generation
US11295011B2 (en) * 2019-01-08 2022-04-05 Vmware, Inc. Event-triggered behavior analysis
US11621966B1 (en) * 2019-02-15 2023-04-04 DataVisor, Inc. Detection of malicious user accounts of an online service using feature analysis
US11481486B2 (en) * 2019-03-27 2022-10-25 Webroot Inc. Behavioral threat detection engine
US11080394B2 (en) 2019-03-27 2021-08-03 Webroot Inc. Behavioral threat detection virtual machine
US11314863B2 (en) 2019-03-27 2022-04-26 Webroot, Inc. Behavioral threat detection definition and compilation
US11080391B2 (en) 2019-03-27 2021-08-03 Webroot Inc. Behavioral threat detection definition and compilation
US11563760B2 (en) * 2019-06-03 2023-01-24 Hewlett Packard Enterprise Development Lp Network embeddings model for personal identifiable information protection
US11245600B2 (en) * 2019-07-18 2022-02-08 Citrix Systems, Inc. System and method for processing network data
US11522877B2 (en) 2019-12-16 2022-12-06 Secureworks Corp. Systems and methods for identifying malicious actors or activities
US20210397903A1 (en) * 2020-06-18 2021-12-23 Zoho Corporation Private Limited Machine learning powered user and entity behavior analysis
US11588834B2 (en) * 2020-09-03 2023-02-21 Secureworks Corp. Systems and methods for identifying attack patterns or suspicious activity in client networks
US20220138903A1 (en) * 2020-11-04 2022-05-05 Nvidia Corporation Upsampling an image using one or more neural networks
US11528294B2 (en) 2021-02-18 2022-12-13 SecureworksCorp. Systems and methods for automated threat detection
US11533373B2 (en) * 2021-02-26 2022-12-20 Trackerdetect Ltd. Global iterative clustering algorithm to model entities' behaviors and detect anomalies
US20230058569A1 (en) 2021-08-23 2023-02-23 Fortinet, Inc. Systems and methods for quantifying file access risk exposure by an endpoint in a network environment

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526405B1 (en) * 1999-12-17 2003-02-25 Microsoft Corporation Determining similarity between event types in sequences
US7089428B2 (en) 2000-04-28 2006-08-08 Internet Security Systems, Inc. Method and system for managing computer security information
US6742124B1 (en) 2000-05-08 2004-05-25 Networks Associates Technology, Inc. Sequence-based anomaly detection using a distance matrix
US6973577B1 (en) 2000-05-26 2005-12-06 Mcafee, Inc. System and method for dynamically detecting computer viruses through associative behavioral analysis of runtime state
US7818797B1 (en) 2001-10-11 2010-10-19 The Trustees Of Columbia University In The City Of New York Methods for cost-sensitive modeling for intrusion detection and response
US7035863B2 (en) 2001-11-13 2006-04-25 Koninklijke Philips Electronics N.V. Method, system and program product for populating a user profile based on existing user profiles
US7234166B2 (en) 2002-11-07 2007-06-19 Stonesoft Corporation Event sequence detection
US7716739B1 (en) 2005-07-20 2010-05-11 Symantec Corporation Subjective and statistical event tracking incident management system
JP2007242002A (ja) 2006-02-10 2007-09-20 Mitsubishi Electric Corp ネットワーク管理装置及びネットワーク管理方法及びプログラム
US8135994B2 (en) 2006-10-30 2012-03-13 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting an anomalous sequence of function calls
US8448249B1 (en) 2007-07-31 2013-05-21 Hewlett-Packard Development Company, L.P. Methods and systems for using lambda transitions for processing regular expressions in intrusion-prevention systems
WO2009097610A1 (en) 2008-02-01 2009-08-06 Northeastern University A vmm-based intrusion detection system
US20090328215A1 (en) 2008-06-30 2009-12-31 Microsoft Corporation Semantic networks for intrusion detection
GB0816556D0 (en) 2008-09-10 2008-10-15 Univ Napier Improvements in or relating to digital forensics
US8370931B1 (en) 2008-09-17 2013-02-05 Trend Micro Incorporated Multi-behavior policy matching for malware detection
US20120137367A1 (en) 2009-11-06 2012-05-31 Cataphora, Inc. Continuous anomaly detection based on behavior modeling and heterogeneous information analysis
US8661034B2 (en) 2010-02-03 2014-02-25 Gartner, Inc. Bimodal recommendation engine for recommending items and peers
US8752171B2 (en) 2010-09-03 2014-06-10 Mcafee, Inc. Behavioral tracking system, method, and computer program product for undoing events based on user input
US8572239B2 (en) 2010-09-20 2013-10-29 Microsoft Corporation Node clustering
US20120278354A1 (en) 2011-04-29 2012-11-01 Microsoft Corporation User analysis through user log feature extraction
US9058486B2 (en) 2011-10-18 2015-06-16 Mcafee, Inc. User behavioral risk assessment
US8839435B1 (en) 2011-11-04 2014-09-16 Cisco Technology, Inc. Event-based attack detection
US9129227B1 (en) * 2012-12-31 2015-09-08 Google Inc. Methods, systems, and media for recommending content items based on topics
US9679131B2 (en) 2013-01-25 2017-06-13 Cybereason Inc. Method and apparatus for computer intrusion detection
US20140230062A1 (en) 2013-02-12 2014-08-14 Cisco Technology, Inc. Detecting network intrusion and anomaly incidents
US9225737B2 (en) * 2013-03-15 2015-12-29 Shape Security, Inc. Detecting the introduction of alien content
US9166993B1 (en) 2013-07-25 2015-10-20 Symantec Corporation Anomaly detection based on profile history and peer history
GB2519941B (en) 2013-09-13 2021-08-25 Elasticsearch Bv Method and apparatus for detecting irregularities on device
US10346465B2 (en) * 2013-12-20 2019-07-09 Qualcomm Incorporated Systems, methods, and apparatus for digital composition and/or retrieval
US20170039198A1 (en) * 2014-05-15 2017-02-09 Sentient Technologies (Barbados) Limited Visual interactive search, scalable bandit-based visual interactive search and ranking for visual interactive search
US9798883B1 (en) 2014-10-06 2017-10-24 Exabeam, Inc. System, method, and computer program product for detecting and assessing security risks in a network
US9985979B2 (en) 2014-11-18 2018-05-29 Vectra Networks, Inc. Method and system for detecting threats using passive cluster mapping
US9652316B2 (en) 2015-03-31 2017-05-16 Ca, Inc. Preventing and servicing system errors with event pattern correlation
US20160335432A1 (en) 2015-05-17 2016-11-17 Bitdefender IPR Management Ltd. Cascading Classifiers For Computer Security Applications
US20160352759A1 (en) 2015-05-25 2016-12-01 Yan Zhai Utilizing Big Data Analytics to Optimize Information Security Monitoring And Controls
CN105989849B (zh) * 2015-06-03 2019-12-03 乐融致新电子科技(天津)有限公司 一种语音增强方法、语音识别方法、聚类方法及装置
US20170140384A1 (en) 2015-11-12 2017-05-18 Fair Isaac Corporation Event sequence probability enhancement of streaming fraud analytics
EP3387814B1 (en) 2015-12-11 2024-02-14 ServiceNow, Inc. Computer network threat assessment
CN109564575B (zh) * 2016-07-14 2023-09-05 谷歌有限责任公司 使用机器学习模型来对图像进行分类
US10567420B2 (en) * 2016-11-08 2020-02-18 International Business Machines Corporation Biology based techniques with cognitive system analysis for handling information security and privacy
US10832165B2 (en) * 2016-12-02 2020-11-10 Facebook, Inc. Systems and methods for online distributed embedding services
US10397259B2 (en) * 2017-03-23 2019-08-27 International Business Machines Corporation Cyber security event detection
US10552501B2 (en) * 2017-03-28 2020-02-04 Oath Inc. Multilabel learning via supervised joint embedding of documents and labels
US20190130305A1 (en) * 2017-10-27 2019-05-02 Intuit Inc. Methods, systems, and computer program product for implementing an intelligent system with dynamic configurability
US20190296933A1 (en) * 2018-03-20 2019-09-26 Microsoft Technology Licensing, Llc Controlling Devices Based on Sequence Prediction
US11636287B2 (en) * 2018-03-28 2023-04-25 Intuit Inc. Learning form-based information classification
US20190340615A1 (en) 2018-05-04 2019-11-07 International Business Machines Corporation Cognitive methodology for sequence of events patterns in fraud detection using event sequence vector clustering

Also Published As

Publication number Publication date
JP7319370B2 (ja) 2023-08-01
SG11202105052QA (en) 2021-06-29
EP3895046B1 (en) 2023-04-05
EP3895046A1 (en) 2021-10-20
CN113168470A (zh) 2021-07-23
US20200186544A1 (en) 2020-06-11
KR20210102890A (ko) 2021-08-20
US11089034B2 (en) 2021-08-10
IL283695A (en) 2021-07-29
CA3120156A1 (en) 2020-06-18
KR102403622B1 (ko) 2022-05-31
WO2020120427A1 (en) 2020-06-18
AU2019398304A1 (en) 2021-06-03
ES2945836T3 (es) 2023-07-07

Similar Documents

Publication Publication Date Title
JP7319370B2 (ja) 挙動による脅威検出のためのシステムおよび方法
JP7389806B2 (ja) 挙動による脅威検出のためのシステムおよび方法
US11316851B2 (en) Security for network environment using trust scoring based on power consumption of devices within network
JP7069399B2 (ja) コンピュータセキュリティインシデントを報告するためのシステムおよび方法
JP7319371B2 (ja) 挙動による脅威検出のためのシステムおよび方法
RU2803399C2 (ru) Системы и способы детектирования поведенческих угроз
RU2772549C1 (ru) Системы и способы детектирования поведенческих угроз
RU2778630C1 (ru) Системы и способы детектирования поведенческих угроз

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220706

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230720

R150 Certificate of patent or registration of utility model

Ref document number: 7319370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150