(57)【要約】【課題】事前情報が少量である場合であっても、教師なし学習を用いて、ボットネットの司令塔サーバを高精度で検知できる。【解決手段】検知装置１０は、各々のサーバに対して、ネットワーク通信情報からネットワーク通信特徴を生成する特徴生成部１５２と、ネットワーク通信特徴が類似するサーバを同じ集団に分類する分類部１５３と、マルウェアに感染したボットを制御する司令塔サーバを示す脅威情報を、分類部１５３が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属するすべてのサーバを司令塔サーバの候補として判定する候補判定部１５４と、司令塔サーバの候補毎に既知の司令塔サーバとの隣接ノードを用いて、類似度合いに関するスコアを計算し、予め決められたスコア基準を満たした司令塔サーバの候補を司令塔サーバとして検知する検知部１５５と、を有する。【選択図】図１
2018169907.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク通信情報を収集する収集部と、
各々のサーバに対して、前記ネットワーク通信情報からネットワーク通信特徴を生成する特徴生成部と、
前記特徴生成部が生成した前記ネットワーク通信特徴が類似する前記サーバを同じ集団に分類する分類部と、
マルウェアに感染したボットを制御する司令塔サーバを示す脅威情報を、前記分類部が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属するすべてのサーバを司令塔サーバ候補として判定する候補判定部と、
前記司令塔サーバの候補毎に既知の司令塔サーバとの、グラフ上の隣接ノードを用いて、類似度合いに関するスコアを計算し、予め決められたスコア基準を満たした司令塔サーバの候補を司令塔サーバとして検知する検知部と、
前記検知部が検知した前記司令塔サーバを示す情報を外部へ出力する出力部と、
を有することを特徴とする検知装置。
【請求項２】
前記特徴生成部は、複数の特徴量に対して、一つ或いは複数の次元変換、次元圧縮アルゴリズムを用いて、前記ネットワーク通信特徴から隠れた特徴を生成し、
前記分類部は、前記特徴生成部が生成した前記ネットワーク通信特徴を用いてサーバ間の距離を計算するアルゴリズムを用いてサーバを分類することを特徴とする請求項１に記載の検知装置。
【請求項３】
前記検知部は、前記司令塔サーバの候補毎に、個々の既知の司令塔サーバとの隣接ノードからJaccard係数をそれぞれ計算し、該計算したJaccard係数の合計値を前記司令塔サーバの候補のスコアとすることを特徴とする請求項１または２に記載の検知装置。
【請求項４】
前記検知部は、前記スコア基準として、スコアの上位パーセンテージ或いは上位絶対数を選択することを特徴とする請求項３に記載の検知装置。
【請求項５】
検知装置が実行する検知方法であって、
ネットワーク通信情報を収集する収集工程と、
各々のサーバに対して、前記ネットワーク通信情報からネットワーク通信特徴を生成する特徴生成工程と、
前記ネットワーク通信特徴が類似する前記サーバを同じ集団に分類する分類工程と、
マルウェアに感染したボットを制御する司令塔サーバを示す脅威情報を、分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属するすべてのサーバを司令塔サーバ候補として判定する候補判定工程と、
前記司令塔サーバの候補毎に既知の司令塔サーバとの隣接ノードを用いて、類似度合いに関するスコアを計算し、予め決められたスコア基準を満たした司令塔サーバの候補を司令塔サーバとして検知する検知工程と、
検知した前記司令塔サーバを示す情報を外部へ出力する出力工程と、
を含んだことを特徴とする検知方法。
【請求項６】
ネットワーク通信情報を収集する収集ステップと、
各々のサーバに対して、前記ネットワーク通信情報からネットワーク通信特徴を生成する特徴生成ステップと、
前記ネットワーク通信特徴が類似する前記サーバを同じ集団に分類する分類ステップと、
マルウェアに感染したボットを制御する司令塔サーバを示す脅威情報を、分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属するすべてのサーバを司令塔サーバ候補として判定する候補判定ステップと、
前記司令塔サーバの候補毎に既知の司令塔サーバとの隣接ノードを用いて、類似度合いに関するスコアを計算し、予め決められたスコア基準を満たした司令塔サーバの候補を司令塔サーバとして検知する検知ステップと、
検知した前記司令塔サーバを示す情報を外部へ出力する出力ステップと、
をコンピュータに実行させるための検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置、検知方法及び検知プログラムに関する。
【背景技術】
【０００２】
ボットネットとは、マルウェアと呼ばれるコンピュータウィルスなどによって多くの端末やサーバに、遠隔操作可能である攻撃用プログラムを送り込み、外部からの指令で一斉に攻撃を行わせるネットワークである。このネットワークは、攻撃を司令するする司令塔サーバと、攻撃用プログラムに感染した端末やサーバ（ボット）群から構成される。従来、教師あり学習、または、教師なし学習の二つの手法を用いて、ボットネットの司令塔サーバを検知していた。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Leyla  Bilge,  Engin  Kirda,  Davide  Balzarotti,  Christopher  Kruegel,  William  Robertson，“DISCLOSURE:  Detecting  Botnet  Command  and  Control  Servers  Through  Large-Scale  NetFlow  Analysis”，  28th  Annual  Computer  Security  Applications  Conference,  December  3-7,  2012.
【非特許文献２】Guofei  Gu,  Roberto  Perdisci,  Junjie  Zhang,  and  Wenke  Lee,“BotMiner:  Clustering  Analysis  of  Network  Traffic  for  Protocol-  and  Structure-Independent  Botnet  Detection”，  17th  USENIX  Security  Symposium  p139−p154,  USENIX  Association,  2008
【発明の概要】
【発明が解決しようとする課題】
【０００４】
教師なし学習をネットワーク（ＮＷ）フロー情報に適用した場合、悪性の司令塔サーバの分類と検知とを行う際に大量な事前知識を要しないことに優れている。しかしながら、教師なし学習では、多種多様な正規サービスと司令塔サーバとが混在するフロー情報において、分類精度が低下してしまう課題がある。
【０００５】
本発明は、上記に鑑みてなされたものであって、事前情報が少量である場合であっても、教師なし学習を用いて、ボットネットの司令塔サーバを高精度で検知できる検知装置、検知方法及び検知プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、ネットワーク通信情報を収集する収集部と、各々のサーバに対して、ネットワーク通信情報からネットワーク通信特徴を生成する特徴生成部と、特徴生成部が生成したネットワーク通信特徴が類似するサーバを同じ集団に分類する分類部と、マルウェアに感染したボットを制御する司令塔サーバを示す脅威情報を、分類部が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属するすべてのサーバを司令塔サーバの候補として判定する候補判定部と、司令塔サーバの候補毎に既知の司令塔サーバとの隣接ノードを用いて、類似度合いに関するスコアを計算し、予め決められたスコア基準を満たした司令塔サーバの候補を司令塔サーバとして検知する検知部と、検知部が検知した司令塔サーバを示す情報を外部へ出力する出力部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、事前情報が少量である場合であっても、教師なし学習を用いて、ボットネットの司令塔サーバを高精度で検知できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態に係る検知装置の概略構成を示す模式図である。
【図２】図２は、図１に示す特徴生成部の処理を説明する図である。
【図３】図３は、図１に示す特徴生成部が生成する特徴の一例を示す図である。
【図４】図４は、図１に示す分類部の処理を説明する図である。
【図５】図５は、図１に示す候補判定部の処理を説明する図である。
【図６】図６は、図１に示す検知部の処理を説明する図である。
【図７】図７は、本実施の形態に係る検知処理の処理手順を示すフローチャートである。
【図８】図８は、本実施の形態に係る検知方法と、従来技術に係る検知方法との司令塔サーバの検知精度を示す図である。
【図９】図９は、プログラムが実行されることにより、検知装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１０】
［実施の形態］
まず、実施の形態に係る検知装置について、概略構成、検知処理の流れ及び具体例を説明する。図１は、実施の形態に係る検知装置の概略構成を示す模式図である。検知装置１０は、ネットワーク内におけるフローデータを基に、マルウェアに感染したボット（サーバ）を制御する司令塔サーバを検知し、検知した司令塔サーバを示す情報を外部の攻撃対処装置等へ出力する。検知装置１０は、図１に示すように、入力部１１、出力部１２、通信部１３、記憶部１４及び制御部１５を有する。
【００１１】
入力部１１は、検知装置１０の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部１１は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。出力部１２は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現され、検知処理に関する情報を出力する。
【００１２】
通信部１３は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他の装置と制御部１５（後述）との間の通信を行う。例えば、通信部１３は、ネットワーク内におけるフローデータを、インプットとして受信し、制御部１５に出力する。また、通信部１３は、制御部１５が検知した司令塔サーバを示す情報を外部の攻撃対処装置等へ出力する。
【００１３】
記憶部１４は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１４は、検知装置１０で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。さらに、記憶部１４は、プログラムの実行で用いられる各種情報を記憶する。
【００１４】
記憶部１４は、外部脅威情報１４１を有する。外部脅威情報１４１は、外部から入手されたものであり、第三者によって検知された既知の司令塔サーバを示す情報（ブラックリスト）である。外部脅威情報１４１は、既知の司令塔サーバを識別するＩＰ（Internet  Protocol）アドレスやポート番号等の情報を含む。
【００１５】
制御部１５は、検知装置１０全体を制御する。制御部１５は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１５は、各種のプログラムが動作することにより各種の処理部として機能する。制御部１５は、収集部１５１、特徴生成部１５２、分類部１５３、候補判定部１５４及び検知部１５５を有する。
【００１６】
収集部１５１は、ネットワーク通信情報を収集する。収集部１５１は、通信部から出力された、ネットワーク内におけるフローデータを用いて、ボットネットの司令塔サーバ検知のためのネットワーク通信情報を収集する。
【００１７】
特徴生成部１５２は、フローデータ中に示された各々のサーバについて、ネットワーク通信情報を基にネットワーク通信特徴を生成する。特徴生成部１５２は、サーバごとに発信或いは受信した通信の複数のネットワーク通信特徴を生成する。特徴生成部１５２は、与えられた条件に応じて、司令塔サーバ候補毎の発信と受信した通信のいずれかを用い、各々の特徴の中の任意の複数の項目を用いて、ネットワーク通信特徴を生成する。特徴生成部１５２は、複数の特徴量に対して、一つ或いは複数の次元変換・次元圧縮アルゴリズムを組み合わせることによって、ネットワーク通信特徴から隠れた特徴を生成する。
【００１８】
分類部１５３は、特徴生成部１５２が生成したネットワーク通信特徴が類似するサーバを同じ集団に分類する。分類部１５３は、特徴生成部１５２が生成したネットワーク通信特徴を基にサーバ間の距離を計算するアルゴリズムを用いてサーバを分類する。
【００１９】
候補判定部１５４は、マルウェアに感染したボットを制御する司令塔サーバを示す脅威情報を、分類部１５３が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属するすべてのサーバを司令塔サーバの候補として判定する。候補判定部１５４は、所定量として、事前に与えられた閾値を用いる、或いは、統計的な手法を用いて計算した閾値を用いる。言い換えると、候補判定部１５４は、教師データである外部脅威情報１４１により既知の悪性の司令塔サーバの振る舞いと類似する未知な司令塔サーバの候補を抽出する。
【００２０】
検知部１５５は、司令塔サーバの候補毎に既知の司令塔サーバとの、グラフ上の隣接ノードを用いて、類似度合いに関するスコアを計算し、予め決められたスコア基準を満たした司令塔サーバの候補を司令塔サーバとして検知する。言い換えると、検知部１５５は、グラフ分析の手法をさらに適用し、振る舞いの類似性に加え、グラフ上の共通離接ノードにより候補をスコアリングする。そして、検知部１５５は、最終的にスコアの高い司令塔サーバの候補を、司令塔サーバとして絞り込み、検知する。
【００２１】
具体的には、検知部１５５は、司令塔サーバの候補毎に、個々の既知の司令塔サーバとの、グラフ上の隣接ノードからJaccard係数をそれぞれ計算し、該計算したJaccard係数の合計値を司令塔サーバの候補のスコアとする。検知部１５５は、スコア基準として、スコアの上位パーセンテージ或いは上位絶対数を選択する。
【００２２】
ここで、Jaccard係数は、二つの集合の類似度を表す数値表現の一つである。具体的には、二つの集合を集合Ａ及び集合Ｂとした場合には、以下の（１）式を用いて計算できる。すなわち、分母には二つの集合のＯＲを取ったときの要素数であり、分子には二つの集合のＡＮＤを取ったときの要素数が該当する。
【００２３】
【数１】
2018169907.tif 000003
【００２４】
このように、本実施の形態に係る検知装置１０は、教師なし学習のアプローチを改良し、一以上或いは複数の次元変換、次元圧縮アルゴリズムを組み合わせて有効な特徴量を生成し検査対象を分類する。この上で、検知装置１０は、小量な教師データである事前情報（外部脅威情報１４１）により既知の悪性の司令塔サーバの振る舞いと類似する未知な司令塔サーバの候補を抽出する。さらに、検知装置１０は、グラフ分析の手法をさらに適用し、振る舞いの類似性に加え、グラフ上の共通離接ノードにより候補をスコアリングし、最終的にスコアの高い候補を絞り込むことによって、未知の司令塔サーバを検知する。続いて、検知装置１０における各構成部の処理について詳細に説明する。
【００２５】
［特徴生成部の処理］
まず、特徴生成部１５２の処理について説明する。特徴生成部１５２は、各々のサーバについて、ネットワーク通信情報を基にネットワーク通信特徴を生成する。特徴生成部１５２は、サーバごとに発信或いは受信した通信の複数のネットワーク通信特徴を生成する。
【００２６】
図２は、図１に示す特徴生成部１５２の処理を説明する図である。図２に示すように、特徴生成部１５２は、各々のサーバについて、入力されたフローデータ（図２の（１）参照）を用いて、複数のネットワーク通信特徴を生成する。
【００２７】
このとき、特徴生成部１５２は、生成した複数のネットワーク通信特徴（図２の表Ｔ１の「Feature1」の列の各値）を、ディープニューラルネットワークＮ１による特徴学習を適用して次元変換及び次元圧縮する（図２の表Ｔ１の「Feature2」の列の各値）。これによって、特徴生成部１５２は、有効な特徴量の生成を可能としている（図２の（２）参照）。特徴生成部１５２は、ディープニューラルネットワークを使用する複数のオートエンコーダで特徴学習を行っている。言い換えると、特徴生成部１５２は、一以上或いは複数の次元変換、次元圧縮アルゴリズムを組み合わせることによって、有効な特徴量を生成する。
【００２８】
そして、図３は、図１に示す特徴生成部１５２が生成する特徴の一例を示す図である。図３の表Ｔ２は、「カテゴリ（Category）」、「特徴（Feature）」、「フローの方向（Direction）」及び特徴量「Fiatre  ＃」が項目として示されている。カテゴリとして、「Active  taime（活動時間）」、「Access  host  number（ホスト（サーバ）の数）」、「Packet  volume」、「Flow  sequence」がある。
【００２９】
このうち、表Ｔ２の１行目に示す活動時間は、観測されたタイムウィンド数を用いて、特徴生成部１５２によって生成されるネットワーク特徴量である。タイムウィンドとは、ルート解析等で利用されるものであり、ネットワークロケーションを訪れてよい時間帯のことある。特徴生成部１５２は、図３の例では、活動時間の特徴量として、送信元及び送信先が識別番号「２」のサーバについて、「in」、「out」のタイムウィンドをカウントした場合には、特徴量を１×２＝２として計算する。
【００３０】
表Ｔ２の２行目に示す「Access  host  number（ホストの数）」は、観測されたユニークなホストの全数、５分毎のユニークなホストの数からなる行列の平均値、標準偏差値、最大値及び最小値を用いて、特徴生成部１５２によって生成されるネットワーク特徴量である。そして、特徴生成部１５２は、５分あたりの観測されたユニークなホストの数の、タイムウィンド毎のユニークなホストの数からなる行列の平均値、標準偏差値、最大値及び最小値と、フローの方向が「in」、「out」の２方向であることとを基に、このカテゴリの特徴量を５×２＝１０として計算する。
【００３１】
表Ｔ３の３行目に示す「Packet  volume」は、タイムウィンド毎の通信フロー数、パケット数、バイト数からなるそれぞれの行列の、ユニークなホストあたりの平均値、標準偏差値、最大値、最小値を用いたネットワーク通信の特徴を用いて、特徴生成部１５２によって生成されるネットワーク特徴量である。特徴生成部１５２は、ホストあたりの５分間のフローの平均値、標準偏差値、最大値、最小値と、フローあたりのパケットの平均値、標準偏差値、最大値、最小値と、パケットあたりのバイトの平均値、標準偏差値、最大値、最小値と、フローの方向が「in」、「out」の２方向であることとに基づいて、このカテゴリの特徴量を１２×２＝２４として計算する。
【００３２】
表Ｔ２の４行目に示す「Flow  sequence」は、ＴＣＰフラグの有無を表す行列の列毎の平均値を用いて、特徴生成部１５２によって生成されるネットワーク通信シーケンスの特徴量である。特徴生成部１５２は、ＴＣＰフラグである「ＵＲＧ、ＡＣＫ、ＰＳＨ、ＲＳＴ、ＳＹＮ、ＦＩＮ」のベクトルの平均と、フローの方向が「in」、「out」の２方向であることとに基づいて、このカテゴリの特徴量を６×２＝１２として計算する。
【００３３】
特徴生成部１５２は、これらの項目に示す複数のネットワーク通信特徴を、サーバごとに生成する。また、特徴生成部１５２は、与えられた条件に応じて、サーバごとの発信と受信した通信とのいずれかのみを用いてネットワーク通信特徴を生成する。そして、特徴生成部１５２は、与えられた条件に応じて、各々の特徴の中の任意の複数の項目を自由に用いてネットワーク通信特徴を生成する。さらに、上述したように、特徴生成部１５２は、複数の次元変換・次元圧縮アルゴリズムを用いて、ネットワーク通信特徴から隠れた特徴を生成するため、隠れた特徴も含んだ有効なネットワーク通信特徴量を生成することができる。
【００３４】
［分類部の処理］
続いて、分類部１５３の処理について説明する。図４は、図１に示す分類部１５３の処理を説明する図である。分類部１５３は、特徴生成部１５２が生成したネットワーク通信特徴が類似するサーバを同じ集団に分類する。言い換えると、分類部１５３は、特徴生成部１５２が生成した隠れた特徴も含んだ有効なネットワーク通信特徴量を用いて、サーバをそれぞれ類似する集団に分類する。具体的には、分類部１５３は、図４の表Ｔ１に示す複数の特徴量を用いて、特徴が類似するサーバを同じ集団に分類する。
【００３５】
分類部１５３は、図４の例では、グラフＧ１に示すように、令塔サーバの候補を、３つの集団に分類する。このとき、特徴生成部１５２が、複数の特徴量に対して、一つ或いは複数の特徴次元・次元圧縮アルゴリズムを用いて、ネットワーク通信特徴から隠れた特徴を生成した上で、分類部１５３は、サーバ間の距離を計算するアルゴリズムを用いて、サーバを３つの集団に分類する。例えば、分類部１５３は、分類のために、ＤＢＳＣＡＮ（Density-Based  Spatial  Clustering  of  Applications  with  Noise）等の距離を計算するクラスタリングアルゴリズムを用いる。
【００３６】
［候補判定部の処理］
次に、候補判定部１５４の処理について説明する。候補判定部１５４は、分類部１５３が分類した各集合に対し、外部脅威情報１４１であるブラックリストを照合して、既知の悪意のある司令塔サーバのＩＰアドレスが、所定量以上である集団がある場合、この集団に属する全てのサーバを司令塔サーバ候補として判定する。
【００３７】
図５は、図１に示す候補判定部１５４の処理を説明する図である。例えば、図５に示すように、ブラックリストにＩＰ「Ａ」，ＩＰ「Ｂ」が既知の司令塔サーバのＩＰアドレスとして記載されている場合（図５の（１）参照）を例に説明する。この場合、候補判定部１５４は、分類部１５３が分類したcluster１〜３（図５の（２）参照）に対し、このブラックリストを照合する。例えば、所定量が「１」である場合について説明する。
【００３８】
cluster１について、cluster１に含まれる３台のサーバのうちブラックリスト内のＩＰアドレスである２台のサーバＡ，Ｂを含むため、候補判定部１５４は、cluster１に属する３台全てのサーバを司令塔サーバの候補として判断する（図５の（３）の１行目参照）。これに対し、候補判定部１５４は、cluster２，３では、ブラックリスト内のＩＰアドレスであるサーバが含まれないため、このcluster２，３に属するサーバは、司令塔サーバの候補ではないと判断する（図５の（３）の３，５行目参照）。
【００３９】
なお、候補判定部１５４は、所定量として、事前に与えられた閾値を用いる。或いは、候補判定部１５４は、所定量として、統計的な手法を用いて計算した閾値を用いる。このように、候補判定部１５４が使用する閾値は、適切に設定されたものであるため、検知精度を高く保持することができる。また、候補判定部１５４は、既知の司令塔サーバのＩＰアドレスの割合が、所定値以上である集団がある場合、この集団に属する全てのサーバを司令塔サーバの候補として判断してもよい。
【００４０】
［検知部の処理］
次に、検知部１５５の処理について説明する。図６は、図１に示す検知部１５５の処理を説明する図である。図６は、司令塔サーバの候補であるサーバＸ，Ｙをグラフ化した図である。また、図６では、サーバＡ，Ｂが既知の司令塔サーバである。
【００４１】
まず、検知部１５５は、司令塔サーバの候補毎に既知の司令塔サーバとの、グラフ上の隣接ノードを用いて、類似度合いに関するスコアを計算する。この場合、検知部１５５は、司令塔サーバの候補毎に、個々の既知の司令塔サーバとの隣接ノードからJaccard係数をそれぞれ計算する。
【００４２】
具体的には、各司令塔サーバの候補をｉとし、外部脅威情報１４１である既知のブラックリストに示された各司令塔サーバをｊとして、検知部１５５は、サーバ（ｉ，ｊ）の組ごとにJaccard係数であるＪ（ｉ，ｊ）を計算する。そして、検知部１５５は、計算したJaccard係数の合計値を司令塔サーバの候補のスコアとする。
【００４３】
例えば、図６に示すサーバＸについては、（２）式に示すように、Ｊ（Ｘ，Ａ）及びＪ（Ｘ，Ｂ）の加算値４／３がスコアになる。また、サーバＹについては、（３）式に示すように、Ｊ（Ｙ，Ａ）及びＪ（Ｙ，Ｂ）の加算値２／５がスコアになる。
【００４４】
【数２】
2018169907.tif 000004
【数３】
2018169907.tif 000005
【００４５】
この場合、検知部１５５は、スコア基準として、例えば、上位絶対数Ｎ（＝１）を選択しており、このＮ以上のスコアを有する司令塔サーバの候補を、司令塔サーバとして検知する。図６の場合、検知部１５５は、サーバＸ及びサーバＹのうち、スコアが１以上であるサーバＸを、司令塔サーバとして検知する。この結果、検知装置１０は、入力されたフローデータを基に、サーバＸが司令塔サーバであることを示す検知結果を、外部装置等に出力して検知処理を終了する。
【００４６】
［検知処理の処理手順］
次に、実施の形態に係る検知処理の処理手順について説明する。図７は、本実施の形態に係る検知処理の処理手順を示すフローチャートである。
【００４７】
図７に示すように、まず、収集部１５１が、通信部１３を介して、検知対象のネットワーク通信情報を収集する（ステップＳ１）。続いて、特徴生成部１５２は、各々のサーバについて、ネットワーク通信情報を基にネットワーク通信特徴を生成する特徴生成処理を行う（ステップＳ２）。そして、分類部１５３は、特徴生成部１５２が生成したネットワーク通信特徴が類似するサーバを同じ集団に分類する分類処理を行う（ステップＳ３）。
【００４８】
続いて、候補判定部１５４は、外部脅威情報１４１を、分類部１５３が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属する全てのサーバを、司令塔サーバの候補として判定する候補判定処理を行う（ステップＳ４）。そして、検知部１５５は、司令塔サーバの候補毎に既知の司令塔サーバとの隣接ノードを用いてスコアを計算し、予め決められたスコア基準を満たした司令塔サーバの候補を司令塔サーバとして検知する検知処理を行う（ステップＳ５）。続いて、検知装置１０は、検知部１５５が検知した司令塔サーバを示す情報を外部へ出力する出力処理を行い（ステップＳ６）、検知装置１０は、検知処理を終了する。
【００４９】
［評価結果］
本実施の形態に係る検知装置１０の検知精度を評価するために、所定のフローデータ及びブラックリストを用いて、本実施の形態に係る検知方法を用いて司令塔サーバの検知を行った。比較として、同じフローデータ及びブラックリストを対し、従来技術に係る方法（詳細は、Kazumichi  Sato，  keisuke  Ishibashi，  Tsuyoshi  Toyono，  Nobuhisa  Miyake，“Extending  Black  Domain  Name  List  by  Using  Co-occurrence  Relation  between  DNS  queries”，USENIX  Association  Berkeley,  CA,  USA，  2010参照）、基礎技術に係る方法についても実施した。図８は、本実施の形態に係る検知方法と、従来技術に係る検知方法との司令塔サーバの検知精度を示す図である。縦軸は、精度を示し、横軸は、Top  N  Score（Ｎ値の最大値）を示す。
【００５０】
図８に示すように、本実施の形態に係る検知方法を適用することによって、従来技術及び基礎技術と比して、格段に高い精度で司令塔サーバを検知できることが分かった。さらに、上位絶対数が高い場合にも、７０％近い精度で司令塔サーバを検知することができる。このため、本実施の形態によれば、従来技術と比較して、司令塔サーバを高精度に検知することができる。
【００５１】
［実施の形態の効果］
このように、本実施の形態に係る検知装置１０は、各サーバの有効なネットワーク通信特徴量を生成し、各サーバを分類する。そして、検知装置１０は、外部脅威情報１４１を、分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属する全てのサーバを、司令塔サーバの候補として判定する。すなわち、検知装置１０は、事前知識により既知の悪性の司令塔サーバの振舞と類似する未知な司令塔サーバの候補を抽出する。さらに、検知装置１０は、グラフ分析の手法をさらに適用し、振る舞いの類似性に加え、グラフ上の共通隣接ノードにより候補をスコアリングし、最終的にスコアの高い候補を司令塔サーバとして絞り込んでいる。
【００５２】
したがって、本実施の形態に係る検知装置１０は、教師なし学習のアプローチを改良し、一定の精度を実現した教師なしクラスタリングに加え、グラフ分析をさらに適用することによって、事前情報が少量である場合であっても、教師なし学習を用いて、ボットネットの司令塔サーバを高精度で検知できる。また、検知装置１０は、一つ或いは複数の次元変換、次元圧縮アルゴリズムを組み合わせることによって、有効な特徴量を生成できるため、各サーバを、類似する集団に、高精度で分類できる。
【００５３】
［実施の形態のシステム構成について］
図１に示した検知装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、検知装置１０の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【００５４】
また、検知装置１０において行われる各処理は、全部または任意の一部が、ＣＰＵおよびＣＰＵにより解析実行されるプログラムにて実現されてもよい。また、検知装置１０において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【００５５】
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【００５６】
［プログラム］
図９は、プログラムが実行されることにより、検知装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００５７】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００５８】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、検知装置１０の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、検知装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００５９】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００６０】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６１】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００６２】
１０  検知装置
１１  入力部
１２  出力部
１３  通信部
１４  記憶部
１５  制御部
１４１  外部脅威情報
１５１  収集部
１５２  特徴生成部
１５３  分類部
１５４  候補判定部
１５５  検知部
【図１】
2018169907.tif 000006
【図２】
2018169907.tif 000007
【図３】
2018169907.tif 000008
【図４】
2018169907.tif 000009
【図５】
2018169907.tif 000010
【図６】
2018169907.tif 000011
【図７】
2018169907.tif 000012
【図８】
2018169907.tif 000013
【図９】
2018169907.tif 000014