(57)【要約】  悪性通信パターン抽出装置（１０）は、マルウェアによるトラヒックから得られるトラヒックログ（３１）と、所定の通信環境におけるトラヒックから得られるトラヒックログ（２１）とから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出部（１３２）と、統計値算出部（１３２）によって算出された統計値をもとに、通信パターン毎に、トラヒックログ（２１）の出現頻度とトラヒックログ（３１）の出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、悪性通信パターンとして抽出する悪性リスト候補抽出部（１３４）と、マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつマルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、閾値を設定する閾値設定部（１３５）と、を有する。
2016125837.tif 000002
【特許請求の範囲】
【請求項１】
マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出する悪性通信パターン抽出装置であって、
前記マルウェアによるトラヒックから得られる第一のトラヒックログと、所定の通信環境におけるトラヒックから得られる第二のトラヒックログとから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出部と、
前記統計値算出部によって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出部と、
前記抽出部によって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定部と、
を有することを特徴とする悪性通信パターン抽出装置。
【請求項２】
前記通信パターンに対し、悪性通信パターンとして抽出された場合に検知可能なマルウェアを識別するためのマルウェア識別子を付与する識別子設定部と、
前記識別子設定部によって前記マルウェア識別子が付与された前記通信パターンのうち、付与された前記マルウェア識別子が、他の通信パターンに付与された前記マルウェア識別子に包含されない前記通信パターンを悪性通信パターンとして抽出する識別子設定済悪性リスト抽出部と、
をさらに有することを特徴とする請求項１に記載の悪性通信パターン抽出装置。
【請求項３】
マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出する悪性通信パターン抽出装置と、前記マルウェアによるトラヒックから得られる第一のトラヒックログを発生させる第一のネットワークと、所定の通信環境におけるトラヒックから得られる第二のトラヒックログを発生させる第二のネットワークと、を有する悪性通信パターン抽出システムであって、
前記悪性通信パターン抽出装置は、
前記第一のトラヒックログと、前記第二のトラヒックログとから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出部と、
前記統計値算出部によって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出部と、
前記抽出部によって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定部と、
を有することを特徴とする悪性通信パターン抽出システム。
【請求項４】
マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出する悪性通信パターン抽出方法であって、
前記マルウェアによるトラヒックから得られる第一のトラヒックログを発生させる第一のトラヒックログ発生工程と、
所定の通信環境におけるトラヒックから得られる第二のトラヒックログを発生させる第二のトラヒックログ発生工程と、
前記第一のトラヒックログと、前記第二のトラヒックログと、から、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出工程と、
前記統計値算出工程によって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出工程と、
前記抽出工程によって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定工程と、
を含んだことを特徴とする悪性通信パターン抽出方法。
【請求項５】
マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出するための悪性通信パターン抽出プログラムであって、
前記マルウェアによるトラヒックから得られる第一のトラヒックログと、所定の通信環境におけるトラヒックから得られる第二のトラヒックログとから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出ステップと、
前記統計値算出ステップによって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出ステップと、
前記抽出ステップによって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定ステップと、
をコンピュータに実行させるための悪性通信パターン抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、悪性通信パターン抽出装置、悪性通信パターン抽出システム、悪性通信パターン抽出方法、および、悪性通信パターン抽出プログラムに関する。
【背景技術】
【０００２】
従来のサイバー攻撃対策は、アンチウイルスソフト等による入口対策を行ってきたが、完全に感染を防ぐことはできず、マルウェア感染後の被害拡大を防ぐ出口対策の重要性が高まっている。感染端末を発見する手段として、端末やネットワーク装置のログを分析するのが有力な手段となっており、近年ではＳＩＥＭを導入して出口対策をする企業も増えてきている。【０００３】
出口対策では感染端末を発見し、マルウェア感染端末をネットワークから切り離すことが行われる。マルウェア感染端末を特定する方法として、マルウェアの挙動を解析することで特定のＵＲＬをブラックリストとして抽出し、ブラックリストをネットワークログとマッチングさせる方法がある。例えば、マルウェア特有の通信先のＩＰアドレスに関するブラックリストを用いて、このブラックリストのＩＰアドレスを宛先として通信を行う端末を特定する方法がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５００９２４４号公報
【非特許文献】
【０００５】
【非特許文献１】SANS  Eighth  Annual  2012  Log  and  Event  Management  Survey  Results:  Sorting  Through  the  Noise、[online]、[平成26年10月31日検索]、インターネット<URL：http://www.sans.org/reading-room/whitepapers/analyst/eighth-annual-2012-log-event-management-survey-results-sorting-noise-35230>
【非特許文献２】R.Perdisci他、「Behavioral  Clustering  of  HTTP-Based  Malware  and  Signature  Generation  Using  Malicious  Network  Traces」、NSDI、Apr.2010.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、近年のマルウェアは多種多様な通信を行うために、単に通信先のＵＲＬを抽出するだけでは誤検知の可能性が高く、また検知できるマルウェアの範囲が広がらないという問題がある。実際、あるマルウェアは外部疎通確認のために有名サイトへのアクセスを実施することがある。この通信は正常通信との見分けがつかない。また、あるマルウェアはＷｅｂアクセスを行わず、正常通信が使わないようなポート番号を使用して外部と通信を行なう。これは悪性ＵＲＬとのマッチングでは検知することができない。【０００７】
また、誤検知が発生すると、オペレータによる手動解析が必要となるために、マルウェア感染端末までに時間を要するうえ、オペレーションのコストも増大するため、誤検知を可能な限り低くおさえてマルウェア感染端末を検知できることが望ましい。そこで、本発明は、誤検知の少ない悪性通信パターンを抽出することを目的とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、本発明の悪性通信パターン抽出装置は、マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出する悪性通信パターン抽出装置であって、前記マルウェアによるトラヒックから得られる第一のトラヒックログと、所定の通信環境におけるトラヒックから得られる第二のトラヒックログとから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出部と、前記統計値算出部によって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出部と、前記抽出部によって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定部と、を有することを特徴とする。【０００９】
また、本発明の悪性通信パターン抽出システムは、マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出する悪性通信パターン抽出装置と、前記マルウェアによるトラヒックから得られる第一のトラヒックログを発生させる第一のネットワークと、所定の通信環境におけるトラヒックから得られる第二のトラヒックログを発生させる第二のネットワークと、を有する悪性通信パターン抽出システムであって、前記悪性通信パターン抽出装置は、前記第一のトラヒックログと、前記第二のトラヒックログとから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出部と、前記統計値算出部によって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出部と、前記抽出部によって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定部と、を有することを特徴とする。【００１０】
また、本発明の悪性通信パターン抽出方法は、マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出する悪性通信パターン抽出方法であって、前記マルウェアによるトラヒックから得られる第一のトラヒックログを発生させる第一のトラヒックログ発生工程と、所定の通信環境におけるトラヒックから得られる第二のトラヒックログを発生させる第二のトラヒックログ発生工程と、前記第一のトラヒックログと、前記第二のトラヒックログと、から、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出工程と、前記統計値算出工程によって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出工程と、前記抽出工程によって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定工程と、を含んだことを特徴とする。【００１１】
また、本発明の悪性通信パターン抽出プログラムは、マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出するための悪性通信パターン抽出プログラムであって、前記マルウェアによるトラヒックから得られる第一のトラヒックログと、所定の通信環境におけるトラヒックから得られる第二のトラヒックログとから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する統計値算出ステップと、前記統計値算出ステップによって算出された統計値をもとに、前記通信パターン毎に、前記第一のトラヒックログの出現頻度と前記第二のトラヒックログの出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、前記悪性通信パターンとして抽出する抽出ステップと、前記抽出ステップによって抽出された前記悪性通信パターンを適用した場合において、前記マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、前記マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつ前記マルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、前記閾値を設定する閾値設定ステップと、をコンピュータに実行させる。
【発明の効果】
【００１２】
本発明によれば、誤検知の少ない悪性通信パターンを抽出することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、悪性通信パターン抽出装置の構成を示す図である。
【図２】図２は、異常トラヒック検知システムの構成を示す図である。
【図３】図３は、悪性通信パターン抽出装置で扱うトラヒックログのフィールドの一例を示す図である。
【図４】図４は、トラヒックログに付与可能なフィールドの一例を示す図である。
【図５】図５は、マルウェアが発生させるトラヒックの一例を示す図である。
【図６】図６は、防御対象ネットワークで発生するトラヒックの一例を示す図である。
【図７】図７は、トラヒックのフィールド別の統計値の一例を示す図である。
【図８】図８は、トラヒックのフィールド別のマージ後の統計値の一例を示す図である。
【図９】図９は、悪性リスト候補の一例を示す図である。
【図１０】図１０は、悪性リスト候補の閾値の設定の一例を示す図である。
【図１１】図１１は、悪性リスト候補のマルウェア識別子の設定の一例を示す図である。
【図１２】図１２は、悪性リストの一例を示す図である。
【図１３】図１３は、統計値算出処理を示すフローチャートである。
【図１４】図１４は、マージ処理を示すフローチャートである。
【図１５】図１５は、悪性リスト候補抽出処理を示すフローチャートである。
【図１６】図１６は、閾値設定処理を示すフローチャートである。
【図１７】図１７は、識別子設定処理を示すフローチャートである。
【図１８】図１８は、悪性リスト抽出処理を示すフローチャートである。
【図１９】図１９は、悪性通信パターン抽出プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。まず、図１を用いて本実施形態の悪性通信パターン抽出装置１０の構成を説明する。図１は、悪性通信パターン抽出装置の構成を示す図である。なお、本発明は本実施形態に限定されない。
【００１５】
悪性通信パターン抽出装置１０は、入出力部１１、記憶部１２、制御部１３を備える。入出力部１１は、例えば、防御対象ネットワーク２０のトラヒックログ２１や、マルウェア実行環境３０のトラヒックログ３１等が入力される。なお、以下、悪性通信パターン抽出装置１０に入力されるトラヒックログは、過去のトラヒックのログである場合を例に説明するが、これに限定されない。
【００１６】
また、マルウェアによるトラヒックから得られる第一のトラヒックログとしてトラヒックログ３１を発生させる第一のネットワークであるマルウェア実行環境３０と、所定の通信環境におけるトラヒックから得られる第二のトラヒックログとしてトラヒックログ２１を発生させる第二のネットワークである防御対象ネットワークと、マルウェアによるトラヒックの検知を行うための悪性通信パターンを抽出する悪性通信パターン抽出装置１０と、は悪性通信パターン抽出システムを構成する。
【００１７】
入出力部１１へ入力されるトラヒックログのフィールドについて説明する。図３は、悪性通信パターン抽出装置で扱うトラヒックログのフィールドの一例を示す図である。図３に示すように、入出力部１１へ入力され、悪性通信パターン抽出装置１０で扱うトラヒックログには、送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、送信元ポート番号、送信バイト数、ＵＲＬ等が含まれる。
【００１８】
実際に取得できるトラヒックログのフィールドは、ログを取得する機器やソフトウェアによって異なる。例えば、ルータやスイッチなどのネットワーク機器においては、ＩＰアドレスやポート番号などのTCP/IPレイヤの情報に限定されることが多い。一方、PCAPを直接保存できる場合は、HTTPのヘッダ情報やアプリケーション情報など、よりリッチな情報を取得できる。
【００１９】
また、トラヒックログに対しては、トラヒックログの情報の統計的な情報や、外部情報との連携によって追加の情報を与えることができる。例えば、宛先の組織名は図３のフィールドには含まれていないが、宛先ＩＰアドレスとMaxMind社のGeoIP（登録商標）とにより特定可能である。図４は、トラヒックログに付与可能なフィールドの一例を示す図である。図４に示すように付与可能なフィールドとして、トラヒックの宛先の組織名、ＡＳ（Autonomous  System）番号、IP  Prefix、国名、アプリケーション名、トラヒックに含まれるフローの数等が挙げられる。外部情報としては、MaxMind社のGeoIPによるＩＰアドレスと国・組織名のマッピングデータベース、BGP経路情報によるＩＰアドレスとAS番号、IP  Prefixのマッピングデータベース、または独自に定義するデータベース等が挙げられる。
【００２０】
記憶部１２は、フィールド情報１２１や悪性通信パターン１２２を記憶する。フィールド情報１２１は、制御部１３において、図３に示すような通信パターンの抽出対象とするトラヒックのフィールド（例えば、プロトコル番号、宛先ポート番号、宛先ＩＰアドレス、送信元ポート番号、送信バイト数等）を示した情報である。例えば、制御部１３は、このフィールド情報を参照し、入力されたトラヒックログから、プロトコル番号、宛先ポート番号、宛先ＩＰアドレス、送信元ポート番号、送信バイト数のフィールドの値を通信パターンとして抽出する。
【００２１】
悪性通信パターン１２２は、異常トラヒックの検知に用いる通信パターンであり、制御部１３における処理によって抽出される。処理の詳細は後述する。なお、抽出された悪性通信パターン１２２は、図２に示すような異常トラヒック検知システムにおいて使用される。図２は、異常トラヒック検知システムの構成を示す図である。図２に示すように、異常トラヒック検知装置６０には、インターネット５０と接続されたネットワーク４０のトラヒックログ４１が入力される。また、異常トラヒック検知装置６０は、悪性通信パターン抽出装置１０で抽出された悪性通信パターン１２２を参照し、トラヒックログ４１から異常トラヒックを検知する。
【００２２】
図１に示す制御部１３は、悪性通信パターン抽出装置１０全体の制御を司り、トラヒック入力受付部１３１と、統計値算出部１３２と、マージ部１３３と、悪性リスト候補抽出部１３４と、閾値設定部１３５と、識別子設定部１３６と、悪性リスト抽出部１３７と、を備える。
【００２３】
トラヒック入力受付部１３１は、入出力部１１からトラヒックログの入力を受け付ける。ここで、受け付けるトラヒックログには、防御対象ネットワーク２０のトラヒックログ２１およびマルウェア実行環境３０のトラヒックログ３１が含まれる。
【００２４】
マルウェア実行環境３０は、意図的に既知のマルウェアによる通信を実行させるための環境である。マルウェア実行環境３０からはマルウェアによるトラヒックログ３１を得ることができる。図５は、マルウェアが発生させるトラヒックの一例を示す図である。
【００２５】
マルウェアを一意に指定できるマルウェア識別子として、マルウェアファイルのＳｈａ１ハッシュ値をとったもの等を使用することが多い。図５のマルウェア識別子の「Ｍ１」は、Ｓｈａ１ハッシュ値を示している。なお、図５に示すトラヒックログには、図４に示す追加のフィールドの情報が含まれているものとする。
【００２６】
また、防御対象ネットワーク２０は、異常トラヒック検知の対象となるネットワークである。防御対象ネットワーク２０は、正常な状態であればマルウェアによるトラヒックは発生しない。図６に示すように、防御対象ネットワーク２０においては、端末を一意に識別できるものとして、送信元ＩＰアドレスを使用することが多い。なお、図５の場合と同様に、図６に示すトラヒックログにも、図４に示す追加のフィールドの情報が含まれているものとする。
【００２７】
統計値算出部１３２は、トラヒック入力受付部１３１で受け付けられ、追加のフィールドの情報等が付与されたトラヒックログから、図７に示すような統計値情報を算出する。図７は、トラヒックのフィールド別の統計値の一例を示す図である。統計値算出部１３２は、マルウェアによるトラヒックから得られるトラヒックログ３１と、所定の通信環境におけるトラヒックから得られるトラヒックログ２１とから、フィールドおよび値の組である通信パターン毎の出現頻度についての統計値を算出する。
【００２８】
具体的には、図７に示すように、統計値は、トラフィックログのフィールドの値ごとに算出される。また、算出される統計値の例としては、発生率、マルウェア数または端末数、発生回数等が挙げられる。統計値の算出対象となる入力トラヒックログは、図１に示す防御対象ネットワーク２０のトラヒックログ２１およびマルウェア実行環境３０のトラヒックログ３１の両方である。ただし、送信元の数として、トラヒックログ２１においては送信元ＩＰアドレスをもとに端末数を算出し、トラヒックログ３１においてはマルウェア識別子をもとにマルウェア数を算出する。
【００２９】
統計値の算出においては、まず、算出対象とするフィールドを指定する。図７の例ではここでは、トラヒックから収集可能な任意のフィールドを複数指定することができる。また、任意のフィールドの組み合わせも指定することができる。図７に示す例では、プロトコル、プロトコル＋宛先ポート、宛先ＩＰアドレス、宛先組織、送信元ポート、送信バイト、ＵＲＬ、ＤＮＳ  Ｑｕｅｒｙ  Ｎａｍｅを指定している。
【００３０】
フィールドが指定されると、指定したフィールドについて統計値を算出する。ここでは、発生率、端末数またはマルウェア数、発生回数の算出方法について説明する。なお、説明において、端末数またはマルウェア数を発生数として説明する。
【００３１】
まず、発生数とは、トラヒックログの中から、あるフィールドと値の組み合わせの出現回数を端末またはマルウェアの重複を許可せずにカウントした数である。次に、発生回数とは、トラヒックログから、あるフィールドと値の組み合わせの出現回数を端末またはマルウェアの重複を許可してカウントした数である。例えば、１つの端末でフィールドと値の組み合わせが同じトラヒックが複数回発生した場合、発生数は１であり、発生回数は複数となる。そして、発生率とは、発生数を全端末数または全マルウェア数で除した値である。図７の例においては、全端末数または全マルウェア数を１００としている。
【００３２】
これより、各統計値の算出方法は下記のように表すことができる。
発生数＝あるフィールドと値の組み合わせの出現回数（端末またはマルウェアの重複不可）
発生回数＝あるフィールドと値の組み合わせの出現回数（端末またはマルウェアの重複可）
発生率＝発生数／全端末数またはマルウェア数
【００３３】
例えば、図７の例においては、トラヒックログにおける宛先ＩＰアドレスというフィールドと「１９２．０．２．０」という値の組み合わせの出現回数が１６０であり、そのうち端末またはマルウェアの重複を除いた発生数が８０であり、８０を全端末数またはマルウェア数の１００で除した結果、発生率が０．８となる。
【００３４】
マージ部１３３は、防御対象ネットワーク２０のトラヒックログ２１およびマルウェア実行環境３０のトラヒックログ３１の両方から統計値を算出した後、図８に示すように、算出結果のマージを行う。図８は、トラヒックのフィールド別のマージ後の統計値の一例を示す図である。図８では、左側の発生率、マルウェア数および発生回数の列がマルウェア実行環境３０のトラヒックログ３１から算出した統計値であり、右側の発生率、端末数および発生回数の列が防御対象ネットワーク２０のトラヒックログ２１から算出した統計値である。
【００３５】
マージ部１３３は、図８に示すように、左側の発生率、マルウェア数および発生回数の列を基準として、防御対象ネットワークのトラヒックフィールド別の値に、マルウェアのトラヒックフィールド別の値と同じ値が存在すれば、その値を右側の発生率、端末数および発生回数の列に追記する。また、マージ部１３３は、防御対象ネットワークのトラヒックフィールド別の値に、マルウェアのトラヒックフィールド別の値と同じ値が存在しない場合は、ハイフンを追記する。マージ部１３３は、以上の処理を各フィールドおよび値について繰り返し行うことでマージを行う。
【００３６】
次に、悪性リスト候補抽出部１３４は、マージを行った統計値をもとに、悪性リスト候補を抽出する。図９は、悪性リスト候補の一例を示す図である。悪性リスト候補抽出部１３４は、統計値算出部１３２によって算出された統計値をもとに、通信パターン毎に、トラヒックログ２１の出現頻度とトラヒックログ３１の出現頻度とを比較し、両者の出現頻度の差が所定の閾値以上である場合には、該通信パターンを、悪性通信パターンとして抽出する。例えば、悪性リスト候補抽出部１３４は、図８に示すマージ後の統計値のうち発生率を参照し、左側のマルウェア実行環境における値が十分大きく、右側の防御対象ネットワークにおける値が十分小さい場合、その値を抽出する。上記の「十分大きい」「十分小さい」の判断には、あらかじめ統計値に対する閾値を設定して判断する。そして、悪性リスト候補抽出部１３４は、各トラヒックフィールドに対して、１件でも値を抽出できた場合、「悪性リスト採用可否」をＯＫとする。また、悪性リスト候補抽出部１３４は、各トラヒックフィールドに対して、１件も値を抽出できなかった場合、「悪性リスト採用可否」をＮＧとする。悪性リスト候補抽出部１３４は、以上の処理を各フィールドおよび値について繰り返し行うことで悪性リスト候補を抽出する。
【００３７】
そして、閾値設定部１３５は、抽出した悪性リスト候補に対し閾値を設定する。図１０は、悪性リスト候補の閾値の設定の一例を示す図である。閾値設定部１３５は、悪性リスト候補抽出部１３４によって抽出された悪性通信パターンを適用した場合において、マルウェアによるトラヒックであるか否かを検知するために、少なくとも一種類の該悪性通信パターンに一致する回数、または、該悪性通信パターンに一致した場合の該悪性通信パターンの種類数の閾値として、マルウェアによるトラヒックを誤って検知する確率である誤検知率が一定値以下かつマルウェアによるトラヒックを検知する確率である検知率が一定値以上となるように、閾値を設定する。
【００３８】
具体的には、閾値設定部１３５は、悪性リスト採用可否がＯＫである悪性リスト候補のうち、あらかじめ指定した複数の閾値を使用し、マルウェアのトラヒックに対する検知率が一定値以上、防御対象ネットワークのトラヒックに対する誤検知率が一定値以下となる閾値を抽出する。ここで、検知率・誤検知率は以下のように計算できる。
検知率＝悪性リスト候補および閾値を用いて検知できたマルウェア数／全マルウェア数
誤検知率＝悪性リスト候補および閾値を用いて検知した端末数／全端末数
【００３９】
閾値設定部１３５は、以上の処理を各悪性リスト候補について繰り返し行うことで悪性リスト候補に閾値を設定する。図１０の例では、例えば宛先組織が「Ｃ」であるトラヒックの発生回数閾値を５に設定しているため、宛先組織が「Ｃ」であるトラヒックの発生回数が５回以上である場合はマルウェアとして検知することを示している。図８によれば、マルウェアのトラヒックにおいて宛先組織が「Ｃ」である発生回数は２０であり、防御対象ネットワークのトラヒックにおいては１０である。そのため、宛先組織が「Ｃ」であるトラヒックログは、マルウェアのネットワークでは発生しやすく、防御対象ネットワークではあまり発生しないことが分かる。
【００４０】
また、閾値設定部１３５は、種類数閾値を設定するようにしてもよい。図１０の例では、例えば宛先組織が「Ｃ」であるトラヒックの種類数閾値を１に設定しているため、宛先組織が「Ｃ」である通信パターンのトラヒックが１種類でも発生した場合は、マルウェアとして検知することを示している。図８によれば、マルウェアのトラヒックにおいて宛先組織が「Ｃ」であるマルウェア数は２０であり、防御対象ネットワークのトラヒックにおける端末数は１である。そのため、マルウェア数および端末数からも、宛先組織が「Ｃ」であるトラヒックログは、マルウェアのネットワークでは発生しやすく、防御対象ネットワークではあまり発生しないことが分かる。
【００４１】
閾値の設定後、識別子設定部１３６は、図１１に示すように、各悪性リスト候補および閾値によって検知可能なマルウェアの識別子を設定する。図１１は、悪性リスト候補のマルウェア識別子の設定の一例を示す図である。識別子設定部１３６は、悪性通信パターンとして抽出された場合に検知可能なマルウェアを識別するためのマルウェア識別子を付与する。
【００４２】
例えば、図１１は、宛先組織が「Ｃ」であるトラヒックの発生回数の閾値を５、または種類数の閾値を１として検知した場合、マルウェアＭ６およびＭ７が検知可能であることを示している。また、宛先ＩＰアドレスが「１９２．０．２．２」であるトラヒックの発生回数の閾値を５、または種類数の閾値を１として検知した場合、マルウェアＭ６が検知可能である。識別子設定部１３６は、以上の処理を閾値設定済みの各悪性リスト候補について繰り返し行うことで検知可能なマルウェアの識別子を設定する。
【００４３】
悪性リスト抽出部１３７は、図１２に示すように、識別子設定部１３６によってマルウェア識別子が付与された通信パターンのうち、付与されたマルウェア識別子が、他の通信パターンに付与されたマルウェア識別子に包含されない通信パターンを悪性通信パターンとして抽出する。図１２は、悪性リストの一例を示す図である。
【００４４】
例えば、宛先組織についての検知により検知できるマルウェアＭ６およびＭ７は、宛先ＩＰアドレスにより検知できるマルウェアＭ６を包含しているため、宛先ＩＰアドレスによる検知を行う必要はないため、不要な検知パターンとして除去する。以上の処理を検知可能識別子が付与された悪性リストについて行うことで最終的な悪性リストが得られる。
【００４５】
なお、識別子設定部１３６による識別子の設定は必ずしも行う必要はなく、悪性リスト抽出部１３７は、閾値設定部１３５で閾値が設定された時点で、閾値設定部１３５により閾値が設定された通信パターンを悪性通信パターンとして抽出することとしても良い。
【００４６】
（処理手順）
次に、悪性通信パターン抽出装置１０の処理手順を説明する。まず、図１３を用いてトラヒック入力受付部１３１および統計値算出部１３２における処理について説明する。トラヒック入力受付部１３１は、トラヒックログが入力されると（ステップＳ１１）、トラヒックフィールドを指定する（ステップＳ１２）。そして、統計値算出部１３２は、指定されたトラヒックフィールド別に統計値を算出する（ステップＳ１３）。統計値としては、発生率、端末数またはマルウェア数、発生回数等がある。
【００４７】
図１４を用いてマージ部１３３における処理について説明する。図１４は、マージ処理を示すフローチャートである。まず、マージ部１３３には、統計値算出部１３２で処理されたマルウェア実行環境におけるトラヒックフィールドの値と、防御対象ネットワークにおけるトラヒックフィールドの値が入力される（ステップＳ２１）。そして、各トラヒックフィールドに対し、マージ処理を繰り返し行う（ステップＳ２２）。
【００４８】
マージ処理として、まず、マルウェア実行環境におけるトラヒックフィールドに対応する値が防御対象ネットワークにおけるトラヒックフィールドにも存在する場合、マルウェア実行環境におけるトラヒックフィールドの値に、防御対象ネットワークにおけるトラヒックフィールドの値を追記する。マルウェア実行環境におけるトラヒックフィールドに対応する値が防御対象ネットワークにおけるトラヒックフィールドにも存在しない場合は、マルウェア実行環境におけるトラヒックフィールドの値に、ハイフンを追記する（ステップＳ２３）。
【００４９】
図１５を用いて、悪性リスト候補抽出部１３４における処理について説明する。図１５は、悪性リスト候補抽出処理を示すフローチャートである。まず、悪性リスト候補抽出部１３４には、マージ部１３３によってマージ処理が行われたトラヒックフィールド別の値の発生に関する統計値が入力される（ステップＳ３１）。そして、各トラヒックフィールドに対し、悪性リスト候補抽出処理を繰り返し行う（ステップＳ３２）。
【００５０】
悪性リスト候補抽出処理として、まず、トラヒックフィールドの値についてのパラメタ即ち統計値を指定し、防御対象ネットワークにおける統計値に対し、マルウェア実行環境における統計値が十分大きい場合、そのトラヒックフィールドおよび値を悪性リスト候補として抽出する。条件に該当する値が１件でも抽出できたトラヒックフィールドは、「悪性リスト採用可否」をＯＫとする（ステップＳ３３）。
【００５１】
図１６を用いて、閾値設定部１３５における処理について説明する。図１６は、閾値設定処理を示すフローチャートである。まず、閾値設定部１３５には、悪性リスト候補抽出部１３４で抽出されたトラヒックフィールド別の悪性リスト候補が入力される（ステップＳ４１）。そして、「悪性リスト採用可否」がＯＫであるトラヒックフィールドに対して、閾値設定処理を繰り返し行う（ステップＳ４２）。
【００５２】
閾値設定処理として、まず、あらかじめ指定した複数の閾値を使用し、マルウェアの検知率が一定値以上である、防御対象ネットワークのトラヒックに対する誤検知率が一定値以下となる閾値を抽出する（ステップＳ４３）。複数の閾値のうちいずれの閾値も抽出できなかった場合は、そのトラヒックフィールドの「悪性リスト採用可否」をＮＧとする（ステップＳ４４）。
【００５３】
図１７を用いて、識別子設定部１３６における処理について説明する。図１７は、識別子設定処理を示すフローチャートである。まず、識別子設定部１３６には、閾値設定部１３５で閾値が設定されたトラヒックフィールド別の悪性リスト候補が入力される（ステップＳ５１）。そして、「悪性リスト採用可否」がＯＫであるトラヒックフィールドに対して、識別子設定処理を繰り返し行う（ステップＳ５２）。
【００５４】
識別子設定処理として、悪性リスト候補のトラヒックフィールドおよび閾値を使用して識別可能なマルウェアの識別子を抽出する（ステップＳ５３）。
【００５５】
図１８を用いて、悪性リスト抽出部１３７における処理について説明する。図１８は、悪性リスト抽出処理を示すフローチャートである。まず、悪性リスト抽出部１３７には、識別子設定部１３６でマルウェア識別子が付与されたトラヒックフィールド別の悪性リスト候補が入力される（ステップＳ６１）。そして、各トラヒックフィールドに対し、悪性リスト抽出処理を繰り返し行う（ステップＳ６２）。
【００５６】
悪性リスト抽出処理として、他のトラヒックフィールドに含まれないマルウェア識別子を含む場合は採用とし、付与された識別子が、他のトラヒックフィールドに含まれるマルウェア識別子に全て包含される場合は不採用とする（ステップＳ６３）。以上の処理により、最終的な悪性リストが得られる。
【００５７】
（プログラム）
また、上記実施形態に係る悪性通信パターン抽出装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成し、実行することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、悪性通信パターン抽出装置１０と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
【００５８】
図１９は、悪性通信パターン抽出プログラムを実行するコンピュータを示す図である。図１９に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００５９】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００６０】
ここで、図１９に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００６１】
また、悪性通信パターン抽出プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明した悪性通信パターン抽出装置１０が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００６２】
また、悪性通信パターン抽出プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６３】
なお、悪性通信パターン抽出プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。また、ネットワークインタフェース１０７０等によりリアルタイムにパケットを収集することでデータを収集してもよい。
【符号の説明】
【００６４】
１０    悪性通信パターン抽出装置
１１    入出力部
１２    記憶部
１３    制御部
１３１  トラヒック入力受付部
１３２  統計値算出部
１３３  マージ部
１３４  悪性リスト候補抽出部
１３５  閾値設定部
１３６  識別子設定部
１３７  悪性リスト抽出部
【図１】
2016125837.tif 000003
【図２】
2016125837.tif 000004
【図３】
2016125837.tif 000005
【図４】
2016125837.tif 000006
【図５】
2016125837.tif 000007
【図６】
2016125837.tif 000008
【図７】
2016125837.tif 000009
【図８】
2016125837.tif 000010
【図９】
2016125837.tif 000011
【図１０】
2016125837.tif 000012
【図１１】
2016125837.tif 000013
【図１２】
2016125837.tif 000014
【図１３】
2016125837.tif 000015
【図１４】
2016125837.tif 000016
【図１５】
2016125837.tif 000017
【図１６】
2016125837.tif 000018
【図１７】
2016125837.tif 000019
【図１８】
2016125837.tif 000020
【図１９】
2016125837.tif 000021
【国際調査報告】
2016125837.tif 000022
2016125837.tif 000023
2016125837.tif 000024
2016125837.tif 000025
2016125837.tif 000026
2016125837.tif 000027