(57)【要約】  ブラックリスト生成装置（３００）は、悪性通信ログ（３０１ａ）と、正常通信ログ（３０１ｂ）と、を取得する。そして、悪性通信プロファイル抽出機能（３０５）は、悪性通信ログ（３０１ａ）に含まれる通信パターンの統計値を算出し、所定の条件を満たす通信パターンをブラックリスト候補（３０５ａ）として出力する。また、正常通信プロファイル抽出機能（３０６）は、正常通信ログ（３０１ｂ）に含まれる通信パターンの統計値を算出し、所定の条件を満たす通信パターンをホワイトリスト（３０６ａ）として出力する。さらに、ブラックリスト作成機能（３０７）は、ブラックリスト候補（３０５ａ）の値を、ホワイトリスト（３０６ａ）の値で検索し、一致する通信パターンをブラックリスト候補（３０５ａ）から除きブラックリスト（３０７ａ）を作成する。
2016132992.tif 000002
【特許請求の範囲】
【請求項１】
マルウェアによる通信から得られる第一の通信ログと、所定のネットワークにおける通信から得られる第二の通信ログと、を取得するログ取得機能と、
前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出機能と、
前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出機能と、
前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成機能と、
を有することを特徴とするブラックリスト生成装置。
【請求項２】
前記第一の抽出機能は、前記第一の統計値が高い通信パターンから順に前記第一の通信ログを並べ替え、該第一の通信ログのうち、前記第一の統計値が高い所定数の通信パターンを前記ブラックリストの候補として出力し、
前記第二の抽出機能は、前記第二の統計値が高い通信パターンから順に前記第二の通信ログを並べ替え、該第二の通信ログのうち、前記第二の統計値が高い所定数の通信パターンを前記ホワイトリストとして出力することを特徴とする請求項１に記載のブラックリスト生成装置。
【請求項３】
前記第二の通信ログから、前記所定のネットワークにおいて、アクセスしている端末数が所定の閾値以上である通信先を抽出し、前記第一の通信ログから、前記通信先に対する通信ログを除外する前処理機能をさらに有することを特徴とする請求項１に記載のブラックリスト生成装置。
【請求項４】
前記第一の通信ログに一定以上の頻度で出現する文字列を抽出し、単語リストを生成する単語リスト生成機能をさらに有し、
前記第二の抽出機能は、前記ホワイトリストの値のうち、前記単語リストに含まれる文字列と一致する部分以外の部分を正規表現化することを特徴とする請求項１に記載のブラックリスト生成装置。
【請求項５】
前記ブラックリスト作成機能は、前記ブラックリストの値を正規表現化して出力することを特徴とする請求項１に記載のブラックリスト生成装置。
【請求項６】
マルウェアによる通信から通信ログを収集し第一の通信ログとして蓄積する第一のログ収集蓄積装置と、
所定のネットワークにおける通信から通信ログを収集し第二の通信ログとして蓄積する第二のログ収集蓄積装置と、
ブラックリスト生成装置と、
を有するブラックリスト生成システムであって、
前記ブラックリスト生成装置は、
前記第一のログ収集蓄積装置に蓄積された第一の通信ログと、前記第二のログ収集蓄積装置に蓄積された第二の通信ログと、を取得するログ取得機能と、
前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出機能と、
前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出機能と、
前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成機能と、
を有することを特徴とするブラックリスト生成システム。
【請求項７】
マルウェアによる通信から通信ログを収集し第一の通信ログとして蓄積する第一のログ収集蓄積工程と、
所定のネットワークにおける通信から通信ログを収集し第二の通信ログとして蓄積する第二のログ収集蓄積工程と、
前記第一のログ収集蓄積工程において蓄積された第一の通信ログと、前記第二のログ収集蓄積工程において蓄積された第二の通信ログと、を取得するログ取得工程と、
前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出工程と、
前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出工程と、
前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成工程と、
を含んだことを特徴とするブラックリスト生成方法。
【請求項８】
マルウェアによる通信から得られる第一の通信ログと、所定のネットワークにおける通信から得られる第二の通信ログと、を取得するログ取得ステップと、
前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値のうち、所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出ステップと、
前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出ステップと、
前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成ステップと、
をコンピュータに実行させることを特徴とするブラックリスト生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラックリスト生成装置、ブラックリスト生成システム、ブラックリスト生成方法及びブラックリスト生成プログラムに関する。
【背景技術】
【０００２】
ネットワークを介して行われる攻撃は日々複雑さを増しており、入口対策だけでは通信端末のマルウェアへの感染を完全に防ぐことが難しい。近年では攻撃が成功した後にいかに早期発見することで被害の拡大を阻止するかと言う事後対策の重要性が増している。【０００３】
そのような技術の一つとして、ブラックリストを作成する方法が知られている。ブラックリスト生成方法として、ある程度悪性の疑いのあるＵＲＬに実際にアクセスし、その後の通信の挙動を基にして悪性であるかどうかを判断した上でブラックリストに追加する技術がある。【０００４】
また、図１２に示すような、ハニーポットを含んだシステムを用いた方法も知られている。図１２は、従来のブラックリスト生成システムを示す図である。図１２に示すブラックリスト生成システムにおいては、ハニーポット技術により取得した情報を基に悪性ＵＲＬのブラックリストを生成し、この時さらに取得できた悪性ＵＲＬと類似性が見られるＵＲＬに対してもアラートを上げ、情報収集を試みブラックリストを拡充する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１１８７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来の悪性の疑いのあるＵＲＬに実際にアクセスする方法では、高精度なブラックリストが作成可能であるが、確認することができる悪性ＵＲＬの種類に制約があるため、効率よくブラックリストを生成することが難しいという問題がある。また、最近のマルウェアは多種多様な通信を行なうため、単純にマルウェアの通信先を全て悪性ＵＲＬとみなし、その悪性ＵＲＬと類似性が見られるＵＲＬと併せてブラックリストとして活用すると誤検知を生む可能性が高く、また検知できるマルウェアのカバレッジも広がらない。【０００７】
そこで、本発明は、誤検知が少なく、マルウェアのカバレッジが広いブラックリストを効率良く生成することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のブラックリスト生成装置は、マルウェアによる通信から得られる第一の通信ログと、所定のネットワークにおける通信から得られる第二の通信ログと、を取得するログ取得機能と、前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出機能と、前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出機能と、前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成機能と、を有することを特徴とする。【０００９】
また、本発明のブラックリスト生成システムは、マルウェアによる通信から通信ログを収集し第一の通信ログとして蓄積する第一のログ収集蓄積装置と、所定のネットワークにおける通信から通信ログを収集し第二の通信ログとして蓄積する第二のログ収集蓄積装置と、ブラックリスト生成装置と、を有するブラックリスト生成システムであって、前記ブラックリスト生成装置は、前記第一のログ収集蓄積装置に蓄積された第一の通信ログと、前記第二のログ収集蓄積装置に蓄積された第二の通信ログと、を取得するログ取得機能と、前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出機能と、前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出機能と、前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成機能と、を有することを特徴とする。【００１０】
また、本発明のブラックリスト生成方法は、マルウェアによる通信から通信ログを収集し第一の通信ログとして蓄積する第一のログ収集蓄積工程と、所定のネットワークにおける通信から通信ログを収集し第二の通信ログとして蓄積する第二のログ収集蓄積工程と、前記第一のログ収集蓄積工程において蓄積された第一の通信ログと、前記第二のログ収集蓄積工程において蓄積された第二の通信ログと、を取得するログ取得工程と、前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出工程と、前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出工程と、前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成工程と、を含んだことを特徴とする。【００１１】
また、本発明のブラックリスト生成プログラムは、マルウェアによる通信から得られる第一の通信ログと、所定のネットワークにおける通信から得られる第二の通信ログと、を取得するログ取得ステップと、前記第一の通信ログに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての第一の統計値を算出し、該第一の統計値のうち、所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリストの候補として出力する第一の抽出ステップと、前記第二の通信ログに含まれる通信パターン毎の出現頻度についての第二の統計値を算出し、該第二の統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリストとして出力する第二の抽出ステップと、前記ブラックリストの候補の値を、前記ホワイトリストの対応するフィールドの値で検索し、一致する通信パターンを前記ブラックリストの候補から除くことでブラックリストを作成するブラックリスト作成ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、誤検知が少なく、マルウェアのカバレッジが広いブラックリストを効率良く生成することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、第一の実施形態に係るブラックリスト生成システムの構成の一例を示す図である。
【図２】図２は、第一の実施形態に係るブラックリスト生成装置における通信ログのフィールドの例を示す図である。
【図３】図３は、第一の実施形態に係るブラックリスト生成装置における悪性通信ログのプロファイル情報の例を示す図である。
【図４】図４は、第一の実施形態に係るブラックリスト生成装置におけるブラックリスト候補の一例を示す図である。
【図５】図５は、第一の実施形態に係るブラックリスト生成装置における正常通信ログのプロファイル情報の例を示す図である。
【図６】図６は、第一の実施形態に係るブラックリスト生成装置におけるホワイトリストの一例を示す図である。
【図７】図７は、第一の実施形態に係るブラックリスト生成装置におけるブラックリストの一例を示す図である。
【図８】図８は、第一の実施形態に係るブラックリスト生成装置におけるブラックリストの一例を示す図である。
【図９】図９は、第一の実施形態に係るブラックリスト生成装置におけるプロファイル情報の例を示す図である。
【図１０】図１０は、第一の実施形態に係るブラックリスト生成システムの処理の一例を示す図である。
【図１１】図１１は、ブラックリスト生成プログラムを実行するコンピュータの一例を示す図である。
【図１２】図１２は、従来のブラックリスト生成システムを示す図である。
【発明を実施するための形態】
【００１４】
[第一の実施形態に係るブラックリスト生成システムの構成]
図面を参照しながら、本発明の第一の実施形態の構成について説明する。まず、図１を用いて本実施形態のブラックリスト生成システム１の構成を説明する。図１は、第一の実施形態に係るブラックリスト生成システムの構成の一例を示す図である。なお、本発明は本実施形態に限定されない。
【００１５】
ブラックリスト生成システム１は、ログ収集・蓄積装置１００及び２００、ブラックリスト生成装置３００を含む。ログ収集・蓄積装置１００はマルウェアの通信ログの収集及び蓄積を行う。ログ収集・蓄積装置２００は防御対象ネットワークにおける通信ログの収集及び蓄積を行う。本実施形態においては、マルウェアの通信ログ及び防御対象ネットワークにおける通信ログの収集及び蓄積を別々の装置で行う構成となっているが、１つの装置で両方の通信ログの収集及び蓄積を行うようにしても良い。
【００１６】
なお、以降の説明において、マルウェアの通信ログを「悪性通信ログ」とし、防御対象ネットワークにおける通信ログを「正常通信ログ」とする。また、マルウェアの通信ログは、サンドボックス化されたマルウェアの通信環境においてマルウェアを実行させた際に出力される通信ログである。
【００１７】
ログ収集・蓄積装置１００及び２００は、例えばファイアウォール、Ｗｅｂプロキシ、ＤＮＳサーバのログを通信ログとして収集する。また、ＩＤＳ（Intrusion  Detection  System）、ＩＰＳ（Intrusion  Prevention  System）等の通信を監視するセキュリティアプライアンスのログを収集するようにしても良い。
【００１８】
図１に示すように、ログ収集・蓄積装置１００は、収集機能１０１、正規化機能１０２及びログ管理ストレージ１０３を有する。収集機能１０１は、マルウェアの通信環境における前述の収集対象の機器及びシステム等から通信ログを収集する。正規化機能１０２は、収集した通信ログを図２に示すフィールドに従って正規化する。図２は、第一の実施形態に係るブラックリスト生成装置における通信ログのフィールドの例を示す図である。正規化された通信ログは、ログ管理ストレージ１０３に格納される。
【００１９】
図１に示すように、ログ収集・蓄積装置２００は、ログ収集・蓄積装置１００と同様の構成を有する。ログ収集・蓄積装置２００は、収集機能２０１、正規化機能２０２及びログ管理ストレージ２０３を有する。収集機能２０１は、防御対象ネットワークにおける前述の収集対象の機器及びシステム等から通信ログを収集する。正規化機能２０２は、収集した通信ログを図２に示すフィールドに従って正規化する。正規化された通信ログは、ログ管理ストレージ２０３に格納される。
【００２０】
なお、図２に示すフィールドは一例であり、ログ収集・蓄積装置１００及び２００が収集し正規化する通信ログのフィールドは、図２に示すものに限定されない。また、ログ収集・蓄積装置１００及び２００は、図２に示すフィールドのうち、必ずしも全てのフィールドについて値を取得する必要はなく、一部のフィールドについての値を取得することとしても良い。
【００２１】
図１に示すように、ブラックリスト生成装置３００は、ログ取得機能３０１、悪性通信ログ前処理機能３０２、正常通信ログ前処理機能３０３、単語リスト生成機能３０４、悪性通信プロファイル抽出機能３０５、正常通信プロファイル抽出機能３０６及びブラックリスト作成機能３０７を有する。
【００２２】
ログ取得機能３０１は、マルウェアによる通信から得られる悪性通信ログ３０１ａと、所定のネットワークである防御対象ネットワークにおける通信から得られる正常通信ログ３０１ｂと、を取得する。
【００２３】
第一の抽出機能である悪性通信プロファイル抽出機能３０５は、悪性通信ログ３０２ａに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての統計値を算出し、統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをブラックリスト候補３０５ａとして出力する。また、悪性通信プロファイル抽出機能３０５は、統計値の降順に悪性通信ログ３０２ａを並べ替え、所定の順位以上となる通信パターンをブラックリスト候補３０５ａとして出力しても良い。
【００２４】
第二の抽出機能である正常通信プロファイル抽出機能３０６は、正常通信ログ３０３ａに含まれる通信パターン毎の出現頻度についての統計値を算出し、統計値が所定の条件を満たす通信パターンを抽出し、該通信パターンをホワイトリスト３０６ａとして出力する。また、正常通信プロファイル抽出機能３０６は、前記統計値の降順に正常通信ログ３０３ａを並べ替え、所定の順位以上となる通信パターンをホワイトリスト３０６ａとして出力しても良い。
【００２５】
ブラックリスト作成機能３０７は、ブラックリスト候補３０５ａの値を、ホワイトリスト３０６ａの対応するフィールドの値で検索し、一致する通信パターンをブラックリスト候補３０５ａから除いたものをブラックリスト３０７ａとして出力する。また、前記ブラックリスト作成機能３０７は、ブラックリスト３０７ａの値を正規表現化して出力しても良い。
【００２６】
正常通信ログ前処理機能３０３は、正常通信ログ３０１ｂから、所定のネットワークにおいて一定回数以上のアクセスが行われている通信先を抽出する。また、悪性通信ログ前処理機能３０２は、悪性通信ログ３０１ａから、抽出した通信先に対する通信ログを除外する。
【００２７】
単語リスト生成機能３０４は、悪性通信ログ３０２ａに一定以上の頻度で出現する文字列を抽出し、単語リスト３０４ａを生成する。また、正常通信プロファイル抽出機能３０６は、ホワイトリスト３０６ａの値のうち、単語リスト３０４ａに含まれる文字列と一致する部分以外の部分を正規表現化する。
【００２８】
なお、上記の機能のうち、悪性通信ログ前処理機能３０２、正常通信ログ前処理機能３０３、単語リスト生成機能３０４は必須の構成ではないが、ブラックリスト生成装置３００によって生成されるブラックリスト３０７ａの精度をさらに向上させる効果を奏する。以降、各機能における具体的な処理について説明する。
【００２９】
ログ取得機能３０１は、ログ収集・蓄積装置１００及び２００に対し、通信ログ取得のための問い合わせを行う。ログ取得機能３０１は、ログ収集・蓄積装置１００及び２００に対し、特定の期間、フィールド及びフィールドの値等を検索条件として通信ログを検索し、検索結果を応答するように要求することもできる。ログ取得機能３０１からの問い合わせが行われると、ログ収集・蓄積装置１００及び２００は通信ログの検索を行い、検索結果をログ取得機能３０１に応答する。
【００３０】
ログ取得機能３０１は、ログ収集・蓄積装置１００及び２００から通信ログを取得すると、悪性通信ログ３０１ａを悪性通信ログ前処理機能３０２へ、正常通信ログ３０１ｂを正常通信ログ前処理機能３０３へ転送する。
【００３１】
正常通信ログ前処理機能３０３は、正常通信ログ３０１ｂの対象である端末のうち、所定の閾値以上の端末がアクセスしているドメインを、防御対象ネットワークにおけるポピュラーな通信先とする。そして、正常通信ログ前処理機能３０３は、ポピュラーな通信先をリスト化し除外リスト３０３ｂとして出力する。除外リスト３０３ｂは悪性通信ログ前処理機能３０２へ送信され、正常通信ログ３０３ａは正常通信プロファイル抽出機能３０６へ転送される。なお、除外リスト３０３ｂは、前述のドメインに加え、ＦＱＤＮ（Fully  Qualified  Domain  Name）によって作成されるようにしても良い。なお、ポピュラーな通信先の例としては、利用者数が多い大手検索サイト（ＹＡＨＯＯ！（登録商標）、ｇｏｏｇｌｅ（登録商標）等）で用いられているドメインがある。
【００３２】
悪性通信ログ前処理機能３０２は、ログ取得機能３０１から悪性通信ログ３０１ａを受け取り、正常通信ログ前処理機能３０３から除外リスト３０３ｂを受け取る。悪性通信ログ前処理機能３０２は、除外リスト３０３ｂに従って、悪性通信ログ３０１ａのフィルタリングを行う。即ち、悪性通信ログ３０１ａから、通信先が除外リスト３０３ｂに含まれている通信ログを除外し、悪性通信ログ３０２ａとして出力する。そして、悪性通信ログ前処理機能３０２は、悪性通信ログ３０２ａを単語リスト生成機能３０４及び悪性通信プロファイル抽出機能３０５に転送する。この時、悪性通信ログ前処理機能３０２は、除外リスト３０３ｂに含まれている通信先以外にも、広告サイトとして著名なドメインや、世間一般的によくアクセスされるドメインを通信先とする通信ログを除外するようにしても良い。
【００３３】
単語リスト生成機能３０４は、悪性通信ログ前処理機能３０２から悪性通信ログ３０２ａを受け取る。単語リスト生成機能３０４は、悪性通信ログ３０２ａから所定の条件を満たす文字列を抽出し、単語リスト３０４ａを生成する。所定の条件としては、例えば文字列の長さや出現回数が一定の基準を超えていること、またはそれらを組み合わせた条件等が挙げられる。単語リスト３０４ａは、正常通信プロファイル抽出機能３０６へ転送される。
【００３４】
悪性通信プロファイル抽出機能３０５は、悪性通信ログ前処理機能３０２から悪性通信ログ３０２ａを受け取る。そして悪性通信プロファイル抽出機能３０５は、悪性通信ログ３０２ａから、図２に示すようなフィールド毎に、各値の発生回数、マルウェア数、発生率等を図３に示すようなプロファイル情報として抽出する。図３は、第一の実施形態に係るブラックリスト生成装置における悪性通信ログのプロファイル情報の例を示す図である。
【００３５】
そして、悪性通信プロファイル抽出機能３０５は、図４に示すように、抽出した情報をリスト化し各フィールドにおけるブラックリスト候補３０５ａとする。図４は、第一の実施形態に係るブラックリスト生成装置におけるブラックリスト候補の一例を示す図である。このとき、悪性通信プロファイル抽出機能３０５は、各値をフィールド毎にランキング形式で表し、所定の順位以上である値をブラックリスト候補３０５ａとしても良い。
【００３６】
例えば、図３の例においては、発生回数の値が高い通信パターンから順に悪性通信ログ３０２ａを並べ替え、悪性通信ログ３０２ａのうち、発生回数の値が高い３つの通信パターンをブラックリスト候補３０５ａとして出力している。ここで、発生回数の値が高い２つの通信パターンをブラックリスト候補３０５ａとして出力するようにすれば、フィールドが「宛先ＩＰアドレス」で、値が「１０．０．０．３」である通信パターンはブラックリスト候補３０５ａに含まれないこととなる。
【００３７】
なお、発生回数とは悪性通信ログ３０２ａにおける当該値の出現回数であり、マルウェア数とは当該値を発生させているマルウェアの検体数であり、発生率とは悪性通信ログ３０２ａに含まれるマルウェアの総検体数に占める前記マルウェア数の割合である。即ち、下記のように表すこともできる。
発生回数＝当該通信パターンの出現回数（マルウェアの重複可）
マルウェア数＝当該通信パターンを発生させているマルウェア数（マルウェアの重複不可）
発生率＝当該通信パターンを発生させているマルウェア数（マルウェアの重複不可）／悪性通信ログ３０２ａに含まれるマルウェアの総検体数
【００３８】
なお、図３の例において、重複を排除したマルウェア数は１００とする。この場合、例えば「宛先ＩＰアドレス」が「１９２．１６８．１０．３０」である通信パターンは、マルウェア数が８０であるため、図３に示す通り、発生率は８０／１００＝０．８となる。
【００３９】
正常通信プロファイル抽出機能３０６は、正常通信ログ前処理機能３０３から正常通信ログ３０３ａを受け取り、単語リスト生成機能３０４から単語リスト３０４ａを受け取る。そして、悪性通信プロファイル抽出機能３０５はマルウェアに関するプロファイル情報を抽出するのに対し、正常通信プロファイル抽出機能３０６は端末に関するプロファイル情報を抽出する。即ち、正常通信プロファイル抽出機能３０６は、正常通信ログ３０３ａから、図２に示すようなフィールド毎に、各値の発生回数、端末数、発生率等を図５に示すようなプロファイル情報として抽出する。図５は、第一の実施形態に係るブラックリスト生成装置における正常通信ログのプロファイル情報の例を示す図である。
【００４０】
なお、発生回数とは正常通信ログ３０３ａにおける当該値の出現回数であり、端末数とは当該値を発生させている端末数であり、発生率とは正常通信ログ３０３ａに含まれる端末の総数に占める前記端末数の割合である。即ち、下記のように表すこともできる。
発生回数＝当該通信パターンの出現回数（端末の重複可）
端末数＝当該通信パターンを発生させている端末数（端末の重複不可）
発生率＝当該通信パターンを発生させている端末数（端末の重複不可）／正常通信ログ３０３ａに含まれる端末の総数
【００４１】
なお、図５の例において、重複を排除した端末数は１００とする。この場合、例えば「宛先ＩＰアドレス」が「１０．０．０．３」である通信パターンは、端末数が４０であるため、図５に示す通り、発生率は４０／１００＝０．４となる。
【００４２】
そして、正常通信プロファイル抽出機能３０６は、図６に示すように、抽出した情報をリスト化し各フィールドにおけるホワイトリスト３０６ａとする。図６は、第一の実施形態に係るブラックリスト生成装置におけるホワイトリストの一例を示す図である。正常通信プロファイル抽出機能３０６は、ホワイトリスト３０６ａを抽出する際に、図５に示すプロファイル情報のうち、誤検知を引き起こす可能性を考慮し、例えば発生率が０．２以上のものをホワイトリスト３０６ａとして抽出するといったような条件を定める。さらに、クエリキーは常にホワイトリスト３０６ａに含めない、といったフィールド毎の条件を定めても良い。
【００４３】
具体例として、正常通信プロファイル抽出機能３０６が、発生率が０．２以上、ただしフィールドが「クエリキー」の場合は発生率が０．６以上であることを条件としてホワイトリスト３０６ａを作成する場合の例を説明する。図５の例においては、例えば、フィールドが「宛先ＩＰアドレス」、値が「１０．０．０．３」である通信パターンは、発生率が０．２以上であり、フィールドが「クエリキー」でないため、条件を満たし、ホワイトリスト３０６ａに含まれる。これに対して、フィールドが「クエリキー」、値が「ａｄｖ，ｂ，ｃ，ｃｏｄｅ１，ｃｏｄｅ２，ｉｄ，ｐ」である通信パターンは、発生率が０．５であるが、フィールドが「クエリキー」であるため、発生率が０．６以上であるという条件を満たさず、ホワイトリスト３０６ａには含まれない。
【００４４】
また、正常通信プロファイル抽出機能３０６は、悪性通信プロファイル抽出機能３０５と同様に、各値をフィールド毎にランキング形式で表し、所定の順位以上である値をホワイトリスト３０６ａとしても良い。
【００４５】
例えば、図５の例においては、発生回数の値が高い通信パターンから順に正常通信ログ３０３ａを並べ替え、正常通信ログ３０３ａのうち、発生回数の値が高い２つの通信パターンをホワイトリスト３０６ａとして出力しても良い。この場合、例えば、フィールドが「宛先ＩＰアドレス」で、値が「１９２．１６８．１０．３０」である通信パターンがホワイトリスト３０６ａに含まれることとなる。
【００４６】
ここで、例えば、ある値を正規表現化してホワイトリスト３０６ａに出力した場合は、当該値と異なる値であっても、当該正規表現にマッチすれば同一の通信パターンとして発生回数がカウントされる。一方、ある値を正規表現化せずにホワイトリスト３０６ａに出力した場合は、当該値と異なる値については、別の通信パターンとして発生回数がカウントされる。このため、同じ値であっても、正規表現化された場合の方が、正規表現化されなかった場合に比べて、前述のランキングで上位に入りやすくなる。
【００４７】
そこで、単語リスト３０４ａに含まれる文字列で表された値については、正規表現化せずにホワイトリスト３０６ａに出力するようにしても良い。これにより、単語リスト３０４ａに含まれる文字列で表された値は前述のランキングで上位に入りにくくなるため、マルウェアの通信の特徴をより正確にとらえており、本来ブラックリスト３０７ａに含めるのが適切である値が、ホワイトリスト３０６ａによってブラックリスト３０７ａから除外されてしまうことを防止することができる。
【００４８】
ブラックリスト作成機能３０７は、悪性通信プロファイル抽出機能３０５からブラックリスト候補３０５ａを受け取り、正常通信プロファイル抽出機能３０６からホワイトリスト３０６ａを受け取る。そして、ブラックリスト作成機能３０７は、ブラックリスト候補３０５ａから、ホワイトリスト３０６ａに記載されている値を除外し、ブラックリスト３０７ａを作成する。
【００４９】
具体的な例を挙げて説明すると、例えば図６に示すホワイトリスト３０６ａのフィールド「宛先ＩＰ」には「１０．０．０．３」という値が記載されている。この「１０．０．０．３」という値を用いて、図４に示すブラックリスト候補３０５ａのフィールド「宛先ＩＰ」の値を検索すると、「１０．０．０．３」に合致する値があるため、宛先ＩＰが「１０．０．０．３」という通信パターンが除外される。フィールド「ＵｓｅｒＡｇｅｎｔ」、「ＵＲＬ」、「ＵＲＬパス」についても同様の処理を行う。
【００５０】
この結果、ブラックリスト作成機能３０７は、図７及び図８に示すようなブラックリスト３０７ａを作成する。図７及び図８は、第一の実施形態に係るブラックリスト生成装置におけるブラックリストの一例を示す図である。図７は、ブラックリスト３０７ａを実値形式で作成したものであり、図８は正規表現化したパターン形式で作成したものである。
【００５１】
上記の説明においては、ブラックリスト候補３０５ａ及びホワイトリスト３０６ａをそれぞれ出力し突き合わせることでブラックリスト３０７ａを作成する方法を説明したが、ブラックリスト３０７ａの作成方法は、この方法に限られない。例えば、図９に示すように、悪性通信のプロファイル情報と正常通信のプロファイル情報を直接突き合わせて比較し、ブラックリスト候補３０５ａから除外すべき値を除外し、ブラックリスト３０７ａを作成するようにしても良い。
【００５２】
具体的には、ホワイトリスト３０６ａに含める条件を、発生率が０．２以上、ただしフィールドが「クエリキー」の場合は発生率が０．６以上であることとした場合、フィールドが「宛先ＩＰアドレス」で、値が「１０．０．０．３」である通信パターンは、ホワイトリスト３０６ａにも含まれるため、ブラックリスト候補３０５ａから除外され、ブラックリスト３０７ａには含まれないこととなる。また、フィールドが「クエリキー」で、値が「ａｄｖ，ｂ，ｃ，ｃｏｄｅ１，ｃｏｄｅ２，ｉｄ，ｐ」である通信パターンは、発生率が０．５であるが、フィールドが「クエリキー」であるため、発生率が０．６以上であるという条件を満たさず、ホワイトリスト３０６ａには含まれないため、ブラックリスト候補３０５ａからは除外されず、ブラックリスト３０７ａに含まれることとなる。
【００５３】
[第一の実施形態に係るブラックリスト生成システムの処理]
図１０を用いて、本発明の第一の実施形態の処理について説明する。図１０は、第一の実施形態に係るブラックリスト生成システムの処理の一例を示す図である。
【００５４】
図１０に示すように、まず、ログ収集・蓄積装置１００は予め通信ログを収集し、正規化したうえで蓄積しておく（ステップＳ１１）。ログ収集・蓄積装置２００も同様に、予め通信ログを収集し、正規化したうえで蓄積しておく（ステップＳ１２）。
【００５５】
ログ取得機能３０１は、ログ収集・蓄積装置１００に対してログ取得のための問い合わせを行い（ステップＳ１３）、ログ収集・蓄積装置１００は蓄積した通信ログの検索を行い、検索結果をログ取得機能３０１に対して応答する（ステップＳ１４）。また、ログ取得機能３０１は、ログ収集・蓄積装置２００に対してもログ取得のための問い合わせを行い（ステップＳ１５）、ログ収集・蓄積装置２００は蓄積した通信ログの検索を行い、検索結果をログ取得機能３０１に対して応答する（ステップＳ１６）。
【００５６】
ログ取得機能３０１は、ログ収集・蓄積装置１００から受け取った通信ログを、悪性通信ログとして悪性通信ログ前処理機能３０２へ転送する（ステップＳ１７）。また、ログ取得機能３０１は、ログ収集・蓄積装置２００から受け取った通信ログを、正常通信ログとして正常通信ログ前処理機能３０３へ転送する（ステップＳ１８）。
【００５７】
正常通信ログ前処理機能３０３は、正常通信ログを基に除外リストを作成する（ステップＳ１９）。正常通信ログ前処理機能３０３は、作成した除外リストを、悪性通信ログ前処理機能３０２へ転送する（ステップＳ２０）。
【００５８】
悪性通信ログ前処理機能３０２は、正常通信ログ前処理機能３０３から受け取った除外リストを用いて、悪性通信ログに対してフィルタリングを行う（ステップＳ２１）。悪性通信ログ前処理機能３０２は、フィルタリングを行った前処理後の悪性通信ログを、悪性通信プロファイル抽出機能３０５に転送する（ステップＳ２２）。また、悪性通信ログ前処理機能３０２は、フィルタリングを行った前処理後の悪性通信ログを、単語リスト生成機能３０４にも転送する（ステップＳ２３）。正常通信ログ前処理機能３０３は、前処理後の正常通信ログを正常通信プロファイル抽出機能３０６に転送する（ステップＳ２４）。
【００５９】
単語リスト生成機能３０４は、悪性通信ログを基に、単語リストを生成する（ステップＳ２５）。単語リスト生成機能３０４は、生成した単語リストを、正常通信プロファイル抽出機能３０６へ転送する（ステップＳ２６）。
【００６０】
悪性通信プロファイル抽出機能３０５は、悪性通信ログを基に悪性通信のプロファイル情報を作成する（ステップＳ２７）。そして、悪性通信プロファイル抽出機能３０５は、作成したプロファイル情報を基に、ブラックリスト候補を作成する（ステップＳ２８）。悪性通信プロファイル抽出機能３０５は、作成したブラックリスト候補をブラックリスト作成機能３０７に転送する（ステップＳ２９）。
【００６１】
正常通信プロファイル抽出機能３０６は、正常通信ログを基に正常通信のプロファイル情報を作成する（ステップＳ３０）。そして、正常通信プロファイル抽出機能３０６は、作成したプロファイル情報及び単語リストを基に、ホワイトリストを作成する（ステップＳ３１）。正常通信プロファイル抽出機能３０６は、作成したホワイトリストをブラックリスト作成機能３０７に転送する（ステップＳ３２）。
【００６２】
ブラックリスト作成機能３０７は、ブラックリスト候補及びホワイトリストを基にブラックリストを作成する（ステップＳ３３）。
【００６３】
[第一の実施形態の効果]
本実施形態に係るブラックリスト生成装置３００においては、マルウェアによる通信から得られる悪性通信ログ３０１ａと、防御対象ネットワークにおける通信から得られる正常通信ログ３０１ｂと、をログ取得機能３０１によって取得する。そして、悪性通信プロファイル抽出機能３０５は、悪性通信ログ３０１ａに含まれるフィールド及び値の組である通信パターン毎の出現頻度についての統計値を算出し、統計値が所定の条件を満たす通信パターンをブラックリスト候補３０５ａとして出力する。また、正常通信プロファイル抽出機能３０６は、正常通信ログ３０１ｂに含まれる通信パターン毎の出現頻度についての統計値を算出し、統計値が所定の条件を満たす通信パターンをホワイトリスト３０６ａとして出力する。さらに、ブラックリスト作成機能３０７は、ブラックリスト候補３０５ａの値を、ホワイトリスト３０６ａの対応するフィールドの値で検索し、一致する通信パターンをブラックリスト候補３０５ａから除くことでブラックリスト３０７ａを作成する。
【００６４】
ログ収集・蓄積装置１００によって得られる悪性通信ログを正規化したデータから、図２に示すフィールド毎のブラックリストを生成することは可能である。しかし、そのようにして生成されたブラックリストは、誤検知率が非常に高いものとなってしまう。そこで、本実施形態においては、正常通信ログからホワイトリストを生成し、ブラックリストの候補と突き合せることでブラックリストを生成する。
【００６５】
これによって、誤検知が少なく、マルウェアのカバレッジが広いブラックリストを効率良く生成することができる。また、本実施形態に係るブラックリスト生成装置３００で生成されたブラックリスト３０７ａをマルウェアの検知に用いることにより、高精度な感染端末や不正通信の早期発見を実現できる。
【００６６】
また、本実施形態に係るブラックリスト生成装置３００においては、悪性通信プロファイル抽出機能３０５は、統計値の降順に悪性通信ログ３０２ａを並べ替え、所定の順位以上となる通信パターンをブラックリスト候補３０５ａとして出力する。これにより、誤検知率を高くする通信パターンを処理から除外することができる。また、正常通信プロファイル抽出機能３０６は、統計値の降順に正常通信ログ３０３ａを並べ替え、所定の順位以上となる通信パターンをホワイトリスト３０６ａとして出力する。これにより、検知率を低くする通信パターンを処理から除外することができる。
【００６７】
また、本実施形態に係るブラックリスト生成装置３００においては、正常通信ログ前処理機能３０３は、正常通信ログ３０１ｂから、防御対象ネットワークにおいて、アクセスしている端末数が所定の閾値以上である通信先を抽出し除外リスト３０３ｂとして出力する。そして、悪性通信ログ前処理機能３０２は、悪性通信ログ３０１ａから、除外リスト３０３ｂに記載されている通信先に対する通信ログを除外する。これにより、正常通信ログを悪性通信ログとして検知する誤検知率を低くすることができ、さらに、ブラックリスト生成処理を効率的に行うことができるようになる。
【００６８】
本実施形態に係るブラックリスト生成装置３００においては、単語リスト生成機能３０４は、悪性通信ログ３０２ａに一定以上の頻度で出現する文字列を抽出し、単語リスト３０４ａとして出力する。そして、正常通信プロファイル抽出機能３０６は、ホワイトリスト３０６ａの値のうち、単語リスト３０４ａに含まれる文字列と一致する部分以外の部分を正規表現化する。これにより、ブラックリスト作成機能３０７は、ホワイトリスト３０６ａを用いて汎用的な検索を行うことができるようになる。
【００６９】
また、単語リスト３０４ａに含まれる文字列を正規表現化しないことで、ホワイトリスト３０６ａによる検索が限定的となり、ブラックリスト作成機能３０７において、本来悪性である通信パターンをホワイトリスト３０６ａに含まれるものとして除外するケースの発生を低減することができる。
【００７０】
[プログラム]
また、上記実施形態に係るブラックリスト生成装置３００が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成し、実行することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータに読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、ブラックリスト生成装置３００と同様の機能を実現する制御プログラムを実行するコンピュータの一例を説明する。
【００７１】
図１１は、ブラックリスト作成プログラムを実行するコンピュータの一例を示す図である。図１１に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００７２】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００７３】
ここで、図１１に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００７４】
また、ブラックリスト作成プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ１０９０に記憶される。具体的には、上記実施形態で説明したブラックリスト生成装置３００が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０９０に記憶される。
【００７５】
また、ブラックリスト作成プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００７６】
なお、ブラックリスト作成プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、制御プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。また、ネットワークインタフェース１０７０等によりリアルタイムにパケットを収集することでデータを収集してもよい。
【符号の説明】
【００７７】
１    ブラックリスト生成システム
１００、２００    ログ収集・蓄積装置
１０１、２０１    収集機能
１０２、２０２    正規化機能
１０３、２０３    ログ管理ストレージ
３００    ブラックリスト生成装置
３０１    ログ取得機能
３０１ａ、３０２ａ    悪性通信ログ
３０１ｂ、３０３ａ    正常通信ログ
３０２    悪性通信ログ前処理機能
３０３    正常通信ログ前処理機能
３０３ｂ    除外リスト
３０４    単語リスト生成機能
３０４ａ    単語リスト
３０５    悪性通信プロファイル抽出機能
３０５ａ    ブラックリスト候補
３０６    正常通信プロファイル抽出機能
３０６ａ    ホワイトリスト
３０７    ブラックリスト作成機能
３０７ａ    ブラックリスト
【図１】
2016132992.tif 000003
【図２】
2016132992.tif 000004
【図３】
2016132992.tif 000005
【図４】
2016132992.tif 000006
【図５】
2016132992.tif 000007
【図６】
2016132992.tif 000008
【図７】
2016132992.tif 000009
【図８】
2016132992.tif 000010
【図９】
2016132992.tif 000011
【図１０】
2016132992.tif 000012
【図１１】
2016132992.tif 000013
【図１２】
2016132992.tif 000014
【国際調査報告】
2016132992.tif 000015
2016132992.tif 000016
2016132992.tif 000017
2016132992.tif 000018