IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特許7298438情報処理プログラム、情報処理方法、および、情報処理装置
<>
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図1
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図2
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図3
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図4
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図5
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図6
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図7
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図8
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図9
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図10
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図11
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図12
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図13
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図14
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図15
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図16
  • 特許-情報処理プログラム、情報処理方法、および、情報処理装置 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-19
(45)【発行日】2023-06-27
(54)【発明の名称】情報処理プログラム、情報処理方法、および、情報処理装置
(51)【国際特許分類】
   H04L 43/02 20220101AFI20230620BHJP
   G06F 21/56 20130101ALI20230620BHJP
   H04L 41/0895 20220101ALI20230620BHJP
【FI】
H04L43/02
G06F21/56
H04L41/0895
【請求項の数】 8
(21)【出願番号】P 2019190105
(22)【出願日】2019-10-17
(65)【公開番号】P2021064918
(43)【公開日】2021-04-22
【審査請求日】2022-07-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(72)【発明者】
【氏名】町田 卓謙
(72)【発明者】
【氏名】山本 大
【審査官】小林 義晴
(56)【参考文献】
【文献】特開2016-213799(JP,A)
【文献】特開2016-092763(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
G06F 21/56
(57)【特許請求の範囲】
【請求項1】
ネットワーク内の複数の端末へのマルウェアの感染を検出した場合に、前記感染を検出した端末に関連するパケットの情報に基づいて、前記マルウェアの端末への感染順の傾向を特定し、
特定した前記傾向の情報、及び、複数の仮想端末それぞれのIPアドレスとホスト名との少なくともいずれかの情報に基づいて、前記ネットワークと通信可能とする仮想端末を決定する
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記ネットワークと通信可能とする仮想端末の候補である仮想端末の情報を含むパケットの送信指示を送る処理をコンピュータに実行させる
ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記送信指示は、前記ネットワークと通信可能とする仮想端末の候補に割り当てられているホスト名を前記複数の端末へ通知する通知パケットの送信に対する指示である
ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記送信指示は、前記複数の端末のいずれかで使用されているMACアドレスを問い合わせるための問い合わせパケットの送信に対する指示であり、
前記問い合わせパケット内の送信元の情報として、前記ネットワークと通信可能とする仮想端末の候補の情報が含まれる
ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項5】
前記コンピュータに、
前記感染の原因となったパケットの受信時刻から所定の期間内に送受信された複数のパケットを分析対象パケットとして抽出し、
前記分析対象パケットの間での送信順序と、前記分析対象パケットの間での宛先IPアドレスの値の順序の関係を分析した結果を前記傾向として特定する
処理を行わせることを特徴とする請求項1~4のいずれか1項に記載の情報処理プログラム。
【請求項6】
前記コンピュータに、
前記感染の原因となったパケットの受信時刻から所定の期間内に送受信された複数のパケットを分析対象パケットとして抽出し、
前記分析対象パケットの間での送信順序と、前記分析対象パケットの間での宛先ホスト名のアルファベット順の関係を分析した結果を前記傾向として特定する
処理を行わせることを特徴とする請求項1~4のいずれか1項に記載の情報処理プログラム。
【請求項7】
ネットワーク内の複数の端末へのマルウェアの感染を検出した場合に、前記感染を検出した端末に関連するパケットの情報に基づいて、前記マルウェアの端末への感染順の傾向を特定し、
特定した前記傾向の情報、及び、複数の仮想端末それぞれのIPアドレスとホスト名との少なくともいずれかの情報に基づいて、前記ネットワークと通信可能とする仮想端末を決定する
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項8】
ネットワーク内の複数の端末へのマルウェアの感染を検出する検知部と、
前記検知部が前記マルウェアの感染を検出した場合に、前記感染を検出した端末に関連するパケットの情報に基づいて、前記マルウェアの端末への感染順の傾向を特定する特定部と、
特定した前記傾向の情報、及び、複数の仮想端末それぞれのIPアドレスとホスト名との少なくともいずれかの情報に基づいて、前記ネットワークと通信可能とする仮想端末を決定する決定部
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、情報処理プログラム、情報処理方法、および、情報処理装置に関する。
【背景技術】
【0002】
近年、機械の制御や管理等のために工場内で利用される端末へのマルウェアの感染が問題になっている。また、マルウェアの感染に起因して端末の利用が妨げられたことによって、生産ラインが停止するケースも発生している。このため、工場でマルウェア感染への対策を行うことが求められている。しかし、工場では管理対象の機械との関係などから、既知の脆弱性が残っている端末が使用されることもある。また、工場内の作業者によって、セキュリティ対策の施されていない外部端末やUSB(Universal Serial Bus)がネットワークに接続されることもあり得る。このため、外部端末やUSBの接続に起因して、工場内の端末がマルウェアに感染(1次感染)することを防ぐことは難しい。
【0003】
ここで、ワーム型のマルウェア(ワーム)は、ネットワーク中の端末に感染した後で、自身を複製してネットワーク内の他の端末にも感染(2次感染)することで被害を拡大する。このため、工場ネットワーク中の端末などへのワームの2次感染を遅らせることにより、被害の拡大を防ぐことが考えられる。
【0004】
関連する技術として、おとり手段へのウイルスの侵入を検出すると、ウイルスの侵入時に取得した通信情報からウイルスの送信元の装置を検出して、ウイルスの活動を抑制する処理を行うシステムが提案されている(例えば、特許文献1)。ダミーコンピュータに対するアクセスを行ったコンピュータのIP(Internet Protocol)アドレスを、ウイルスを拡散している可能性があるコンピュータのアドレスとして管理サーバに通知する装置も知られている(例えば、特許文献2)。さらに、入力された被検査ファイルを仮想ホスト上で実行したときの結果に基づいて、被検査ファイルがコンピュータウイルスに感染しているかを判定する方法も提案されている(例えば、特許文献3)。
【先行技術文献】
【特許文献】
【0005】
【文献】国際公開第2004-084063号
【文献】特開2006-330926号公報
【文献】特開2004-38273号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ネットワーク中の端末などへのマルウェアの感染拡大を遅らせるために、マルウェアが感染可能なおとり端末をネットワーク中に含めることが考えられる。マルウェアがネットワーク中の端末の代わりにおとり端末を感染先に選択すると、おとり端末への感染の処理が行われる期間分、ネットワーク中の装置へのマルウェアの感染を遅らせることができる。しかし、ネットワークにおとり端末を接続しても、接続したおとり端末が感染対象としてマルウェアに選択されなければ、おとり端末によってマルウェアの2次感染を遅らせることは困難である。このような問題は、工場ネットワーク以外でも、マルウェアへの1次感染を防ぐことが難しいネットワークで発生し得る。また、関連する技術を用いても、この問題は解決されない。
【0007】
本発明は、1つの側面として、マルウェアの感染拡大を遅らせることを目的とする。
【課題を解決するための手段】
【0008】
ある1つの態様にかかる情報処理プログラムは、コンピュータで実行される。コンピュータは、ネットワーク内の複数の端末へのマルウェアの感染を検出した場合に、前記感染を検出した端末に関連するパケットの情報に基づいて、前記マルウェアの端末への感染順の傾向を特定する。コンピュータは、特定した前記傾向の情報、及び、複数の仮想端末それぞれのIPアドレスとホスト名との少なくともいずれかの情報に基づいて、前記ネットワークと通信可能とする仮想端末を決定する。
【発明の効果】
【0009】
マルウェアの感染拡大を遅らせることができる。
【図面の簡単な説明】
【0010】
図1】実施形態にかかる情報処理方法の例を説明する図である。
図2】情報処理装置の構成の例を説明する図である。
図3】情報処理装置のハードウェア構成の例を説明する図である。
図4】ネットワークの監視処理の例を説明するフローチャートである。
図5】使用IPテーブルと使用ホストテーブルの例を説明する図である。
図6】VMの作成処理の例を説明するフローチャートである。
図7】作成済みVMリストの例を説明する図である。
図8】第1の実施形態にかかる情報処理装置で行われる処理の例を説明する図である。
図9】感染拡大戦略の推定方法と接続対象のVMの決定方法の例を説明するフローチャートである。
図10】ホスト名リストの例を説明する図である。
図11】1次感染の発生前に情報処理装置で行われる処理の例を説明する図である。
図12】第2の実施形態でのネットワークの監視処理の例を説明するフローチャートである。
図13】リスト設定部で行われる処理の例を説明するフローチャートである。
図14】第2の実施形態にかかる情報処理装置で行われる処理の例を説明する図である。
図15】第2の実施形態での感染戦略の推定方法と接続対象のVMの決定方法の例を説明するフローチャートである。
図16】第3の実施形態で用いられる作成済みVMリストの例を説明する図である。
図17】第3の実施形態でのリスト設定部の処理の例を説明するフローチャートである。
【発明を実施するための形態】
【0011】
図1は、実施形態にかかる情報処理方法の例を説明する図である。図1を参照しながら、ネットワークに参加していない情報処理装置20がマルウェアの感染拡大を遅らせるためのおとり端末を管理する場合を例として説明する。情報処理装置20は、ネットワークスイッチ10のミラーポート11に接続されているため、ネットワーク中で送受信される全てのパケットを取得できるものとする。
【0012】
情報処理装置20は、予め、ネットワークに接続可能で、マルウェアが感染可能な脆弱性を有する仮想マシン(VM、virtual machine)を生成しているが、生成した仮想マシンをネットワークに接続していないものとする。図1の例では、感染可能VM52a~52cが感染可能な脆弱性を有する仮想マシンである。また、感染可能VM52a~52cのIPアドレスの値の大きさは、感染可能VM52a<感染可能VM52b<感染可能VM52cの順に大きくなるとする。なお、図1には情報処理装置20が生成した感染可能VM52のうちの3台だけが示されている。
【0013】
情報処理装置20は、ミラーポート11を介して取得したパケットを解析することにより、マルウェアへの感染が発生したかを判定する。ネットワーク中の端末へのマルウェアの感染を検出すると、情報処理装置20は、マルウェアの感染拡大の予兆を検知したと判定する(ステップS1)。すると、情報処理装置20は、マルウェアへの感染の発生を検出するために使用したパケットや、マルウェアへの感染の検出の前後に送受信されたパケットを解析することにより、マルウェアの感染拡大戦略を推定する(ステップS2)。ここで、感染拡大戦略は、マルウェアの端末への感染順の傾向である。例えば、情報処理装置20は、マルウェアがIPアドレス値の小さな端末からIPアドレスの昇順に無作為に感染を拡大している場合、無作為型昇順の戦略でマルウェアが感染を拡大していると判定する。一方、マルウェアがIPアドレス値の大きな端末からIPアドレスの降順に無作為に感染を拡大している場合、情報処理装置20は、無作為型降順の戦略でマルウェアが感染を拡大していると判定する。さらに、ランダムに感染対象が選択されている場合、情報処理装置20は、マルウェアが無作為型ランダムの戦略で感染を拡大していると判定する。情報処理装置20は、生成済みの感染可能VM52のうちで、マルウェアが感染対象として選択する可能性の高い感染可能VM52をネットワークに接続する(ステップS3)。ネットワークに接続する感染可能VM52を選択する際に、情報処理装置20は、マルウェアの採る感染拡大戦略を使用する。
【0014】
例えば、マルウェアが無作為型昇順の拡大戦略をとっており、マルウェアの感染はIPアドレスが小さい端末から優先的に行われるとする。また、マルウェアの感染が検出された端末のIPアドレスを感染の開始位置とする。ここでは、感染の開始位置となった端末に割り当てられたIPアドレスは、感染可能VM52aのIPアドレスよりも小さな値であるとする。すると、情報処理装置20は、生成済みの感染可能VM52のうちで、開始位置よりも大きなIPアドレス値であり、かつ、開始位置に近い値を有するVMを接続対象に選択する。このため、情報処理装置20が備えるVM管理部40は、図1のケースC1に示すように、感染可能VM52aから感染可能VM52bまでの感染可能VM52をネットワークに接続する。
【0015】
次に、マルウェアが無作為型降順の拡大戦略をとっており、IPアドレスが大きい端末から順にマルウェアの感染が起こっているとする。また、感染の開始位置となった端末に割り当てられたIPアドレスは、感染可能VM52cのIPアドレスよりも大きな値であるとする。すると、情報処理装置20は、生成済みの感染可能VM52のうちで、開始位置よりも小さなIPアドレス値であり、かつ、開始位置に近い値を有するVMを接続対象に選択する。このため、VM管理部40は、ケースC2に示すように、感染可能VM52cから感染可能VM52bまでの感染可能VM52をネットワークに接続する。
【0016】
さらに、マルウェアが無作為型ランダムの拡大戦略をとっているとする。この場合、情報処理装置20は、生成済みの感染可能VM52からランダムに選択した感染可能VM52をネットワークに接続する。ケースC3に示す例では、VM管理部40は、感染可能VM52a~52cのうちで、感染可能VM52aと感染可能VM52cをネットワークに接続している。
【0017】
このように、情報処理装置20は、マルウェアが採る感染拡大戦略に応じて、ネットワーク中の端末よりも感染可能VM52がマルウェアに感染しやすくなるように、接続する感染可能VM52を選択する。このため、情報処理装置20を用いたシステムでは、マルウェアが感染可能VM52への感染処理を行っている期間の分だけ、ネットワーク中の端末へのマルウェアの感染を遅らせることができる。
【0018】
<装置構成>
図2は、情報処理装置20の構成の例を説明する図である。情報処理装置20は、通信部21、制御部30、および、記憶部60を備える。通信部21は、送信部22と受信部23を備える。送信部22は、ネットワーク中の端末やサーバなどの他の装置にパケットを送信する。受信部23は、ネットワーク中の端末やサーバなどの他の装置からパケットを受信する。例えば、受信部23は、ミラーポート11から送信されたパケットを受信する。
【0019】
記憶部60は、使用IPテーブル61、使用ホストテーブル62、および、作成済みVMリスト63を有する。使用IPテーブル61は、ネットワーク中で使用されているIPアドレスを記録する。使用ホストテーブル62は、ネットワーク中で使用されているホスト名を記録する。作成済みVMリスト63は、情報処理装置20で生成されている感染可能VM52の各々について、その感染可能VM52に割り当てられているIPアドレスやホスト名などの情報を記録する。記憶部60は、さらに、監視対象のネットワークで使用され得るIPアドレスの範囲に関する情報も記憶している。
【0020】
制御部30は、観測部31、予兆検知部32、戦略特定部33、VM管理部40、および、ゲストOS(Operating System)処理部50を備え、オプションとして、リスト設定部34を備える。観測部31は、ミラーポート11から送信されたパケットを観測することにより、使用IPテーブル61と使用ホストテーブル62を更新する。予兆検知部32は、ネットワークを送受信されているパケットを解析することにより、マルウェアへの感染を検出する。戦略特定部33は、マルウェアの感染拡大戦略を推定する。リスト設定部34は、ネットワーク中の装置についてサーバ等で生成されているホスト名リストなどのリストに感染可能VM52の情報を含めるための設定処理を行う。
【0021】
VM管理部40は、生成部41と決定部42を有する。生成部41は、VM51や感染可能VM52を生成する。生成部41は、VM51や感染可能VM52の生成に際して、適宜、ネットワークで使用可能なIPアドレスの範囲の情報を記憶部60から取得する。決定部42は、戦略特定部33で決定された感染拡大戦略に応じて、ネットワークに接続する感染可能VM52を決定する。
【0022】
ゲストOS処理部50は、観測部31、予兆検知部32、戦略特定部33、リスト設定部34、およびVM管理部40として動作するOS上で動作するゲストOSの処理を行う。ゲストOS処理部50は、1つ以上の感染可能VM52を有し、さらに、オプションとしてVM51を有する。VM51は、ネットワークに常時接続する仮想マシンであり、リスト設定部34から入力されたパケットを所定の周期ごとにネットワーク中の装置に送信する。VM51は、マルウェアが感染するための脆弱性を備えていてもよく、脆弱性を備えていなくても良い。感染可能VM52は、マルウェアが感染するための脆弱性を備えている仮想マシンである。
【0023】
図3は、情報処理装置20のハードウェア構成の例を説明する図である。情報処理装置20は、プロセッサ101、メモリ102、バス103、ネットワーク接続装置104を有する。プロセッサ101は、任意の処理回路であり、例えば、CPU(Central Processing Unit)とすることができる。プロセッサ101は、メモリ102をワーキングメモリとして使用して、プログラムを実行することにより、様々な処理を実行する。メモリ102には、RAM(Random Access Memory)が含まれ、さらに、ROM(Read Only Memory)等の不揮発性のメモリも含まれる。メモリ102は、プログラムやプロセッサ101での処理に使用されるデータを格納する。ネットワーク接続装置104は、ネットワークを介した他の装置との通信に使用される。バス103は、プロセッサ101、メモリ102、ネットワーク接続装置104を、互いにデータの入出力が可能になるように接続する。
【0024】
情報処理装置20において、制御部30はプロセッサ101によって実現される。通信部21は、ネットワーク接続装置104によって実現される。さらに、記憶部60は、メモリ102により実現される。情報処理装置20は、コンピュータ、ゲートウェイ装置などとして実現され得る。
【0025】
<第1の実施形態>
以下、第1の実施形態を、マルウェアの1次感染の発生前とマルウェアの1次感染の発生後に分けて説明する。以下の説明では、ワーム型のマルウェア(ワーム)の感染が発生する場合の例を説明する。なお、第1の実施形態では、情報処理装置20はリスト設定部34を備えていなくてもよく、さらに、VM51を生成しなくてもよい。以下の説明では、分かりやすくするために、生成部41はVM51を生成せず、感染可能VM52を生成しているとする。感染可能VM52は、いずれも生成された時点ではネットワークに接続されない。
【0026】
(1.1)ワームの感染の発生前に行う処理
ワームの感染が起こる前の段階では、ネットワークの監視による感染可能VM52に使用可能なIPアドレスやホスト名の特定、および、感染可能VM52の生成が行われる。
【0027】
図4は、ネットワークの監視処理の例を説明するフローチャートである。観測部31は、ミラーポート11と受信部23を介して、ネットワーク中で送受信されているパケットを取得することにより、ネットワークを監視する(ステップS11)。観測部31は、ネットワーク中で使用されているIPアドレス(使用IPアドレス)、もしくは、ネットワーク中で使用されているホスト名(使用ホスト名)を含むパケットを観測したかを判定する(ステップS12)。例えば、観測部31は、IPアドレスが含まれる任意のパケットを、ネットワーク中で使用されているIPアドレスを特定するための観測対象とすることができる。また、ホスト名が含まれている任意のパケットが、ホスト名の特定に使用されうる。例えば、ホスト名の特定の際に、Host Announcementパケットが使用されても良い。IPアドレスやホスト名を含むパケットを受信していない場合、ステップS11以降の処理が繰り返される(ステップS12でNo)。
【0028】
一方、観測部31は、IPアドレスまたはホスト名を含むパケットを観測すると、観測したパケット中のIPアドレスやホスト名が記録されているかを判定する(ステップS12でYes、ステップS13)。ここで、観測部31は、観測対象のパケットからIPアドレスを抽出した場合、抽出したIPアドレスが使用IPテーブル61に記録されているかを判定する。一方、観測対象のパケットからホスト名を抽出した場合、観測部31は、抽出したホスト名が使用ホストテーブル62に記録されているかを判定する。観測したパケット中のIPアドレスやホスト名が既に使用IPテーブル61か使用ホストテーブル62に記録されている場合、ステップS11以降の処理が繰り返される(ステップS13でYes)。一方、観測したパケット中のIPアドレスが使用IPテーブル61に記録されていない場合、観測部31は、抽出したIPアドレスを使用IPテーブル61に記録する(ステップS13でNo、ステップS14)。同様に、観測したパケット中のホスト名が使用ホストテーブル62に記録されていない場合、観測部31は、抽出したホスト名を使用ホストテーブル62に記録する。ステップS14の処理後、ステップS11以降の処理が繰り返される。
【0029】
図5は、使用IPテーブル61と使用ホストテーブル62の例を説明する図である。以下の説明では、情報処理装置20が図5に示す使用IPテーブル61と使用ホストテーブル62を有しているとする。また、監視対象のネットワークで使用され得るIPアドレスの範囲は、192.168.10.0/24であるとする。
【0030】
図4を参照しながら説明したとおり、図4の処理は、情報処理装置20が動作している間にわたって繰り返し行われている。このため、使用IPテーブル61には、ネットワーク中で使用されている全てのIPアドレスが記録されている。同様に、使用ホストテーブル62には、ネットワーク中で使用されている全てのホスト名が記録されている。従って、使用可能なIPアドレスの範囲のうちで使用IPテーブル61に含まれていないIPアドレスは感染可能VM52に割り当て可能なIPアドレスである。さらに、感染可能VM52には、使用ホストテーブル62に含まれていない任意のホスト名の割り当てが可能である。そこで、生成部41は、使用IPテーブル61と使用ホストテーブル62を用いて感染可能VM52の生成を行う。
【0031】
図6は、VMの作成処理の例を説明するフローチャートである。図6では、変数iと定数nを使用する。変数iは処理対象としたアドレスの計数に使用される。nはネットワークで使用可能なIPアドレスの総数である。
【0032】
生成部41は、変数iを1に設定する(ステップS21)。生成部41は、ネットワークで使用可能なIPアドレスの範囲に含まれているi番目のIPアドレスについて、そのアドレスが使用IPテーブル61に存在するかを判定する(ステップS22)。i番目のIPアドレスが使用IPテーブル61に存在しない場合、生成部41は、i番目のIPアドレスを有するVMが作成済みVMリスト63に存在するかを判定する(ステップS22でNo、ステップS23)。i番目のIPアドレスを有するVMが作成済みVMリスト63に存在しない場合、生成部41は、i番目のIPアドレスを有するVMを生成し、作成済みVMリスト63を更新する(ステップS23でNo、ステップS24、S27)。その後、生成部41は、変数iを1つインクリメントしてから、定数nと変数iを比較する(ステップS28、S29)。定数nが変数i以上である場合、ステップS22以降の処理が繰り返される(ステップS29でYes)。一方、定数nが変数i以上ではない場合、ネットワークで使用可能な全てのIPアドレスについての処理が終わっている(ステップS29でNo)。そこで、ステップS21以降の処理が繰り返される。
【0033】
i番目のIPアドレスを有するVMが作成済みVMリスト63に存在する場合、i番目のIPアドレスを有するVMが既に生成されている(ステップS23でYes)。そこで、生成部41は、ステップS28以降の処理を行う。
【0034】
i番目のIPアドレスが使用IPテーブル61に存在する場合、i番目のIPアドレスを有する端末がネットワークに既に接続されている(ステップS22でYes)。そこで、生成部41は、i番目のIPアドレスを有するVMを生成しているかを判定するために、i番目のIPアドレスを持つVMが作成済みVMリスト63に存在するかを判定する(ステップS25)。i番目のIPアドレスを持つVMが作成済みVMリスト63に存在する場合、生成部41は、i番目のIPアドレスを持つVMを削除し、作成済みVMリスト63を更新する(ステップS25でYes、ステップS26、S27)。生成部41は、その後、ステップS28以降の処理を行う。i番目のIPアドレスを持つVMが作成済みVMリスト63に存在しない場合、生成部41は、ステップS26、S27の処理を行わずにステップS28以降の処理を行う(ステップS25でNo)。
【0035】
なお、図6は感染可能VM52の生成処理の一例であり、実装に応じて変更され得る。例えば、ネットワークで使用されうるIPアドレスの範囲の広さや情報処理装置20の処理能力などに応じて、感染可能VM52は未使用のIPアドレスの一部分について生成されても良い。例えば、ステップS28において、変数iが2以上の値ずつインクリメントされるように設定されても良い。
【0036】
図7は、作成済みVMリスト63の例を説明する図である。作成済みVMリスト63は、生成した感染可能VM52の各々について、そのVMに割り当てられたIPアドレスとホスト名を記録する。例えば、IPアドレス=192.168.10.11が割り当てられた感染可能VM52のホスト名はKoujou11である。また、IPアドレス=192.168.10.198が割り当てられた感染可能VM52のホスト名はKoujou198である。他の感染可能VM52についても、同様に作成済みVMリスト63からIPアドレスとホスト名が特定され得る。従って、作成済みVMリスト63には、生成部41が生成した全ての感染可能VM52の情報が記録されている。第1の実施形態では、生成部41での処理により、図7に示すIPアドレスとホスト名が割り当てられた感染可能VM52が生成されたとする。
【0037】
(1.2)ワームへの感染の検出、および、ワームの感染の検出後に行う処理
図8は、第1の実施形態にかかる情報処理装置20で行われる処理の例を説明する図である。図8を参照しながら、無作為型昇順の拡大戦略をとるワームを例として、ワームへの感染の検出と感染の検出後に行われる処理について説明する。
【0038】
図8のステップS31~S33は、図4図7を参照しながら説明したネットワークの観測処理と感染可能VM52の生成処理に該当する。ワームの感染が検出された後も、ネットワークでのIPアドレスやホスト名の使用状況が変動する可能性があるので、図4図7を参照しながら説明した処理はワームの感染を検出したかに関わらず継続される。
【0039】
ネットワークスイッチ10のミラーポート11から受信部23が受信した全てのパケットは、観測部31と予兆検知部32に出力される(ステップS31)。観測部31は、入力されたパケットを処理することにより、使用IPテーブル61と使用ホストテーブル62を更新する。使用IPテーブル61と使用ホストテーブル62の生成処理は図4図5を参照して説明した処理と同様である。観測部31は、生成した使用IPテーブル61と使用ホストテーブル62をVM管理部40に出力する(ステップS32)。すると、図6図7を参照しながら説明した処理と同様の処理により、生成部41による感染可能VM52の生成処理が行われる(ステップS33)。
【0040】
予兆検知部32にもミラーポート11から受信したパケットが入力されるので、予兆検知部32は、使用IPテーブル61に含まれていないIPアドレスへのアクセス回数が閾値Th以上になるとワームの感染を検出したと判定するものとする。以下の説明では、閾値Th=3回の場合を例として説明する。
【0041】
まず、宛先IPアドレス=192.168.10.11に設定されたパケットP1がネットワークに送信されたとする。予兆検知部32は、パケットP1を取得すると、パケットP1の宛先IPアドレスをキーとして使用IPテーブル61(図5)を検索する。IPアドレス=192.168.10.11は使用IPテーブル61に含まれていないので、予兆検知部32は、ネットワーク中で使用されていない端末へのアクセスの発生回数が1回であると認識する。この時点では、ネットワーク中で使用されていない端末へのアクセスの発生回数は閾値Th未満であるので、予兆検知部32はワームの感染を検出しない。
【0042】
次に、宛先IPアドレス=192.168.10.12に設定されたパケットP2がネットワークに送信されたとする。予兆検知部32は、パケットP2を取得し、パケットP2の宛先IPアドレスをキーとして使用IPテーブル61を検索する。IPアドレス=192.168.10.12は使用IPテーブル61に含まれている、このため、予兆検知部32は、ネットワーク中で使用されていない端末へのアクセスの発生回数を変更しない。
【0043】
宛先IPアドレス=192.168.10.13に設定されたパケットP3がネットワークに送信されると、予兆検知部32は、パケットP3を取得するとともに、パケットP3の宛先IPアドレスをキーとして使用IPテーブル61を検索する。IPアドレス=192.168.10.13は使用IPテーブル61に含まれていないので、予兆検知部32は、ネットワーク中で使用されていない端末へのアクセスの発生回数を2回にインクリメントする。この時点でも、ネットワーク中で使用されていない端末へのアクセスの発生回数(2回)は、閾値Th未満であるので、予兆検知部32はワームの感染が発生したとは判定しない。
【0044】
さらに、宛先IPアドレス=192.168.10.14に設定されたパケットP4がネットワークに送信されたとする。パケットP4を取得すると予兆検知部32は、パケットP4の宛先IPアドレスをキーとして使用IPテーブル61を検索する。IPアドレス=192.168.10.14は使用IPテーブル61に含まれていないので、予兆検知部32は、ネットワーク中で使用されていない端末へのアクセスの発生回数を3回にインクリメントする。すると、ネットワーク中で使用されていない端末へのアクセスの発生回数が閾値Thと一致するので、予兆検知部32は、ネットワーク中でワームへの感染が発生したと判定する。
【0045】
ワームへの感染が発生したと判定すると、予兆検知部32は、感染拡大戦略を特定するための分析対象のパケットを、戦略特定部33に出力する(ステップS41)。分析対象のパケットは、ワームへの感染の検出に使用したパケットとワームへの感染の検出に使用したパケットの受信時刻から所定の期間内に受信したパケットである。ここで、ワームへの感染の検出に使用したパケットの受信時刻から所定の期間は、ワームの感染拡大戦略の特定が可能な数のパケットの送受信が行われることが見込まれる長さの期間であり、実装に応じて設定され得る。また、予兆検知部32は、分析対象のパケットを選択する際に、受信時刻の代わりにパケット数を用いても良い。例えば、予兆検知部32は、ワームへの感染の検出に使用したパケットを含む所定数のパケットを戦略特定部33に出力してもよい。ここで所定数は、ワームの感染拡大戦略の特定が可能なパケット数となる任意の数である。この例では、予兆検知部32は、パケットP1~P4の4つのパケットを戦略特定部33に出力したとする。
【0046】
戦略特定部33は、予兆検知部32から入力されたパケットのIPアドレスの変動の傾向を求めることにより、ワームの感染拡大戦略を推定する。この例では、パケットP1~P4の順にパケットが送信され、宛先IPアドレスの値がパケットP1~P4の順に大きくなっている。このため、戦略特定部33は、感染したワームの感染拡大戦略は、無作為型昇順であると判定する。更に、戦略特定部33は、分析対象のパケット中の宛先IPアドレスから、感染の開始位置を特定する。感染の開始位置は、分析対象のパケットのうち、使用IPテーブル61に含まれていない宛先への最初のアクセスとなったパケットの宛先IPアドレスである。感染の開始位置を「開始IPアドレス」と記載することもある。この例では、感染の開始位置=192.168.10.11である。戦略特定部33は、特定した感染拡大戦略と感染の開始位置を決定部42に出力する(ステップS42)。
【0047】
決定部42は、感染の開始位置と戦略特定部33での推定結果に応じて、ネットワークに接続される感染可能VM52を決定する。この例では、決定部42は、感染拡大戦略が無作為型昇順であることから、感染の開始位置よりも所定の値以上大きなIPアドレスが割り振られた感染可能VM52を所定数以上ネットワークに接続することを決定する。ここで、所定の値は、情報処理装置20での感染への検出や感染拡大戦略の決定にかかる時間の間にワームが感染する端末の数に応じて、任意に設定され得る。すなわち、情報処理装置20での感染検出や感染拡大戦略の特定に要する時間中にワームが感染しておらず、かつ、感染開始位置に相対的に近いアドレスが割り当てられた感染可能VM52を決定部42が選択できるように、所定の値が設定される。また、ネットワークに接続される感染可能VM52の数は、ネットワーク中の端末への感染を遅延させようとする時間に応じて、任意に選択され得る。この例では、感染の開始位置の端末に割り当てられたIPアドレスが192.168.10.11であり、ワームが昇順の戦略を採っていることから、IPアドレス=192.168.10.16からIPアドレス=192.168.10.49の感染可能VM52が接続対象として決定されたとする。決定部42は、決定した感染可能VM52に対して接続処理を行うことにより、決定した感染可能VM52をネットワークに接続する(ステップS43)。
【0048】
IPアドレス=192.168.10.16からIPアドレス=192.168.10.49の感染可能VM52が接続されたときに、1次感染の発生している装置は、IPアドレス=192.168.10.15宛のパケットの送信を終了したとする。1次感染の発生している装置は、次に、IPアドレス=192.168.10.16宛のパケットを送信することにより、ワームの感染拡大を試みたとする。この時点では、IPアドレス=192.168.10.16の感染可能VM52がネットワークに接続されているので、ワームは、IPアドレス=192.168.10.16の感染可能VM52への感染処理を行う。その後も同様の処理により、IPアドレス=192.168.10.17からIPアドレス=192.168.10.49までの感染可能VM52の各々へ、ワームが感染処理を行う。このため、IPアドレス=192.168.10.49の感染可能VM52への感染が終わるまでは、ネットワークで使用されているIPアドレス=192.168.10.50の端末へのワームの感染が起こらない。
【0049】
図5の使用IPテーブル61に示すように、ネットワーク中で使用されているアドレスのうち、パケットP2を受信したIPアドレス=192.168.10.12の次に大きなアドレス値は、192.168.10.50である。IPアドレス=192.168.10.16~192.168.10.49の感染可能VM52をネットワークに接続していない場合、ワームは192.168.10.12の端末に感染した後で、192.168.10.50が割り当てられた端末を感染対象とする。比較対象として、IPアドレス=192.168.10.16からIPアドレス=192.168.10.49の感染可能VM52をネットワークに接続した場合を考える。この場合、IPアドレス=192.168.10.49の感染可能VM52へのワームの感染が終わるまで、192.168.10.50が割り当てられた端末へのワームの感染が起こらずに済む。従って、ネットワークで使用されている端末へのワームの感染拡大を遅延させることができる。なお、無作為型昇順の感染拡大戦略を採るワームの場合を例として説明したが、その他の感染拡大戦略を採るワームについても、感染拡大戦略に応じて感染可能VM52を接続することで同様に、ネットワーク中の装置への感染を遅らせることができる。
【0050】
図9は、感染拡大戦略の推定方法と接続対象のVMの決定方法の例を説明するフローチャートである。図9の例では、使用IPテーブル61に含まれていないアドレスへのアクセスを1回検出した時点でワームへの感染が発生していると判定する場合について説明する。なお、ワームへの感染の検出のための未使用IPアドレスへのアクセスの回数(閾値Th)は実装に応じて変更され得る。
【0051】
観測部31と予兆検知部32は、ミラーポート11を介して取得したパケットを監視することにより、ネットワークを監視する(ステップS51)。予兆検知部32は、未使用IPアドレスを宛先としたパケットを観測するまで待機する(ステップS52でNo)。ここで、未使用IPアドレスは、監視対象のネットワークで使用可能なIPアドレスの範囲のうちで使用IPテーブル61に含まれていないアドレスである。
【0052】
未使用IPアドレスを宛先としたパケットを観測すると、予兆検知部32は、戦略特定部33での分析対象となるパケットを選択する(ステップS52でYes)。戦略特定部33での分析対象のパケットの宛先IPアドレスは連続昇順であるかを判定する(ステップS53)。分析対象のパケットの宛先IPアドレスが連続昇順である場合、戦略特定部33は、ワームの感染拡大戦略が無作為型昇順であると推定する(ステップS53でYes)。そこで、決定部42は、開始IPアドレスよりも所定の値以上大きいIPアドレスを有するVM群をネットワークに接続し、ステップS51に戻る(ステップS54)。
【0053】
分析対象のパケットの宛先IPアドレスが連続昇順ではない場合、戦略特定部33は、分析対象のパケットの宛先IPアドレスが連続降順であるかを判定する(ステップS53でNo、ステップS55)。分析対象のパケットの宛先IPアドレスが連続降順である場合、戦略特定部33は、ワームの感染拡大戦略が無作為型降順であると推定する(ステップS55でYes)。そこで、決定部42は、開始IPアドレスよりも所定の値以上小さいIPアドレスを有するVM群をネットワークに接続し、ステップS51に戻る(ステップS56)。
【0054】
分析対象のパケットの宛先IPアドレスが連続降順でもない場合、戦略特定部33は、ランダム型の感染拡大戦略をとるワームへの感染が発生したと推定する(ステップS55でNo)。そこで、決定部42は、生成済みの感染可能VM52からランダムに選択した感染可能VM52をネットワークに接続し、ステップS51に戻る(ステップS57)。
【0055】
なお、図9の処理は、感染拡大戦略の推定方法の一例にすぎず、実装に応じて変更され得る。例えば、戦略特定部33は、連続昇順に宛先IPアドレスが変動していなくても分析対象のパケットの宛先アドレス値が送信時刻の経過とともに大きくなる場合、昇順の傾向があると判定できる。この場合、決定部42は、ワームの感染拡大戦略にアドレスの昇順の傾向があるという判定に基づいて、ステップS54の処理を採ることができる。
【0056】
同様に、戦略特定部33は、連続降順に宛先IPアドレスが変動していなくても分析対象のパケットの宛先アドレス値が送信時刻の経過とともに小さくなる場合、降順の傾向があると判定できる。この場合、決定部42は、ワームの感染拡大戦略にアドレスの降順の傾向があるという判定に基づいて、ステップS56の処理を採ることができる。
【0057】
このように、第1の実施形態にかかる情報処理装置20は、感染が確認されたワームが採る感染拡大戦略に応じて、ネットワーク中の端末よりも感染可能VM52がワームに感染しやすくなるように、接続する感染可能VM52を選択する。このため、情報処理装置20を用いたシステムでは、ワームが感染可能VM52への感染処理を行っている期間の分だけ、ネットワーク中の端末へのワームの感染を遅らせることができる。
【0058】
<第2の実施形態>
マルウェアの中には、1次感染した端末が属するネットワークでサーバとして動作するホスト名のリスト(ホスト名リスト、ブラウズリスト)を用いることによって、感染拡大先を限定するものもある。第2の実施形態では、ホスト名リストを用いて感染先を決定するタイプのワーム型マルウェアの感染を遅らせる場合について説明する。第2の実施形態に使用される情報処理装置20は、リスト設定部34を備えており、さらに、VM51をネットワークに常時接続しているものとする。以下、第2の実施形態で行われる処理の詳細、ワームの1次感染の発生前とワームの1次感染の発生後に分けて説明する。
【0059】
(2.1)ワームの1次感染の発生前
図10は、ホスト名リスト71の例を説明する図である。ホスト名リスト71は、ネットワーク中でホストとして動作可能な端末で使用されているホスト名のリストであり、ネットワーク中でマスタブラウザとして動作するサーバによって管理される。ネットワークでサーバとして動作する端末は、Host Announcementパケットをブロードキャストすることにより、自装置が使用するホスト名を通知する。マスタブラウザとして動作するサーバは、Host Announcementパケットから抽出したホスト名をホスト名リスト71に記録する。
【0060】
例えば、情報処理装置20が動作を開始する前に、ホスト名リスト71aに示すリストが生成されたとする。ホスト名リスト71aはネットワークに参加している任意の端末が取得できる。このため、ワームの1次感染が発生した場合、ワームに感染されている端末は、ホスト名リスト71aを取得して、感染先の候補のリストとして使用する。なお、ホスト名リスト71aは情報処理装置20が動作を開始する前に、生成されているので、ホスト名リスト71aのままでは、情報処理装置20が生成した感染可能VM52を生成しても感染可能VM52が感染対象にならない。ホスト名リスト71aが生成された後で、情報処理装置20が動作を開始したとする。
【0061】
図11は、ワームの1次感染の発生前に情報処理装置20で行われる処理の例を説明する図である。ネットワークスイッチ10のミラーポート11から受信部23が受信した全てのパケットは、観測部31と予兆検知部32に出力される(ステップS61)。観測部31は、入力されたパケットに含まれているホスト名のうち、感染可能VM52が使用するホスト名以外のホスト名を使用ホストテーブル62に記録する。ここで、感染可能VM52が使用するホスト名は作成済みVMリスト63に記録されている。そこで、観測部31は、入力されたパケットから抽出したホスト名のうち、作成済みVMリスト63に含まれていないホスト名を使用ホストテーブル62に記録する。観測部31は、入力されたパケットから抽出したIPアドレスについても、作成済みVMリスト63に記録されているかを判定する。作成済みVMリスト63に記録されているIPアドレスは感染可能VM52によって使用されており、ネットワーク中の端末に使用されているアドレスではない。そこで、観測部31は、入力されたパケットから抽出したIPアドレスのうち、作成済みVMリスト63に含まれていないIPアドレスを使用IPテーブル61に記録する。ここでは、図5に示す使用IPテーブル61と使用ホストテーブル62が生成されたとする。観測部31は、生成した使用IPテーブル61と使用ホストテーブル62を生成部41に出力する(ステップS62)。
【0062】
生成部41は、使用IPテーブル61と使用ホストテーブル62を用いて、感染可能VM52を生成する(ステップS63)。感染可能VM52の生成処理や作成済みVMリスト63の更新処理は図6および図7を参照しながら説明した処理と同様に行われる。その後、生成部41は、作成済みVMリスト63をリスト設定部34に出力する(ステップS64)。
【0063】
リスト設定部34は、作成済みVMリスト63を取得すると、感染可能VM52が使用するホスト名がホスト名リスト71に記録されるようにするために、生成された感染可能VM52のホスト名を含むパケットの送信をVM51に要求する(ステップS65)。VM51は、リスト設定部34からの要求に応じて、Host Announcementパケットなどを送信する(ステップS66)。
【0064】
例えば、情報処理装置20が生成した感染可能VM52が図7に示す作成済みVMリスト63のとおりであるとする。この場合、作成済みVMリスト63(図7)に含まれる全ての使用ホスト名についてのHost AnnouncementパケットがVM51からネットワークに送信される。
【0065】
マスタブラウザとして動作するサーバは、VM51から送信されたHost Announcementパケットに含まれているホスト名もホスト名リスト71に追加する。このため、VM51以外に新たにネットワークに参加した端末がない場合、VM51から送信されたパケットの処理により、ホスト名リスト71a(図10)はホスト名リスト71b(図10)に示すように更新される。図10のホスト名リスト71bのうち、太線で囲んだホスト名は情報処理装置20で生成された感染可能VM52のホスト名であり、作成済みVMリスト63(図7)に記録されている。
【0066】
ホスト名リスト71bには、感染可能VM52のホスト名が含まれている。このため、ワームに感染した端末がホスト名リスト71bを取得すると、ワームは、ホスト名リスト71bにホスト名が含まれている感染可能VM52を感染先の候補とする。
【0067】
図12は、第2の実施形態でのネットワークの監視処理の例を説明するフローチャートである。ステップS71~S73の処理は、図4を参照しながら説明したステップS11~S13の処理と同様である。
【0068】
観測したパケット中のIPアドレスやホスト名が既に使用IPテーブル61か使用ホストテーブル62に記録されている場合、ステップS71以降の処理が繰り返される(ステップS73でYes)。一方、観測したパケット中のIPアドレスが使用IPテーブル61に記録されていない場合、観測部31は、抽出したIPアドレスが作成済みVMリスト63に記録されているかを判定する(ステップS73でNo、ステップS74)。抽出したIPアドレスが作成済みVMリスト63に記録されている場合、ステップS71以降の処理が繰り返される(ステップS74でYes)。一方、抽出したIPアドレスが作成済みVMリスト63に記録されていない場合、観測部31は、抽出したIPアドレスを使用IPテーブル61に記録する(ステップS74でNo、ステップS75)。
【0069】
同様に、観測したパケット中のホスト名が使用ホストテーブル62に記録されていない場合、観測部31は、抽出したホスト名が作成済みVMリスト63に記録されているかを判定する(ステップS73でNo、ステップS74)。抽出したホスト名が作成済みVMリスト63に記録されている場合、ステップS71以降の処理が繰り返される(ステップS74でYes)。一方、抽出したホスト名が作成済みVMリスト63に記録されていない場合、観測部31は、抽出したホスト名を使用ホストテーブル62に記録する(ステップS74でNo、ステップS75)。ステップS75の処理後、ステップS71以降の処理が繰り返される。
【0070】
図13は、リスト設定部34で行われる処理の例を説明するフローチャートである。リスト設定部34は、作成済みVMリスト63を監視する(ステップS81)。作成済みVMリスト63に更新が発生するまで、リスト設定部34は待機する(ステップS82でNo)。作成済みVMリスト63に更新が発生すると、リスト設定部34は、感染可能VM52の追加が発生しているかを判定する(ステップS82でYes、ステップS83)。感染可能VM52の追加が発生していない場合、感染可能VM52が削除されたことになる(ステップS83でNo)。すると、リスト設定部34は、削除されたエントリの感染可能VM52用に生成したタイマを削除し、ステップS81に戻る(ステップS84)。
【0071】
なお、感染可能VM52用に生成されたタイマとは、その感染可能VM52に割り当てられたホスト名を含むHost Announcementパケットの送信間隔の計測に用いられる。従って、タイマの値は、そのタイマに対応付けられている感染可能VM52の情報がホスト名リスト71から削除されない程度の間隔でHost Announcementパケットが送信されるように設定される。VM51は、リスト設定部34によって生成されたタイマが満了するたびに、そのタイマに対応付けられた感染可能VM52に割り当てられたホスト名を含むHost Announcementパケットを送信している。
【0072】
一方、感染可能VM52の追加が発生している場合、リスト設定部34は、追加された感染可能VM52のホスト名を含むHost Announcementパケットを生成し、VM51に定期送信を依頼する(ステップS83でYes、ステップS85)。さらに、リスト設定部34は、追加された感染可能VM52のホスト名を含むパケットの定期送信の間隔をVM51が計測するためのタイマを生成する。なお、VM51は、常時接続している仮想マシンである。
【0073】
図10図13を参照しながら説明した処理により、感染可能VM52の接続前の段階で、ネットワーク中のマスタブラウザによって管理されているホスト名リスト71に、全ての感染可能VM52に割り当てられているホスト名が登録される。
【0074】
(2.2)ワームの1次感染の発生後
図14は、第2の実施形態にかかる情報処理装置で行われる処理の例を説明する図である。図14中のステップS61~S66の処理は、図11などを参照しながら説明した処理と同様である。ワームの感染が検出された後もネットワークでのIPアドレスやホスト名の使用状況の変動や感染可能VM52の追加等が起こる可能性があるので、ステップS61~S66の処理はワームの感染を検出したかに関わらず継続される。
【0075】
予兆検知部32にも受信部23がミラーポート11から受信したパケットが入力される。予兆検知部32は、使用IPテーブル61に含まれていないIPアドレスへのアクセス回数が閾値Th以上になるとワームの感染を検出したと判定する。ワームへの感染が発生したと判定すると、予兆検知部32は、感染拡大戦略を特定するための分析対象のパケットを、戦略特定部33に出力する(ステップS91)。予兆検知部32でのワームの1次感染の検知と分析対象のパケットの選択は第1の実施形態と同様に行われる。
【0076】
戦略特定部33は、予兆検知部32から入力されたパケットのIPアドレスの変動の傾向を求めることにより、ワームの感染拡大戦略を推定する。推定処理などの具体例は、図15を参照しながら後述する。戦略特定部33は、推定結果を決定部42に出力する(ステップS92)。決定部42は、推定結果に応じて接続する感染可能VM52を決定する。決定部42は、決定した感染可能VM52に対して接続処理を行うことにより、決定した感染可能VM52をネットワークに接続する(ステップS93)。
【0077】
図15は、第2の実施形態での感染戦略の推定方法と接続対象のVMの決定方法の例を説明するフローチャートである。図15のステップS101~S106の処理は、図9を参照しながら説明したステップS51~S56の処理と同様である。
【0078】
分析対象のパケットの宛先IPアドレスが連続昇順と連続降順のいずれでもない場合、感染を起こしたワームの感染拡大戦略はホスト名リスト71に含まれるホストを標的とする戦略かランダムのいずれかである可能性が高い(ステップS105でNo)。ここで、ホスト名リスト71には、ネットワークに実際に接続されている端末の情報と、感染可能VM52の情報が含まれている。このため、ホスト名リスト71中のホストを標的とするタイプのワームの1次感染が起こった場合、2次感染の標的とされる端末は、実際にネットワークに接続されている端末か感染可能VM52のいずれかである。また、ネットワークに実際に接続されている端末のIPアドレスは使用IPテーブル61に記録されており、感染可能VM52に割り当てられているIPアドレスは作成済みVMリスト63に含まれている。一方、ランダム型のワームは、ホスト名リスト71に含まれていないIPアドレスに対しても2次感染用のパケットを送信し得る。そこで、戦略特定部33は、分析対象のパケットの宛先IPアドレスは作成済みVMリスト63か使用IPテーブル61に含まれるアドレスのみであるかを判定する(ステップS107)。
【0079】
分析対象のパケットの宛先IPアドレスが作成済みVMリスト63と使用IPテーブル61のいずれにも含まれないアドレスを含む場合、感染を起こしたワームは感染先をランダムに選択する戦略を使用している(ステップS107でNo)。そこで、決定部42は、ランダムに選択した感染可能VM52をネットワークに接続し、ステップS101に戻る(ステップS108)。
【0080】
分析対象のパケットの宛先IPアドレスが作成済みVMリスト63か使用IPテーブル61に含まれるアドレスのみである場合、感染を起こしたワームはホスト名リスト71に含まれるホストを標的とする戦略を使用している(ステップS107でYes)。すると、戦略特定部33は、分析対象のパケットの宛先ホスト名は、アルファベット順で昇順または降順であるかを判定する(ステップS109)。分析対象のパケットの宛先ホスト名は、アルファベット順で昇順または降順である場合、これからの感染対象に選択される可能性の高いホスト名の予測が可能である(ステップS109でYes)。すなわち、アルファベット昇順の場合には、1次感染が発生しているホストよりもアルファベット順での順番が遅いホストがこれからの感染対象とされる可能性がある。一方、アルファベット降順の場合には、1次感染が発生しているホストよりもアルファベット順での順番が早いホストがこれからの感染対象とされる可能性がある。そこで、決定部42は、これからの感染対象になる可能性の高いホスト名を持つVM群を接続対象とし、ネットワークに接続し、ステップS101に戻る(ステップS110)。
【0081】
分析対象のパケットの宛先ホスト名は、アルファベット順で昇順と降順のいずれでもない場合、これからの感染対象はホスト名リスト71からランダムに選択されている可能性が高い(ステップS109でNo)。そこで、決定部42は、生成済みの感染可能VM52からランダムに選択した感染可能VM52をネットワークに接続し、ステップS101に戻る(ステップS111)。
【0082】
このように、感染可能VM52の接続前の時点で、生成した感染可能VM52のホスト名をホスト名リスト71に登録しておくことで、感染可能VM52を接続したときに感染可能VM52が感染対象となるようにすることができる。このため、ホスト名リスト71を用いて感染を拡大するワームについても、ワームが感染可能VM52への感染処理を行っている期間の分だけ、ネットワーク中の端末へのワームの感染を遅らせることができる。
【0083】
<第3の実施形態>
第2の実施形態ではワームがホスト名リスト71を用いて感染先を特定する場合について説明したが、ホスト名リスト71の代わりに感染先の端末が保持するARP(Address Resolution Protocol)テーブルを用いて感染先を選択するタイプのワームも存在する。第3の実施形態では、ARPテーブルを用いて感染先を選択するタイプのワームに対応可能な実施例を説明する。
【0084】
以下、ワームの1次感染の発生前に行われる処理について説明する。第3の実施形態での観測部31の動作は、図12を参照しながら説明した処理と同様である。
【0085】
図16は、第3の実施形態で用いられる作成済みVMリスト63の例を説明する図である。第3の実施形態で用いられる作成済みVMリスト63は、感染可能VM52の各々について、IPアドレス、ホスト名、MACアドレスを対応付けている。第3の実施形態では、生成部41は、感染可能VM52を生成する際に感染可能VM52の各々に割り当てられているMACアドレスも作成済みVMリスト63に記録する。例えば、図16の1番目のエントリの感染可能VM52のホスト名はKoujou11であり、IPアドレス=192.168.10.11とMACアドレス=AA-BB-CC-DD-EE-FFが割り当てられている。作成済みVMリスト63の他のエントリも同様に、そのエントリに対応する感染可能VM52のホスト名、IPアドレス、MACアドレスを記録する。生成部41は、感染可能VM52の生成処理と作成済みVMリスト63の更新が終わると、作成済みVMリスト63をリスト設定部34に出力する。
【0086】
図17は、第3の実施形態でのリスト設定部34の処理の例を説明するフローチャートである。図17のフローチャートでは、変数mと定数Nを用いる。変数mはARPリクエストの送信数を計数するために用いられる。定数Nは、ネットワーク中に接続されている端末の総数であり、使用IPテーブル61に含まれているIPアドレスの数と同じ値である。
【0087】
図17中のステップS121~S124の処理は、図13のステップS81~S84を参照しながら説明した処理と同様である。感染可能VM52の追加が発生している場合、リスト設定部34は、追加された感染可能VM52用のタイマを生成する(ステップS125)。ここで、感染可能VM52用に生成されたタイマは、その感染可能VM52の情報を送信元の情報としたARPリクエストの送信処理を行う間隔の計測に用いられる。従って、タイマの値は、そのタイマに対応付けられている感染可能VM52の情報がARPテーブルから削除されない程度の任意の間隔でARPリクエストが送信されるように設定される。
【0088】
リスト設定部34は、変数mを1に設定する(ステップS126)。リスト設定部34は、ARPリクエストの定期送信を、常時接続しているVM51に依頼する(ステップS127)。ここで、ARPリクエストは、追加された感染可能VM52の情報を送信元に設定し、ネットワーク中のm番目の装置のIPアドレスを問合わせ対象として含むものとする。VM51は、リスト設定部34から送信を依頼されたARPリクエストを送信し、その後もARPリクエストの送信元の感染可能VM52に対応付けられたタイマが満了するたびに、リスト設定部34から依頼されたARPリクエストを送信する。
【0089】
一方、リスト設定部34は、変数mを1つインクリメントして、定数Nと比較する(ステップS128、S129)。変数mが定数N以下の場合、リスト設定部34はステップS127以降の処理を繰り返す(ステップS129でNo)。変数mが定数Nを超えた場合、使用IPテーブル61に含まれている全てのIPアドレスについてのARPリクエストの定期送信をVM51に依頼したことになる(ステップS129でYes)。そこで、リスト設定部34は、ステップS121以降の処理を繰り返す。
【0090】
ここで、ステップS126~S129の処理によって各端末が保持するARPテーブルが更新される場合の処理の例を説明する。例えば、ホスト名=Koujou11が割り当てられた感染可能VM52が追加されたとする。また、使用IPテーブル61のm番目のエントリに記録されたIPアドレスが、ARPパケット中の宛先IPアドレスとして選択されるとする。すると、変数mが1に設定されたとき、使用IPテーブル61(図5)の1番目のエントリの端末(端末A)のMACアドレスを問合わせるARPリクエストが送信される。すなわち、ARPパケット内に以下の情報を含むARPリクエストがネットワークにブロードキャストされる。
【0091】
送信元MACアドレス:192.168.10.11
送信元IPアドレス :AA-BB-CC-DD-EE-FF
宛先IPアドレス :192.168.10.1
【0092】
ネットワーク中の端末A以外の端末は、ARPリクエストを無視する。一方、ネットワーク中の端末Aは、自装置のMACアドレスを通知するARPリプライを送信するとともに、ARPパケットの送信元のMACアドレスと送信元IPアドレスをARPテーブルに記録する。この処理により、端末Aが保持するARPテーブルにホスト名=Koujou11の感染可能VM52の情報が記録される。その後、変数mがインクリメントされるごとに、使用IPテーブル61のm番目のエントリのIPアドレスを使用する端末のMACアドレスを問合わせるARPリクエストが送信される。このため、使用IPテーブル61のm番目のエントリのIPアドレスを使用する端末は、ARPリプライの返信に際して、ARPリクエストの送信元となっている感染可能VM52の情報を自装置のARPテーブルに追加する。
【0093】
VM51は各感染可能VM52について、タイマが満了するたびに使用IPテーブル61に含まれる各IPアドレスのアドレス解決を要求するARPリクエストを送信する。このため、ネットワーク中のいずれの端末が保持するARPテーブルでも生成された全ての感染可能VM52の情報が保持される。
【0094】
第3の実施形態でのワームの1次感染の発生後の処理は、図9に示す処理と同様である。図17を参照しながら説明した処理により、生成された全ての感染可能VM52の情報がネットワーク中の全ての端末のARPテーブルに保持されている。このため、ARPテーブルを用いて感染先を決定するタイプのワームであっても、感染可能VM52を感染先の候補とし得る。そこで、決定部42は、ワームの感染拡大戦略に応じて、次に感染先として選択される可能性の高い感染可能VM52をネットワークに接続することで、感染可能VM52へのワームの感染を誘発できる。このため、ARPテーブルを用いて感染を拡大するワームについても、ワームが感染可能VM52への感染処理を行っている期間の分だけ、ネットワーク中の端末へのワームの感染を遅らせることができる。
【0095】
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【0096】
情報処理装置20自身もネットワークに参加しても良い。この場合、いずれの実施形態でも、受信部23はミラーポート11を介さずにネットワーク中で送受信されるパケットを受信し得る。さらに、情報処理装置20がネットワークに参加している場合、第2、第3の実施形態では、情報処理装置20はVM51を生成しなくてもよい。リスト設定部34は、リスト設定部34が生成したHost AnnouncementパケットやARPリクエストを所定の期間ごとに送信できる。
【0097】
情報処理装置20は、ゲストOS処理部50を備える代わりに、他の情報処理装置に対して、感染可能VM52やVM51の生成を要求してもよい。
【0098】
第2、第3の実施形態で使用されるタイマの満了にかかる時間の設定方法は実装に応じて任意に変更され得る。
【0099】
第2の実施形態では、生成した全ての感染可能VM52のホスト名をHost Announcementを用いてホスト名リスト71に埋め込む場合について説明したが、これは一例に過ぎない。例えば、生成した感染可能VM52の一部を選択した上で、選択した感染可能VM52のホスト名をホスト名リスト71に記録させるためのHost Announcementを送信してもよい。この場合、図15のステップS110では、Host Announcementを送信済みの感染可能VM52の中から、これからの感染対象になる可能性の高いホスト名を持つVM群が選択されて、ネットワークに接続される。また、図15のステップS111では、Host Announcementを送信済みの感染可能VM52の中からランダムに選択した感染可能VM52がネットワークに接続される。
【0100】
いずれの実施形態においても、感染拡大戦略の推定(特定)の方法は、実装に応じて変更され得る。例えば、戦略特定部33は、連続昇順に宛先IPアドレスが変動していなくても分析対象のパケットの宛先アドレス値が送信時刻の経過とともに大きくなる場合、昇順の傾向があると判定できる。同様に、戦略特定部33は、連続降順に宛先IPアドレスが変動していなくても分析対象のパケットの宛先アドレス値が送信時刻の経過とともに小さくなる場合、降順の傾向があると判定できる。
【符号の説明】
【0101】
10 ネットワークスイッチ
11 ミラーポート
20 情報処理装置
21 通信部
22 送信部
23 受信部
30 制御部
31 観測部
32 予兆検知部
33 戦略特定部
34 リスト設定部
40 VM管理部
41 生成部
42 決定部
50 ゲストOS処理部
51 VM
52 感染可能VM
60 記憶部
61 使用IPテーブル
62 使用ホストテーブル
63 作成済みVMリスト
71 ホスト名リスト
101 プロセッサ
102 メモリ
103 バス
104 ネットワーク接続装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17