JP6490059B2 - データを処理するための方法、有形機械可読記録可能記憶媒体および装置、ならびにデータ・レコードから抽出された特徴をクエリするための方法、有形機械可読記録可能記憶媒体および装置 - Google Patents

データを処理するための方法、有形機械可読記録可能記憶媒体および装置、ならびにデータ・レコードから抽出された特徴をクエリするための方法、有形機械可読記録可能記憶媒体および装置 Download PDF

Info

Publication number
JP6490059B2
JP6490059B2 JP2016515326A JP2016515326A JP6490059B2 JP 6490059 B2 JP6490059 B2 JP 6490059B2 JP 2016515326 A JP2016515326 A JP 2016515326A JP 2016515326 A JP2016515326 A JP 2016515326A JP 6490059 B2 JP6490059 B2 JP 6490059B2
Authority
JP
Japan
Prior art keywords
key
value
feature
record
query
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.)
Expired - Fee Related
Application number
JP2016515326A
Other languages
English (en)
Other versions
JP2016519384A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2016519384A publication Critical patent/JP2016519384A/ja
Application granted granted Critical
Publication of JP6490059B2 publication Critical patent/JP6490059B2/ja
Expired - Fee Related 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、概して、電気、電子およびコンピュータの技術に関し、より詳細には、データを取得し処理するための技法に関する。
多くの企業は、高度で発展するサイバー・セキュリティ脅威へのシフトによる課題に直面している。攻撃者は、例えば、複数のマシンにわたって攻撃ステップを隠し、様々なアプリケーション・プロトコルを利用するか、または長期間にわたって自身のアクティビティを拡散することによって、自身の存在を隠すかまたは少なくとも検出される確率を低減するのに役立つステルス攻撃技術を適用することが増えてきている。これらの脅威の多くは、進化型継続脅威(APT:advanced persistent threat)と呼ばれる。
そのような複雑な攻撃パターンを検出および調査することは、多岐にわたる有利な場所(vantagepoint)、様々なデータ・ソースおよび複数の抽象レイヤからのイベントの収集、記憶および解析を必要とする。多くの場合に毎秒何千イベントものレートでエクスポートされるモニタリング・データは、リアルタイム解析および履歴解析のために、収集され、記憶され、利用可能にされる必要がある。そのような負荷および多岐にわたる関連データタイプおよび変動する収集遅延により、サイバー・セキュリティ脅威の調査は大きなデータ問題となっている。多くの収集されたイベントは、(数週間または数ヶ月等の)潜在的に大きな時間窓にわたって様々なデータ・ソースにまたがるコンテキスト内に移され、ネットワークにおける進行中のアクティビティおよび過去のアクティビティの全体像を形成し、影響が少ないかまたは影響がない誤警報または異常値をフィルタリング除去して初めて意味のあるものとなる。
そのようなセキュリティ・インシデントへのタイムリーな対応は、データのほぼリアルタイムの解析を必要とする一方、調査は、大きな時間窓にわたる履歴データへのアクセスを必要とする。しかしながら、既存の解決策は、比較的小さな時間窓でリアルタイムにデータを処理するか、または履歴データしかサポートせず、記憶されたデータへの順次アクセスを必要とする。入力/出力(IO)限界が重要因子となっており、既存の解決策は、セットアップの増大コストおよび結果の再結合を用いてマシンの大きなクラスタにわたってIOを分散させることによりこれに対処している。
未加工データを取得し処理するための改善された技法が必要とされている。(i)インシデントに対するタイムリーな対応を提供するための、データの実質的にリアルタイムの解析、および(ii)調査を可能にするための、大きな時間窓にわたる履歴データへのアクセス、を可能にするデータ処理システムが更に必要とされている。
概して、分散型の特徴収集および相関のための方法および装置が提供される。本発明の1つの態様によれば、特徴抽出データ処理方法が、1つまたは複数のデータ・レコードを取得するステップと、領域知識に基づいて、1つまたは複数のデータ・レコードから情報を抽出するステップと、抽出された情報を、キーKおよび値Vで構成されるキー/値のペアに変換するステップであって、キーは特徴識別子を含む、ステップと、重複排除メカニズムを用いて、キー/値のペアが特徴ストア(feature store)データベース内にまだ存在していない場合、キー/値のペアを特徴ストア・データベースに記憶するステップとを含む。
本発明の1つの態様によれば、1つまたは複数のデータ・レコードから抽出された1つまたは複数の特徴をクエリするための方法が、キーKおよび値Vで構成されるキー/値のペアとして記憶された抽出された特徴で構成される特徴ストア・データベースを取得するステップであって、キーは特徴識別子を含む、取得するステップと、少なくとも1つのクエリ・キーで構成されるクエリを受信するステップと、特徴ストア・データベースからクエリ・キーに合致する値を取り出すステップと、1つまたは複数の取り出したキー/値のペアを返すステップとを含む。
本発明のより完全な理解、ならびに本発明の更なる特徴および利点は、以下の詳細な説明および図面を参照して得られる。
本発明の態様を組み込む例示的な特徴収集および相関エンジン(FCCE)システムのブロック図である。 本発明の態様を組み込む特徴抽出器の例示的な実施態様を示すフローチャートである。 本発明の態様を組み込む特徴収集器の例示的な実施態様を示すフローチャートである。 本発明の態様を組み込む特徴収集器の例示的な実施態様を示すフローチャートである。 本発明の態様を組み込む例示的な特徴ストアを示す図である。 本発明の態様を組み込む特徴ストアの書き込みプロセスの例示的な実施態様を示すフローチャートである。 本発明の態様を組み込む特徴ストアの読み出しプロセスの例示的な実施態様を示すフローチャートである。 例示的なレジストリ・サーバによって提供されるクエリ・サーバ登録プロセスの例示的な実施態様を示すフローチャートである。 例示的なレジストリ・サーバによって提供されるクライアント・クエリ・サーバ発見プロセスの例示的な実施態様を示すフローチャートである。 本発明の態様を組み込むクエリ・サーバ・プロセスの例示的な実施態様を示すフローチャートである。 例示的なサブスクリプション・サーバによって提供される新たなクライアント/パターン・サブスクリプション・プロセスの例示的な実施態様を示すフローチャートである。 例示的なサブスクリプション・サーバによって提供される新たなマッチング特徴ストリーミング・プロセスの例示的な実施態様を示すフローチャートである。 本発明の態様によるセキュリティ脅威の例示的な解析を示す図である。
本発明の態様は、特徴収集および相関エンジン(FCCE)を提供する。本発明の1つの態様によれば、例示的な開示されるFCCEシステムは、多様なネットワーク・データ・ソースから特徴を抽出、正規化、記憶、取り出しおよび相関付けする分散型のデータ管理システムを備える。例示的なFCCEシステムは、ソース間の連続した接続性を必要としない地理的に分散したデータ・ソースをサポートし、分散型のエンジン・アーキテクチャ内での個々のノードの障害に対し耐性を提供する。
本発明の別の態様によれば、領域知識を利用して、重複排除メカニズムを用いてデータが取り込まれた点のコア特徴を抽出することができ、それによって、階層構造の収集システムに関してデータ量が大幅に低減され、それによって、全てのデータセットにわたって重複排除されたコア特徴が概念的に中央の位置に到達し、ここでこれらのコア特徴はほぼリアルタイムで利用可能であるか、またはこれらのコア特徴の履歴に(in historical manner)アクセスし、サイバー脅威を検出もしくは調査することができる。
本発明の更に別の態様によれば、抽出される特徴ごとにキーおよび値が規定される。キーは、数学的集合として扱われる値の特定のバケットを識別するのに用いられる。数学的集合は、データが時間順序を考慮することなく取り込まれることを可能にする。このようにして、より古い履歴データセットをリアルタイム・データとともにシステム内に取り込むことができる。
図1は、本発明の態様を組み込む例示的な特徴収集および相関エンジン(FCCE)システム100のブロック図である。図1に示すように、FCCEシステム100の例示的な実施形態は、特徴抽出120(データ・ソース110から未加工データを取り込み、処理して、抽出された特徴125を抜き出す)と、特徴集約130(様々なデータ・ソース110から抽出された特徴125を収集し結合する)と、特徴記憶140(集約され重複排除された結果135を記憶する)とのデータ取り込みフレームワーク105を備える。加えて、FCCEシステム100の例示的な実施形態は、データ消費者170の関心対象の特徴を効率的にクエリするためのインターフェースを提供する特徴取り出しレイヤ160を備えるデータ取り出しフレームワーク150を備える。
図1に示すように、例示的なFCCEシステム100は、以下で図2と合わせて更に検討する少なくとも1つの特徴抽出器200と、以下で図3および図4と合わせて更に検討する少なくとも1つの特徴収集器300と、以下で図5〜図7と合わせて更に検討する少なくとも1つの特徴ストア400と、オプションで、以下で図8および図9と合わせて更に検討する1つまたは複数のレジストリ・サーバ500と、オプションで、以下で図10と合わせて更に検討する1つまたは複数のクエリ・サーバ600と、オプションで、以下で図7と合わせて更に検討する1つまたは複数のサブスクリプション・サーバ700とを備える。
通常、以下で検討するように、例示的な特徴ストア400は、キー/値ストアに基づき、後に高度に拡張可能な方式で相関特徴の取り出しに用いられる、未加工データに関連する特徴を記憶する。通常、例示的な特徴抽出器200は未加工データ・ソース110(実物またはバッチ/記憶済み)に接続し、特徴を抽出し、これらの特徴は少なくとも1つの特徴収集器300に転送される。例示的な実施形態では、データ・ソース110は、ドメイン名サーバ(DNS)データ110−1と、侵入防止システム(IPS)アラート110−2と、ネットフローデータ110−Nとを備える。次に、例示的な特徴収集器300は、特徴を検証し、少なくとも1つの特徴ストア400に記憶する。
FCCEシステム100のデータ取り出しフレームワーク150は、相関付けられた特徴の取り出しをサポートする。クライアント(例えば、解析アプリケーション180および視覚化ツール)は、選択された特徴ストア400にクエリするか、または1つもしくは複数のクエリ・サーバ600に、提供されたキーに合致する特徴を特徴ストア400から返すように依頼することができる。クエリ・サーバ600は、提供されたキーに合致する、自身の特徴ストア400において現在利用可能な任意の特徴を返す。クライアントは、1つまたは複数のサブスクリプション・サーバ700に特徴を要求することもできる。1つまたは複数のサブスクリプション・サーバ700は、キーに合致する、特徴ストア400に入る任意の新たな特徴を連続して返すことになる。クエリプロバイダ/サブスクリプションプロバイダ165は、特徴ストア400、レジストリ・サーバ500、クエリ・サーバ600およびサブスクリプション・サーバ700と通信するためのフロントエンドまたは中央レイヤをクライアントに提供する。
レジストリ・サーバ500は、任意のコンポーネント間の接続を仲介することができる。コンポーネントはレジストリ・サーバ500に登録し、自身の機能をレジストリ・サーバ500に公表する。次に、他のコンポーネントおよびクライアントは、提供された機能に基づいて、任意の登録されたコンポーネントについてレジストリ・サーバ500にクエリすることができる。
特徴に効率的にアクセスするために1つまたは複数の解析アプリケーション180を提供することができる。
特徴抽出
図2は、本発明の態様を組み込む特徴抽出器200の例示的な実施態様を示すフローチャートである。通常、以下で更に検討するように、特徴抽出フェーズ120中、入力データ・ソース110ごとに、ドメイン・エキスパートは、特徴抽出器200を用いて未加工データから特徴を抜き出す方法を指定する。各個々のデータ入力は1つまたは複数の抽出器200に関連付けられる。次に、各個々のデータ入力から抽出された特徴は、次のフェーズに直接転送されるか、またはローカルの一時的な特徴ストア400において重複排除されキャッシュされる。これらの一時的な特徴ストア400は、関連付けられたデータ入力110からローカルで導出される知識を構成する。
特徴抽出器200は、関連付けられたデータ入力115から特徴を抽出し、特徴を符号化して所定のフォーマットにする。より詳細には、取り込まれたデータはデータタイプ固有のコンポーネントによって復号され、データ・レコードから所望の情報が抽出される。各情報は(領域知識に基づいて)キー/値のペアに変換される。更に、各キー/値のペアにタイムスタンプ(TS)を付けることができ、特徴識別子がキー内に含まれる。次に、各キー/値のペアは符号化され、Kとして符号化されたキーおよびVとして符号化された値を有する、実施態様により規定されるフォーマットにされる。
図2に示すように、特徴抽出器200は初期化され、ローカル・ファイルまたはレジストリ・サーバ500あるいはその両方から構成を読み出し、データ・ソース110および収集器(複数の場合もある)300のロケーションを取り出す。特徴抽出器200は、ステップ205中に、構成された収集器300に接続し、次に、ステップ210中に、構成されたデータ・ソース110に接続する。
ステップ215中、特徴抽出器200はリスンし、データ・ソース110からレコードを受信する。ステップ220中に、受信されたレコードはパースおよび検証される。特徴抽出器200は、ステップ225中にレコードから特徴(複数の場合もある)を抽出する。抽出された特徴は、ステップ230中に、構成され接続された収集器300にサブミットされ、次に、特徴抽出器200はリスニング・ステップ215に戻る。
特徴集約
特徴抽出後、様々な抽出器においてローカル知識が集約され、1つまたは複数の特徴収集器300を用いて大域ビューが形成される。各収集器300は、入力として、複数の抽出器200によって抽出される特徴をとり、任意の冗長な特徴を重複排除することによって結果を集約する。各収集器300において、ローカル特徴ストア400は、ローカル特徴ストア400にフィードする全ての入力から導出され重複排除された知識を記憶するように維持される。抽出器200と同様にして、収集器300はオプションで新たな値を1つまたは複数の他の収集器300に転送することができ、拡張性の目的で階層構造(例えば、ツリー)を可能にする。
図3は、本発明の態様を組み込む特徴収集器300の例示的な実施態様を示すフローチャートである。通常、以下で更に検討するように、収集器300は、複数の抽出器200(またはピア収集器300)によってフィードされる特徴を集約し、入力における任意の冗長性を重複排除する役割を果たす。
図3に示すように、特徴収集器300は、ステップ305中に、構成された特徴ストア400またはこの収集器300から受信する他の収集器300あるいはその両方を読み出すことによって初期化される。ステップ310中、この特徴収集器300の収集器インスタンスがレジストリ・サーバ500に登録され、このためクライアントはこの特徴収集器300を見つけることができる。
特徴収集器300は、ステップ315中に、クライアント(複数の場合もある)からの新たな特徴を受け入れるリスニングモードに入る。特徴収集器300は、ステップ320中に、同時に複数のクライアントから特徴を受信し、正規化し、ステップ325中に、受信した特徴をパースおよび検証する。
ステップ330中、特徴収集器300は(各特徴ストア400への書き込み動作を用いて)全ての構成された特徴ストア400および全ての構成された収集器300に特徴を転送する。特徴収集器300はステップ335中にクリーンアップし、ステップ315に戻り、新たなクライアント要求をリスンする。
新たに到着する特徴値の対K−V(タイムスタンプTSによって関連付けられる)について、収集器300は図4に示すステップを実施する。ローカル特徴ストア400に書き込まれる全ての組{K;(TS;V)}も、階層内の指定された収集器(複数の場合もある)300に転送されることに留意されたい。図4に示すように、キーKは、キー/値スタイルデータベース内のレコードをルックアップするのに用いられる。ルックアップが失敗した場合、キーKおよび値Vは新しい。キーKおよび値{TS,V}の新たなレコードがデータベースに書き込まれる。そうでない場合、レコードが探索され、Vがレコード内にまだ存在するか否かが判断される。Vがレコード内に存在しない場合、{TS,V}はレコードに加えられ、データベースに記憶され、K+{TS,V}は規定された収集器300に転送される。
そうでない場合、タイムスタンプTSは、Vに既に関連付けられたタイムスタンプと比較される。新たなタイムスタンプTSが以前のタイムスタンプよりも早い場合、新たなタイムスタンプTSがVを有するレコードに配置され、データベースにおいて更新されたレコードおよびK+{TS,V}が規定された収集器300に転送される。
特徴記憶レイヤ140における階層の最下部において、1つまたは複数の収集器300がルート収集器300として指定される。ルート収集器300は、収集された特徴、および情報にアクセスするためのクエリサービス(QS)600のための永久記憶を提供する。
特徴ストア
各バケット内の特徴値は、数学的集合として扱われる。全てのそのような集合の収集により、特徴ストア(FS)400が形成される。数値集合を使用して特徴を集約することによって、データの時間順序を考慮することなくデータを取り込むことが可能になる。これは、分散環境に有利である。更に、数学的集合は、異なる時点に利用可能になる様々なデータ入力の効率的な結合を可能にする。
例示的な実施態様では、特徴ストア400はCにおいて実施され、基礎をなす記憶メカニズムとしてカスタムキー/値ストアを利用する。特徴は、キー/値のペア自体において表される。キーおよび値の両方を、実施態様固有の符号化において符号化することができる。この符号化をシステム100全体にわたって用いることにより、様々なコンポーネントによって、符号化データの詳細を理解する必要なく、キーおよび値を処理することができる。
特徴ストア管理者は、新たな特徴をストアに追加し、ストアから情報をクエリするためのAPIを提供する。これらの動作の両方が非同期である(すなわち、作業はキューに入れられる)。更に、特徴ストア管理者は、特徴サブスクリプションサービス(SS)700のためのフレームワークを提供する。
図5は、本発明の態様を組み込む例示的な特徴ストア400を示す。図5に示すように、例示的な特徴ストア400は、それぞれ値の集合Va1,Va2,...,およびVb1,Vb2,...を記憶する複数のバケット410−A、410−Bを備える。各バケット410−A、410−Bは、対応するキー420−A、420−Bによって一意に識別される。値は、以下で図6と合わせて更に検討するように、書き込みプロセス450を用いて特徴ストア400に書き込まれ、以下で図7と合わせて更に検討するように、読み出しプロセス480を用いて特徴ストア400から読み出される。
図6は、本発明の態様を組み込む書き込みプロセス450の例示的な実施態様を示すフローチャートである。通常、書き込みプロセス450はキー/値のペア(K,V)を特徴ストア400に書き込む。図6に示すように、書き込みプロセス450は、ステップ460中に、最初に、キーKに関連付けられた値のバケットを取り出す。その後、ステップ465中に、「V」が既にバケット内にあるか否かを判断する試験が実行される。ステップ465中に、「V」がまだバケット内にないと判断される場合、Vをバケットに加え、ステップ470中に、クライアント情報を除去し、ステップ475中に、戻る。一方、ステップ465中に、「V」が既にバケット内にあると判断される場合、ステップ475中に、戻る。
図7は、本発明の態様を組み込む読み出しプロセス480の例示的な実施態様を示すフローチャートである。通常、読み出しプロセス480は特徴ストア400からキー値(K)を読み出す。図7に示すように、例示的な読み出しプロセス480は、ステップ490中に、キーKに関連付けられた値のバケット(BV)を取り出し、ステップ495中に、値を返す。
例示的な特徴ストア400によって値が書き込まれる順序には差がない(このため、ライブデータおよび履歴データを収容する)。更に、例示的な特徴ストア400は、データの重複排除およびストリーミングを実行し、分散I/Oによる記憶および計算を提供する。
レジストリ・サーバ
例示的なレジストリ・サーバ500は、以下でそれぞれ図8および図9を参照して検討するように、クエリ・サーバ登録プロセス510およびクライアント・クエリ・サーバ発見プロセス550を備える。通常、レジストリ・サーバ500は、サービスを位置特定するのに用いられる登録サービス(RS)を提供する。例示的な実施態様は、システム100内の全てのノードにおいてレジストリ・サーバ500を有する。ローカル・レジストリ・サーバ500は、ローカル・ノードにおいてのみ利用可能なサービスに関する情報のみを含む。これによって、ノードが一時的に分離または切断されるときであっても、ローカルで含まれる動作を実行することが可能になる。大域情報は、大域レジストリ・サーバ500に転送される。実際の転送は、ローカル・レジストリ・サーバ500にオフロードすることができる。ローカル・レジストリ・サーバ500は、情報が最終的に大域サーバ500に達することを確実にする役割を果たす。
登録情報は、キー/値のペアの組で構成される。以下の例は、ゾーンrcxにおけるデータタイプDNSについての(識別子tap1を有する)タップサービスの存在を示す。このタップサービスのサービス・インターフェースは10.10.0.5:55000においてリスンする:
’class=tap,type=dns,zone=rcx,tapid=tap1,
address=10.10.0.5,port=55000’
レジストリ・サーバ500へのクエリは、キー/値のある部分組を提供し、合致する全てのエントリが返される。このため、
’class=tap,type=dns,zone=rcx,tapid=tap1’
のためのクエリは、上記に合致し、全ての値を返す。この機能は、特徴が存在し得る場所を特定するのにも用いられる。
図8は、本発明の態様を組み込むクエリ・サーバ登録プロセス510の例示的な実施態様を示すフローチャートである。クエリ・サーバ登録プロセス510は、ステップ515中に、最初にクエリ・サーバ600からの登録要求をリスンする。その後、ステップ520中に、クエリ・サーバ登録プロセス510は、登録クエリ・サーバ600の機能を識別するタグ(キー/値のペア)の組を受信する。
ステップ525中に、クエリ・サーバ登録プロセス510は、登録のための識別情報を作成し、この新たな識別子にタグをマッピングする。ステップ530中に、関連付けられた情報は、タグをキーとして用いてハッシュ・テーブルに記憶される。ステップ535中に試験が実行され、登録されたクエリ・サーバへの接続が閉じているか否かが判断される。ステップ535中に、登録されたクエリ・サーバへの接続が閉じていると判断される場合、ステップ540中に、ハッシュ・テーブルから識別情報を除去し、ステップ515中のリスニング状態に戻る。
一方、ステップ535中に、登録されたクエリ・サーバへの接続が閉じていないと判断される場合、ステップ515中のリスニング状態に進む。
図9は、本発明の態様を組み込むクライアント・クエリ・サーバ発見プロセス550の例示的な実施態様を示すフローチャートである。図9に示すように、クライアント・クエリ・サーバ発見プロセス550は、ステップ560中に、最初にクライアント要求を待つ。クライアント・クエリ・サーバ発見プロセス550は、ステップ565中にクライアントからタグ(キー/値のペア)を受信し、次に、ステップ570中に、提供されたキーを用いてハッシュ・テーブル内の全てのクエリ・サーバ識別子をルックアップする。
次に、クライアント・クエリ・サーバ発見プロセス550は、ステップ575中に、全てのタグを満たす全てのクエリ・サーバ識別子の共通集合Iを求め、ステップ580中に、識別子の集合Iをクライアントに返す。次に、プログラム制御はリスニング・ステップ560に戻る。
クエリ・サーバ
例示的なFCCEは、導出された知識にアクセスする複数の方法をサポートするクエリ・インターフェースを提供する。登録サービス(RS)500を用いて、関心対象の特徴を記憶するルート収集器300を見つけることができる。更に、クエリ・サーバ600を利用して、特定の特徴タイプおよびキーをクエリ述部として用いて対応する特徴ストア400をクエリすることができる。更に、ユーザはサブスクリプション・サーバ700を用いて、関心対象の特徴タイプに関して(登録サービスによってルーティングされるような)特定の抽出器/収集器にサブスクライブすることができる。
クエリ・サーバ600は、特徴ストア400内の特徴にアクセスを提供する。特徴ストア400は、特徴タイプ(特徴識別子)およびクエリ・キー(複数の場合もある)をクエリ述部として用いて、解析者が特徴ストア400をルックアップすることを可能にする。クエリ・サーバ600は、関心対象の特徴のタイプおよび1つまたは複数のクエリ・キーを示す特徴識別子を提供することができる。各クエリ・キーは特徴識別子と組み合わされ、1組の符号化キー[K]を作成する抽出ステップにおいて用いられるのと同じデータ符号化フォーマットを用いて符号化される。[K]内の符号化キーごとに、ルックアップを用いてキー/値データベースをクエリする。ルックアップが失敗する場合、何も行われないか、または失敗したキーが、ルックアップが失敗したという指示とともに送られる。そうでない場合、取り出されたレコード内の値ごとに、符号化された{TS,V}が復号され、K+{TS,V}が送られる。
図10は、本発明の態様を組み込むクエリ・サーバ・プロセス600の例示的な実施態様を示すフローチャートである。図10に示すように、クエリ・サーバ600が始動されると、ステップ605中に、サポートされるキー/値のペアがレジストリ・サーバ500に登録される。次に、ステップ610中に、クエリ・サーバ600はクライアント要求を待ち、キーを受信する。
次に、クエリ・サーバ600は、ステップ615中に、読み出しプロセス480(図7)を用いて、受信したキーにマッチする全ての値を特徴ストア400から取り出し、ステップ620中に、取り出されたキー/値のペアをクライアントに送信する。次に、クエリ・サーバ600は待機状態610に戻る。
ルート収集器300において同一場所に配置されるクエリ・サーバ600は、それらの特徴ストア400に何のデータがあるかに関する、より高いレベルのキーイング情報を提供する登録を維持する。例えば、2012/04/01〜2012/04/02の日付範囲について特徴IPByNameDateを与えるクエリ・サーバ600が特徴ストアクラス(fs)として登録される場合があり、ここで、2つの異なるクエリ・サーバ600(ノード10.10.0.6および10.10.0.7にいてホストされる)が同じ日付の特徴を与える。
’class=fs,feature=IPByNameDate,date=20120401,address=10.10.0.6,port=12345’
’class=fs,feature=IPByNameDate,date=20120401,address=10.10.0.7,port=12345’
’class=fs,feature=IPByNameDate,date=20120402,address=10.10.0.7,port=12345’
クエリ・インターフェースは、レジストリ・サーバ500において、’class=fs,feature=IPByNameDate’を要求することによって、名称IPByNameDateを有する特徴を与える全てのクエリ・サーバ600を位置特定することができる。このクエリは、2つの登録されたクエリ・サーバ600を返す。日付2012/04/02からの情報のみが所望される場合、クエリ・インターフェースは、
’class=fs,feature=IPByNameDate,date=20120402’
を要求する。
次に、クエリ・インターフェースは、結果として得られるクエリ・サーバ600の組にクエリを直接送信する。このクエリ・サーバの組は、IPアドレスおよびポート番号によって識別される。レジストリ・サーバ500は、非常に高性能のサービスを提供するが、実際には、クエリサービスはルックアップをキャッシュし、実行される全てのクエリについて登録ルックアップを実行する必要はない。
サブスクリプション・サーバ
例示的なサブスクリプション・サーバ700は、以下で図11および図12と合わせて更に検討するように、新たなクライアント/パターン・サブスクリプション・プロセス710および新たなマッチング特徴ストリーミング・プロセス750を含む。
図11は、本発明の態様を組み込む新たなクライアント/パターン・サブスクリプション・プロセス710の例示的な実施態様を説明するフローチャートである。図11に示すように、例示的な新たなクライアント/パターン・サブスクリプション・プロセス710は、ステップ715中に、最初にリスンし、クライアントからキー・マッチパターン(KMP)を受信する。
次に、ステップ720中に、新たなクライアント/パターン・サブスクリプション・プロセス710は、キー・マッチパターンを特徴ストア400に登録し、ステップ725中に、クライアント/マッチング・パターンをサブスクライバ・リストに記憶する。
ステップ730中に、新たなクライアント/パターン・サブスクリプション・プロセス710が、クライアントが切断したことを検出すると、ステップ735中に、クライアントはサブスクライバ・リストから除去される。
ステップ740中に、新たなクライアント/パターン・サブスクリプション・プロセス710が、KMPを有する他のクライアントが接続されていないことを検出する場合、ステップ745中に、新たなクライアント/パターン・サブスクリプション・プロセス710は、KMPを特徴ストアからサブスクライブ解除する。次に、プログラム制御はリスニング・ステップ715に戻る。
図12は、本発明の態様を組み込む新たなマッチング特徴ストリーミング・プロセス750の例示的な実施態様を説明するフローチャートである。図12に示すように、ステップ760中に、例示的な新たなマッチング特徴ストリーミング・プロセス750は、最初に、特徴ストア400から、登録されたマッチング・パターンのための新たな特徴を受信する。次に、新たなマッチング特徴ストリーミング・プロセス750は、ステップ765中に、マッチング・パターンが新たな特徴に適合するクライアントをルックアップし、ステップ770中に、新たに受信した特徴のマッチング・パターンをサブミットしたクライアントにこれらの新たな特徴を転送する。次に、プログラム制御はステップ755に戻る。
図13は、本発明の態様によるセキュリティ脅威の例示的な解析800を示す。例示的な解析800は、様々なロケーション、データ・ソースおよび期間から相関イベントを自動的に抽出する。
サイバー・セキュリティ攻撃はますます高度になっており、それらを検出または調査するために、大量の多種多様なデータの解析を必要とする。インシデントへのタイムリーな対応は、データのほぼリアルタイムの解析を必要とする一方、調査は、大きな時間窓に及ぶ履歴データへのアクセスを必要とする。
例示的な解析800は、5つの段階810−1〜810−5において既知の悪意のあるまたは不審な外部マシン(その完全修飾ドメイン名805が与えられる)の影響範囲を解析する。これによって、1つの相関段階801−iの出力が、次の段階(複数の場合もある)810−i+1への入力として供給される。段階810−1において、例示的な解析800は、外部マシンの調査中の外部ドメイン名805に関する全てのIPアドレスをルックアップする。その後、解析800は、関連する不審な外部インフラストラクチャに関する知識を拡張させる。
段階810−2において、例示的な解析800は、履歴およびリアルタイム両方で、これらのIPアドレスの任意のものを解決する全ての他の名前を見つける。これによって、本発明による知識は、(例えば、ブラックリストまたは外部調査報告により)悪意のあるアクティビティをホスティングしていると報告されたかまたは(例えば、ボットネット解析により)悪意のあるアクティブティのソースであるとしてローカルで検出された単一のシステムから、このシステムに関係するより大きなネットワークインフラストラクチャへと拡張される。
段階810−3において、例示的な解析800は、調査期間(例えば、1ヶ月)の間にこれらの名前のうちの任意のものについて返された全てのIPアドレスをルックアップする。この時点において、解析は、インシデントに関連する場合がある外部インフラストラクチャに関する知識を拡張させており、この期間中に、入力の変化を伴って収集されたDNSデータを3回調べている。これは並列処理するのが難しい動作である。
解析800は次に、影響を受ける内部デバイスの範囲を解析する。段階810−4において、例示的な解析800は、監視されるネットワークの「外側」から「内側」に解析を移し、外部名(DNSメッセージ)のうちの任意のものをルックアップするか、または外部IPアドレスのうちの任意のものに接続されている(ネットワークフロー)かあるいはその両方の全ての内部デバイスを求める。フローおよびルックアップは内部IPアドレスを送達する。これらの内部IPアドレスは、段階810−4内で(履歴DHCP/ARP情報を用いて)自動的にMACアドレスに変換され、次に様々なデバイス(例えば、無線MACアドレスおよび有線MACアドレスを単一のマシンに一体化する)に展開される。
次に、解析800は、原因/影響解析およびリスク評価を実行する。段階810−5において、これらのデバイスから開始して、例示的な解析800は、いずれの認証情報がこれらのデバイスにおいて用いられてきたか(SSO、認証ログ)、およびこれらの不審なデバイスにおいて晒された可能性があるか、またはいずれの値アセットがこれらのデバイスからアクセスされたか(ネットワークフロー、高価値アセット情報)をルックアップする。
更なる調査されるデバイスの数は、ユーザ認証情報、または価値のあるアセットをホスティングしているアクセスされたサーバの特権に従ってそれらのデバイスを優先付けすることにより低減することができる。
例示的なシステムおよび製造品の詳細
当業者であれば理解するように、本発明の態様は、システム、方法またはコンピュータ・プログラム製品として実現することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、または本明細書において「回路」、「モジュール」もしくは「システム」と全て包括して呼ぶことができる、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとることができる。更に、本発明の態様は、コンピュータ可読プログラムコードが実現された1つまたは複数のコンピュータ可読媒体において実現されるコンピュータ・プログラム製品の形態をとることができる。
本発明の1つもしくは複数の実施形態、またはその要素は、メモリと、メモリに結合され、例示的な方法ステップを実行するように動作可能な少なくとも1つのプロセッサとを備える装置の形態で実施することができる。
1つまたは複数の実施形態は、例えば、プロセッサと、メモリと、例えばディスプレイおよびキーボードによって既知の方法で形成される入力/出力インターフェースとを備える汎用コンピュータまたはワークステーション上で実行されるソフトウェアを利用することができる。メモリは、例えば、本明細書において説明する様々なプロセスを実施するためのコードを記憶することができる。
本明細書において用いられる「プロセッサ」という用語は、例えば、CPU(中央処理装置)または他の形態の処理回路部あるいはその両方を備える処理デバイス等の任意の処理デバイスを含むように意図される。更に、「プロセッサ」という用語は、2つ以上の個々のプロセッサを指すことができる。「メモリ」という用語は、例えば、RAM(ランダムアクセスメモリ)、ROM(読み出し専用メモリ)、固定メモリデバイス(例えば、ハードドライブ)、取り外し可能メモリデバイス(例えば、ディスケット)、フラッシュメモリ等の、プロセッサまたはCPUに関連付けられたメモリを含むように意図される。
更に、本明細書において用いられる「入力/出力インターフェース」という語句は、例えば、処理ユニットにデータを入力するための1つまたは複数のメカニズム(例えば、マウス)、および処理ユニットに関連付けられた結果を提供するための1つまたは複数のメカニズム(例えば、プリンタ)を含むように意図される。プロセッサ、メモリ、ならびにディスプレイおよびキーボード等の入力/出力インターフェースは、例えば、データ処理ユニットの一部としてバスを介して相互接続することができる。適切な相互接続は、コンピュータネットワークとインターフェースするために提供することができるネットワークカード等のネットワーク・インターフェース、およびメディアとインターフェースするために提供することができるディスケットまたはCD−ROMドライブ等のメディアインターフェースにも提供することができる。
したがって、本明細書において説明されるように、本発明の方法を実行するための命令またはコードを含むコンピュータソフトウェアは、関連するメモリデバイス(例えば、ROMメモリ、固定メモリまたは取り外し可能メモリ)のうちの1つまたは複数に記憶することができ、利用される準備が整うと、部分的にまたは全体が(例えば、RAM内に)ロードされ、CPUによって実施される。そのようなソフトウェアは、限定ではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含むことができる。
プログラムコードを記憶するかまたは実行するか、あるいはその両方を行うのに適したデータ処理システムは、システムバスを通じてメモリ素子に直接または間接的に結合された少なくとも1つのプロセッサを備える。メモリ素子は、プログラムコードの実際の実施中に用いられるローカル・メモリと、バルクストレージと、実施中にバルクストレージからコードを取り出さなくてはならない回数を低減するために少なくとも何らかのプログラムコードの一時的なストレージを提供するキャッシュメモリとを含むことができる。
入力/出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない)は、(バス等を介して)直接、または介在するI/Oコントローラ(明確にするために省かれる)を通じてシステムに結合することができる。
ネットワーク・インターフェース等のネットワーク・アダプタは、データ処理システムが、介在するプライベート・ネットワークまたは公衆ネットワークを通じて、他のデータ処理システムまたは遠隔プリンタまたは記憶デバイスに結合されることを可能にするシステムにも結合することができる。モデム、ケーブルモデムおよびイーサネット(R)カードは、現在利用可能なタイプのネットワーク・アダプタのうちのいくつかに過ぎない。
特許請求の範囲を含めて、本明細書において用いられるとき、「サーバ」は、サーバ・プログラムを実行する物理的なデータ処理システムを含む。そのような物理的サーバは、ディスプレイおよびキーボードを含む場合も含まない場合もあることが理解されよう。
上記のように、本発明の態様は、コンピュータ可読プログラムコードが実現された1つまたは複数のコンピュータ可読において実現されるコンピュータ・プログラム製品の形態をとることができる。すなわち、1つまたは複数の配線を有するポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROMまたはフラッシュメモリ)、ポータブル小型ディスク読み出し専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、または上記の任意の適切な組合せを含む。
コンピュータ可読信号媒体は、例えば、ベースバンドにおいてまたは搬送波の一部として、コンピュータ可読プログラムコードが実現された伝播データ信号を含むことができる。そのような伝播信号は、限定ではないが、電磁、光またはそれらの任意の適切な組合せを含む様々な形態のうちの任意の形態をとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体でなく、命令実行システム、装置もしくはデバイスによって用いられるかまたはそれらと接続されるプログラムを通信、伝播またはトランスポートすることができる、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体上で実現されるプログラムコードは、限定ではないが、無線、有線、光ファイバーケーブル、RF等または上記の任意の適切な組合せを含む、任意の適切な媒体を用いて送信することができる。
本発明の態様のための動作を実行するコンピュータ・プログラムコードは、Java(R)、Smalltalk(R)、C++等のオブジェクト指向プログラミング言語および「C」プログラミング言語または同様のプログラミング言語等の従来の手続き型プログラミング言語等を含め、1つまたは複数のプログラミング言語の任意の組合せで書くことができる。プログラムコードは、完全にユーザコンピュータ上で実行することもできるし、スタンドアローンソフトウェアパッケージとして部分的にユーザのコンピュータ上で実行することもできるし、部分的にユーザのコンピュータ上で、かつ部分的に遠隔コンピュータ上で実行することもできるし、完全に遠隔コンピュータまたはサーバ上で実行することもできる。後者のシナリオでは、遠隔コンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続することもできるし、(例えば、インターネットサービスプロバイダを用いてインターネットを通じて)外部コンピュータへの接続を行うこともできる。
本発明の態様を、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して以下で説明する。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ・プログラム命令によって実施することができることが理解されよう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施する手段を作成するように、汎用コンピュータ、専用コンピュータまたは他のプログラム可能データ処理装置のプロセッサに提供され、マシンを作り出すことができる。
これらのコンピュータ・プログラム命令は、コンピュータ可読媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施する命令を含む製品を製造するように、コンピュータ可読媒体に記憶され、コンピュータ、他のプログラム可能データ処理装置または他のデバイスに特定の方式で機能するように指示することができる。
また、コンピュータ・プログラム命令を、コンピュータまたは他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定された機能/動作を実施するためのプロセスを提供するように、コンピュータ実装プロセスを生成させるべく、コンピュータ、他のプログラム可能データ処理装置または他のデバイス上にロードし、一連の動作ステップをコンピュータ、他のプログラム可能装置または他のデバイス上で実行することができる。
図に示すフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。これに関して、フローチャートまたはブロック図内の各ブロックは、指定の論理関数(複数の場合もある)を実施するための1つまたは複数の実行可能命令を含むモジュール、セグメントまたはコード部分を表すことができる。いくつかの代替的な実施態様において、ブロックに示される機能は、図に示すのと異なる順序で生じる場合があることにも留意するべきである。例えば、連続して示される2つのブロックは、実際に、実質的に同時に実行される場合もあるし、関与する機能/動作に応じて場合によっては逆の順序で実行される場合もある。また、ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する専用ハードウェアベースのシステム、または専用ハードウェアおよびコンピュータ命令の組合せによって実施することができることに留意されたい。
本明細書に記載の方法ステップは、例えば、本明細書に記載のように、そのようなステップを実行するようにプログラムされた汎用コンピュータ、またはそのようなステップを実行するためのハードウェアに関係することができる。更に、例えば、データストリームを取得しこのストリームを符号化することを含む本明細書に記載の方法ステップは、データストリームが取得されたカメラまたはマイクロフォン等の物理的なセンサに関連付けることもできる。
本明細書に記載の方法のうちの任意のものは、コンピュータ可読記憶媒体上に実現される別個のソフトウェアモジュールを備えるシステムを提供する追加のステップを含むことができることに留意するべきである。次に、方法ステップは、上記のように、1つまたは複数のハードウェアプロセッサ502上で実行される、システムの別個のソフトウェアモジュールまたはサブモジュールあるいはその両方を用いて実行することができる。いくつかの場合、専用ハードウェアを用いて本明細書に記載の機能のうちの1つまたは複数を実施することができる。更に、コンピュータ・プログラム製品は、別個のソフトウェアモジュールを有するシステムを提供することを含む、本明細書に記載の1つまたは複数の方法ステップを実行するよう実装されるようになっているコードを有するコンピュータ可読記憶媒体を備えることができる。
任意の場合に、本明細書に示すコンポーネントは、様々な形態のハードウェア、ソフトウェアまたはそれらの組合せにおいて実施することができることを理解するべきである。様々な形態は、例えば、特定用途向け集積回路(複数の場合もある)(ASICS)、機能回路、関連メモリを有する1つまたは複数の適切にプログラムされた汎用デジタルコンピュータ等である。本明細書において提供される本発明の教示を与えられると、当業者であれば、本発明のコンポーネントの他の実施態様を検討することができるであろう。
本明細書において用いられる用語は、特定の実施形態を説明する目的のみであり、本発明を限定することを意図していない。本明細書において用いられるとき、単数形「a」、「an」および「the」は、文脈により明らかに別段の指示がない場合、複数形も含むことを意図される。本明細書において用いられるとき、「含む(「comprises」または「comprising」あるいはその両方)」という用語は、述べられた特徴、完全体、ステップ、動作、要素またはコンポーネント、あるいはそれらの組合せの存在を指定するが、1つもしくは複数の他の特徴、完全体、ステップ、動作、要素、コンポーネントまたはそれらのグループ、あるいはこうしたものの組合せの存在または追加を排除するものではない。
以下の特許請求の範囲における、全ての手段またはステップおよび機能要素の対応する構造、材料、動作および均等物は、具体的に特許請求される他の特許請求される要素と組み合わせて機能を実行するための任意の構造、材料または動作を含むことが意図される。本発明の記載は、例証および説明の目的で提示されたが、網羅的であることも、本発明を開示される形態に限定することも意図していない。本発明の範囲および趣旨から逸脱することなく、多くの変更形態および変形形態が当業者には明らかであろう。実施形態は、本発明の原理および実際の応用形態を最も良く説明し、他の当業者が、検討される特定の使用に適した様々な変更形態を有する様々な実施形態について本発明を理解するのを可能にするために選ばれ、説明された。

