マルウェア検出方法、およびマルウェア検出装置
【課題】ネットワークにマルウェア感染端末が存在することを検出する。
【解決手段】内部ネットワークの内部端末と他の内部端末との間に既定された通常内部通信、及び、内部端末と外部ネットワークに接続する外部端末との間に既定された通常外部通信を予め記憶装置に記憶する。ネットワーク接続装置から、内部端末の通信情報を取得して、通常内部通信および通常外部通信を参照して、通信情報から、内部端末と他の内部端末との間に既定されない異常内部通信、及び、内部端末と外部端末との間に既定されない異常外部通信とを取得して記憶装置に記憶する。記憶した異常外部通信を所定期間内に行った回数に基いて、内部端末が不審端末であることを検知する。不審端末と他の不審端末との間の、記憶した異常内部通信が所定期間内に発生した回数に基いて、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【解決手段】内部ネットワークの内部端末と他の内部端末との間に既定された通常内部通信、及び、内部端末と外部ネットワークに接続する外部端末との間に既定された通常外部通信を予め記憶装置に記憶する。ネットワーク接続装置から、内部端末の通信情報を取得して、通常内部通信および通常外部通信を参照して、通信情報から、内部端末と他の内部端末との間に既定されない異常内部通信、及び、内部端末と外部端末との間に既定されない異常外部通信とを取得して記憶装置に記憶する。記憶した異常外部通信を所定期間内に行った回数に基いて、内部端末が不審端末であることを検知する。不審端末と他の不審端末との間の、記憶した異常内部通信が所定期間内に発生した回数に基いて、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルウェア検出技術に関し、特に、ネットワーク上の通信トラヒックを分析することで、ネットワーク中にマルウェアに感染している端末が存在することを検出する技術に関する。
【背景技術】
【0002】
マルウェアは、コンピュータプログラムの一種であり、コンピュータ端末内で実行されるとファイルの削除や情報漏洩といった、ユーザにとって有害な活動を行うものである。マルウェアが実行されている端末を、一般にマルウェア感染端末と呼ぶ。今日では、日々数千から数万の新種のマルウェアが出現しており、マルウェア対策の確立が大きな社会問題となっている。
【0003】
マルウェアによる他端末との通信は、攻撃者からの指令の受信や新たなプログラムの取得、感染端末間の情報交換、あるいは他端末への攻撃を行う際に発生する。攻撃には、攻撃対象の端末の制御を奪ってマルウェア感染端末にするものや、大量のデータを送信して攻撃対象の端末の処理性能を低下させるものがある。
【0004】
これらの動きを受け、ネットワーク上の通信トラヒックを解析することで、マルウェア感染端末を検出しようとする試みがなされている。例えば、特許文献1には、所定の台数以上の端末からIP(Internet Protocol)パケットを取得する端末を、マルウェアの指令端末の候補として検出し、指令端末の候補及び所定の台数以上の端末に対してIPパケットを送信する端末を、マルウェア感染端末として検出する技術が開示されている。
【0005】
また、非特許文献1には、マルウェア感染端末が、非感染時には通信を行わなかったインターネット上の端末への通信が増加することに着目して、通常時に通信を行わない端末への通信数が所定回数を超える端末を、マルウェア感染端末として検出する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−110270号公報
【非特許文献】
【0007】
【非特許文献1】“A User Habit Based Approach to Detect and Quarantine Worms, Proceedings of the IEEE Int’l Conference on Communications 2006”.
【発明の概要】
【発明が解決しようとする課題】
【0008】
企業や公共機関などの組織単位で管理されるネットワークでは、マルウェア感染端末を早期に検出する必要がある。しかしながら、特許文献1に開示された技術では指令端末が複数あり、、マルウェア感染端末によって通信を行う指令端末が各々異なる場合、各指令端末が所定の台数以上の端末からIPパケットを取得することが少なく、指令端末の候補を検出することができず、マルウェア感染端末を検出できない。また、検出する基準としての所定の台数の値を小さくすると誤検出の可能性が高まる。
【0009】
また、非特許文献1に開示された技術では、新規コンピュータプログラムの導入などにより、これまでに通信を行ったことが無い端末と通信を行うようになった端末を、マルウェア感染端末として誤検出する可能性がある。
【課題を解決するための手段】
【0010】
開示するマルウェア検出方法及びマルウェア検出装置は、次のような構成を有する。(1)内部ネットワークに接続する内部端末と内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、(2)内部端末と内部ネットワークに接続する外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶装置に記憶する。内部ネットワークに接続するネットワーク接続装置から、内部ネットワークに接続する内部端末の通信情報を取得して、記憶されている通常内部通信および通常外部通信を参照して、取得した通信情報から、(3)内部端末と内部ネットワークに接続する他の内部端末との間に既定されない、通常内部通信以外の通信である異常内部通信、および、(4)内部端末と外部ネットワークに接続する外部端末との間に既定されない、通常外部通信以外の通信である異常外部通信とを取得して記憶装置に記憶する。記憶装置に記憶した異常外部通信を所定期間内に行った回数に基いて、内部端末が不審端末であることを検知する。不審端末と他の不審端末との間の、記憶した異常内部通信が所定期間内に発生した回数に基いて、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【0011】
望ましい他の態様は、既定された通信とは、内部端末が所定の業務処理を実行するために必要な通信である。
【0012】
望ましいさらに他の態様は、通信情報は、少なくとも内部端末と内部端末の送受信相手である他の内部端末および外部端末の一つとを識別する識別情報である。
【0013】
望ましいさらに他の態様は、識別情報は、内部端末並びに他の内部端末および外部端末の一つの、IPアドレスおよびホスト名の一方である。
【0014】
望ましいさらに他の態様は、内部端末が異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、内部端末を不審端末として検知する。
【0015】
望ましいさらに他の態様は、不審端末が異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【0016】
望ましいさらに他の態様は、不審端末と他の不審端末とを含む不審端末の数に対する、記憶した異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、内部ネットワーク内にマルウェアに感染した端末が存在すると検知する。
【発明の効果】
【0017】
本発明によれば、ネットワークにマルウェア端末が存在することを検出できる。
【図面の簡単な説明】
【0018】
【図1】本実施形態にかかるマルウェア検出システムの構成を示す図である。
【図2】マルウェア検出の手順を説明する図である。
【図3】検出装置の主要な物理構成を示す図である。
【図4】検出装置の機能的な構成、および物理的な各装置との関係を示す図である。
【図5】通常内部通信DB内のレコードの例を示す図である。
【図6】異常内部通信DB内のレコードの例を示す図である。
【図7】通常外部通信DB内のレコードの例を示す図である。
【図8】異常外部通信DB内のレコードの例を示す図である。
【図9】不審端末DB内のレコードの例を示す図である。
【図10】通信取得部における処理のフローチャートである。
【図11】不審端末検知部における処理のフローチャートである。
【図12】感染活動検知部における処理のフローチャートである。
【発明を実施するための形態】
【0019】
本実施形態として開示するマルウェア検出方法及びマルウェア検出装置は、マルウェアに感染した端末(マルウェア感染端末)が、他の感染端末との情報交換、攻撃者からの指令の受信、他端末への攻撃などを行うために、通常時には通信を行わない自ネットワーク内の他端末及び自ネットワーク外(外部ネットワーク)の他端末と通信を行うようになるという性質を用いる。たとえば、通常時は、各端末は、自ネットワーク内のサーバや特定の端末、他のネットワークに接続する特定のサーバとの通信に留まり、マルウェアに感染すると、このような通常時の通信とは異なる端末との通信を行うようになるという性質である。マルウェアの感染に関しては、サーバと端末を区別する必要がないので、以下では、サーバも含めて端末と呼ぶ。
【0020】
このような性質を利用したマルウェア検出方法及びマルウェア検出装置は、次のような構成を有する。外部ネットワークにネットワーク機器などを介して接続された対象ネットワーク(自ネットワーク)内にマルウェア感染端末が存在することを検出する検出装置及びその検出方法であって、対象ネットワーク内の端末(内部端末)のうち、通常時に通信を行わない外部ネットワーク上の他端末との通信を所定数以上行っている内部端末を列挙し、列挙された内部端末間で、通常時には行われない通信が所定数以上発生している場合に、対象ネットワーク内にマルウェア感染端末が存在しているとする。
【0021】
以下に添付図面を参照して、実施形態を詳細に説明する。説明では、情報処理装置、ホスト、端末を同義の用語として用いる。
【0022】
図1は、本実施形態にかかるマルウェア検出システム10の構成を示す図である。図1に示すように、マルウェア検出システム10は、検出装置100、内部ネットワーク200、ネットワーク接続装置210、220、230、内部端末240、250、260、270、外部ネットワーク300、外部端末310、320を含んで構成されている。なお、内部端末240と内部端末260との通信のように、ネットワーク接続装置210を介した通信であっても、通信する互いの端末が内部ネットワーク200に含まれる場合は内部通信とする。
【0023】
内部ネットワーク200は、LAN(Local Area Network)など、企業や公共機関などの組織単位で管理される比較的小規模のネットワークであり、ネットワーク接続装置220、230、内部端末240、250、260、270を含んでいる。なお、ネットワークそのものを示す場合と、ネットワークに接続する端末などの装置を含んだ構成を示す場合との両方の意味の用語として、ネットワークを用いる。
【0024】
外部ネットワーク300は、図示するように、内部ネットワーク200以外のネットワークであり、WAN(Wide Area Network)やインターネットなどである。
【0025】
検出装置100は、内部端末240、250、260、270を含む内部ネットワーク200中にマルウェア感染端末が存在する可能性が高いことを検出する。
【0026】
内部端末240、250、260、270は、ネットワーク接続装置220、230を介して、場合によって、前述のようにさらにネットワーク接続装置210を介して、通信を行うことが可能であり、またネットワーク接続装置210を介して、外部ネットワーク300の外部端末310、320と通信を行うことが可能である。通信は、TCP(Transfer Control Protocol)やUDP(User Datagram Packet)等の種々のプロトコルに従って行わる。各通信は、送信元IP(Internet Protocol)アドレス、宛先IPアドレス、宛先ポート、及びプロトコルの4つの情報(4タプル)により識別される。この4タプルが、通信を特定する通信情報である。
【0027】
ネットワーク接続装置210は、内部ネットワーク200と外部ネットワーク300を接続する装置である。
【0028】
ネットワーク接続装置220は、内部端末240、内部端末250とネットワーク装置210を接続する装置である。ネットワーク接続装置220は、内部端末240と内部端末250間の通信、及び、内部端末240、内部端末250と、外部ネットワーク300内の外部端末との間の通信中のIPパケットを検出装置100に分配する機能を有する。
【0029】
ネットワーク装置230は、内部端末260、内部端末270とネットワーク装置210を接続する装置である。ネットワーク装置230は、内部端末260と内部端末270間の通信、及び、内部端末260、内部端末270と、外部ネットワーク300内の外部端末との間の通信中のIPパケットを検出装置100に分配する機能を有する。
【0030】
検出装置100は、ネットワーク接続装置220、ネットワーク接続装置230から、内部ネットワーク200内の内部端末間の通信(内部通信)と、内部端末と外部ネットワーク300内の外部端末との通信(外部通信)中のIPパケットを取得する。
【0031】
図2を用いて、検出装置100によるマルウェア検出の手順を説明する。検出装置100は、内部通信を通常内部通信と異常内部通信に分類する。通常内部通信は、内部ネットワーク200内でマルウェアが発生していない場合に行われる内部通信であり、検出装置100に記憶されているルールなどで規定される。異常内部通信は、通常内部通信以外の通信である。図2では、内部端末240を送信元IPアドレス、内部端末260を宛先IPアドレスとする内部通信を通常内部通信1、内部端末260を送信元IPアドレス、内部端末240を宛先IPアドレスとする通信を異常内部通信1としている。
【0032】
また、検出装置100は、外部通信を通常外部通信と異常外部通信に分類する。通常外部通信は、内部ネットワーク200内でマルウェアが発生していない場合に行われる外部通信であり、検出装置100に記憶されているルールなどで規定される。異常外部通信は、通常外部通信以外の通信である。図2では、内部端末240を送信元IPアドレス、外部端末310を宛先IPアドレスとする外部通信を通常外部通信1、内部端末260を送信元IPアドレス、外部端末320を宛先IPアドレスとする外部通信を通常外部通信2、内部端末240を送信元IPアドレス、外部端末320を宛先IPアドレスとする外部通信を異常外部通信1、内部端末260を送信元IPアドレス、外部端末320を宛先IPアドレスとする外部通信を、異常外部通信2としている。
【0033】
検出装置100は、通常内部通信や通常外部通信を規定するルールを、内部ネットワーク200の各端末が所定の業務処理を実行するために必要な通信として予め定めておいても良いし、所定の業務処理を実行するために、ある期間に発生する通信を学習して記憶しても良い。またルールとしては、4タプルを記憶しても良いし、4タプルに含まれるIPアドレスを、各端末に不変のホスト名に代えた変形させた4タプルを記憶しても良い。
【0034】
検出装置100は、異常外部通信を所定時間内に所定回数以上行っている内部端末間で、異常内部通信が所定回数以上行われている場合に、内部ネットワーク200内でマルウェアが発生していると判断する。図2では、異常外部通信1,異常外部通信2、異常内部通信1が行われているため、所定回数が1である場合、異常外部通信を1回行っている内部端末240と内部端末260の間で異常内部通信1が発生しているため、内部ネットワーク200内にマルウェアが発生していると判断する。
【0035】
この判断基準は、次のような理由による。内部ネットワーク200内の端末へのマルウェアの最初の感染は、何らかの機会の外部通信が原因となる。最初にマルウェアに感染した内部端末は、感染を広めるために他の外部端末や内部端末との通信を実行する。このマルウェアの感染を広めるための通信は、通常通信と判別してしまう通信もあり得るが、検出装置100がルールとして通常内部通信または通常外部通信と記憶してる通信ではない、異常内部通信または異常外部通信として検出できる。
【0036】
図3は、検出装置100の主要な物理的な構成を示す図である。図3に示すように、検出装置100は、物理的には、本体装置110と入出力装置140とを含んで構成されている。入出力装置140は、ディスプレイ等の表示装置とキーボード等の入力装置を含んで構成され、利用者からの検出装置100への指示(例えば、検出装置100の起動指示)の入力を受け付けたり、あるいは後述する本体装置110のCPU(Central Processing Unit)120が処理を行った結果等を表示する。
【0037】
なお、入出力装置140の入力装置と出力装置とは、実際には別個の場合もあるが、これらの各装置が行う処理は主要な部分ではないため、これらをまとめて入出力装置140として示している。また、以下の説明では、CPU120が処理を行った結果等を入出力装置140に表示する前提で説明しているが、例えば内部端末等、内部ネットワーク200により接続された他の装置等に表示させるようにしてもよい。
【0038】
本体装置110は、CPU120とメモリ130と記憶装置150とインタフェース160と、これらを接続するバス170とを含んで構成されている。
【0039】
CPU120は、内部ネットワーク200内にマルウェア感染端末が存在することを検出するマルウェア検出プログラム131の実行や、検出装置100に含まれる各装置の動作を制御する。なおCPU120は、時計を掲示するクロックを備えている。
【0040】
メモリ130は、RAM(Random Access Memory)およびROM(Read Only Memory)等の記憶媒体から構成されている。ROMには、マルウェア検出プログラム131があらかじめ記憶されている。そして、このプログラム131がCPU120によって実行されることによって、マルウェアを検出する。CPU120が実行する具体的な処理については後述する。
【0041】
記憶装置150は、HDD(Hard Disk Drive)等から構成され、通常内部通信DB151と通常外部通信DB152と異常内部通信DB153と異常外部通信DB154と不審端末DB155とを含んでいる。これらのDBの具体的な内容については後述する。
【0042】
インタフェース160は、NIC(Network Interface Card)等であり、ネットワーク接続装置220、ネットワーク接続装置230との通信インタフェースである。
【0043】
図4は、図3に示した検出装置100の機能的な構成、および物理的な各装置との関係を示す図である。図4に示すように、CPU120は、通信取得部121と不審端末検知部122と感染活動検知部123の処理を含むマルウェア検出プログラム131を実行する。
【0044】
通信取得部121は、ネットワーク接続装置200から、内部通信と外部通信を取得し、通信が異常内部通信であるなら異常内部通信DBに記憶し、通信が異常外部通信であるなら異常外部通信DBに出力する。なお、取得や記憶の対象の通信は、前述の4タプルによって特定される。
【0045】
より具体的には、通信取得部121は、ネットワーク接続装置220、ネットワーク接続装置230からパケットを受け取ると、パケットが通信開始パケットであるかどうかをパケットヘッダ情報から判断する。判断基準はパケットのプロトコルに依存する。例えば、TCPパケットであれば、TCPヘッダのSYNフラグがONであり、ACKフラグがOFFであるパケットが通信開始パケットである。パケットが通信開始パケットではない場合は、処理は終了する。
【0046】
次に、通信取得部121は、取得したパケットの送信元IPアドレスが内部ネットワーク200内の内部端末ではない場合、パケットを破棄して処理を終了する。通信取得部121は、検出装置100に記憶されている、内部ネットワーク200内の内部端末のIPアドレスのリストを参照して、送信元IPアドレスがリストに含まれるかどうかを判定する。
【0047】
次に、通信取得部121は、取得パケットの送信元IPアドレスと宛先アドレスが共に内部ネットワーク200に含まれる内部端末である場合、通常内部通信DB151を参照して、パケットの4タプルと一致する通常内部通信レコード(通常内部通信の4タプルを記憶するレコード)が存在するかどうかを判定する。レコードが存在しない場合、取得パケットは異常内部通信であると判断し、パケットの4タプルとパケット収得時刻を含む、異常内部通信レコードを作成する。異常内部通信DB153に、作成した異常内部通信レコードと4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)が一致するレコードが存在しない場合、作成したレコードを異常内部通信DB153に記憶する。一方、異常内部通信DB153に、4タプルが一致するレコードが存在する場合、当該レコードを削除した上で、作成したレコードを異常内部通信DB153に記憶する。レコードの削除及び作成したレコードの記憶は、4タプルが一致するレコードのパケット収得時刻の更新に相当する。
【0048】
図5は、前述の通常内部通信を規定したルールを示す通常内部通信レコードが、通常内部通信DB151に記憶された例を示す図である。送信元IPアドレス501は、通常内部通信の内部端末のIPアドレスを、宛先IPアドレス502は、通常内部通信の通信先である内部端末のIPアドレスを、プロトコル503は、通常内部通信で用いられるプロトコルを、宛先ポート504は通常内部通信の通信先の内部端末の待ち受けポート番号を示す。図5の例では、送信元IPアドレス501が192.168.10.1から192.168.10.4であり、宛先IPアドレス502が192.168.10.5であり、プロトコル503がTCPであり、宛先ポート504が80である通信、及び、送信元IPアドレス501が192.168.10.1から192.168.10.4であり、宛先IPアドレス502が192.168.10.10であり、プロトコル503がTCPであり、宛先ポート504が25である通信を、通常内部通信とする。通常内部通信DB151への通常内部通信レコードの登録は、前述のように内部ネットワーク200の管理者が予め行っても良いし、所定の期間の通常内部通信の学習結果として記憶しても良い。
【0049】
図6は、異常内部通信レコードが異常内部通信DB153に記憶された例を示す図である。送信元IPアドレス601は、異常内部通信を開始した内部端末のIPアドレスを、宛先IPアドレス602は、異常内部通信の通信先である内部端末のIPアドレスを、プロトコル603は、硫黄内部通信で用いられるプロトコルを、宛先ポート604は異常内部通信の通信先の内部端末の待ち受けポート番号を、収得時刻705は、異常内部通信の通信開始パケットを取得した時刻を示す。
【0050】
図4に戻り、通信取得部121について説明する。通信取得部121は、取得パケットの宛先IPアドレスが外部ネットワーク300に含まれる外部端末である場合、通常外部通信DB152を参照して、パケットの4タプルと一致する通常外部通信レコードが存在するかどうかを判定する。レコードが存在しない場合、取得パケットは異常外部通信であると判断し、パケットの4タプルとパケット収得時刻を、異常外部通信レコードを作成する。異常外部通信DB154に、作成した異常外部通信レコードと4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)が一致するレコードが存在しない場合、作成したレコードを異常外部通信DB154に記憶する。一方、異常外部通信DB154に、4タプルが一致するレコードが存在する場合、当該レコードを削除した上で、作成したレコードを異常外部通信DB154に記憶する。
【0051】
図7は、前述の通常外部通信を規定したルールを示す通常外部通信レコードが通常外部通信DB152に記憶された例を示す図である。送信元IPアドレス701は、通常外部通信の内部端末のIPアドレスを、宛先IPアドレス702は、通常外部通信の通信先である外部端末のIPアドレスを、プロトコル703は、通常外部通信で用いられるプロトコルを、宛先ポート704は通常外部通信の通信先の外部端末の待ち受けポート番号を示す。図7の例では、送信元IPアドレス701が192.168.10.1から192.168.10.4であり、宛先IPアドレス502が10.0.0.5または10.0.0.10であり、プロトコル703がTCPであり、宛先ポート704が80である通信を、通常外部通信とする。通常外部通信DB152への通常外部通信レコードの登録は、内部ネットワーク200の管理者が予め行っても良いし、所定の期間の通常外部通信の学習結果として記憶しても良い。
【0052】
図8は、異常外部通信レコードが異常外部通信DB154に記憶された例を示す図である。送信元IPアドレス801は、異常外部通信を開始した内部端末のIPアドレスを、宛先IPアドレス802は、異常外部通信の通信先である外部端末のIPアドレスを、プロトコル803は、異常外部通信で用いられるプロトコルを、宛先ポート804は異常外部通信の通信先の外部端末の待ち受けポート番号を、収得時刻805は、異常外部通信の通信開始パケットを取得した時刻を示す。
【0053】
図4に戻り、不審端末検知部122について説明する。不審端末検知部122は、一定時間(例えば60秒)ごとに異常外部通信DB154にアクセスして、取得時刻805が現在時刻よりも所定時間(例えば3600秒)以上過去のものである異常外部通信レコードを、異常外部通信DB154から削除する。次に、不審端末検知部122は、不審端末DB155内の全レコードを削除する。次に、不審端末検知部122は、異常外部通信DB154中のレコードの各送信元アドレス801の出現回数を計数して、出現回数が所定回数(例えば2回)以上である場合、当該送信元アドレス801はマルウェア感染端末である可能性があると判断して、当該送信元アドレス801とその出現回数を不審端末レコードとして不審端末DB155に記憶する。例えば、図8の例では、192.168.10.1は2回、192.168.10.2は3回、192.168.10.3は3回、出現しており、所定回数が2回である場合、192.168.10.1、192.168.10.2、192.168.10.3は何れも不審端末と判断され、不審端末DB155に記録される。
【0054】
図9は、不審端末レコードが、不審端末DB155に記憶された例を示す図である。不審端末IPアドレス901は、異常外部通信DB154中で出現回数が所定回数以上であった送信元アドレス801であり、出現回数902は、不審端末IPアドレス901の出現回数である。
【0055】
図4に戻り、感染活動検知部123について説明する。感染活動検知部123は、一定時間(例えば60秒)ごとに異常内部通信DB153にアクセスして、取得時刻605が現在時刻よりも所定時間(例えば3600秒)以上過去のものである異常外部通信レコードを、異常内部通信DB153から削除する。
【0056】
次に、感染活動検知部123は、異常内部通信DB153中の異常内部通信レコードのうち、送信元IPアドレス601と宛先IPアドレス602が共に、不審端末DB155の不審端末IPアドレス901に含まれるレコード数を計数する。そして、計数された値が、所定の閾値(例えば3)以上になった場合に、内部ネットワーク200にマルウェア感染端末が存在すると判断する。一方、計測された数が、閾値未満である場合は、内部ネットワーク200にマルウェア感染端末は存在しないと判断する。
【0057】
マルウェア検出システム10で行われる処理について説明する。図10〜図12は、マルウェア検出システム10が上述した各種の処理を行う場合の処理手順を示すフローチャートである。
【0058】
図10は、通信取得部121における処理のフローチャートである。通信処理部121は、ネットワーク装置220、ネットワーク装置230を介して、内部ネットワーク210内の内部端末が送受信するパケットを取得する(S1001)。次に、取得したパケットが通信開始パケットでは無い場合は、処理を終了する(S1002:NO)。一方、取得したパケットが通信開始パケットである場合(S1002:YES)、パケットの送信元IPアドレスが内部ネットワーク200内の内部端末のものではない場合は処理を終了し(S1003:NO)、送信元IPアドレスが内部ネットワーク200のものである場合は処理を継続する(S1003:YES)。
【0059】
次に、パケットの宛先IPアドレスが内部ネットワーク200内の内部端末のIPアドレスであるかどうかを判定する(S1004)。
【0060】
宛先IPアドレスが内部端末のIPアドレスである場合(S1004:YES)、取得パケットの4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)タプルと同一のタプルを持つ通常内部通信レコードが通常内部通信DB151に存在するかどうかを判定する(S1005)。レコードが存在する場合、処理は終了する(S1005:YES)。レコードが存在しない場合(S1005:NO)、取得パケットのタプルと取得時刻を、異常内部通信レコードとして、異常内部通信DB153に記録して、処理を終了する。尚、取得パケットのタプルと一致する既レコードが異常内部通信DB153に既に存在する場合は、既レコードを削除した後で、パケットのタプルと取得時刻を記録する(S1006)。
【0061】
宛先IPアドレスが外部端末のIPアドレスである場合(S1004:NO)、取得パケットの4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)タプルと同一のタプルを持つ通常外部通信レコードが通常外部通信DB152に存在するかどうかを判定する(S1007)。レコードが存在する場合、処理は終了する(S1007:YES)。レコードが存在しない場合(S1007:NO)、取得パケットのタプルと取得時刻を、異常外部通信レコードとして、異常外部通信DB154に記録して、処理を終了する。尚、取得パケットのタプルと一致する既レコードが異常外部通信DB154に既に存在する場合は、既レコードを削除した後で、パケットのタプルと取得時刻を記録する(S1008)。
【0062】
図11は、不審端末検知部122が、一定時間ごとに実行する処理のフローチャートである。不審端末検知部122は、異常外部通信DB154内の異常外部通信レコードのうち、取得時刻805が、現在時刻よりも所定時間以上過去であるものを削除する(S1101)。次に、不審端末DB154中の全てのレコードを削除する(S1102)。次に、異常外部通信DB154中で、送信元IPアドレス801を含む異常外部通信レコード数を計数して、不審端末DB155に記録する(S1103)。
【0063】
図12は、感染活動検知部123が、一定時間ごとに実行する処理のフローチャートである。感染活動検知部123は、異常内部通信DB153内の異常内部通信レコードのうち、取得時刻705が、現在時刻よりも所定時間以上過去であるものを削除する(S1201)。次に、計数用の変数であるcounterを0に初期化する(S1202)。次に、異常内部通信DB153から異常内部通信レコードを1つ読み込む(S1203)。読み込んだ異常内部通信レコードの送信元IPアドレス701と宛先IPアドレス702が、共に不審端末DB155内に不審端末IPアドレス901として存在する場合(S1204:YES)、変数counterの値を+1とする(S1205)。次に、異常内部通信DB153内の全てのレコードの読み込みが終わったかどうかを判定する(S1206).読み込みがまだ終わっていないレコードがある場合(S1206:NO)、ステップS1203に戻る。一方、全てのレコードの読み込みが終わった場合(S1206:YES)、変数counterの値が所定の閾値以上であるかどうかを判定する(S1207)。変数counterの値が閾値以上である場合(S1207:YES)、内部ネットワーク200内にマルウェアが存在すると判断し、その旨を入出力装置140に出力する(S1208)。変数counterの値が閾値未満である場合(S1207:NO)、内部ネットワーク200内にマルウェアは存在しないと判断し、その旨を入出力装置140に出力する(S1209)。
【0064】
本実施形態によれば、異常外部通信を一定期間内に所定回数以上行なう内部端末である不審端末間の、異常内部通信数を計数することで、対象ネットワーク内にマルウェア感染端末が存在するか否かを判定することが可能になる。
【0065】
本実施形態の一部を変更して、次のように変形してもよい。
【0066】
第一に、不審端末数に対する不審端末間の異常内部通信数の比率が所定の閾値以上となった場合に、内部ネットワーク200内にマルウェアが存在すると判定してもよい。この変形例では、不審端末数が少ない場合でも、異常内部通信数が相対的に多ければ検知が可能になる。
【0067】
第二に、端末を特定するにあたって、端末のIPアドレスの代わりに、端末のホスト名を用いてもよい。この変形例では、端末のIPアドレスが頻繁に変わる場合に対応できる。
【0068】
第三に、通信は、送信元IPアドレスと、宛先IPアドレス、プロトコルから構成される3タプルで識別してもよい。この変形例では、内部端末間で宛先ポートが不定である通常内部通信が行われる場合や、内部端末・外部端末間で宛先ポートが不定である通常外部通信が行われる場合に、全ての宛先ポートに対応した通常内部通信レコード、通常外部通信レコードを記述する必要がない。
【0069】
第四に、通信は、送信元IPアドレスと、宛先IPアドレスから構成される2タプルで識別してもよい。この変形例では、内部端末間で宛先ポートとプロトコルが不定である通常内部通信が行われる場合や、内部端末・外部端末間で宛先ポートとプロトコルが不定である通常外部通信が行われる場合に、全ての宛先ポートとプロトコルに対応した通常内部通信レコード、通常外部通信レコードを記述する必要がない。第三、第四の変形例は、通信を特定するための通信情報が、4タプルでなくても、送信端末と受信端末とを識別できる情報があれば良いことを示している。すなわち、ある内部端末の通信情報は、少なくともその内部端末と送受信相手の端末(内部端末または外部端末)とを識別できればよい。
【0070】
第五に、内部端末を不審端末と判断するための閾値は、内部端末ごとに異なっていてもよい。この変形では、内部端末の特性に応じた閾値を設定可能である。
【符号の説明】
【0071】
10…マルウェア検出システム、100…検出装置、110…本体装置、120…CPU、121…通信取得部、122…不審端末検知部、123…感染活動検知部、130…メモリ、131…マルウェア検出プログラム、140…入出力装置、150…外部記憶装置、151…通常内部通信DB、152…通常外部通信DB、153…異常内部通信DB、154…異常外部通信DB、155…不審端末DB,160…IF、170…バス、200…内部ネットワーク、210、220、230…ネットワーク接続装置、240、250、260、270…内部端末、300…外部ネットワーク、310、320…外部端末。
【技術分野】
【0001】
本発明は、マルウェア検出技術に関し、特に、ネットワーク上の通信トラヒックを分析することで、ネットワーク中にマルウェアに感染している端末が存在することを検出する技術に関する。
【背景技術】
【0002】
マルウェアは、コンピュータプログラムの一種であり、コンピュータ端末内で実行されるとファイルの削除や情報漏洩といった、ユーザにとって有害な活動を行うものである。マルウェアが実行されている端末を、一般にマルウェア感染端末と呼ぶ。今日では、日々数千から数万の新種のマルウェアが出現しており、マルウェア対策の確立が大きな社会問題となっている。
【0003】
マルウェアによる他端末との通信は、攻撃者からの指令の受信や新たなプログラムの取得、感染端末間の情報交換、あるいは他端末への攻撃を行う際に発生する。攻撃には、攻撃対象の端末の制御を奪ってマルウェア感染端末にするものや、大量のデータを送信して攻撃対象の端末の処理性能を低下させるものがある。
【0004】
これらの動きを受け、ネットワーク上の通信トラヒックを解析することで、マルウェア感染端末を検出しようとする試みがなされている。例えば、特許文献1には、所定の台数以上の端末からIP(Internet Protocol)パケットを取得する端末を、マルウェアの指令端末の候補として検出し、指令端末の候補及び所定の台数以上の端末に対してIPパケットを送信する端末を、マルウェア感染端末として検出する技術が開示されている。
【0005】
また、非特許文献1には、マルウェア感染端末が、非感染時には通信を行わなかったインターネット上の端末への通信が増加することに着目して、通常時に通信を行わない端末への通信数が所定回数を超える端末を、マルウェア感染端末として検出する技術が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−110270号公報
【非特許文献】
【0007】
【非特許文献1】“A User Habit Based Approach to Detect and Quarantine Worms, Proceedings of the IEEE Int’l Conference on Communications 2006”.
【発明の概要】
【発明が解決しようとする課題】
【0008】
企業や公共機関などの組織単位で管理されるネットワークでは、マルウェア感染端末を早期に検出する必要がある。しかしながら、特許文献1に開示された技術では指令端末が複数あり、、マルウェア感染端末によって通信を行う指令端末が各々異なる場合、各指令端末が所定の台数以上の端末からIPパケットを取得することが少なく、指令端末の候補を検出することができず、マルウェア感染端末を検出できない。また、検出する基準としての所定の台数の値を小さくすると誤検出の可能性が高まる。
【0009】
また、非特許文献1に開示された技術では、新規コンピュータプログラムの導入などにより、これまでに通信を行ったことが無い端末と通信を行うようになった端末を、マルウェア感染端末として誤検出する可能性がある。
【課題を解決するための手段】
【0010】
開示するマルウェア検出方法及びマルウェア検出装置は、次のような構成を有する。(1)内部ネットワークに接続する内部端末と内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、(2)内部端末と内部ネットワークに接続する外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶装置に記憶する。内部ネットワークに接続するネットワーク接続装置から、内部ネットワークに接続する内部端末の通信情報を取得して、記憶されている通常内部通信および通常外部通信を参照して、取得した通信情報から、(3)内部端末と内部ネットワークに接続する他の内部端末との間に既定されない、通常内部通信以外の通信である異常内部通信、および、(4)内部端末と外部ネットワークに接続する外部端末との間に既定されない、通常外部通信以外の通信である異常外部通信とを取得して記憶装置に記憶する。記憶装置に記憶した異常外部通信を所定期間内に行った回数に基いて、内部端末が不審端末であることを検知する。不審端末と他の不審端末との間の、記憶した異常内部通信が所定期間内に発生した回数に基いて、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【0011】
望ましい他の態様は、既定された通信とは、内部端末が所定の業務処理を実行するために必要な通信である。
【0012】
望ましいさらに他の態様は、通信情報は、少なくとも内部端末と内部端末の送受信相手である他の内部端末および外部端末の一つとを識別する識別情報である。
【0013】
望ましいさらに他の態様は、識別情報は、内部端末並びに他の内部端末および外部端末の一つの、IPアドレスおよびホスト名の一方である。
【0014】
望ましいさらに他の態様は、内部端末が異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、内部端末を不審端末として検知する。
【0015】
望ましいさらに他の態様は、不審端末が異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、内部ネットワーク内にマルウェアに感染した内部端末が存在すると検知する。
【0016】
望ましいさらに他の態様は、不審端末と他の不審端末とを含む不審端末の数に対する、記憶した異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、内部ネットワーク内にマルウェアに感染した端末が存在すると検知する。
【発明の効果】
【0017】
本発明によれば、ネットワークにマルウェア端末が存在することを検出できる。
【図面の簡単な説明】
【0018】
【図1】本実施形態にかかるマルウェア検出システムの構成を示す図である。
【図2】マルウェア検出の手順を説明する図である。
【図3】検出装置の主要な物理構成を示す図である。
【図4】検出装置の機能的な構成、および物理的な各装置との関係を示す図である。
【図5】通常内部通信DB内のレコードの例を示す図である。
【図6】異常内部通信DB内のレコードの例を示す図である。
【図7】通常外部通信DB内のレコードの例を示す図である。
【図8】異常外部通信DB内のレコードの例を示す図である。
【図9】不審端末DB内のレコードの例を示す図である。
【図10】通信取得部における処理のフローチャートである。
【図11】不審端末検知部における処理のフローチャートである。
【図12】感染活動検知部における処理のフローチャートである。
【発明を実施するための形態】
【0019】
本実施形態として開示するマルウェア検出方法及びマルウェア検出装置は、マルウェアに感染した端末(マルウェア感染端末)が、他の感染端末との情報交換、攻撃者からの指令の受信、他端末への攻撃などを行うために、通常時には通信を行わない自ネットワーク内の他端末及び自ネットワーク外(外部ネットワーク)の他端末と通信を行うようになるという性質を用いる。たとえば、通常時は、各端末は、自ネットワーク内のサーバや特定の端末、他のネットワークに接続する特定のサーバとの通信に留まり、マルウェアに感染すると、このような通常時の通信とは異なる端末との通信を行うようになるという性質である。マルウェアの感染に関しては、サーバと端末を区別する必要がないので、以下では、サーバも含めて端末と呼ぶ。
【0020】
このような性質を利用したマルウェア検出方法及びマルウェア検出装置は、次のような構成を有する。外部ネットワークにネットワーク機器などを介して接続された対象ネットワーク(自ネットワーク)内にマルウェア感染端末が存在することを検出する検出装置及びその検出方法であって、対象ネットワーク内の端末(内部端末)のうち、通常時に通信を行わない外部ネットワーク上の他端末との通信を所定数以上行っている内部端末を列挙し、列挙された内部端末間で、通常時には行われない通信が所定数以上発生している場合に、対象ネットワーク内にマルウェア感染端末が存在しているとする。
【0021】
以下に添付図面を参照して、実施形態を詳細に説明する。説明では、情報処理装置、ホスト、端末を同義の用語として用いる。
【0022】
図1は、本実施形態にかかるマルウェア検出システム10の構成を示す図である。図1に示すように、マルウェア検出システム10は、検出装置100、内部ネットワーク200、ネットワーク接続装置210、220、230、内部端末240、250、260、270、外部ネットワーク300、外部端末310、320を含んで構成されている。なお、内部端末240と内部端末260との通信のように、ネットワーク接続装置210を介した通信であっても、通信する互いの端末が内部ネットワーク200に含まれる場合は内部通信とする。
【0023】
内部ネットワーク200は、LAN(Local Area Network)など、企業や公共機関などの組織単位で管理される比較的小規模のネットワークであり、ネットワーク接続装置220、230、内部端末240、250、260、270を含んでいる。なお、ネットワークそのものを示す場合と、ネットワークに接続する端末などの装置を含んだ構成を示す場合との両方の意味の用語として、ネットワークを用いる。
【0024】
外部ネットワーク300は、図示するように、内部ネットワーク200以外のネットワークであり、WAN(Wide Area Network)やインターネットなどである。
【0025】
検出装置100は、内部端末240、250、260、270を含む内部ネットワーク200中にマルウェア感染端末が存在する可能性が高いことを検出する。
【0026】
内部端末240、250、260、270は、ネットワーク接続装置220、230を介して、場合によって、前述のようにさらにネットワーク接続装置210を介して、通信を行うことが可能であり、またネットワーク接続装置210を介して、外部ネットワーク300の外部端末310、320と通信を行うことが可能である。通信は、TCP(Transfer Control Protocol)やUDP(User Datagram Packet)等の種々のプロトコルに従って行わる。各通信は、送信元IP(Internet Protocol)アドレス、宛先IPアドレス、宛先ポート、及びプロトコルの4つの情報(4タプル)により識別される。この4タプルが、通信を特定する通信情報である。
【0027】
ネットワーク接続装置210は、内部ネットワーク200と外部ネットワーク300を接続する装置である。
【0028】
ネットワーク接続装置220は、内部端末240、内部端末250とネットワーク装置210を接続する装置である。ネットワーク接続装置220は、内部端末240と内部端末250間の通信、及び、内部端末240、内部端末250と、外部ネットワーク300内の外部端末との間の通信中のIPパケットを検出装置100に分配する機能を有する。
【0029】
ネットワーク装置230は、内部端末260、内部端末270とネットワーク装置210を接続する装置である。ネットワーク装置230は、内部端末260と内部端末270間の通信、及び、内部端末260、内部端末270と、外部ネットワーク300内の外部端末との間の通信中のIPパケットを検出装置100に分配する機能を有する。
【0030】
検出装置100は、ネットワーク接続装置220、ネットワーク接続装置230から、内部ネットワーク200内の内部端末間の通信(内部通信)と、内部端末と外部ネットワーク300内の外部端末との通信(外部通信)中のIPパケットを取得する。
【0031】
図2を用いて、検出装置100によるマルウェア検出の手順を説明する。検出装置100は、内部通信を通常内部通信と異常内部通信に分類する。通常内部通信は、内部ネットワーク200内でマルウェアが発生していない場合に行われる内部通信であり、検出装置100に記憶されているルールなどで規定される。異常内部通信は、通常内部通信以外の通信である。図2では、内部端末240を送信元IPアドレス、内部端末260を宛先IPアドレスとする内部通信を通常内部通信1、内部端末260を送信元IPアドレス、内部端末240を宛先IPアドレスとする通信を異常内部通信1としている。
【0032】
また、検出装置100は、外部通信を通常外部通信と異常外部通信に分類する。通常外部通信は、内部ネットワーク200内でマルウェアが発生していない場合に行われる外部通信であり、検出装置100に記憶されているルールなどで規定される。異常外部通信は、通常外部通信以外の通信である。図2では、内部端末240を送信元IPアドレス、外部端末310を宛先IPアドレスとする外部通信を通常外部通信1、内部端末260を送信元IPアドレス、外部端末320を宛先IPアドレスとする外部通信を通常外部通信2、内部端末240を送信元IPアドレス、外部端末320を宛先IPアドレスとする外部通信を異常外部通信1、内部端末260を送信元IPアドレス、外部端末320を宛先IPアドレスとする外部通信を、異常外部通信2としている。
【0033】
検出装置100は、通常内部通信や通常外部通信を規定するルールを、内部ネットワーク200の各端末が所定の業務処理を実行するために必要な通信として予め定めておいても良いし、所定の業務処理を実行するために、ある期間に発生する通信を学習して記憶しても良い。またルールとしては、4タプルを記憶しても良いし、4タプルに含まれるIPアドレスを、各端末に不変のホスト名に代えた変形させた4タプルを記憶しても良い。
【0034】
検出装置100は、異常外部通信を所定時間内に所定回数以上行っている内部端末間で、異常内部通信が所定回数以上行われている場合に、内部ネットワーク200内でマルウェアが発生していると判断する。図2では、異常外部通信1,異常外部通信2、異常内部通信1が行われているため、所定回数が1である場合、異常外部通信を1回行っている内部端末240と内部端末260の間で異常内部通信1が発生しているため、内部ネットワーク200内にマルウェアが発生していると判断する。
【0035】
この判断基準は、次のような理由による。内部ネットワーク200内の端末へのマルウェアの最初の感染は、何らかの機会の外部通信が原因となる。最初にマルウェアに感染した内部端末は、感染を広めるために他の外部端末や内部端末との通信を実行する。このマルウェアの感染を広めるための通信は、通常通信と判別してしまう通信もあり得るが、検出装置100がルールとして通常内部通信または通常外部通信と記憶してる通信ではない、異常内部通信または異常外部通信として検出できる。
【0036】
図3は、検出装置100の主要な物理的な構成を示す図である。図3に示すように、検出装置100は、物理的には、本体装置110と入出力装置140とを含んで構成されている。入出力装置140は、ディスプレイ等の表示装置とキーボード等の入力装置を含んで構成され、利用者からの検出装置100への指示(例えば、検出装置100の起動指示)の入力を受け付けたり、あるいは後述する本体装置110のCPU(Central Processing Unit)120が処理を行った結果等を表示する。
【0037】
なお、入出力装置140の入力装置と出力装置とは、実際には別個の場合もあるが、これらの各装置が行う処理は主要な部分ではないため、これらをまとめて入出力装置140として示している。また、以下の説明では、CPU120が処理を行った結果等を入出力装置140に表示する前提で説明しているが、例えば内部端末等、内部ネットワーク200により接続された他の装置等に表示させるようにしてもよい。
【0038】
本体装置110は、CPU120とメモリ130と記憶装置150とインタフェース160と、これらを接続するバス170とを含んで構成されている。
【0039】
CPU120は、内部ネットワーク200内にマルウェア感染端末が存在することを検出するマルウェア検出プログラム131の実行や、検出装置100に含まれる各装置の動作を制御する。なおCPU120は、時計を掲示するクロックを備えている。
【0040】
メモリ130は、RAM(Random Access Memory)およびROM(Read Only Memory)等の記憶媒体から構成されている。ROMには、マルウェア検出プログラム131があらかじめ記憶されている。そして、このプログラム131がCPU120によって実行されることによって、マルウェアを検出する。CPU120が実行する具体的な処理については後述する。
【0041】
記憶装置150は、HDD(Hard Disk Drive)等から構成され、通常内部通信DB151と通常外部通信DB152と異常内部通信DB153と異常外部通信DB154と不審端末DB155とを含んでいる。これらのDBの具体的な内容については後述する。
【0042】
インタフェース160は、NIC(Network Interface Card)等であり、ネットワーク接続装置220、ネットワーク接続装置230との通信インタフェースである。
【0043】
図4は、図3に示した検出装置100の機能的な構成、および物理的な各装置との関係を示す図である。図4に示すように、CPU120は、通信取得部121と不審端末検知部122と感染活動検知部123の処理を含むマルウェア検出プログラム131を実行する。
【0044】
通信取得部121は、ネットワーク接続装置200から、内部通信と外部通信を取得し、通信が異常内部通信であるなら異常内部通信DBに記憶し、通信が異常外部通信であるなら異常外部通信DBに出力する。なお、取得や記憶の対象の通信は、前述の4タプルによって特定される。
【0045】
より具体的には、通信取得部121は、ネットワーク接続装置220、ネットワーク接続装置230からパケットを受け取ると、パケットが通信開始パケットであるかどうかをパケットヘッダ情報から判断する。判断基準はパケットのプロトコルに依存する。例えば、TCPパケットであれば、TCPヘッダのSYNフラグがONであり、ACKフラグがOFFであるパケットが通信開始パケットである。パケットが通信開始パケットではない場合は、処理は終了する。
【0046】
次に、通信取得部121は、取得したパケットの送信元IPアドレスが内部ネットワーク200内の内部端末ではない場合、パケットを破棄して処理を終了する。通信取得部121は、検出装置100に記憶されている、内部ネットワーク200内の内部端末のIPアドレスのリストを参照して、送信元IPアドレスがリストに含まれるかどうかを判定する。
【0047】
次に、通信取得部121は、取得パケットの送信元IPアドレスと宛先アドレスが共に内部ネットワーク200に含まれる内部端末である場合、通常内部通信DB151を参照して、パケットの4タプルと一致する通常内部通信レコード(通常内部通信の4タプルを記憶するレコード)が存在するかどうかを判定する。レコードが存在しない場合、取得パケットは異常内部通信であると判断し、パケットの4タプルとパケット収得時刻を含む、異常内部通信レコードを作成する。異常内部通信DB153に、作成した異常内部通信レコードと4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)が一致するレコードが存在しない場合、作成したレコードを異常内部通信DB153に記憶する。一方、異常内部通信DB153に、4タプルが一致するレコードが存在する場合、当該レコードを削除した上で、作成したレコードを異常内部通信DB153に記憶する。レコードの削除及び作成したレコードの記憶は、4タプルが一致するレコードのパケット収得時刻の更新に相当する。
【0048】
図5は、前述の通常内部通信を規定したルールを示す通常内部通信レコードが、通常内部通信DB151に記憶された例を示す図である。送信元IPアドレス501は、通常内部通信の内部端末のIPアドレスを、宛先IPアドレス502は、通常内部通信の通信先である内部端末のIPアドレスを、プロトコル503は、通常内部通信で用いられるプロトコルを、宛先ポート504は通常内部通信の通信先の内部端末の待ち受けポート番号を示す。図5の例では、送信元IPアドレス501が192.168.10.1から192.168.10.4であり、宛先IPアドレス502が192.168.10.5であり、プロトコル503がTCPであり、宛先ポート504が80である通信、及び、送信元IPアドレス501が192.168.10.1から192.168.10.4であり、宛先IPアドレス502が192.168.10.10であり、プロトコル503がTCPであり、宛先ポート504が25である通信を、通常内部通信とする。通常内部通信DB151への通常内部通信レコードの登録は、前述のように内部ネットワーク200の管理者が予め行っても良いし、所定の期間の通常内部通信の学習結果として記憶しても良い。
【0049】
図6は、異常内部通信レコードが異常内部通信DB153に記憶された例を示す図である。送信元IPアドレス601は、異常内部通信を開始した内部端末のIPアドレスを、宛先IPアドレス602は、異常内部通信の通信先である内部端末のIPアドレスを、プロトコル603は、硫黄内部通信で用いられるプロトコルを、宛先ポート604は異常内部通信の通信先の内部端末の待ち受けポート番号を、収得時刻705は、異常内部通信の通信開始パケットを取得した時刻を示す。
【0050】
図4に戻り、通信取得部121について説明する。通信取得部121は、取得パケットの宛先IPアドレスが外部ネットワーク300に含まれる外部端末である場合、通常外部通信DB152を参照して、パケットの4タプルと一致する通常外部通信レコードが存在するかどうかを判定する。レコードが存在しない場合、取得パケットは異常外部通信であると判断し、パケットの4タプルとパケット収得時刻を、異常外部通信レコードを作成する。異常外部通信DB154に、作成した異常外部通信レコードと4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)が一致するレコードが存在しない場合、作成したレコードを異常外部通信DB154に記憶する。一方、異常外部通信DB154に、4タプルが一致するレコードが存在する場合、当該レコードを削除した上で、作成したレコードを異常外部通信DB154に記憶する。
【0051】
図7は、前述の通常外部通信を規定したルールを示す通常外部通信レコードが通常外部通信DB152に記憶された例を示す図である。送信元IPアドレス701は、通常外部通信の内部端末のIPアドレスを、宛先IPアドレス702は、通常外部通信の通信先である外部端末のIPアドレスを、プロトコル703は、通常外部通信で用いられるプロトコルを、宛先ポート704は通常外部通信の通信先の外部端末の待ち受けポート番号を示す。図7の例では、送信元IPアドレス701が192.168.10.1から192.168.10.4であり、宛先IPアドレス502が10.0.0.5または10.0.0.10であり、プロトコル703がTCPであり、宛先ポート704が80である通信を、通常外部通信とする。通常外部通信DB152への通常外部通信レコードの登録は、内部ネットワーク200の管理者が予め行っても良いし、所定の期間の通常外部通信の学習結果として記憶しても良い。
【0052】
図8は、異常外部通信レコードが異常外部通信DB154に記憶された例を示す図である。送信元IPアドレス801は、異常外部通信を開始した内部端末のIPアドレスを、宛先IPアドレス802は、異常外部通信の通信先である外部端末のIPアドレスを、プロトコル803は、異常外部通信で用いられるプロトコルを、宛先ポート804は異常外部通信の通信先の外部端末の待ち受けポート番号を、収得時刻805は、異常外部通信の通信開始パケットを取得した時刻を示す。
【0053】
図4に戻り、不審端末検知部122について説明する。不審端末検知部122は、一定時間(例えば60秒)ごとに異常外部通信DB154にアクセスして、取得時刻805が現在時刻よりも所定時間(例えば3600秒)以上過去のものである異常外部通信レコードを、異常外部通信DB154から削除する。次に、不審端末検知部122は、不審端末DB155内の全レコードを削除する。次に、不審端末検知部122は、異常外部通信DB154中のレコードの各送信元アドレス801の出現回数を計数して、出現回数が所定回数(例えば2回)以上である場合、当該送信元アドレス801はマルウェア感染端末である可能性があると判断して、当該送信元アドレス801とその出現回数を不審端末レコードとして不審端末DB155に記憶する。例えば、図8の例では、192.168.10.1は2回、192.168.10.2は3回、192.168.10.3は3回、出現しており、所定回数が2回である場合、192.168.10.1、192.168.10.2、192.168.10.3は何れも不審端末と判断され、不審端末DB155に記録される。
【0054】
図9は、不審端末レコードが、不審端末DB155に記憶された例を示す図である。不審端末IPアドレス901は、異常外部通信DB154中で出現回数が所定回数以上であった送信元アドレス801であり、出現回数902は、不審端末IPアドレス901の出現回数である。
【0055】
図4に戻り、感染活動検知部123について説明する。感染活動検知部123は、一定時間(例えば60秒)ごとに異常内部通信DB153にアクセスして、取得時刻605が現在時刻よりも所定時間(例えば3600秒)以上過去のものである異常外部通信レコードを、異常内部通信DB153から削除する。
【0056】
次に、感染活動検知部123は、異常内部通信DB153中の異常内部通信レコードのうち、送信元IPアドレス601と宛先IPアドレス602が共に、不審端末DB155の不審端末IPアドレス901に含まれるレコード数を計数する。そして、計数された値が、所定の閾値(例えば3)以上になった場合に、内部ネットワーク200にマルウェア感染端末が存在すると判断する。一方、計測された数が、閾値未満である場合は、内部ネットワーク200にマルウェア感染端末は存在しないと判断する。
【0057】
マルウェア検出システム10で行われる処理について説明する。図10〜図12は、マルウェア検出システム10が上述した各種の処理を行う場合の処理手順を示すフローチャートである。
【0058】
図10は、通信取得部121における処理のフローチャートである。通信処理部121は、ネットワーク装置220、ネットワーク装置230を介して、内部ネットワーク210内の内部端末が送受信するパケットを取得する(S1001)。次に、取得したパケットが通信開始パケットでは無い場合は、処理を終了する(S1002:NO)。一方、取得したパケットが通信開始パケットである場合(S1002:YES)、パケットの送信元IPアドレスが内部ネットワーク200内の内部端末のものではない場合は処理を終了し(S1003:NO)、送信元IPアドレスが内部ネットワーク200のものである場合は処理を継続する(S1003:YES)。
【0059】
次に、パケットの宛先IPアドレスが内部ネットワーク200内の内部端末のIPアドレスであるかどうかを判定する(S1004)。
【0060】
宛先IPアドレスが内部端末のIPアドレスである場合(S1004:YES)、取得パケットの4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)タプルと同一のタプルを持つ通常内部通信レコードが通常内部通信DB151に存在するかどうかを判定する(S1005)。レコードが存在する場合、処理は終了する(S1005:YES)。レコードが存在しない場合(S1005:NO)、取得パケットのタプルと取得時刻を、異常内部通信レコードとして、異常内部通信DB153に記録して、処理を終了する。尚、取得パケットのタプルと一致する既レコードが異常内部通信DB153に既に存在する場合は、既レコードを削除した後で、パケットのタプルと取得時刻を記録する(S1006)。
【0061】
宛先IPアドレスが外部端末のIPアドレスである場合(S1004:NO)、取得パケットの4タプル(送信元IPアドレス、宛先IPアドレス、プロトコル、宛先ポート)タプルと同一のタプルを持つ通常外部通信レコードが通常外部通信DB152に存在するかどうかを判定する(S1007)。レコードが存在する場合、処理は終了する(S1007:YES)。レコードが存在しない場合(S1007:NO)、取得パケットのタプルと取得時刻を、異常外部通信レコードとして、異常外部通信DB154に記録して、処理を終了する。尚、取得パケットのタプルと一致する既レコードが異常外部通信DB154に既に存在する場合は、既レコードを削除した後で、パケットのタプルと取得時刻を記録する(S1008)。
【0062】
図11は、不審端末検知部122が、一定時間ごとに実行する処理のフローチャートである。不審端末検知部122は、異常外部通信DB154内の異常外部通信レコードのうち、取得時刻805が、現在時刻よりも所定時間以上過去であるものを削除する(S1101)。次に、不審端末DB154中の全てのレコードを削除する(S1102)。次に、異常外部通信DB154中で、送信元IPアドレス801を含む異常外部通信レコード数を計数して、不審端末DB155に記録する(S1103)。
【0063】
図12は、感染活動検知部123が、一定時間ごとに実行する処理のフローチャートである。感染活動検知部123は、異常内部通信DB153内の異常内部通信レコードのうち、取得時刻705が、現在時刻よりも所定時間以上過去であるものを削除する(S1201)。次に、計数用の変数であるcounterを0に初期化する(S1202)。次に、異常内部通信DB153から異常内部通信レコードを1つ読み込む(S1203)。読み込んだ異常内部通信レコードの送信元IPアドレス701と宛先IPアドレス702が、共に不審端末DB155内に不審端末IPアドレス901として存在する場合(S1204:YES)、変数counterの値を+1とする(S1205)。次に、異常内部通信DB153内の全てのレコードの読み込みが終わったかどうかを判定する(S1206).読み込みがまだ終わっていないレコードがある場合(S1206:NO)、ステップS1203に戻る。一方、全てのレコードの読み込みが終わった場合(S1206:YES)、変数counterの値が所定の閾値以上であるかどうかを判定する(S1207)。変数counterの値が閾値以上である場合(S1207:YES)、内部ネットワーク200内にマルウェアが存在すると判断し、その旨を入出力装置140に出力する(S1208)。変数counterの値が閾値未満である場合(S1207:NO)、内部ネットワーク200内にマルウェアは存在しないと判断し、その旨を入出力装置140に出力する(S1209)。
【0064】
本実施形態によれば、異常外部通信を一定期間内に所定回数以上行なう内部端末である不審端末間の、異常内部通信数を計数することで、対象ネットワーク内にマルウェア感染端末が存在するか否かを判定することが可能になる。
【0065】
本実施形態の一部を変更して、次のように変形してもよい。
【0066】
第一に、不審端末数に対する不審端末間の異常内部通信数の比率が所定の閾値以上となった場合に、内部ネットワーク200内にマルウェアが存在すると判定してもよい。この変形例では、不審端末数が少ない場合でも、異常内部通信数が相対的に多ければ検知が可能になる。
【0067】
第二に、端末を特定するにあたって、端末のIPアドレスの代わりに、端末のホスト名を用いてもよい。この変形例では、端末のIPアドレスが頻繁に変わる場合に対応できる。
【0068】
第三に、通信は、送信元IPアドレスと、宛先IPアドレス、プロトコルから構成される3タプルで識別してもよい。この変形例では、内部端末間で宛先ポートが不定である通常内部通信が行われる場合や、内部端末・外部端末間で宛先ポートが不定である通常外部通信が行われる場合に、全ての宛先ポートに対応した通常内部通信レコード、通常外部通信レコードを記述する必要がない。
【0069】
第四に、通信は、送信元IPアドレスと、宛先IPアドレスから構成される2タプルで識別してもよい。この変形例では、内部端末間で宛先ポートとプロトコルが不定である通常内部通信が行われる場合や、内部端末・外部端末間で宛先ポートとプロトコルが不定である通常外部通信が行われる場合に、全ての宛先ポートとプロトコルに対応した通常内部通信レコード、通常外部通信レコードを記述する必要がない。第三、第四の変形例は、通信を特定するための通信情報が、4タプルでなくても、送信端末と受信端末とを識別できる情報があれば良いことを示している。すなわち、ある内部端末の通信情報は、少なくともその内部端末と送受信相手の端末(内部端末または外部端末)とを識別できればよい。
【0070】
第五に、内部端末を不審端末と判断するための閾値は、内部端末ごとに異なっていてもよい。この変形では、内部端末の特性に応じた閾値を設定可能である。
【符号の説明】
【0071】
10…マルウェア検出システム、100…検出装置、110…本体装置、120…CPU、121…通信取得部、122…不審端末検知部、123…感染活動検知部、130…メモリ、131…マルウェア検出プログラム、140…入出力装置、150…外部記憶装置、151…通常内部通信DB、152…通常外部通信DB、153…異常内部通信DB、154…異常外部通信DB、155…不審端末DB,160…IF、170…バス、200…内部ネットワーク、210、220、230…ネットワーク接続装置、240、250、260、270…内部端末、300…外部ネットワーク、310、320…外部端末。
【特許請求の範囲】
【請求項1】
外部ネットワークと接続している内部ネットワークに接続されたネットワーク接続装置にさらに接続された検出装置におけるマルウェア検出方法であって、前記検出装置は、
(1)前記内部ネットワークに接続する内部端末と前記内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、(2)前記内部端末と前記外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶し、
前記ネットワーク接続装置から、前記内部ネットワークに接続する前記内部端末の通信情報を取得して、前記通常内部通信および前記通常外部通信を参照して、取得した前記通信情報から、(3)前記内部端末と前記内部ネットワークに接続する前記他の内部端末との間に既定されない、前記通常内部通信以外の通信である異常内部通信、および、(4)前記内部端末と前記外部ネットワークに接続する前記外部端末との間に既定されない、前記通常外部通信以外の通信である異常外部通信とを取得して記憶し、
記憶した前記異常外部通信を所定期間内に行った回数に基いて、前記内部端末が不審端末であることを検知し、
前記不審端末と他の不審端末との間の、記憶した前記異常内部通信が所定期間内に発生した回数に基いて、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とするマルウェア検出方法。
【請求項2】
前記既定された通信とは、前記内部端末が所定の業務処理を実行するために必要な通信であることを特徴とする請求項1に記載のマルウェア検出方法。
【請求項3】
前記通信情報は、少なくとも前記内部端末と前記内部端末の送受信相手である前記他の内部端末および前記外部端末の一つとを識別する識別情報であることを特徴とする請求項2に記載のマルウェア検出方法。
【請求項4】
前記識別情報は、前記内部端末並びに前記他の内部端末および前記外部端末の一つの、IPアドレスおよびホスト名の一方であることを特徴とする請求項3に記載のマルウェア検出方法。
【請求項5】
前記内部端末が前記異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部端末を前記不審端末として検知することを特徴とする請求項3に記載のマルウェア検出方法。
【請求項6】
前記不審端末が前記異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とする請求項3に記載のマルウェア検出方法。
【請求項7】
前記不審端末と前記他の不審端末とを含む不審端末の数に対する、記憶した前記異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した端末が存在すると検知することを特徴とする請求項3に記載のマルウェア検出方法。
【請求項8】
(1)内部ネットワークに接続する内部端末と前記内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、(2)前記内部端末と前記内部ネットワークに接続する外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶する記憶装置、
前記内部ネットワークに接続するネットワーク接続装置から、前記内部ネットワークに接続する前記内部端末の通信情報を取得して、記憶されている前記通常内部通信および前記通常外部通信を参照して、取得した前記通信情報から、(3)前記内部端末と前記内部ネットワークに接続する前記他の内部端末との間に既定されない、前記通常内部通信以外の通信である異常内部通信、および、(4)前記内部端末と前記外部ネットワークに接続する前記外部端末との間に既定されない、前記通常外部通信以外の通信である異常外部通信とを取得して前記記憶装置に記憶する通信取得部、
前記記憶装置に記憶した前記異常外部通信を所定期間内に行った回数に基いて、前記内部端末が不審端末であることを検知する不審端末検知部、並びに、
前記不審端末と他の不審端末との間の、記憶した前記異常内部通信が所定期間内に発生した回数に基いて、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知する感染活動検知部を有することを特徴とするマルウェア検出装置。
【請求項9】
前記既定された通信とは、前記内部端末が所定の業務処理を実行するために必要な通信であることを特徴とする請求項8に記載のマルウェア検出装置。
【請求項10】
前記通信情報は、少なくとも前記内部端末と前記内部端末の送受信相手である前記他の内部端末および前記外部端末の一つとを識別する識別情報であることを特徴とする請求項9に記載のマルウェア検出装置。
【請求項11】
前記識別情報は、前記内部端末並びに前記他の内部端末および前記外部端末の一つの、IPアドレスおよびホスト名の一方であることを特徴とする請求項10に記載のマルウェア検出方法。
【請求項12】
前記不審端末検知部は、前記内部端末が前記異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部端末を前記不審端末として検知することを特徴とする請求項10に記載のマルウェア検出装置。
【請求項13】
前記感染活動検知部は、前記不審端末が前記異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とする請求項10に記載のマルウェア検出装置。
【請求項14】
前記感染活動検知部は、前記不審端末と前記他の不審端末とを含む不審端末の数に対する、記憶した前記異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した端末が存在すると検知することを特徴とする請求項10に記載のマルウェア検出装置。
【請求項1】
外部ネットワークと接続している内部ネットワークに接続されたネットワーク接続装置にさらに接続された検出装置におけるマルウェア検出方法であって、前記検出装置は、
(1)前記内部ネットワークに接続する内部端末と前記内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、(2)前記内部端末と前記外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶し、
前記ネットワーク接続装置から、前記内部ネットワークに接続する前記内部端末の通信情報を取得して、前記通常内部通信および前記通常外部通信を参照して、取得した前記通信情報から、(3)前記内部端末と前記内部ネットワークに接続する前記他の内部端末との間に既定されない、前記通常内部通信以外の通信である異常内部通信、および、(4)前記内部端末と前記外部ネットワークに接続する前記外部端末との間に既定されない、前記通常外部通信以外の通信である異常外部通信とを取得して記憶し、
記憶した前記異常外部通信を所定期間内に行った回数に基いて、前記内部端末が不審端末であることを検知し、
前記不審端末と他の不審端末との間の、記憶した前記異常内部通信が所定期間内に発生した回数に基いて、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とするマルウェア検出方法。
【請求項2】
前記既定された通信とは、前記内部端末が所定の業務処理を実行するために必要な通信であることを特徴とする請求項1に記載のマルウェア検出方法。
【請求項3】
前記通信情報は、少なくとも前記内部端末と前記内部端末の送受信相手である前記他の内部端末および前記外部端末の一つとを識別する識別情報であることを特徴とする請求項2に記載のマルウェア検出方法。
【請求項4】
前記識別情報は、前記内部端末並びに前記他の内部端末および前記外部端末の一つの、IPアドレスおよびホスト名の一方であることを特徴とする請求項3に記載のマルウェア検出方法。
【請求項5】
前記内部端末が前記異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部端末を前記不審端末として検知することを特徴とする請求項3に記載のマルウェア検出方法。
【請求項6】
前記不審端末が前記異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とする請求項3に記載のマルウェア検出方法。
【請求項7】
前記不審端末と前記他の不審端末とを含む不審端末の数に対する、記憶した前記異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した端末が存在すると検知することを特徴とする請求項3に記載のマルウェア検出方法。
【請求項8】
(1)内部ネットワークに接続する内部端末と前記内部ネットワークに接続する他の内部端末との間に既定された通信である通常内部通信、および、(2)前記内部端末と前記内部ネットワークに接続する外部ネットワークに接続する外部端末との間に既定された通信である通常外部通信を予め記憶する記憶装置、
前記内部ネットワークに接続するネットワーク接続装置から、前記内部ネットワークに接続する前記内部端末の通信情報を取得して、記憶されている前記通常内部通信および前記通常外部通信を参照して、取得した前記通信情報から、(3)前記内部端末と前記内部ネットワークに接続する前記他の内部端末との間に既定されない、前記通常内部通信以外の通信である異常内部通信、および、(4)前記内部端末と前記外部ネットワークに接続する前記外部端末との間に既定されない、前記通常外部通信以外の通信である異常外部通信とを取得して前記記憶装置に記憶する通信取得部、
前記記憶装置に記憶した前記異常外部通信を所定期間内に行った回数に基いて、前記内部端末が不審端末であることを検知する不審端末検知部、並びに、
前記不審端末と他の不審端末との間の、記憶した前記異常内部通信が所定期間内に発生した回数に基いて、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知する感染活動検知部を有することを特徴とするマルウェア検出装置。
【請求項9】
前記既定された通信とは、前記内部端末が所定の業務処理を実行するために必要な通信であることを特徴とする請求項8に記載のマルウェア検出装置。
【請求項10】
前記通信情報は、少なくとも前記内部端末と前記内部端末の送受信相手である前記他の内部端末および前記外部端末の一つとを識別する識別情報であることを特徴とする請求項9に記載のマルウェア検出装置。
【請求項11】
前記識別情報は、前記内部端末並びに前記他の内部端末および前記外部端末の一つの、IPアドレスおよびホスト名の一方であることを特徴とする請求項10に記載のマルウェア検出方法。
【請求項12】
前記不審端末検知部は、前記内部端末が前記異常外部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部端末を前記不審端末として検知することを特徴とする請求項10に記載のマルウェア検出装置。
【請求項13】
前記感染活動検知部は、前記不審端末が前記異常内部通信を所定期間内に行った回数が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した前記内部端末が存在すると検知することを特徴とする請求項10に記載のマルウェア検出装置。
【請求項14】
前記感染活動検知部は、前記不審端末と前記他の不審端末とを含む不審端末の数に対する、記憶した前記異常内部通信が所定期間内に行われた回数の比率が予め定めた閾値以上であるとき、前記内部ネットワーク内にマルウェアに感染した端末が存在すると検知することを特徴とする請求項10に記載のマルウェア検出装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−84994(P2012−84994A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2010−227653(P2010−227653)
【出願日】平成22年10月7日(2010.10.7)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成22年度 独立行政法人情報通信研究機構「マルウェア対策ユーザサポートシステムの研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成22年10月7日(2010.10.7)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成22年度 独立行政法人情報通信研究機構「マルウェア対策ユーザサポートシステムの研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]