【文献】
Hode Eldardiry, et al.,Multi-Domain Information Fusion for Insider Threat Detection,2013 IEEE Security and Privacy Workshops (SPW),米国,IEEE,2013年 3月24日,pp.45-51
(58)【調査した分野】(Int.Cl.,DB名)
前記ドメインデータは、Eメールの平均数、Eメールの話題別のコンテンツ、ファイルの平均数、HTTPアクセスの平均数、HTTPアクセスのためのアドレス、およびログオンの平均数のうちの1つ以上を含む、請求項1に記載のシステム。
【発明を実施するための形態】
【0009】
これらの図面では、同様の参照符号は図面の同じ要素を指す
【0010】
本発明の実施形態では、マルチドメインの確率モデルを用いてユーザのクラスタリングを行い、このクラスタリング情報を用いてユーザの行動を同様の職務を行う他のユーザの行動と比較することにより異常を検知することで、内部者の異常な行動を検知するという課題を解決する。ドメインとは、ユーザの行動情報の供給源である。例えば、ドメインは、装置へのアクセス、Eメール、ファイルのコピーおよび/またはアクセス、ハイパーテキスト・トランスファー・プロトコル(HTTP)へのアクセス、またはログオン行動のうちの1つでよい。悪意のある行動を検知するシステムでは、異なるドメインからユーザの行動情報を集め、そのユーザの行動情報に基づいて、そのユーザのクラスタリングを行い、ユーザの行動を同様の職務を行う他のユーザ(同僚とも呼ばれる)と比較することにより、異常なユーザの行動を検知することができる。異なる職務ごとに異なるユーザ行動パターンがあるため、これらのクラスタは組織構成におけるユーザの職務に対応可能である。職務とは、組織における人間の仕事のことである。例えば、職務には、ソフトウェアエンジニアまたは弁護士が含まれ得る。
【0011】
異常な行動を検知する上で基本的な見識は、組織内では、ユーザの職務が異なれば、Eメールのやり取り、ファイルへのアクセスなどのパターンが違うということである。例えば、ソフトウェアエンジニアは、コンピュータプログラムをコンパイルしテストするときに一日に何百ものソースコードおよびオブジェクトファイルにアクセスする可能性がある。またソフトウェアエンジニアは、ほとんど内部Eメールを送信しないことが多い。一方、弁護士は、一日にいくつかの法律文書にしかアクセスせず、他の組織のクライアントと頻繁にEメールのやり取りを行う可能性がある。これらの異なる職務では、Eメールのやり取りのパターン、およびファイルのアクセスのパターンが違う。例えば、Eメールおよびファイルの使用パターンによるクラスタリングなど、複数のドメインによりユーザのクラスタリングを行い、ユーザを同様の職務を行う他のユーザと比較して異常を検知することで、このシステムは異常なユーザ行動を検知することができる。
【0012】
本明細書で記載のシステムでは、一連の利用可能なドメイン全体に関して、マルチドメインモデル(いわゆる、グローバルモデル)を用い、そのマルチドメインモデル内で異常値を見つけ出す。このモデリングによる戦略には2つの利点がある。第1に、このシステムは、データ駆動方式で複数のドメインからの異常スコアを組合せる。第2に、この戦略では、単一ドメイン内ではそれ自体異常ではない、異常挙動を検知し易くなる。
【0013】
このシステムでは、本明細書に開示したマルチドメインの確率モデルを用いてユーザのクラスタリングを行うことができる。マルチドメインの確率モデルにより、クラスタに関連するドメインの確率分布、および複数のクラスタ間のユーザの分布の推測が容易になる。ユーザのクラスタとは、クラスタの確率分布内のドメイン特性を有するユーザの集まりである。ドメイン特性とは、例えば、ユーザが毎日送信するEメールの数である。その他のドメイン特性として、ユーザが毎日アクセスするファイルの数を挙げることができる。各クラスタには、組織内で同様の職務を行うユーザが含まれる。
【0014】
各クラスタは、ドメインごとの分布に関連する。例えば、各クラスタは、そのクラスタ内のユーザが送信したEメールの数に関する分布、およびそのクラスタ内のユーザがアクセスしたファイルの数に関する分布に関連し得る。異常なユーザの行動を検知するために、このシステムでは、同じ職務を行うユーザとその他のユーザを比較し、そのユーザが異常なEメールおよびファイル使用パターンを示しているかどうかを判定する。
【0015】
ユーザの異常な行動を検知するために、このシステムでは、ドメインごとにユーザのクラスタリングを別々に行って、単一ドメインのクラスタ索引を各ユーザに関連付け、次いで、単一ドメインのクラスタ索引により、それらのユーザのクラスタリングを行うこともできる。例えば、このシステムは、毎日(または、任意の所定の期間内に)アクセスするファイルの平均数に従って、ユーザのクラスタリングを行うことができ、かつ毎日(または、任意の所定の期間内に)やり取りするEメールの平均数に従って、ユーザのクラスタリングを行うことができる。このシステムでは、Eメールのドメインに関する単一ドメインのクラスタ数を各ユーザと関連付け、かつファイルのドメインに関する単一ドメインのクラスタ数を各ユーザと関連付ける。次いで、このシステムは、異なるドメインからの単一ドメインのクラスタ数に従って、ユーザのクラスタリングを行い、それにより、ユーザごとの離散分布を生成する。次いで、このシステムは、単一ドメインのクラスタのユーザ分布を、そのユーザと同様の職務を行う別のユーザと比較して、異常を検知することができる。さらに、このシステムは、各ドメインに関するユーザごとに異常スコアを計算し、ドメインに関する別々の異常スコアに重みを付けることにより、異常スコアの総計を計算することができる。
【0016】
本明細書に記載の方法では、標準の多変量確率の推測技術を用いて結合確率分布を推測する。本明細書に記載の方法を適用したシステムでは、ドメインデータを取得し、次いで、開示された確率モデルと共に標準の確率の推測技術を用いて、クラスタのドメインの確率分布、およびクラスタ間のユーザの分布を判定することができる。ドメインデータとは、ドメインに関連するユーザの行動を記述したデータのことである。開示の確率モデルは生成モデルであり、トピックモデルの一般ファミリーに属する。トピックモデルは文書に関する生成モデルであり、確率法(probability procedure)を規定し、この確率法により、文書を生成することができる(例えば、ユーザおよび職務のデータ)。
【0017】
なお、クラスタをサンプリングし、次いでそのクラスタからユーザをサンプリングすることにより、開示された確率モデルに関連する生成プロセスを実行することができる。最初に、関連した索引を有するクラスタをサンプリングする。これらのクラスタは、同様のEメールおよびファイルの使用パターンを有するユーザに対応する。各クラスタには、一連のパラメータ
【数1】
があり、これらのパラメータ
【数2】
により、そのクラスタ内で同じグループに分けることができるユーザ、およびこれらのユーザに関連するドメイン特性が判定される。例えば、あるクラスタには、ソフトウェアエンジニアのタイプのユーザが含まれ得る。別のクラスタには、弁護士タイプのユーザが含まれ得る。クラスタをサンプリングした後、そのクラスタに関連するパラメータからユーザをサンプリング可能である。アクセスされたファイルの数または送信されたEメールの数をサンプリング可能である。
【0018】
続くセクションでは、マルチ・ドメイン・クラスタリングに関する確率モデル、マルチドメインの分析を用いる単一ドメインのクラスタリングに関する技術、クラスタリングプロセス、および悪意のある行動を検知するシステムの実装形態の一例について説明する。なお、本開示では、Eメールのドメインおよびファイルアクセスのドメインを用いて例を提供しているが、本発明の実施形態は、特定のドメインの分析には限定されない。
【0019】
図1は、一実施形態に従った、マルチドメインの確率モデルに基づく異常の検知を容易にするシステムを示す図である。
図1では、サーバ102がネットワーク104を介してドメインデータを受信する。ドメインデータには、Eメールの送受信、およびファイルへのアクセスなどのユーザの行動が記述されている。例えば、ドメインデータには、ソフトウェアエンジニアの職務を行うユーザ106が行った行動が記述され得る。ユーザ106は、オブジェクトファイルおよびソースコードを含む、1000のファイルに一日でアクセスし、一日平均3通のEメールを送信する可能性がある。別の例として、ドメインデータには弁護士の職務を行うユーザ108が行った行動が記述され得る。ユーザ108は、法律文書を含む4つのファイルに一日でアクセスし、一日に20通のEメールを送信する可能性がある。
【0020】
種々のコンピュータ、および/または、その他の電子装置により収集可能なデータには、ユーザが所定の期間内に送受信したEメールの数、所定の期間内にアクセスしたファイルの数、Eメールの話題別のコンテンツ、所定の期間内のログオン数、所定の期間内に訪れたウェブサイトの数と種類、所定の期間内のHTTPアクセス数、HTTPアクセスのためのアドレス、所定の期間内のログオン数、および所定の期間内に訪れたウェブサイトの数などのユーザの行動が記述されている。
【0021】
ドメインデータには、ユーザがアクセスするファイルの種類も含むことができる。例えば、ソフトウェアエンジニアはソースコードまたはオブジェクトのファイルにアクセスする可能性があり、弁護士はワープロ文書にアクセスする可能性がある。このシステムは、Eメールを含んだ文書の話題の分布を分析することができる。このシステムは、集められたデータの全ての平均を計算するなど、集められたデータに関する統計を取ることもできる。例えば、システムは、一日にログオンのためにアクセスされた装置の数の平均を計算することができる。
【0022】
事象データを受信後、サーバ102は、ユーザの行動データのクラスタリングを行うことができる。これには、クラスタに関連するドメインに関する確率分布の判定、およびクラスタ間のユーザの分布の判定も含まれる。
【0023】
分布の判定を終了すると、システムは、このモデルを用いて異常なユーザ挙動を検知することができる。システム、および/または、人間の操作者がユーザの行動とそのユーザの同僚の行動と比較して、そのドメイン内でユーザが同じように行動したかどうかを判定することができる。ユーザ同士が職務またはポジションを共有している場合、彼らは同僚である。ユーザが、ドメイン内で他の同僚と同じように行動していない場合、そのユーザの挙動を異常と表示することができる。ユーザの行動が予測不能な場合、システムはユーザを異常と表示することができる。例えば、同じ職務を行う他のユーザが送信または読むEメールの一般的な数よりも少ない数のEメールをユーザが送信または読む場合、システムは異常としてユーザにフラグを立てることができる。
【0024】
図2には、一実施形態に従った、マルチ・ドメイン・クラスタリングを行うための例示的な確率モデルを示すブロック図が示されている。
図2に示す確率モデルには、クラスタの異なる変数間の依存構造(dependency structures)が示されている。確率モデルの依存構造が矢印により示されている。なお、依存関係およびノードを取り除いたり、加えたりして、モデルを一連の異なるドメインに適合させることは可能である。
【0025】
図2では、各ノード(円など)は、確率モデル内の変数に対応する。ノード202aおよび202cは、クラスタに関連するドメインに関する分布を表す変数である。ノード202bはユーザuの職務を表し、ユーザuに関連するクラスタに対応する。このシステムは、ノード204a、204bにより表されるドメインデータを受信する。次いで、受信したドメインデータに基づいて、このシステムはノード202a〜202cにより表される潜在変数の確率分布を判定する。依存関係と同様に、ノードを変更したり取り除いたりして異なるドメインに適合させることは可能である。Rは職務の総数の数字を表し、1/Rはユーザに関連する職務のうちの1つを表す。Multは、これがマルチドメインの確率モデルであることを示している。但し、ユーザは組織内で複数の肩書きおよび責任を与えられる可能性があるため、ユーザは複数の職務に関連する可能性がある。
【0026】
図2では、α
1およびα
2は、ハイパーパラメータである。ベイズ統計学では、ハイパーパラメータとは前分布のパラメータである。前分布とは、パラメータまたは分布の潜在変数についての不確実性を表す確率分布である。前分布は、一般にエキスパートの主観的評価である。この図では、α
1は、第1のドメインに関連する
【数3】
に関する前分布のパラメータを表し、α
2は、第2のドメインに関連する
【数4】
に関する前分布のパラメータを表す。α
1およびα
2の値は推定可能である。ノード204aおよび204bに関して、
【数5】
および
【数6】
は、それぞれ第1のドメインおよび第2のドメインに関して監視されるデータを表す。ハイパーパラメータ(図示せず)を供給し、職務に対応するクラスタ間のユーザの分布を表すr
uに関する前分布を推定することも可能である。
【0027】
図3には、一実施形態に従った、マルチドメインの確率モデルを用いてクラスタリングを行うことにより異常を検知する、例示的な処理のフローチャートが示されている。動作中、システムは、最初にユーザが送信したEメールの数およびユーザがアクセスしたファイルの数などのドメインデータを集める(動作302)。システムは、ユーザの行動データを自ら集めることも、ログ記録を有するコンピュータ、あるいは監視装置または人間からユーザの行動データを取得し、ユーザの行動に関するデータを集めることもできる。コンピュータの操作者が事象データを入力することができる。あるいは、装置により、そのようなユーザの行動データを自動的に集めることもできる。次に、このシステムは、
【数7】
および
【数8】
の前分布に関するパラメータとして、それぞれ推定されたα
1およびα
2の値を取得する(動作304)。
【0028】
このシステムは、人間の操作者による入力を通して、両方の推定値を取得することができる。このシステムは、推定値を前もって格納されているデータから取得することができる。あるいは推定値を生成することにより取得することもできる。次いで、システムは、
【数9】
および
【数10】
に関するクラスタの確率分布を判定する(動作306)。システムは、ユーザごとのクラスタ索引、およびドメインごとの確率分布を出力する。クラスタ索引は、ユーザに関する職務(例えば、弁護士、ソフトウェアエンジニア)に関連する。ドメインに関する確率分布により、各クラスタに関連する職務が特徴付けられる。ユーザのデータを、ユーザが関連するクラスタに関する分布値および分布の期待値と比較することにより、このシステムは、ユーザのデータごとの単一の確率推定値を計算することもできる。次いで、システムは、ユーザを同僚と比較して異常を検知することができる(動作308)。
【0029】
このシステムは、標準的な技術のうちの1を適用して、ドメインデータに基づくクラスタ内のドメインの確率分布を判定することができる。これらの技術には、ギブスサンプリングまたは変分推論が含まれる。ギブスサンプリングは、確率推論に関する標準的な方法である。ギブスサンプリングとは、多変量確率分布から(例えば、2つ以上の変数の結合確率分布から)観察結果のシーケンスを取得するためのマルコフ連鎖モンテカルロ(MCMC)アルゴリズムである。このシステムは、このシーケンスを用いて結合分布を概算する。変分推論を用いることで、このシステムは、いくらかのデータを考慮して、一連の非観測変数に渡る事後分布を概算する(例えば、ドメインの証拠を観察後ドメインの分布を概算する)。
【0030】
但し、本発明の実施形態は、ギブスサンプリングまたは変分推論には限定されず、このシステムは、確率分布を推測するためのその他のアルゴリズムを用いることも可能である。
【0031】
クラスタの確率分布を判定した後、このシステムは確率モデルの精度を測定することができる。このシステムは、推測された確率から架空のユーザを生成し、この生成されたユーザを実際のユーザと比較して、このモデルが正確かどうかを判定することができる。
【0032】
図4は、一実施形態に従った、マルチドメインの整合性の推定を示すブロック図である。いくつかの実施形態では、このシステムは、直接ドメインデータのクラスタリングを行うかわりに、2つのステージでクラスタリングを行うことが可能である。このシステムは第1のステージで、クラスタ個々のドメインに関するドメインデータの予備クラスタリングを行って、単一ドメインのクラスタを生成する。システムは第2のステージで、単一ドメインのクラスタのクラスタリングを行って、職務に対応するマルチドメインのクラスタにユーザが関連するようにする。次いで、このシステムは、ユーザを同僚と比較して、単一ドメインのクラスタのユーザの分布がユーザの同僚と一致するかどうかを判定する。単一ドメインのクラスタの分布が、単一ドメインのクラスタの同僚の分布と一致しない場合、このシステムはそのユーザの行動を異常と表示することができる。
【0033】
図4には、2つのドメインに対応する単一ドメインのクラスタの2つのセットが示されている。最初にシステムは、標準のクラスタリング技術を用いて、ドメインデータから単一ドメインのクラスタを生成することができる。例えば、このシステムは、K平均法によるクラスタリングを適用して、ドメインデータのクラスタリングを行うことができる。但し、このK平均法によるクラスタリングとは、クラスタ分析に関する技術であり、この技術により複数の観察結果がK個のクラスタ内に分類され、各観測結果は最も近い平均値を有するクラスタに属する。
【0034】
このシステムは、Eメールのドメインのクラスタ402a、402b、および402cをそれぞれクラスタ索引1、2、および3を用いて表示することができる。このシステムはまた、ファイルのドメインのクラスタ404a、404b、および404cをそれぞれクラスタ索引1、2、および3用いて表示することができる。次いで、このシステムは、各ユーザを各ドメイン内のクラスタ索引と関連付ける。このシステムは、
図2からの確率グラフ200など、マルチドメインの確率グラフを用いて、ユーザの単一ドメインのクラスタ索引をクラスタリングする。本実施形態では、ノード204aおよび204bは、個々の単一ドメインのクラスタ索引を表す。ノード202aおよび202cは、ユーザごとに異なるドメインに渡る単一ドメインのクラスタ索引の分布を表す。
【0035】
分布内の値が、ユーザが関連する単一ドメインのクラスタに関する索引を示すため、ノード202aおよび202cに関する分布
【数11】
および
【数12】
は離散分布である。但し、いくつかの実装形態では、数十または数百のドメインが存在する可能性があり、ユーザは、それらの各ドメインに関連する単一ドメインのクラスタ索引値を有し得る。α
1およびα
2は、それぞれ
【数13】
および
【数14】
の前分布に関するパラメータを表す。このシステムは、確率分布を判定するための標準的な技術のうちの1つを適用することができる。次いで、このシステムは、この分布を分析して異常を検知することができる。下記に、システムが、どのように分布を分析して異常を検知するかの様々な例をさらに説明する。
【0036】
別のドメインに関するユーザのクラスタ索引から、あるドメインに関するユーザのクラスタ索引を予測しようと試みることにより、このシステムはユーザの行動が異常かどうかを判定可能である。ある実施形態では、このシステムは、クラスタベクトルc
uを生成することができ、c
uiは、ドメインi内のユーザuに関する最大事後確率(MAP)のクラスタ索引である。ベイズ統計学では、MAPの推定は事後分布のモードである。第1のステージで、システムはドメインごとのユーザごとにMAPのクラスタ索引を判定し、このクラスタ索引をベクトルc
uに加えることができる。
【0037】
ユーザuに関して、ドメインのクラスタ索引c
uiがその他のクラスタ索引{c
uj}
j≠iから予測可能である場合、ドメインiは整合する。最も簡単な場合、このシステムは、その他のユーザw≠uのクラスタ索引を用いて、{c
wj}
j≠iからc
wiへのマッピングを学習し、このマッピングがユーザuを一般化するかどうか判定可能である。この技術を用いることにより、このシステムは、ドメインiがこのユーザに関するその他のドメインと一致するかどうかを判定することができる。一致しない場合、このシステムは、そのユーザを外れ値として表示することができる。その他のユーザに関するドメインiに対する全体的な予測精度に基づいて、このシステムは異常スコアを判定することができる。ドメインの予測が一般的に困難な場合、このシステムは不正確な予測に対して厳しくペナルティを課すべきではない。対照的に、非常に予測が可能なドメインに対して、システムは全ての不正確な予測に対して異常と判定可能である。
【0038】
実装形態では、システムは、1つ抜き法を用いてユーザの異常な行動を特定することができる。システムは、1つ除いた全てのドメインのドメイン値を固定することにより、特定のユーザを分析する。この基本的な原理は、通常の個々の要素は予測可能であるはずであるということである。システムは、そのドメインのクラスタの数の予測を試みる。予測が不正確な場合、システムは、ユーザの行動を異常と認識することができる。例えば、このシステムは、ログオン=1、装置=2、ファイル=3、およびEメール=1となるように、ユーザに関するドメイン値(例えば、クラスタ数)を設定することができる。次いで、システムは、HTTPドメインに関するクラスタ数の予測を試みる。予測が不正確な場合、システムはユーザの行動を異常として表示することができる。
【0039】
いくつかの実施形態では、このシステムがドメインごとに異常スコアを計算し、次いで異常スコアを組合せることができる。このシステムは、ドメイン間の異常スコアを、データ駆動方式で、自動的に組合せることができる。その結果、データ内ではよくある差異を、このシステムは取り除くことができる。例えば、(データのボリュームにより)、ユーザが少なくとも1つのドメインにおいて外れ値を示すことがよくある場合、そのユーザが1つのドメインだけで異常でも、このシステムはユーザに対して全体的な異常としてフラグを立てない。
【0040】
このシステムは、ドメインごとに異常スコアを計算し、個々のドメインに重みを付けることにより、異常スコアを組合せることができる。ドメインdおよびユーザiに関する異常スコアは、
【数15】
である。ここで、Nはユーザの総数であり、jはj=1〜Nからの各ユーザjである。このシステムは、ドメインdごとに予測外れ値m(d,i)を調整して、重みを付けた値をドメインに反映させることができる。次いで、このシステムは、ユーザiに関する異常スコアs(i)の総計を
【数16】
として計算することができる。
【0041】
図5には、本発明の一実施形態に従った、ユーザのマルチ・ドメイン・クラスタリングを行うための例示的なシステムの図が示されている。ある実施形態では、コンピュータおよび通信システム500は、プロセッサ502、メモリ504、および記憶装置506を含む。記憶装置506は、アプリケーション510および512などの複数のアプリケーションを格納する。記憶装置506はまた、マルチ・ドメイン・クラスタリング・システム508も格納する。動作中、マルチ・ドメイン・クラスタリング・システム508などの1つ以上のアプリケーションが、記憶装置506からメモリ504に読み込まれ、次いで、プロセッサ502により実行される。プログラムを実行中、プロセッサ502は上記の機能を行う。コンピュータおよび通信システム500は、随意的なディスプレイ514、キーボード516、およびポインティングディバイス518に接続する。