Claims (17)

  1. データ処理方法であって、
    1つまたは複数のデータ・レコードを取得するステップと、
    領域知識に基づいて、前記1つまたは複数のデータ・レコードから特徴情報を抽出するステップと、
    前記抽出された情報を、少なくとも1つの処理デバイスにより、キーKおよび値Vで構成されるキー/値のペアに変換するステップであって、前記キーは前記抽出した特徴情報の特徴識別子を含む、前記変換するステップと、
    少なくとも1つの処理デバイスにより、重複排除メカニズムを用いて、前記キー/値のペアが特徴ストア・データベース内にまだ存在していない場合に、前記変換されたキー/値のペアを、値の複数のバケットからなる前記特徴ストア・データベースに値のバケットとして記憶するステップであって、前記値のバケットは、前記特徴ストア・データベース内の値の特定のバケットとして識別され、前記値のタイムスタンプに基づいて、前記値が前記バケットに書き込まれる順序に関係なく、前記値を数学的集合として格納する、記憶するステップ、
    を含む、データ処理方法。
  2. 前記記憶するステップは、前記キーKを用いて前記特徴ストア・データベース内のレコードをルックアップするステップと、前記ルックアップが失敗した場合、前記キーKおよび前記値Vが新しいと判断し、キーKおよび値Vの新たなレコードを前記特徴ストア・データベースに書き込むステップとを更に含む、請求項1に記載の方法。
  3. 前記記憶するステップは、前記特徴ストア・データベース内のレコードを探索して、Vが前記レコード内にまだ存在するか否かを判断するステップを更に含む、請求項1に記載の方法。
  4. 前記値Vが前記レコード内に存在しない場合、前記値Vを前記レコードに加え、前記レコードを前記特徴ストア・データベースに記憶するステップを更に含む、請求項3に記載の方法。
  5. 1つまたは複数の規定された収集器に前記キー/値のペアを転送するステップを更に含む、請求項4に記載の方法。
  6. 前記値Vが前記レコード内に存在する場合、前記抽出されたキー/値のペアに関連付けられた新たなタイムスタンプTSを、既存の前記レコード内の前記値Vに既に関連付けられた既存のタイムスタンプTSと比較し、前記新たなタイムスタンプTSが前記既存のタイムスタンプTSよりも早い場合、前記新たなタイムスタンプTSを、Vを有する前記レコードに配置し、前記特徴ストア・データベース内の前記レコードを更新するステップを更に含む、請求項3に記載の方法。
  7. 前記キー/値のペアおよびタイムスタンプTSを1つまたは複数の規定された収集器に転送するステップを更に含む、請求項6に記載の方法。
  8. タイムスタンプを前記キー/値のペアに関連付けるステップを更に含む、請求項1に記載の方法。
  9. 前記抽出された情報は、リアルタイムの処理および履歴による処理のうちの1つまたは両方で処理される、請求項1に記載の方法。
  10. 前記データ・レコードは地理的に分散している、請求項1に記載の方法。
  11. 前記取得するステップおよび前記抽出するステップは、階層構造の収集システムを用いる、請求項1に記載の方法。
  12. 1つまたは複数のデータ・レコードから抽出された1つまたは複数の特徴をクエリするための方法であって、
    複数の値のバケットからなる特徴ストア・データベースを取得するステップであって、前記特徴ストアは、キー/値のペアとして記録された1つまたは複数のデータ・レコードから抽出された特徴に含められており、ここで前記キーは抽出された特徴の特徴識別子を含み、ここで前記キー/値のペアは、前記特徴識別子を含む前記キーによって識別されるバケットに記録され、ここで前記値のバケットは、前記値のタイムスタンプに基づいて、前記値が前記バケットに書き込まれる順序に関係なく、前記値を数学的集合として格納する、取得するステップと、
    少なくとも1つの処理デバイスを用いて、少なくとも1つのクエリ・キーで構成されるクエリを受信するステップであって、前記少なくとも1つのクエリ・キーが少なくとも1つの前記特徴識別子から構成される、受信するステップと、
    少なくとも1つの処理デバイスを用いて、前記特徴ストア・データベースから値を取得するステップであって、キーに関連付けられた値の前記バケットの1つを取得することで、前記特徴ストア・データベースから前記クエリ・キーに合致する値を取得するステップと
    1つまたは複数の取り出したキー/値のペアを返すステップと、
    を含む、方法。
  13. サポートされるキー/値のペアをレジストリに登録するステップを更に含む、請求項12に記載の方法。
  14. 特徴を与えるクエリ・サーバを所与の名前を用いて識別するステップを更に含む、請求項12に記載の方法。
  15. 前記所与の名前で構成される所与のクエリを前記識別されたクエリ・サーバに送信するステップを更に含む、請求項14に記載の方法。
  16. 請求項1〜15の何れか1項に記載の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
  17. 請求項16に記載の前記コンピュータ・プログラムをコンピュータ可読記録媒体に記録した、コンピュータ可読記録媒体
