(57)【要約】【課題】不正な通信の接続先を検出可能にすること。【解決手段】判定装置１００は、端末装置１０１と接続先１０２との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部１１０に記憶する。判定装置１００は、記憶部１１０に記憶された接続情報に基づいて、端末装置１０１と接続先１０２との間の通信における複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出する。判定装置１００は、算出した接続タイミングの間隔に基づいて、接続先１０２の正当性を判定する。【選択図】図１
2017097625.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
端末装置と接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部に記憶し、
前記記憶部に記憶された前記接続情報に基づいて、前記複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出し、
算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する、
処理を実行させることを特徴とする判定プログラム。
【請求項２】
前記コンピュータに、
前記接続タイミングの間隔のばらつきが所定の基準よりも小さい場合、前記接続先が正当でないと判定する、処理を実行させることを特徴とする請求項１に記載の判定プログラム。
【請求項３】
前記コンピュータに、
算出した前記接続タイミングの間隔に基づいて、前記接続タイミングの間隔のばらつき度合いを示す統計値を算出する、処理を実行させ、
前記判定する処理は、
算出した前記統計値に基づいて、前記接続先の正当性を判定する、ことを特徴とする請求項１に記載の判定プログラム。
【請求項４】
前記判定する処理は、
前記接続タイミングの間隔の平均値に対する前記統計値の比率が閾値未満の場合に、前記接続先が正当でないと判定する、ことを特徴とする請求項３に記載の判定プログラム。
【請求項５】
前記記憶部は、端末装置と接続先との組み合わせそれぞれについて、前記端末装置と前記接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶し、
前記接続タイミングの間隔を算出する処理は、
前記組み合わせそれぞれについて、前記記憶部に記憶された前記接続情報に基づいて、前記接続タイミングの間隔を算出し、
前記判定する処理は、
前記組み合わせそれぞれについて、算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する、ことを特徴とする請求項１〜４のいずれか一つに記載の判定プログラム。
【請求項６】
前記判定する処理は、
前記端末装置と前記接続先との間の通信における接続回数が所定の回数より大きい場合に、前記接続先の正当性を判定する、ことを特徴とする請求項１〜５のいずれか一つに記載の判定プログラム。
【請求項７】
前記接続タイミングの間隔を算出する処理は、
前記記憶部に記憶された、前記端末装置と前記接続先との間の所定期間内の通信における複数回の接続それぞれの接続タイミングを特定する接続情報に基づいて、前記接続タイミングの間隔を算出する、ことを特徴とする請求項１〜６のいずれか一つに記載の判定プログラム。
【請求項８】
前記コンピュータに、
前記接続先が正当でないと判定した場合、前記端末装置の識別情報と前記接続先の識別情報とを含む警告情報を出力する、処理を実行させることを特徴とする請求項１〜７のいずれか一つに記載の判定プログラム。
【請求項９】
コンピュータが、
端末装置と接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部に記憶し、
前記記憶部に記憶された前記接続情報に基づいて、前記複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出し、
算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する、
処理を実行することを特徴とする判定方法。
【請求項１０】
端末装置と接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部と、
前記記憶部に記憶された前記接続情報に基づいて、前記複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出し、算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する制御部と、
を有することを特徴とする判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、判定プログラム、判定方法、および判定装置に関する。
【背景技術】
【０００２】
近年、高度標的型攻撃によるセキュリティ侵害が増えている。高度標的型攻撃では、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）システムへの侵入を防ぐことが難しく、システムに侵入されることを前提としたセキュリティ対策が重要である。
【０００３】
例えば、システムに侵入されると、システム内部に設置されたマルウェアから、攻撃者が攻撃の指令を出すためのＣ＆Ｃ（Ｃｏｍｍａｎｄ  ａｎｄ  Ｃｏｎｔｒｏｌ）サーバへの通信が行われる。このため、マルウェアからＣ＆Ｃサーバへの通信を検出して遮断することが有効なセキュリティ対策となる。
【０００４】
関連する先行技術としては、例えば、システム内部から外部への通信を監視し、その通信先を、Ｃ＆Ｃサーバとして知られている通信先のリストと照合するものがある。また、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）リクエストを解析して特性値を算出し、算出した特性値に基づく統計量に基づいて、算出した特性値が異常値であるか否かを判定し、特性値が異常値である場合に、不正通信の可能性があると判定する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−６３４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、不正な通信を行う接続先を検出することが難しい。例えば、システム内部から外部への通信を監視し、その通信先を、Ｃ＆Ｃサーバとして知られている通信先のリストと照合する方法では、リストに載っていないＣ＆Ｃサーバへの通信は検出することができない。
【０００７】
一つの側面では、本発明は、不正な通信の接続先を検出可能にする判定プログラム、判定方法、および判定装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、端末装置と接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶する記憶部に記憶された前記接続情報に基づいて、前記複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出し、算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する判定プログラム、判定方法、および判定装置が提案される。
【発明の効果】
【０００９】
本発明の一側面によれば、不正な通信の接続先を検出可能にすることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる判定方法の一実施例を示す説明図である。
【図２】図２は、システム２００のシステム構成例を示す説明図である。
【図３】図３は、判定装置１００のハードウェア構成例を示すブロック図である。
【図４】図４は、端末装置２０１等のハードウェア構成例を示すブロック図である。
【図５】図５は、接続情報の具体例を示す説明図である。
【図６】図６は、判定結果ＤＢ２４０の記憶内容の一例を示す説明図である。
【図７】図７は、判定装置１００の機能的構成例を示すブロック図である。
【図８】図８は、警告画面の画面例を示す説明図である。
【図９】図９は、リスト画面の画面例を示す説明図である。
【図１０】図１０は、判定装置１００の第１の判定処理手順の一例を示すフローチャートである。
【図１１】図１１は、判定装置１００の第２の判定処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる判定プログラム、判定方法、および判定装置の実施の形態を詳細に説明する。
【００１２】
（実施の形態）
図１は、実施の形態にかかる判定方法の一実施例を示す説明図である。図１において、判定装置１００は、端末装置１０１と通信する接続先１０２の正当性を判定するコンピュータである。端末装置１０１は、接続先１０２と通信を行うコンピュータである。接続先１０２は、端末装置１０１と通信を行うコンピュータである。
【００１３】
具体的には、端末装置１０１は、例えば、高度標的型攻撃の対象となり得る組織のシステム内のＰＣ（パーソナル・コンピュータ）やサーバなどである。組織は、例えば、政府機関、公共サービス機関、企業などである。また、接続先１０２は、例えば、端末装置１０１を含むシステムの外部のＰＣやサーバなどである。
【００１４】
高度標的型攻撃とは、特定の組織内の情報を狙って行われる高度なサイバー攻撃の一種である。高度標的型攻撃は、例えば、攻撃対象となる組織の職員宛に、コンピュータウィルスが添付された電子メールを送ることによって開始される。電子メールの文面は、例えば、その組織の職員にしかわからないような文面や、職員が開きそうな文面となっていることが多い。
【００１５】
そして、職員の誰かがＰＣ上で添付ファイルを実行すると、そのＰＣがマルウェアに感染する。このようにして、システムに侵入されると、システム内のマルウェアと、外部のＣ＆Ｃサーバとの通信が開始される。Ｃ＆Ｃサーバとは、マルウェアに感染したコンピュータに対して、攻撃者が攻撃の指令を出すためのサーバである。
【００１６】
したがって、システム内のマルウェアからＣ＆Ｃサーバへの通信を検出して遮断することが有効なセキュリティ対策となる。ただし、システム内のマルウェアからＣ＆Ｃサーバへの不正な通信を、ウェブ閲覧時等の正当な通信と区別するのは難しい。このため、例えば、システム内部から外部への通信を監視し、その通信先を、Ｃ＆Ｃサーバとして知られている通信先のリストと照合することで、マルウェアからＣ＆Ｃサーバへの通信を検出する方法が考えられる。
【００１７】
ところが、この方法では、リスト（いわゆる、ブラックリスト）に載っていないＣ＆Ｃサーバへの通信は検出することができない。また、Ｃ＆ＣサーバのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）は、短期間（例えば、２４時間）で生成・削除が繰り返されることが多く、有効なＣ＆ＣサーバのＵＲＬをリスト化して保持することは困難である。
【００１８】
ここで、マルウェアに感染してから攻撃者からの指示を受けるまでの初期段階は、マルウェアからＣ＆Ｃサーバへの通信が機械的に一定間隔で発生することが多い。一方、攻撃者が攻撃をし始めた後は、初期段階に比べて、マルウェアからＣ＆Ｃサーバへの一定間隔の通信が発生する可能性は低い。
【００１９】
また、ウェブ閲覧時等の通信では、システム内部から外部への通信が一定間隔で発生することは少ない。すなわち、システム内部から外部への通信がほぼ一定の間隔で発生している場合には、その通信は、システム内のマルウェアからＣ＆Ｃサーバへの不正な通信である可能性が高いといえる。
【００２０】
そこで、本実施の形態では、マルウェアに感染直後の初期段階はＣ＆Ｃサーバへの通信が機械的に一定間隔で発生することが多いことを利用して、接続先の正当性を判定し、不正な通信の接続先を検出可能にする判定方法について説明する。
【００２１】
（１）判定装置１００は、端末装置１０１と接続先１０２との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部１１０に記憶する。具体的には、例えば、判定装置１００は、端末装置１０１から接続先１０２への通信を検出すると、当該通信における接続タイミングを特定する接続情報を記憶部１１０に記憶する。この場合、接続タイミングは、例えば、端末装置１０１から接続先１０２への通信を検出した時刻によって表される。
【００２２】
（２）判定装置１００は、記憶部１１０に記憶された接続情報に基づいて、端末装置１０１と接続先１０２との間の通信における複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出する。図１の例では、記憶部１１０に記憶された接続情報から特定される、端末装置１０１と接続先１０２との間の通信における接続タイミングを「時刻ｔ１〜ｔ５」とする。
【００２３】
この場合、判定装置１００は、時刻ｔ１〜ｔ５に基づいて、接続タイミングの間隔ｘ１〜ｘ４を算出する。接続タイミングの間隔ｘ１は、時刻ｔ１と時刻ｔ２との間の時間間隔である。接続タイミングの間隔ｘ２は、時刻ｔ２と時刻ｔ３との間の時間間隔である。接続タイミングの間隔ｘ３は、時刻ｔ３と時刻ｔ４との間の時間間隔である。接続タイミングの間隔ｘ４は、時刻ｔ４と時刻ｔ５との間の時間間隔である。
【００２４】
（３）判定装置１００は、算出した接続タイミングの間隔に基づいて、接続先１０２の正当性を判定する。上述したように、システムの外部への通信がほぼ一定の間隔で発生している場合、その通信は、システム内のマルウェアからＣ＆Ｃサーバへの不正な通信である可能性が高いといえる。
【００２５】
このため、判定装置１００は、例えば、算出した接続タイミングの間隔のばらつきが所定の基準よりも小さい場合、接続先が正当でないと判定する。具体的には、例えば、判定装置１００は、算出した接続タイミングの間隔ｘ１〜ｘ４に基づいて、接続先１０２への通信が一定間隔で発生しているか否かを判断する。
【００２６】
より詳細に説明すると、判定装置１００は、例えば、接続タイミングの間隔ｘ１〜ｘ４のばらつき度合いを示す統計値が所定値未満であれば、接続先１０２への通信が一定間隔で発生していると判断してもよい。また、例えば、判定装置１００は、接続タイミングの間隔ｘ１〜ｘ４のうちの最大値と最小値との差が所定範囲内であれば、接続先１０２への通信が一定間隔で発生していると判断してもよい。
【００２７】
そして、判定装置１００は、接続先１０２への通信が一定間隔で発生していると判断した場合に、接続先１０２が正当でないと判定する。一方、接続先１０２への通信が一定間隔で発生していないと判断した場合には、接続先１０２が正当であると判定する。図１の例では、端末装置１０１から接続先１０２への通信が、ほぼ一定の間隔で発生している。このため、接続先１０２が正当でないと判定される。
【００２８】
このように、判定装置１００によれば、端末装置１０１と接続先１０２との間の通信における複数回の接続それぞれの接続タイミングの間隔に基づいて、接続先１０２の正当性を判定することができる。これにより、例えば、端末装置１０１とほぼ一定の間隔で通信を行っている接続先１０２を、正当でない接続先と判定することができる。
【００２９】
このため、攻撃者からの指示を受けるまでの初期段階にマルウェアと一定間隔で通信するＣ＆Ｃサーバのような、不正な通信の接続先を検出することができる。また、ブラックリストに載っていないＣ＆Ｃサーバについても、不正な通信の接続先として検出することができる。さらに、接続先１０２が正当でないと判定された場合には、端末装置１０１を、マルウェアに感染している可能性が高いコンピュータとして特定することができる。
【００３０】
（システム２００のシステム構成例）
つぎに、実施の形態にかかるシステム２００について説明する。
【００３１】
図２は、システム２００のシステム構成例を示す説明図である。図２において、システム２００は、判定装置１００と、複数の端末装置２０１と、管理端末装置２０２と、ファイアウォール２０３と、プロキシサーバ２０４と、を含む。システム２００において、判定装置１００、端末装置２０１、管理端末装置２０２、ファイアウォール２０３およびプロキシサーバ２０４は、有線または無線の内部ネットワーク２１０を介して接続される。内部ネットワーク２１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。また、システム２００は、有線または無線の外部ネットワーク２２０を介して外部のコンピュータ（例えば、Ｃ＆Ｃサーバ２０５）に接続される。外部ネットワーク２２０は、例えば、インターネット、ＬＡＮ、ＷＡＮなどである。
【００３２】
ここで、判定装置１００は、接続情報ＤＢ（データベース）２３０および判定結果ＤＢ２４０を有し、システム２００の外部の接続先の正当性を判定する。判定装置１００は、例えば、サーバである。なお、以下の説明では、システム２００の外部の接続先を、単に「接続先」と表記する場合がある。
【００３３】
接続情報ＤＢ２３０は、プロキシサーバ２０４から取得される接続情報を記憶する。接続情報は、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における接続タイミングを特定する情報である。接続情報の具体例については、図５を用いて後述する。図１に示した記憶部１１０は、例えば、接続情報ＤＢ２３０に相当する。判定結果ＤＢ２４０は、接続先の正当性の判定結果を記憶する。判定結果ＤＢ２４０の記憶内容については、図６を用いて後述する。
【００３４】
端末装置２０１は、例えば、組織の職員により使用されるＰＣ、ノートＰＣ、タブレットＰＣや、組織の業務サーバなどのコンピュータである。組織は、例えば、政府機関、公共サービス機関、企業などである。図１に示した端末装置１０１は、例えば、端末装置２０１に相当する。管理端末装置２０２は、システム２００の管理者が使用するＰＣ、ノートＰＣなどのコンピュータである。
【００３５】
ファイアウォール２０３は、例えば、システム２００と外部ネットワーク２２０との境界に設置され、システム２００内外の通信を中継・監視して、外部の攻撃から内部を保護するためのコンピュータである。
【００３６】
プロキシサーバ２０４は、端末装置２０１や管理端末装置２０２に代わって、外部ネットワーク２２０へのアクセスを行うコンピュータである。すなわち、端末装置２０１や管理端末装置２０２から、システム２００の外部に通信する際は、プロキシサーバ２０４を介して行われる。
【００３７】
また、プロキシサーバ２０４は、端末装置２０１（または、管理端末装置２０２）からシステム２００の外部への通信を検出すると、当該通信における接続タイミングを特定する接続情報を判定装置１００に送信する。接続情報の送信タイミングは、任意に設定可能である。
【００３８】
例えば、プロキシサーバ２０４は、システム２００の外部への通信を検出すると、その都度、判定装置１００に接続情報を送信することにしてもよい。また、プロキシサーバ２０４は、例えば、判定装置１００からの送信要求に応じて、判定装置１００から指定された期間内の接続情報を送信することにしてもよい。
【００３９】
Ｃ＆Ｃサーバ２０５は、マルウェアに感染したコンピュータに対して、攻撃者が攻撃の指令を出すためのサーバである。攻撃者が使用するコンピュータ（不図示）は、外部ネットワーク２２０を介してＣ＆Ｃサーバ２０５に接続される。図１に示した接続先１０２は、例えば、Ｃ＆Ｃサーバ２０５に相当する。
【００４０】
なお、システム２００において、判定装置１００は、プロキシサーバ２０４から接続情報を取得する際にできるだけ遅延が発生しないように、プロキシサーバ２０４の近傍に設置されることが望ましい。また、図２の例では、判定装置１００、ファイアウォール２０３およびプロキシサーバ２０４をそれぞれ別々のコンピュータで実現することにしたが、これに限らない。
【００４１】
例えば、判定装置１００は、ファイアウォール２０３またはプロキシサーバ２０４により実現されることにしてもよい。また、ファイアウォール２０３とプロキシサーバ２０４は、１台のコンピュータで実現されることにしてもよい。また、管理端末装置２０２は、複数の端末装置２０１のいずれかであってもよい。
【００４２】
また、上述した説明では、プロキシサーバ２０４は、端末装置２０１からシステム２００の外部への通信を検出すると、当該通信における接続タイミングを特定する接続情報を判定装置１００に送信することにしたが、これに限らない。例えば、プロキシサーバ２０４は、システム２００の外部から端末装置２０１への通信（例えば、端末装置２０１からのリクエストに対するレスポンス）を検出すると、当該通信における接続タイミングを特定する接続情報を判定装置１００に送信することにしてもよい。
【００４３】
（判定装置１００のハードウェア構成例）
図３は、判定装置１００のハードウェア構成例を示すブロック図である。図３において、判定装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、メモリ３０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０３と、ディスクドライブ３０４と、ディスク３０５と、を有する。また、各構成部は、バス３００によってそれぞれ接続される。
【００４４】
ここで、ＣＰＵ３０１は、判定装置１００の全体の制御を司る。メモリ３０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ３０１のワークエリアとして使用される。メモリ３０２に記憶されるプログラムは、ＣＰＵ３０１にロードされることで、コーディングされている処理をＣＰＵ３０１に実行させる。
【００４５】
Ｉ／Ｆ３０３は、通信回線を通じてネットワーク（例えば、内部ネットワーク２１０、外部ネットワーク２２０）に接続され、ネットワークを介して他の装置（例えば、図２に示したプロキシサーバ２０４）に接続される。そして、Ｉ／Ｆ３０３は、ネットワークと自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。Ｉ／Ｆ３０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４６】
ディスクドライブ３０４は、ＣＰＵ３０１の制御に従ってディスク３０５に対するデータのリード／ライトを制御する。ディスク３０５は、ディスクドライブ３０４の制御で書き込まれたデータを記憶する。ディスク３０５としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００４７】
なお、判定装置１００は、上述した構成部のほか、例えば、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、図２に示したファイアウォール２０３、プロキシサーバ２０４についても、判定装置１００と同様のハードウェア構成により実現することができる。
【００４８】
（端末装置２０１等のハードウェア構成例）
つぎに、図２に示した端末装置２０１および管理端末装置２０２のハードウェア構成について説明する。ここでは、端末装置２０１および管理端末装置２０２を「端末装置２０１等」と表記する。
【００４９】
図４は、端末装置２０１等のハードウェア構成例を示すブロック図である。図４において、端末装置２０１等は、ＣＰＵ４０１と、メモリ４０２と、ディスクドライブ４０３と、ディスク４０４と、Ｉ／Ｆ４０５と、ディスプレイ４０６と、入力装置４０７と、を有する。また、各構成部はバス４００によってそれぞれ接続される。
【００５０】
ここで、ＣＰＵ４０１は、端末装置２０１等の全体の制御を司る。メモリ４０２は、例えば、ＲＯＭ、ＲＡＭおよびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ４０１のワークエリアとして使用される。メモリ４０２に記憶されるプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させる。
【００５１】
ディスクドライブ４０３は、ＣＰＵ４０１の制御に従ってディスク４０４に対するデータのリード／ライトを制御する。ディスク４０４は、ディスクドライブ４０３の制御で書き込まれたデータを記憶する。ディスク４０４としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【００５２】
Ｉ／Ｆ４０５は、通信回線を通じてネットワーク（例えば、内部ネットワーク２１０、外部ネットワーク２２０）に接続され、ネットワークを介して他の装置（例えば、図２に示したプロキシサーバ２０４）に接続される。そして、Ｉ／Ｆ４０５は、ネットワークと自装置内部とのインターフェースを司り、他の装置からのデータの入出力を制御する。
【００５３】
ディスプレイ４０６は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ４０６は、例えば、液晶ディスプレイ、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などを採用することができる。
【００５４】
入力装置４０７は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置４０７は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。なお、端末装置２０１等は、例えば、ディスクドライブ４０３、ディスク４０４を有さないことにしてもよい。
【００５５】
（接続情報の具体例）
つぎに、プロキシサーバ２０４から判定装置１００に送信される接続情報の具体例について説明する。
【００５６】
図５は、接続情報の具体例を示す説明図である。図５において、接続情報５００は、クライアントアドレスと、接続先ＵＲＬと、接続時刻とを含む。
【００５７】
ここで、クライアントアドレスは、システム２００内の端末装置２０１（または、管理端末装置２０２）のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスである。接続先ＵＲＬは、接続先のＵＲＬである。接続時刻は、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における接続タイミングを特定する情報であり、例えば、プロキシサーバ２０４によりシステム２００の外部への通信が検出された時刻を示す。
【００５８】
接続情報５００によれば、クライアントアドレス「１０．０．０．１０１」の端末装置２０１から、接続先ＵＲＬ「ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｃｏｍ／」の接続先への通信が行われた接続時刻「２０１５／１１／１０  １２：１０：２２」を特定することができる。
【００５９】
（判定結果ＤＢ２４０の記憶内容）
つぎに、判定装置１００が有する判定結果ＤＢ２４０の記憶内容について説明する。判定結果ＤＢ２４０は、例えば、図３に示した判定装置１００のメモリ３０２、ディスク３０５などの記憶装置により実現される。
【００６０】
図６は、判定結果ＤＢ２４０の記憶内容の一例を示す説明図である。図６において、判定結果ＤＢ２４０は、クライアントアドレス、接続先ＵＲＬ、接続回数、変動係数および不正通信フラグのフィールドを有する。各フィールドに情報を設定することで、判定結果情報（例えば、判定結果情報６００−１〜６００−５）がレコードとして記憶される。
【００６１】
クライアントアドレスは、システム２００内の端末装置２０１（または、管理端末装置２０２）のＩＰアドレスである。接続先ＵＲＬは、接続先のＵＲＬである。接続回数は、端末装置２０１（または、管理端末装置２０２）と接続先とが接続した回数である。
【００６２】
変動係数は、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における接続タイミングの間隔のばらつき度合いを示す統計値に応じて変動する係数である。不正通信フラグは、接続先が正当であるか否かの判定結果を示す。ここでは、不正通信フラグが「０」の場合に、接続先が正当であることを示し、不正通信フラグが「１」の場合に、接続先が正当ではないことを示す。
【００６３】
（判定装置１００の機能的構成例）
図７は、判定装置１００の機能的構成例を示すブロック図である。図７において、判定装置１００は、取得部７０１と、算出部７０２と、判定部７０３と、出力部７０４と、を含む構成である。取得部７０１〜出力部７０４は制御部となる機能であり、具体的には、例えば、図３に示したメモリ３０２、ディスク３０５などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０３により、その機能を実現する。各機能部の処理結果は、例えば、メモリ３０２、ディスク３０５などの記憶装置に記憶される。
【００６４】
取得部７０１は、接続情報を取得する。接続情報は、システム２００内の端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における接続タイミングを特定する情報である。接続先は、システム２００の外部の接続先である。具体的には、例えば、取得部７０１は、プロキシサーバ２０４から接続情報を受信することにより、当該接続情報を取得する。
【００６５】
取得された接続情報は、例えば、接続情報ＤＢ２３０（図２参照）に記憶される。なお、接続情報は、例えば、プロキシサーバ２０４においてシステム２００の外部への通信が検出されると、その都度、プロキシサーバ２０４から判定装置１００に送信される。ただし、判定装置１００は、例えば、プロキシサーバ２０４に対して期間を指定して接続情報の送信要求を送信することにしてもよい。これにより、指定した期間内において行われた通信における接続タイミングを特定する接続情報を取得することができる。
【００６６】
算出部７０２は、取得された接続情報に基づいて、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出する。具体的には、例えば、算出部７０２は、端末装置２０１と接続先との組み合わせそれぞれについて、接続情報ＤＢ２３０に記憶された接続情報に基づいて、接続タイミングの間隔を算出する。
【００６７】
以下の説明では、端末装置２０１（または、管理端末装置２０２）と接続先との組み合わせを「ペアＰ」と表記する場合がある。また、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における、前回の接続との接続タイミングの間隔を、単に「接続間隔」と表記する場合がある。
【００６８】
より具体的には、例えば、まず、算出部７０２は、ペアＰそれぞれについて、接続情報ＤＢ２３０から、クライアントアドレスと接続先ＵＲＬとの組み合わせがペアＰと同一の接続情報を取得する。例えば、クライアントアドレス「１０．０．０．１０１」の端末装置２０１と接続先ＵＲＬ「ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｃｏｍ／」の接続先との組み合わせをペアＰとする。
【００６９】
この場合、算出部７０２は、接続情報ＤＢ２３０から、クライアントアドレスが「１０．０．０．１０１」、かつ、接続先ＵＲＬが「ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｃｏｍ／」の接続情報を取得する。そして、算出部７０２は、取得した各接続情報の接続時刻を時系列にソートして、連続する接続時刻間の時間間隔をそれぞれ算出する。
【００７０】
これにより、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における複数回の接続それぞれの接続間隔を算出することができる。
【００７１】
また、算出部７０２は、接続情報ＤＢ２３０に記憶された、端末装置２０１と接続先との間の所定期間Ｔ内の通信における複数回の接続それぞれの接続タイミングを特定する接続情報に基づいて、接続間隔を算出することにしてもよい。所定期間Ｔは、任意に設定可能である。
【００７２】
例えば、所定期間Ｔの期間長は、数時間から数日程度の長さに設定される。また、所定期間Ｔの終了日時は、例えば、現在日時や、接続情報ＤＢ２３０に記憶された接続情報が示す接続時刻のうちの最新の接続時刻に設定される。所定期間Ｔの開始日時は、所定期間Ｔの終了日時から期間長分遡った時点となる。
【００７３】
これにより、端末装置２０１と接続先との間の所定期間Ｔ外の通信における接続タイミングを特定する接続情報を処理対象から除外することができる。すなわち、過去のどの期間の接続情報を使用して接続間隔を算出するのかを任意に指定することができる。
【００７４】
また、算出部７０２は、算出した接続間隔に基づいて、接続間隔のばらつき度合いを示す統計値を算出する。ここで、接続間隔のばらつき度合いを示す統計値は、例えば、接続間隔の分散や標準偏差である。具体的には、例えば、算出部７０２は、ペアＰそれぞれについて、下記式（１）を用いて、接続間隔のばらつき度合いを示す統計値を算出することができる。
【００７５】
ただし、σxn2は、接続間隔の分散の値（分散値）である。ｘiは、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信におけるｉ回目の接続と（ｉ＋１）回目の接続との間の接続間隔である。μnは、端末装置２０１（または、管理端末装置２０２）と接続先とがｎ回接続したときの接続間隔の平均値である。ｎは、ペアＰについての接続情報の数に相当する。
【００７６】
【数１】
2017097625.tif 000003
【００７７】
なお、接続間隔のばらつき度合いを示す統計値として、例えば、接続間隔を周波数とみなしたスペクトル分析の結果を用いることにしてもよい。
【００７８】
また、算出部７０２は、算出した接続間隔の平均値に対する、算出した接続間隔のばらつき度合いを示す統計値の比率を算出する。具体的には、例えば、算出部７０２は、ペアＰそれぞれについて、下記式（２）を用いて、変動係数ＣＶを算出することにしてもよい。変動係数ＣＶは、接続間隔の平均値μnに対する、接続間隔の標準偏差σxnの比率を示す。
【００７９】
【数２】
2017097625.tif 000004
【００８０】
算出された各ペアＰの変動係数ＣＶは、例えば、判定結果ＤＢ２４０に記憶される。具体的には、例えば、各ペアＰのクライアントアドレスと接続先ＵＲＬと対応付けて、接続回数ｎ、変動係数ＣＶおよび不正通信フラグが記憶される。これにより、新たな判定結果情報がレコードとして判定結果ＤＢ２４０に記憶される。ただし、初期状態では不正通信フラグは「０」である。
【００８１】
判定部７０３は、算出された接続間隔に基づいて、接続先の正当性を判定する。具体的には、例えば、判定部７０３は、ペアＰそれぞれについて、算出された接続間隔のばらつき度合いを示す統計値に基づいて、接続先の正当性を判定する。
【００８２】
ここで、接続間隔のばらつき度合いを示す統計値が小さいほど、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信が一定間隔で発生しているといえる。このため、判定部７０３は、例えば、算出された接続間隔のばらつき度合いを示す統計値が、予め決められた閾値未満の場合に、接続先が正当でないと判定することにしてもよい。
【００８３】
ただし、接続間隔のばらつき度合いを示す分散や標準偏差の大きさは、接続間隔の平均値の大きさに依存する。すなわち、接続間隔のばらつき度合いを示す分散や標準偏差の大きさから接続先の正当性を判定するには、接続間隔の平均値を考慮して上記閾値を設定することになる。
【００８４】
このため、判定部７０３は、算出された各ペアＰの変動係数ＣＶに基づいて、接続先の正当性を判定することにしてもよい。具体的には、例えば、判定部７０３は、判定結果ＤＢ２４０を参照して、変動係数ＣＶが閾値ＣＶth未満の場合に、接続先が正当でないと判定する。一方、変動係数ＣＶが閾値ＣＶth以上の場合には、判定部７０３は、接続先が正当であると判定する。
【００８５】
閾値ＣＶthは、任意に設定可能であり、例えば、５０〜１００程度の値に設定される。このように、接続間隔のばらつき度合いを示す統計値を接続間隔の平均値で割って正規化することで、例えば、接続先に応じて接続間隔の平均値が変化しても、閾値ＣＶthを用いて、接続先の正当性を判定することができる。
【００８６】
また、判定部７０３は、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における接続回数ｎが所定回数Ｎより大きい場合に、接続先の正当性を判定することにしてもよい。接続回数ｎは、接続間隔の算出に用いる接続情報の数に相当する。所定回数Ｎは、任意に設定可能であり、例えば、７０〜１００程度の値に設定される。
【００８７】
これにより、統計値として信頼できる値が得られるだけの数（標本数）の接続情報が集まるまでの間は、接続先の正当性を判定しないようにすることができる。
【００８８】
判定された判定結果は、各ペアＰのクライアントアドレスと接続先ＵＲＬと対応付けて判定結果ＤＢ２４０に記憶される。例えば、接続先が正当でないと判定された場合は、判定結果情報の不正通信フラグに「１」が設定される。一方、接続先が正当であると判定された場合は、判定結果情報の不正通信フラグに「０」が設定される。
【００８９】
ここで、図６に示した判定結果情報６００−１，６００−３を例に挙げて、不正通信フラグの設定例について説明する。ここでは、閾値ＣＶthを「ＣＶth＝５０」とし、所定回数Ｎを「Ｎ＝１００」とする。また、判定部７０３は、接続回数ｎが所定回数Ｎより大きい場合に、接続先の正当性を判定する場合を想定する。
【００９０】
まず、判定結果情報６００−１の接続回数ｎは、「ｎ＝１２４５」であり、所定回数Ｎより大きい。また、判定結果情報６００−１の変動係数ＣＶは、「ＣＶ＝３．１２」であり、閾値ＣＶth未満である。この場合、判定部７０３は、判定結果情報６００−１の接続先ＵＲＬの接続先が正当でないと判定する。このため、判定結果情報６００−１の不正通信フラグに「１」が設定される。
【００９１】
つぎに、判定結果情報６００−３の接続回数ｎは、「ｎ＝５５」であり、所定回数Ｎ以下である。この場合、判定結果情報６００−３の接続先ＵＲＬの接続先について、正当性の判定は行われないため、判定結果情報６００−３の不正通信フラグは「０」のままとなる。また、接続回数ｎが所定回数Ｎ以下の場合は、変動係数ＣＶを算出しなくてもよい。
【００９２】
出力部７０４は、判定された判定結果を出力する。出力部７０４の出力形式としては、例えば、Ｉ／Ｆ３０３による外部装置への送信、メモリ３０２やディスク３０５などの記憶装置への記憶、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
【００９３】
具体的には、例えば、出力部７０４は、接続先が正当でないと判定された場合、端末装置２０１の識別情報と、接続先の識別情報とを含む警告情報を管理端末装置２０２に送信することにしてもよい。端末装置２０１の識別情報は、例えば、クライアントアドレスである。接続先の識別情報は、例えば、接続先ＵＲＬである。
【００９４】
これにより、システム２００の管理者に対して、不正な接続先が検出されたことを通知することができる。なお、管理端末装置２０２のディスプレイ４０６に表示される、警告情報を含む警告画面の画面例については、図８を用いて後述する。
【００９５】
また、出力部７０４は、例えば、判定結果ＤＢ２４０を参照して、判定結果リストを管理端末装置２０２に送信することにしてもよい。判定結果リストは、例えば、各ペアＰのクライアントアドレスと接続先ＵＲＬと不正通信フラグとを対応付けた判定結果をリスト化して示す情報である。
【００９６】
これにより、管理端末装置２０２において、端末装置２０１から接続された各接続先の正当性の判定結果を確認することができる。なお、判定結果リストは、例えば、管理者からの確認要求に応じて、管理端末装置２０２に送信されることにしてもよい。
【００９７】
また、算出部７０２は、接続先が不当な接続先である度合いと、接続間隔のばらつき度合いを示す統計値との関係性を表す条件式を用いて、接続先の不審度を算出することにしてもよい。接続先の不審度とは、接続先が不当な接続先である度合いを示す値である。また、算出部７０２は、接続回数ｎが所定回数Ｎより大きい場合に、接続先の不審値を算出することにしてもよい。
【００９８】
具体的には、例えば、算出部７０２は、下記式（３）〜（５）を用いて、接続先の不審度を算出することにしてもよい。ただし、ｄは、接続先の不審度である。ＣＶは、変動係数であり、例えば、判定結果ＤＢ２４０から特定される。また、不審度ｄの最小値は「０」で、最大値は「１」である。そして、不審度ｄが「１」に近いほど、接続先が不当な接続先である度合いが高いことを示す。
【００９９】
ＣＶ＜１０の場合          ⇒  ｄ＝１．０  …（３）
１０≦ＣＶ≦１００の場合  ⇒ｄ＝ｆ（ＣＶ）＝−ＣＶ／９０＋１０／９  …（４）
ＣＶ＞１００の場合        ⇒  ｄ＝０．０  …（５）
【０１００】
ここで、図６に示した判定結果情報６００−４を例に挙げて、不審度ｄの算出例について説明する。判定結果情報６００−４の変動係数ＣＶは「６２．５」である。この場合、算出部７０２は、上記式（４）を用いて、接続先の不審度ｄを算出する。ここでは、接続先の不審度ｄは、「０．４」となる。
【０１０１】
出力部７０４は、算出された接続先の不審度を出力する。具体的には、例えば、出力部７０４は、端末装置２０１のクライアントアドレスと、接続先の接続先ＵＲＬと、接続先の不審度ｄとを対応付けた不審度情報をリスト化して示す不審度リストを管理端末装置２０２に送信することにしてもよい。
【０１０２】
これにより、管理端末装置２０２において、端末装置２０１から接続された各接続先の不審度ｄを確認することができる。なお、管理端末装置２０２のディスプレイ４０６に表示される、不審度リストを含むリスト画面の画面例については、図９を用いて後述する。
【０１０３】
（警告画面の画面例）
つぎに、管理端末装置２０２のディスプレイ４０６に表示される、警告情報を含む警告画面の画面例について説明する。
【０１０４】
図８は、警告画面の画面例を示す説明図である。図８において、警告画面８００には、警告情報８１０が表示されている。警告情報８１０は、接続先ＵＲＬとクライアントアドレスと検出時刻とを示す。接続先ＵＲＬは、正当でないと判定された接続先のＵＲＬである。クライアントアドレスは、接続元である端末装置２０１のＩＰアドレスである。
【０１０５】
検出時刻は、接続先が正当でないと判定された時刻である。ただし、検出時刻として、例えば、所定期間Ｔの終了日時が設定されることにしてもよい。また、検出時刻として、例えば、端末装置２０１と接続先とが最初に接続された接続時刻が設定されることにしてもよい。
【０１０６】
警告画面８００によれば、システム２００の管理者は、接続先ＵＲＬ「ｈｔｔｐ：／／ｘｘｘ．ｙｙｙ．ｃｏｍ／」の接続先が、不正な接続先である可能性が高いと判断することができる。また、クライアントアドレス「１０．０．０．１０１」の端末装置２０１がマルウェアに感染している可能性が高いと判断することができる。
【０１０７】
（リスト画面の画面例）
つぎに、管理端末装置２０２のディスプレイ４０６に表示される、不審度リストを含むリスト画面の画面例について説明する。
【０１０８】
図９は、リスト画面の画面例を示す説明図である。図９において、リスト画面９００には、不審度リスト９１０が表示されている。不審度リスト９１０は、接続先ＵＲＬとクライアントアドレスと不審度とを対応付けた不審度情報（例えば、不審度情報９１０−１〜９１０−４）をリスト化して示す情報である。
【０１０９】
接続先ＵＲＬは、接続先のＵＲＬである。クライアントアドレスは、接続元である端末装置２０１のＩＰアドレスである。不審度は、接続先が不当な接続先である度合いを示す値である。なお、不審度リスト９１０には、不審度が算出された時刻（例えば、所定期間Ｔの終了日時）を特定する情報が含まれていてもよい。
【０１１０】
リスト画面９００によれば、システム２００の管理者は、接続先が不当な接続先である度合いを把握することができる。これにより、例えば、閾値判定では検出されないような接続先についても、ある程度不審度が高い場合は調査することが可能となり、不正な通信先の検出漏れを防ぐことができる。また、セキュリティ対策にかけられる人材や時間などを考慮して、複数の接続先から調査対象を容易に絞り込むことができる。
【０１１１】
（判定装置１００の判定処理手順）
つぎに、判定装置１００の判定処理手順について説明する。まず、図１０を用いて、プロキシサーバ２０４から接続情報を受信する度に実行される第１の判定処理手順について説明する。
【０１１２】
図１０は、判定装置１００の第１の判定処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、判定装置１００は、プロキシサーバ２０４から接続情報を受信したか否かを判断する（ステップＳ１００１）。ここで、判定装置１００は、接続情報を受信するのを待つ（ステップＳ１００１：Ｎｏ）。
【０１１３】
そして、判定装置１００は、接続情報を受信した場合（ステップＳ１００１：Ｙｅｓ）、受信した接続情報を参照して、クライアントアドレスと接続先ＵＲＬとのペアＰおよび接続時刻を特定する（ステップＳ１００２）。なお、受信された接続情報は、接続情報ＤＢ２３０に記憶される。
【０１１４】
つぎに、判定装置１００は、接続情報ＤＢ２３０から、クライアントアドレスと接続先ＵＲＬとの組み合わせが、特定したペアＰと同一の接続情報のうち、接続時刻が所定期間Ｔ内の接続情報を取得する（ステップＳ１００３）。ここでは、所定期間Ｔの開始日時を、特定した接続時刻から２４時間遡った時点とし、所定期間Ｔの終了日時を、特定した接続時刻とする。
【０１１５】
つぎに、判定装置１００は、取得した接続情報の数を計数することにより、接続回数ｎを算出する（ステップＳ１００４）。なお、算出された接続回数ｎは、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報に設定される。そして、判定装置１００は、算出した接続回数ｎが所定回数Ｎより大きいか否かを判断する（ステップＳ１００５）。
【０１１６】
ここで、接続回数ｎが所定回数Ｎ以下の場合（ステップＳ１００５：Ｎｏ）、判定装置１００は、本フローチャートによる一連の処理を終了する。一方、接続回数ｎが所定回数Ｎより大きい場合（ステップＳ１００５：Ｙｅｓ）、判定装置１００は、取得した接続情報に基づいて、端末装置２０１と接続先との間の通信における複数回の接続それぞれの接続間隔を算出する（ステップＳ１００６）。
【０１１７】
そして、判定装置１００は、算出した接続間隔に基づいて、接続間隔のばらつき度合いを示す統計値を算出する（ステップＳ１００７）。つぎに、判定装置１００は、接続間隔の平均値に対する、接続間隔のばらつき度合いを示す統計値の比率を示す変動係数ＣＶを算出する（ステップＳ１００８）。なお、算出された変動係数ＣＶは、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報に設定される。
【０１１８】
そして、判定装置１００は、算出した変動係数ＣＶが閾値ＣＶth未満であるか否かを判断する（ステップＳ１００９）。ここで、変動係数ＣＶが閾値ＣＶth以上の場合には（ステップＳ１００９：Ｎｏ）、判定装置１００は、接続先が正当であると判定して（ステップＳ１０１０）、本フローチャートによる一連の処理を終了する。なお、接続先が正当であると判定されると、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報の不正通信フラグに「０」が設定される。
【０１１９】
一方、変動係数ＣＶが閾値ＣＶth未満の場合は（ステップＳ１００９：Ｙｅｓ）、判定装置１００は、接続先が正当でないと判定する（ステップＳ１０１１）。なお、接続先が正当でないと判定されると、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報の不正通信フラグに「１」が設定される。
【０１２０】
そして、判定装置１００は、ペアＰのクライアントアドレスと接続先ＵＲＬとを含む警告情報を管理端末装置２０２に送信して（ステップＳ１０１２）、本フローチャートによる一連の処理を終了する。
【０１２１】
これにより、システム２００内の端末装置２０１から外部の接続先への通信が検出される度に、所定期間Ｔ分の接続情報を使用して、接続先の正当性を判定することができる。このため、例えば、マルウェアに感染してから攻撃者からの指示を受けるまでの初期段階において、Ｃ＆Ｃサーバ２０５との不正な通信を検出することが可能となる。
【０１２２】
つぎに、図１１を用いて、予め決められた日時（例えば、毎日の午前０時）、または、システム２００の管理者からの指示に応じて実行される第２の判定処理手順について説明する。なお、管理者からの指示は、例えば、管理端末装置２０２において入力され、判定装置１００に送信される。
【０１２３】
図１１は、判定装置１００の第２の判定処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、判定装置１００は、接続情報ＤＢ２３０を参照して、端末装置２０１と接続先とのペアＰのうちの未選択のペアＰを選択する（ステップＳ１１０１）。
【０１２４】
つぎに、判定装置１００は、接続情報ＤＢ２３０から、クライアントアドレスと接続先ＵＲＬとの組み合わせが、特定したペアＰと同一の接続情報のうち、接続時刻が所定期間Ｔ内の接続情報を取得する（ステップＳ１１０２）。ここでは、所定期間Ｔの開始日時を、特定した接続時刻から２４時間遡った時点とし、所定期間Ｔの終了日時を、特定した接続時刻とする。
【０１２５】
つぎに、判定装置１００は、取得した接続情報の数を計数することにより、接続回数ｎを算出する（ステップＳ１１０３）。なお、算出された接続回数ｎは、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報に設定される。そして、判定装置１００は、算出した接続回数ｎが所定回数Ｎより大きいか否かを判断する（ステップＳ１１０４）。
【０１２６】
ここで、接続回数ｎが所定回数Ｎ以下の場合（ステップＳ１１０４：Ｎｏ）、判定装置１００は、ステップＳ１１１１に移行する。一方、接続回数ｎが所定回数Ｎより大きい場合（ステップＳ１１０４：Ｙｅｓ）、判定装置１００は、取得した接続情報に基づいて、端末装置２０１と接続先との間の通信における複数回の接続それぞれの接続間隔を算出する（ステップＳ１１０５）。
【０１２７】
そして、判定装置１００は、算出した接続間隔に基づいて、接続間隔のばらつき度合いを示す統計値を算出する（ステップＳ１１０６）。つぎに、判定装置１００は、接続間隔の平均値に対する、接続間隔のばらつき度合いを示す統計値の比率を示す変動係数ＣＶを算出する（ステップＳ１１０７）。なお、算出された変動係数ＣＶは、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報に設定される。
【０１２８】
そして、判定装置１００は、算出した変動係数ＣＶが閾値ＣＶth未満であるか否かを判断する（ステップＳ１１０８）。ここで、変動係数ＣＶが閾値ＣＶth以上の場合には（ステップＳ１１０８：Ｎｏ）、判定装置１００は、接続先が正当であると判定して（ステップＳ１１０９）、ステップＳ１１１１に移行する。なお、接続先が正当であると判定されると、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報の不正通信フラグに「０」が設定される。
【０１２９】
一方、変動係数ＣＶが閾値ＣＶth未満の場合は（ステップＳ１１０８：Ｙｅｓ）、判定装置１００は、接続先が正当でないと判定する（ステップＳ１１１０）。なお、接続先が正当でないと判定されると、判定結果ＤＢ２４０内のペアＰに対応する判定結果情報の不正通信フラグに「１」が設定される。
【０１３０】
そして、判定装置１００は、接続情報ＤＢ２３０を参照して、端末装置２０１と接続先とのペアＰのうちの未選択のペアＰがあるか否かを判断する（ステップＳ１１１１）。ここで、未選択のペアＰがある場合（ステップＳ１１１１：Ｙｅｓ）、判定装置１００は、ステップＳ１１０１に戻る。
【０１３１】
一方、未選択のペアＰがない場合（ステップＳ１１１１：Ｎｏ）、判定装置１００は、各ペアＰのクライアントアドレスと接続先ＵＲＬと不正通信フラグとを対応付けた判定結果をリスト化して示す判定結果リストを管理端末装置２０２に送信して（ステップＳ１１１２）、本フローチャートによる一連の処理を終了する。
【０１３２】
これにより、予め決められた日時や管理者からの指示に応じて、ペアＰそれぞれについて、所定期間Ｔ分の接続情報を使用して、接続先の正当性を判定することができる。
【０１３３】
以上説明したように、実施の形態にかかる判定装置１００によれば、端末装置２０１（または、管理端末装置２０２）と接続先との間の通信における接続タイミングを特定する接続情報を取得して接続情報ＤＢ２３０に記憶することができる。また、判定装置１００によれば、接続情報ＤＢ２３０を参照して、端末装置２０１と接続先との間の通信における複数回の接続それぞれについての接続間隔を算出することができる。そして、判定装置１００によれば、算出した接続間隔のばらつき度合いを示す統計値を算出し、算出した統計値に基づいて、接続先の正当性を判定することができる。
【０１３４】
具体的には、例えば、判定装置１００は、算出した接続間隔の平均値と、算出した接続間隔のばらつき度合いを示す統計値とに基づいて、変動係数ＣＶを算出する。変動係数ＣＶは、接続間隔の平均値に対する、算出した接続間隔のばらつき度合いを示す統計値の比率を示す。そして、判定装置１００は、算出した変動係数ＣＶが閾値ＣＶth未満の場合に、接続先が正当でないと判定する。一方、変動係数ＣＶが閾値ＣＶth以上の場合には、判定装置１００は、接続先が正当であると判定する。
【０１３５】
これにより、システム２００内の端末装置２０１とほぼ一定の間隔で通信を行っている接続先を、正当でない接続先と判定することができる。このため、例えば、攻撃者からの指示を受けるまでの初期段階にマルウェアと不正な通信を行うＣ＆Ｃサーバ２０５を検出することができる。また、接続先が正当でないと判定された場合は、接続元である端末装置２０１を、マルウェアに感染している可能性が高いコンピュータとして特定することができる。さらに、接続間隔のばらつき度合いを示す統計値を接続間隔の平均値で割って正規化した変動係数ＣＶを用いることで、例えば、接続先に応じて接続間隔の平均値が変化しても、閾値ＣＶthを用いて、接続先の正当性を判定することができる。
【０１３６】
また、判定装置１００によれば、接続情報ＤＢ２３０を参照して、ペアＰそれぞれについて、端末装置２０１と接続先との間の通信における複数回の接続それぞれについての接続間隔を算出することができる。そして、判定装置１００によれば、ペアＰそれぞれについて、算出した接続間隔のばらつき度合いを示す統計値を算出し、算出した統計値に基づいて、接続先の正当性を判定することができる。これにより、端末装置２０１と接続先とのペアＰごとに、接続先の正当性を判定することができる。
【０１３７】
また、判定装置１００によれば、端末装置２０１と接続先との間の通信における接続回数ｎが所定回数Ｎより大きい場合に、接続先の正当性を判定することができる。これにより、統計値として信頼できる値が得られるだけの数（標本数）の接続情報が集まるまでの間は、接続先の正当性を判定しないようにすることができる。
【０１３８】
また、判定装置１００によれば、接続情報ＤＢ２３０に記憶された、端末装置２０１と接続先との間の所定期間Ｔ内の通信における複数回の接続それぞれの接続タイミングを特定する接続情報に基づいて、接続間隔を算出することができる。これにより、過去のどの期間の接続情報を使用して接続先の正当性を判定するのかを任意に指定することができる。また、ある程度期間を絞り込むことで、マルウェアに感染してから攻撃者からの指示を受けるまでの初期段階に現れる特徴を的確に捉えることができる。
【０１３９】
また、判定装置１００によれば、接続先が正当でないと判定した場合、端末装置２０１のクライアントアドレスと接続先の接続先ＵＲＬとを含む警告情報を出力することができる。これにより、例えば、システム２００の管理者に対して、不正な接続先が検出されたことを通知することができる。
【０１４０】
また、判定装置１００によれば、接続先が不当な接続先である度合いと、接続間隔のばらつき度合いを示す統計値との関係性を表す条件式（例えば、上記式（３）〜（５））を用いて、接続先の不審度を算出することができる。そして、判定装置１００によれば、算出した接続先の不審度を出力することができる。これにより、例えば、システム２００の管理者に対して、接続先が不当な接続先である度合いを提示して、不正な接続先を判断させることができる。
【０１４１】
これらのことから、判定装置１００によれば、高度標的型攻撃の予兆を検出して、不正な接続先およびマルウェアに感染した端末装置２０１を早期に発見することが可能となり、不正通信を遮断して高度標的型攻撃による秘密情報の漏洩を防ぐことができる。
【０１４２】
なお、本実施の形態で説明した判定方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本判定プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本判定プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１４３】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４４】
（付記１）コンピュータに、
端末装置と接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部に記憶し、
前記記憶部に記憶された前記接続情報に基づいて、前記複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出し、
算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する、
処理を実行させることを特徴とする判定プログラム。
【０１４５】
（付記２）前記コンピュータに、
前記接続タイミングの間隔のばらつきが所定の基準よりも小さい場合、前記接続先が正当でないと判定する、処理を実行させることを特徴とする付記１に記載の判定プログラム。
【０１４６】
（付記３）前記コンピュータに、
算出した前記接続タイミングの間隔に基づいて、前記接続タイミングの間隔のばらつき度合いを示す統計値を算出する、処理を実行させ、
前記判定する処理は、
算出した前記統計値に基づいて、前記接続先の正当性を判定する、ことを特徴とする付記１に記載の判定プログラム。
【０１４７】
（付記４）前記判定する処理は、
前記接続タイミングの間隔の平均値に対する前記統計値の比率が閾値未満の場合に、前記接続先が正当でないと判定する、ことを特徴とする付記３に記載の判定プログラム。
【０１４８】
（付記５）前記記憶部は、端末装置と接続先との組み合わせそれぞれについて、前記端末装置と前記接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶し、
前記接続タイミングの間隔を算出する処理は、
前記組み合わせそれぞれについて、前記記憶部に記憶された前記接続情報に基づいて、前記接続タイミングの間隔を算出し、
前記判定する処理は、
前記組み合わせそれぞれについて、算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する、ことを特徴とする付記１〜４のいずれか一つに記載の判定プログラム。
【０１４９】
（付記６）前記判定する処理は、
前記端末装置と前記接続先との間の通信における接続回数が所定回数より大きい場合に、前記接続先の正当性を判定する、ことを特徴とする付記１〜５のいずれか一つに記載の判定プログラム。
【０１５０】
（付記７）前記接続タイミングの間隔を算出する処理は、
前記記憶部に記憶された、前記端末装置と前記接続先との間の所定期間内の通信における複数回の接続それぞれの接続タイミングを特定する接続情報に基づいて、前記接続タイミングの間隔を算出する、ことを特徴とする付記１〜６のいずれか一つに記載の判定プログラム。
【０１５１】
（付記８）前記コンピュータに、
前記接続先が正当でないと判定した場合、前記端末装置の識別情報と前記接続先の識別情報とを含む警告情報を出力する、処理を実行させることを特徴とする付記１〜７のいずれか一つに記載の判定プログラム。
【０１５２】
（付記９）前記コンピュータに、
前記接続先が不当な接続先である度合いと前記統計値との関係性を表す条件式を用いて、前記接続先が不当な接続先である度合いを示す値を算出し、
算出した前記接続先が不当な接続先である度合いを示す値を出力する、
処理を実行させることを特徴とする付記３または４に記載の判定プログラム。
【０１５３】
（付記１０）コンピュータが、
端末装置と接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部に記憶し、
前記記憶部に記憶された前記接続情報に基づいて、前記複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出し、
算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する、
処理を実行することを特徴とする判定方法。
【０１５４】
（付記１１）端末装置と接続先との間の通信における複数回の接続それぞれの接続タイミングを特定する接続情報を記憶部と、
前記記憶部に記憶された前記接続情報に基づいて、前記複数回の接続それぞれについて、前回の接続との接続タイミングの間隔を算出し、算出した前記接続タイミングの間隔に基づいて、前記接続先の正当性を判定する制御部と、
を有することを特徴とする判定装置。
【符号の説明】
【０１５５】
１００  判定装置
１０１，２０１  端末装置
１０２  接続先
１１０  記憶部
２００  システム
２０２  管理端末装置
２０３  ファイアウォール
２０４  プロキシサーバ
２０５  Ｃ＆Ｃサーバ
２３０  接続情報ＤＢ
２４０  判定結果ＤＢ
５００  接続情報
７０１  取得部
７０２  算出部
７０３  判定部
７０４  出力部
８００  警告画面
８１０  警告情報
９００  リスト画面
９１０  不審度リスト
【図１】
2017097625.tif 000005
【図２】
2017097625.tif 000006
【図３】
2017097625.tif 000007
【図４】
2017097625.tif 000008
【図５】
2017097625.tif 000009
【図６】
2017097625.tif 000010
【図７】
2017097625.tif 000011
【図８】
2017097625.tif 000012
【図９】
2017097625.tif 000013
【図１０】
2017097625.tif 000014
【図１１】
2017097625.tif 000015