(57)【要約】  データ来歴を介して自動脅威アラートトリアージを実装するための方法は、アラートのセットおよびセキュリティ来歴データを受信し、少なくとも１つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応するアラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応するアラートイベントのセット内の真のアラートイベントを分離し、該分離に基づいて、トリアージされたアラートイベントのセットを自動的に生成することを含む。
2021529383.tif 000002
【特許請求の範囲】
【請求項１】
データ来歴を介して自動脅威アラートトリアージを実施するためのコンピュータ実施方法であって、
アラートトリアージシステムによって、アラートのセットおよびセキュリティ来歴データを受信し、前記セキュリティ来歴データは、アラートイベントおよび／または前記アラートイベントの影響につながるイベントのチェーンを再構築することによってアラートコンテキストを提供するものであり、
アラートイベントのセットの少なくとも１つのアラートイベントに対応する前記セキュリティ来歴データから導出された、システムオブジェクトを表すノードと前記システムオブジェクトの間の因果関係を表すエッジとを含む少なくとも１つの依存性グラフを受信し、前記少なくとも１つの依存性グラフから依存性イベントのシーケンスを含む各々の経路に対応する経路異常スコアの伝播に基づいて前記少なくとも１つの依存性グラフのサブグラフを取得することを含めて、前記アラートトリアージシステムによって、前記少なくとも１つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応する前記アラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応する前記アラートイベントのセット内の真のアラートイベントを分離し、
前記アラートトリアージシステムによって、前記分離に基づいて、トリアージされたアラートイベントのセットを自動的に生成することを含む方法。
【請求項２】
前記少なくとも１つの依存性グラフを受信することは、前記セキュリティ来歴データに基づいて前記少なくとも１つの依存性グラフを生成することをさらに含む、請求項１に記載の方法。
【請求項３】
前記真のアラートイベントを前記偽のアラートイベントから分離することは、
逆方向および順方向トレースを使用することによって、しきい値パラメータ長を有するすべての経路を探索することを含めて、前記少なくとも１つの依存性グラフから前記経路を識別し、
前記経路異常スコアを各々の経路に割り当てることをさらに含む、請求項１に記載の方法。
【請求項４】
前記経路異常スコアを割り当てることは、システムイベントの遷移確率と前記依存性グラフの前記ノードに対応するINスコアおよびOUTスコアとに基づいて経路規則性スコアを計算し、前記経路規則性スコアに基づいて前記経路異常スコアを計算することを、さらに含む、請求項３に記載の方法。
【請求項５】
前記システムイベントの遷移確率は、複数のピアシステムからオペレーティングシステムイベントを収集することによってイベントの頻度を格納するイベント頻度データベースを使用することによって、イベント頻度に基づいて構築された遷移行列から取得される、請求項４に記載の方法。
【請求項６】
前記経路異常スコアを割り当てることは、経路長スコアの偏りを低減するために、減衰係数に基づいて前記経路規則性スコアを正規化することによって、前記経路異常スコアを計算することをさらに含む、請求項４に記載の方法。
【請求項７】
前記サブグラフを取得することは、経路異常スコアのペア間の差をマージしきい値と比較することを含めて、前記経路異常スコアに基づいて依存性経路マージ動作を実行することをさらに含む、請求項３に記載の方法。
【請求項８】
プログラム命令を備え、それを用いて具現化される非一時的なコンピュータ読み取り可能な記憶媒体を有し、前記プログラム命令は、データ来歴を介して自動脅威アラートトリアージを実行させるための方法をコンピュータに実行させるために前記コンピュータによって実行可能である、コンピュータプログラム製品であって、前記コンピュータによって実行される前記方法は、
アラートトリアージシステムによって、アラートのセットおよびセキュリティ来歴データを受信し、前記セキュリティ来歴データは、アラートイベントおよび／または前記アラートイベントの影響につながるイベントのチェーンを再構築することによってアラートコンテキストを提供するものであり、
アラートイベントのセットの少なくとも１つのアラートイベントに対応する前記セキュリティ来歴データから導出された、システムオブジェクトを表すノードと前記システムオブジェクトの間の因果関係を表すエッジとを含む少なくとも１つの依存性グラフを受信し、前記少なくとも１つの依存性グラフから依存性イベントのシーケンスを含む各々の経路に対応する経路異常スコアの伝播に基づいて前記少なくとも１つの依存性グラフのサブグラフを取得することを含めて、前記アラートトリアージシステムによって、前記少なくとも１つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応する前記アラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応する前記アラートイベントのセット内の真のアラートイベントを分離し、
前記アラートトリアージシステムによって、前記分離に基づいて、トリアージされたアラートイベントのセットを自動的に生成することを含む、コンピュータプログラム製品。
【請求項９】
前記少なくとも１つの依存性グラフを受信することは、前記セキュリティ来歴データに基づいて前記少なくとも１つの依存性グラフを生成することをさらに含む、請求項８に記載のコンピュータプログラム製品。
【請求項１０】
前記真のアラートイベントを前記偽のアラートイベントから分離することは、
逆方向および順方向トレースを使用することによって、しきい値パラメータ長を有するすべての経路を探索することを含めて、前記少なくとも１つの依存性グラフから前記経路を識別し、
前記経路異常スコアを各々の経路に割り当てることをさらに含む、請求項８に記載のコンピュータプログラム製品。
【請求項１１】
前記経路異常スコアを割り当てることは、システムイベントの遷移確率と前記依存性グラフの前記ノードに対応するINスコアおよびOUTスコアとに基づいて経路規則性スコアを計算し、前記経路規則性スコアに基づいて前記経路異常スコアを計算することを、さらに含む、請求項１０に記載のコンピュータプログラム製品。
【請求項１２】
前記システムイベントの遷移確率は、複数のピアシステムからオペレーティングシステムイベントを収集することによってイベントの頻度を格納するイベント頻度データベースを使用することによって、イベント頻度に基づいて構築された遷移行列から取得される、請求項１１に記載のコンピュータプログラム製品。
【請求項１３】
前記経路異常スコアを割り当てることは、経路長スコアの偏りを低減するために、減衰係数に基づいて前記経路規則性スコアを正規化することによって、前記経路異常スコアを計算することをさらに含む、請求項１１に記載のコンピュータプログラム製品。
【請求項１４】
前記サブグラフを取得することは、経路異常スコアのペア間の差をマージしきい値と比較することを含めて、前記経路異常スコアに基づいて依存性経路マージ動作を実行することをさらに含む、請求項１０に記載のコンピュータプログラム製品。
【請求項１５】
データ来歴を介して自動脅威アラートトリアージを実施するためのシステムであって、
プログラムコードを記憶するための記憶装置と、
記憶装置に動作可能に結合され、前記記憶装置に格納されたプログラムコードを実行して、
アラートのセットおよびセキュリティ来歴データを受信し、前記セキュリティ来歴データは、アラートイベントおよび／または前記アラートイベントの影響につながるイベントのチェーンを再構築することによってアラートコンテキストを提供するものであり、
アラートイベントのセットの少なくとも１つのアラートイベントに対応する前記セキュリティ来歴データから導出された、システムオブジェクトを表すノードと前記システムオブジェクトの間の因果関係を表すエッジとを含む少なくとも１つの依存性グラフを受信し、前記少なくとも１つの依存性グラフから依存性イベントのシーケンスを含む各々の経路に対応する経路異常スコアの伝播に基づいて前記少なくとも１つの依存性グラフのサブグラフを取得することによって、前記少なくとも１つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応する前記アラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応する前記アラートイベントのセット内の真のアラートイベントを分離し、
前記分離に基づいて、トリアージされたアラートイベントのセットを自動的に生成するように構成された、少なくとも一つのプロセッサ装置と、を含むシステム。
【請求項１６】
前記少なくとも一つのプロセッサ装置は、前記セキュリティ来歴データに基づいて前記少なくとも１つの依存性グラフを生成することによって前記少なくとも１つの依存性グラフを受信するようにさらに構成される、請求項１５に記載のシステム。
【請求項１７】
前記少なくとも一つのプロセッサ装置は、
逆方向および順方向トレースを使用することによって、しきい値パラメータ長を有するすべての経路を探索することを含めて、前記少なくとも１つの依存性グラフから前記経路を識別し、
システムイベントの遷移確率と前記依存性グラフの前記ノードに対応するINおよびOUTスコアとに基づいて経路規則性スコアを計算し、前記経路規則性スコアに基づいて前記経路異常スコアを計算することによって、前記経路異常スコアを各々の経路に割り当てるようにさらに構成される、請求項１５に記載のシステム。
【請求項１８】
前記システムイベントの遷移確率は、複数のピアシステムからオペレーティングシステムイベントを収集することによってイベントの頻度を格納するイベント頻度データベースを使用することによって、イベント頻度に基づいて構築された遷移行列から取得される、請求項１７に記載のシステム。
【請求項１９】
前記少なくとも一つのプロセッサ装置は、経路長スコアの偏りを低減するために、減衰係数に基づいて前記経路規則性スコアを正規化することによって前記経路異常スコアを計算することによって、前記経路異常スコアを割り当てるようにさらに構成される、請求項１７に記載のシステム。
【請求項２０】
前記少なくとも１つのプロセッサ装置は、経路異常スコアのペア間の差をマージしきい値と比較することによって前記経路異常スコアに基づいて依存性経路マージ動作を実行することによって、前記サブグラフを取得するようにさらに構成される、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願情報
本出願は2018年7月31日に出願された仮出願第62/712,431号及び2019年7月10日に出願された実用特許出願第16/507,353号に対する優先権を主張するものであり、いずれもその全体が参照により本明細書に組み込まれている。
【０００２】
本発明は、コンピュータセキュリティに関し、より詳細には、侵入および脅威検出に関する。
【背景技術】
【０００３】
関連技術の説明
侵入検知システム(IDS)および/またはセキュリティ情報イベント管理ツール(SIEM)などの自動脅威検知システム(TDS)は、企業規模のアクティビティを監視し、不審アクティビティに対して脅威アラートを生成することによって、脅威(例えば、知能型の持続的脅威(APT)など)に対抗するために、発見的および単一イベント(例えば、異常プロセスおよび/または悪意のあるファイル作成)を使用することができる。そして、各脅威アラートは、対応する不審アクティビティが悪意のあるもの(例えば、真のアラート)であるか、または良性のもの(例えば、偽陽性または偽陰性アラート)であるかを決定するために、サイバーアナリストによって調査され得る。しかしながら、TDSは、多数の偽のアラートを含む多数のアラートを生成することができる。さらに、場合によっては、偽のアラートが真のアラートと同様に見えることがある。例えば、ランソムウェアとZIPプログラムの両方が短時間で多くのファイルを読み書きすることができるので、単一のプロセスの挙動のみをチェックするランサムウェア検出器は、ZIPプログラムをランサムウェアとして誤って分類する可能性がある。
【発明の概要】
【０００４】
本発明の一態様によれば、データ来歴を介した自動脅威アラートトリアージの方法が提供される。この方法は、アラートトリアージシステムによって、一連のアラートとセキュリティ来歴データを受信することを含む。セキュリティ来歴データは、アラートイベントおよび/またはアラートイベントの影響につながる一連のイベントを再構築することによって、アラートコンテキストを提供する。この方法は、アラートトリアージシステムによって、少なくとも１つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応するアラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応するアラートイベントのセット内の真のアラートイベントを分離することをさらに含む。真のアラートイベントを偽のアラートイベントから分離することは、アラートイベントのセットの少なくとも１つのアラートイベントに対応するセキュリティ来歴データから導出された少なくとも１つの依存性グラフを受信することと、少なくとも１つの依存性グラフからの依存性イベントのシーケンスを含むそれぞれの経路に対応する経路異常スコアの伝播に基づいて、少なくとも１つの依存性グラフのサブグラフを取得することとを含む。依存性グラフは、システムオブジェクトを表すノードと、システムオブジェクト間の因果関係を表すエッジとを含む。この方法は、アラートトリアージシステムによって、上記分離に基づいてトリアージされたアラートイベントのセットを自動的に生成することをさらに含む。
【０００５】
本発明の別の実施形態によれば、データ来歴を介した自動脅威アラートトリアージのためのシステムが提供される。システムは、プログラムコードを記憶するためのメモリ装置と、メモリ装置に動作可能に結合された少なくとも１つのプロセッサ装置とを含む。少なくとも１つのプロセッサ装置は、アラートよびセキュリティ来歴データのセットを受信するために、メモリ装置に記憶されたプログラムコードを実行するように構成される。セキュリティ来歴データは、アラートイベントおよび/またはアラートイベントの影響につながる一連のイベントを再構築することによって、アラートコンテキストを提供する。少なくとも１つのプロセッサ装置はさらに、少なくとも１つのアラートイベントに割り当てられたアラート異常スコアに基づいて、悪意のあるアクティビティに対応するアラートイベントのセット内の真のアラートイベントを、良性アクティビティに対応するアラートイベントのセット内の偽のアラートイベントから分離するように構成される。少なくとも１つのプロセッサ装置は、アラートイベントの少なくとも１つのアラートイベントに対応するセキュリティ来歴データから導出された少なくとも１つの依存性グラフを受信し、少なくとも１つの依存性グラフから、依存性イベントのシーケンスを含むそれぞれのパスに対応するパス異常スコアの伝播に基づいて、少なくとも１つの依存性グラフのサブグラフを取得することによって、真のアラートイベントを偽のアラートイベントから分離するように構成される。依存性グラフは、システムオブジェクトを表すノードと、システムオブジェクト間の因果関係を表すエッジとを含む。少なくとも１つのプロセッサ装置は、上記分離に基づいてトリアージされたアラートイベントのセットを自動的に生成するようにさらに構成される。
【０００６】
これらおよび他の特徴および利点は添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるのであろう。
【図面の簡単な説明】
【０００７】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【０００８】
【図１】図１は、本発明の一実施形態による、オンライン監視分析システムの高レベル概要のブロック／フロー図である。
【０００９】
【図２】図２は、本発明の一実施形態による、データ来歴を介して自動脅威アラートトリアージを実施するためのシステム／方法のブロック／フロー図である。
【００１０】
【図３】図３は、本発明の一実施形態による、図２のシステム／方法内で真のアラートを偽のアラートから分離するためのシステム／方法のブロック／フロー図である。
【００１１】
【図４】図４は、本発明の一実施形態による、データ来歴を介した自動脅威アラートトリアージのためのシステム／方法のブロック／フロー図である。
【００１２】
【図５】図５は、本発明の一実施形態による、図４のシステム/方法内でモデル学習を実施するためのシステム／方法のブロック／フロー図である。
【００１３】
【図６】図６は、本発明の一実施形態によるコンピュータシステムを示すブロック／フロー図である。
【発明を実施するための形態】
【００１４】
本明細書で説明される実施形態は、データ来歴を介して自動脅威アラートトリアージを実行することができるシステムおよび方法を提供する。より具体的には、本明細書で説明する実施形態が依存性グラフを使用して、来歴データに対する不審または異常伝播方法を使用して、脅威検出システムの誤警報率を自動的に低減することができる。悪意のプロセスによって生成されたプロセスは良性のプロセスによって生成されたプロセスよりも疑わしいので、本明細書で説明される実施形態によれば、イベントの疑いは、依存性グラフ内のその近傍の疑いに基づいて調整することができる。したがって、本明細書で説明する実施形態は膨大な数のアラートが生成された場合に、サイバーアナリストが脅威アラートに応答することができない情報過負荷問題(「脅威アラート疲労」)を改善することができ、それによってアラートの検出および修復を改善する。
【００１５】
例えば、依存性グラフの各サブグラフのサブグラフ不審または異常スコアを決定するために使用することができる、依存性グラフ内のアラートイベントに対応する各ノードに、ノード不審または異常スコアを割り当てることができる。サブグラフ異常スコアを決定するために、ノード異常スコアは、統計モデルおよびドメイン知識に基づいて、例えば、ランダムウォーク伝播方法を使用して伝播でき、経路不審または異常スコアは、その伝播に基づいて依存性グラフの各経路に割り当てられ得る。サブグラフのサブグラフ異常スコアが十分に高い(例えば、閾値を超える)場合、これは、サブグラフが真の攻撃に対応する可能性が高いことを示す。それ以外の場合、サブグラフは誤ったアラートに対応している可能性がある。すなわち、信頼性の高い真の攻撃を識別するために、十分に疑わしいまたは異常なアラートイベントのみを調査する必要がある。
【００１６】
そのような簡略化された精密なサブグラフは、アナリストが脅威アラートの簡潔かつ完全な記述を提供することによって攻撃をより良く理解し、またはシステム脆弱性を発見するのを助けることができ、それによってシステム脆弱性を発見することに関連するコストを低減する。したがって、本明細書で説明される実施形態は、アラートイベント(例えば、攻撃シナリオ)を調査するための十分な情報を維持しながら、依存性グラフのサイズを実質的に低減することができる。
【００１７】
本明細書で説明する実施形態による不審伝播方法は完全に自動化することができ、実質的に完全な攻撃検出能力を維持しながら、偽のアラートの数を低減することができる。したがって、本明細書で説明する実施形態は、大規模企業環境へのデータ来歴分析ベースの脅威検出の適用を可能にすることができる。さらに、本明細書に記載される実施形態は、基礎となるプラットフォーム、アプリケーション、および脅威または侵入検出システムから独立して適用することができるという点で、一般性を提供する。したがって、本明細書で説明する実施形態は、高忠実度検出を提供することができ、低い平均実行時間オーバヘッドを有することができ、最小限のオーバヘッドで任意の適切な脅威検出システム内で展開することができる。
【００１８】
ここで、同一の数字が同一または類似の要素を表す図を詳細に参照し、最初に図１を参照すると、オンライン監視分析システム１００の高レベル概要を示すブロック／フロー図が提供される。システム１００は、企業環境(例えば、大規模企業環境)内で実施することができる。
【００１９】
図示のように、システム１００は、コンピュータシステム１１２のグループ１１０と、セキュリティ来歴データを記憶する少なくとも１つの処理装置(例えば、サーバ)１２０と、検出された異常に基づいてアラートを生成する異常検出システム１３０と、アラートトリアージシステム１４０とを含む。グループ１１０は、エージェントによって監視することができる。
【００２０】
処理装置１２０および異常検出システム１３０は、それぞれ、グループ１１０およびアラートトリアージシステム１４０と通信するように示されている。アラートトリアージシステム１４０は、処理装置１２０および異常検出システム１３０から入力を受け取ることができる。以下でさらに詳細に説明するように、システム１００は、完全に自動化された方法を使用して、攻撃シナリオを維持しながら、依存性グラフのサイズを実質的に削減することができる。このような正確な依存性グラフは、アナリストが攻撃を理解し、および／またはシステムの脆弱性を発見するのをより助けることができる。
【００２１】
一実施形態では、異常検出システム１３０は、複数の検出器を含むことができる。例えば、第１の検出器は、ネットワークデータ転送を監視し、データ転送量が異常に大きい(例えば、しきい値を超える)ときにアラートを生成するように配備することができ、第２の検出器は、プロセス生成を監視し、プロセスが予期しない子プロセスを開始するときにアラートを生成するように配備することができる。
【００２２】
アラートトリアージシステム１４０の１つの目標は、アラートが不審または異常なアクティビティに対応するかどうかを識別することである。例えば、以下でさらに詳細に説明するように、アラートトリアージシステム１４０は、アラートに関連する依存性グラフから不審または異常なサブグラフの存在を判定することができる。より具体的には、依存性グラフの各パスには不審または異常スコアを割り当てることができ、これはそのノードまたは頂点、およびエッジから伝播される不審または異常情報から計算することができる。依存性グラフの不審サブグラフが存在しない場合、アラートは偽のアラートであると判定される。そうでない場合、アラートは真の攻撃に対応すると判定される。
【００２３】
図２を参照すると、データ来歴を介して自動脅威アラートトリアージを実施するためのシステム／方法２００を示すブロック／フロー図が提供される。さらに詳細に説明されるように、システム／方法２００は、脅威検出システム(TDS)の誤警報率を自動的に低減するために、履歴コンテキストを活用するためにシステム１００内で実施され得る。システム／方法２００は、図４および図５を参照して以下でさらに詳細に説明されるようにアラートトリアージシステムによって実施することができる。
【００２４】
ブロック２１０で、セキュリティ来歴データおよびアラートイベントのセットを含むデータが受信される。セキュリティ来歴データは、別の処理装置によって生成することができ、アラートイベントのセットは、異常検出システムによって生成することができる。セキュリティ来歴データは、アラートコンテキストを提供できる。例えば、セキュリティ来歴データは、アラートイベント(例えば、逆方向トレース)および／またはアラートイベントの影響(例えば、順方向トレース)につながるイベントの連鎖を再構築することによって、アラートコンテキストを提供することができる。例示的な例として、アラートイベントの来歴を考慮することによって、ランサムウェアプログラムアクティビティをZIPアクティビティと区別することができる(例えば、電子メールのようなランサムウェアの入口点は、ZIPプログラムの入口点とは異なる)。
【００２５】
以下でさらに詳細に説明するように、そのような知識は、良性および悪性のシステムイベントが表面的に非常に類似して見える場合であっても、悪性のシステムイベントからの良性のシステムイベントの分離を改善するために使用することができる。例えば、セキュリティ来歴データに基づいて、悪意のあるアクティビティ(例えば、未知の発信元からのもの)と、良性のアクティビティ(信頼された発信元からのもの)を区別することができる。
【００２６】
ブロック２２０において、アラートイベントのセット内の真のアラートイベントは、セキュリティ来歴データから導出された各アラートイベントに割り当てられたアラートの不審または異常スコアに基づいて、アラートイベントのセット内の偽のアラートイベントから分離される。真のアラートイベントは、悪意のあるアクティビティに対応すると判断されたアラートイベントであるが、偽のアラートイベントは、良性のアクティビティに対応すると判断されたアラートイベントである。真のアラートイベントを偽のアラートイベントから分離することは、十分に低い不審または異常スコアを有するアラートイベントのセットからアラートイベントをフィルタリングすることを含むことができる。一実施形態では、アラートイベントのセットのアラートイベントは、異常スコアに基づいてランク付けすることができる。例えば、所与のアラートイベントは、その異常スコアがしきい値不審パラメータ未満である場合、十分に低い異常スコアを有することができる。しきい値不審パラメータは、ユーザ指定パラメータとすることができる。あるいは、しきい値不審パラメータは、デフォルトのシステムパラメータであってもよい。
【００２７】
アラートイベントの不審または異常スコアは、発生したアラートイベントに関連する関連イベントの「希薄」(例えば、遷移確率)を定量化することによって得ることができる。例えば、総合的な不審または異常スコアは、アラートイベントに関連する祖先および／または子孫行動に関連する不審または異常スコアを組み合わせることによって得ることができる。より具体的には、アラートイベントの子孫および／または祖先を分析して、アラートイベントの子孫および／または祖先が、希少イベント(例えば、低遷移確率イベント)または共通イベント(例えば、高遷移確率イベント)を含むかどうかを決定することができる。
【００２８】
異常スコアをアラートイベントに割り当てる単純な方法は、過去に発生したシステムイベントの頻度を使用して、希少イベントがより不審または異常であると見なされるようにすることであろう。しかしながら、いくつかの攻撃はシステム内で頻繁に発生するイベントを伴う可能性があるので、そのようなアプローチは成り立たない可能性がある。たとえば、ファイルの解凍は、企業環境では一般的なイベントであるが、攻撃につながるイベントの場合もある。したがって、不審イベントを見つけるための単純な頻度ベースのアプローチは、真の攻撃を識別するのに適していないことがある。
【００２９】
これらの状況に対処するために、アラートイベントに関連するサブイベントのチェーンの不審を分析することによって、アラートイベントの不審または異常スコアを決定することができる。より具体的には、サブイベントのチェーンに関連付けられた経路不審スコアは、履歴情報およびコンテキスト情報を使用して、異なる長さの経路に割り当てることができる。例えば、ファイルがアンジップされた後に発生するサブイベントのチェーンが普通でないと判定された場合(例えば、短期間に多数のIP接続を開始した場合)、経路は非常に疑わしいと考えることができる。
【００３０】
図３を参照して以下にさらに詳細に説明するように、アラートイベントの異常スコアは、セキュリティ来歴データに基づいて脅威アラート依存性グラフを生成することによって得ることができ、このデータは、システムオブジェクトまたはサブジェクトを表すノードと、システムオブジェクトまたはサブジェクト間の因果関係を表すエッジとを含むことができる。より具体的には、経路異常スコアが依存性グラフのノードのノード不審または異常スコアを伝播することによって決定することができ、サブグラフは経路異常スコアに基づいて依存性グラフから抽出することができる。
【００３１】
具体例として、第１のイベントe1:=<dropper.exe, y.y.y.y:445, IP_Write>と第２のイベントe2:=<Powershell→z.z.z.z:445>を考える。すなわち、第１のイベントe1は、「dropper.exe」プロセスノードと「y.y.y.y:45」ソケットノードとを接続するエッジに対応し、第２のイベントe2は、「Powershell」プロセスノードと「z.z.z.z:45」ソケットノードとを接続するエッジに対応する。
【００３２】
イベントe1およびe2は、基礎となる脅威検知システム(TDS)によって、一日中に生成される一連の１００の全アラートイベントの一部として生成できる。第１のイベントe1は、マルウェアが企業内のリモートマシンに複数の接続を行ったときに生成され、第２のイベントe2は、テクニカルサポート診断ツールがセキュアマシンへのリモート接続を開始したときに生成され得る。e1とe2は、単一のイベントレベルにおいて、非常に類似しているように見えることに注意する。なぜなら、どちらの方法も、重要な内部ホストに異常なソケットコネクションを作るからである。
【００３３】
イベントe1とe2を調査し、対応を準備するために、(サイバーアナリストなどによって)因果関係の解析を行うことができる。来歴ベースのツールは、システムオブジェクト(例えば、ファイルおよびネットワークソケット)とサブジェクト(例えば、プロセス)との間の個々のイベントを処理して依存性グラフを構築することができ、これらのアラートイベントの各々の祖先および子孫は、これらのアラートイベントの各々の挙動が異なることを決定するために、例えば、逆方向および順方向トレースを使用して考慮することができる。
【００３４】
例えば、第１のアラートイベントe1の子孫は、(例えば、より低い推移確率を有する)希少ないくつかのイベントを含むことができる。加えて、第１のイベントe1の先祖において、実行可能物がウェブブラウザを使用してダウンロードされ、その後短時間で多数のホストに接続されるサブイベントのチェーンは非常に稀であり、したがって、異常スコアが高くなる。そのため、第１のイベントe1の先祖と子孫の挙動を組み合わせると、第１のイベントe1に高集約異常スコアを割り当てることができる。
【００３５】
対照的に、第２のイベントe2の子孫は、企業環境において非常に一般的なサブイベントのチェーンを含むことができる。なぜなら、そのような挙動は、一般的なOSユーティリティによって示されるからである。さらに、第２のイベントe2の先祖には、企業環境(タスクリストやIpconfigなど)のコンピュータの正常性を確認するために定期的に実行される診断イベントを含めることができる。そのため、第２のイベントe2の先祖と子孫の挙動を組み合わせると、第２のイベントe2に対して、第１のイベントe1のそれより低い集約異常スコアを割り当てることができる。
【００３６】
真のアラートを偽のアラートから分離するためのブロック220の実施に関するさらなる詳細は、図３を参照して以下に記載される。
【００３７】
ブロック２３０において、分離に基づいてデータが自動的に生成される。データには、ブロック２２０で識別された偽のアラートを除外する、トリアージされたアラートイベントのセットを含めることができる。
【００３８】
図３を参照すると、セキュリティ来歴データから導出された各アラートに割り当てられたアラート不審スコアに基づいて、アラートのセット内の真のアラートをアラートのセット内の偽のアラートから分離するためのシステム／方法３００を示すブロック／フロー図が提供される。
【００３９】
ブロック３１０で、アラートイベントのセットの少なくとも１つのアラートイベントに対応する少なくとも１つの脅威アラート依存性グラフ(「依存性グラフ」)が、セキュリティ来歴データに基づいて生成される。アラートイベントのセットには、n個のアラートイベント{e1,...,en}を含めることができる。依存性グラフは、システムオブジェクトまたはサブジェクトを表すノードと、システムオブジェクトまたはサブジェクト間の因果関係を表すエッジとを含むことができる。依存性グラフは、対応する量の完全性を持つことができる。
【００４０】
より具体的には、依存性グラフの各エッジが、依存性(因果関係)イベントeに対応することができる。依存性イベントeは、<SRC,DS1,REL>のタプルとして表現でき、ここで、
【数１】
2021529383.tif 000003
であり（これは情報フローを開始するプロセスエンティティである）、
【数２】
2021529383.tif 000004
であり（これは、情報フローを受信するプロセス、ファイル、ソケットのエンティティである）、RELは情報フロー関係を表す。以下の表に、SRC、DST、RELを含む依存性イベントの関係を示す。
【表１】
2021529383.tif 000005
具体的には、依存性イベントe:=<dropper.exe,y.y.y.y:445,IP_Write>に関して、「dropper.exe」はSRCを参照し、「y.y.y.y:445」はDSTを参照し、「IP_Write」はRELを参照する。
【００４１】
ブロック３２０で、候補アラートイベントに対する依存性経路(「経路」)が、依存性グラフから識別される。依存性グラフGの経路Pは、アラートイベントの根本原因であった一連の依存性イベントe(例えば、e1, e2,...,ei)と、依存性イベントの影響であった一連の依存性イベントe(例えば、ei+1, ei+2,...,en)とを参照すことができる。
【００４２】
経路は、例示的に、カテゴリに分割することができる。たとえば、経路を制御依存性(CD)経路とデータ依存性(DD)経路に分割できる。依存性イベントeのCD経路、すなわち
【数３】
2021529383.tif 000006
は、制御関係イベントのみを含む一連のアラートイベントである。たとえば、
すべて
【数４】
2021529383.tif 000007
であるような
【数５】
2021529383.tif 000008
である。依存性イベントeのDD経路、すなわち、
【数６】
2021529383.tif 000009
は、データ関係イベントのみを含む一連のアラートイベントである。たとえば、すべて
【数７】
2021529383.tif 000010
であるような
【数８】
2021529383.tif 000011
である。
【００４３】
例えば、アラートイベントeの依存性グラフGが与えられた場合、経路を識別することは、しきい値パラメータ長を有するすべての経路をサーチすることを含み得、これはユーザ定義パラメータであっても、デフォルトパラメータであってもよい。そうするために、深さ優先トラバーサルは、アラートイベントeから逆方向および順方向に実行され、統一された経路を生成するために組み合わされることができる。例えば、依存性グラフは、アラート(例えば、症状イベント)から開始する逆方向トレースクエリを使用し、アラートが直接的および間接的に依存するサブジェクトおよびオブジェクトのすべてを識別することによって、アラートコンテキストを理解するために使用することができる。順方向トレースクエリを使用して、アラートの根本原因によって引き起こされる効果を識別することができる。したがって、各統一経路は、アラートの祖先および子孫因果事象の両方を含むことができる。
【００４４】
ブロック３３０で、経路不審または異常スコアが経路の各々に割り当てられる。経路異常スコアは、依存性グラフの隣接するエッジ(イベント)に沿って伝播させることができる。経路異常スコアを割り当てることは、伝播モデルを使用してノード不審スコアを計算し、伝播することを含むことができる。伝播モデルは、セキュリティ来歴データに基づいて訓練することができる。例えば、伝播モデルは、セキュリティ来歴データ内に含まれる履歴イベントデータに少なくとも部分的に基づいて訓練され得る。一実施形態では、ランダムウォークラベル伝播方法を使用して、所与の依存性グラフのエッジに沿って不審スコアを伝播させることができる。
【００４５】
例えば、一実施形態では、経路異常スコアを割り当てることは、システムイベントの遷移確率に基づいて経路異常スコアを計算することを含む。例えば、N×N遷移行列Mは、依存性グラフGに対して構築することができ、ここで、Nは、G内のノードの総数である。M、Meのそれぞれの行列エントリは、次の式で計算できる。
【数９】
2021529383.tif 000012
ここで、Freq(e)は、タプルのSRC DRTとRELが同じである履歴時間窓でアラートイベントeが発生した回数を表し、
【数１０】
2021529383.tif 000013
は、SRCとRELのみが同じである場合にアラートイベントeが何回発生したかを表す。つまり、Meはアラートイベントeが発生する可能性を表す。アラートイベントeが一度も発生していない場合、発生確率は0であり、アラートイベントeが、履歴情報内のSRCとRELを有する任意の他のエンティティとの間の唯一のイベントである場合、発生確率は1である。直感的には、Meは、情報が依存性グラフGの対応するノード間を流れることを示す。
【００４６】
具体的に、上述したような依存性イベントe1:=<dropper.exe, y.y.y.y:445, IP_Write>を再度考える。Freq(e1)は、SRC="dropper.exe"、DST="y.y.y.y:445"、およびREL="IP_Write"である場合の発生したイベントの数をカウントすることで算出できる。そして、
【数１１】
2021529383.tif 000014
は、SRC="dropper.exe"およびREL="IP_Write"である場合のイベントの数をカウントすることで算出できる(DSTは任意のエンティティノードとすることができる)。
【００４７】
遷移確率行列を構築するために使用されるイベントの数は、企業環境において以前に発生したすべてのイベントの頻度を格納するイベント頻度データベース(EFD)を使用して取得することができる。EFDは、多数のピアシステムからオペレーティングシステム(OS)イベントを収集することによって構築できる。例えば、EFDは、企業環境内のイベント頻度を定期的に格納し、更新することができる。抽象化ルールを定義して、各イベントからインスタンス固有および非決定論的情報を除去し、企業環境内のすべてのマシンのイベント頻度データベースを生成することができる。したがって、ノード異常スコアは、他のイベントと比較して候補イベントの「希少性」を定量化することができる。
【００４８】
候補イベントの遷移確率は、特定のソースが特定の宛先に流れる頻度を知らせる。ただし、この値は、最終的に依存性グラフを介して伝播される。したがって、ソースから流出するデータの総量および宛先に流入するデータの総量も考慮することができる。
【００４９】
このデータフローを説明するために、INスコアおよびOUTスコア(例えば、INスコアベクトルおよびOUTスコアベクトル)を、依存性グラフG内の各ノードについて定義することができる。INスコアおよびOUTスコアは、それぞれ、情報受信機および送信機としてノードによって表されるシステムオブジェクトの重要度を表す。より具体的には、INスコアおよびOUTスコアはそれぞれ、システムオブジェクトによる受信およびシステムオブジェクトからの送信の頻度に基づくことができる。
【００５０】
依存性グラフG内の候補プロセスエンティティノード／頂点νにINおよびOUTスコアを割り当てるために、候補エンティティの履歴動作を企業内でグローバルにチェックすることができる。例えば、mを固定時間窓長とする。長さmは、ユーザ指定とすることができる。例えば、長さmはユーザによって、例えば、24時間に設定することができる。あるいは、長さmはデフォルト長とすることができる。
【００５１】
時間νからの期間が依存性グラフT0に追加され、現在のタイムスタンプTnに、一連の時間窓T={T0,T1,..., TN}にパーティション化することができる。ここで、Tiは、長さmの時間窓である。窓Tiにおいてνに対する新たな辺がない場合、Tiは安定した窓として定義できる。νのINスコアおよびOUTスコア、すなわちIN(ν)およびOUT(ν)は、それぞれ、以下の式を使用して計算することができる。
【数１２】
2021529383.tif 000015
ここで、
【数１３】
2021529383.tif 000016
はνにエッジが接続されていない安定した窓の数であり、
【数１４】
2021529383.tif 000017
はνからエッジが接続されていない安定した窓の数であり、
【数１５】
2021529383.tif 000018
は窓の総数である。したがって、INスコアおよびOUTスコアは、それぞれ、ゼロから1までの範囲であり得る。
【００５２】
これらの方程式の背後にある直感を理解するために、νが常に、そこから出て行く新しいエッジを有するが、入っていくエッジが無い実施例を考える。このような場合、vは非常に低いINスコアを有することができ、そのOUTスコアは高くなり得る。νに入るエッジが突然存在する場合、それは異常である。νが安定した窓を有していない場合(例えば、ノードがすべての窓において常に新しいエッジを有している場合)、そのスコアは0であり、νのすべての窓が安定している場合、そのスコアは１である。例えば、窓長mが24時間に設定されている場合、νの安定性は、νが新たなエッジを有していない日数および総日数によって決定することができる。
【００５３】
上述したプロセスエンティティタイプとは対照的に、データエンティティの挙動は企業内のホスト毎に変化し得るので、データエンティティにはグローバルスコアを割り当てることができない。代わりに、ローカル値は、データエンティティの「低」および「高」のINスコアおよびOUTスコアに関して定義することができる。
【００５４】
データエンティティの一例は、ファイルエンティティである。ファイルエンティティのINスコアとOUTスコアは、ファイルエンティティタイプに基づいて割り当てることができます。たとえば、１つのファイルエンティティタイプは、一時ファイルである。一時ファイルは、依存性グラフでは一度も読み取らず、書き込まれるだけのファイルエンティティである。一時ファイルには、通常、不審スコアにあまり寄与しないので、高いINスコアおよびOUTスコアを与えることができる。別のファイルエンティティタイプは、実行可能なファイルである。実行可能なファイルは、通常、攻撃ベクトルで使用され、したがって、情報の重要な送信者および受信者であるので、低いINおよびOUTスコアを与えることができる。さらに別のファイルエンティティタイプは、既知の悪意のあるファイル拡張子である。既知の悪意のあるファイル拡張子のオンラインデータベースは、それらが非常に異常または不審であるので、INスコアとOUTスコアが低いことが分かっている悪意のあるファイル拡張子を割り当てるために使用することができる。
【００５５】
データエンティティの別の実施例は、ソケットエンティティである。ソケットエンティティのINスコアおよびOUTスコアは、ドメイン知識に基づいて割り当てることができる。たとえば、悪意のあるIPアドレスのオンラインデータベースを使用して、INスコアとOUTスコアを低く割り当てることができる。
【００５６】
遷移確率行列とINおよびOUTスコア計算が実行されると、各経路の経路異常スコアを計算することができる。例えば、経路異常スコアを計算することは、各経路の規則性スコアを計算することを含むことができる。例示的には、長さlの経路p=(e1,...,el)が与えられると、経路pの規則性スコアRS(p)は次の式で計算できる。
【数１６】
2021529383.tif 000019
ここで、INおよびOUTは送信側ベクトルおよび受信側ベクトルであり、Mは遷移確率行列である。用語
【数１７】
2021529383.tif 000020
は、
【数１８】
2021529383.tif 000021
が
【数１９】
2021529383.tif 000022
エンティティに情報を送るイベントeの規則性を評価する。規則性スコアが計算された後、経路不審または異常スコアAS(P)は、次のように計算される。
【数２０】
2021529383.tif 000023
この式によれば、経路Pが少なくとも１つの異常イベントを含む場合、経路Pには高い異常スコアが割り当てられる。
【００５７】
ブロック３１０〜３３０の実施例として、入力としてアラートイベントeaおよび最大経路長しきい値τlが与えられた場合には、依存性経路およびスコア対のリスト、すなわちL<P,AS>を出力することができる。より具体的には、アラートイベントeaとそのアラートイベントeaのSRCおよびDST頂点(VSRCおよびVDST)について依存性グラフGaを得ることができる。Gaの逆方向および順方向トラバーサルが、最大経路長しきい値τlとSRCおよびDSTの頂点VSRCおよびVDSTと基づいてそれぞれ実行され、逆方向トレース依存性経路Lbのセットと順方向トレース依存性経路Lfのセットとを取得することができる。経路LbとLfのセットを組み合わせて、結合経路Lpのセットを取得することができる。遷移行列は、結合経路LPのセットに基づいて生成することができ、結合経路LPのセットの経路Ｐごとに、経路異常スコアASは本明細書に記載する実施形態に従って計算することができ、依存性経路およびスコアの対L<P,AS>のリストに付加される。
【００５８】
上述の逆方向および順方向トラバーサルは、D深度有界深さ優先探索(DFS)トラバーサルを使用して実行することができる。ここで、時間複雑度は、
【数２１】
2021529383.tif 000024
で表すことができ、ここで、bは、入力依存性グラフGaの分岐係数である。また、規則性スコア計算は経路毎に実行されるので、規則性スコア計算の時間複雑度は
【数２２】
2021529383.tif 000025
で表すことができ、ここで、P'はアラートイベントの依存性経路の合計数である。
【００５９】
経路不審スコアを計算するための前述のプロセスでは、より長い経路がそれらの長さのために、より短い経路よりもより高い経路不審スコアを有することができることが明らかであり得る。そのような経路長スコアの偏りを排除または低減するために、経路異常スコアを割り当てることは、異なる長さの経路のスコアが同じ分布を有することができるように、計算された経路不審スコアを正規化することをさらに含むことができる。例えば、経路長スコアの偏りを排除または低減するために、サンプリングベースのアプローチを使用して、経路不審スコアを漸進的に低減することができる減衰係数αを見つけることができる。
【００６０】
例えば、偽のアラート因果的イベントLeのリスト、基線長kおよび最大経路長しきい値τ1を入力とすると、減衰係数αを出力することができる。より具体的には、各アラートに対して、異なる最大長τlの経路を得ることができ、それらの経路に対して経路異常または不審スコアを計算することができ、各経路長に対する経路長と平均不審スコアのキー値ストアを含むマップを生成することができる。マップは、減衰係数αに設定することができる、基線長kからの長さが増加することにつれてスコアが増加する比率を計算するために使用することができる。例えば、依存性経路とスコアの対L<P、AS>のリストは、例えば、ブロック３３０で実施される処理を使用して得ることができ、リストLe内のイベントごとに、τlに基づいて、そのイベントについて、異常または不審スコアを計算することができ、各経路長についての異常スコアの平均を取得し、マップに記憶することができる。減衰係数αは、基線長kから長さが増加することにつれてスコアが増加する比率を計算することによって設定することができる。
【００６１】
減衰係数が計算されると、正規化された規則性スコア、すなわち
【数２３】
2021529383.tif 000026
は、長さlの所定の経路Pの正規化された不審スコアを取得するために、以下のように計算できる。
【数２４】
2021529383.tif 000027
【００６２】
ブロック３１０〜３３０は、依存性グラフのエッジ上に異常スコアを伝播させて総異常スコアを生成する拡散プロセスを利用する。いくつかの実施形態では、拡散プロセスは、大規模頂点中心グラフ処理フレームワークを使用して並列化することができる(例えば、分散グラフ処理を可能にする)。さらに、ブロック３１０〜３３０は、完全な依存性グラフを生成し、その依存性グラフ上に異常スコアを伝播する。しかしながら、いくつかの実施形態では、反復深さ優先探索を使用して依存性グラフを生成しながら、異常スコアを伝播させることができる。そのような実施形態では、異常スコアが次の反復で増加しない場合、分析を停止することができる。このようにして、潜在的に大きな依存性グラフを最初に生成する追加のステップを排除することができる。さらに、依存性グラフ圧縮技法を使用して、来歴追跡の空間オーバヘッドを低減することができ、来歴可視化技法を使用して、データ来歴分析を容易にすることができる。したがって、これらの技法は、効率的なアラートトリアージおよび調査のために良性イベントを除去せず、ブロック３１０〜３３０は、これらの技法を使用して、冗長アラートイベントを除去することによって、逆方向トレースおよび順方向トレースのオーバヘッドをさらに低減することができる。
【００６３】
攻撃は複数のステップで実行することができるので、単一の最も異常または不審な依存性経路を返すことによって真のアラートイベントの完全な因果関係を捕捉することは不可能である。同様に、サイバーアナリストに全ての経路を含む完全な依存性グラフを返すことは、完全な依存性グラフがアラートに関係のない不審パスと良性パスの両方を含むことができるので、不正確である可能性がある。
【００６４】
これらの２つの極値の間のバランスをとるために、ブロック３４０で、依存性経路マージ動作を実行して、依存性グラフのサブグラフを得ることができる。サブグラフは、高い異常スコアを有する依存経路を含む真のアラート依存性グラフに対応する。たとえば、サブグラフには、最大でしきい値パラメータ長の経路を含めることができ、これはユーザ指定またはデフォルトとすることができる。したがって、サブグラフは、入力依存性グラフから導出された攻撃挙動を実質的に捕捉する、単純化された簡潔な依存性グラフとすることができる。
【００６５】
ブロック３４０でサブグラフを得るための単純なアプローチは、異常スコアによってランク付けされたときにトップk経路を返すことである。例えば、全ての攻撃が同じ数のステップを含むわけではないので、そのようなアプローチは、良性経路の受け入れ、または真に異常な経路の排除につながる可能性がある。その代わりに、ブロック３４０で実行される依存性経路マージ動作は、最適な異常または不審サブグラフを得るために、経路を一緒にマージするためにベストエフォートアプローチを使用する。より具体的には、ブロック３５０で実行される依存性経路マージ動作が、差が良性経路のスコアと真に異常な経路のスコアとの間の差を定量化するマージしきい値τmよりも大きくなるまで、高異常スコア経路をマージすることができる。
【００６６】
マージしきい値τmに適した値を計算するために、訓練フェーズを使用して、異常経路と良性経路の間の平均差を計算することができる。真の攻撃を特徴とするラベル付けされた訓練データの利用可能性は法外に高く見えるかもしれないが、システム／方法３００を利用する企業環境は、それらの仕事の自然なアーチファクトとして訓練データを生成するト訓練されたサイバーアナリストを使用することができる。さらに、マージしきい値τmは、配置ごとに一度だけ計算する必要がある場合がある。
【００６７】
例えば、依存性経路PとスコアSの対のリスト、すなわちLPSとマージしきい値τmを、入力として得ることができる。リストLPSは、異常スコアによってソートすることができる。そして、各
【数２５】
2021529383.tif 000028
毎に(ここで
【数２６】
2021529383.tif 000029
はLPSの大きさを参照する）、LPSのi番目および(i+1)番目の依存性経路と異常スコアの組が比較される。例えば、i番目の組に対応するスコアと、(i+1)番目の組に対応するスコアとの差分は、マージしきい値τmと比較することができる。スコア間の差がしきい値未満である場合、経路はマージされる。
【００６８】
ブロック３５０では、アラートイベントのセットの各アラートイベントに対する不審または異常スコアに基づいて、アラートイベントのセットの真の警告イベントを、アラートイベントのセットの偽のアラートイベントから分離できる。例えば、ブロック３５０における分離は、不審または異常スコアをしきい値不審パラメータと比較することを含むことができる。しきい値不審パラメータは、真の攻撃および偽のアラートを伴う訓練データセットを使用して計算することができ、しきい値不審パラメータの値は、現在の企業構成(例えば、ホストの数およびシステム監視イベント)に依存することができる。比較に基づいてしきい値未満のサブグラフ不審スコアを有すると判定されたサブグラフは、良性アクティビティに関連する偽のアラートに対応すると見なされ、一方、比較に基づいてしきい値を超えるサブグラフ不審スコアを有すると判定されたサブグラフは、真のアラートに対応すると見なされる。
【００６９】
図４を参照すると、データ来歴を介して自動脅威アラートトリアージを実施するための例示的なシステム４００を示すブロック／フロー図が提供される。システム４００は、図２および図３を参照して上述した実施形態を実施することができる。
【００７０】
システム／方法は、セキュリティ来歴データ４１０とアラート４２０のセットとを受信することができるアラートトリアージシステム４３０を含む。例えば、セキュリティ来歴データ４１０は、処理装置(例えば、図１の処理装置１２０)から受信することができ、アラート４２０のセットは、異常検出システム(例えば、図１の異常検出システム１３０)から受信することができる。アラートトリアージシステム４３０は、図１のアラートトリアージシステム１４０と同じものとすることができる。
【００７１】
不審アクティビティを識別するために、アラートトリアージシステム４３０は、モデル学習コンポーネント４３２を含むことができる。コンポーネント４３２は、セキュリティ来歴データ４１０を受信することができ、セキュリティ来歴データ４１０に基づいて伝播モデル４３４を出力することができる。例えば、コンポーネント４３２は、セキュリティ来歴データ４１０内に含まれる履歴イベントデータを読み取り、履歴イベントデータに少なくとも部分的に基づいて伝播モデル４３４を訓練することができる。
【００７２】
図５を参照すると、図４のコンポーネント４３２を実施するための例示的なシステム５００を示すブロック／フロー図が提供される。図示のように、コンポーネント４３２は、遷移行列学習コンポーネント５１０および不審スコア学習コンポーネント５２０を含むことができる。セキュリティ来歴データ４１０は、図３−４を参照して上述したように、伝播モデル４３４を訓練し出力するために、コンポーネント５１０および５２０によって受信される。
【００７３】
図４に戻って参照すると、アラートトリアージシステム４３０は、依存性グラフ生成器コンポーネント４３６をさらに含むことができる。コンポーネント４３６は、セキュリティ来歴データ４１０およびアラート４２０のセットを受信することができ、セキュリティ来歴データ４１０に基づいて、アラート４２０のセットの少なくとも１つのアラートに対応する少なくとも１つの依存性グラフを生成することができる。コンポーネント４３６の動作に関するさらなる詳細は、図３を参照して上述されている。
【００７４】
アラートトリアージシステム４３０は、不審伝播コンポーネント４３８をさらに含むことができる。コンポーネント４３８は、伝播モデル４３４とコンポーネント４３６によって生成された依存性グラフとを受信することができ、依存性グラフのエッジに沿って、依存性グラフのノードのノード不審または異常スコアをその近傍に伝播することができ、ノード異常スコアに基づいて、依存性グラフの各経路に経路不審または異常スコアを割り当てることができる。
【００７５】
不審伝播コンポーネント４３８は、トリアージされたアラート４４０のセットと単純化された依存性グラフ４４２のセットを含むデータを生成することができる。単純化された依存性グラフ４４２のセットは、図３を参照して上述したように、経路異常スコアに基づいて生成されたサブグラフを含むことができる。
【００７６】
サブグラフ不審スコアに基づいて、良性アクティビティに対応するアラート４２０のセットから、少なくともいくつかの偽のアラートを自動的に検出し、除去することによるトイアージされたアラート４４０のセット。すなわち、悪意のあるアクティビティに対応するアラート４２０のセットからの真のアラートは、偽のアラートから分離することができる。単純化された依存性グラフ４４２のセットは、攻撃挙動を実質的に捕捉する簡潔な依存性グラフのセットを含むことができる。
【００７７】
本明細書で説明される実施形態は任意の適切な脅威検出ツール内で(例えば、脅威検出ツールへのアドオンとして)実施することができる。すなわち、本明細書に記載される実施形態は(例えば、偽陽性／陰性検出および警報率を改善することによって)脅威検出ツールの精度を改善するために、基礎となる脅威検出ツールによって生成されたアラートに基づいて真の攻撃を検出することができる。アラート生成システムによって生成されたアラートをフィルタリングすることによって、本明細書で説明する実施形態は、単純化された依存性グラフを生成することにより脅威アラートの依存性グラフのサイズを縮小し、企業環境内の悪意のあるアクティビティを識別するための脅威検出ツールの能力を改善することができる。例えば、本明細書で説明される実施形態は、単なる相関ではなく真の因果関係を捕捉するデータ来歴を使用することによって、ファイル名およびプロセス名の変更に対して回復力がある。そのために、たとえ攻撃者が公知の良性プログラム名を用いてマルウェア攻撃を開始したとしても、プログラムの因果関係(例えば、それがどのように生成されたか、およびそれが何を誘発したか)は、その挙動を公知の良性プログラム名の通常の挙動と区別する。
【００７８】
本明細書に記載する実施形態は、完全にハードウェアであってもよく、完全にソフトウェアであってもよく、またはハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明が、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されないソフトウェアで実施される。
【００７９】
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝播、またはトランスポートする任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝播媒体とすることができる。媒体は、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
【００８０】
各コンピュータプログラムは、本明細書に記載する手順を実行するために、記憶媒体または装置がコンピュータによって読み取られるときに、コンピュータの動作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体または装置(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、そのように構成された記憶媒体は、コンピュータを特定の所定の方法で動作させて、本明細書に記載する機能を実行させる。
【００８１】
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも１つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルクストレージ、および実行中にバルクストレージからコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力／出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイスなどを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを介してシステムに結合され得る。
【００８２】
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいはリモートプリンタまたはストレージデバイスに結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネットカードは、現在使用可能なネットワークアダプタの種類の一例に過ぎない。
【００８３】
ここで図５を参照すると、本発明の一実施形態による、サーバまたはネットワークデバイスを表すことができる例示的なコンピュータシステム５００が示されている。コンピュータシステム５００は、システムバス５０２を介して他の構成要素に動作可能に結合された少なくとも１つのプロセッサ(CPU)５０５を含む。キャッシュ５０６、リードオンリーメモリ(ROM)５０８、ランダムアクセスメモリ(RAM)５１０、入出力アダプタ５２０、サウンドアダプタ５３０、ネットワークアダプタ５９０、ユーザインタフェースアダプタ５５０、およびディスプレイアダプタ５６０は、システムバス５０２に動作可能に結合される。
【００８４】
第１の記憶装置５２２および第２の記憶装置５２９は、I/Oアダプタ５２０によってシステムバス５０２に動作可能に結合される。記憶装置５２２および５２９は、ディスク記憶装置(例えば、磁気または光ディスク記憶装置)、ソリッドステート磁気装置などのいずれであってもよい。記憶装置５２２および５２９は、同じタイプの記憶装置であっても、異なるタイプの記憶装置であってもよい。
【００８５】
スピーカ５３２は、サウンドアダプタ５３０によってシステムバス５０２に動作可能に結合することができる。トランシーバ５９５は、ネットワークアダプタ５９０によってシステムバス５０２に動作可能に結合される。ディスプレイデバイス５６２は、ディスプレイアダプタ５６０によってシステムバス５０２に動作可能に結合される。
【００８６】
第１のユーザ入力装置５５２、第２のユーザ入力装置５５９、および第３のユーザ入力装置５５６は、ユーザインタフェースアダプタ５５０によってシステムバス５０２に動作可能に結合される。ユーザ入力装置５５２、５５９、および５５６は、センサ、キーボード、マウス、キーパッド、ジョイスティック、画像キャプチャ装置、動き検出装置、電力測定装置、マイクロフォン、前述の装置のうちの少なくとも２つの機能を組み込んだ装置などのいずれかとすることができる。もちろん、本発明の精神を維持しながら、他のタイプの入力装置を使用することもできる。ユーザ入力装置５５２、５５９、および５５６は、同じタイプのユーザ入力装置または異なるタイプのユーザ入力装置とすることができる。ユーザ入力装置５５２、５５９、および５５６は、システム５００との間で情報を入出力するために使用される。
【００８７】
アラートトリアージ(AT)構成要素５７０は、システムバス５０２に動作可能に結合され得る。ATコンポーネント５７０は、上述の動作のうちの１つまたは複数を実行するように構成される。ATコンポーネント５７０は、スタンドアロンの特殊目的のハードウェア装置として実現することも、記憶装置に記憶されたソフトウェアとして実現することもできる。ATコンポーネント５７０がソフトウェア実装される実施形態では、コンピュータシステム５００の別個のコンポーネントとして示されているが、ATコンポーネント５７０は例えば、第１の記憶装置５２２および／または第２の記憶装置５２９上に格納することができる。あるいは、ATコンポーネント５７０は、別個の記憶装置(図示せず)に記憶され得る。
【００８８】
もちろん、コンピュータシステム５００は、当業者によって容易に企図されるように、他の要素(図示せず)を含むこともでき、また、特定の要素を省略することもできる。例えば、当業者によって容易に理解されるように、他の様々な入力装置および／または出力装置を、その特定の実装に応じて、コンピュータシステム５００に含めることができる。例えば、様々なタイプの無線および／または有線の入力および／または出力装置を使用することができる。さらに、様々な構成の追加のプロセッサ、コントローラ、メモリなども、当業者には容易に理解されるように利用することができる。コンピュータシステム５００のこれらおよび他の変形は、本明細書で提供される本発明の教示を前提として、当業者によって容易に企図される。
【００８９】
上記はあらゆる点で例示的かつ具体的であるが、限定的ではないと理解されるべきであり、本明細書に開示される本発明の範囲は詳細な説明からではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、説明された実施形態は、本発明の例示にすぎず、当業者は本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許証によって保護されることが請求され、望まれるものは添付の特許請求の範囲に記載されている。
【図１】
2021529383.tif 000030
【図２】
2021529383.tif 000031
【図３】
2021529383.tif 000032
【図４】
2021529383.tif 000033
【図５】
2021529383.tif 000034
【図６】
2021529383.tif 000035
【国際調査報告】
2021529383.tif 000036
2021529383.tif 000037