JP2016515326A 2013-05-22 2014-02-24 データを処理するための方法、有形機械可読記録可能記憶媒体および装置、ならびにデータ・レコードから抽出された特徴をクエリするための方法、有形機械可読記録可能記憶媒体および装置 Expired - Fee Related JP6490059B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/899,784 US9495420B2 (en) 2013-05-22 2013-05-22 Distributed feature collection and correlation engine
US13/899,784 2013-05-22
PCT/US2014/017947 WO2014189575A1 (en) 2013-05-22 2014-02-24 Distributed feature collection and correlation engine

Publications (2)

Publication Number Publication Date
JP2016519384A JP2016519384A (ja) 2016-06-30
JP6490059B2 true JP6490059B2 (ja) 2019-03-27

Family

ID=51933933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016515326A Expired - Fee Related JP6490059B2 (ja) 2013-05-22 2014-02-24 データを処理するための方法、有形機械可読記録可能記憶媒体および装置、ならびにデータ・レコードから抽出された特徴をクエリするための方法、有形機械可読記録可能記憶媒体および装置

Country Status (5)

Country Link
US (2) US9495420B2 (ja)
JP (1) JP6490059B2 (ja)
CN (1) CN105229597B (ja)
GB (1) GB2529122A (ja)
WO (1) WO2014189575A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104710B2 (en) * 2013-03-15 2015-08-11 Src, Inc. Method for cross-domain feature correlation
US20150312154A1 (en) * 2014-04-25 2015-10-29 NSONE Inc. Systems and methods comprising one or more data feed mechanisms for improving domain name system traffic management
US10601698B2 (en) * 2015-02-06 2020-03-24 International Business Machines Corporation Techniques for managing telemetry data for content delivery and/or data transfer networks
US11283697B1 (en) 2015-03-24 2022-03-22 Vmware, Inc. Scalable real time metrics management
US11010341B2 (en) * 2015-04-30 2021-05-18 Netflix, Inc. Tiered cache filling
US10594562B1 (en) 2015-08-25 2020-03-17 Vmware, Inc. Intelligent autoscale of services
WO2017218016A1 (en) * 2016-06-17 2017-12-21 Hewlett-Packard Development Company, L.P. Replaceable item authentication
TWI645303B (zh) * 2016-12-21 2018-12-21 財團法人工業技術研究院 字串驗證方法、字串擴充方法與驗證模型訓練方法
US20190114323A1 (en) * 2017-10-13 2019-04-18 DataJaguar, Inc. System And Method For Storing Data Records In Key-Value Database
CN109284833B (zh) * 2018-08-22 2023-07-18 中国平安人寿保险股份有限公司 为机器学习模型获取特征数据的方法、设备和存储介质
CN109299164B (zh) * 2018-09-03 2024-05-17 中国平安人寿保险股份有限公司 一种数据查询方法、计算机可读存储介质及终端设备
CN109726315A (zh) * 2018-10-24 2019-05-07 阿里巴巴集团控股有限公司 数据查询方法、装置、计算设备及存储介质
EP4239484A3 (en) 2018-10-26 2024-01-03 VMware, Inc. Collecting samples hierarchically in a datacenter
CN111459980A (zh) * 2019-01-21 2020-07-28 北京京东尚科信息技术有限公司 监控数据的存储和查询方法及装置
CN111694801A (zh) * 2019-03-14 2020-09-22 北京沃东天骏信息技术有限公司 一种应用于故障恢复的数据去重方法和装置
US11582120B2 (en) 2019-05-30 2023-02-14 Vmware, Inc. Partitioning health monitoring in a global server load balancing system
US10917766B1 (en) * 2020-03-10 2021-02-09 Sprint Communications Company L.P. System and methods for bring your own device eligibility platform
US11747996B2 (en) * 2020-08-05 2023-09-05 Dropbox, Inc. System and methods for implementing a key-value data store
CN113032621B (zh) * 2021-03-11 2024-06-28 超参数科技(深圳)有限公司 数据采样方法、装置、计算机设备和存储介质
US11811861B2 (en) 2021-05-17 2023-11-07 Vmware, Inc. Dynamically updating load balancing criteria
US11792155B2 (en) 2021-06-14 2023-10-17 Vmware, Inc. Method and apparatus for enhanced client persistence in multi-site GSLB deployments
CN113923176B (zh) * 2021-09-30 2023-05-23 完美世界(北京)软件科技发展有限公司 即时通讯的消息撤回方法、装置、设备及计算机可读介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6978275B2 (en) 2001-08-31 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system for mining a document containing dirty text
US7894677B2 (en) 2006-02-09 2011-02-22 Microsoft Corporation Reducing human overhead in text categorization
WO2007147166A2 (en) 2006-06-16 2007-12-21 Quantum Leap Research, Inc. Consilence of data-mining
CN101334785B (zh) * 2008-07-30 2010-11-10 浙江大学 分布式文件***虚拟目录组织及命名空间管理的方法
US9176964B1 (en) * 2008-08-18 2015-11-03 Guidance Software, Inc. Scalable deduplication system and method
JP5336827B2 (ja) * 2008-11-28 2013-11-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、データベース・システム、情報処理方法およびプログラム
US9208453B2 (en) * 2009-02-13 2015-12-08 Paypal, Inc. Targeted multi-dimension data extraction for real-time analysis
CN101902458B (zh) * 2010-02-21 2013-04-24 中国联合网络通信集团有限公司 跨主机进程间通信的方法、装置及***
US20110276744A1 (en) * 2010-05-05 2011-11-10 Microsoft Corporation Flash memory cache including for use with persistent key-value store
CN102033748B (zh) * 2010-12-03 2013-11-06 中国科学院软件研究所 一种数据处理流程代码的生成方法
US8972484B2 (en) 2011-02-17 2015-03-03 International Business Machines Corporation Method and apparatus for efficient and accurate analytics with cross-domain correlation
CN102129469B (zh) * 2011-03-23 2014-06-04 华中科技大学 一种面向虚拟实验的非结构化数据访问方法
US20120310882A1 (en) * 2011-06-03 2012-12-06 Apple Inc. Key value data storage
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
US9378263B2 (en) * 2012-06-19 2016-06-28 Salesforce.Com, Inc. Method and system for creating indices and loading key-value pairs for NoSQL databases
US8949180B1 (en) * 2012-06-28 2015-02-03 Emc International Company Replicating key-value pairs in a continuous data protection system
US8904047B1 (en) * 2012-06-29 2014-12-02 Emc Corporation Cloud capable storage system with high perormance nosql key-value pair operating environment

