JP6488009B2 - 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステム - Google Patents

特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステム Download PDF

Info

Publication number
JP6488009B2
JP6488009B2 JP2017524436A JP2017524436A JP6488009B2 JP 6488009 B2 JP6488009 B2 JP 6488009B2 JP 2017524436 A JP2017524436 A JP 2017524436A JP 2017524436 A JP2017524436 A JP 2017524436A JP 6488009 B2 JP6488009 B2 JP 6488009B2
Authority
JP
Japan
Prior art keywords
pattern
graph
temporal
time
computer
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
JP2017524436A
Other languages
English (en)
Other versions
JP2018500640A (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 JP2018500640A publication Critical patent/JP2018500640A/ja
Application granted granted Critical
Publication of JP6488009B2 publication Critical patent/JP6488009B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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

Landscapes

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

Description

(関連出願情報)
本出願は、参照によって本明細書に組み込まれている2014年11月5日に出願された仮出願第62/075,478号への優先権を主張する。
本発明は、一般に、経時的グラフにおける挙動クエリ構築のための方法及びシステムに関する。さらに詳しくは、本開示は、特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステムに関する。
ビジネスを管理するためにコンピュータシステムが広く展開されているので、コンピュータシステムの適切な機能を保証することは、ビジネス実行のための重要な観点である。例えば、システムが、危険に曝されているか、及び/又は、システム故障に遭遇すると、このシステムのセキュリティを保証することができなくなるか、及び/又は、このシステムに提供されたサービスが中断され得る。しかしながら、コンピュータシステムの適切な機能を維持することは、やり甲斐のある任務である。というのも、システムアドミニストレータは、これら複雑なシステムの中を限定的にしか見ることができないからである。
一般に、システムアドミニストレータにとって、システム挙動をモニタリングすることも理解することもなく、キーロガー、スパイウェア、マルウェア等のような、コンピュータシステムに対する脆弱性に対処することは困難である。システム挙動は、プログラムのようなシステムエンティティが実行されたときから、このシステムエンティティが終了するときまでに生成される情報の集合を含んでいてよい。これは一般に、パス及び/又は実行トレースと称される。(例えば、処理、ファイル、ソケット、パイプ等のような)システムエンティティが、オペレーティングシステムレベルにおいて互いにどのように作用し合うのかの実行トレースは、セキュリティ関連の挙動をモニタリングする場合に収集され得る。
しかしながら、コンピュータシステムをモニタリングすることは、典型的には、該システムエンティティ同士の経時的な相互作用のすべてを記録するアプリケーションログに記憶される大量のデータを生成する。例えば、これらログは、どの時間に、どのような種類の相互作用が、どのシステムエンティティ間で発生したのかを各々が記載する、イベントのシーケンスを含んでいる。既存の解決策は、アドミニストレータが、このアプリケーションログ間を探索することを要求する。これは、非効率的で非効果的であり得る。というのも、いくつかのアプリケーションログ(例えば、ファイルアクセスログ、ファイヤフォール、ネットワークモニタリング等)は、システム挙動に関する部分的な情報しか提供しないからである。
したがって、システム挙動のより良い理解と、潜在的なシステムリスク及び悪意のある挙動の識別とは、システムデータのダイナミクス及び異種混合によって、システムアドミニストレータにとってやり甲斐のある任務となった。
本原理の1つの実施態様では、特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法が提供される。本実施態様では、この方法は、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを含む経時的グラフを提供するために、システムデータログを生成することと、第1の経時的グラフパターンと第2の経時的グラフパターンとの間に、非反復的なグラフパターンであるパターンが存在するか否かを判定するために、第1及び第2の経時的グラフとの各々について、経時的グラフパターンを生成することと、特徴的な経時的グラフを提供するために、第1及び第2の経時的グラフパターンとの間のグラフパターンを除去することと、この特徴的な経時的グラフに基づいて、挙動クエリを生成することと、を含んでいてよい。
他の実施態様では、特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のためのシステムが提供される。本実施態様では、システムは、少なくとも、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを含む経時的グラフを提供するために、システムデータログを生成するモニタリングデバイスと、第1及び第2の経時的グラフの各々について、経時的グラフパターンを生成する経時的グラフパターン生成器と、第1の経時的グラフパターンと第2の経時的グラフパターンとの間に、非反復的なグラフパターンである経時的なグラフパターンが存在するか否かを判定するパターン判定器と、少なくとも1つの特徴的な経時的グラフを提供するために、第1及び第2の経時的グラフパターンの間のパターンを除去する、バスに結合されたパターン除去器と、この少なくとも1つの特徴的な経時的グラフに基づいて、挙動クエリを生成する、このバスに結合された挙動クエリ生成器と、含んでいてよい。
本開示のさらに他の観点では、特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法を実行するために、コンピュータ可読プログラムコードを包含したコンピュータ可読記憶媒体が提供される。本実施態様では、この方法は、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを含む経時的グラフを提供するために、システムデータログを生成することと、第1の経時的グラフパターンと第2の経時的グラフパターンとの間に、非反復的なグラフパターンであるパターンが存在するか否かを判定するために、第1及び第2の経時的グラフの各々について、経時的グラフパターンを生成することと、特徴的な経時的グラフを提供するために、第1及び第2の経時的グラフパターンの間のパターンを除去することと、この特徴的な経時的グラフに基づいて、挙動クエリを生成することと、を含んでいてよい。
これら及び他の特徴並びに利点は、添付図面に関連して理解されることとなる以下の例示的な実施態様の詳細な説明から明らかになる。
本原理は、以下の図面を参照して、以下の好適な実施態様の説明において詳細を提供する。
本原理の実施態様にしたがって、特徴的なサブトレースマイニングを使用して、経時的グラフにおける挙動クエリを構築するための典型的なシステム/方法を例示的に描写するブロック/フロー図である。 本原理の実施態様にしたがう経時的グラフの実例を示す図である。 本原理の実施態様にしたがう典型的な成長パターンを示す図である。 本原理の実施態様にしたがう典型的な成長パターンを示す図である。 本原理の実施態様にしたがう典型的な成長パターンを示す図である。 本原理の実施態様にしたがう典型的な成長パターンを示す図である。 本原理の実施態様にしたがう典型的な残余グラフを示す図である。 本原理の実施態様にしたがって、経時的グラフパターン同士の間のパターンを除去するための典型的なシステム/方法を例示的に描写するブロック/フロー図である。 本原理の実施態様にしたがって、経時的グラフパターン同士の間のパターンを除去するための典型的なシステム/方法を例示的に描写するブロック/フロー図である。 本原理にしたがって、経時的グラフパターン同士の間のシーケンスベースの表現の実例を示す図である。 本原理の実施態様にしたがって、本原理が提供されてよい典型的な処理システム/方法を示す図である。 本原理の実施態様にしたがって、特徴的なサブトレースマイニングを使用して、経時的グラフにおける挙動クエリを構築するための典型的な処理システム/方法を示す図である。
特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステムが提供される。挙動クエリを使用して潜在的なシステムリスクを識別するために、コンピュータシステムにおけるシステム挙動をモニタリングし理解する際における1つの課題は、システムデータの異種混交及び全体量である。本原理の1つの態様によれば、本明細書に開示した方法、システム、及びコンピュータプログラム製品は、セキュリティ関連挙動のグラフパターンとして、特徴的なサブトレースをマイニングし、ユーザが理解可能な意味論的な意味へマップされ、実行トレースを探索するために有効である挙動クエリを構築するために、経時的グラフへ、特徴的なサブトレースマイニングを適用する。セキュリティ関連挙動は、限定されないが、ファイル圧縮/伸張、ソースコード編集、ファイルダウンロード/アップロード、リモートログイン、及びシステムソフトウェア管理(例えば、ソフトウェアアプリケーションのインストール及び/又は更新)を含んでいてよい。それに加えて、本方法及びシステムは、類似の成長傾向を共有するグラフパターンを除去し、これによって、計算時間が著しく短縮され、データ記憶効率が高まる。なぜなら、反復的な探索が回避され、及び/又は、パターン品質を損なうことなく、冗長的な探索が除去されるからである。
コンピュータシステム企業のセキュリティを保証するために、システムアドミニストレータは、一般に、システムにおける行動がかなり制限されている週末にわたる行動のような、特定のセキュリティ挙動が生じたか否かを判定するために、システムデータログを問い合わせてよい。例示的な目的のために、行動は、システムへのリモートアクセス、いくつかのファイルの圧縮、及び/又は、ファイルのリモートサーバへの転送を含んでいてよい。一般に、このシステムアドミニストレータは、個別の3つのクエリ(例えば、リモートアクセスログイン、ファイルの圧縮、リモートサーバへの転送)を提出し、セキュリティ関連行動を発見するために、システムデータログ全体にわたる探索を実行することが要求される可能性がある。いくつかの事例では、挙動クエリと称されるセキュリティ関連挙動のための、経時的グラフとして表現されるそのようなモニタリングデータを、システムアドミニストレータが直接的にクエリすることは困難であり得る。なぜなら、経時的グラフは、いずれの高レベルの行動(例えば、リモートアクセスログイン、ファイルの圧縮、リモートサーバへの転送)へも直接的にマップされ得ないシステムデータログに記録された、多くの重要ではない低レベルのエンティティ(例えば、処理、ファイル等)を伴い複雑であるからである。そのような事例では、そのようなシステムレベル相互作用と、興味のあるセキュリティ関連挙動との間に意味論的なギャップが存在する。高レベルの行動を発見するために、システムアドミニストレータは、クエリを書き込むために、どの処理又はファイルが、この高レベルの行動に含まれており、時間的にどの順序で、この低レベルの行動がこの高レベルの行動に含まれているのかを知っていなければならない。しかしながら、そのような経時的グラフの複雑さによって、コンピュータシステムにおける異常な行動、攻撃、及び脆弱性を検査するために、システムアドミニストレータが、有用なクエリをマニュアルで作成することは、時間の浪費となる。
この問題を克服するために、本原理は、経時的グラフにおけるターゲット挙動のための最も特徴的なパターンを識別し、最も特徴的なパターンを挙動クエリとして適用することを教示する。したがって、少数のエッジのみからなり得るこれら挙動クエリは、解釈及び修正が容易であるだけでなく、ノイズに対して強い。1つの実施態様にしたがって、以下により詳細に説明するように、経時的グラフの正の集合と負の集合とが決定されてよく、最大の特徴スコアを有する経時的グラフパターンが識別されてよい。したがって、特徴的なパターンは、ターゲット挙動において頻繁に生じるべきであり、他の挙動において滅多に存在するべきではない。
同じ数字は同一又は類似の要素を表す図面のうち、まず、図1を参照すると、図1は、本原理の1つの実施態様にしたがって、特徴的なサブトレースマイニングを使用して、経時的グラフにおける挙動クエリを構築するための典型的な方法/システム100を例示するブロック/フロー図を示す。
一般に、パターンマイニングは、大きく複雑なデータ集合を、簡潔な形式へ特徴付けてよい。特徴的なグラフパターンマイニングは、データ集合同士の特徴を区別し、相違を識別するために、グラフ分類タスクへ適用され得る特性選択方法である。具体的には、特徴的なパターンマイニングは、パターンの集合と、データ集合内で生じたパターンの頻度とを識別することに関する技法である。1つの実施態様にしたがって、コンピュータシステムにおけるセキュリティ関連挙動に関連するパターンを識別するために、経時的グラフにおける特徴的なパターンマイニングが実行されてもよい。
ブロック102では、方法100は、システムデータをモニタリングすること(例えば、コンピュータシステムにおける挙動トレースの実行)及びシステムデータログを生成することを含んでいてよい。生のシステム挙動、ターゲット挙動、及び/又は、バックグランド挙動を含んでよいシステムデータログが収集されてよく、入力データとして適用されてよい。このシステムデータログは、システムエンティティがオペレーティングシステムにおいて互いにどのように作用するのかに関する情報(例えば、実行トレース及び/又は挙動トレース)を含んでいてよく、タイムスタンプを含んでいてよい。いくつかの実施態様では、処理は、任意の対応するファイル及び/又はタイムスタンプと共にモニタリングされ、及び/又は、収集されてよい。これら処理、ファイル、及び/又は、タイムスタンプは、収集されてよく、及び/又は、システムデータログを生成してよく、対応する経時的グラフを生成するために使用されてよい。
1つの実施態様では、該システムデータログは、1つのターゲット挙動のみが実行される閉じた環境において生成されてよい。例えば、このシステムデータログは、同時に起動している他の挙動(例えば、バックグランド挙動)がなく、独立して起動されるターゲット挙動を含んでいる。それに加えて、このシステムデータログは、同時に起動しているターゲット挙動がなく、独立して起動されるバックグランド挙動を含んでいてよい。
1つの実施態様では、該システムデータログは、システムエンティティであるノードと、タイムスタンプとの作用であるエッジとを用いて、このシステムデータログに対応する経時的グラフとしてモデル化及び/又は提供されてよい。実施態様では、この経時的グラフは、ブロック102に図示してあるように、少なくとも、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを含んでいてよい。したがって、ターゲット挙動のシステムデータは、高々数千のノード及び/又はエッジからなる経時的グラフを生成してよい。それに加えて、バックグランド挙動の集合のシステムデータは、ノード及び/又はエッジを備える経時的グラフを生成してよい。
経時的グラフは、オブジェクトの集合のグラフ表現であり、ノードと称されるオブジェクトのいくつかのペアが、リンクによって接続され、エッジと称される。一般に、経時的グラフGは、タプル(V、E、A、T)によって表現される。ここで、Vは、ノードの集合であり、E⊂V×V×Tは、これらのタイムスタンプによって全体的に順序付けられた指示エッジの集合であり、A:V→Σは、ラベルをノードに割り当てる関数(Σは、ノードラベルの集合)であり、Tは、可能なタイムスタンプの集合であり、エッジにおいて負ではない整数である。いくつかの実施態様では、この方法は、総合エッジ順序を備える経時的グラフを適用する。経時的グラフでは、エッジはタイムスタンプを有していてよい。したがって、エッジは、タイムスタンプによってランク付け、及び/又は、順序付けされてよい。エッジが、全順序を有しているのであれば、任意のエッジe及びeの場合、eのタイムスタンプがeのタイムスタンプよりも小さくてよいか、又は、eのタイムスタンプがeのタイムスタンプよりも大きくてよい。言い換えれば、経時的グラフが、総合エッジ順序を含んでいる場合、2つのエッジが同一のタイムスタンプを共有することはない。本原理は、多数のエッジ、ノードラベル、及びエッジタイムスタンプだけでなく、エッジラベルをも備える経時的グラフに適用されてよいことが注目されるべきである。
実施態様では、ターゲット挙動のためのシステムデータログは、正の経時的グラフの集合を含んでいてよく、バックグランド挙動のためのシステムデータログは、負の経時的グラフの集合を含んでいてよい。例えば、ブロック102では、ターゲット挙動を含むシステムデータログは、正の経時的グラフGの集合として取り扱われてよく、バックグランド挙動を含むシステムデータログは、負の経時的グラフGの集合として取り扱われてよい。通常及び/又は異常な挙動(例えば、侵入挙動)のためのシステムデータログは、正のデータセットとして使用されてよく、これは、通常及び/又は異常な挙動のためのグラフパターンクエリを生成するために適用されてよいことが注目されるべきである。
さらなる実施態様では、該経時的グラフは、経時的サブグラフを含んでいてよい。したがって、この経時的サブグラフは、ブロック102に図示してあるように、少なくとも、ターゲット挙動に対応する第1の経時的サブグラフと、バックグランド挙動の集合に対応する第2の経時的サブグラフとを含んでいてよい。例えば、いくつかの実施態様では、該システムデータログからの生の経時的グラフの全体を挙動クエリとして適用する代わりに、ターゲット挙動の足跡を取得するために、この経時的グラフの特徴的なサブグラフ(以降、「サブグラフ」と称する)を使用することが有利で効率的になる場合がある。
2つの経時的グラフ、すなわち、G=(V,E,A,T)及びG’=(V’,E’,A’,T’)が与えられると、f:V→V’及びτ:T→T’のような2つの単射関数が存在するときかつそのときに限り、経時的グラフGは、G’のサブグラフ(例えば、G⊆G’)である。これによって、ノードマッピング、エッジマッピング、及びエッジ順序が保存されるようになる。ノードマッピングは、∀u∈V、A(u)=A’(f(u))として定義してよい。ここで、Vは、経時的グラフGにおけるノードの集合であり、uは、経時的グラフGにおけるノードであり、f(u)は、uがマップするG’におけるノードであり、これによってとf(u)は、同一のノードラベルを共有できるようになる。エッジマッピングは、∀(u,v,t)∈E、(f(u),f(v),τ(t))∈E’として定義され、ここで、Eは、経時的グラフGにおけるエッジの集合であり、(u,v,t)は、タイムスタンプtを有するノードuとノードvとの間のGにおけるエッジであり、E’は、G’におけるエッジの集合であり、(f(u),f(v),τ(t))は、タイムスタンプτ(t)を有するノードf(u)とノードf(v)との間のG’におけるエッジである。したがって、(u,v,t)は、(f(u),f(v),τ(t))へマップし、経時的グラフGにおけるノードu、ノードv、及びタイムスタンプtは、各々、グラフG’におけるノードf(u)、ノードf(v)、及びタイムスタンプτ(t)へマップする。エッジ順序は、∀(u,v,t),(u,v,t)∈E,sign(t−t)=sign(τ(t)−τ(t))として定義してよく、これによって、Gにおけるタイムスタンプt及びtは、各々、G’におけるタイムスタンプτ(t)及びτ(t)へマップする。したがって、sign(t−t)=sign(τ(t)−τ(t))は、(1)tがtよりも小さいのであれば(例えば、t−tのsignが負であれば)、τ(t)は、τ(t)よりも小さく(例えば、τ(t)−τ(t)のsignが負であり)、(2)tがtよりも大きいのであれば(例えば、t−tのsignが正であれば)、τ(t)は、τ(t)よりも大きい(例えば、τ(t)−τ(t)のsignが正である)ことを意味する。経時的グラフG’は、経時的グラフGの一致であり、これは、G’=Gとして示されてよく、ここで、f及びτは、全単射関数であり、ここでは、1つの集合のすべての要素が、他の集合の1つの要素とペアにされ、他の集合のすべての要素が、ペアでない要素がないように、第1の集合の1つの要素とペアにされる。経時的サブグラフの実例が、図2に例示的に示されている。これは、以下にさらに詳細に説明する。
ブロック104では、この方法は、第1及び第2の経時的グラフパターンの間にパターンが存在するか否かを判定するために、第1及び第2の経時的グラフの各々のための経時的グラフパターンを生成することを含んでいてよい。1つの実施態様では、第1及び第2の経時的グラフパターンの間のパターンは、非反復的なグラフパターンである。これは以下にさらに詳細に説明する。経時的グラフパターンg=(V,E,A,T)は、エッジ同士のタイムスタンプのすべてが、∀t∈T,1≦t≦|E|となるように、1と、この経時的グラフにおけるエッジの総数との間にある経時的グラフパターンである。一般的な経時的グラフとは異なり、タイムスタンプが任意の負ではない整数であり得る場合、経時的グラフパターンにおけるタイムスタンプが(例えば、1から|E|へ)揃えられ、総合エッジ順序のみが維持される。
実施態様では、第1及び第2の経時的グラフの各々に関する経時的グラフパターンのような経時的グラフパターンは、T接続されたグラフパターンであってよい。経時的グラフは,この経時的グラフ同士の接続のタイプを区別することによって,T接続された経時的グラフと、T接続されていない経時的グラフとの間で区別してよい。経時的グラフG=(V,E,A,T)は、∀(u,v,t)∈Eであれば、T接続として定義される。ここで、Gは、経時的グラフであり、Vは、Gにおけるノードの集合であり、Eは、Gにおけるエッジの集合であり、Aは、ラベルをGにおけるノードへ割り当てる関数であり、Tは、タイムスタンプをGにおけるエッジへ割り当てる関数である。したがって、経時的グラフGは、(u,v,t)であれば、T接続であり、これは、タイムスタンプtを有するノードuとノードvとの間のGにおけるエッジであり、これによって、タイムスタンプがtよりも小さいエッジが、接続されたグラフを形成するようになる。T接続された経時的グラフと、T接続されていない経時的グラフとの実例は、図2に示されている。これは以下にさらに詳細に説明する。
引き続き図1を参照すると、この方法は、ブロック104に示されているように、パターンが経時的グラフパターン同士の間で形成されているか否かを判定することを含んでいる。実施態様では、第1の経時的グラフパターンと、第2の経時的グラフパターンとの間に、第1及び第2の経時的グラフ各々に対応するパターンが存在するか否かが判定される。好適な実施態様では、このパターンは、非反復的なグラフパターンである。
1つの実施態様では、第1の経時的グラフパターンにおける各エッジが、各エッジ同士の間のノードマッピングが1対1になるように、第2の経時的グラフパターンにおける各エッジに対応する場合、パターンが判定される。例えば、第1の経時的グラフパターンg=(V,E,A,T)、第2の経時的グラフパターンg=(V,E,A,T)、|V|=|V|、及び第1の経時的グラフパターンにおけるエッジの総数が、第2の経時的グラフパターンにおけるエッジの総数に等しいと仮定すると、|E|=|E|となり、gにおけるエッジに対して、線形スキャンが実施されてよい。第1の経時的グラフパターンにおける各エッジ(u,v,t)∈Eについて、エッジは、エッジ(u,v,t)∈Eのように、第2の経時的グラフパターンに配置される。そのようなエッジが存在するのであれば、uからuへのマッピングと、vからvへのマッピングとは、そのようなマッピングが1対1であることを保証することが確認される。両マッピングが1対1であれば、(u,v,t)は、(u,v,t)∈Eに一致する。したがって、gにおけるすべてのエッジが、gにおける一致を発見すると、第1の経時的グラフパターンと第2の経時的グラフパターンとの間のパターンが存在する(例えば、g)。例えば、f:V→V及びτ:T→Tのように、2つの全単射関数が発見されると、該線形スキャンは、gとgとの間のエッジタイムスタンプを一致させる一意の方式、及び|E|=|E|に従い、τが発見され全単射である。したがって、|E|=|E|であり、g及びgにおけるすべてのノードがマップされるので、本原理は、ノードマッピングfが1対1であり、さらに、fのフルマッピングが生成されることを保証する。
1つの実施態様では、少なくとも2つの経時的グラフパターンが、線形時間的に同一であるか否かが判定される。パターン成長は、非経時的グラフと比較して、経時的グラフにおいてより効率的であることが注目されるべきである。例えば、経時的グラフの計算利点は、以下の特性から生じる。g及びgが、経時的グラフパターンであると仮定すると、gであれば、これらグラフパターン同士の間におけるfとτのマッピングは一意のものである。これは本明細書では定理1と称する。g=(V,E,A,T)及びg=(V,E,A,T)と仮定し得る。g及びgは、経時的グラフパターンであるので、我々は、∀(u,v,t)∈E、1≦t≦|E|、及び∀(u,v,t)∈E、1≦t≦|E|を有する。g及び|E|=|E|であるので、総合エッジ順序を維持するために、t=tである場合にのみ、(u,v,t)∈Eは、(u,v,t)∈Eに一致する。したがって、τ:T→Tになるように、τの一意性が証明される。τは一意であるので、gとgとの間のエッジマッピングは一意である。したがって、ノードマッピングfもまた、f:V→Vになるように一意である。
それに加えて、非経時的グラフのためにパターン成長を実行することは高くつく。非経時的パターンを特定の大きさのパターンへ成長させるために、異なる方式の組合せが、適用されてよい。しかしながら、繰り返し計算を回避するために、1つのパターンが新たなパターンであるか、又は既に発見されたパターンであるかを確認するための追加の計算が必要とされる。したがって、これは、グラフ同型写像が必然的に含まれるので、結果的に、計算費用が高くなる。オーバヘッドを低減するために、洗練されたパターン成長アルゴリズムと共に様々な正統的なラベリング技術が提案されたが、グラフ同型写像における固有の複雑さによって、費用は未だに非常に高い。非経時的グラフをマイニングすることとは異なり、本原理は、洗練された正統的なラベリング又は複雑なパターン成長アルゴリズムを使用することなく、繰り返されるパターン探索を回避する。
1つの実施態様では、該パターンは、連続的な成長パターンを含んでいてよい。例えば、経時的グラフパターン同士の間のパターンが、パターン空間における探索をガイドし、空パターンで始まり、空パターンを1エッジパターンへ成長させ、1エッジパターンのブランチにおける可能なすべてのパターンを探索する深さ優先探索を実行する場合、連続的なグラフパターンが存在する。1つのブランチが完全に探索された場合、他の1エッジパターンによって開始された追加のブランチが探索されてよい。有利なことに、本原理は、反復がないだけでなく、接続されたすべての可能な経時的グラフパターンを提供する効率的なパターン成長を可能とする。それに加えて、連続的な成長パターンは、接続された経時的グラフパターンが、反復なしで、別の接続された経時的グラフパターンを生成することを保証する。実施態様では、エッジ集合Eの接続された経時的グラフパターンgと、エッジe’=(u’,v’,t’)とが与えられると、エッジe’が、gと、別の接続された経時的グラフパターンへ追加された場合、パターンは、連続的な成長パターンであり、t’=|E|+1という結果になる。連続的な成長パターンの実例は、図3に例示的に示されている。これは以下にさらに詳細に説明する。さらなる実施態様では、この連続的な成長パターンは、前方成長パターン、後方成長パターン、又は内部成長パターンのうちの少なくとも1つを含んでいてよい。これは、以下にさらに詳細に説明する。
引き続き図1を参照すると、該経時的グラフパターン同士の間のパターンが判定された後、この方法は、ブロック106に図示してあるように、少なくとも1つの特徴的な経時的グラフを提供するために、判定されたパターンを除去することを含む。1つの実施態様では、これらパターンは、最大頻度及び/又は最大の特徴的なスコアを有するサブ関係のみを選択するように除去される。任意の経時的グラフパターンgの場合、その特徴的なスコアとしてgのための真値を返す判別関数Fによってその特徴的なスコアが評価されてよい。可能なすべてのパターンのうち、最も大きい特徴的なスコアを有するパターンが、最大特徴スコアを有する。さらなる実施態様では、除去することは、サブグラフ除去及び/又はスーパグラフ除去を含む経時的サブ関係を除去することを含む。これは以下により詳細に説明する。
いくつかの実施態様では、経時的グラフGの集合及び経時的グラフパターンgが与えられると、Gに関する経時的グラフパターンgの頻度は、
Figure 0006488009

として定義してよい。本原理にしたがって、正の経時的グラフGの集合、及び負の経時的グラフGの集合は、最大特徴スコアF(freq(G,g),freq(G,g))を持つ接続された経時的グラフパターンgを発見するために生成されてよい。ここで、F(x,y)は、部分的な反単調性を持つ特徴的なスコア関数であり、これによって、(1)xが固定され、yがより小さい場合、F(x,y)はより大きくなり、(2)yが固定され、xがより大きい場合、F(x,y)はより大きくなる。F(x,y)は、2つの変数x及びyを有する判別関数であり、ここで、xはfreq(G,g)(例えば、正のグラフ集合Gにおける経時的グラフパターンgの頻度)であり、yはfreq(G,g)(例えば、負のグラフ集合Gにおけるパターンgの頻度)である。F(x,y)は、例えば、Gテスト、情報利得等のようなスコア関数を含んでいてよいことが注目されるべきである。好適な実施態様では、部分的な反単調性を満足し、クエリ形成タスクに最も良く適合する特徴的なスコア関数が選択されてよい。経時的グラフパターンgの特徴的なスコアは、F(g)として示されることもまた注目されるべきである。
1つの実施態様では、該システムデータログにおける最も特徴的な経時的グラフパターンを判定するために、正の経時的グラフGの集合と、負の経時的グラフGの集合とが適用されてよい。さらなる実施態様では、この特徴的な経時的グラフパターンが判定されると、挙動探索の目的を最も良く実現するパターンを識別するために、ノードラベルにおける意味論的/セキュリティ示唆、モニタリングデータ間のノードラベル人気を含むドメイン知識によって、この特徴的な経時的グラフパターンがランク付けされてよい。
探索アルゴリズムは、パターンの特徴スコアの上限の検討のような除去条件を含んでいてよい。経時的グラフパターンgが与えられると、gの上限は、gのスーパグラフによって達成され得る最大の可能な特徴スコアを示す。G及びGを、各々正のグラフ集合及び負のグラフ集合とすると、上限は、F(freq(G,g’),freq(G,g’))≦F(freq(G,g),0)となってよい。なぜなら、∀g⊆g’、freq(G,g’)≦freq(G,g)及びfreq(G,g’)≧0であるからである。上限は理論的に厳密であるが、実際に、除去するためには非効率的であり得る。
実施態様では、該経時的グラフパターン同士の間のパターンを除去することは、各経時的グラフパターンのための残余グラフの集合を判定することを含んでいてよい。例えば、G’が、Gのサブグラフであれば、タイムスタンプが、G’における最も大きなエッジタイムスタンプ未満であるGにおけるエッジは、残余グラフを形成するために除去されてよい。経時的グラフG=(V,E,A,T)及びそのサブグラフG’=(V’,E’,A’,T’)が与えられると、R(G,G’)=(V,E,A,T)は、G’に関するG’の残余グラフであり、(1)E⊂Eは、∀(u,v,t)∈E、(u,v,t)∈E’、t>tを満足し、(2)Vは、Eにおけるエッジに関連付けられたノードの集合である。残余グラフR(G,G’)のサイズは、|R(G,G’)|=|E|(例えば、R(G,G’)におけるエッジの数)として定義してよい。したがって、残余グラフのR(G,G’)残余ノードラベル集合は、L(G,G’)={A(u)|∀u∈V}として定義してよい。経時的グラフパターンg、経時的グラフG、経時的サブグラフG’、残余グラフR(G,G’)、及び残余ノードラベル集合L(G,G’)={A(u)|∀u∈V}の実例は、図5に例示的に示されている。これは以下にさらに詳細に説明する。
したがって、M(G,g)は、経時的グラフパターンgに一致するGにおけるすべてのサブグラフを含む集合を表現してよい。G及びgが与えられると、正の残余グラフ集合R(G,g)は、
Figure 0006488009

として定義してよい。R(G,g)が与えられると、その残余ノードラベル集合L(G,g)は、
Figure 0006488009

として定義してよい。同様に、負の残余グラフ集合R(G,g)とその残余ノードラベル集合L(G,g)を定義してよい。したがって、経時的グラフ集合Gと2つの経時的グラフパターンgが与えられると、R(G,g)=R(G,g)であれば、gとgとの間のノードマッピングは一意である。
1つの実施態様では、ブロック106において該経時的グラフパターンを除去することは、サブグラフ除去を含んでいてよい。経時的グラフパターンgの場合、gのブランチは、gから成長したパターンの空間を称するために適用されてよく、Fは、発見された最も大きな特徴スコアを意味することに注目すべきである。サブグラフ除去の際には、g及びgが、経時的グラフパターンを示し、gは、gよりも前に発見される。gがgの経時的サブグラフであり、g及びgが、同一の正の残余グラフ集合を共有し、gにおけるいずれのノードにも一致するはずのないgにおけるノードのために、それらのラベルが、gの残余ノードラベル集合において決して現れないのであれば、gにおけるサブグラフ除去が実行されてよい。発見されたパターンg=(V,E,A,T)と、ノード集合Vのパターンgとが与えられると、(1)g、(2)R(G,g)=R(G,g)、及び(3)
Figure 0006488009

であり、ここで、φは、空集合であり、
Figure 0006488009

であり、V’⊆Vが、Vにおけるノードへマップするノードの集合の場合、gのブランチにおけるパターンのための最も大きな特徴スコアがFよりも小さいのであれば、gのブランチにおける探索が除去されてよい。サブグラフ除去は、図6に例示的に示されている。これは以下により詳細に説明する。
したがって、サブグラフ除去は、最も特徴的なパターンのいずれをも見逃すことなく、パターン空間を除去する。これは定理4と称してよい。この定理を証明するために、g及びgは、経時的グラフパターンであり、ここで、gは、gの前に発見され、g及びgは、サブグラフ除去における条件を満足していると仮定する。サブグラフ除去における条件が満足されるので、以下の事実、すなわち、(1)freq(G,g)=freq(G,g)、(2)gのブランチにおけるパターン成長は、gにおけるいずれのノードへも
Figure 0006488009

としてマップすることができないノードに決して触れないことが導出され得る。特徴スコアがF以上であり、sは、gをg’へ成長させる連続的な成長のシーケンスである、パターンg’が存在していると仮定する。g’ブランチにおけるパターン成長は、gにおけるいずれのノードへもマップすることができないノードに触れるので、sはその後、gをg’へ成長させる連続的な成長の有効なシーケンスを(あるタイムスタンプシフトと共に)示す。
freq(G,g)=freq(G,g)及びR(G,g)=R(G,g)によって、freq(G,g’)=freq(G,g’)であると推論してよい。したがって、g’⊆’及びfreq(G,g’)≧freq(G,g’)であり、F(g’)≦F(g’)であると推論してよい。これは、g’が、gのブランチにおけるパターンのいずれもが、最も特徴的なものになることはないという条件と矛盾する最も特徴的なパターンのうちの1つであることを意味する。したがって、サブグラフ除去における条件が満足され、gのブランチにおけるパターンのいずれもが、最も特徴的なものではないのであれば、gのブランチにおけるパターンのいずれもが、最も特徴的なものになることはない。したがって、我々は、gのブランチにおけるいずれのパターンもF未満の特徴スコアを有し、ブランチが安全に除去され得ることを主張し得る。
1つの実施態様では、ブロック106において該経時的グラフパターンを除去することは、スーパグラフ除去を含んでいてよい。スーパグラフ除去では、g及びgが、経時的グラフパターンを示し、gは、gの前に発見される。gがgの経時的サブグラフであり、g及びgが、同一の正の残余グラフ集合を共有し、g及びgが、同じ数のノードを有するのであれば、gにおけるスーパグラフ除去が実行されてよい。gがgの前に発見され、gがgから成長しない2つのパターンg及びgが与えられると、(1)g、(2)R(G,g)=R(G,g)、(3)R(G,g)=R(G,g)、及び(4)g及びgが同じ数のノードを有している場合、gのブランチのための最も大きな特徴スコアが、Fよりも小さいのであれば、gのブランチにおける探索は、安全に除去され得る。スーパグラフ除去は、図7に例示的に示されている。これは以下により詳細に説明する。
したがって、スーパグラフ除去は、最も特徴的なパターンを見逃すことなく、パターン空間を除去する。これは命題2と称してよい。定理4及び命題2は、以下の法則、すなわち、サブグラフ除去及びスーパグラフ除去を実行することは、最も特徴的なパターンが未だに維持されることを保証するに至らせるようにしてもよい。
この法則は、経時的グラフ空間において除去が実施されてよいという一般的なケースを識別する。しかしながら、いくつかの実施態様では、これら除去機会を発見するためのオーバヘッドが小さい場合、サブグラフ除去及び/又はスーパグラフ除去のいずれかを実施することが有利であってよい。サブグラフ除去及びスーパグラフ除去の主要なオーバヘッドは、2つのソース、すなわち、(1)経時的サブグラフテスト(例えば、g)、及び(2)残余グラフ集合等価テスト(例えば、R(G,g)=R(G,g))に由来してよい。したがって、方法200はさらに、このオーバヘッドを最小化することを含んでいてよい。
引き続き図1を参照すると、ブロック106において、この方法100は、ブロック107に図示してあるように、サブグラフテストからのオーバヘッドを最小化することと、ブロック108に図示してあるように、残余グラフ集合等価テストからのオーバヘッドを最小化することとを含んでいてよい。いくつかの実施態様では、除去することが、サブグラフ除去及び/又はスーパグラフ除去の少なくとも一方である場合、この方法は、ブロック107及び108のいずれか一方又は両方を含んでいてよい。
ブロック107では、この方法100は、サブグラフテストからのオーバヘッドを最小化することを含んでいてよい。実施態様では、サブグラフテストからのオーバヘッドを最小化することは、符号化システムを使用してシーケンスによって経時的グラフを表現することと、シーケンステストに基づいて、軽いアルゴリズムを適用することとを含み得る。2つの経時的グラフg及びg’が与えられると、それは、g⊆g’を決定するためのNP完全である。エッジが、経時的グラフにおいて完全に順序付けられているので、経時的グラフが、シーケンスへ符号化されてよい。それに加えて、経時的グラフがシーケンスとして表現された後、効率的なサブシーケンステストを使用する、より高速な経時的サブグラフテストが適用されてよい。
経時的グラフパターンgが2つのシーケンス、すなわち、ノードシーケンスとエッジシーケンスとによって表現されてよい。ノードシーケンス、nodeseq(g)は、ラベル付けされたノードのシーケンスである。gがそのエッジ時間順序によって横送りされていると仮定すると、nodeseq(g)におけるノードは、最初にアクセスした時間によって順序付けされてよい。gの任意のノードは、nodeseq(g)において一度だけ出現してよい。エッジシーケンス、edgeseq(g)は、gにおけるエッジのシーケンスであり、ここで、エッジは、それらのタイムスタンプによって順序付けられる。シーケンスは、s=(a,a,・・・,a)及びs=(b,b,・・・,b)が2つのシーケンスになるように、sとして定義してよく、ここで、aは、シーケンスsにおける要素であり(aは、シーケンスsにおけるi番目の要素であり)、bは、シーケンスsにおける要素であり(bは、シーケンスsにおけるi番目の要素であり)、nは、シーケンスsにおける要素の総数であり、mは、シーケンスsにおける要素の総数である。∀1≦j≦n、
Figure 0006488009

になるように、1≦i<i・・・<i≦mが存在するのであれば、sは、sのサブシーケンスであり、s⊆sのように示される。i、i、・・・、iが、1とmとの間の範囲におけるn個の整数変数であり、jが、1とnとの間の範囲における整数変数であることに注目すべきである。例えば、n=5、m=7であれば、sは、s=(a,a,a,a,a)のような5つの要素のシーケンスであり、sは、s=(b,b,b,b,b,b,b)のような7つの要素のシーケンスである。このケースでは、i、i、・・・、iは、1以上、かつ7以下の5つの整数変数である。マッピングの観点において、jは、iへマップする(例えば、aがbi2をマップするように、j=2は、iへマップする)。シーケンスベースの経時的グラフ表現と経時的サブグラフテストは、図8に例示的に図示してある。これは以下にさらに詳細に説明する。
実施態様では、サブグラフテストからのオーバヘッドを最小化することは、経時的グラフの強化されたノードシーケンスenhseq(g)を提供することを含む。なぜなら、2つの経時的グラフg及びgが与えられると、gであれば、
Figure 0006488009

であるからである。したがって、gが経時的グラフであれば、enhseq(g)は、gにおいてラベル付けされたノードのシーケンスである。経時的グラフパターンgがそのエッジ時間順序によって横送りされていると仮定すると、enhseq(g)は、以下のように、各エッジ(u、v、t)を処理することによって構築されてよい。(1)uが、現在のenhseq(g)において最後に追加されたノードであるか、又は、uが、最後に処理されたエッジのソースノードであれば、uは、スキップされてもよく、そうではない場合には、uは、enhseq(g)へ追加される。(2)ノードvは、常にenhseq(g)へ追加されてよい。gにおけるノードは、enhseq(g)において複数回数現れてよいことが注目されるべきである。
したがって、2つの経時的グラフは、nodeseq(g)⊆edgeseq(g)であり、ここで、根本的な一致が、gにおけるノードからgにおけるノードへの単射ノードマッピングfを形成し、また、f(edgeseq(g))⊆edgeseq(g)であり、ここで、f(edgeseq(g))は、gにおけるノードが、ノードマッピングfによってgにおけるノードによって交換される場合におけるエッジシーケンスであるときかつそのときに限り、gとなる。これは、定理5と称してよい。
ブロック108では、方法100は、残余グラフ集合等価試験からのオーバヘッドを最小化することを含んでいてよい。実施態様では、g及びgは、経時的グラフパターンを表現する。したがって、G’及びG’は、経時的グラフGにおける経時的グラフパターンg及びg各々の一致であってよい。経時的グラフにおけるエッジは、総合順序を有しているので、以下の結果が導出されてよい。すなわち、G’及びG’のための残余グラフのサイズが同じ、例えば、|R(G,G’)|=|R(G,G’)|であるときかつそのときに限り、残余グラフR(G,G’)は、残余グラフR(G,G’)と等価になる。したがって、gである経時的グラフパターンg及びgと、グラフGの集合とが与えられると、I(G,g)=I(G,g)であるときかつそのときに限り、残余グラフR(G,g)=R(G,g)となる。ここで、
Figure 0006488009

である。これは、定理6と称してよい。R(G,G’)は、残余グラフであり、|R(G,G’)|は、R(G,G’)のサイズであり、整数である。したがって、I(G,g)は、2つの変数G及びgを有する関数であり、グラフ集合R(G,g)におけるすべての残余グラフのサイズを総和することによって取得される整数を返す。したがって、オーバヘッドは、グラフにおける経時的情報を活用することによって等価残余グラフ集合をテストすることで最小化されてよい。
有利なことに、類似及び/又は同一の成長傾向を共有する経時的グラフパターンの冗長な探索を除去することは、経時的サブグラフテストのオーバヘッドと、除去機会を識別するために使用される残余グラフ集合等価テストとを最小化する。それに加えて、経時的グラフパターンの冗長な探索を除去することは、マイニング処理中、計算時間を増加させ、オーバヘッドを最小化する。なぜなら、根本的なパターン空間は、大きくなり、一般的なナイーブ探索アルゴリズムは、縮尺できないからである。
ブロック110では、該特徴的な経時的グラフに基づく挙動クエリが生成されてよい。実施態様では、最高の特徴スコアを有するパターンが、発生している異常及び/又は疑わしい行動(例えば、土曜日の夜に、極めて多数、ターゲット挙動が発生している)が存在しているか否かを判定するために、システムデータログのリポジトリから、ターゲット挙動行動を探索するためのクエリとして選択されてよい。例えば、挙動クエリを構築するために、この特徴的な経時的グラフが使用されてよく、続いて、ターゲット挙動が実行されたか否かを判定するために、システムデータログのような、コンピュータシステムに問い合わせるように適用されてよい。例えば、この特徴的な経時的グラフは、収集されたシステムモニタリングデータにおけるターゲット挙動の存在を探索するためのグラフクエリ(例えば、挙動クエリ)を形成するために使用されてよい。このシステムにおけるターゲット挙動の存在を探索するために、このクエリに一致する大きな経時的グラフのサブグラフを発見するように、このシステムデータの大きな経時的グラフにわたるパターン探索を実行するのに、グラフクエリが使用されてよい。各一致は、このシステムにおけるターゲット挙動の1つの可能な存在を示す可能性がある。実施態様では、本原理は、多数の挙動を伴う挙動クエリへ適用されてよい。例えば、各ターゲット挙動について、その特徴的なパターンは、各々の挙動クエリを生成するために決定され、各々の挙動クエリは、その存在(例えば、一致)を求めてこのシステムモニタリングデータを探索するために適用される。別の実施態様では、これら一致は、多数の挙動に関連付けられた挙動クエリを形成するために組み合わされてよい。有利なことに、本原理は、計算効率を高め、そのような情報の記憶を減少させる。なぜなら、繰り返される探索及び/又はパターンを除去するからである。
方法100は、高い精度(例えば、97%)及び高いリコール(例えば、91%)を有する挙動クエリを用いた、挙動分析のための効果的な方法を提供する。これらは、精度及びリコールが各々83%及び91%である非経時的グラフパターンよりも優れている。精度及びリコールは、一般に、本原理の正確さを評価するための判断基準として使用される。ターゲット挙動及びその挙動クエリが与えられると、この挙動クエリの一致は、識別された事例と呼ばれる。一致が生じた時間間隔が、真の挙動事例のうちの1つが実行中であった時間間隔に完全に含まれているのであれば、識別された事例は正しい。この挙動クエリが、この挙動事例に関して少なくとも1つの正しい識別された事例を返し得るのであれば、挙動事例が発見される。したがって、精度は、識別された事例の合計数によって除された正しく識別された事例の数として定義し、リコールは、挙動事例の数によって除された発見事例の数として定義する。これらの利点に加えて、本明細書において提供された本原理は、より効率的であり、経時的グラフにおいて、以前の方法よりも高速なパターンマイニングを可能とし、典型的には、以前に適用された方法よりも約32倍速いパターンマイニングを提供する。
非経時的グラフを取り扱う特徴的なグラフパターンマイニングは、正確に同じ時間間隔内での同一の行動の発生を必要とすることを注目すべきである。それに加えて、経時的グラフを取り扱うために、特徴的な固定グラフパターンをマイニングする既存のワークを拡張することは困難である。なぜなら、それらの正統なラベリング技術は、同じノードのペア同士の間で多数のエッジを有し、経時的エッジ順序を含み得る経時的グラフを取り扱うことができないからである。さらに、非経時的グラフを取り扱う特徴的なグラフパターンマイニングは、マイニング処理においてタイムスタンプをどのように取り扱うのかを論述していない。タイムスタンプが無視されると、多数のエッジが、単一のエッジへ崩壊されなければならず、この特徴的なマイニングの最終結果は、多数のエッジを有するパターンを除外するので、部分的な結果になる。それに加えて、多数の経時的パターンが、同じ非経時的パターンを共有し得るので、非経時的パターンにおける冗長性は、潜在的な拡張性の問題をもたらし得、特徴的な非経時的パターンは、非特徴的な経時的パターンという結果になり得る。
次に図2を参照すると、いくつかの経時的グラフが、例示的な目的のために示されている。実施態様では、総合エッジ順序を有する経時的グラフを使用することが好適である。図2に図示してあるように、経時的グラフGは、本発明において考慮されるような多数のエッジを例示する。本原理に従って、エッジラベルを有する経時的グラフに加えて、ノードラベル(例えば、A、B、C、D、E等)及び/又はエッジタイムスタンプ(例えば、1、2、3、4、5、6、7等)を含む経時的グラフが考慮される。1つの実施態様では、該経時的グラフパターンにおけるタイムスタンプが(例えば、1から|E|へ)揃えられてよく、いくつかの実施態様では、タイムスタンプが任意の負ではない整数であり得る一般的な経時的グラフとは異なり、総合エッジ順序のみが維持される。
図2では、経時的サブグラフの例が、例示的に描写してあり、ここでGは、Gの経時的サブグラフ、すなわちGである。特に、(例えば、4、5、及び6のような)タイムスタンプのエッジによって形成されてよいGにおける経時的サブグラフは、Gの一致である。引き続き図2を参照すると、経時的グラフG及びGは、T接続された経時的グラフである一方、経時的グラフGは、T接続されていない(例えば、非T接続)。なぜなら、5(例えば、5)よりも小さなタイムスタンプを有するエッジによって形成されたグラフは接続されていないからである。好適な実施態様では、T接続された経時的グラフパターン(以降、「接続された経時的グラフ」と称する)とともに特徴的なマイニングが適用される。パターン成長において、T接続されたパターンは、接続されたままである一方、T接続されていないパターンは、成長処理中に切断されてよく、パターン探索空間の著しい成長という結果となる。それに加えて、T接続されていない任意の経時的グラフは、T接続された経時的グラフの集合によって形成されてよい。実施態様では、単一のT接続されたパターン、又は、T接続されていないパターンを含むT接続されたパターンの集合は、挙動クエリを形成するために使用されてよい。
次に図3を参照すると、経時的グラフパターンのパターンのための連続的な成長パターン300の例が、典型的な目的のために例示されている。図3において、連続的な成長パターン300は、経時的グラフパターンgが、連続的な成長による経時的グラフパターンgへ成長した場合に判定されてよい。実施態様では、エッジ集合E及びエッジe’=(u’,v’,t’)の接続された経時的グラフパターンgが与えられると、エッジe’が、g及び別の接続された経時的グラフパターンへ追加され、t’=|E|+1という結果になる場合に、連続的な成長が生じる。
例えば、g及びgが、g⊆gを有する接続された経時的グラフパターンであり、gをgへ成長させる一意な手法が存在する場合、パターンは、連続的な成長パターンである。あるいは、パターンは、連続的な成長パターンではなく、gをgへ成長させる手法はない。これは、本明細書において定理3と称してよい。g及びgのエッジ集合が、各々E及びEであれば、m=|E|−|E|個のステップの連続的な成長が、gを別のパターンg’へ成長させるために実施されてよい。g’=が存在するのであれば、gをgへ成長させることが可能となり得る。そうではない場合、gをgへ成長させる手法はない。gをgへ成長させてよいのであれば、m個のステップの連続的な成長は一意である。
例えば、(1)s’=<e’,e’,・・・,e’>が、g’=でgをg’へ成長させる連続的な成長のシーケンスであり、(2)s’’=<e’’,e’’,・・・,e’’>が、g’’=でgをg’’へ成長させる別の連続的な成長のシーケンスであり、(3)∃(u’,v’,t)∈s’は、(u’’,v’’,t)∈s’’と一致しないので、s’はs’’から区別できると仮定する。なぜなら、g’=及びg’’=、g’=’’は、全単射マッピング関数によって推論してよいからである。連続的な成長パターンの定義によって、定理2からの線形スキャンは、g’がg’’と一致できないと判断してよい。なぜなら、同じタイムスタンプを共有するs’’におけるエッジと一致できないs’からの少なくとも1つのエッジが存在するからである。これは、g’=’’と矛盾する。したがって、s’は、s’’と同一であり、m個のステップの連続的な成長は一意である。
次に図4A−図4Cを参照すると、連続的な成長パターンは、前方成長パターン、後方成長パターン、又は内部成長パターンのうちの少なくとも1つを含んでいてよい。これは以下にさらに詳細に説明する。図4Aは、前方成長パターンの実例である。図4Bは、後方成長パターンの実例である。図4Cは、内部成長パターンの実例である。有利なことに、これらの前方成長パターン、後方成長パターン、及び/又は、内部成長パターンは、発見されるパターンの完全性を達成し、品質を保証するために、この非反復的なグラフパターンが、パターン空間全体をカバーすることを可能にする。
例えば、gを、ノード集合Vを有する接続された経時的グラフパターンであるとし、経時的グラフパターンgは、以下のように、連続的な成長によって成長させてよい。この非反復的なグラフパターンが、図4Aに示されているように、前方成長パターン400Aを含んでいる場合、経時的グラフパターンgは、u∈V及び
Figure 0006488009

であれば、エッジ(u,v,t)によって成長させてよい。この非反復的なグラフパターンが、図4Bに図示してあるように、後方成長パターン400Bを含んでいる場合、経時的グラフパターンgは、
Figure 0006488009

及びv∈Vであれば、エッジ(u,v,t)によって成長させてよい。この非反復的なグラフパターンが、図4Cに図示してあるように、内部成長パターン400Cを含んでいる場合、経時的グラフパターンgは、u∈V及びv∈Vであれば、エッジ(u,v,t)によって成長させてよい。内部成長パターン400Cは、ノードペア同士の間の多数のエッジを可能にすることに注目すべきである。したがって、3つの成長パターン、すなわち前方400A、後方400B、及び内部400Cは、該パターン空間にわたる完全な探索を実施するためのガイダンスを提供する。
例えば、Aが、前方、後方、及び内部成長パターンでの連続的な成長にしたがう短索アルゴリズムを表すのであれば、アルゴリズムAは、(1)パターン空間にわたる完全な探索と、(2)どのパターンも、複数回探索されないことを保証する。これは、本明細書において法則1と称してよい。経時的グラフパターンgが、接続された経時的グラフパターンであると仮定すると、定理3は、パターンが、複数回探索されなくてよいことを保証するために、連続的な成長パターンが、空パターンをgへ成長させる一意の手法を保証することを規定する。したがって、複数回gを探索する手法はない。パターン探索に関する完全性のために、mが、経時的グラフパターンにおけるエッジの数であると仮定する。この完全性が、m=kに対して成立するのであれば、この完全性は、m=k+1に対して成立する。この完全性が、m=kに対して成立するのであれば、k個のエッジの接続された経時的グラフパターンH(k)の完全な集合が決定される。さらに、
Figure 0006488009

が、k個のエッジのパターンg(k)から成長させた、k+1個のエッジの接続されたパターンであれば、これら3つの成長パターンは、成長中にパターンが接続されていることを維持するすべての可能な手法であるので、g(k+1)が、H(k)におけるパターンを成長させることによってカバーされ得ないのであれば、それは、
Figure 0006488009

、すなわち、g(k)が接続されていないことを示唆する。これは、g(k+1)が接続されている(例えば、T接続されている)という仮定と矛盾する。したがって、この完全性はまた、m=k+1に対して成立する。
次に、図5を参照すると、経時的グラフパターンg、経時的グラフG、経時的サブグラフG’、残余グラフR(G,G’)、及び残余ノードラベル集合L(G,G’)={A(u)|∀u∈V}の実例が、本原理にしたがって例示されている。図5に示されているように、経時的グラフG’は、経時的グラフGのサブグラフであり、R(G,G’)は、G’に関するGの残余グラフを表し、L(G,G’)は、残余グラフの残余ノード集合である。
次に図6を参照すると、サブグラフ除去600の実例が、本原理にしたがって例示的に図示されている。マイニング処理では、パターンgが決定されてよく、発見されたパターンgが存在してよい。これは、サブグラフ除去における条件を満足する。したがって、gのブランチにおけるパターン成長は、gをどのようにしてより大きなパターンへ成長させるかを提案する(例えば、gをg’へ成長させることは、gをg’へ成長させ得ることを示す)。gのブランチにおけるパターンのいずれも、スコアFを有していないので、gのブランチにおけるパターンは、最も特徴的なものにもなることはできず、これは、安全に除去(例えば、削除)され得る。
次に、図7を参照すると、スーパグラフ除去700の実例が、本原理にしたがって例示的に図示されている。マイニング処理では、経時的グラフパターンgが決定されてよく、別のパターンgが、gの前に発見されてよい。これは、スーパグラフ除去における条件を満足する。したがって、gのブランチにおける成長認識は、どのようにしてgをより大きなパターンへ成長させるかを提案する。gのブランチにおけるパターンのいずれもが最も特徴的なものではないので、gのブランチにおけるパターンは、同様に見込みがなく、gのブランチにおける探索が安全に除去(例えば、削除)され得ると推論してよい。
次に、図8を参照すると、シーケンスベースの表現800の実例が、本原理にしたがって例示的に図示されている。g及びgでは、ノードラベルは、文字によって表現され、同じラベルの複数のノードが、括弧内の整数によって表現されるノードIDによって区別される。nodeseqにおけるノードラベルは、サブスクリプトとしてノードIDに関連付けられる。ノードラベルが比較される場合、それらのサブスクリプトは、無視される(例えば、∀i、j、B=B)ことに注目すべきである。edgeseqにおける各エッジは、以下のフォーマット(id(u),id(v))によって表現される。ここで、id(u)は、ソースノードIDであり、id(v)は、宛先ノードIDである。
2つの経時的グラフg及びgが与えられると、gである場合、nodeseq(g)⊆nodeseq(g)及びedgeseq(g)⊆edgeseq(g)であることが期待される。しかしながら、図8に示すように、gである場合、nodeseq(g)⊆nodeseq(g)は真ではなくてよい。なぜなら、ラベルEを付されたノードの第1の訪問された時間は、g及びgにおいて整合しないからである。実施態様では、上述したように、g及びgの強化されたノードシーケンスが提供されてよい。図8に示すように、g及びgは、gを満足する2つの経時的グラフである。gのノードシーケンスは、f(edgeseq(g))⊆edgeseq(g)となるようにf(edgeseq(g))=<(1,5),(5,6),(4,6)>を取得するために、単射ノードマッピングf(1)=1、f(2)=5、f(3)=6、及びf(4)=4を伴うgの強化されたノードシーケンスのサブシーケンスである。
本明細書に記載した実施態様は、完全にハードウェアであってよいか、又は、ハードウェアと、限定されないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェア要素との両方を含んでいてよいことが理解されるべきである。
実施態様は、コンピュータ又は任意の命令実行システムによる使用、又は、コンピュータ又は任意の命令実行システムと関連する使用のためのプログラムコードを提供するコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品を含んでいてよい。コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによる使用、又は、命令実行システム、装置、又はデバイスと関連する使用のためのプログラムを記憶、通信、伝搬、又は伝送する任意の装置を含んでいてよい。この媒体は、磁気的な、光学的な、電子的な、電磁的な、赤外線の、又は半導体のシステム(又は装置又はデバイス)、又は伝搬媒体であり得る。この媒体は、半導体メモリ又はソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、リジット磁気ディスク、及び光ディスク等のようなコンピュータ可読記憶媒体を含んでいてよい。
プログラムコードを記憶及び/又は実行するのに適したデータ処理システムは、例えば、ハードウェアプロセッサのように、システムバスを介してメモリ素子へ直接的又は間接的に結合された少なくとも1つのプロセッサを含んでいてよい。このメモリ素子は、該プログラムコードの実際の実行中に適用されるローカルメモリ、バルクストレージ、及び、実行中にバルクストレージからコードが取得される回数を低減させるために少なくともいくつかのプログラムコードの経時的記憶を実現するキャッシュメモリを含み得る。入力/出力又はI/Oデバイス(限定されないが、キーボード、ディスプレイ、ポインティングデバイス等を含む)は、直接的に、又は、介在するI/Oコントローラを介してのいずれかによってシステムへ結合されてよい。
次に、図9を参照すると、本原理が適用されてよい典型的な処理システム900が、本原理の1つの実施態様にしたがって例示的に図示されている。処理システム900は、システムバス902を経由して他の構成要素へ効果的に結合された少なくとも1つのプロセッサ(「CPU」)904を含んでいる。キャッシュ906、読取専用メモリ(「ROM」)908、ランダムアクセスメモリ(「RAM」)910、入力/出力(「I/O」)アダプタ920、サウンドアダプタ930、ネットワークアダプタ940、ユーザインターフェースアダプタ950、及びディスプレイアダプタ960は、システムバス902へ効果的に結合される。
記憶デバイス922及び第2の記憶デバイス924は、I/Oアダプタ920によってシステムバス902へ効果的に結合される。記憶デバイス922、924は、ディスク記憶デバイス(例えば、磁気ディスク記憶デバイス又は光ディスク記憶デバイス)、ソリッドステート磁気デバイス等のうちのいずれかであり得る。記憶デバイス922、924は、同じタイプの記憶デバイス、又は、異なるタイプの記憶デバイスであり得る。
スピーカ932は、サウンドアダプタ930によってシステムバス902へ効果的に結合される。トランシーバ942は、ネットワークアダプタ940によってシステムバス902へ効果的に結合される。ディスプレイデバイス962は、ディスプレイアダプタ960によってシステムバス902へ効果的に結合される。
第1のユーザ入力デバイス952、第2のユーザ入力デバイス954、及び第3のユーザ入力デバイス956は、ユーザインターフェースアダプタ950によってシステムバス902へ効果的に結合される。ユーザ入力デバイス952、954、及び956は、キーボード、マウス、キーパッド、画像キャプチャデバイス、動き感知デバイス、マイクロホン、前述したデバイスのうちの少なくとも2つの機能を組み込んだデバイス等のうちのいずれかであり得る。もちろん、他のタイプの入力デバイスも使用され得る。ユーザ入力デバイス952、954、及び956は、同じタイプのユーザ入力デバイス、又は、異なるタイプのユーザ入力デバイスであり得る。ユーザ入力デバイス952、954、及び956は、情報を、システム900へ入力するため、及び、システム900から出力するために使用される。
もちろん、処理システム900は、また、当業者によって容易に考慮されるように、他の要素(図示せず)を含むだけでなく、いくつかの要素を省略してもよい。例えば、当業者によって容易に理解されるように、処理システム900の特定の実施に依存して、他の様々な入力デバイス及び/又は出力デバイスが、処理システム900に含まれ得る。例えば、様々なタイプのワイヤレス及び/又はワイヤードの入力デバイス及び/又は出力デバイスが使用され得る。さらに、様々な構成における追加のプロセッサ、コントローラ、メモリ等もまた、当業者によって容易に認識されるように利用され得る。処理システム900のこれら及び他の変形は、本明細書で提供した本原理の教示が与えられると、当業者によって容易に考慮される。
さらに、図10に関して、以下に記載するシステム1000は、本原理の各々の実施態様を実施するためのシステムであることが認識されるべきである。処理システム900の一部又はすべては、システム1000の要素のうちの1つ又は複数において実施されてよい。
さらに、処理システム900は、例えば、図1の方法100の少なくとも一部を含む、本明細書に記載した方法の少なくとも一部を実行してよいことが認識されるべきである。同様に、システム1000の一部又はすべては、図1の方法100の少なくとも一部を実行するために使用されてよい。
図10は、本原理の1つの実施態様にしたがって、特徴的なサブトレースマイニングを使用して、経時的グラフにおける挙動クエリを構築するための典型的なシステム1000を図示している。システム1000の多くの態様は、説明及び明確化のために、単数形で記載してあるが、システム1000の記載に関して述べたアイテムのうちの複数へ適用され得る。例えば、パターン除去器1010を説明しているが、複数のパターン除去器1010が本原理の教示にしたがって使用されてよい。
システム1000は、モニタリングデバイス1002、システムデータログデータベース1004、経時的グラフ生成器1006、経時的グラフパターン生成器1008、パターン判定器1010、パターン除去器1012、挙動クエリ生成器1014、及び記憶デバイス1016を含んでいてよい。
モニタリングデバイス1002は、コンピュータシステムのシステムデータをモニタリングするように構成されてよい。例えば、モニタリングデバイス1002は、このコンピュータシステムにおける挙動トレースの実行をモニタリングしてよい。それに加えて、モニタリングデバイス1002は、システムデータログを生成するように構成されてよい。このシステムデータログは、システムデータログデータベース1004に記憶されてよく、システム1000の様々な構成要素によってアクセスされてよい。上述したように、システムデータログは、生のシステム挙動、ターゲット挙動、及び/又は、バックグランド挙動を含んでいてよく、モニタリングデバイス1002によってモニタリング及び収集されてよく、入力データとして適用されてよい。それに加えて、このシステムデータログは、システムエンティティが、オペレーティングシステムにおいてどのようにして互いに作用するのかに関する情報を含んでいてよく、タイムスタンプを含んでいてよい。さらなる実施態様では、モニタリングデバイス1002は、閉じた環境においてシステムデータをモニタリングするように構成されてよく、ターゲット挙動及び/又はバックグランド挙動は、互いに独立して実行される。
経時的グラフ生成器1006は、該システムデータログに対応する経時的グラフを提供するように構成されてよい。実施態様では、経時的グラフ生成器1006が、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを提供するように構成されてよい。さらなる実施態様では、経時的グラフ生成器1006は、このシステムデータログに対応する経時的サブグラフを提供するように構成されてよい。
経時的グラフパターン生成器1008は、経時的グラフの各々のための経時的グラフパターンを生成するように構成されてよい。例えば、経時的グラフパターン生成器1008は、第1の経時的グラフのための第1の経時的グラフパターンと、第2の経時的グラフのための第2の経時的グラフパターンとを提供してよい。さらなる実施態様では、経時的グラフパターン生成器1008は、T接続されたグラフパターンである経時的グラフパターンを生成してよい。
パターン判定器1010は、該経時的グラフパターン同士の間にパターンが存在するか否かを判定するように構成されてよい。例えば、パターン判定器1010は、第1の経時的グラフパターンと第2の経時的グラフパターンとの間にパターンが存在するか否かを判定してよい。さらなる実施態様では、パターン判定器1010は、第1及び第2の経時的グラフパターンの間の非反復的なグラフパターン及び/又は連続的なグラフパターンを判定するように構成されてよい。例えば、パターン判定器1010は、各エッジ間のノードマッピングが1対1であるように、第1の経時的グラフパターンにおける各エッジが、第2の経時的グラフパターンにおける各エッジに対応する場合、経時的グラフパターン同士の間のパターンを判定してよい。さらなる実施態様では、上述したように、パターン判定器1010は、前方成長パターン、後方成長パターン、又は内部成長パターンのうちの少なくとも1つを判定してよい。有利なことに、パターン判定部1010は、正統なラベリング技術を必要とせずに、非反復的なパターンを判定してよい。
パターン除去器1012は、特徴的な経時的グラフを提供するために、判定されたパターンを除去するように構成されてよい。1つの実施態様では、パターン除去器1012は、最大頻度及び/又は最大特徴スコアを有するサブ関係のみを選択するようにパターンを除去してよい。さらなる実施態様では、パターン除去器1012は、上述したように、サブグラフ除去及び/又はスーパグラフ除去を使用して経時的サブ関係を除去してよい。さらなる実施態様では、パターン除去器1012は、各経時的グラフパターンのための残余グラフの集合を判定することによって、これら経時的グラフパターン同士の間のパターンを除去するように構成されてよい。さらなる実施態様では、パターン除去器1012は、サブグラフテストからのオーバヘッドを最小化し、残余グラフ集合等価テストからのオーバヘッドを最小化するように構成されてよい。
挙動クエリ生成器1014は、該特徴的な経時的グラフに基づいて、挙動クエリを生成するように構成されてよい。実施態様では、挙動クエリ生成器1014は、コンピュータシステムにおいて発生している異常な及び/又は疑わしい行動があるか否かを判定するために、システムデータログのリポジトリからターゲット挙動行動を探索する挙動クエリとして、最も高い特徴スコアを有するパターンを選択してよい。この挙動クエリは、その後、記憶デバイス1016に記憶され得る。
上記構成は例示的に図示してあるが、他の種類の構成もまた、本原理にしたがって適用されてもよいと考慮されることが注目されるべきである。構成同士の間のこれら及び他の変形は、本明細書に提供した本原理の教示が与えられると、本原理を維持しながら、当業者によって容易に判定される。
いくつかの実施態様では、システム1000のモニタリングデバイス1002、システムデータログデータベース1004、経時的グラフ生成器1006、経時的グラフパターン生成器1008、パターン判定器1010、パターン除去器1012、挙動クエリ生成器1014、及び/又は記憶デバイス1016は、仮想機器(例えば、コンピューティングデバイス、ノード、サーバ等)であってよく、任意の種類の送信媒体(例えば、インターネット、イントラネット、物のインターネット(Internet of Things)等)を経由して制御するために、ネットワークへ直接的に接続されるか、又は、遠隔に配置されてよい。いくつかの実施態様では、モニタリングデバイス1002、システムデータログデータベース1004、経時的グラフ生成器1006、経時的グラフパターン生成器1008、パターン判定器1010、パターン除去器1012、挙動クエリ生成器1014、及び/又は記憶デバイス1016は、ハードウェアデバイスであってよく、本原理にしたがって、ネットワークへ取り付けられるか、又はネットワークへ組み込まれてよい。
図10に図示している実施態様では、これらの要素は、バス1001によって相互接続される。しかしながら、他の実施態様では、他のタイプの接続も使用され得る。さらに、1つの実施態様では、システム1000の要素のうちの少なくとも1つは、プロセッサベースである。さらに、1つ又は複数の要素は、個別の要素として図示している場合があるが、他の実施態様では、これらの要素は、1つの要素として結合され得る。逆もまた適用可能であり、1つ又は複数の要素が、別の要素の一部であってよい一方、他の実施態様では、この1つ又は複数の要素が、スタンドアロン要素として実装されてよい。本明細書によって提供した本原理の教示が与えられると、システム1100の要素のこれら及び他の変形が、当業者によって容易に判定される。
前述したものは、すべての観点において例示的及び典型的であるが、限定的ではないとして理解されるべきであり、本明細書に開示した発明の範囲は、詳細な説明からではなく、特許法によって認められた全範囲にしたがって解釈されるように特許請求の範囲から決定されるべきである。本明細書において図示及び説明した実施態様は、本発明の原理の単なる例示であり、当業者は、本発明の範囲及び主旨から逸脱することなく様々な変更を実施してよいことが理解されるべきである。当業者は、本発明の範囲及び主旨から逸脱することなく、他の様々な特徴の組合せを実施できる。

Claims (20)

  1. 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリを構築するためのコンピュータによって実行される方法であって、
    少なくとも、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを含む経時的グラフを提供するために、システムデータログを生成することと、
    第1の経時的グラフパターンと第2の経時的グラフパターンとの間に、非反復的なグラフパターンである経時的グラフパターンが存在するか否かを判定するために、前記第1及び第2の経時的グラフの各々について、経時的グラフパターンを生成することと、
    少なくとも1つの特徴的な経時的グラフを提供するために、前記経時的グラフパターン同士の間の前記パターンを除去することと、
    前記少なくとも1つの特徴的な経時的グラフに基づいて、挙動クエリを生成することと、を含む方法。
  2. 各エッジ同士の間のノードマッピングが1対1になるように、前記第1の経時的グラフパターンにおける各エッジが、前記第2の経時的グラフパターンにおける各エッジに対応する場合に、前記パターンが判定される、請求項1に記載のコンピュータによって実行される方法。
  3. 前記パターンは、線形時間に同一である経時的グラフパターンを含む、請求項1に記載のコンピュータによって実行される方法。
  4. 前記少なくとも1つのターゲット挙動が、前記バックグランド挙動の集合から独立して実行されるように、閉じた環境において前記システムデータログが生成される、請求項1に記載のコンピュータによって実行される方法。
  5. 前記パターンは、連続的な成長パターンを含む、請求項1に記載のコンピュータによって実行される方法。
  6. 前記連続的な成長パターンは、前方成長パターン、後方成長パターン、及び内部成長パターンのうちの少なくとも1つを含む、請求項5に記載のコンピュータによって実行される方法。
  7. 前記経時的グラフは、T接続された経時的グラフである、請求項1に記載のコンピュータによって実行される方法。
  8. 除去することは、サブグラフ除去及びスーパグラフ除去のうち少なくとも1つを含む、請求項1に記載のコンピュータによって実行される方法。
  9. サブグラフテスト及び残余グラフ集合等価テストのうちの少なくとも一方からのオーバヘッドを最小化することをさらに含む、請求項1に記載のコンピュータによって実行される方法。
  10. 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリを構築するためのシステムであって、
    少なくとも、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを含む経時的グラフを提供するために、システムデータログを生成するモニタリングデバイスと、
    前記第1及び第2の経時的グラフの各々について、経時的グラフパターンを生成する経時的グラフパターン生成器と、
    第1の経時的グラフパターンと第2の経時的グラフパターンとの間に、非反復的なグラフパターンである経時的グラフパターンが存在するか否かを判定するパターン判定器と、
    少なくとも1つの特徴的な経時的グラフを提供するために、前記経時的グラフパターン同士の間の前記パターンを除去する、バスに結合されたプロセッサを備えるパターン除去器と、
    前記少なくとも1つの特徴的な経時的グラフに基づいて、挙動クエリを生成する、前記バスに結合された挙動クエリ生成器と、を備えるシステム。
  11. 各エッジ同士の間のノードマッピングが1対1になるように、前記第1の経時的グラフパターンにおける各エッジが、前記第2の経時的グラフパターンにおける各エッジに対応する場合に、前記パターンが判定される、請求項10に記載のシステム。
  12. 前記モニタリングデバイスはさらに、前記少なくとも1つのターゲット挙動が、前記バックグランド挙動の集合から独立して実行されるように、閉じた環境において前記システムデータログを生成するように構成された、請求項10に記載のシステム。
  13. 前記パターンは、連続的な成長パターンを含む、請求項10に記載のシステム
  14. 前記連続的な成長パターンは、前方成長パターン、後方成長パターン、及び内部成長パターンのうちの少なくとも1つを含む、請求項13に記載のシステム。
  15. 前記パターン除去器はさらに、サブグラフ除去及びスーパグラフ除去の少なくとも1つを使用して除去するように構成された、請求項11に記載のシステム。
  16. 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリを構築する方法のために、コンピュータ可読プログラムコードを包含した非一時的なコンピュータ可読記憶媒体であって、前記方法は、
    少なくとも、ターゲット挙動に対応する第1の経時的グラフと、バックグランド挙動の集合に対応する第2の経時的グラフとを含む経時的グラフを提供するために、システムデータログを生成することと、
    第1の経時的グラフパターンと第2の経時的グラフパターンとの間に、非反復的なグラフパターンである経時的グラフパターンが存在するか否かを判定するために、前記第1及び第2の経時的グラフの各々について、経時的グラフパターンを生成することと、
    少なくとも1つの特徴的な経時的グラフを提供するために、前記経時的グラフパターン同士の間の前記パターンを除去することと、
    前記少なくとも1つの特徴的な経時的グラフに基づいて、挙動クエリを生成することと、を含む、コンピュータ可読記憶媒体
  17. 各エッジ同士の間のノードマッピングが1対1になるように、前記第1の経時的グラフパターンにおける各エッジが、前記第2の経時的グラフパターンにおける各エッジに対応する場合に、前記パターンが判定される、請求項16に記載のコンピュータ可読記憶媒体
  18. 前記少なくとも1つのターゲット挙動が、前記バックグランド挙動の集合から独立して実行されるように、閉じた環境において前記システムデータログが生成される、請求項16に記載のコンピュータ可読記憶媒体
  19. 除去することは、サブグラフ除去及びスーパグラフ除去のうちの少なくとも1つを含む、請求項16に記載のコンピュータ可読記憶媒体
  20. サブグラフテスト及び残余グラフ集合等価テストのうちの少なくとも一方からのオーバヘッドを最小化することをさらに含む、請求項19に記載のコンピュータ可読記憶媒体
JP2017524436A 2014-11-05 2015-11-05 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステム Active JP6488009B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462075478P 2014-11-05 2014-11-05
US62/075,478 2014-11-05
US14/932,799 2015-11-04
US14/932,799 US20160125094A1 (en) 2014-11-05 2015-11-04 Method and system for behavior query construction in temporal graphs using discriminative sub-trace mining
PCT/US2015/059306 WO2016073765A1 (en) 2014-11-05 2015-11-05 Method and system for behavior query construction in temporal graphs using discriminative sub-trace mining

Publications (2)

Publication Number Publication Date
JP2018500640A JP2018500640A (ja) 2018-01-11
JP6488009B2 true JP6488009B2 (ja) 2019-03-20

Family

ID=55852926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017524436A Active JP6488009B2 (ja) 2014-11-05 2015-11-05 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステム

Country Status (4)

Country Link
US (1) US20160125094A1 (ja)
EP (1) EP3215975A4 (ja)
JP (1) JP6488009B2 (ja)
WO (1) WO2016073765A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016094687A1 (en) * 2014-12-10 2016-06-16 Kyndi, Inc. Apparatus and method for combinatorial hypermap based data representations and operations
US10192051B2 (en) * 2015-06-17 2019-01-29 Accenture Global Services Limited Data acceleration
US10656979B2 (en) 2016-03-31 2020-05-19 International Business Machines Corporation Structural and temporal semantics heterogeneous information network (HIN) for process trace clustering
US20170308620A1 (en) * 2016-04-21 2017-10-26 Futurewei Technologies, Inc. Making graph pattern queries bounded in big graphs
AU2017274576B2 (en) * 2016-06-03 2022-03-10 Commonwealth Scientific And Industrial Research Organisation Classification of log data
US10810210B2 (en) * 2017-05-12 2020-10-20 Battelle Memorial Institute Performance and usability enhancements for continuous subgraph matching queries on graph-structured data
WO2019031473A1 (ja) * 2017-08-09 2019-02-14 日本電気株式会社 情報選択装置、情報選択方法、及び、情報選択プログラムが記録された記録媒体
US11194903B2 (en) 2018-02-23 2021-12-07 Crowd Strike, Inc. Cross-machine detection techniques
US11050764B2 (en) 2018-02-23 2021-06-29 Crowdstrike, Inc. Cardinality-based activity pattern detection
EP3531325B1 (en) 2018-02-23 2021-06-23 Crowdstrike, Inc. Computer security event analysis
US11194906B2 (en) * 2018-07-31 2021-12-07 Nec Corporation Automated threat alert triage via data provenance
US11941054B2 (en) * 2018-10-12 2024-03-26 International Business Machines Corporation Iterative constraint solving in abstract graph matching for cyber incident reasoning
US11184374B2 (en) 2018-10-12 2021-11-23 International Business Machines Corporation Endpoint inter-process activity extraction and pattern matching
RU2724800C1 (ru) * 2018-12-28 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения источника вредоносной активности на компьютерной системе
US11704363B2 (en) * 2019-12-17 2023-07-18 Paypal, Inc. System and method for generating highly scalable temporal graph database
US10778706B1 (en) 2020-01-10 2020-09-15 Capital One Services, Llc Fraud detection using graph databases
CN112100209B (zh) * 2020-09-17 2022-09-27 湖南大学 一种基于查询计划的联邦型RDF系统Top-K查询与优化方法
US20230275913A1 (en) * 2022-02-25 2023-08-31 Microsoft Technology Licensing, Llc Using graph enrichment to detect a potentially malicious access attempt

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001088834A2 (en) * 2000-05-17 2001-11-22 New York University Method and system for data classification in the presence of a temporal non-stationarity
US7093239B1 (en) * 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US20030188189A1 (en) * 2002-03-27 2003-10-02 Desai Anish P. Multi-level and multi-platform intrusion detection and response system
US9092807B1 (en) * 2006-05-05 2015-07-28 Appnexus Yieldex Llc Network-based systems and methods for defining and managing multi-dimensional, advertising impression inventory
JP4927448B2 (ja) * 2006-06-09 2012-05-09 株式会社日立製作所 時系列パターン生成システム及び時系列パターン生成方法
US9063979B2 (en) * 2007-11-01 2015-06-23 Ebay, Inc. Analyzing event streams of user sessions
JP2009205269A (ja) * 2008-02-26 2009-09-10 Osaka Univ 頻出変化パターン抽出装置
KR100951852B1 (ko) * 2008-06-17 2010-04-12 한국전자통신연구원 응용 프로그램 비정상행위 차단 장치 및 방법
US9836539B2 (en) * 2010-09-30 2017-12-05 Yahoo Holdings, Inc. Content quality filtering without use of content
US20120143875A1 (en) * 2010-12-01 2012-06-07 Yahoo! Inc. Method and system for discovering dynamic relations among entities
US8660789B2 (en) * 2011-05-03 2014-02-25 University Of Southern California Hierarchical and exact fastest path computation in time-dependent spatial networks
US9202047B2 (en) * 2012-05-14 2015-12-01 Qualcomm Incorporated System, apparatus, and method for adaptive observation of mobile device behavior
US9336388B2 (en) * 2012-12-10 2016-05-10 Palo Alto Research Center Incorporated Method and system for thwarting insider attacks through informational network analysis
US9710525B2 (en) * 2013-03-15 2017-07-18 Bmc Software, Inc. Adaptive learning of effective troubleshooting patterns

Also Published As

Publication number Publication date
US20160125094A1 (en) 2016-05-05
WO2016073765A1 (en) 2016-05-12
JP2018500640A (ja) 2018-01-11
EP3215975A4 (en) 2018-04-18
EP3215975A1 (en) 2017-09-13

Similar Documents

Publication Publication Date Title
JP6488009B2 (ja) 特徴的なサブトレースマイニングを使用する、経時的グラフにおける挙動クエリ構築のための方法及びシステム
KR102590773B1 (ko) 선제적 사이버 방어
EP4124975A1 (en) Discovering cyber-attack process model based on analytical attack graphs
JP6410547B2 (ja) ネットワーク動作アーチファクトの順序によるマルウェアの分類
US9934288B2 (en) Mechanisms for privately sharing semi-structured data
US9830460B2 (en) Techniques for correlating vulnerabilities across an evolving codebase
US20200120115A1 (en) Cognitive offense analysis using contextual data and knowledge graphs
US9798882B2 (en) Real-time model of states of monitored devices
JP2023512507A (ja) サイバー検出ファジー・パターン照合
US20210136098A1 (en) Root cause analysis in multivariate unsupervised anomaly detection
TWI497325B (zh) 用於在圖形資料串流中物件之分類方法
CN104636409B (zh) 促进搜索结果的显示的方法、设备和产生搜索结果的方法
JP7101272B2 (ja) データ来歴を介した自動脅威アラートトリアージ
US9792388B2 (en) Pattern extraction apparatus and control method therefor
US11483319B2 (en) Security model
US20240214429A1 (en) Complex it process annotation, tracing, analysis, and simulation
US10839308B2 (en) Categorizing log records at run-time
Gao et al. Android malware detection via graphlet sampling
JP2018526728A (ja) プロセストレースを用いたグラフベースの侵入検知
US20180285746A1 (en) Dashboard Usage Tracking and Generation of Dashboard Recommendations
US11762822B2 (en) Determining when a change set was delivered to a workspace or stream and by whom
US11853415B1 (en) Context-based identification of anomalous log data
US20230394324A1 (en) Neural Flow Attestation
CN107615240A (zh) 用于分析二进制文件的基于生物序列的方案
Kostakis Classy: fast clustering streams of call-graphs

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181018

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: 20190212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190222

R150 Certificate of patent or registration of utility model

Ref document number: 6488009

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