(57)【特許請求の範囲】
【請求項１】
複数の通信における通信先が通信の発生順に記録されている系列データに基づいて、前記通信先ごとに通信先の特性を表す数値ベクトルを算出する数値ベクトル算出部と、
前記数値ベクトルの通信先の順序関係に基づいて、前記系列データを、特徴が類似する集合へ分類する分類部と、
を有し、
前記分類部は、前記数値ベクトル算出部が計算した複数の数値ベクトルを結合して少数の新たな数値ベクトルを算出してから分類を行うことを特徴とする分類装置。
【請求項２】
前記通信先と該通信先の順序関係とが記録されたログから、連続する複数の通信の前記通信先を前記系列データとして抽出する通信先系列抽出部をさらに有することを特徴とする請求項１に記載の分類装置。 
【請求項３】
前記分類部は、前記系列データの複数の数値ベクトルを統合して新たな数値ベクトルを算出することと、新たに算出された複数の数値ベクトルから前記数値ベクトルの次元ごとに新たな値を算出して少数の数値ベクトルを作成することと、を繰り返すことを特徴とする請求項１または２に記載の分類装置。 
【請求項４】
前記分類部は、前記系列データの一定範囲内に含まれる複数の数値ベクトルから２つの数値ベクトルを選択し、選択した前記２つの数値ベクトルを統合して新たな数値ベクトルを算出することを特徴とする請求項３に記載の分類装置。 
【請求項５】
入力された複数の通信における通信先が通信の発生順に記録されている系列データを、特徴が類似する集合に分類する分類装置が実行する分類方法であって、
前記系列データに基づいて、前記通信先ごとに通信先の特性を表す数値ベクトルを算出する数値ベクトル算出工程と、
前記数値ベクトルの通信先の順序関係に基づいて、前記系列データを、特徴が類似する集合へ分類する分類工程と、
を含み、
前記分類工程は、前記数値ベクトル算出工程において計算された複数の数値ベクトルを結合して少数の新たな数値ベクトルを算出してから分類を行うことを特徴とする分類方法。
【請求項６】
複数の通信における通信先が通信の発生順に記録されている系列データに基づいて、前記通信先ごとに通信先の特性を表す数値ベクトルを算出する数値ベクトル算出ステップと、
前記数値ベクトルの通信先の順序関係に基づいて、前記系列データを、特徴が類似する集合へ分類する分類ステップと、
をコンピュータに実行させ、
前記分類ステップは、前記数値ベクトル算出ステップにおいて計算された複数の数値ベクトルを結合して少数の新たな数値ベクトルを算出してから分類を行う分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置、分類方法及び分類プログラムに関する。
【背景技術】
【０００２】
端末にマルウェアを感染させるドライブバイダウンロード攻撃は、改ざんされた有名サイトにアクセスしたユーザを、リダイレクトやコンテンツの取得による転送を繰り返すことによって、複数のＵＲＬを経由して攻撃コードが配置されているＵＲＬに誘導する。そして、ドライブバイダウンロード攻撃は、ユーザを攻撃コードが配置されているＵＲＬに誘導した後に、ブラウザやプラグインの脆弱性を悪用することによって、マルウェアをユーザにインストールさせる。【０００３】
従来、悪性サイトを検知するために、ハニークライアントと呼ばれるおとりのシステムが用いられている。ハニークライアントでは、不正なプロセスやファイルシステムへのアクセス（例えば、非特許文献１参照）や、シグネチャやヒューリスティック（例えば、非特許文献２参照）に基づいて悪性サイトを検知している。すなわち、ハニークライアントの目的は、ウェブサイトを解析し悪性サイトを検知することである。【０００４】
また、通信ログに含まれる悪性サイトへの通信検知に適用可能な手法として、ウェブコンテンツやリダイレクトに着目した手法が多く研究されている（例えば、非特許文献３，４参照）。さらに、攻撃に用いられるコンテンツのリダイレクト元になるＵＲＬを特定することによって、効率的にハニークライアントで解析する手法も提案されている（例えば、非特許文献５参照）。これらの手法では、悪性コードの特定や、リダイレクト関係の特定のために、コンテンツの解析が必要となる。【０００５】
また、悪性ウェブサイトのドメインやＵＲＬに着目している研究として、ドメインと対応するＩＰアドレスの使用方法に着目した手法（例えば、非特許文献６参照）や、フィッシングサイトで用いられるＵＲＬに着目した手法（例えば、非特許文献７参照）が提案されている。これらの手法は、一つのドメインやＵＲＬに対して、識別を行っている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】M.  Akiyama,  M.  Iwamura,  Y.  Kawakoya,  K.  Aoki,  and  M.  Itoh,  “Design  and  Implementation  of  High  Interaction  Client  Honeypot  for  Drive-by-Download  Attacks”,  IEICE  transactions  on  communications,  Vol.  E93-B,  pp.  1131-1139,  2010.
【非特許文献２】J.  Nazario,  “PhoneyC:  A  Virtual  Client  Honeypot”,  LEET,  vol.  9,  pp.  911-919,  2009.
【非特許文献３】C.  Curtsinger,  B.  Livshits,  B.  Zorn,  and  C.  Seifert,  “ZOZZLE:  Fast  and  Precise  In-Browser  JavaScript（登録商標）  Malware  Detection”,  In  Proceedings  of  the  20th  USENIX  Security  Symposium,  pp.  33-48,  2011.
【非特許文献４】J.  Zhang,  C.  Seifert,  J.  W.  Stokes,  and  W.  Lee,  “Arrow:  Generating  Signatures  to  Detect  Drive-By  Downloads”,  In  Proceedings  of  the  20th  international  conference  on  World  wide  web,  pp.  187-196,  2011.
【非特許文献５】T.  Taylor,  K.  Z.  Snow,  N.  Otterness,  and  F.  Monrose,  “Cache,  Trigger,  Impersonate:  Enabling  Context-Sensitive  Honeyclient  Analysis  On-the-Wire”,  In  Proceedings  of  the  23rd  Annual  Network  and  Distributed  System  Security  Symposium,  2016.
【非特許文献６】M.  Antonakakis,  R.  Perdisci,  D.  Dagon,  W.  Lee,  and  N.  Feamster,  “Building  a  Dynamic  Reputation  System  for  DNS.”  In  Proceedings  of  the  19th  USENIX  Security  Symposium,  pp.  273-290,  2010.
【非特許文献７】J.  Ma,  L.  K.  Saul,  S.  Savage,  and  G.  M.  Voelker,  “Beyond  Blacklists:  Learning  to  Detect  Malicious  Web  Sites  from  Suspicious  URLs”,  In  Proceedings  of  the  15th  ACM  SIGKDD  International  Conference  on  Knowledge  Discovery  and  Data  Mining,  pp.  1245-1254,  2009.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、悪性サイトによるマルウェア感染を防止するために、悪性ＵＲＬや悪性ドメインのブラックリストを用いた通信遮断が行われている。これに対し、攻撃者は、ブラックリストを用いた対策を回避するために、悪性サイトに使用するドメインの頻繁な変更や、攻撃コードの隠蔽を実施している。【０００８】
具体的には、攻撃者は、攻撃対象と一致するブラウザやプラグインの種類やバージョンのユーザにのみ攻撃コードを提示し、その他のユーザには提示しないことによって、攻撃コードの隠蔽を実行している。この結果、ユーザが悪性サイトにアクセスする前に悪性サイトを検知してブラックリストに記載することが困難となっている。【０００９】
このため、マルウェアに感染した端末を通信ログから検知する対策が注目されている。なお、通信ログから感染端末を検知する方法は、マルウェア感染時の通信を検知する方法と、マルウェアが発生させる通信を検知する方法に大別できる。【００１０】
ここで、企業のような大規模なネットワークで記録可能な通信ログは、プロキシログのような通信先の系列データである。しかしながら、このログにはコンテンツが含まれないため、コンテンツ解析が必要となるウェブコンテンツやリダイレクトに着目した手法を適用できない。また、ＵＲＬやドメインに着目して悪性判定を実施する手法も提案されているものの、一つのＵＲＬやドメインから得られる情報は少ないため、正確に判定することは困難であると考えられる。【００１１】
本発明は、上記に鑑みてなされたものであって、通信ログから、攻撃を精度よく検知することができる分類装置、分類方法及び分類プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明に係る分類装置は、複数の通信における通信先が通信の発生順に記録されている系列データに基づいて、通信先ごとに通信先の特性を表す数値ベクトルを算出する数値ベクトル算出部と、数値ベクトルの通信先の順序関係に基づいて、系列データを、特徴が類似する集合へ分類する分類部と、を有する。
【発明の効果】
【００１３】
本発明によれば、通信ログから、攻撃を精度よく検知することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態に係る分類装置の概略構成を示す模式図である。
【図２】図２は、図１に示す分類装置に入力される対象通信ログの例を示す図である。
【図３】図３は、図１に示す分類装置に入力される既知通信ログの例を示す図である。
【図４】図４は、図１に示す通信先系列抽出部の処理を説明する図である。
【図５】図５は、図１に示す数値ベクトル算出部の処理を説明する図である。
【図６】図６は、数値ベクトルの内容を示す図である。
【図７】図７は、図１に示す分類部による数値ベクトルの統合および作成の仕方の一例を示す図である。
【図８】図８は、図１に示す分類部による数値ベクトルの統合および作成の仕方の一例を示す図である。
【図９】図９は、第１層から第３層に対応させて、分類部による数値ベクトルの統合および作成例を示す図である。
【図１０】図１０は、実際の数値を用いて、分類部による数値ベクトルの統合および作成例を示す図である。
【図１１Ａ】図１１Ａは、一定範囲内に含まれる複数の数値ベクトルのうちの２つの数値ベクトルからの新たな数値ベクトルの統合例を示す図である。
【図１１Ｂ】図１１Ｂは、一定範囲内に含まれる複数の数値ベクトルのうちの２つの数値ベクトルからの新たな数値ベクトルの統合例を示す図である。
【図１２】図１２は、各数値ベクトルの番号と悪性または良性とを示す記号と、各数値ベクトルの通信先と、攻撃に利用されやすいか否かとの対応を示す図である。
【図１３】図１３は、一定範囲内に含まれる複数の数値ベクトルのうちの２つの数値ベクトルからの新たな数値ベクトルの統合例を示す図である。
【図１４】図１４は、本実施の形態に係る分類モデル作成処理の処理手順を示すフローチャートである。
【図１５】図１５は、本実施の形態に係る分類モデルを用いた分類の処理手順を示すフローチャートである。
【図１６】図１６は、プログラムが実行されることにより、分類装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１６】
［実施の形態］
まず、実施の形態に係る分類装置について、概略構成、分類処理の流れ及び具体例を説明する。攻撃によってマルウェアに感染した端末の通信ログには、この攻撃に関係するＵＲＬへの一連のアクセスがアクセスした順番で含まれている。そこで、本実施の形態では、通信ログについて、通信先の系列データに含まれる複数の通信先の関係性に基づいて通信先系列を分類することによって、通信ログからドライブバイダウンロード攻撃を実行する悪性サイトへの通信が含まれているか分類している。
【００１７】
図１は、実施の形態に係る分類装置の概略構成を示す模式図である。図１に示すように、実施の形態に係る分類装置１は、対象通信ログ入力部１１、既知通信ログ入力部１２、通信先系列抽出部１３、数値ベクトル算出部１４及び分類部１５を有する。
【００１８】
対象通信ログ入力部１１は、分類対象の通信ログを入力として許容する。通信ログは、通信先とその順序関係とが記録されたものである。既知通信ログ入力部１２は、悪性であることが既知である既知悪性通信ログと、良性であることが既知である既知良性通信ログと、を入力として許容する。
【００１９】
通信先系列抽出部１３は、通信ログから、連続する複数の通信の通信先を、分類に用いる系列データとして抽出する。系列データは、複数の通信における通信先が通信の発生順に記録されたものである。
【００２０】
数値ベクトル算出部１４は、系列データに基づいて、通信先ごとに通信先の特性を表す数値ベクトルを算出する。
【００２１】
分類部１５は、数値ベクトル算出部１４によって算出された数値ベクトルの通信先の順序関係に基づいて、系列データを、特徴が類似する集合へ分類する。分類部１５は、数値ベクトル算出部１４によって算出された数値ベクトルを基に、系列データ中の複数の数値ベクトルを統合して新たな数値ベクトルを算出し、新たに算出された複数の数値ベクトルから数値ベクトルの次元ごとに新たな値を算出することによって、少数の数値ベクトルを作成する。数値ベクトルの統合と作成を複数回繰り返した後に作成された数値ベクトルは、例えば、決定木、サポートベクターマシン、ニューラルネットワーク等の機械学習手法を用いて良性或いは悪性のいずれかに分類される。なお、機械学習手法は、上記に限らない。
【００２２】
［分類対象の通信ログの入力例］
図２は、図１に示す分類装置１に入力される対象通信ログの例を示す図である。図２に示すように、識別対象の通信ログは、通番と通信先の情報とを含む。通番については、同一の通信ログに含まれる通信先には同一の番号が与えられる。また、通信先の情報として、ＵＲＬが考えられるが、これに限るものではなく、ＦＱＤＮ、ドメイン、ホスト名等でもよい。通信ログは、通信が発生した時刻、送信元等の情報を含んでいてもよい。通信先の情報は、アクセスされた順番に記録されているか、順番が分かる情報が付加されている必要がある。
【００２３】
［既知悪性通信ログと既知良性通信ログとの入力例］
図３は、図１に示す分類装置１に入力される既知通信ログの例を示す図である。既知通信ログは、通番、ラベル、通信先の情報を含む。通番については、同一の通信ログに含まれる通信先には同一の番号が与えられる。また、通信先の情報として、ＵＲＬが考えられるが、これに限るものではなく、ＦＱＤＮ、ドメイン、ホスト名等でもよい。ラベルは、図３で示した「良性」や「悪性」に限るものではなく、「広告」、「Drive-by-Download」、「Phishing」等でもよい。通信ログは、通信が発生した時刻、送信元等の情報を含んでいてもよい。通信先は、アクセスされた順番に記録されているか、順番が分かる情報が付加されている必要がある。
【００２４】
［通信先系列抽出部の処理］
次に、通信先系列抽出部１３の処理について説明する。図４は、図１に示す通信先系列抽出部１３の処理を説明する図である。通信先系列抽出部１３は、通信ログ（図４の（ａ）参照）の同一の通番に含まれる通信先から、複数の通信先を抽出して通信先系列（図４の（ｂ）参照）を作成する。このとき、通信先系列抽出部１３は、通信先をそのまま抽出してもよいが、通信先の一部のみを抽出してもよい。ただし、通信先系列抽出部１３が抽出する通信先の形式は同一である必要がある。
【００２５】
例えば、通信先系列抽出部１３は、通信が発生した順番に、通番「１」に含まれる通信先（図４の（ａ）参照）の中から５つの通信先を抽出する（図４の（ｂ）参照）。具体的には、通信先系列抽出部１３は、通番「１」に含まれる通信先（図４の（ａ）参照）の中から、１行目から５行目の５つの通信先「a.example/index.html」〜「c.example/malware.exe」を抽出する（図４の（ｂ）参照）。このとき、通信先系列抽出部１３は、抽出された通信先系列に新たに重複がないように通番を振りなおす。例えば、通信先系列抽出部１３は、抽出した５つの通信先「a.example/index.html」〜「c.example/malware.exe」に対し、通番「１」を振り直す（図４の（ｂ）参照）。
【００２６】
続いて、通信先系列抽出部１３は、通番「１」に含まれる通信先（図４の（ａ）参照）の中から、２行目から６行目の５つの通信先「a.example/script.js」〜「d.example/index.html」を抽出する（図４の（ｂ）参照）。そして、通信先系列抽出部１３は、抽出したこの通信先「a.example/script.js」〜「d.example/index.html」に対し、通番「２」を振り直す（図４の（ｂ）参照）。
【００２７】
また、通信先系列抽出部１３は、通信ログに時刻情報が含まれている場合には、一定時間内に発生した通信を抽出することや、通信の発生間隔から関連の高い通信先を推定しそれらを抽出することもできる。さらに、通信先系列抽出部１３は、通信ログに送信元が含まれている場合には、同一である送信元の通信先のみ抽出することもできる。これらの方法によって、分類装置１では、通信先系列に一つのウェブサイトへのアクセスで発生した通信の通信先が含まれるようにすることで、分類が容易になり分類精度を向上させることができる。なお、通信先系列抽出部１３は、通信ログにラベルが付与されている場合には、同一のラベルを通信先系列にも付与する。
【００２８】
［数値ベクトル算出部の処理］
次に、数値ベクトル算出部１４の処理について説明する。図５は、図１に示す数値ベクトル算出部１４の処理を説明する図である。図６は、数値ベクトルの内容を示す図である。
【００２９】
数値ベクトル算出部１４は、例えば、図５の（ａ）に示す通信先の系列データに対し、通信先の系列データから通信先ごとに数値ベクトルを算出し、数値ベクトルの系列データ（例えば、図５の（ｂ）参照）を出力する。数値ベクトルの内容は、図６で示すように、「セカンドレベルドメインが共通なドメインに対応するＩＰアドレス数」、「セカンドレベルドメインが共通なドメインに対応する国数」、「ＩＰアドレスの運用者が同一のドメインの長さの平均」、「ＵＲＬの長さ」、「悪性なパターンの出現」、「ポート番号の出現」がある。もちろん、数値ベクトルの内容は、図６に示す内容に限らず、例えば、「ブラックリストへの記載あり」、「ＩＰアドレスの出現」等でもよい。
【００３０】
［分類部の処理］
図７及び図８は、図１に示す分類部１５による数値ベクトルの統合および作成の仕方の一例を示す図である。図７では、第１層から第５層に対応する数値ベクトルを丸印で示し、統合に用いる数値ベクトルの結合を示す矢印を破線で示し、作成に用いる数値ベクトルとの結合を示す矢印を実線で示す。
【００３１】
図７の例では、分類部１５は、第２層及び第４層において、前層の複数の数値ベクトルを統合し新たな数値ベクトルを算出する。分類部１５は、新たな数値ベクトルの各次元の値として、統合に用いる数値ベクトルの全ての値、または、その一部を用いて算出する。なお、新たな数値ベクトルの次元数は、統合前の数値ベクトルと異なっていてもよい。ただし、新たな数値ベクトルの次元数は、各統合で同一でなければならない。
【００３２】
そして、図７の第３層及び第５層において、分類部１５は、少数の数値ベクトルを作成する。なお、作成された数値ベクトルの次元は前層の数値ベクトルの次元と同一でなければならない。分類部１５は、数値ベクトルの作成において、結合が存在する前層の数値ベクトルを用い、各次元において、最大値、最小値、平均等を算出することで、新たな数値ベクトルを作成する。
【００３３】
分類部１５は、図７に示されているように、数値ベクトルの統合と作成とを繰り返し実施する。分類部１５は、数値ベクトルの統合と作成とを繰り返し実施することによって、局所的な情報から徐々に系列データ全体の情報を抽出することができる。言い換えると、分類部１５は、系列データの局所的な特性を考慮して、系列データ全体の特性を示す数値ベクトルを算出することができる。
【００３４】
具体的には、図７の第３層の一番下の数値ベクトルは、結合を逆にたどると、ハッチングが施された各数値ベクトルの値をもとに算出されていることが分かる。つまり、分類部１５は、第３層の一番下の数値ベクトルを作成することによって、第１層の中心の数値ベクトルと第１層の一番下の数値ベクトルとの局所的な情報を抽出している。
【００３５】
同様に、第５層の一番下の数値ベクトルは、図８のハッチングが施された数値ベクトルの値をもとに算出される。つまり、分類部１５は、第５層の一番下の数値ベクトルを作成することによって、系列全体の情報を抽出している。
【００３６】
図９及び図１０を参照し、より具体的に、分類部１５の処理について説明する。図９は、第１層から第３層に対応させて、分類部１５による数値ベクトルの統合および作成例を示す図である。図１０は、実際の数値を用いて、分類部１５による数値ベクトルの統合および作成例を示す図である。
【００３７】
例えば、図９に示すように、分類部１５は、第１層から第２層における統合処理を行う。この場合について説明する。この場合、分類部１５は、統合処理として、以下の（１）式及び（２）式を基に、隣接する２つの数値ベクトルの全ての次元の値を用いて、新たな数値ベクトルの各次元を算出する。
【００３８】
【数１】
0006674036.tif 000002
【００３９】
分類部１５は、第１層で示された系列データ中の複数の数値ベクトルに対して統合処理を行うことによって、新たに算出した数値ベクトルを第２層の数値ベクトルとして算出する。具体的には、分類部１５は、図１０の（ａ）のマトリックスに示された各数値について、それぞれ（１）式及び（２）式を用いて統合処理を行う。分類部１５は、例えば、図１０の（ｂ）のマトリックスに示すように、統合処理によって新たに算出した各数値に基づいて、第２層の数値ベクトルを求める。
【００４０】
そして、図９に示すように、分類部１５は、第２層から第３層における作成処理を行う。分類部１５は、第２層から第３層における作成処理として、隣接する２つの数値ベクトルの各次元において最大値を出力する。分類部１５は、例えば、以下の（３）式を用いて、隣接する２つの数値ベクトルの各次元において最大値を算出する。
【００４１】
【数２】
0006674036.tif 000003
【００４２】
分類部１５は、この処理によって、図１０の（ｂ）のマトリックスに示す第２層の数値を基に出力した最大値（例えば、図１０の（ｃ）のマトリックスを参照）を用いて第３層の数値ベクトルを求める。
【００４３】
図１１Ａ及び図１１Ｂは、一定範囲内に含まれる複数の数値ベクトルのうちの２つの数値ベクトルからの新たな数値ベクトルの統合例を示す図である。図１１Ａ及び図１１Ｂに示すように、分類部１５は、連続するｎ個の数値ベクトルから２つの数値ベクトルを選択し、これらを統合することで新たな数値ベクトルを算出する。なお、新たな数値ベクトルの各次元の値は、統合に用いる数値ベクトルの全ての値、またはその一部を用いて算出される。また、新たな数値ベクトルの次元数は、統合前の数値ベクトルと異なっていてもよい。ただし、新たな数値ベクトルの次元数は各統合で同一でなければならない。
【００４４】
分類部１５は、２つの数値ベクトルから統合を実施することによって、攻撃に関連しない良性な通信先が混在していた場合であっても、攻撃に関連する通信先が、連続するｎ個の通信先内に存在すれば、攻撃に関連する通信先の数値ベクトルのみを統合することができる。具体的には、図１１Ａ及び図１１Ｂに示す数値ベクトルのうち、黒で塗りつぶした丸に対応する数値ベクトルが悪性な通信先に関するものであり、白抜きの丸に対応する数値ベクトルが良性な通信先に関するものである。そして、統合前（左側）の層において、良性な通信先に関する数値ベクトル（白丸）と２番目の悪性な通信先に関する数値ベクトル（黒丸２）との位置が、図１１Ａと図１１Ｂのように上下で入れ替わっていた場合を考える。
【００４５】
この図１１Ａと図１１Ｂとのいずれの場合においても、統合後（右側）の層に示すように、分類部１５は、１番目及び２番目の悪性な通信先のみに関する数値ベクトルの統合と、２番目及び３番目の悪性な通信先のみに関する数値ベクトルの統合と、を実施している。したがって、分類部１５は、攻撃に関連する通信先が連続するｎ個の通信先内に存在すれば、攻撃に関連する通信先の数値ベクトルのみを統合することができる。
【００４６】
ここで、分類部１５は、ｎ個の通信先から２つの数値ベクトルを選択する際には、全ての組み合わせを選択してもよいし、一部の組み合わせだけ選択してもよい。
【００４７】
また、分類部１５は、数値ベクトルの統合時に、攻撃に利用されやすいファイルで異なるドメインの２つの通信先等を選択することで、攻撃に関連する可能性の高い通信先の数値ベクトルのみ選択し、攻撃に関連しない通信先の影響を削減できる。図１２は、各数値ベクトルの番号と悪性または良性とを示す記号と、各数値ベクトルの通信先と、攻撃に利用されやすいか否かとの対応を示す図である。図１３は、一定範囲内に含まれる複数の数値ベクトルのうちの２つの数値ベクトルからの新たな数値ベクトルの統合例を示す図である。
【００４８】
この場合、分類部１５は、攻撃に利用されやすく、異なるドメインの２つの通信先を選択する。具体的には、分類部１５は、悪性な通信先（図１２の黒丸１及び黒丸２、或いは、図１２の黒丸２及び黒丸３）のみから統合を行い（図１３参照）、それ以外の通信先の統合を実施しないことを実現することができる。
【００４９】
この結果、分類部１５は、悪性である通信先のみから統合を行って、少数の数値ベクトルを作成することを複数回繰り返した後に、作成した数値ベクトルを、機械学習手法で分類する。すなわち、分類部１５は、悪性である通信先を含む識別対象通信ログに対しては、攻撃に関連しない通信先の影響を削減した数値ベクトルを機械学習手法に入力することができる。したがって、分類部１５は、悪性である通信先を含む識別対象通信ログについて、良性な通信先に影響されずに悪性な通信先の順序関係に基づいて分類することができ、分類の精度を向上させることができる。
【００５０】
［分類モデル作成処理の処理手順］
次に、図１４及び図１５を参照しながら、分類装置１の動作について、より詳細に説明する。分類部１５が分類のために用いる分類モデルの作成処理について説明する。なお、分類モデルとは、入力データ（各系列データの数値ベクトル）を入力したときに、識別結果（良性の識別、悪性の識別等）を出力するものである。図１４は、本実施の形態に係る分類モデル作成処理の処理手順を示すフローチャートである。
【００５１】
まず、分類装置１では、既知通信ログ入力部１２が、既知悪性通信ログと既知良性通信ログとの入力を受付け（ステップＳ１）、通信先系列抽出部１３が、入力された通信ログから、連続する複数の通信の通信先を、分類に用いる系列データとして抽出する通信先抽出処理を行う（ステップＳ２）。通信先系列抽出部１３は、図４を用いて説明した処理を行うことによって、通信先抽出処理を行う。
【００５２】
そして、数値ベクトル算出部１４は、系列データに基づいて、通信先ごとに通信先の特性を表す数値ベクトルを算出する数値ベクトル算出処理を行う（ステップＳ３）。数値ベクトル算出部１４は、図５及び図６を用いて説明した処理を行うことによって、数値ベクトル算出処理を行う。
【００５３】
その後、分類部１５は、系列データ中の複数の数値ベクトルの統合と作成とを繰り返した後に機械学習手法を用いて分類を実施する（ステップＳ４）。機械学手法とは、統合と作成とを繰り返した後の数値ベクトルを入力し、分類結果を出力するものである。ステップＳ４において、分類部１５は、図７〜図１３を用いて説明した処理を行うことによって数値ベクトルの統合と作成とを実施する。そして、分類部１５は、系列データ全体が統合された数値ベクトルを用いて分類結果を算出する。次に、分類部１５は、分類結果とラベルとの誤差が小さくなるように、分類モデル、すなわち、統合の仕方及び機械学習手法のパラメータを変更する（ステップＳ５）。分類部１５は、この処理を十分繰り返す。言い換えると、分類部１５は、系列データ中の複数の数値ベクトルを統合して新たな数値ベクトルを算出し、新たに算出された複数の数値ベクトルから数値ベクトルの次元ごとに新たな値を算出することによって、少数の数値ベクトルを作成する。そして、分類部１５は、分類結果とラベルとの誤差が小さくなる統合の仕方と、演算式と、機械学習手法のパラメータとを分類モデルとして出力する（ステップＳ６）。
【００５４】
［分類処理の処理手順］
次に、図１５を参照して、分類装置１による分類処理について説明する。図１５は、実施の形態に係る分類モデルを用いた分類の処理手順を示すフローチャートである。
【００５５】
まず、分類装置１では、対象通信ログ入力部１１が、分類対象である対象通信ログの入力を受付け（ステップＳ１１）、通信先系列抽出部１３が、入力された通信ログから、連続する複数の通信の通信先を、分類に用いる系列データとして抽出する通信先抽出処理を行う（ステップＳ１２）。通信先系列抽出部１３は、図４を用いて説明した処理を行うことによって、通信先抽出処理を行う。
【００５６】
そして、数値ベクトル算出部１４は、系列データに基づいて、通信先ごとに通信先の特性を表す数値ベクトルを算出する数値ベクトル算出処理を行う（ステップＳ１３）。数値ベクトル算出部１４は、図５及び図６を用いて説明した処理を行うことによって、数値ベクトル算出処理を行う。
【００５７】
その後、分類部１５は、対象通信ログに対応する系列データ中の複数の数値ベクトルの統合と作成を繰り返し実施し、最後に系列データ全体が統合された数値ベクトルを機械学習手法に入力して、対象通信ログの分類を実施する（ステップＳ１４）。言い換えると、分類部１５は、数値ベクトルの通信先の順序関係に基づいて、対象通信ログに対応する系列データを、特徴が類似する集合（良性或いは悪性）へ分類する。そして、分類部１５は、対象通信ログに対する分類結果、すなわち、対象通信ログに対する識別結果（良性の識別、悪性の識別等）を出力する（ステップＳ１５）。
【００５８】
［実施の形態の効果］
ドライブバイダウンロード攻撃によって、マルウェアに感染した端末の通信ログには、この攻撃に関するＵＲＬへの一連のアクセスがアクセスした順で含まれている。ここで、本実施の形態では、複数の通信における通信先が通信の発生順に記録されている系列データに基づいて、通信先ごとに通信先の特性を表す数値ベクトルを算出し、数値ベクトルの通信先の順序関係に基づいて、系列データを、特徴が類似する集合へ分類する。このため、本実施の形態を適用することによって、通信ログに含まれる通信先の系列データからドライブバイダウンロード攻撃によってマルウェアに感染した際の通信が含まれているか分類することが可能である。したがって、本実施の形態によれば、マルウェア感染時の通信を検知することによって、マルウェアによる被害が発生する前に、通信ログから、攻撃を精度よく検知することができる。
【００５９】
また、本実施の形態は、通信先の系列データに含まれるドライブバイダウンロード攻撃に関する複数のＵＲＬへのアクセスの順序関係に着目し、ドライブバイダウンロード攻撃で発生する悪質なリダイレクトの特徴を捉えることで分析精度を向上させている。すなわち、本実施の形態では、１つの通信先ではなく、複数の通信先の関係、特性を考慮して分類を行っており、これらの複数の通信先から十分な情報が得られる。このため、本実施の形態は、一つの通信先から情報を得ていた従来手法よりも、分類精度を向上させることができる。実際に、本実施の形態を適用して行った実験では、分類精度の向上が確認できた。
【００６０】
また、本実施の形態では、通信先系列抽出部１３が、通信先とその順序関係とが記録されたログから、連続する複数の通信の通信先を系列データとして抽出するため、コンテンツ解析が不要である。したがって、本実施の形態は、コンテンツが記録されていない大規模なネットワークで記録された通信ログに対しても適用可能である。
【００６１】
また、本実施の形態では、分類部１５は、系列データ中の複数の数値ベクトルを統合して新たな数値ベクトルを算出することと、新たに算出された複数の数値ベクトルから数値ベクトルの次元ごとに新たな値を算出して少数の数値ベクトルを作成することと、を繰り返している。したがって、本実施の形態によれば、系列データの局所的な特性を考慮して、系列データ全体の特性を示す数値ベクトルを算出することができる。
【００６２】
また、分類部１５は、複数の数値ベクトルから新たな数値ベクトルを算出する際に、系列データの一定範囲内に含まれる複数の数値ベクトルから２つの数値ベクトルを統合して新たな数値ベクトルを算出している。したがって、本実施の形態では、攻撃と関係ない通信先が混在していても、攻撃に関連する通信先の数値ベクトルを確実に統合することができ、分類精度を高めることが可能になる。
【００６３】
［他の実施の形態］
［システム構成等］
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６４】
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６５】
［プログラム］
図１６は、プログラムが実行されることにより、分類装置１が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６６】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００６７】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、分類装置１の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、分類装置１における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００６８】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００６９】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００７０】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００７１】
１  分類装置
１１  対象通信ログ入力部
１２  既知通信ログ入力部
１３  通信先系列抽出部
１４  数値ベクトル算出部
１５  分類部
【図１】
0006674036.tif 000004
【図２】
0006674036.tif 000005
【図３】
0006674036.tif 000006
【図４】
0006674036.tif 000007
【図５】
0006674036.tif 000008
【図６】
0006674036.tif 000009
【図７】
0006674036.tif 000010
【図８】
0006674036.tif 000011
【図９】
0006674036.tif 000012
【図１０】
0006674036.tif 000013
【図１１Ａ】
0006674036.tif 000014
【図１１Ｂ】
0006674036.tif 000015
【図１２】
0006674036.tif 000016
【図１３】
0006674036.tif 000017
【図１４】
0006674036.tif 000018
【図１５】
0006674036.tif 000019
【図１６】
0006674036.tif 000020