Also Published As

Publication number Publication date
WO2014189575A1 (en) 2014-11-27
US9495420B2 (en) 2016-11-15
GB201521731D0 (en) 2016-01-27
US20140351226A1 (en) 2014-11-27
GB2529122A (en) 2016-02-10
CN105229597B (zh) 2018-09-25
JP2016519384A (ja) 2016-06-30
US9489426B2 (en) 2016-11-08
US20140351227A1 (en) 2014-11-27
CN105229597A (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
JP6490059B2 (ja) データを処理するための方法、有形機械可読記録可能記憶媒体および装置、ならびにデータ・レコードから抽出された特徴をクエリするための方法、有形機械可読記録可能記憶媒体および装置
US11606379B1 (en) Identifying threat indicators by processing multiple anomalies
US11924251B2 (en) System and method for cybersecurity reconnaissance, analysis, and score generation using distributed systems
US11343268B2 (en) Detection of network anomalies based on relationship graphs
US11757945B2 (en) Collaborative database and reputation management in adversarial information environments
US20170142143A1 (en) Identifying notable events based on execution of correlation searches
US20190182101A1 (en) Log file processing for root cause analysis of a network fabric
US20210241926A1 (en) Sensor data device
US20220141188A1 (en) Network Security Selective Anomaly Alerting
US11968239B2 (en) System and method for detection and mitigation of data source compromises in adversarial information environments
US11792157B1 (en) Detection of DNS beaconing through time-to-live and transmission analyses
US11533323B2 (en) Computer security system for ingesting and analyzing network traffic
WO2021243321A1 (en) A system and methods for score cybersecurity
Schales et al. FCCE: highly scalable distributed feature collection and correlation engine for low latency big data analytics
CN103078771B (zh) 基于p2p的僵尸网络分布式协作检测***和方法
US11949547B2 (en) Enhanced simple network management protocol (SNMP) connector
TWI634769B (zh) Method for detecting domain name transformation botnet through proxy server log
Sharma et al. A Graph Database-Based Method for Network Log File Analysis
US11902081B1 (en) Managing collection agents via an agent controller
US11909750B1 (en) Data reduction and evaluation via link analysis
US11736452B1 (en) Secure update of dashboard properties
US11936545B1 (en) Systems and methods for detecting beaconing communications in aggregated traffic data
CN117692243A (zh) 攻击链路还原方法、装置、计算机设备和存储介质
Schales et al. Stream Computing for Large-Scale, Multi-Channel Cyber Threat Analytics: Architecture, Implementation, Deployment, and Lessons Learned
Blackman Rapid forensic crime scene analysis using inexpensive sensors

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190226

R150 Certificate of patent or registration of utility model

Ref document number: 6490059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees