JP7101272B2 - データ来歴を介した自動脅威アラートトリアージ - Google Patents

データ来歴を介した自動脅威アラートトリアージ Download PDF

Info

Publication number
JP7101272B2
JP7101272B2 JP2020571643A JP2020571643A JP7101272B2 JP 7101272 B2 JP7101272 B2 JP 7101272B2 JP 2020571643 A JP2020571643 A JP 2020571643A JP 2020571643 A JP2020571643 A JP 2020571643A JP 7101272 B2 JP7101272 B2 JP 7101272B2
Authority
JP
Japan
Prior art keywords
alert
event
score
events
route
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.)
Active
Application number
JP2020571643A
Other languages
English (en)
Other versions
JP2021529383A (ja
Inventor
ディン リ、
カンクック ジー、
ジェンジャン チェン、
ジチュン リ、
ワジ ウイ ハッサン、
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Laboratories America Inc
Original Assignee
NEC Laboratories America Inc
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 NEC Laboratories America Inc filed Critical NEC Laboratories America Inc
Publication of JP2021529383A publication Critical patent/JP2021529383A/ja
Application granted granted Critical
Publication of JP7101272B2 publication Critical patent/JP7101272B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

関連出願情報
本出願は2018年7月31日に出願された仮出願第62/712,431号及び2019年7月10日に出願された実用特許出願第16/507,353号に対する優先権を主張するものであり、いずれもその全体が参照により本明細書に組み込まれている。
本発明は、コンピュータセキュリティに関し、より詳細には、侵入および脅威検出に関する。
関連技術の説明
侵入検知システム(IDS)および/またはセキュリティ情報イベント管理ツール(SIEM)などの自動脅威検知システム(TDS)は、企業規模のアクティビティを監視し、不審アクティビティに対して脅威アラートを生成することによって、脅威(例えば、知能型の持続的脅威(APT)など)に対抗するために、発見的および単一イベント(例えば、異常プロセスおよび/または悪意のあるファイル作成)を使用することができる。そして、各脅威アラートは、対応する不審アクティビティが悪意のあるもの(例えば、真のアラート)であるか、または良性のもの(例えば、偽陽性または偽陰性アラート)であるかを決定するために、サイバーアナリストによって調査され得る。しかしながら、TDSは、多数の偽のアラートを含む多数のアラートを生成することができる。さらに、場合によっては、偽のアラートが真のアラートと同様に見えることがある。例えば、ランソムウェアとZIPプログラムの両方が短時間で多くのファイルを読み書きすることができるので、単一のプロセスの挙動のみをチェックするランサムウェア検出器は、ZIPプログラムをランサムウェアとして誤って分類する可能性がある。
本発明の一態様によれば、データ来歴を介した自動脅威アラートトリアージの方法が提供される。この方法は、アラートトリアージシステムによって、一連のアラートとセキュリティ来歴データを受信することを含む。セキュリティ来歴データは、アラートイベントおよび/またはアラートイベントの影響につながる一連のイベントを再構築することによって、アラートコンテキストを提供する。この方法は、アラートトリアージシステムによって、少なくとも1つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応するアラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応するアラートイベントのセット内の真のアラートイベントを分離することをさらに含む。真のアラートイベントを偽のアラートイベントから分離することは、アラートイベントのセットの少なくとも1つのアラートイベントに対応するセキュリティ来歴データから導出された少なくとも1つの依存性グラフを受信することと、少なくとも1つの依存性グラフからの依存性イベントのシーケンスを含むそれぞれの経路に対応する経路異常スコアの伝播に基づいて、少なくとも1つの依存性グラフのサブグラフを取得することとを含む。依存性グラフは、システムオブジェクトを表すノードと、システムオブジェクト間の因果関係を表すエッジとを含む。この方法は、アラートトリアージシステムによって、上記分離に基づいてトリアージされたアラートイベントのセットを自動的に生成することをさらに含む。
本発明の別の実施形態によれば、データ来歴を介した自動脅威アラートトリアージのためのシステムが提供される。システムは、プログラムコードを記憶するためのメモリ装置と、メモリ装置に動作可能に結合された少なくとも1つのプロセッサ装置とを含む。少なくとも1つのプロセッサ装置は、アラートよびセキュリティ来歴データのセットを受信するために、メモリ装置に記憶されたプログラムコードを実行するように構成される。セキュリティ来歴データは、アラートイベントおよび/またはアラートイベントの影響につながる一連のイベントを再構築することによって、アラートコンテキストを提供する。少なくとも1つのプロセッサ装置はさらに、少なくとも1つのアラートイベントに割り当てられたアラート異常スコアに基づいて、悪意のあるアクティビティに対応するアラートイベントのセット内の真のアラートイベントを、良性アクティビティに対応するアラートイベントのセット内の偽のアラートイベントから分離するように構成される。少なくとも1つのプロセッサ装置は、アラートイベントの少なくとも1つのアラートイベントに対応するセキュリティ来歴データから導出された少なくとも1つの依存性グラフを受信し、少なくとも1つの依存性グラフから、依存性イベントのシーケンスを含むそれぞれのパスに対応するパス異常スコアの伝播に基づいて、少なくとも1つの依存性グラフのサブグラフを取得することによって、真のアラートイベントを偽のアラートイベントから分離するように構成される。依存性グラフは、システムオブジェクトを表すノードと、システムオブジェクト間の因果関係を表すエッジとを含む。少なくとも1つのプロセッサ装置は、上記分離に基づいてトリアージされたアラートイベントのセットを自動的に生成するようにさらに構成される。
これらおよび他の特徴および利点は添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるのであろう。
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
図1は、本発明の一実施形態による、オンライン監視分析システムの高レベル概要のブロック/フロー図である。
図2は、本発明の一実施形態による、データ来歴を介して自動脅威アラートトリアージを実施するためのシステム/方法のブロック/フロー図である。
図3は、本発明の一実施形態による、図2のシステム/方法内で真のアラートを偽のアラートから分離するためのシステム/方法のブロック/フロー図である。
図4は、本発明の一実施形態による、データ来歴を介した自動脅威アラートトリアージのためのシステム/方法のブロック/フロー図である。
図5は、本発明の一実施形態による、図4のシステム/方法内でモデル学習を実施するためのシステム/方法のブロック/フロー図である。
図6は、本発明の一実施形態によるコンピュータシステムを示すブロック/フロー図である。
本明細書で説明される実施形態は、データ来歴を介して自動脅威アラートトリアージを実行することができるシステムおよび方法を提供する。より具体的には、本明細書で説明する実施形態が依存性グラフを使用して、来歴データに対する不審または異常伝播方法を使用して、脅威検出システムの誤警報率を自動的に低減することができる。悪意のプロセスによって生成されたプロセスは良性のプロセスによって生成されたプロセスよりも疑わしいので、本明細書で説明される実施形態によれば、イベントの疑いは、依存性グラフ内のその近傍の疑いに基づいて調整することができる。したがって、本明細書で説明する実施形態は膨大な数のアラートが生成された場合に、サイバーアナリストが脅威アラートに応答することができない情報過負荷問題(「脅威アラート疲労」)を改善することができ、それによってアラートの検出および修復を改善する。
例えば、依存性グラフの各サブグラフのサブグラフ不審または異常スコアを決定するために使用することができる、依存性グラフ内のアラートイベントに対応する各ノードに、ノード不審または異常スコアを割り当てることができる。サブグラフ異常スコアを決定するために、ノード異常スコアは、統計モデルおよびドメイン知識に基づいて、例えば、ランダムウォーク伝播方法を使用して伝播でき、経路不審または異常スコアは、その伝播に基づいて依存性グラフの各経路に割り当てられ得る。サブグラフのサブグラフ異常スコアが十分に高い(例えば、閾値を超える)場合、これは、サブグラフが真の攻撃に対応する可能性が高いことを示す。それ以外の場合、サブグラフは誤ったアラートに対応している可能性がある。すなわち、信頼性の高い真の攻撃を識別するために、十分に疑わしいまたは異常なアラートイベントのみを調査する必要がある。
そのような簡略化された精密なサブグラフは、アナリストが脅威アラートの簡潔かつ完全な記述を提供することによって攻撃をより良く理解し、またはシステム脆弱性を発見するのを助けることができ、それによってシステム脆弱性を発見することに関連するコストを低減する。したがって、本明細書で説明される実施形態は、アラートイベント(例えば、攻撃シナリオ)を調査するための十分な情報を維持しながら、依存性グラフのサイズを実質的に低減することができる。
本明細書で説明する実施形態による不審伝播方法は完全に自動化することができ、実質的に完全な攻撃検出能力を維持しながら、偽のアラートの数を低減することができる。したがって、本明細書で説明する実施形態は、大規模企業環境へのデータ来歴分析ベースの脅威検出の適用を可能にすることができる。さらに、本明細書に記載される実施形態は、基礎となるプラットフォーム、アプリケーション、および脅威または侵入検出システムから独立して適用することができるという点で、一般性を提供する。したがって、本明細書で説明する実施形態は、高忠実度検出を提供することができ、低い平均実行時間オーバヘッドを有することができ、最小限のオーバヘッドで任意の適切な脅威検出システム内で展開することができる。
ここで、同一の数字が同一または類似の要素を表す図を詳細に参照し、最初に図1を参照すると、オンライン監視分析システム100の高レベル概要を示すブロック/フロー図が提供される。システム100は、企業環境(例えば、大規模企業環境)内で実施することができる。
図示のように、システム100は、コンピュータシステム112のグループ110と、セキュリティ来歴データを記憶する少なくとも1つの処理装置(例えば、サーバ)120と、検出された異常に基づいてアラートを生成する異常検出システム130と、アラートトリアージシステム140とを含む。グループ110は、エージェントによって監視することができる。
処理装置120および異常検出システム130は、それぞれ、グループ110およびアラートトリアージシステム140と通信するように示されている。アラートトリアージシステム140は、処理装置120および異常検出システム130から入力を受け取ることができる。以下でさらに詳細に説明するように、システム100は、完全に自動化された方法を使用して、攻撃シナリオを維持しながら、依存性グラフのサイズを実質的に削減することができる。このような正確な依存性グラフは、アナリストが攻撃を理解し、および/またはシステムの脆弱性を発見するのをより助けることができる。
一実施形態では、異常検出システム130は、複数の検出器を含むことができる。例えば、第1の検出器は、ネットワークデータ転送を監視し、データ転送量が異常に大きい(例えば、しきい値を超える)ときにアラートを生成するように配備することができ、第2の検出器は、プロセス生成を監視し、プロセスが予期しない子プロセスを開始するときにアラートを生成するように配備することができる。
アラートトリアージシステム140の1つの目標は、アラートが不審または異常なアクティビティに対応するかどうかを識別することである。例えば、以下でさらに詳細に説明するように、アラートトリアージシステム140は、アラートに関連する依存性グラフから不審または異常なサブグラフの存在を判定することができる。より具体的には、依存性グラフの各パスには不審または異常スコアを割り当てることができ、これはそのノードまたは頂点、およびエッジから伝播される不審または異常情報から計算することができる。依存性グラフの不審サブグラフが存在しない場合、アラートは偽のアラートであると判定される。そうでない場合、アラートは真の攻撃に対応すると判定される。
図2を参照すると、データ来歴を介して自動脅威アラートトリアージを実施するためのシステム/方法200を示すブロック/フロー図が提供される。さらに詳細に説明されるように、システム/方法200は、脅威検出システム(TDS)の誤警報率を自動的に低減するために、履歴コンテキストを活用するためにシステム100内で実施され得る。システム/方法200は、図4および図5を参照して以下でさらに詳細に説明されるようにアラートトリアージシステムによって実施することができる。
ブロック210で、セキュリティ来歴データおよびアラートイベントのセットを含むデータが受信される。セキュリティ来歴データは、別の処理装置によって生成することができ、アラートイベントのセットは、異常検出システムによって生成することができる。セキュリティ来歴データは、アラートコンテキストを提供できる。例えば、セキュリティ来歴データは、アラートイベント(例えば、逆方向トレース)および/またはアラートイベントの影響(例えば、順方向トレース)につながるイベントの連鎖を再構築することによって、アラートコンテキストを提供することができる。例示的な例として、アラートイベントの来歴を考慮することによって、ランサムウェアプログラムアクティビティをZIPアクティビティと区別することができる(例えば、電子メールのようなランサムウェアの入口点は、ZIPプログラムの入口点とは異なる)。
以下でさらに詳細に説明するように、そのような知識は、良性および悪性のシステムイベントが表面的に非常に類似して見える場合であっても、悪性のシステムイベントからの良性のシステムイベントの分離を改善するために使用することができる。例えば、セキュリティ来歴データに基づいて、悪意のあるアクティビティ(例えば、未知の発信元からのもの)と、良性のアクティビティ(信頼された発信元からのもの)を区別することができる。
ブロック220において、アラートイベントのセット内の真のアラートイベントは、セキュリティ来歴データから導出された各アラートイベントに割り当てられたアラートの不審または異常スコアに基づいて、アラートイベントのセット内の偽のアラートイベントから分離される。真のアラートイベントは、悪意のあるアクティビティに対応すると判断されたアラートイベントであるが、偽のアラートイベントは、良性のアクティビティに対応すると判断されたアラートイベントである。真のアラートイベントを偽のアラートイベントから分離することは、十分に低い不審または異常スコアを有するアラートイベントのセットからアラートイベントをフィルタリングすることを含むことができる。一実施形態では、アラートイベントのセットのアラートイベントは、異常スコアに基づいてランク付けすることができる。例えば、所与のアラートイベントは、その異常スコアがしきい値不審パラメータ未満である場合、十分に低い異常スコアを有することができる。しきい値不審パラメータは、ユーザ指定パラメータとすることができる。あるいは、しきい値不審パラメータは、デフォルトのシステムパラメータであってもよい。
アラートイベントの不審または異常スコアは、発生したアラートイベントに関連する関連イベントの「希薄」(例えば、遷移確率)を定量化することによって得ることができる。例えば、総合的な不審または異常スコアは、アラートイベントに関連する祖先および/または子孫行動に関連する不審または異常スコアを組み合わせることによって得ることができる。より具体的には、アラートイベントの子孫および/または祖先を分析して、アラートイベントの子孫および/または祖先が、希少イベント(例えば、低遷移確率イベント)または共通イベント(例えば、高遷移確率イベント)を含むかどうかを決定することができる。
異常スコアをアラートイベントに割り当てる単純な方法は、過去に発生したシステムイベントの頻度を使用して、希少イベントがより不審または異常であると見なされるようにすることであろう。しかしながら、いくつかの攻撃はシステム内で頻繁に発生するイベントを伴う可能性があるので、そのようなアプローチは成り立たない可能性がある。たとえば、ファイルの解凍は、企業環境では一般的なイベントであるが、攻撃につながるイベントの場合もある。したがって、不審イベントを見つけるための単純な頻度ベースのアプローチは、真の攻撃を識別するのに適していないことがある。
これらの状況に対処するために、アラートイベントに関連するサブイベントのチェーンの不審を分析することによって、アラートイベントの不審または異常スコアを決定することができる。より具体的には、サブイベントのチェーンに関連付けられた経路不審スコアは、履歴情報およびコンテキスト情報を使用して、異なる長さの経路に割り当てることができる。例えば、ファイルがアンジップされた後に発生するサブイベントのチェーンが普通でないと判定された場合(例えば、短期間に多数のIP接続を開始した場合)、経路は非常に疑わしいと考えることができる。
図3を参照して以下にさらに詳細に説明するように、アラートイベントの異常スコアは、セキュリティ来歴データに基づいて脅威アラート依存性グラフを生成することによって得ることができ、このデータは、システムオブジェクトまたはサブジェクトを表すノードと、システムオブジェクトまたはサブジェクト間の因果関係を表すエッジとを含むことができる。より具体的には、経路異常スコアが依存性グラフのノードのノード不審または異常スコアを伝播することによって決定することができ、サブグラフは経路異常スコアに基づいて依存性グラフから抽出することができる。
具体例として、第1のイベントe1:=<dropper.exe, y.y.y.y:445, IP_Write>と第2のイベントe2:=<Powershell→z.z.z.z:445>を考える。すなわち、第1のイベントe1は、「dropper.exe」プロセスノードと「y.y.y.y:45」ソケットノードとを接続するエッジに対応し、第2のイベントe2は、「Powershell」プロセスノードと「z.z.z.z:45」ソケットノードとを接続するエッジに対応する。
イベントe1およびe2は、基礎となる脅威検知システム(TDS)によって、一日中に生成される一連の100の全アラートイベントの一部として生成できる。第1のイベントe1は、マルウェアが企業内のリモートマシンに複数の接続を行ったときに生成され、第2のイベントe2は、テクニカルサポート診断ツールがセキュアマシンへのリモート接続を開始したときに生成され得る。e1とe2は、単一のイベントレベルにおいて、非常に類似しているように見えることに注意する。なぜなら、どちらの方法も、重要な内部ホストに異常なソケットコネクションを作るからである。
イベントe1とe2を調査し、対応を準備するために、(サイバーアナリストなどによって)因果関係の解析を行うことができる。来歴ベースのツールは、システムオブジェクト(例えば、ファイルおよびネットワークソケット)とサブジェクト(例えば、プロセス)との間の個々のイベントを処理して依存性グラフを構築することができ、これらのアラートイベントの各々の祖先および子孫は、これらのアラートイベントの各々の挙動が異なることを決定するために、例えば、逆方向および順方向トレースを使用して考慮することができる。
例えば、第1のアラートイベントe1の子孫は、(例えば、より低い推移確率を有する)希少ないくつかのイベントを含むことができる。加えて、第1のイベントe1の先祖において、実行可能物がウェブブラウザを使用してダウンロードされ、その後短時間で多数のホストに接続されるサブイベントのチェーンは非常に稀であり、したがって、異常スコアが高くなる。そのため、第1のイベントe1の先祖と子孫の挙動を組み合わせると、第1のイベントe1に高集約異常スコアを割り当てることができる。
対照的に、第2のイベントe2の子孫は、企業環境において非常に一般的なサブイベントのチェーンを含むことができる。なぜなら、そのような挙動は、一般的なOSユーティリティによって示されるからである。さらに、第2のイベントe2の先祖には、企業環境(タスクリストやIpconfigなど)のコンピュータの正常性を確認するために定期的に実行される診断イベントを含めることができる。そのため、第2のイベントe2の先祖と子孫の挙動を組み合わせると、第2のイベントe2に対して、第1のイベントe1のそれより低い集約異常スコアを割り当てることができる。
真のアラートを偽のアラートから分離するためのブロック220の実施に関するさらなる詳細は、図3を参照して以下に記載される。
ブロック230において、分離に基づいてデータが自動的に生成される。データには、ブロック220で識別された偽のアラートを除外する、トリアージされたアラートイベントのセットを含めることができる。
図3を参照すると、セキュリティ来歴データから導出された各アラートに割り当てられたアラート不審スコアに基づいて、アラートのセット内の真のアラートをアラートのセット内の偽のアラートから分離するためのシステム/方法300を示すブロック/フロー図が提供される。
ブロック310で、アラートイベントのセットの少なくとも1つのアラートイベントに対応する少なくとも1つの脅威アラート依存性グラフ(「依存性グラフ」)が、セキュリティ来歴データに基づいて生成される。アラートイベントのセットには、n個のアラートイベント{e1,...,en}を含めることができる。依存性グラフは、システムオブジェクトまたはサブジェクトを表すノードと、システムオブジェクトまたはサブジェクト間の因果関係を表すエッジとを含むことができる。依存性グラフは、対応する量の完全性を持つことができる。
より具体的には、依存性グラフの各エッジが、依存性(因果関係)イベントeに対応することができる。依存性イベントeは、<SRC,DS1,REL>のタプルとして表現でき、ここで、
Figure 0007101272000001
であり(これは情報フローを開始するプロセスエンティティである)、
Figure 0007101272000002
であり(これは、情報フローを受信するプロセス、ファイル、ソケットのエンティティである)、RELは情報フロー関係を表す。以下の表に、SRC、DST、RELを含む依存性イベントの関係を示す。
Figure 0007101272000003
具体的には、依存性イベントe:=<dropper.exe,y.y.y.y:445,IP_Write>に関して、「dropper.exe」はSRCを参照し、「y.y.y.y:445」はDSTを参照し、「IP_Write」はRELを参照する。
ブロック320で、候補アラートイベントに対する依存性経路(「経路」)が、依存性グラフから識別される。依存性グラフGの経路Pは、アラートイベントの根本原因であった一連の依存性イベントe(例えば、e1, e2,...,ei)と、依存性イベントの影響であった一連の依存性イベントe(例えば、ei+1, ei+2,...,en)とを参照すことができる。
経路は、例示的に、カテゴリに分割することができる。たとえば、経路を制御依存性(CD)経路とデータ依存性(DD)経路に分割できる。依存性イベントeのCD経路、すなわち
Figure 0007101272000004
は、制御関係イベントのみを含む一連のアラートイベントである。たとえば、
すべて
Figure 0007101272000005
であるような
Figure 0007101272000006
である。依存性イベントeのDD経路、すなわち、
Figure 0007101272000007
は、データ関係イベントのみを含む一連のアラートイベントである。たとえば、すべて
Figure 0007101272000008
であるような
Figure 0007101272000009
である。
例えば、アラートイベントeの依存性グラフGが与えられた場合、経路を識別することは、しきい値パラメータ長を有するすべての経路をサーチすることを含み得、これはユーザ定義パラメータであっても、デフォルトパラメータであってもよい。そうするために、深さ優先トラバーサルは、アラートイベントeから逆方向および順方向に実行され、統一された経路を生成するために組み合わされることができる。例えば、依存性グラフは、アラート(例えば、症状イベント)から開始する逆方向トレースクエリを使用し、アラートが直接的および間接的に依存するサブジェクトおよびオブジェクトのすべてを識別することによって、アラートコンテキストを理解するために使用することができる。順方向トレースクエリを使用して、アラートの根本原因によって引き起こされる効果を識別することができる。したがって、各統一経路は、アラートの祖先および子孫因果事象の両方を含むことができる。
ブロック330で、経路不審または異常スコアが経路の各々に割り当てられる。経路異常スコアは、依存性グラフの隣接するエッジ(イベント)に沿って伝播させることができる。経路異常スコアを割り当てることは、伝播モデルを使用してノード不審スコアを計算し、伝播することを含むことができる。伝播モデルは、セキュリティ来歴データに基づいて訓練することができる。例えば、伝播モデルは、セキュリティ来歴データ内に含まれる履歴イベントデータに少なくとも部分的に基づいて訓練され得る。一実施形態では、ランダムウォークラベル伝播方法を使用して、所与の依存性グラフのエッジに沿って不審スコアを伝播させることができる。
例えば、一実施形態では、経路異常スコアを割り当てることは、システムイベントの遷移確率に基づいて経路異常スコアを計算することを含む。例えば、N×N遷移行列Mは、依存性グラフGに対して構築することができ、ここで、Nは、G内のノードの総数である。M、Meのそれぞれの行列エントリは、次の式で計算できる。
Figure 0007101272000010
ここで、Freq(e)は、タプルのSRC DRTとRELが同じである履歴時間窓でアラートイベントeが発生した回数を表し、
Figure 0007101272000011
は、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"である場合の発生したイベントの数をカウントすることで算出できる。そして、
Figure 0007101272000012
は、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(ν)は、それぞれ、以下の式を使用して計算することができる。
Figure 0007101272000013
ここで、
Figure 0007101272000014
はνにエッジが接続されていない安定した窓の数であり、
Figure 0007101272000015
はνからエッジが接続されていない安定した窓の数であり、
Figure 0007101272000016
は窓の総数である。したがって、INスコアおよびOUTスコアは、それぞれ、ゼロから1までの範囲であり得る。
これらの方程式の背後にある直感を理解するために、νが常に、そこから出て行く新しいエッジを有するが、入っていくエッジが無い実施例を考える。このような場合、vは非常に低いINスコアを有することができ、そのOUTスコアは高くなり得る。νに入るエッジが突然存在する場合、それは異常である。νが安定した窓を有していない場合(例えば、ノードがすべての窓において常に新しいエッジを有している場合)、そのスコアは0であり、νのすべての窓が安定している場合、そのスコアは1である。例えば、窓長mが24時間に設定されている場合、νの安定性は、νが新たなエッジを有していない日数および総日数によって決定することができる。
上述したプロセスエンティティタイプとは対照的に、データエンティティの挙動は企業内のホスト毎に変化し得るので、データエンティティにはグローバルスコアを割り当てることができない。代わりに、ローカル値は、データエンティティの「低」および「高」のINスコアおよびOUTスコアに関して定義することができる。
データエンティティの一例は、ファイルエンティティである。ファイルエンティティのINスコアとOUTスコアは、ファイルエンティティタイプに基づいて割り当てることができます。たとえば、1つのファイルエンティティタイプは、一時ファイルである。一時ファイルは、依存性グラフでは一度も読み取らず、書き込まれるだけのファイルエンティティである。一時ファイルには、通常、不審スコアにあまり寄与しないので、高いINスコアおよびOUTスコアを与えることができる。別のファイルエンティティタイプは、実行可能なファイルである。実行可能なファイルは、通常、攻撃ベクトルで使用され、したがって、情報の重要な送信者および受信者であるので、低いINおよびOUTスコアを与えることができる。さらに別のファイルエンティティタイプは、既知の悪意のあるファイル拡張子である。既知の悪意のあるファイル拡張子のオンラインデータベースは、それらが非常に異常または不審であるので、INスコアとOUTスコアが低いことが分かっている悪意のあるファイル拡張子を割り当てるために使用することができる。
データエンティティの別の実施例は、ソケットエンティティである。ソケットエンティティのINスコアおよびOUTスコアは、ドメイン知識に基づいて割り当てることができる。たとえば、悪意のあるIPアドレスのオンラインデータベースを使用して、INスコアとOUTスコアを低く割り当てることができる。
遷移確率行列とINおよびOUTスコア計算が実行されると、各経路の経路異常スコアを計算することができる。例えば、経路異常スコアを計算することは、各経路の規則性スコアを計算することを含むことができる。例示的には、長さlの経路p=(e1,...,el)が与えられると、経路pの規則性スコアRS(p)は次の式で計算できる。
Figure 0007101272000017
ここで、INおよびOUTは送信側ベクトルおよび受信側ベクトルであり、Mは遷移確率行列である。用語
Figure 0007101272000018
は、
Figure 0007101272000019

Figure 0007101272000020
エンティティに情報を送るイベントeの規則性を評価する。規則性スコアが計算された後、経路不審または異常スコアAS(P)は、次のように計算される。
Figure 0007101272000021
この式によれば、経路Pが少なくとも1つの異常イベントを含む場合、経路Pには高い異常スコアが割り当てられる。
ブロック310~330の実施例として、入力としてアラートイベント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のセットの経路Pごとに、経路異常スコアASは本明細書に記載する実施形態に従って計算することができ、依存性経路およびスコアの対L<P,AS>のリストに付加される。
上述の逆方向および順方向トラバーサルは、D深度有界深さ優先探索(DFS)トラバーサルを使用して実行することができる。ここで、時間複雑度は、
Figure 0007101272000022
で表すことができ、ここで、bは、入力依存性グラフGaの分岐係数である。また、規則性スコア計算は経路毎に実行されるので、規則性スコア計算の時間複雑度は
Figure 0007101272000023
で表すことができ、ここで、P'はアラートイベントの依存性経路の合計数である。
経路不審スコアを計算するための前述のプロセスでは、より長い経路がそれらの長さのために、より短い経路よりもより高い経路不審スコアを有することができることが明らかであり得る。そのような経路長スコアの偏りを排除または低減するために、経路異常スコアを割り当てることは、異なる長さの経路のスコアが同じ分布を有することができるように、計算された経路不審スコアを正規化することをさらに含むことができる。例えば、経路長スコアの偏りを排除または低減するために、サンプリングベースのアプローチを使用して、経路不審スコアを漸進的に低減することができる減衰係数αを見つけることができる。
例えば、偽のアラート因果的イベントLeのリスト、基線長kおよび最大経路長しきい値τ1を入力とすると、減衰係数αを出力することができる。より具体的には、各アラートに対して、異なる最大長τlの経路を得ることができ、それらの経路に対して経路異常または不審スコアを計算することができ、各経路長に対する経路長と平均不審スコアのキー値ストアを含むマップを生成することができる。マップは、減衰係数αに設定することができる、基線長kからの長さが増加することにつれてスコアが増加する比率を計算するために使用することができる。例えば、依存性経路とスコアの対L<P、AS>のリストは、例えば、ブロック330で実施される処理を使用して得ることができ、リストLe内のイベントごとに、τlに基づいて、そのイベントについて、異常または不審スコアを計算することができ、各経路長についての異常スコアの平均を取得し、マップに記憶することができる。減衰係数αは、基線長kから長さが増加することにつれてスコアが増加する比率を計算することによって設定することができる。
減衰係数が計算されると、正規化された規則性スコア、すなわち
Figure 0007101272000024
は、長さlの所定の経路Pの正規化された不審スコアを取得するために、以下のように計算できる。
Figure 0007101272000025
ブロック310~330は、依存性グラフのエッジ上に異常スコアを伝播させて総異常スコアを生成する拡散プロセスを利用する。いくつかの実施形態では、拡散プロセスは、大規模頂点中心グラフ処理フレームワークを使用して並列化することができる(例えば、分散グラフ処理を可能にする)。さらに、ブロック310~330は、完全な依存性グラフを生成し、その依存性グラフ上に異常スコアを伝播する。しかしながら、いくつかの実施形態では、反復深さ優先探索を使用して依存性グラフを生成しながら、異常スコアを伝播させることができる。そのような実施形態では、異常スコアが次の反復で増加しない場合、分析を停止することができる。このようにして、潜在的に大きな依存性グラフを最初に生成する追加のステップを排除することができる。さらに、依存性グラフ圧縮技法を使用して、来歴追跡の空間オーバヘッドを低減することができ、来歴可視化技法を使用して、データ来歴分析を容易にすることができる。したがって、これらの技法は、効率的なアラートトリアージおよび調査のために良性イベントを除去せず、ブロック310~330は、これらの技法を使用して、冗長アラートイベントを除去することによって、逆方向トレースおよび順方向トレースのオーバヘッドをさらに低減することができる。
攻撃は複数のステップで実行することができるので、単一の最も異常または不審な依存性経路を返すことによって真のアラートイベントの完全な因果関係を捕捉することは不可能である。同様に、サイバーアナリストに全ての経路を含む完全な依存性グラフを返すことは、完全な依存性グラフがアラートに関係のない不審パスと良性パスの両方を含むことができるので、不正確である可能性がある。
これらの2つの極値の間のバランスをとるために、ブロック340で、依存性経路マージ動作を実行して、依存性グラフのサブグラフを得ることができる。サブグラフは、高い異常スコアを有する依存経路を含む真のアラート依存性グラフに対応する。たとえば、サブグラフには、最大でしきい値パラメータ長の経路を含めることができ、これはユーザ指定またはデフォルトとすることができる。したがって、サブグラフは、入力依存性グラフから導出された攻撃挙動を実質的に捕捉する、単純化された簡潔な依存性グラフとすることができる。
ブロック340でサブグラフを得るための単純なアプローチは、異常スコアによってランク付けされたときにトップk経路を返すことである。例えば、全ての攻撃が同じ数のステップを含むわけではないので、そのようなアプローチは、良性経路の受け入れ、または真に異常な経路の排除につながる可能性がある。その代わりに、ブロック340で実行される依存性経路マージ動作は、最適な異常または不審サブグラフを得るために、経路を一緒にマージするためにベストエフォートアプローチを使用する。より具体的には、ブロック350で実行される依存性経路マージ動作が、差が良性経路のスコアと真に異常な経路のスコアとの間の差を定量化するマージしきい値τmよりも大きくなるまで、高異常スコア経路をマージすることができる。
マージしきい値τmに適した値を計算するために、訓練フェーズを使用して、異常経路と良性経路の間の平均差を計算することができる。真の攻撃を特徴とするラベル付けされた訓練データの利用可能性は法外に高く見えるかもしれないが、システム/方法300を利用する企業環境は、それらの仕事の自然なアーチファクトとして訓練データを生成するト訓練されたサイバーアナリストを使用することができる。さらに、マージしきい値τmは、配置ごとに一度だけ計算する必要がある場合がある。
例えば、依存性経路PとスコアSの対のリスト、すなわちLPSとマージしきい値τmを、入力として得ることができる。リストLPSは、異常スコアによってソートすることができる。そして、各
Figure 0007101272000026
毎に(ここで
Figure 0007101272000027
はLPSの大きさを参照する)、LPSのi番目および(i+1)番目の依存性経路と異常スコアの組が比較される。例えば、i番目の組に対応するスコアと、(i+1)番目の組に対応するスコアとの差分は、マージしきい値τmと比較することができる。スコア間の差がしきい値未満である場合、経路はマージされる。
ブロック350では、アラートイベントのセットの各アラートイベントに対する不審または異常スコアに基づいて、アラートイベントのセットの真の警告イベントを、アラートイベントのセットの偽のアラートイベントから分離できる。例えば、ブロック350における分離は、不審または異常スコアをしきい値不審パラメータと比較することを含むことができる。しきい値不審パラメータは、真の攻撃および偽のアラートを伴う訓練データセットを使用して計算することができ、しきい値不審パラメータの値は、現在の企業構成(例えば、ホストの数およびシステム監視イベント)に依存することができる。比較に基づいてしきい値未満のサブグラフ不審スコアを有すると判定されたサブグラフは、良性アクティビティに関連する偽のアラートに対応すると見なされ、一方、比較に基づいてしきい値を超えるサブグラフ不審スコアを有すると判定されたサブグラフは、真のアラートに対応すると見なされる。
図4を参照すると、データ来歴を介して自動脅威アラートトリアージを実施するための例示的なシステム400を示すブロック/フロー図が提供される。システム400は、図2および図3を参照して上述した実施形態を実施することができる。
システム/方法は、セキュリティ来歴データ410とアラート420のセットとを受信することができるアラートトリアージシステム430を含む。例えば、セキュリティ来歴データ410は、処理装置(例えば、図1の処理装置120)から受信することができ、アラート420のセットは、異常検出システム(例えば、図1の異常検出システム130)から受信することができる。アラートトリアージシステム430は、図1のアラートトリアージシステム140と同じものとすることができる。
不審アクティビティを識別するために、アラートトリアージシステム430は、モデル学習コンポーネント432を含むことができる。コンポーネント432は、セキュリティ来歴データ410を受信することができ、セキュリティ来歴データ410に基づいて伝播モデル434を出力することができる。例えば、コンポーネント432は、セキュリティ来歴データ410内に含まれる履歴イベントデータを読み取り、履歴イベントデータに少なくとも部分的に基づいて伝播モデル434を訓練することができる。
図5を参照すると、図4のコンポーネント432を実施するための例示的なシステム500を示すブロック/フロー図が提供される。図示のように、コンポーネント432は、遷移行列学習コンポーネント510および不審スコア学習コンポーネント520を含むことができる。セキュリティ来歴データ410は、図3-4を参照して上述したように、伝播モデル434を訓練し出力するために、コンポーネント510および520によって受信される。
図4に戻って参照すると、アラートトリアージシステム430は、依存性グラフ生成器コンポーネント436をさらに含むことができる。コンポーネント436は、セキュリティ来歴データ410およびアラート420のセットを受信することができ、セキュリティ来歴データ410に基づいて、アラート420のセットの少なくとも1つのアラートに対応する少なくとも1つの依存性グラフを生成することができる。コンポーネント436の動作に関するさらなる詳細は、図3を参照して上述されている。
アラートトリアージシステム430は、不審伝播コンポーネント438をさらに含むことができる。コンポーネント438は、伝播モデル434とコンポーネント436によって生成された依存性グラフとを受信することができ、依存性グラフのエッジに沿って、依存性グラフのノードのノード不審または異常スコアをその近傍に伝播することができ、ノード異常スコアに基づいて、依存性グラフの各経路に経路不審または異常スコアを割り当てることができる。
不審伝播コンポーネント438は、トリアージされたアラート440のセットと単純化された依存性グラフ442のセットを含むデータを生成することができる。単純化された依存性グラフ442のセットは、図3を参照して上述したように、経路異常スコアに基づいて生成されたサブグラフを含むことができる。
サブグラフ不審スコアに基づいて、良性アクティビティに対応するアラート420のセットから、少なくともいくつかの偽のアラートを自動的に検出し、除去することによるトイアージされたアラート440のセット。すなわち、悪意のあるアクティビティに対応するアラート420のセットからの真のアラートは、偽のアラートから分離することができる。単純化された依存性グラフ442のセットは、攻撃挙動を実質的に捕捉する簡潔な依存性グラフのセットを含むことができる。
本明細書で説明される実施形態は任意の適切な脅威検出ツール内で(例えば、脅威検出ツールへのアドオンとして)実施することができる。すなわち、本明細書に記載される実施形態は(例えば、偽陽性/陰性検出および警報率を改善することによって)脅威検出ツールの精度を改善するために、基礎となる脅威検出ツールによって生成されたアラートに基づいて真の攻撃を検出することができる。アラート生成システムによって生成されたアラートをフィルタリングすることによって、本明細書で説明する実施形態は、単純化された依存性グラフを生成することにより脅威アラートの依存性グラフのサイズを縮小し、企業環境内の悪意のあるアクティビティを識別するための脅威検出ツールの能力を改善することができる。例えば、本明細書で説明される実施形態は、単なる相関ではなく真の因果関係を捕捉するデータ来歴を使用することによって、ファイル名およびプロセス名の変更に対して回復力がある。そのために、たとえ攻撃者が公知の良性プログラム名を用いてマルウェア攻撃を開始したとしても、プログラムの因果関係(例えば、それがどのように生成されたか、およびそれが何を誘発したか)は、その挙動を公知の良性プログラム名の通常の挙動と区別する。
本明細書に記載する実施形態は、完全にハードウェアであってもよく、完全にソフトウェアであってもよく、またはハードウェアおよびソフトウェア要素の両方を含むものであってもよい。好ましい実施形態では、本発明が、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これらに限定されないソフトウェアで実施される。
実施形態は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するプログラムコードを提供する、コンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータプログラム製品を含むことができる。コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを格納、通信、伝播、またはトランスポートする任意の装置を含むことができる。媒体は、磁気、光学、電子、電磁気、赤外線、または半導体システム(または装置またはデバイス)、または伝播媒体とすることができる。媒体は、半導体または固体メモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスクおよび光ディスクなどのコンピュータ読み取り可能な記憶媒体を含むことができる。
各コンピュータプログラムは、本明細書に記載する手順を実行するために、記憶媒体または装置がコンピュータによって読み取られるときに、コンピュータの動作を構成し制御するために、汎用または特殊目的のプログラム可能コンピュータによって読み取り可能な、機械読み取り可能な記憶媒体または装置(例えば、プログラムメモリまたは磁気ディスク)に実体的に記憶することができる。本発明のシステムはまた、コンピュータプログラムで構成された、コンピュータ読み取り可能な記憶媒体で実施されるものと考えることができ、そのように構成された記憶媒体は、コンピュータを特定の所定の方法で動作させて、本明細書に記載する機能を実行させる。
プログラムコードを記憶および/または実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的または間接的に結合された少なくとも1つのプロセッサを含んでもよい。メモリ要素は、プログラムコードの実際の実行中に採用されるローカルメモリ、バルクストレージ、および実行中にバルクストレージからコードが検索される回数を減らすために少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。入力/出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイスなどを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを介してシステムに結合され得る。
介在する専用ネットワークまたは公衆ネットワークを介して、データ処理システムを他のデータ処理システムあるいはリモートプリンタまたはストレージデバイスに結合できるようにするために、ネットワークアダプタをシステムに結合することもできる。モデム、ケーブルモデム、およびイーサネットカードは、現在使用可能なネットワークアダプタの種類の一例に過ぎない。
ここで図5を参照すると、本発明の一実施形態による、サーバまたはネットワークデバイスを表すことができる例示的なコンピュータシステム500が示されている。コンピュータシステム500は、システムバス502を介して他の構成要素に動作可能に結合された少なくとも1つのプロセッサ(CPU)505を含む。キャッシュ506、リードオンリーメモリ(ROM)508、ランダムアクセスメモリ(RAM)510、入出力アダプタ520、サウンドアダプタ530、ネットワークアダプタ590、ユーザインタフェースアダプタ550、およびディスプレイアダプタ560は、システムバス502に動作可能に結合される。
第1の記憶装置522および第2の記憶装置529は、I/Oアダプタ520によってシステムバス502に動作可能に結合される。記憶装置522および529は、ディスク記憶装置(例えば、磁気または光ディスク記憶装置)、ソリッドステート磁気装置などのいずれであってもよい。記憶装置522および529は、同じタイプの記憶装置であっても、異なるタイプの記憶装置であってもよい。
スピーカ532は、サウンドアダプタ530によってシステムバス502に動作可能に結合することができる。トランシーバ595は、ネットワークアダプタ590によってシステムバス502に動作可能に結合される。ディスプレイデバイス562は、ディスプレイアダプタ560によってシステムバス502に動作可能に結合される。
第1のユーザ入力装置552、第2のユーザ入力装置559、および第3のユーザ入力装置556は、ユーザインタフェースアダプタ550によってシステムバス502に動作可能に結合される。ユーザ入力装置552、559、および556は、センサ、キーボード、マウス、キーパッド、ジョイスティック、画像キャプチャ装置、動き検出装置、電力測定装置、マイクロフォン、前述の装置のうちの少なくとも2つの機能を組み込んだ装置などのいずれかとすることができる。もちろん、本発明の精神を維持しながら、他のタイプの入力装置を使用することもできる。ユーザ入力装置552、559、および556は、同じタイプのユーザ入力装置または異なるタイプのユーザ入力装置とすることができる。ユーザ入力装置552、559、および556は、システム500との間で情報を入出力するために使用される。
アラートトリアージ(AT)構成要素570は、システムバス502に動作可能に結合され得る。ATコンポーネント570は、上述の動作のうちの1つまたは複数を実行するように構成される。ATコンポーネント570は、スタンドアロンの特殊目的のハードウェア装置として実現することも、記憶装置に記憶されたソフトウェアとして実現することもできる。ATコンポーネント570がソフトウェア実装される実施形態では、コンピュータシステム500の別個のコンポーネントとして示されているが、ATコンポーネント570は例えば、第1の記憶装置522および/または第2の記憶装置529上に格納することができる。あるいは、ATコンポーネント570は、別個の記憶装置(図示せず)に記憶され得る。
もちろん、コンピュータシステム500は、当業者によって容易に企図されるように、他の要素(図示せず)を含むこともでき、また、特定の要素を省略することもできる。例えば、当業者によって容易に理解されるように、他の様々な入力装置および/または出力装置を、その特定の実装に応じて、コンピュータシステム500に含めることができる。例えば、様々なタイプの無線および/または有線の入力および/または出力装置を使用することができる。さらに、様々な構成の追加のプロセッサ、コントローラ、メモリなども、当業者には容易に理解されるように利用することができる。コンピュータシステム500のこれらおよび他の変形は、本明細書で提供される本発明の教示を前提として、当業者によって容易に企図される。
上記はあらゆる点で例示的かつ具体的であるが、限定的ではないと理解されるべきであり、本明細書に開示される本発明の範囲は詳細な説明からではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、説明された実施形態は、本発明の例示にすぎず、当業者は本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許証によって保護されることが請求され、望まれるものは添付の特許請求の範囲に記載されている。

Claims (11)

  1. データ来歴を介して自動脅威アラートトリアージを実施するためのコンピュータ実施方法であって、
    アラートトリアージシステムによって、アラートのセットおよびセキュリティ来歴データを受信し、前記セキュリティ来歴データは、アラートイベントおよび/または前記アラートイベントの影響につながるイベントのチェーンを再構築することによってアラートコンテキストを提供するものであり、
    アラートイベントのセットの少なくとも1つのアラートイベントに対応する前記セキュリティ来歴データから導出された、システムオブジェクトを表すノードと前記システムオブジェクトの間の因果関係を表すエッジとを含む少なくとも1つの依存性グラフを受信し、前記少なくとも1つの依存性グラフから依存性イベントのシーケンスを含む各々の経路に対応する経路異常スコアの伝播に基づいて前記少なくとも1つの依存性グラフのサブグラフを取得することを含めて、前記アラートトリアージシステムによって、前記少なくとも1つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応する前記アラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応する前記アラートイベントのセット内の真のアラートイベントを分離し、
    前記アラートトリアージシステムによって、前記分離に基づいて、トリアージされたアラートイベントのセットを自動的に生成することを含み、
    前記真のアラートイベントを前記偽のアラートイベントから分離することは、
    逆方向および順方向トレースを使用することによって、しきい値パラメータ長を有するすべての経路を探索することを含めて、前記少なくとも1つの依存性グラフから前記経路を識別し、
    前記経路異常スコアを各々のパスに割り当てることをさらに含み、
    前記経路異常スコアを割り当てることは、システムイベントの遷移確率と前記依存性グラフの前記ノードに対応するINスコアおよびOUTスコアとに基づいて経路規則性スコアを計算し、前記経路規則性スコアに基づいて前記経路異常スコアを計算することを、さらに含む、方法。
  2. 前記少なくとも1つの依存性グラフを受信することは、前記セキュリティ来歴データに基づいて前記少なくとも1つの依存性グラフを生成することをさらに含む、請求項1に記載の方法。
  3. 前記システムイベントの遷移確率は、複数のピアシステムからオペレーティングシステムイベントを収集することによってイベントの頻度を格納するイベント頻度データベースを使用することによって、イベント頻度に基づいて構築された遷移行列から取得される、請求項に記載の方法。
  4. 前記経路異常スコアを割り当てることは、経路長スコアの偏りを低減するために、減衰係数に基づいて前記経路規則性スコアを正規化することによって、前記経路異常スコアを計算することをさらに含む、請求項に記載の方法。
  5. 前記サブグラフを取得することは、経路異常スコアのペア間の差をマージしきい値と比較することを含めて、前記経路異常スコアに基づいて依存性経路マージ動作を実行することをさらに含む、請求項に記載の方法。
  6. 請求項1乃至5のいずれか一項に記載の方法の各手順をコンピュータに実行させるためのプログラム
  7. データ来歴を介して自動脅威アラートトリアージを実施するためのシステムであって、
    プログラムコードを記憶するための記憶装置と、
    記憶装置に動作可能に結合され、前記記憶装置に格納されたプログラムコードを実行して、
    アラートのセットおよびセキュリティ来歴データを受信し、前記セキュリティ来歴データは、アラートイベントおよび/または前記アラートイベントの影響につながるイベントのチェーンを再構築することによってアラートコンテキストを提供するものであり、
    アラートイベントのセットの少なくとも1つのアラートイベントに対応する前記セキュリティ来歴データから導出された、システムオブジェクトを表すノードと前記システムオブジェクトの間の因果関係を表すエッジとを含む少なくとも1つの依存性グラフを受信し、前記少なくとも1つの依存性グラフから依存性イベントのシーケンスを含む各々の経路に対応する経路異常スコアの伝播に基づいて前記少なくとも1つの依存性グラフのサブグラフを取得することによって、前記少なくとも1つのアラートイベントに割り当てられたアラート異常スコアに基づいて、良性のアクティビティに対応する前記アラートイベントのセット内の偽のアラートイベントから、悪意のあるアクティビティに対応する前記アラートイベントのセット内の真のアラートイベントを分離し、
    前記分離に基づいて、トリアージされたアラートイベントのセットを自動的に生成するように構成された、少なくとも一つのプロセッサ装置と、を含み、
    前記少なくとも一つのプロセッサ装置は、
    逆方向および順方向トレースを使用することによって、しきい値パラメータ長を有するすべての経路を探索することを含めて、前記少なくとも1つの依存性グラフから前記経路を識別し、
    システムイベントの遷移確率と前記依存性グラフの前記ノードに対応するINおよびOUTスコアとに基づいて経路規則性スコアを計算し、前記経路規則性スコアに基づいて前記経路異常スコアを計算することによって、前記経路異常スコアを各々のパスに割り当てるようにさらに構成される、システム。
  8. 前記少なくとも一つのプロセッサ装置は、前記セキュリティ来歴データに基づいて前記少なくとも1つの依存性グラフを生成することによって前記少なくとも1つの依存性グラフを受信するようにさらに構成される、請求項に記載のシステム。
  9. 前記システムイベントの遷移確率は、複数のピアシステムからオペレーティングシステムイベントを収集することによってイベントの頻度を格納するイベント頻度データベースを使用することによって、イベント頻度に基づいて構築された遷移行列から取得される、請求項に記載のシステム。
  10. 前記少なくとも一つのプロセッサ装置は、経路長スコアの偏りを低減するために、減衰係数に基づいて前記経路規則性スコアを正規化することによって前記経路異常スコアを計算することによって、前記経路異常スコアを割り当てるようにさらに構成される、請求項に記載のシステム。
  11. 前記少なくとも1つのプロセッサ装置は、経路異常スコアのペア間の差をマージしきい値と比較することによって前記経路異常スコアに基づいて依存性経路マージ動作を実行することによって、前記サブグラフを取得するようにさらに構成される、請求項に記載のシステム。
JP2020571643A 2018-07-31 2019-07-12 データ来歴を介した自動脅威アラートトリアージ Active JP7101272B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862712431P 2018-07-31 2018-07-31
US62/712,431 2018-07-31
US16/507,353 2019-07-10
US16/507,353 US11194906B2 (en) 2018-07-31 2019-07-10 Automated threat alert triage via data provenance
PCT/US2019/041514 WO2020028008A1 (en) 2018-07-31 2019-07-12 Automated threat alert triage via data provenance

Publications (2)

Publication Number Publication Date
JP2021529383A JP2021529383A (ja) 2021-10-28
JP7101272B2 true JP7101272B2 (ja) 2022-07-14

Family

ID=69228092

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020571643A Active JP7101272B2 (ja) 2018-07-31 2019-07-12 データ来歴を介した自動脅威アラートトリアージ

Country Status (3)

Country Link
US (1) US11194906B2 (ja)
JP (1) JP7101272B2 (ja)
WO (1) WO2020028008A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112448836B (zh) * 2019-09-04 2023-09-15 中兴通讯股份有限公司 故障根因确定方法、装置、服务器和计算机可读介质
US11902318B2 (en) 2019-10-10 2024-02-13 Alliance For Sustainable Energy, Llc Network visualization, intrusion detection, and network healing
US11503047B2 (en) * 2020-03-13 2022-11-15 International Business Machines Corporation Relationship-based conversion of cyber threat data into a narrative-like format
CN111581643B (zh) * 2020-05-07 2024-02-02 中国工商银行股份有限公司 渗透攻击评价方法和装置、以及电子设备和可读存储介质
US11704185B2 (en) * 2020-07-14 2023-07-18 Microsoft Technology Licensing, Llc Machine learning-based techniques for providing focus to problematic compute resources represented via a dependency graph
US11741220B2 (en) * 2020-08-14 2023-08-29 Nec Corporation Mining and integrating program-level context information into low-level system provenance graphs
US11386206B2 (en) * 2020-09-21 2022-07-12 Dell Products L.P. Alerting unusual activities in an enterprise production environment
US11893005B2 (en) * 2021-01-08 2024-02-06 Blackberry Limited Anomaly detection based on an event tree
US11663329B2 (en) 2021-03-09 2023-05-30 International Business Machines Corporation Similarity analysis for automated disposition of security alerts
US20230344860A1 (en) * 2022-04-24 2023-10-26 Microsoft Technology Licensing, Llc Organization-level ransomware incrimination

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070209074A1 (en) 2006-03-04 2007-09-06 Coffman Thayne R Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
US20120323829A1 (en) 2011-06-17 2012-12-20 Microsoft Corporation Graph-based classification based on file relationships
JP2016528656A (ja) 2013-09-10 2016-09-15 シマンテック コーポレーションSymantec Corporation イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステム及び方法
WO2016147944A1 (ja) 2015-03-18 2016-09-22 日本電信電話株式会社 マルウェア感染端末の検出装置、マルウェア感染端末の検出システム、マルウェア感染端末の検出方法およびマルウェア感染端末の検出プログラム
JP2018500640A (ja) 2014-11-05 2018-01-11 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステム
JP2018022248A (ja) 2016-08-01 2018-02-08 株式会社日立製作所 ログ分析システム、ログ分析方法及びログ分析装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8191139B2 (en) * 2003-12-18 2012-05-29 Honeywell International Inc. Intrusion detection report correlator and analyzer
US7991726B2 (en) * 2007-11-30 2011-08-02 Bank Of America Corporation Intrusion detection system alerts mechanism
US9292695B1 (en) * 2013-04-10 2016-03-22 Gabriel Bassett System and method for cyber security analysis and human behavior prediction
CN112615818B (zh) * 2015-03-24 2021-12-03 华为技术有限公司 基于sdn的ddos攻击防护方法、装置及系统
US9742788B2 (en) * 2015-04-09 2017-08-22 Accenture Global Services Limited Event correlation across heterogeneous operations
US10305917B2 (en) 2015-04-16 2019-05-28 Nec Corporation Graph-based intrusion detection using process traces
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US10873596B1 (en) * 2016-07-31 2020-12-22 Swimlane, Inc. Cybersecurity alert, assessment, and remediation engine
US10666666B1 (en) * 2017-12-08 2020-05-26 Logichub, Inc. Security intelligence automation platform using flows

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070209074A1 (en) 2006-03-04 2007-09-06 Coffman Thayne R Intelligent intrusion detection system utilizing enhanced graph-matching of network activity with context data
US20120323829A1 (en) 2011-06-17 2012-12-20 Microsoft Corporation Graph-based classification based on file relationships
JP2016528656A (ja) 2013-09-10 2016-09-15 シマンテック コーポレーションSymantec Corporation イベント相関グラフを使用してコンピューティングシステムに対する攻撃を検出するためのシステム及び方法
JP2018500640A (ja) 2014-11-05 2018-01-11 エヌイーシー ラボラトリーズ アメリカ インクNEC Laboratories America, Inc. 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステム
WO2016147944A1 (ja) 2015-03-18 2016-09-22 日本電信電話株式会社 マルウェア感染端末の検出装置、マルウェア感染端末の検出システム、マルウェア感染端末の検出方法およびマルウェア感染端末の検出プログラム
JP2018022248A (ja) 2016-08-01 2018-02-08 株式会社日立製作所 ログ分析システム、ログ分析方法及びログ分析装置

Also Published As

Publication number Publication date
WO2020028008A1 (en) 2020-02-06
JP2021529383A (ja) 2021-10-28
US11194906B2 (en) 2021-12-07
US20200042700A1 (en) 2020-02-06

Similar Documents

Publication Publication Date Title
JP7101272B2 (ja) データ来歴を介した自動脅威アラートトリアージ
EP3287927B1 (en) Non-transitory computer-readable recording medium storing cyber attack analysis support program, cyber attack analysis support method, and cyber attack analysis support device
CN108494810B (zh) 面向攻击的网络安全态势预测方法、装置及系统
US11218510B2 (en) Advanced cybersecurity threat mitigation using software supply chain analysis
US9912689B2 (en) Anonymized network data collection and network threat assessment and monitoring systems and methods
US8028061B2 (en) Methods, systems, and computer program products extracting network behavioral metrics and tracking network behavioral changes
US10728264B2 (en) Characterizing behavior anomaly analysis performance based on threat intelligence
CN109842628A (zh) 一种异常行为检测方法及装置
US11586609B2 (en) Abnormal event analysis
US10915625B2 (en) Graph model for alert interpretation in enterprise security system
US20230129144A1 (en) Malicious enterprise behavior detection tool
US20210136120A1 (en) Universal computing asset registry
US11321066B2 (en) Securing software installation through deep graph learning
CN113242267A (zh) 一种基于类脑计算的态势感知方法
US11055631B2 (en) Automated meta parameter search for invariant based anomaly detectors in log analytics
JP2021530807A (ja) コンピュータセキュリティインシデントを報告するためのシステムおよび方法
RU148692U1 (ru) Система мониторинга событий компьютерной безопасности
RU180789U1 (ru) Устройство аудита информационной безопасности в автоматизированных системах
JP6616045B2 (ja) 異種混在アラートのグラフベース結合
Naukudkar et al. Enhancing performance of security log analysis using correlation-prediction technique
CN111651753A (zh) 用户行为分析系统及方法
CN116738413B (zh) 基于溯源图的反向传播攻击调查的方法、系统及装置
US20230275908A1 (en) Thumbprinting security incidents via graph embeddings
US20230246935A1 (en) Detecting behavioral change of iot devices using novelty detection based behavior traffic modeling
Muse et al. Online Log Analysis (OLA) for Malicious User Activities

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R150 Certificate of patent or registration of utility model

Ref document number: 7101272

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350