(57)【要約】      （修正有）【課題】教師データが少量である場合であっても、教師あり学習を用いて、ボットネットの司令塔サーバを検知できる検知装置、検知方法及び検知プログラムを提供する。【解決手段】検知装置１０は、ネットワーク通信情報を収集する収集部１５１と、ネットワーク通信情報から、マルウェアを感染したボットと該ボットを制御する司令塔サーバとの間の通信プロトコルと接続構造との少なくとも一方が類似するホスト間通信を行うサーバを司令塔サーバの候補として抽出する候補抽出部１５２と、各々の司令塔サーバの候補について、ネットワーク通信情報を基にネットワーク通信特徴を生成する特徴生成部１５３と、ネットワーク通信特徴が類似する司令塔サーバの候補を同じ集団に分類する分類部１５４と、外部脅威情報１４１を、分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を司令塔サーバとして検知する検知部１５５と、を有する。【選択図】図１
2018169897.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク通信情報を収集する収集部と、
前記ネットワーク通信情報から、マルウェアに感染したボットと該ボットを制御する司令塔サーバとの間の通信プロトコルと接続構造との少なくとも一方が類似するホスト間通信を行うサーバを前記司令塔サーバの候補として抽出する候補抽出部と、
前記候補抽出部が抽出した各々の司令塔サーバの候補について、前記ネットワーク通信情報を基にネットワーク通信特徴を生成する特徴生成部と、
前記特徴生成部が生成した前記ネットワーク通信特徴が類似する前記司令塔サーバの候補を同じ集団に分類する分類部と、
前記司令塔サーバを示す脅威情報を、前記分類部が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を前記司令塔サーバとして検知する検知部と、
前記検知部が検知した前記司令塔サーバを示す情報を外部へ出力する出力部と、
を有することを特徴とする検知装置。
【請求項２】
前記候補抽出部は、前記ホスト間通信に使われたポート番号と前記司令塔サーバにおける通信プロトコルのポート番号との一致性に基づいて前記ボットと前記司令塔サーバとの間の通信プロトコルに類似する通信を判断し、同一サーバに一定量以上のホストがアクセスした通信を、前記ボットと前記司令塔サーバとの間の接続構造に類似する通信として判断することを特徴とする請求項１に記載の検知装置。
【請求項３】
前記特徴生成部は、前記司令塔サーバの候補ごとに発信或いは受信した通信の複数のネットワーク通信特徴を生成し、前記複数のネットワーク通信特徴として、観測されたタイムウィンド数を用いた活動時間の特徴と、全体期間において観測されたユニークなホストの数、タイムウィンド毎のユニークなホストの数からなる行列の平均値、標準偏差値、最大値及び最小値を用いたボット数の特徴と、タイムウィンド毎の通信フロー数、パケット数、バイト数からなるそれぞれの行列の、ユニークなホストあたりの平均値、標準偏差値、最大値、最小値を用いたネットワーク通信の特徴と、或いは、全てのＴＣＰフラグの有無を表す行列の列毎の平均値を用いたネットワーク通信シーケンスの特徴と、を生成し、
前記特徴生成部は、与えられた条件に応じて、司令塔サーバの候補毎の発信と受信した通信のいずれかを用い、各々の特徴の中の任意の複数の項目を用いて、前記ネットワーク通信特徴を生成することを特徴とする請求項１または２に記載の検知装置。
【請求項４】
前記特徴生成部は、複数の特徴量に対して、一つ或いは複数の次元変換、次元圧縮アルゴリズムを用いて、前記ネットワーク通信特徴から隠れた特徴を生成することを特徴とする請求項１〜３のいずれか一つに記載の検知装置。
【請求項５】
前記分類部は、前記特徴生成部が生成した前記ネットワーク通信特徴を用いて司令塔サーバの候補間の距離を計算するアルゴリズムを用いて前記司令塔サーバを分類することを特徴とする請求項１〜４のいずれか一つに記載の検知装置。
【請求項６】
前記検知部は、前記所定量は、事前に与えられた閾値、或いは、統計的な手法を用いて計算した閾値であることを特徴とする請求項１〜５のいずれか一つに記載の検知装置。
【請求項７】
検知装置が実行する検知方法であって、
ネットワーク通信情報を収集する収集工程と、
前記ネットワーク通信情報から、マルウェアを感染したボットと該ボットを制御する司令塔サーバとの間の通信プロトコルと接続構造との少なくとも一方が類似するホスト間通信を行うサーバを前記司令塔サーバの候補として抽出する候補抽出工程と、
各々の前記司令塔サーバの候補について、ネットワーク通信情報を基にネットワーク通信特徴を生成する特徴生成工程と、
前記ネットワーク通信特徴が類似する前記司令塔サーバの候補を同じ集団に分類する分類工程と、
前記司令塔サーバを示す脅威情報を、分類した各々の前記集団に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を前記司令塔サーバとして検知する検知工程と、
検知した前記司令塔サーバを示す情報を外部へ出力する出力工程と、
を含んだことを特徴とする検知方法。
【請求項８】
ネットワーク通信情報を収集する収集ステップと、
前記ネットワーク通信情報から、マルウェアを感染したボットと該ボットを制御する司令塔サーバとの間の通信プロトコルと接続構造との少なくとも一方が類似するホスト間通信を行うサーバを前記司令塔サーバの候補として抽出する候補抽出ステップと、
各々の前記司令塔サーバの候補について、ネットワーク通信情報を基にネットワーク通信特徴を生成する特徴生成ステップと、
前記ネットワーク通信特徴が類似する前記司令塔サーバの候補を同じ集団に分類する分類ステップと、
前記司令塔サーバを示す脅威情報を、分類した各々の前記集団に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を前記司令塔サーバとして検知する検知ステップと、
検知した前記司令塔サーバを示す情報を外部へ出力する出力ステップと、
をコンピュータに実行させるための検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検知装置、検知方法及び検知プログラムに関する。
【背景技術】
【０００２】
ボットネットとは、マルウェアと呼ばれるコンピュータウィルスなどによって多くの端末やサーバに、遠隔操作可能である攻撃用プログラムを送り込み、外部からの指令で一斉に攻撃を行わせるネットワークである。このネットワークは、攻撃を司令するする司令塔サーバと、攻撃用プログラムに感染した端末やサーバ（ボット）群から構成される。従来、教師あり学習、または、教師なし学習の二つの手法を用いて、ボットネットの司令塔サーバを検知していた。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＩｏＴ（Internet  of  Things）などの短期間で大規模化したボットネットの場合、従来の教師あり学習では、教師データ（ブラックリスト）が不十分であるため、検知精度が低下してしまうことから、司令塔サーバの検知としては、教師なし学習を用いたアプローチが望ましい。しかしながら、従来の教師なし学習では、着目するデータ量が多いため、検知対象候補の効率的な絞り込みと特徴量の生成とができず、検知精度が不十分になるという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、教師データが少量である場合であっても、教師あり学習を用いて、ボットネットの司令塔サーバを検知できる検知装置、検知方法及び検知プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、ネットワーク通信情報を収集する収集部と、ネットワーク通信情報から、マルウェアを感染したボットと該ボットを制御する司令塔サーバとの間の通信プロトコルと接続構造との少なくとも一方が類似するホスト間通信を行うサーバを司令塔サーバの候補として抽出する候補抽出部と、候補抽出部が抽出した各々の司令塔サーバの候補について、ネットワーク通信情報を基にネットワーク通信特徴を生成する特徴生成部と、特徴生成部が生成したネットワーク通信特徴が類似する司令塔サーバの候補を同じ集団に分類する分類部と、司令塔サーバを示す脅威情報を、分類部が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を司令塔サーバとして検知する検知部と、検知部が検知した司令塔サーバを示す情報を外部へ出力する出力部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、教師データが少量である場合であっても、教師あり学習を用いて、ボットネットの司令塔サーバを検知できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態に係る検知装置の概略構成を示す模式図である。
【図２】図２は、図１に示す候補抽出部の処理を説明する図である。
【図３】図３は、図１に示す特徴生成部の処理を説明する図である。
【図４】図４は、図１に示す特徴生成部が生成する特徴の一例を示す図である。
【図５】図５は、図１に示す分類部の処理を説明する図である。
【図６】図６は、図１に示す検知部の処理を説明する図である。
【図７】図７は、本実施の形態に係る検知処理の処理手順を示すフローチャートである。
【図８】図８は、プログラムが実行されることにより、検知装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１０】
［実施の形態］
まず、実施の形態に係る検知装置について、概略構成、検知処理の流れ及び具体例を説明する。図１は、実施の形態に係る検知装置の概略構成を示す模式図である。検知装置１０は、ネットワーク内におけるフローデータを基に、ボットネットの司令塔サーバを検知し、検知した司令塔サーバを示す情報を外部の攻撃対処装置等へ出力する。検知装置１０は、図１に示すように、入力部１１、出力部１２、通信部１３、記憶部１４及び制御部１５を有する。
【００１１】
入力部１１は、検知装置１０の操作者からの各種操作を受け付ける入力インタフェースである。例えば、入力部１１は、タッチパネル、音声入力デバイス、キーボードやマウス等の入力デバイスによって構成される。出力部１２は、例えば、液晶ディスプレイなどの表示装置、プリンタ等の印刷装置、情報通信装置等によって実現され、検知処理に関する情報を出力する。
【００１２】
通信部１３は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部１３は、ＮＩＣ（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）等の集積回路である。また、制御部１５は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１５は、各種のプログラムが動作することにより各種の処理部として機能する。制御部１５は、収集部１５１、候補抽出部１５２、特徴生成部１５３、分類部１５４及び検知部１５５を有する。
【００１６】
収集部１５１は、ネットワーク通信情報を収集する。収集部１５１は、通信部から出力された、ネットワーク内におけるフローデータを用いて、ボットネットの司令塔サーバ検知のためのネットワーク通信情報を収集する。
【００１７】
候補抽出部１５２は、ネットワーク通信情報から、マルウェアを感染したボットと該ボットを制御する司令塔サーバとの間の通信プロトコルと接続構造との少なくとも一方が類似するホスト間通信を行うサーバを、司令塔サーバの候補として抽出する。候補抽出部１５２は、ホスト間通信に使われたポート番号と司令塔サーバにおける通信プロトコルのポート番号との一致性に基づいてボットと司令塔サーバとの間の通信プロトコルに類似する通信を判断する。そして、候補抽出部１５２は、同一サーバに一定量以上のホストがアクセスした通信を、ボットと司令塔サーバとの間の接続構造に類似する通信として判断する。
【００１８】
特徴生成部１５３は、候補抽出部１５２が抽出した各々の司令塔サーバの候補について、ネットワーク通信情報を基にネットワーク通信特徴を生成する。特徴生成部１５３は、司令塔サーバの候補ごとに発信或いは受信した通信の複数のネットワーク通信特徴を生成する。特徴生成部１５３は、与えられた条件に応じて、司令塔サーバの候補毎の発信と受信した通信のいずれかを用い、各々の特徴の中の任意の複数の項目を用いて、ネットワーク通信特徴を生成する。特徴生成部１５３は、複数の特徴量に対して、一つ或いは複数の次元変換・次元圧縮アルゴリズムを組み合わせることによって、ネットワーク通信特徴から隠れた特徴を生成する。
【００１９】
分類部１５４は、特徴生成部１５３が生成したネットワーク通信特徴が類似する司令塔サーバの候補を同じ集団に分類する。分類部１５４は、特徴生成部１５３が生成したネットワーク通信特徴を基に司令塔サーバの候補間の距離を計算するアルゴリズムを用いて司令塔サーバの候補を分類する。
【００２０】
検知部１５５は、外部脅威情報１４１を、分類部１５４で分類された各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を司令塔サーバとして検知する。検知部１５５は、所定量として、事前に与えられた閾値を用いる、或いは、統計的な手法を用いて計算した閾値を用いる。
【００２１】
このように、本実施の形態に係る検知装置１０は、教師なし学習のアプローチを改良し、統計的な手法などにより、大量なデータから検査対象を絞り込み、一つ或いは複数の次元変換・次元圧縮アルゴリズムを組み合わせて有効な特徴量を生成し検査対象を分類した上、小量な教師データにより類似する未知の司令塔サーバを検知する。続いて、検知装置１０における各構成部の処理について詳細に説明する。
【００２２】
［候補抽出部の処理］
まず、候補抽出部１５２の処理について説明する。図２は、図１に示す候補抽出部１５２の処理を説明する図である。
【００２３】
まず、候補抽出部１５２は、この司令塔サーバにおける通信プロトコルのポート番号とホスト間通信に使われたポート番号との一致性に基づいてボットと司令塔サーバとの間の通信プロトコルに類似する通信を判断する。候補抽出部１５２は、外部脅威情報１４１で示された司令塔サーバのポート番号を基に、図２のように、この司令塔サーバのポート番号を利用するサーバＳを司令塔サーバの候補として抽出する。
【００２４】
或いは、候補抽出部１５２は、多くのクライアント端末Ｃと接続している等の通常とは異なる振る舞いをする、悪性使用のための特定のポート番号を利用するサーバのＩＰアドレスを、司令塔サーバの候補のサーバＳのＩＰアドレスとして抽出する。このような、多くのクライアント端末Ｃと接続している、そして、候補抽出部１５２は、この司令塔サーバのポート番号を利用するサーバＳを司令塔サーバの候補として抽出する。
【００２５】
そして、候補抽出部１５２は、ポート番号を基に抽出した司令塔サーバの候補について、同一サーバに一定量以上のホストがアクセスした通信を、ボットと司令塔サーバとの間の接続構造に類似する通信として判断する。例えば、候補抽出部１５２は、アクセス数が、ユニークなクライアント端末Ｃの数の平均値に標準偏差を加えた数よりも大きいサーバ（図２の枠Ｗ１参照）を、信頼空間から外れた悪性使用のサーバ、すなわち、司令塔サーバの候補として抽出する。このように、候補抽出部１５２は、大量なフローデータから、統計的手法等を用いて、司令塔サーバの候補を絞り込んでいる。
【００２６】
［特徴生成部の処理］
次に、特徴生成部１５３の処理について説明する。特徴生成部１５３は、候補抽出部１５２が抽出した各々の司令塔サーバの候補について、ネットワーク通信情報を基にネットワーク通信特徴を生成する。特徴生成部１５３は、司令塔サーバの候補ごとに、発信或いは受信した通信の複数のネットワーク通信特徴を生成する。
【００２７】
図３は、図１に示す特徴生成部１５３の処理を説明する図である。図３に示すように、特徴生成部１５３は、候補抽出部１５２が抽出した各々の司令塔サーバの候補（図３の枠Ｗ１参照）について、複数のネットワーク通信特徴を生成する。
【００２８】
このとき、特徴生成部１５３は、生成した複数のネットワーク通信特徴（図３の表Ｔ１の「Feature1」の列の各値）を、ディープニューラルネットワークＮ１による特徴学習を選択的に適用して次元変換、次元圧縮する（図３の表Ｔ１の「Feature2」の列の各値）。これによって、特徴生成部１５３は、有効な特徴量の生成を可能としている。なお、特徴生成部１５３は、ディープニューラルネットワークＮ１を使用するオートエンコーダで特徴学習を行っている。特徴生成部１５３は、一以上のオートエンコーダを用いる。言い換えると、特徴生成部１５３は、一つ或いは複数の次元変換・次元圧縮アルゴリズムを組み合わせることによって、有効な特徴量を生成する。
【００２９】
そして、図４は、図１に示す特徴生成部１５３が生成する特徴の一例を示す図である。図４の表Ｔ２は、「カテゴリ（Category）」、「特徴（Feature）」、「フローの方向（Direction）」及び特徴量「Feature＃」が項目として示されている。カテゴリとして、「Active  time（活動時間）」、「Access  host  number（ホストの数）」、「Packet  volume」、「Flow  sequence」がある。
【００３０】
このうち、表Ｔ２の１行目に示す「Active  time（活動時間）」は、観測されたタイムウィンド数を用いて、特徴生成部１５３によって生成されるネットワーク特徴量である。タイムウィンドとは、ルート解析等で利用されるものであり、ネットワークロケーションを訪れてよい時間帯のことある。特徴生成部１５３は、図４の例では、活動時間の特徴量として、送信元及び送信先が識別番号「２」のサーバについて、「in」、「out」のタイムウィンドをカウントした場合には、特徴量を１×２＝２として計算する。
【００３１】
表Ｔ２の２行目に示す「Access  host  number（ホストの数）」は、全体期間において観測されたユニークなホストの数、タイムウィンド毎のユニークなホストの数からなる行列の平均値、標準偏差値、最大値及び最小値を用いて、特徴生成部１５３によって生成されるネットワーク特徴量である。表Ｔ２の２行目では、全体時間を５分としている。そして、特徴生成部１５３は、５分あたりの観測されたユニークなホストの数の、タイムウィンド毎のユニークなホストの数からなる行列の平均値、標準偏差値、最大値及び最小値と、フローの方向が「in」、「out」の２方向であることとを基に、このカテゴリの特徴量を５×２＝１０として計算する。
【００３２】
表Ｔ２の３行目に示す「Packet  volume」は、タイムウィンド毎の通信フロー数、パケット数、バイト数からなるそれぞれの行列の、ユニークなホストあたりの平均値、標準偏差値、最大値、最小値を用いたネットワーク通信の特徴を用いて、特徴生成部１５３によって生成されるネットワーク特徴量である。特徴生成部１５３は、ホストあたりの５分間のフローの平均値、標準偏差値、最大値、最小値と、フローあたりのパケットの平均値、標準偏差値、最大値、最小値と、パケットあたりのバイトの平均値、標準偏差値、最大値、最小値と、フローの方向が「in」、「out」の２方向であることとに基づいて、このカテゴリの特徴量を１２×２＝２４として計算する。
【００３３】
表Ｔ２の４行目示す「Flow  sequence」は、ＴＣＰフラグの有無を表す行列の列毎の平均値を用いて、特徴生成部１５３によって生成されるネットワーク通信シーケンスの特徴量である。特徴生成部１５３は、ＴＣＰフラグである「ＵＲＧ、ＡＣＫ、ＰＳＨ、ＲＳＴ、ＳＹＮ、ＦＩＮ」のベクトルの平均と、フローの方向が「in」、「out」の２方向であることとに基づいて、このカテゴリの特徴量を６×２＝１２として計算する。
【００３４】
このように、特徴生成部１５３は、これらの項目に示す複数のネットワーク通信特徴を、司令塔サーバの候補ごとに生成する。また、特徴生成部１５３は、与えられた条件に応じて、司令塔サーバの候補ごとの発信と受信した通信とのいずれかのみを用いてネットワーク通信特徴を生成する。そして、特徴生成部１５３は、与えられた条件に応じて、各々の特徴の中の任意の複数の項目を自由に用いてネットワーク通信特徴を生成する。さらに、上述したように、特徴生成部１５３は、一つ或いは複数の次元変換・次元圧縮アルゴリズムを用いて、ネットワーク通信特徴から隠れた特徴を生成するため、隠れた特徴も含んだ有効なネットワーク通信特徴量を生成することができる。
【００３５】
［分類部の処理］
続いて、分類部１５４の処理について説明する。図５は、図１に示す分類部１５４の処理を説明する図である。分類部１５４は、特徴生成部１５３が生成したネットワーク通信特徴が類似する司令塔サーバの候補を同じ集団に分類する。言い換えると、分類部１５４は、特徴生成部１５３が生成した隠れた特徴も含んだ有効なネットワーク通信特徴量を用いて、司令塔サーバの候補をそれぞれ類似する集団に分類する。具体的には、分類部１５４は、図５の表Ｔ１に示す複数の特徴量を用いて、特徴が類似する司令塔サーバの候補を同じ集団に分類する。
【００３６】
分類部１５４は、図５の例では、グラフＧ１に示すように、令塔サーバの候補を、３つの集団に分類する。このとき、分類部１５４は、複数の特徴量に対して、一つ或いは複数の次元変換・次元圧縮アルゴリズムを用いて抽出された隠れたネットワーク通信特徴を基に、司令塔サーバの候補間の距離を計算するアルゴリズムを用いて、司令塔サーバの候補を３つの集団に分類する。
【００３７】
［検知部の処理］
次に、検知部１５５の処理について説明する。検知部１５５は、分類部１５４が分類した各集合に対し、外部脅威情報１４１であるブラックリストを照合して、既知の悪意のある司令塔サーバのＩＰアドレスが、所定量以上である集団がある場合、この集団に属する全ての候補を司令塔サーバとして判断する。
【００３８】
図６は、図１に示す検知部１５５の処理を説明する図である。例えば、図６に示すように、ブラックリストにＩＰ「Ａ」，ＩＰ「Ｘ」が既知の司令塔サーバのＩＰアドレスとして記載されている場合（図６の（１）参照）を例に説明する。この場合、検知部１５５は、分類部１５４が分類したcluster１〜３（図６の（２）参照）に対し、このブラックリストを照合する。例えば、所定値が「１」である場合について説明する。
【００３９】
cluster１について、cluster１に含まれる３台のサーバのうちブラックリスト内のＩＰアドレスである２台のサーバＡ，Ｘを含むため、検知部１５５は、cluster１に属する３台全てのサーバを司令塔サーバとして判断する（図６の（３）の１行目参照）。これに対し、検知部１５５は、cluster２，３では、ブラックリスト内のＩＰアドレスであるサーバが含まれないため、このcluster２，３に属するサーバは、司令塔サーバではないと判断する図６の（３）参照の３，５行目参照）。
【００４０】
なお、検知部１５５は、所定量として、事前に与えられた閾値を用いる。或いは、検知部１５５は、所定量として、統計的な手法を用いて計算した閾値を用いる。このように、検知部１５５が使用する閾値は、適切に設定されたものであるため、検知精度を高く保持することができる。また、検知部１５５は、既知の司令塔サーバのＩＰアドレスの割合が、所定値以上である集団がある場合、この集団に属する全ての候補を司令塔サーバとして判断してもよい。
【００４１】
［検知処理の処理手順］
次に、実施の形態に係る検知処理の処理手順について説明する。図７は、本実施の形態に係る検知処理の処理手順を示すフローチャートである。
【００４２】
図７に示すように、まず、収集部１５１が、通信部１３を介して、検知対象のネットワーク通信情報を収集する（ステップＳ１）。そして、候補抽出部１５２は、このネットワーク通信情報から、マルウェアを感染したボットと該ボットを制御する司令塔サーバとの間の通信プロトコルと接続構造との少なくとも一方が類似するホスト間通信を行うサーバを司令塔サーバの候補として抽出する候補抽出処理を行う（ステップＳ２）。
【００４３】
続いて、特徴生成部１５３は、候補抽出部１５２が抽出した各々の司令塔サーバの候補について、ネットワーク通信情報を基にネットワーク通信特徴を生成する特徴生成処理を行う（ステップＳ３）。そして、分類部１５４は、特徴生成部１５３が生成したネットワーク通信特徴が類似する司令塔サーバの候補を同じ集団に分類する分類処理を行う（ステップＳ４）。
【００４４】
続いて、検知部１５５は、外部脅威情報１４１を、分類部１５４が分類した各々の集団に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を、司令塔サーバとして検知する検知処理を行う（ステップＳ５）。そして、検知装置１０は、検知部１５５が検知した司令塔サーバを示す情報を外部へ出力する出力処理を行い（ステップＳ６）、検知装置１０は、検知処理を終了する。
【００４５】
［実施の形態の効果］
このように、本実施の形態に係る検知装置１０は、教師なし学習のアプローチを改良し、統計的な手法などにより、大量なデータから司令塔サーバの候補を効率的に絞り込むことができる。そして、検知装置１０では、司令塔サーバの候補を絞り込んだ上で、これらの司令塔サーバの候補ごとに特徴量を生成し、その特徴量を用いて検査対象を分類する。続いて、検知装置１０は、教師データを各集合に照合し、所定量以上の司令塔サーバを含む集団に属する全ての候補を、司令塔サーバとして検知する。
【００４６】
このため、検知装置１０は、予め司令塔サーバの候補を絞り込み、これらの特徴量を用いて、類似する集団に分類してから、教師あり学習を用いて司令塔サーバを検知するため、少量の教師データしかない場合であっても、高い精度で司令塔サーバを検知することができる。また、検知装置１０は、一つ或いは複数の次元変換・次元圧縮アルゴリズムを組み合わせることによって、有効な特徴量を生成できるため、各司令塔サーバの候補を、類似する集団に、高精度で分類できる。
【００４７】
［実施の形態のシステム構成について］
図１に示した検知装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、検知装置１０の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【００４８】
また、検知装置１０において行われる各処理は、全部または任意の一部が、ＣＰＵおよびＣＰＵにより解析実行されるプログラムにて実現されてもよい。また、検知装置１０において行われる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【００４９】
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【００５０】
［プログラム］
図８は、プログラムが実行されることにより、検知装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００５１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００５２】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、検知装置１０の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、検知装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００５３】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００５４】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００５５】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００５６】
１０  検知装置
１１  入力部
１２  出力部
１３  通信部
１４  記憶部
１５  制御部
１４１  外部脅威情報
１５１  収集部
１５２  候補抽出部
１５３  特徴生成部
１５４  分類部
１５５  検知部
【図１】
2018169897.tif 000003
【図２】
2018169897.tif 000004
【図３】
2018169897.tif 000005
【図４】
2018169897.tif 000006
【図５】
2018169897.tif 000007
【図６】
2018169897.tif 000008
【図７】
2018169897.tif 000009
【図８】
2018169897.tif 000010