(57)【要約】【課題】悪意あるソフトウェアの活動を監視する通信監視システム、通信監視装置、及び通信制御装置の提供。【解決手段】シェルコードの検出処理を行い（Ｓ１１）、シェルコードが検出されたか否かを判断する（Ｓ１２）。シェルコードが検出された場合（Ｓ１２：ＹＥＳ）、シェルコードの送信元及び送信先を起点とする通信を一定時間記録し（Ｓ１３）、通信記録を基に隣接度マップを作成する（Ｓ１４）。次いで、発信源が同じ複数の攻撃事例を収集し（Ｓ１５）、複数の事例に出現するホストを列挙する（Ｓ１６）。そして、列挙されたホストを事例数で並べ替え（Ｓ１７）、上位のホストは攻撃に関与する虞が高いと判定する（Ｓ１８）。【選択図】図７
2008165601.tif 000002
【特許請求の範囲】
【請求項１】
通信網上に設けられた複数のノード間で送受信される通信データを監視する通信監視システムにおいて、
前記ノードのうち少なくとも２つのノードの間で送受信される通信データにシェルコードが含まれているか否かを検出する検出手段と、該検出手段がシェルコードを含んだ通信データを検出した場合、前記ノードを起点として所定時間の間に送信される通信データを記録する記録手段と、該記録手段が記録した通信データに係る情報を外部へ通知する通知手段とを備える第１通信監視装置、及び該第１通信監視装置からの通知を受信する受信手段と、受信した通知に基づいて前記ノード間における通信制御の要否を判断する判断手段とを備える第２通信監視装置を備えることを特徴とする通信監視システム。
【請求項２】
前記通信データに係る情報は、前記通信データの送信元に係る情報を含むことを特徴とする請求項１に記載の通信監視システム。
【請求項３】
前記第２通信監視装置は、前記ノード間における通信頻度を計数する手段を備え、計数した通信頻度が高い場合、前記ノード間の通信制御が必要であると判断するようにしてあることを特徴とする請求項１又は２に記載の通信監視システム。
【請求項４】
通信網上に設けられた複数のノードの間で送受信される通信データを監視する通信監視装置において、
前記ノードのうち少なくとも２つのノードの間で送受信される通信データにシェルコードが含まれているか否かを検出する検出手段と、該検出手段がシェルコードを含んだ通信データを検出した場合、前記ノードを起点として送信される通信データを所定時間だけ記録する記録手段とを備えることを特徴とする通信監視装置。
【請求項５】
通信網上で送受信される通信データに基づいて通信制御を行う通信制御装置において、
シェルコードを含んだ通信データの送信元及び送信先を起点とした通信に係る情報を外部から取得する手段と、取得した情報に基づいて前記送信元及び送信先間の通信制御の要否を判断する手段と、通信制御が必要であると判断した場合、前記送信元及び送信先間の通信制御を行う手段とを備えることを特徴とする通信制御装置。
【請求項６】
前記送信元及び送信先間における通信頻度を計数する手段を備え、計数した通信頻度が高い場合、前記送信元及び送信先間の通信制御が必要であると判断するようにしてあることを特徴とする請求項５に記載の通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、悪意あるソフトウェアの活動を監視する通信監視システム、通信監視装置、及び通信制御装置に関する。
【背景技術】
【０００２】
近年、ボットネットがインターネット上の深刻な脅威となっている（例えば、非特許文献１を参照）。ボットネットとは、攻撃者、指令サーバ、ボットに感染した多数のコンピュータで構成されるネットワークである。ボットとは、指令サーバと通信を行う有害プログラムであり、他のコンピュータへの感染機能、プログラムの更新機能を持ち、他のコンピュータへのＤｏＳ攻撃、スパムメール発信といった攻撃活動、キーロガーなどのスパイウェア機能による情報収集活動を行う。
【０００３】
ボットが用いる感染手段には、ＯＳ（Operating System）又はアプリケーションの脆弱性を利用するもの、他のウィルスが開くバックドアボードを利用するもの、パスワードの辞書攻撃といったものが存在する。脆弱性を攻撃する場合、攻撃者は感染対象とするコンピュータを限定し、局所的な攻撃を実行することが多い。また、感染した直後に自分自身のＩＰアドレスを基準に攻撃先を決定することもあり、この場合、プライベートアドレスを利用しているのであれば、そのセグメント内が攻撃対象となりうる。
【非特許文献１】日経パソコン、２００６年８月１４日号、６６−７５頁
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このようなボットは、パターンファイル（定義ファイル）を利用した従来のウィルス対策ソフトを用いて検出し、駆除することが非常に困難である。ウィルスやワームは、プログラムを解析することで動作や脅威を予測し、定義ファイルを作成することによって対策を行うことができるが、ボットネットは、人的な操作によって任意の活動を行うため、存在が潜在化するだけでなく、任意のタイミングで任意の活動を行うことが可能であり、検出自体が困難となっている。また、ボットのソースコードはインターネット上で大量に流通しているため、非常に多くの亜種が存在し、対策ソフトの定義ファイルの作成が間に合っていないのが現状である。
【０００５】
更に、ボットネットは、攻撃者に富をもたらす道具として使用されている。そのため、高度にメンテナンスされ、攻撃者にとってより経済価値を生むように進化している。したがって、ますます検出および駆除が困難になり被害が深刻化してゆく傾向にある。
【０００６】
本発明は斯かる事情に鑑みてなされたものであり、通信網上の２つのノード間で送受信される通信データにシェルコードが含まれているか否かを検出し、シェルコードを含んだ通信データを検出した場合、前記ノードを起点として所定時間の間に送信される通信データを監視して通信制御の要否を判断する構成とすることにより、感染活動の初期の通信を検出することが可能であり、それに引き続いて起こる悪意あるソフトウェアの活動を監視することができる通信監視システム、通信監視装置、及び通信制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１発明に係る通信監視システムは、通信網上に設けられた複数のノード間で送受信される通信データを監視する通信監視システムにおいて、前記ノードのうち少なくとも２つのノードの間で送受信される通信データにシェルコードが含まれているか否かを検出する検出手段と、該検出手段がシェルコードを含んだ通信データを検出した場合、前記ノードを起点として所定時間の間に送信される通信データを記録する記録手段と、該記録手段が記録した通信データに係る情報を外部へ通知する通知手段とを備える第１通信監視装置、及び該第１通信監視装置からの通知を受信する受信手段と、受信した通知に基づいて前記ノード間における通信制御の要否を判断する判断手段とを備える第２通信監視装置を備えることを特徴とする。
【０００８】
第２発明に係る通信監視システムは、前記通信データに係る情報は、前記通信データの送信元に係る情報を含むことを特徴とする。
【０００９】
第３発明に係る通信監視システムは、前記第２通信監視装置は、前記ノード間における通信頻度を計数する手段を備え、計数した通信頻度が高い場合、前記ノード間の通信制御が必要であると判断するようにしてあることを特徴とする。
【００１０】
第４発明に係る通信監視装置は、通信網上に設けられた複数のノードの間で送受信される通信データを監視する通信監視装置において、前記ノードのうち少なくとも２つのノードの間で送受信される通信データにシェルコードが含まれているか否かを検出する検出手段と、該検出手段がシェルコードを含んだ通信データを検出した場合、前記ノードを起点として送信される通信データを所定時間だけ記録する記録手段とを備えることを特徴とする。
【００１１】
第５発明に係る通信制御装置は、通信網上で送受信される通信データに基づいて通信制御を行う通信制御装置において、シェルコードを含んだ通信データの送信元及び送信先を起点とした通信に係る情報を外部から取得する手段と、取得した情報に基づいて前記送信元及び送信先間の通信制御の要否を判断する手段と、通信制御が必要であると判断した場合、前記送信元及び送信先間の通信制御を行う手段とを備えることを特徴とする。
【００１２】
第６発明に係る通信制御装置は、前記送信元及び送信先間における通信頻度を計数する手段を備え、計数した通信頻度が高い場合、前記送信元及び送信先間の通信制御が必要であると判断するようにしてあることを特徴とする。
【００１３】
ボットが感染活動を行う場合、ネットワーク感染型のワームと同様に、ＯＳ又はソフトウェアの脆弱性が利用されている。セキュリティホール利用型の感染は、セキュリティホールを利用するためのデータとともに制御を奪った後、最初に実行される小さな機械語プログラム（シェルコード）を送信することで行われる。本発明にあっては、そのシェルコードを検出する手段を備えているため、感染活動の初期の通信が検出され、それに引き続いて起こる悪意あるソフトウェア（ここではボット）の活動が記録される。
【００１４】
更に、本発明にあっては、感染直後にボット本体を送信しているような場合にはボット本体を捕獲することができる。また、シェルコードの送信元はボットに感染している可能性が高く、シェルコードの送信先はボットに感染した虞がある。ボットに感染している可能性が高いホストを選択的に監視できるため、高い確度でボットの活動が捉えられる。
【発明の効果】
【００１５】
本発明による場合は、シェルコードを検出する手段とシェルコードの検出後の通信を記録する手段とを備えているため、感染活動の初期の通信を検出することができ、それに引き続いて起こる悪意あるソフトウェア（ここではボット）の活動を監視することができる。
【００１６】
また、シェルコードの送信元がボットでない場合であっても、シェルコードを含んだ通信は、ほぼ間違いなくシステムの乗っ取りを狙ったものなので、送信元では悪意あるソフトウェアが動作しており、攻撃に成功した場合、送信先は攻撃者に操作される虞が高い。本発明では、シェルコードの送信元及び送信先のホストの通信を監視記録することで、悪意あるソフトウェアや攻撃者の活動を記録することができる。
【００１７】
更に、本発明による場合は、感染直後にボット本体を送信しているような場合にはボット本体を捕獲することができる。また、シェルコードの送信元はボットに感染している可能性が高く、シェルコードの送信先はボットに感染した虞がある。ボットに感染している可能性が高いホストを選択的に監視できるため、高い確度でボットの活動を捉えることができる。
【００１８】
特に、本発明に係る通信監視装置をネットワーク上に広く配置してその情報を共有できる場合、ある地点で観測されたシェルコードの送信元又は送信先が、他の地点でシェルコードの送信元として検出される可能性がある。このようなシステムにおいては攻撃者が利用している大規模なネットワークを特定して活動を監視することも可能である。
【発明を実施するための最良の形態】
【００１９】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
実施の形態１．
図１はボットネットの概略構成を説明する説明図である。インターネットＮ上には多数のホストが存在し、そのうちの１つ（又は複数）がシェルコードを送出する指令サーバ１となる。指令サーバ１は、他のホストである情報処理装置ＰＣ１，ＰＣ２，ＰＣ３，…，ＰＣｎに対してシェルコードを送出し、シェルコードが実行されたホスト（図１に示した例では情報処理装置ＰＣ２及びＰＣｎ）がツール配付サーバ２からツール又はボット本体を取得する。
【００２０】
ツール又はボット本体を取得した（すなわち、ボットに感染した）情報処理装置ＰＣ２及びＰＣｎは、他のホストである被害ホスト３に対してＤｏＳ攻撃を行ったり、ＳＰＡＭの送出を行ったりする。
【００２１】
図２〜図４はボットネットによる攻撃事例を説明する説明図である。図２は通信網上の２つのノード（例えば、情報処理装置ＰＣ１及びＰＣ２とする）間の攻撃事例を示している。この例では、攻撃者の情報処理装置ＰＣ１からシェルコードの送出、及び指令・ツールの送出が行われ、情報処理装置ＰＣ２でツールが実行されることにより、攻撃者（情報処理装置ＰＣ１）は必要な情報を取得する。
【００２２】
シェルコードの送出元から見た隣接度を定義した場合、自分自身（情報処理装置ＰＣ１）は隣接度０、送出先（情報処理装置ＰＣ２）は隣接度１と定義することができる。本実施の形態では、比較的大きな通信量の流れに着目し、どの隣接度のホスト間でどの向きに発生したか、どの順序で発生したか、に基づき攻撃者の活動を推測する。
【００２３】
すなわち、隣接度０のホスト（情報処理装置ＰＣ１）と隣接度１のホスト（情報処理装置ＰＣ２）とが継続的に通信を行う場合、特に隣接度１のホストから隣接度０のホストへの通信量が多い場合、又は隣接度１のホストが多数存在する場合、隣接度１のホストがボットに感染している確度が高いと判定することができる。
【００２４】
図３は３つのノード（例えば、情報処理装置ＰＣ１，ＰＣ２，ＰＣ３）の間で成立している攻撃事例を示している。この例では、情報処理装置ＰＣ１から情報処理装置ＰＣ２に対してシェルコードが送出され、情報処理装置ＰＣ３から情報処理装置ＰＣ２に対して指令・ツールが送出される。そして、情報処理装置ＰＣ２でツールが実行されることにより、情報処理装置ＰＣ１（攻撃者）は必要な情報を取得する。
【００２５】
前述と同様に、シェルコードの送出元から見た隣接度を定義した場合、自分自身（情報処理装置ＰＣ１）は隣接度０、送出先（情報処理装置ＰＣ２）は隣接度１、指令・ツールの送出元（情報処理装置ＰＣ３）は隣接度２と定義することができる。
【００２６】
図４は４つのノード（例えば、情報処理装置ＰＣ１〜ＰＣ４）の間で成立している攻撃事例を示している。この例では、情報処理装置ＰＣ１から情報処理装置ＰＣ２に対してシェルコードが送出され、情報処理装置ＰＣ３から情報処理装置ＰＣ２に対して指令・ツールが送出される。そして、情報処理装置ＰＣ２でツールが実行されることにより、情報処理装置ＰＣ１（攻撃者）は必要な情報を取得する。さらに、情報処理装置ＰＣ１と他の情報処理装置ＰＣ４との間で交信が始まり、ＤｏＳ攻撃、ＳＰＡＭ送出などが行われる。
【００２７】
本実施の形態では、隣接度２以上で攻撃に関与する虞が高いホストが存在する場合にも通信の監視強化を行い、比較的大きな通信量の流れに着目し、どの隣接度のホスト間でどの向きに発生したか、どの順序で発生したか、に基づき攻撃者の活動を推測する。
【００２８】
そのため、本実施の形態では、通信の監視を行い、前述した攻撃アクションを検出するために通信監視装置（Ｓ１，Ｓ２，…，Ｓｎ）をインターネットＮの適宜の通信経路上に配置する。図５は通信監視装置Ｓ１，Ｓ２，…，Ｓｎを用いた通信監視システムの構成を説明する説明図である。例えば、通信監視装置Ｓ１は、シェルコード及び指令を送出する指令サーバ１と情報処理装置ＰＣ１との間の通信を監視できるような通信経路上に設置される。通信監視装置Ｓ２，Ｓ３，…，Ｓｎについても同様である。
【００２９】
なお、通信監視装置Ｓ１〜Ｓｎは、１対１の通信を監視するものである必要はなく、１対多の通信を監視するもの、多対多の通信を監視するものであってもよい。
【００３０】
図６は通信監視装置Ｓ１の内部構成を示すブロック図である。通信監視装置Ｓ１は、ＣＰＵ１０１、フォワーディングエンジン１０２の他に、外部に通信装置（例えば、指令サーバ１）が接続されるＰＨＹ１０３及びＭＡＣ１０４、並びに別の通信装置（例えば、情報処理装置ＰＣ１）が接続されるＰＨＹ１０６及びＭＡＣ１０５を備える。なお、図６に示した例では、入出力をそれぞれ１組ずつ設ける構成としたが、複数組のＰＨＹ及びＭＡＣを設けて複数の通信装置を接続できるようにしてもよいことは勿論のことである。
【００３１】
ＣＰＵ１０１は、受信した通信データのチェックを行った後に最適な通信経路を設定し、設定した情報をフォワーディングエンジン１０２に通知する。フォワーディングエンジン１０２は、ＣＰＵ１０１から通知される情報と、受信した通信データのヘッダ情報とを参照して、受信した通信データの出力先を決定する。  
【００３２】
通信監視装置Ｓ１が、通信データを受信した場合、インラインで挿入された通信監視部１１０が通信データの監視を行う。通信監視部１１０は、ＭＡＣ１０５とＰＨＹ１０６との間に挿入されており、制御部１１１、検出部１１２、メモリ１１３、及びＭＡＣ１１４，１１５を備える。
【００３３】
制御部１１１は、ＭＡＣ１１４又は１１５から入力された通信データから所定単位でデータを抽出し、検出部１１２へ渡してシェルコードの検出を行う。検出部１１２がシェルコードを検出した場合、制御部１１１は、シェルコードの送信元及び送信先（図６の例では、指令サーバ１が送信元であり、情報処理装置ＰＣ１が送信先である）を起点とする通信データを所定時間だけメモリ１１３に記憶し、通信の監視を行う。
【００３４】
図７は通信監視装置Ｓ１が実行する処理の手順を説明するフローチャートである。通信監視装置Ｓ１は、まず、ＰＨＹ１０３又はＰＨＹ１０６を通じて受信した通信データに基づいてシェルコードの検出処理を行う（ステップＳ１１）。シェルコードの検出方法としては、本願発明者らがＰＣＴ／ＪＰ２００３／０９８９４号明細書、ＰＣＴ／ＪＰ２００４／００２３１９号明細書、ＰＣＴ／ＪＰ２００４／００２３１０号明細書で開示しているデータ処理方法、不正処理判定方法を利用することができる。これらの明細書では、攻撃者からの指示に従ってプログラムの起動や制御を行うシェルコードを不正コードとして検出する方法を記載しており、これらの方法を用いることによって、通信データからリアルタイムにシェルコードを検出することができる。
【００３５】
次いで、通信監視装置Ｓ１は、ステップＳ１１の処理によりシェルコードが検出されたか否かを判断し（ステップＳ１２）、シェルコードが検出されていないと判断した場合（Ｓ１２：ＮＯ）、処理をステップＳ１１へ戻す。
【００３６】
シェルコードが検出されたと判断した場合（Ｓ１２：ＹＥＳ）、シェルコードの送信元はボットに感染している可能性が高く、シェルコードの送信先はボットに感染した虞があるため、以降の通信を監視強化するためにシェルコードの送信元及び送信先を起点とする通信を一定時間メモリ１１３に記録する（ステップＳ１３）。
【００３７】
次いで、制御部１１１は、メモリ１１３に記録された通信記録を基に隣接度マップを作成し（ステップＳ１４）、シェルコードの発信源が同じとなる複数の攻撃事例を収集する（ステップＳ１５）。
【００３８】
次いで、制御部１１１は、複数の事例に出現するホストを列挙し（ステップＳ１６）、列挙されたホストを出現する事例数で並び替え（ステップＳ１７）、上位のホストは攻撃に関与する虞が高いと判定する（ステップＳ１８）。
【００３９】
なお、図６及び図７では、通信監視装置Ｓ１についてのみ説明したが、通信監視装置Ｓ２，Ｓ３，…，Ｓｎについても、全く同様の構成により、シェルコードの検出及び攻撃に関与する虞が高いホストの検出を行う。
【００４０】
このように本発明では、シェルコードの検出により一連の攻撃活動の最初の一手を検出することができる。また、シェルコードの送信元及び送信先を手掛かりにして攻撃に関連するホストの特定が可能であり、複数の通信監視装置Ｓ１〜Ｓｎを用いた網で通信を監視することにより、一連の攻撃の全貌を把握できる可能性が高く、従来のウィルス対策ソフトでは不可能であった予防的対策へとつなげることができる。
【００４１】
実施の形態２．
実施の形態１では、複数の通信監視装置Ｓ１〜ＳｎによりインターネットＮ上の通信を監視する構成としたが、各通信監視装置Ｓ１〜Ｓｎでの監視結果を集計して通信制御を行う構成としてもよい。
【００４２】
図８は実施の形態２に係る通信監視システムの概略構成を説明する説明図である。図８に示した例では、インターネットとＬＡＮとの間に通信監視装置Ａ１〜Ａｎが設けられており、各通信監視装置Ａ１，Ａ２，…，Ａｎは監視結果を通信制御装置１０へ送出する。
【００４３】
各通信監視装置Ａ１，Ａ２，…，ＡｎにＩＤＳモード（IDS : Intrusion Detection System）とＩＤＰモード（IDP : Intrusion Detection and Prevention）との２つのモードを持たせ、通常、ＩＤＳモードで攻撃情報を収集し、その結果を通信制御装置１０へ伝達する。
【００４４】
通信制御装置１０は、情報収集、攻撃者の活動モニタリングよりも攻撃活動を停止すべき事態では、適宜の通信監視装置に指示を与えてＩＤＰモードへ移行させる。ＩＤＰモードに移行した通信監視装置は、シェルコードを含む通信を遮断し、コネクションを強制的に切断する。
【図面の簡単な説明】
【００４５】
【図１】ボットネットの概略構成を説明する説明図である。
【図２】ボットネットによる攻撃事例を説明する説明図である。
【図３】ボットネットによる攻撃事例を説明する説明図である。
【図４】ボットネットによる攻撃事例を説明する説明図である。
【図５】通信監視装置を用いた通信監視システムの構成を説明する説明図である。
【図６】通信監視装置の内部構成を示すブロック図である。
【図７】通信監視装置が実行する処理の手順を説明するフローチャートである。
【図８】実施の形態２に係る通信監視システムの概略構成を説明する説明図である。
【符号の説明】
【００４６】
１  指令サーバ
２  ツール配付サーバ
３  被害ホスト
Ｎ  インターネット
ＰＣ１〜ＰＣｎ  情報処理装置
Ｓ１〜Ｓ４  通信監視装置
【図１】
2008165601.tif 000003
【図２】
2008165601.tif 000004
【図３】
2008165601.tif 000005
【図４】
2008165601.tif 000006
【図５】
2008165601.tif 000007
【図６】
2008165601.tif 000008
【図７】
2008165601.tif 000009
【図８】
2008165601.tif 000010