(57)【要約】【課題】ネットワークにマルウェア感染端末が存在することを検出する。【解決手段】内部ネットワークの内部端末と他の内部端末との間に既定された通常内部通信、及び、内部端末と外部ネットワークに接続する外部端末との間に既定された通常外部通信を予め記憶装置に記憶する。ネットワーク接続装置から、内部端末の通信情報を取得して、通常内部通信および通常外部通信を参照して、通信情報から、内部端末と他の内部端末との間に既定されない異常内部通信、及び、内部端末と外部端末との間に既定されない異常外部通信とを取得して記憶装置に記憶する。記憶した異常外部通信を所定期間内に行った回数に基いて、内部端末が不審端末であることを検知する。不審端末と他の不審端末との間の、記憶した異常内部通信が所定期間内に発生した回数に基いて、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。【選択図】図４
2012084994.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワークと接続している内部ネットワークに接続されたネットワーク接続装置にさらに接続された検出装置におけるマルウェア検出方法であって、前記検出装置は、
（1）前記内部ネットワークに接続する内部端末と前記内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、（2）前記内部端末と前記外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶し、
前記ネットワーク接続装置から、前記内部ネットワークに接続する前記内部端末の通信情報を取得して、前記通常内部通信および前記通常外部通信を参照して、取得した前記通信情報から、（3）前記内部端末と前記内部ネットワークに接続する前記他の内部端末との間に既定されない、前記通常内部通信以外の通信である異常内部通信、および、（4）前記内部端末と前記外部ネットワークに接続する前記外部端末との間に既定されない、前記通常外部通信以外の通信である異常外部通信とを取得して記憶し、
記憶した前記異常外部通信を所定期間内に行った回数に基いて、前記内部端末が不審端末であることを検知し、
前記不審端末と他の不審端末との間の、記憶した前記異常内部通信が所定期間内に発生した回数に基いて、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とするマルウェア検出方法。
【請求項２】
前記既定された通信とは、前記内部端末が所定の業務処理を実行するために必要な通信であることを特徴とする請求項１に記載のマルウェア検出方法。
【請求項３】
前記通信情報は、少なくとも前記内部端末と前記内部端末の送受信相手である前記他の内部端末および前記外部端末の一つとを識別する識別情報であることを特徴とする請求項２に記載のマルウェア検出方法。
【請求項４】
前記識別情報は、前記内部端末並びに前記他の内部端末および前記外部端末の一つの、ＩＰアドレスおよびホスト名の一方であることを特徴とする請求項３に記載のマルウェア検出方法。
【請求項５】
前記内部端末が前記異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部端末を前記不審端末として検知することを特徴とする請求項３に記載のマルウェア検出方法。
【請求項６】
前記不審端末が前記異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とする請求項３に記載のマルウェア検出方法。
【請求項７】
前記不審端末と前記他の不審端末とを含む不審端末の数に対する、記憶した前記異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した端末が存在すると検知することを特徴とする請求項３に記載のマルウェア検出方法。
【請求項８】
（1）内部ネットワークに接続する内部端末と前記内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、（2）前記内部端末と前記内部ネットワークに接続する外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶する記憶装置、
前記内部ネットワークに接続するネットワーク接続装置から、前記内部ネットワークに接続する前記内部端末の通信情報を取得して、記憶されている前記通常内部通信および前記通常外部通信を参照して、取得した前記通信情報から、（3）前記内部端末と前記内部ネットワークに接続する前記他の内部端末との間に既定されない、前記通常内部通信以外の通信である異常内部通信、および、（4）前記内部端末と前記外部ネットワークに接続する前記外部端末との間に既定されない、前記通常外部通信以外の通信である異常外部通信とを取得して前記記憶装置に記憶する通信取得部、
前記記憶装置に記憶した前記異常外部通信を所定期間内に行った回数に基いて、前記内部端末が不審端末であることを検知する不審端末検知部、並びに、
前記不審端末と他の不審端末との間の、記憶した前記異常内部通信が所定期間内に発生した回数に基いて、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知する感染活動検知部を有することを特徴とするマルウェア検出装置。
【請求項９】
前記既定された通信とは、前記内部端末が所定の業務処理を実行するために必要な通信であることを特徴とする請求項８に記載のマルウェア検出装置。
【請求項１０】
前記通信情報は、少なくとも前記内部端末と前記内部端末の送受信相手である前記他の内部端末および前記外部端末の一つとを識別する識別情報であることを特徴とする請求項９に記載のマルウェア検出装置。
【請求項１１】
前記識別情報は、前記内部端末並びに前記他の内部端末および前記外部端末の一つの、ＩＰアドレスおよびホスト名の一方であることを特徴とする請求項１０に記載のマルウェア検出方法。
【請求項１２】
前記不審端末検知部は、前記内部端末が前記異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部端末を前記不審端末として検知することを特徴とする請求項１０に記載のマルウェア検出装置。
【請求項１３】
前記感染活動検知部は、前記不審端末が前記異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とする請求項１０に記載のマルウェア検出装置。
【請求項１４】
前記感染活動検知部は、前記不審端末と前記他の不審端末とを含む不審端末の数に対する、記憶した前記異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した端末が存在すると検知することを特徴とする請求項１０に記載のマルウェア検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルウェア検出技術に関し、特に、ネットワーク上の通信トラヒックを分析することで、ネットワーク中にマルウェアに感染している端末が存在することを検出する技術に関する。
【背景技術】
【０００２】
マルウェアは、コンピュータプログラムの一種であり、コンピュータ端末内で実行されるとファイルの削除や情報漏洩といった、ユーザにとって有害な活動を行うものである。マルウェアが実行されている端末を、一般にマルウェア感染端末と呼ぶ。今日では、日々数千から数万の新種のマルウェアが出現しており、マルウェア対策の確立が大きな社会問題となっている。
【０００３】
マルウェアによる他端末との通信は、攻撃者からの指令の受信や新たなプログラムの取得、感染端末間の情報交換、あるいは他端末への攻撃を行う際に発生する。攻撃には、攻撃対象の端末の制御を奪ってマルウェア感染端末にするものや、大量のデータを送信して攻撃対象の端末の処理性能を低下させるものがある。
【０００４】
これらの動きを受け、ネットワーク上の通信トラヒックを解析することで、マルウェア感染端末を検出しようとする試みがなされている。例えば、特許文献１には、所定の台数以上の端末からＩＰ(Internet Protocol)パケットを取得する端末を、マルウェアの指令端末の候補として検出し、指令端末の候補及び所定の台数以上の端末に対してＩＰパケットを送信する端末を、マルウェア感染端末として検出する技術が開示されている。
【０００５】
また、非特許文献１には、マルウェア感染端末が、非感染時には通信を行わなかったインターネット上の端末への通信が増加することに着目して、通常時に通信を行わない端末への通信数が所定回数を超える端末を、マルウェア感染端末として検出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１１０２７０号公報
【非特許文献】
【０００７】
【非特許文献１】“A User Habit Based Approach to Detect and Quarantine Worms, Proceedings of the IEEE Int’l Conference on Communications 2006”.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
企業や公共機関などの組織単位で管理されるネットワークでは、マルウェア感染端末を早期に検出する必要がある。しかしながら、特許文献１に開示された技術では指令端末が複数あり、、マルウェア感染端末によって通信を行う指令端末が各々異なる場合、各指令端末が所定の台数以上の端末からＩＰパケットを取得することが少なく、指令端末の候補を検出することができず、マルウェア感染端末を検出できない。また、検出する基準としての所定の台数の値を小さくすると誤検出の可能性が高まる。
【０００９】
また、非特許文献１に開示された技術では、新規コンピュータプログラムの導入などにより、これまでに通信を行ったことが無い端末と通信を行うようになった端末を、マルウェア感染端末として誤検出する可能性がある。
【課題を解決するための手段】
【００１０】
開示するマルウェア検出方法及びマルウェア検出装置は、次のような構成を有する。（1）内部ネットワークに接続する内部端末と内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、（2）内部端末と内部ネットワークに接続する外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶装置に記憶する。内部ネットワークに接続するネットワーク接続装置から、内部ネットワークに接続する内部端末の通信情報を取得して、記憶されている通常内部通信および通常外部通信を参照して、取得した通信情報から、（3）内部端末と内部ネットワークに接続する他の内部端末との間に既定されない、通常内部通信以外の通信である異常内部通信、および、（4）内部端末と外部ネットワークに接続する外部端末との間に既定されない、通常外部通信以外の通信である異常外部通信とを取得して記憶装置に記憶する。記憶装置に記憶した異常外部通信を所定期間内に行った回数に基いて、内部端末が不審端末であることを検知する。不審端末と他の不審端末との間の、記憶した異常内部通信が所定期間内に発生した回数に基いて、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【００１１】
望ましい他の態様は、既定された通信とは、内部端末が所定の業務処理を実行するために必要な通信である。
【００１２】
望ましいさらに他の態様は、通信情報は、少なくとも内部端末と内部端末の送受信相手である他の内部端末および外部端末の一つとを識別する識別情報である。
【００１３】
望ましいさらに他の態様は、識別情報は、内部端末並びに他の内部端末および外部端末の一つの、ＩＰアドレスおよびホスト名の一方である。
【００１４】
望ましいさらに他の態様は、内部端末が異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、内部端末を不審端末として検知する。
【００１５】
望ましいさらに他の態様は、不審端末が異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【００１６】
望ましいさらに他の態様は、不審端末と他の不審端末とを含む不審端末の数に対する、記憶した異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、内部ネットワーク内にマルウェアに感染した端末が存在すると検知する。
【発明の効果】
【００１７】
本発明によれば、ネットワークにマルウェア端末が存在することを検出できる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態にかかるマルウェア検出システムの構成を示す図である。
【図２】マルウェア検出の手順を説明する図である。
【図３】検出装置の主要な物理構成を示す図である。
【図４】検出装置の機能的な構成、および物理的な各装置との関係を示す図である。
【図５】通常内部通信ＤＢ内のレコードの例を示す図である。
【図６】異常内部通信ＤＢ内のレコードの例を示す図である。
【図７】通常外部通信ＤＢ内のレコードの例を示す図である。
【図８】異常外部通信ＤＢ内のレコードの例を示す図である。
【図９】不審端末ＤＢ内のレコードの例を示す図である。
【図１０】通信取得部における処理のフローチャートである。
【図１１】不審端末検知部における処理のフローチャートである。
【図１２】感染活動検知部における処理のフローチャートである。
【発明を実施するための形態】
【００１９】
本実施形態として開示するマルウェア検出方法及びマルウェア検出装置は、マルウェアに感染した端末（マルウェア感染端末）が、他の感染端末との情報交換、攻撃者からの指令の受信、他端末への攻撃などを行うために、通常時には通信を行わない自ネットワーク内の他端末及び自ネットワーク外（外部ネットワーク）の他端末と通信を行うようになるという性質を用いる。たとえば、通常時は、各端末は、自ネットワーク内のサーバや特定の端末、他のネットワークに接続する特定のサーバとの通信に留まり、マルウェアに感染すると、このような通常時の通信とは異なる端末との通信を行うようになるという性質である。マルウェアの感染に関しては、サーバと端末を区別する必要がないので、以下では、サーバも含めて端末と呼ぶ。
【００２０】
このような性質を利用したマルウェア検出方法及びマルウェア検出装置は、次のような構成を有する。外部ネットワークにネットワーク機器などを介して接続された対象ネットワーク（自ネットワーク）内にマルウェア感染端末が存在することを検出する検出装置及びその検出方法であって、対象ネットワーク内の端末（内部端末）のうち、通常時に通信を行わない外部ネットワーク上の他端末との通信を所定数以上行っている内部端末を列挙し、列挙された内部端末間で、通常時には行われない通信が所定数以上発生している場合に、対象ネットワーク内にマルウェア感染端末が存在しているとする。
【００２１】
以下に添付図面を参照して、実施形態を詳細に説明する。説明では、情報処理装置、ホスト、端末を同義の用語として用いる。
【００２２】
図1は、本実施形態にかかるマルウェア検出システム１０の構成を示す図である。図1に示すように、マルウェア検出システム１０は、検出装置１００、内部ネットワーク２００、ネットワーク接続装置２１０、２２０、２３０、内部端末２４０、２５０、２６０、２７０、外部ネットワーク３００、外部端末３１０、３２０を含んで構成されている。なお、内部端末２４０と内部端末２６０との通信のように、ネットワーク接続装置２１０を介した通信であっても、通信する互いの端末が内部ネットワーク２００に含まれる場合は内部通信とする。
【００２３】
内部ネットワーク２００は、ＬＡＮ（Local Area Network）など、企業や公共機関などの組織単位で管理される比較的小規模のネットワークであり、ネットワーク接続装置２２０、２３０、内部端末２４０、２５０、２６０、２７０を含んでいる。なお、ネットワークそのものを示す場合と、ネットワークに接続する端末などの装置を含んだ構成を示す場合との両方の意味の用語として、ネットワークを用いる。
【００２４】
外部ネットワーク３００は、図示するように、内部ネットワーク２００以外のネットワークであり、ＷＡＮ（Wide Area Network）やインターネットなどである。
【００２５】
検出装置１００は、内部端末２４０、２５０、２６０、２７０を含む内部ネットワーク２００中にマルウェア感染端末が存在する可能性が高いことを検出する。
【００２６】
内部端末２４０、２５０、２６０、２７０は、ネットワーク接続装置２２０、２３０を介して、場合によって、前述のようにさらにネットワーク接続装置２１０を介して、通信を行うことが可能であり、またネットワーク接続装置２１０を介して、外部ネットワーク３００の外部端末３１０、３２０と通信を行うことが可能である。通信は、ＴＣＰ(Transfer Control Protocol)やＵＤＰ(User Datagram Packet)等の種々のプロトコルに従って行わる。各通信は、送信元IP（Internet Protocol）アドレス、宛先IPアドレス、宛先ポート、及びプロトコルの4つの情報（4タプル）により識別される。この4タプルが、通信を特定する通信情報である。
【００２７】
ネットワーク接続装置２１０は、内部ネットワーク２００と外部ネットワーク３００を接続する装置である。
【００２８】
ネットワーク接続装置２２０は、内部端末２４０、内部端末２５０とネットワーク装置２１０を接続する装置である。ネットワーク接続装置２２０は、内部端末２４０と内部端末２５０間の通信、及び、内部端末２４０、内部端末２５０と、外部ネットワーク３００内の外部端末との間の通信中のＩＰパケットを検出装置１００に分配する機能を有する。
【００２９】
ネットワーク装置２３０は、内部端末２６０、内部端末２７０とネットワーク装置２１０を接続する装置である。ネットワーク装置２３０は、内部端末２６０と内部端末２７０間の通信、及び、内部端末２６０、内部端末２７０と、外部ネットワーク３００内の外部端末との間の通信中のＩＰパケットを検出装置１００に分配する機能を有する。
【００３０】
検出装置１００は、ネットワーク接続装置２２０、ネットワーク接続装置２３０から、内部ネットワーク２００内の内部端末間の通信（内部通信）と、内部端末と外部ネットワーク３００内の外部端末との通信（外部通信）中のＩＰパケットを取得する。
【００３１】
図2を用いて、検出装置１００によるマルウェア検出の手順を説明する。検出装置１００は、内部通信を通常内部通信と異常内部通信に分類する。通常内部通信は、内部ネットワーク２００内でマルウェアが発生していない場合に行われる内部通信であり、検出装置１００に記憶されているルールなどで規定される。異常内部通信は、通常内部通信以外の通信である。図2では、内部端末２４０を送信元ＩＰアドレス、内部端末２６０を宛先ＩＰアドレスとする内部通信を通常内部通信１、内部端末２６０を送信元ＩＰアドレス、内部端末２４０を宛先ＩＰアドレスとする通信を異常内部通信１としている。
【００３２】
また、検出装置１００は、外部通信を通常外部通信と異常外部通信に分類する。通常外部通信は、内部ネットワーク２００内でマルウェアが発生していない場合に行われる外部通信であり、検出装置１００に記憶されているルールなどで規定される。異常外部通信は、通常外部通信以外の通信である。図2では、内部端末２４０を送信元ＩＰアドレス、外部端末３１０を宛先ＩＰアドレスとする外部通信を通常外部通信１、内部端末２６０を送信元ＩＰアドレス、外部端末３２０を宛先ＩＰアドレスとする外部通信を通常外部通信2、内部端末２４０を送信元ＩＰアドレス、外部端末３２０を宛先ＩＰアドレスとする外部通信を異常外部通信１、内部端末２６０を送信元ＩＰアドレス、外部端末３２０を宛先ＩＰアドレスとする外部通信を、異常外部通信２としている。
【００３３】
検出装置１００は、通常内部通信や通常外部通信を規定するルールを、内部ネットワーク２００の各端末が所定の業務処理を実行するために必要な通信として予め定めておいても良いし、所定の業務処理を実行するために、ある期間に発生する通信を学習して記憶しても良い。またルールとしては、4タプルを記憶しても良いし、4タプルに含まれるIPアドレスを、各端末に不変のホスト名に代えた変形させた4タプルを記憶しても良い。
【００３４】
検出装置１００は、異常外部通信を所定時間内に所定回数以上行っている内部端末間で、異常内部通信が所定回数以上行われている場合に、内部ネットワーク２００内でマルウェアが発生していると判断する。図2では、異常外部通信１，異常外部通信２、異常内部通信１が行われているため、所定回数が１である場合、異常外部通信を1回行っている内部端末２４０と内部端末２６０の間で異常内部通信１が発生しているため、内部ネットワーク２００内にマルウェアが発生していると判断する。
【００３５】
この判断基準は、次のような理由による。内部ネットワーク２００内の端末へのマルウェアの最初の感染は、何らかの機会の外部通信が原因となる。最初にマルウェアに感染した内部端末は、感染を広めるために他の外部端末や内部端末との通信を実行する。このマルウェアの感染を広めるための通信は、通常通信と判別してしまう通信もあり得るが、検出装置１００がルールとして通常内部通信または通常外部通信と記憶してる通信ではない、異常内部通信または異常外部通信として検出できる。
【００３６】
図3は、検出装置１００の主要な物理的な構成を示す図である。図３に示すように、検出装置１００は、物理的には、本体装置１１０と入出力装置１４０とを含んで構成されている。入出力装置１４０は、ディスプレイ等の表示装置とキーボード等の入力装置を含んで構成され、利用者からの検出装置１００への指示（例えば、検出装置１００の起動指示）の入力を受け付けたり、あるいは後述する本体装置１１０のＣＰＵ(Central Processing Unit)１２０が処理を行った結果等を表示する。
【００３７】
なお、入出力装置１４０の入力装置と出力装置とは、実際には別個の場合もあるが、これらの各装置が行う処理は主要な部分ではないため、これらをまとめて入出力装置１４０として示している。また、以下の説明では、ＣＰＵ１２０が処理を行った結果等を入出力装置１４０に表示する前提で説明しているが、例えば内部端末等、内部ネットワーク２００により接続された他の装置等に表示させるようにしてもよい。
【００３８】
本体装置１１０は、ＣＰＵ１２０とメモリ１３０と記憶装置１５０とインタフェース１６０と、これらを接続するバス１７０とを含んで構成されている。
【００３９】
ＣＰＵ１２０は、内部ネットワーク２００内にマルウェア感染端末が存在することを検出するマルウェア検出プログラム１３１の実行や、検出装置１００に含まれる各装置の動作を制御する。なおＣＰＵ１２０は、時計を掲示するクロックを備えている。
【００４０】
メモリ１３０は、ＲＡＭ(Random Access Memory)およびＲＯＭ(Read Only Memory)等の記憶媒体から構成されている。ＲＯＭには、マルウェア検出プログラム１３１があらかじめ記憶されている。そして、このプログラム１３１がＣＰＵ１２０によって実行されることによって、マルウェアを検出する。ＣＰＵ１２０が実行する具体的な処理については後述する。
【００４１】
記憶装置１５０は、ＨＤＤ（Hard Disk Drive）等から構成され、通常内部通信ＤＢ１５１と通常外部通信ＤＢ１５２と異常内部通信ＤＢ１５３と異常外部通信ＤＢ１５４と不審端末ＤＢ１５５とを含んでいる。これらのＤＢの具体的な内容については後述する。
【００４２】
インタフェース１６０は、ＮＩＣ(Network Interface Card)等であり、ネットワーク接続装置２２０、ネットワーク接続装置２３０との通信インタフェースである。
【００４３】
図４は、図3に示した検出装置１００の機能的な構成、および物理的な各装置との関係を示す図である。図4に示すように、ＣＰＵ１２０は、通信取得部１２１と不審端末検知部１２２と感染活動検知部１２３の処理を含むマルウェア検出プログラム１３１を実行する。
【００４４】
通信取得部１２１は、ネットワーク接続装置２００から、内部通信と外部通信を取得し、通信が異常内部通信であるなら異常内部通信ＤＢに記憶し、通信が異常外部通信であるなら異常外部通信ＤＢに出力する。なお、取得や記憶の対象の通信は、前述の4タプルによって特定される。
【００４５】
より具体的には、通信取得部１２１は、ネットワーク接続装置２２０、ネットワーク接続装置２３０からパケットを受け取ると、パケットが通信開始パケットであるかどうかをパケットヘッダ情報から判断する。判断基準はパケットのプロトコルに依存する。例えば、ＴＣＰパケットであれば、ＴＣＰヘッダのＳＹＮフラグがＯＮであり、ＡＣＫフラグがＯＦＦであるパケットが通信開始パケットである。パケットが通信開始パケットではない場合は、処理は終了する。
【００４６】
次に、通信取得部１２１は、取得したパケットの送信元ＩＰアドレスが内部ネットワーク２００内の内部端末ではない場合、パケットを破棄して処理を終了する。通信取得部１２１は、検出装置１００に記憶されている、内部ネットワーク２００内の内部端末のＩＰアドレスのリストを参照して、送信元ＩＰアドレスがリストに含まれるかどうかを判定する。
【００４７】
次に、通信取得部１２１は、取得パケットの送信元ＩＰアドレスと宛先アドレスが共に内部ネットワーク２００に含まれる内部端末である場合、通常内部通信ＤＢ１５１を参照して、パケットの４タプルと一致する通常内部通信レコード（通常内部通信の４タプルを記憶するレコード）が存在するかどうかを判定する。レコードが存在しない場合、取得パケットは異常内部通信であると判断し、パケットの４タプルとパケット収得時刻を含む、異常内部通信レコードを作成する。異常内部通信ＤＢ１５３に、作成した異常内部通信レコードと４タプル（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、宛先ポート）が一致するレコードが存在しない場合、作成したレコードを異常内部通信ＤＢ１５３に記憶する。一方、異常内部通信ＤＢ１５３に、４タプルが一致するレコードが存在する場合、当該レコードを削除した上で、作成したレコードを異常内部通信ＤＢ１５３に記憶する。レコードの削除及び作成したレコードの記憶は、４タプルが一致するレコードのパケット収得時刻の更新に相当する。
【００４８】
図５は、前述の通常内部通信を規定したルールを示す通常内部通信レコードが、通常内部通信ＤＢ１５１に記憶された例を示す図である。送信元ＩＰアドレス５０１は、通常内部通信の内部端末のＩＰアドレスを、宛先ＩＰアドレス５０２は、通常内部通信の通信先である内部端末のＩＰアドレスを、プロトコル５０３は、通常内部通信で用いられるプロトコルを、宛先ポート５０４は通常内部通信の通信先の内部端末の待ち受けポート番号を示す。図５の例では、送信元ＩＰアドレス５０１が１９２．１６８．１０．１から１９２．１６８．１０．４であり、宛先ＩＰアドレス５０２が１９２．１６８．１０．５であり、プロトコル５０３がＴＣＰであり、宛先ポート５０４が８０である通信、及び、送信元ＩＰアドレス５０１が１９２．１６８．１０．１から１９２．１６８．１０．４であり、宛先ＩＰアドレス５０２が１９２．１６８．１０．１０であり、プロトコル５０３がＴＣＰであり、宛先ポート５０４が２５である通信を、通常内部通信とする。通常内部通信ＤＢ１５１への通常内部通信レコードの登録は、前述のように内部ネットワーク２００の管理者が予め行っても良いし、所定の期間の通常内部通信の学習結果として記憶しても良い。
【００４９】
図６は、異常内部通信レコードが異常内部通信ＤＢ１５３に記憶された例を示す図である。送信元ＩＰアドレス６０１は、異常内部通信を開始した内部端末のＩＰアドレスを、宛先ＩＰアドレス６０２は、異常内部通信の通信先である内部端末のＩＰアドレスを、プロトコル６０３は、硫黄内部通信で用いられるプロトコルを、宛先ポート６０４は異常内部通信の通信先の内部端末の待ち受けポート番号を、収得時刻７０５は、異常内部通信の通信開始パケットを取得した時刻を示す。
【００５０】
図４に戻り、通信取得部１２１について説明する。通信取得部１２１は、取得パケットの宛先ＩＰアドレスが外部ネットワーク３００に含まれる外部端末である場合、通常外部通信ＤＢ１５２を参照して、パケットの４タプルと一致する通常外部通信レコードが存在するかどうかを判定する。レコードが存在しない場合、取得パケットは異常外部通信であると判断し、パケットの４タプルとパケット収得時刻を、異常外部通信レコードを作成する。異常外部通信ＤＢ１５４に、作成した異常外部通信レコードと４タプル（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、宛先ポート）が一致するレコードが存在しない場合、作成したレコードを異常外部通信ＤＢ１５４に記憶する。一方、異常外部通信ＤＢ１５４に、４タプルが一致するレコードが存在する場合、当該レコードを削除した上で、作成したレコードを異常外部通信ＤＢ１５４に記憶する。
【００５１】
図７は、前述の通常外部通信を規定したルールを示す通常外部通信レコードが通常外部通信ＤＢ１５２に記憶された例を示す図である。送信元ＩＰアドレス７０１は、通常外部通信の内部端末のＩＰアドレスを、宛先ＩＰアドレス７０２は、通常外部通信の通信先である外部端末のＩＰアドレスを、プロトコル７０３は、通常外部通信で用いられるプロトコルを、宛先ポート７０４は通常外部通信の通信先の外部端末の待ち受けポート番号を示す。図７の例では、送信元ＩＰアドレス７０１が１９２．１６８．１０．１から１９２．１６８．１０．４であり、宛先ＩＰアドレス５０２が１０．０．０．５または１０．０．０．１０であり、プロトコル７０３がＴＣＰであり、宛先ポート７０４が８０である通信を、通常外部通信とする。通常外部通信ＤＢ１５２への通常外部通信レコードの登録は、内部ネットワーク２００の管理者が予め行っても良いし、所定の期間の通常外部通信の学習結果として記憶しても良い。
【００５２】
図８は、異常外部通信レコードが異常外部通信ＤＢ１５４に記憶された例を示す図である。送信元ＩＰアドレス８０１は、異常外部通信を開始した内部端末のＩＰアドレスを、宛先ＩＰアドレス８０２は、異常外部通信の通信先である外部端末のＩＰアドレスを、プロトコル８０３は、異常外部通信で用いられるプロトコルを、宛先ポート８０４は異常外部通信の通信先の外部端末の待ち受けポート番号を、収得時刻８０５は、異常外部通信の通信開始パケットを取得した時刻を示す。
【００５３】
図４に戻り、不審端末検知部１２２について説明する。不審端末検知部１２２は、一定時間（例えば６０秒）ごとに異常外部通信ＤＢ１５４にアクセスして、取得時刻８０５が現在時刻よりも所定時間（例えば３６００秒）以上過去のものである異常外部通信レコードを、異常外部通信ＤＢ１５４から削除する。次に、不審端末検知部１２２は、不審端末ＤＢ１５５内の全レコードを削除する。次に、不審端末検知部１２２は、異常外部通信ＤＢ１５４中のレコードの各送信元アドレス８０１の出現回数を計数して、出現回数が所定回数（例えば２回）以上である場合、当該送信元アドレス８０１はマルウェア感染端末である可能性があると判断して、当該送信元アドレス８０１とその出現回数を不審端末レコードとして不審端末ＤＢ１５５に記憶する。例えば、図８の例では、１９２．１６８．１０．１は２回、１９２．１６８．１０．２は３回、１９２．１６８．１０．３は３回、出現しており、所定回数が２回である場合、１９２．１６８．１０．１、１９２．１６８．１０．２、１９２．１６８．１０．３は何れも不審端末と判断され、不審端末ＤＢ１５５に記録される。
【００５４】
図９は、不審端末レコードが、不審端末ＤＢ１５５に記憶された例を示す図である。不審端末ＩＰアドレス９０１は、異常外部通信ＤＢ１５４中で出現回数が所定回数以上であった送信元アドレス８０１であり、出現回数９０２は、不審端末ＩＰアドレス９０１の出現回数である。
【００５５】
図４に戻り、感染活動検知部１２３について説明する。感染活動検知部１２３は、一定時間（例えば６０秒）ごとに異常内部通信ＤＢ１５３にアクセスして、取得時刻６０５が現在時刻よりも所定時間（例えば３６００秒）以上過去のものである異常外部通信レコードを、異常内部通信ＤＢ１５３から削除する。
【００５６】
次に、感染活動検知部１２３は、異常内部通信ＤＢ１５３中の異常内部通信レコードのうち、送信元ＩＰアドレス６０１と宛先ＩＰアドレス６０２が共に、不審端末ＤＢ１５５の不審端末ＩＰアドレス９０１に含まれるレコード数を計数する。そして、計数された値が、所定の閾値（例えば３）以上になった場合に、内部ネットワーク２００にマルウェア感染端末が存在すると判断する。一方、計測された数が、閾値未満である場合は、内部ネットワーク２００にマルウェア感染端末は存在しないと判断する。
【００５７】
マルウェア検出システム１０で行われる処理について説明する。図１０〜図１２は、マルウェア検出システム１０が上述した各種の処理を行う場合の処理手順を示すフローチャートである。
【００５８】
図１０は、通信取得部１２１における処理のフローチャートである。通信処理部１２１は、ネットワーク装置２２０、ネットワーク装置２３０を介して、内部ネットワーク２１０内の内部端末が送受信するパケットを取得する（Ｓ１００１）。次に、取得したパケットが通信開始パケットでは無い場合は、処理を終了する（Ｓ１００２：ＮＯ）。一方、取得したパケットが通信開始パケットである場合（Ｓ１００２：ＹＥＳ）、パケットの送信元ＩＰアドレスが内部ネットワーク２００内の内部端末のものではない場合は処理を終了し（Ｓ１００３：ＮＯ）、送信元ＩＰアドレスが内部ネットワーク２００のものである場合は処理を継続する（Ｓ１００３：ＹＥＳ）。
【００５９】
次に、パケットの宛先ＩＰアドレスが内部ネットワーク２００内の内部端末のＩＰアドレスであるかどうかを判定する（Ｓ１００４）。
【００６０】
宛先ＩＰアドレスが内部端末のＩＰアドレスである場合（Ｓ１００４：ＹＥＳ）、取得パケットの４タプル（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、宛先ポート）タプルと同一のタプルを持つ通常内部通信レコードが通常内部通信ＤＢ１５１に存在するかどうかを判定する（Ｓ１００５）。レコードが存在する場合、処理は終了する（Ｓ１００５：ＹＥＳ）。レコードが存在しない場合（Ｓ１００５：ＮＯ）、取得パケットのタプルと取得時刻を、異常内部通信レコードとして、異常内部通信ＤＢ１５３に記録して、処理を終了する。尚、取得パケットのタプルと一致する既レコードが異常内部通信ＤＢ１５３に既に存在する場合は、既レコードを削除した後で、パケットのタプルと取得時刻を記録する（Ｓ１００６）。
【００６１】
宛先ＩＰアドレスが外部端末のＩＰアドレスである場合（Ｓ１００４：ＮＯ）、取得パケットの４タプル（送信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル、宛先ポート）タプルと同一のタプルを持つ通常外部通信レコードが通常外部通信ＤＢ１５２に存在するかどうかを判定する（Ｓ１００７）。レコードが存在する場合、処理は終了する（Ｓ１００７：ＹＥＳ）。レコードが存在しない場合（Ｓ１００７：ＮＯ）、取得パケットのタプルと取得時刻を、異常外部通信レコードとして、異常外部通信ＤＢ１５４に記録して、処理を終了する。尚、取得パケットのタプルと一致する既レコードが異常外部通信ＤＢ１５４に既に存在する場合は、既レコードを削除した後で、パケットのタプルと取得時刻を記録する（Ｓ１００８）。
【００６２】
図１１は、不審端末検知部１２２が、一定時間ごとに実行する処理のフローチャートである。不審端末検知部１２２は、異常外部通信ＤＢ１５４内の異常外部通信レコードのうち、取得時刻８０５が、現在時刻よりも所定時間以上過去であるものを削除する（Ｓ１１０１）。次に、不審端末ＤＢ１５４中の全てのレコードを削除する（Ｓ１１０２）。次に、異常外部通信ＤＢ１５４中で、送信元ＩＰアドレス８０１を含む異常外部通信レコード数を計数して、不審端末ＤＢ１５５に記録する（Ｓ１１０３）。
【００６３】
図１２は、感染活動検知部１２３が、一定時間ごとに実行する処理のフローチャートである。感染活動検知部１２３は、異常内部通信ＤＢ１５３内の異常内部通信レコードのうち、取得時刻７０５が、現在時刻よりも所定時間以上過去であるものを削除する（Ｓ１２０１）。次に、計数用の変数であるｃｏｕｎｔｅｒを０に初期化する（Ｓ１２０２）。次に、異常内部通信ＤＢ１５３から異常内部通信レコードを１つ読み込む（Ｓ１２０３）。読み込んだ異常内部通信レコードの送信元ＩＰアドレス７０１と宛先ＩＰアドレス７０２が、共に不審端末ＤＢ１５５内に不審端末ＩＰアドレス９０１として存在する場合（Ｓ１２０４：ＹＥＳ）、変数ｃｏｕｎｔｅｒの値を＋１とする（Ｓ１２０５）。次に、異常内部通信ＤＢ１５３内の全てのレコードの読み込みが終わったかどうかを判定する（Ｓ１２０６）．読み込みがまだ終わっていないレコードがある場合（Ｓ１２０６：ＮＯ）、ステップＳ１２０３に戻る。一方、全てのレコードの読み込みが終わった場合（Ｓ１２０６：ＹＥＳ）、変数ｃｏｕｎｔｅｒの値が所定の閾値以上であるかどうかを判定する（Ｓ１２０７）。変数ｃｏｕｎｔｅｒの値が閾値以上である場合（Ｓ１２０７：ＹＥＳ）、内部ネットワーク２００内にマルウェアが存在すると判断し、その旨を入出力装置１４０に出力する（Ｓ１２０８）。変数ｃｏｕｎｔｅｒの値が閾値未満である場合（Ｓ１２０７：ＮＯ）、内部ネットワーク２００内にマルウェアは存在しないと判断し、その旨を入出力装置１４０に出力する（Ｓ１２０９）。
【００６４】
本実施形態によれば、異常外部通信を一定期間内に所定回数以上行なう内部端末である不審端末間の、異常内部通信数を計数することで、対象ネットワーク内にマルウェア感染端末が存在するか否かを判定することが可能になる。
【００６５】
本実施形態の一部を変更して、次のように変形してもよい。
【００６６】
第一に、不審端末数に対する不審端末間の異常内部通信数の比率が所定の閾値以上となった場合に、内部ネットワーク２００内にマルウェアが存在すると判定してもよい。この変形例では、不審端末数が少ない場合でも、異常内部通信数が相対的に多ければ検知が可能になる。
【００６７】
第二に、端末を特定するにあたって、端末のＩＰアドレスの代わりに、端末のホスト名を用いてもよい。この変形例では、端末のＩＰアドレスが頻繁に変わる場合に対応できる。
【００６８】
第三に、通信は、送信元ＩＰアドレスと、宛先ＩＰアドレス、プロトコルから構成される３タプルで識別してもよい。この変形例では、内部端末間で宛先ポートが不定である通常内部通信が行われる場合や、内部端末・外部端末間で宛先ポートが不定である通常外部通信が行われる場合に、全ての宛先ポートに対応した通常内部通信レコード、通常外部通信レコードを記述する必要がない。
【００６９】
第四に、通信は、送信元ＩＰアドレスと、宛先ＩＰアドレスから構成される２タプルで識別してもよい。この変形例では、内部端末間で宛先ポートとプロトコルが不定である通常内部通信が行われる場合や、内部端末・外部端末間で宛先ポートとプロトコルが不定である通常外部通信が行われる場合に、全ての宛先ポートとプロトコルに対応した通常内部通信レコード、通常外部通信レコードを記述する必要がない。第三、第四の変形例は、通信を特定するための通信情報が、４タプルでなくても、送信端末と受信端末とを識別できる情報があれば良いことを示している。すなわち、ある内部端末の通信情報は、少なくともその内部端末と送受信相手の端末(内部端末または外部端末)とを識別できればよい。
【００７０】
第五に、内部端末を不審端末と判断するための閾値は、内部端末ごとに異なっていてもよい。この変形では、内部端末の特性に応じた閾値を設定可能である。
【符号の説明】
【００７１】
１０…マルウェア検出システム、１００…検出装置、１１０…本体装置、１２０…ＣＰＵ、１２１…通信取得部、１２２…不審端末検知部、１２３…感染活動検知部、１３０…メモリ、１３１…マルウェア検出プログラム、１４０…入出力装置、１５０…外部記憶装置、１５１…通常内部通信ＤＢ、１５２…通常外部通信ＤＢ、１５３…異常内部通信ＤＢ、１５４…異常外部通信ＤＢ、１５５…不審端末ＤＢ，１６０…ＩＦ、１７０…バス、２００…内部ネットワーク、２１０、２２０、２３０…ネットワーク接続装置、２４０、２５０、２６０、２７０…内部端末、３００…外部ネットワーク、３１０、３２０…外部端末。
【図１】
2012084994.tif 000003
【図２】
2012084994.tif 000004
【図３】
2012084994.tif 000005
【図４】
2012084994.tif 000006
【図５】
2012084994.tif 000007
【図６】
2012084994.tif 000008
【図７】
2012084994.tif 000009
【図８】
2012084994.tif 000010
【図９】
2012084994.tif 000011
【図１０】
2012084994.tif 000012
【図１１】
2012084994.tif 000013
【図１２】
2012084994.tif 000014