【文献】
来間 一郎、他,SDNによるマルウェア調査のためのネットワーク切り替え手法,電子情報通信学会技術研究報告,日本,一般社団法人電子情報通信学会,2014年 6月26日,Vol.114 No.118,117−124頁
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
---発明の概要---
本発明の一実施形態に係るネットワーク制御システム10では、マルウェアに感染されたと疑われる装置(以下、マルウェア感染端末という。)を隔離するにあたり、ネットワーク上の通信を監視し、各通信コネクションの開始・終了を把握した上で、通信が切断されているタイミングでネットワーク機器(スイッチ)の設定を変更してマルウェア感染端末の通信先をダミーサーバに設定するようにしている。マルウェアは、外部サーバとの通信が遮断された事象を検知して、自身が調査されていると判断し、これに応じて、活動を停止してやりすごそうとしたり、マルウェア自身やシステムログを消去して証拠隠滅を図ったり、感染先の全データを破壊しようとしたりすることがあるところ、上記のように通信が切断されているタイミングでマルウェア感染端末からの通信をダミーサーバへ誘導することで、マルウェアに検知されることなくマルウェア感染端末を隔離することができる。
【0015】
本実施形態では、スイッチの中でも、条件にマッチしたパケットに対してアクションを行うオープンフロー(OpenFlow)スイッチ(以下、単にスイッチという。)を用いる。まずネットワーク切り替え制御サーバ101は、スイッチからネットワーク切り替え制御サーバ101にパケットを転送するように設定するとともに、スイッチからパケットが転送されてきた場合にはそのままサーバに送信する旨の指示を付帯させて当該パケットをスイッチに返送する。これにより、スイッチの設定変更処理が完了してもしなくても、スイッチから送信されるパケットの宛先はサーバのままとすることができる。その後、ネットワーク切り替え制御サーバ101は、マルウェア感染端末およびサーバの間での通信が終了していることを確認する。通信が終了したタイミングで、ネットワーク切り替え制御サーバ101は、サーバ宛てのパケットをダミーサーバに転送するようにスイッチを設定するとともに、スイッチからパケットが転送されてきた場合にはダミーサーバに送信する旨の指示を付帯させて当該パケットをスイッチに返送するようにする。これにより、スイッチの設定変更処理が完了してもしなくても、スイッチから送信されるパケットの宛先はダミーサーバとすることができる。このようにして、本実施形態では、スイッチの設定変更処理に時間がかかる場合であっても、確実にマルウェア感染端末とサーバとの間の通信が終了したタイミングで、マルウェア感染端末の通信相手をダミーサーバに切り替えてマルウェア感染端末を隔離することができる。
【0016】
さらに、本実施形態のネットワーク制御システムでは、ネットワーク機器の設定変更途中にマルウェア感染端末からの通信が開始された場合、通信が終了するまで設定変更を保留し、通信終了後に設定変更を続行する。これにより、ネットワーク機器の設定に時間がかかる場合であっても、確実に通信が切断されているタイミングにマルウェア感染端末を隔離することができる。
【0017】
以下、図面を使って、本実施形態におけるネットワーク制御システムの例について説明する。
【0018】
---システム構成例---
図1は、本実施形態のネットワーク制御システム10と、当該ネットワーク制御システム10が制御対象とするネットワークとを含むネットワーク構成図である。本実施形態におけるネットワーク制御システム10は、ネットワーク切り替え制御サーバ101と、ネットワーク監視サーバ102とから構成される。なお、本実施形態ではネットワーク制御システム10を、上述のようにネットワーク制御切り替えサーバ101とネットワーク監視サーバ102とから構成する形態を例示しているが、1体のサーバのみでネットワーク制御システム10を構成するようにしてもよいし、或いは、3体以上のサーバで構成するようにしてもよい。
【0019】
また、本実施形態におけるネットワーク制御システム10の制御対象となるネットワークは、スイッチ151と、このスイッチ151に接続され、インターネット195に接続するサーバ152〜153と、このスイッチ151に接続され、内部に仮想環境をもつダミーサーバ構築用ホスト154と、ハブ155を介してこのスイッチ151に接続されるクライアント端末156〜157と、ネットワーク196を介してこのスイッチ151に接続される調査端末158とから構成される。このうちスイッチ151およびダミーサーバ構築用ホスト154は、管理用通信路191を介してネットワーク切り替え制御サーバ101に接続されている。また、スイッチ151は、制御対象ネットワークを監視するための通信路192を介してネットワーク監視サーバ102にも接続されている。
【0020】
---ネットワーク切り替え制御サーバ101---
こうしたネットワーク構成におけるネットワーク切り替え制御サーバ101は、マルウェア感染等の事象(インシデントと呼ばれる。)の発生時に、システム管理者の指示を受け、制御対象ネットワーク上のネットワーク機器(すなわちスイッチ151)の設定を変更することで、特定のクライアント端末(例:クライアント端末156)と特定のサーバ(例:サーバ152)との通信を制御(中継、変更または遮断)する役割を持つ。
【0021】
上述のネットワーク切り替え制御サーバ101は、システム管理者がネットワークの構成情報を入力する際のインターフェイスとなる設定時入力部111と、この設定時入力部111から入力された情報を保持するネットワーク構成DB131と、システム管理者がインシデント対応時にインシデント情報および隔離命令を入力する際のインターフェイスとなるインシデント時入力部112と、このインシデント時入力部112からの入力を受けてインシデント情報を管理し各部に指示を出すインシデント時制御部113と、このインシデント時制御部113が扱う情報を格納するインシデント管理DB132と、インシデント時制御部113からの指示を受けダミーサーバを構築、管理、削除するダミーサーバ管理部116と、ダミーサーバの制御を行うダミーサーバ制御部117と、ダミーサーバ管理部116らが扱う情報を格納するダミーサーバ管理DB133と、インシデント時制御部113からの指示を受けてネットワーク設定を変更、管理する通信路管理部114と、サーバ・クライアント間の通信路に係る制御を行う通信路制御部115と、通信路管理部114等で扱う情報を格納する通信路管理DB134と、通信路制御部115が参照するパラメタを格納する切り替え設定DB135と、管理対象ネットワーク上の機器と接続するための通信インターフェイス193とを備える。
【0022】
このうち通信路制御部115は、ネットワーク監視サーバ102から通信履歴を取得して適切なネットワーク切り替えタイミングを判定し、通信インターフェイス193を介して制御対象ネットワーク上のスイッチ151に設定変更指令を送信するスイッチ制御121と、スイッチ151から送信される、通信インターフェイス193に流入するパケットを受信し、受信したパケットの内容を分析、変更して、スイッチに処理方法の指示とともに返送するパケット処理部122とを備える。
【0023】
---ネットワーク監視サーバ102---
一方、ネットワーク監視サーバ102は、制御対象ネットワークのスイッチ151から通信路192へ送信されるパケットのコピー(ミラー情報)を常に取得し、取得したミラー情報に基づいてサーバ・クライアント間の通信状態を判別、格納して、インシデント発生時にネットワーク切り替え制御サーバ101に提供する役割を持つ。
【0024】
ネットワーク監視サーバ102は、制御対象ネットワークを監視するための通信路192に接続する通信インターフェイス194と、通信路192の通信内容を保持する通信履歴DB136と、通信路192の通信のうち、通信開始と終了の情報のみを抽出して通信履歴DB136に格納する通信状態取得部118と、通信状態取得部118が参照するパラメタを格納する監視設定DB137とを備える。
【0025】
---ダミーサーバ構築用ホスト154---
ダミーサーバ構築用ホスト154の論理構成は、仮想スイッチ161と、ダミーサーバ162および163とからなる。なお、ダミーサーバ構築用ホスト154は、仮想スイッチ161を複数備えるようにしてもよいし、ダミーサーバ162および163を1つのみまたは3つ以上備えるようにしてもよい。
【0026】
---システム構成の変形例---
図1の例では、物理スイッチをスイッチ151のみの構成としたが、スイッチ151は複数台あってもよい。また、ダミーサーバ構築用ホスト156も複数台あってもよい。また、サーバ152〜153、ダミーサーバ162〜163の数は任意である。また、スイッチ151、仮想スイッチ161は、管理用通信路191を介してネットワーク切り替え制御サーバ101からの指令を受け、設定を変更可能である。
【0027】
---ハードウェア構成例---
続いて、
図2を用いてネットワーク切り替え制御サーバ101、およびネットワーク監視サーバ102のハードウェア構成例について説明する。
図2は、本実施形態のネットワーク制御システム10を構成する装置のハードウェア構成例を示す図である。
【0028】
本実施形態におけるネットワーク切り替え制御サーバ101およびネットワーク監視サーバ102のハードウェア構成は、サーバ装置として同じであり、CPU201、メモリ202、記憶装置203、通信インターフェイス204、入力装置205、および出力装置206が、バス207で接続された構成となっている。
【0029】
このうちCPU201は中央演算装置であり、メモリ202(または記憶装置203)に保持しているプログラム210を実行することで、必要な機能(機能部)を実装する。例えばネットワーク切り替え制御サーバ101におけるCPU201は、設定時入力部111、インシデント時入力部112、インシデント時制御部113、通信路管理部114、通信路制御部115、ダミーサーバ管理部116、ダミーサーバ制御部117、スイッチ制御部121およびパケット処理部122の各機能を実装する。また、ネットワーク監視サーバ102におけるCPU201は、通信状態取得部118の機能を実装する。
【0030】
またメモリ202は、上述のCPU201が処理を実行する際に利用する主記憶装置であり、RAMなど揮発性記憶素子で構成される。一方、記憶装置203は、CPU201へ提供する入力データやCPU201から出力される出力データを保管するための補助記憶装置であり、SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される。また、本実施形態のネットワーク切り替え制御サーバ101における記憶装置203は、ネットワーク構成DB131、インシデント管理DB132、ダミーサーバ管理DB133、通信路管理DB134、および切り替え設定DB135を格納している。また、ネットワーク監視サーバ102における記憶装置203は、通信履歴DB136および監視設定DB137を格納している。
【0031】
また、通信インターフェイス204は、外部ノードとの通信を行う通信装置であり、各種ネットワークと通信を行う。
【0032】
また、入力装置205は、操作者からのキー入力や音声入力を受け付けるインターフェイスであり、例えば、キーボード、タッチパネル、カードリーダ、音声入力装置などで構成される。
【0033】
また、出力装置206は、操作者に対して処理データの出力を行うインターフェイスであり、例えば、ディスプレイ、スピーカー、プリンタなどで構成される。
【0034】
---ネットワーク構成DBの構成例---
次に、本実施形態のネットワーク制御システム10が用いるデータベースにおけるテーブル構造例について説明する。ここではまず、
図3〜
図5を使ってネットワーク構成DB131のテーブル構成例について説明する。本実施形態におけるネットワーク構成DB131は、スイッチテーブル400、サーバテーブル410、およびダミーサーバ構築用ホストテーブル420を含んでいる。
図3はスイッチテーブル400の構成例を示す図であり、
図4はサーバテーブル410の構成例を示す図であり、
図5はダミーサーバ構築用ホストテーブル420の構成例を示す図である
このうちスイッチテーブル400は、ネットワーク切り替え制御サーバ101が、ネットワーク191を通して操作可能なスイッチ151および仮想スイッチ161の一覧を保持するテーブルであり、スイッチID401と、対応するスイッチ151または仮想スイッチ161の管理用IPアドレス402との組み合わせを一つのレコードとする。このスイッチテーブル400におけるレコード数は、ネットワーク切り替え制御サーバ101が操作するスイッチ151および仮想スイッチ161の数に伴い変動する。
【0035】
また、サーバテーブル410は、ネットワーク切り替え制御サーバ101が、クライアント端末156からの接続の可否を管理するサーバ152〜153の一覧を保持するテーブルであり、サーバID411をキーとして、該当サーバのIPアドレス412、用途413、デフォルトの隔離設定414、接続されるスイッチID415、その接続ポート番号416、およびイメージファイル417を対応付けたレコードの集合体となっている。イメージファイル417は、サーバ152〜153に対応するダミーサーバの設定情報である。このサーバテーブル410のレコード数は、ネットワーク切り替え制御サーバ101が管理するサーバ152〜153の数に伴い変動する。
【0036】
また、ダミーサーバ構築用ホストテーブル420は、ネットワーク切り替え制御サーバ101が管理する、ダミーサーバを構築するコンピュータ(ホスト)の一覧を保持するためのテーブルであり、ダミーサーバ構築用ホスト154の識別情報であるホストID421をキーとして該当ダミーサーバ構築用ホスト154のIPアドレス422を対応付けたレコードの集合体となっている。このダミーサーバ構築用ホストテーブル420のレコード数は、ネットワーク切り替え制御サーバ101が管理するダミーサーバ構築用ホスト154の数に伴い変動する。
【0037】
なお、これら各テーブルの構成はあくまで一例であり、例えば各機器のMACアドレスを登録する列を加えるなど、必要に応じて構成を変化させても良い。
【0038】
---インシデント管理DBの構成例---
次にインシデント管理DB132のテーブル構成例について説明する。
図6は本実施形態のインシデント管理DB132に含まれるインシデントテーブル500の構成例を示す図である。このインシデントテーブル500は、マルウェア感染が疑われるクライアント端末156(マルウェア感染端末)の情報を保持するテーブルであり、インシデントの識別情報であるインシデントID501をキーとして、マルウェア感染端末たるクライアント端末156のIPアドレスすなわち感染クライアントIP502を対応付けたレコードの集合体となっている。このインシデントテーブル500のレコード数は、システム管理者が登録したマルウェア感染クライアントの数に伴い変動する。なお、ここで示したレコード構成はあくまで一例であり、例えば感染クライアントごとに個別のVLANのIDを割り振って隔離する場合、VLANのIDを格納する列を加えても良い。
【0039】
---ダミーサーバ管理DBの構成例---
次にダミーサーバ管理DB133のテーブル構成例について説明する。
図7は本実施形態のダミーサーバ管理DB133におけるダミーサーバテーブル600の構成例を示す図である。このダミーサーバテーブル600は、インシデント対処時に仮想マシン上に構築するダミーサーバ162、163の情報を保持するためのテーブルであり、インシデントの識別情報であるインシデントID601と、該当ダミーサーバの識別情報であるサーバID602とをキーとして、当該ダミーサーバが構築されているダミーサーバ構築用ホスト154の識別情報であるホストID603、接続先のスイッチの識別情報であるスイッチID604、接続ポート番号605、および現在状態606を対応付けたレコードの集合体となっている。このダミーサーバテーブル600のレコード数は、インシデント対応時にシステム管理者が構築するダミーサーバ162〜163の数に伴い変動する。
【0040】
---通信路管理DBの構成例---
続いて本実施形態における通信路管理DB134のテーブル構成例について説明する。本実施形態の通信路管理DB134は通信路テーブル700を含んでいる。
図8は通信路テーブル700の構成例を示す図である。この通信路テーブル700は、クライアント端末156と各サーバ152〜153との間の各経路すなわち通信路の一覧を保持するためのテーブルであり、通信路の識別情報たる通信路ID701をキーとして、該当通信路に接続されるクライアント端末のIPアドレス702、そのクライアントポート番号703、該当通信路に接続されるサーバのIPアドレス704およびポート番号705、該当クライアント端末を隔離するか否かを示す隔離設定706、ならびに現在の通信路における通信の状態を示す現在状態707を対応付けたレコードの集合体となっている。この通信路テーブル700のレコード数は、起動している通信路制御部115の数に伴い変動する。
【0041】
---切り替え設定DBの構成例---
次に切り替え設定DB135の構成について説明する。本実施形態における切り替え設定DB135は、ネットワーク切り替え制御サーバ101での処理で必要なパラメタを格納するデータベースであり、パラメタテーブル800を含んでいる。
【0042】
図9はパラメタテーブル800の構成例を示す図である。パラメタテーブル800は、通信路制御部115が参照するパラメタの名称(パラメタ名801)とそのパラメタの値802とを対応付けたレコードの集合体となっている。ここで例示するパラメタテーブル800は、通信路制御部115が参照する切り替え途中に待機する時間(待機時間)の値として10秒が設定されている。
【0043】
---監視設定DBの構成例---
次に監視設定DB137の構成について説明する。本実施形態における監視設定DB137は、ネットワーク監視サーバ102での処理で必要なパラメタを格納するデータベースであり、監視パラメタテーブル810を含んでいる。
図10は監視パラメタテーブル810の構成例を示す図である。監視パラメタテーブル810は、パラメタ名811とその値812とを対応付けたレコードの集合体となっている。ここで例示する監視パラメタテーブル810は、通信状態取得部118が参照する、通信履歴DB136に格納するログの保存期間の値として24時間が設定されている。
【0044】
---通信履歴DBの構成例---
次に本実施形態の通信履歴DB136の構成例について説明する。本実施形態における通信履歴DBは、制御対象ネットワーク上の通信に関する情報を格納するデータベースであり、通信履歴テーブル900を含んでいる。
図11は通信履歴テーブル900の構成例を示す図である。
【0045】
通信履歴テーブル900は、制御対象ネットワーク上のサーバ152〜153とクライアント端末156との通信状態について、通信中か否かを記録するテーブルであり、更新時刻901をキーとして、通信相手のうちの一方であるクライアント端末156のIPアドレス902、そのポート番号903、通信相手のうちの他方であるサーバのIPアドレス904、そのポート番号905、および通信状態906を対応づけたレコードの集合体となっている。本実施形態では通信状態906は「通信中」または「切断中」のいずれかであるものとするが、たとえばハンドシェークの開始など、通信コネクションの確立、切断など各種の通信に関する状態を通信状態906に設定するようにしてもよい。この通信履歴テーブル900のレコード数は可変であり、登録されてから一定時間が経過したレコードは消去される。
【0046】
---設定時入力部の詳細---
次に、
図12〜14を用いて設定時入力部111について説明する。設定時入力部111は、予めシステム管理者から情報の入力を受け付けてネットワーク構成DB131に登録する。
図12〜14は本実施形態の設定時入力部111がシステム管理者からの情報の入力を受け付けるためのインターフェイス例1〜3(画面1000、1010、1020)をそれぞれ示す図である。設定時入力部111は、スイッチ情報入力画面1000、サーバ情報入力画面1010、およびダミーサーバ用ホスト入力画面1020の3つの画面をタブ形式にて一体に提供可能である。システム管理者は、この画面1000、1010、1020のうち希望の画面についてタブ1030によって選択できる。
【0047】
システム管理者は、こうした設定時入力部111を通して、制御対象ネットワークの構成情報をネットワーク構成DB131に入力する。設定時入力部111は、スイッチ情報入力画面1000、サーバ情報入力画面1010、およびダミーサーバ用ホスト入力画面1020にて入力された情報を、それぞれスイッチテーブル400、サーバテーブル410、およびダミーサーバ構築用ホストテーブル420に格納する。
【0048】
---インシデント時入力部の詳細---
次に、
図15を用いてインシデント時入力部112について説明する。
図15は本実施形態のインシデント時入力部112がシステム管理者から情報の入力を受け付けるためのインターフェイス例(画面1100、1110)を示す図である。
【0049】
インシデント時入力部112が提供する現在状況画面1100では、システム管理者はインシデント対応中の案件について現在の状況を確認できる。現在状況画面110はIPアドレス一覧1101および隔離状態一覧1102を含む。IPアドレス一覧1101は、マルウェア感染端末のIPアドレスをプルダウン形式で選択可能としたものである。具体的には、インシデント時入力部112は、各クライアント端末156、157のIPアドレスのうち、通信路管理DB134の通信路テーブル700において当該IPアドレスに対応する隔離設定706が「隔離」となっているものをIPアドレス一覧1101に選択可能に設定する。
【0050】
システム管理者が、インシデント対応中のクライアント端末すなわちマルウェア感染端末156をIPアドレス一覧1101から選択すると、インシデント時入力部112は、選択されたIPアドレスとクライアントIPアドレス702とが一致するレコードを通信路管理DB134の通信路テーブル700から読み取って、読み取ったレコードに基づいて、該当する通信路の状況を隔離状態一覧1102に表示する。
図15の例では、サーバIPアドレス704に対応するホスト名が接続先サーバとして表示され、これに対応付けて現在状態707が表示されている。
【0051】
また、この隔離状態一覧1102は、各通信路について「隔離中止」ボタン1103を備え、システム管理者がこれを押下することで、インシデント時入力部112は、該当クライアント・サーバ間の通信路に関して、上述の通信路テーブル700での現在状態707を「隔離復帰状態」に、隔離設定706を「隔離しない」にそれぞれ遷移させる。あるクライアント端末156について、全ての通信路の復帰が完了した場合、インシデント対応完了となり、インシデント時入力部112は、該当クライアント端末156のIPアドレスをIPアドレス一覧1101のプルダウンメニューから取り除く。一方、システム管理者が新たなインシデントを入力する場合、「新規作成」ボタン1104を押すことで、インシデント時入力部112は、新規インシデント入力画面1110を表示させる。
【0052】
他方、新規インシデント入力画面1110において、インシデント入力部112は、ネットワーク構成DB131のサーバテーブル410を参照し、サーバ一覧1112を表示する。このうち隔離設定のデフォルト値は、デフォルト隔離設定414に従う。
【0053】
システム管理者は、入力欄1111にインシデント対応の対象となるクライアント端末156のIPアドレスを入力し、サーバ一覧1112に該当クライアント端末156から各サーバへの隔離設定と、ダミーサーバを動作させるダミーサーバ構築用ホスト154の割り当て(隔離先)とを入力する。その後、システム管理者が「決定」ボタン1113を押すことで、インシデント入力部112は、入力されたクライアント端末156のIPアドレスと各サーバへの隔離設定を、新たなインシデント案件として、インシデントテーブル500、ダミーサーバテーブル600、通信路テーブル700に登録する。その後、インシデント時入力部112は、上述した現在状況画面1100を表示する。また、システム管理者が「戻る」ボタン1114を押した場合、入力内容はキャンセルされ、インシデント時入力部112は現在状況画面1100を表示する。
【0054】
---ネットワーク制御方法のフロー例---
以下、本実施形態におけるネットワーク制御方法について説明する。以下で説明するネットワーク制御方法に対応する各種動作は、ネットワーク制御システム10を構成する各情報処理装置すなわちネットワーク切り替え制御サーバ101とネットワーク監視サーバ102とがその各メモリ202に読み出してプログラムを実行することによって実現される。そして、このプログラムは、以下に説明される各種の動作を情報処理装置に行わせるためのコードから構成されている。
【0055】
図16、17は、本実施形態におけるネットワーク制御方法の処理手順例を示すフロー図である。上述してきたようにネットワーク制御システム10は、ネットワーク切り替え制御サーバ101とネットワーク監視サーバ102とで構成され、ネットワーク監視サーバ102は常時稼働しており、ネットワーク切り替え制御サーバ101はネットワーク構成変更時またはマルウェア感染の発生時などインシデント対処時のみ処理を行う運用になっていることを想定する。
【0056】
このうちネットワーク監視サーバ102では、
図16に示すように、通信状態取得部118は、常時、制御対象ネットワークにおける通信状態を取得する処理(ステップ1201)と、通信開始および終了情報を記録する処理と(ステップ1202)の各処理を実行している。通信状態取得の処理(ステップ1201)では、スイッチ151は、制御対象ネットワークから通信路192にパケットをミラーし、通信状態取得部118は、ミラーされるパケットを通信インターフェイス194を介して取得する。その後、通信開始および終了情報の記録処理(ステップ1202)において、通信状態取得部118は、ステップ1201で取得したパケットのうち通信の開始と終了にあたるものを抽出して、該当パケットの情報を通信状態の情報として通信履歴DB136の通信履歴テーブル900に格納する。
【0057】
他方、ネットワーク切り替え制御サーバ101では、
図17に示すように、設定時入力部111は、システム管理者によりネットワーク構成が変更された場合に、その内容を受け付けて、ネットワーク構成DB131を更新するネットワーク構成情報更新(ステップ1221)を実行する。本ステップ1221の処理は、本実施形態ではシステム管理者の入力により開始する。
【0058】
また、
図18に示すように、クライアント端末156、157とサーバ152、153との間でインシデントが発生していない通常状態1210において、インシデント発生に伴うシステム管理者からの隔離指令をインシデント時入力部112にて受けたネットワーク切り替え制御サーバ101は、その対処としてマルウェアに感染したクライアント端末156に関する隔離実行処理(ステップ1211)を実行する。これによりクライアント端末156、157とサーバ152、153との間での通信は隔離状態に遷移する。その後、システム管理者からの該当クライアント端末156、157に関する復帰指令をインシデント時入力部112にて受けた場合には、クライアント端末156、157の隔離状態からの復帰処理(ステップ1212)を実行する。これによりクライアント端末156、157とサーバ152、153との間での通信は通常状態に遷移する。
【0059】
上述のうち隔離実行処理(ステップ1211)は、ネットワーク切り替え制御サーバ101が、インシデント対処時に、マルウェアに感染した疑いのあるクライアント端末156から各サーバ152〜153への通信をダミーサーバへ誘導するよう、ネットワーク上のスイッチ151および仮想スイッチ161の設定を変更する処理である。本ステップ1211の処理は、本実施形態ではシステム管理者からの隔離実行指令により開始するが、これは一例であり、例えばマルウェア検知システムからのアラートにより開始するようにしても良い。本ステップ1211の処理は、
図20に関する説明の際に詳しく述べる。
【0060】
なお、システム管理者は、インシデント時入力部112を介して、隔離対象のクライアント端末156の情報や、各サーバ152〜153への隔離設定を入力するものとする。一方、ネットワーク切り替え制御サーバ101は、システム管理者の入力情報に従い、ダミーサーバを起動して、各通信路の状態を確認しながら適切なタイミングを判定して、スイッチ151および仮想スイッチ161の設定を順次変更する。
【0061】
一方、復帰処理(ステップ1212)は、ネットワーク切り替え制御サーバ101が、インシデント対処時に、マルウェアの調査・対処を終えたクライアント端末156からの通信について、ダミーサーバ162へ誘導するスイッチ151および仮想スイッチ161の設定を解除する処理である。なお、復帰処理の詳細については後述する。本ステップ1212の処理は、本実施形態ではシステム管理者からの復帰指令により開始するが、これは一例である。
【0062】
---ステップ1211の詳細フロー例---
次に、インシデント対処時のフロー詳細について図に基づき説明する。
【0063】
まず
図19を用いて、上述のステップ1211の隔離実行処理の詳細について説明する。インシデント時制御部113は、インシデント時入力部112から、特定のクライアント端末156を隔離する指令を受信する。なお、インシデント時入力部112において上述の指令を受け付けるインターフェイスは、
図15にて既に例示したように、新規インシデント入力画面1110となる。具体的には、ここで受信する情報は、隔離するクライアント端末156のIPアドレス(新規インシデント入力画面1110の入力欄1111で受け付けたもの)と、各サーバ152〜153への通信許可の設定情報(新規インシデント入力画面1110のサーバ一覧1112で受け付けた隔離設定および隔離先の各情報)となる。インシデント時制御部113は、上述のように受信した各情報のうち、例えば隔離対象たる感染クライアント端末156のIPアドレスを一つのインシデントの情報として、インシデントテーブル500にレコードを追加して格納する(ステップ1301)。
【0064】
続いてインシデント時制御部113は、インシデント時入力部112から受信した各サーバ152〜153への通信許可の設定情報を参照し、この設定情報において例えば隔離設定が「隔離」で隔離先が「ダミー2」などと指定されているように、ダミーサーバを利用した隔離処理が指定されていた場合、「隔離先」として指定された、すなわち起動する必要があるダミーサーバについて、ダミーサーバの設定情報としてネットワーク構成DB131のサーバテーブル410(
図4)から該当サーバに関するイメージファイル417の情報を、ダミーサーバを動作させるプラットフォームとなるホストの情報としてダミーサーバ構築用ホストテーブル420(
図5)からホスト管理用のIPアドレス422を、それぞれ読み出してダミーサーバ管理部116に通知する(ステップ1302)。
【0065】
ダミーサーバ管理部116は、インシデント時制御部113から受信した上述の情報に従って、ダミーサーバ制御部117に対し、該当情報でホスト管理用のIPアドレス422が割り当てられたホスト上で、仮想計算機としてダミーサーバを起動し(仮想計算機としてダミーサーバを起動する手法については、仮想計算機に関する既存技術を採用すればよく、ここでは説明を省略する。)、指定されたイメージファイルをこのダミーサーバに読み込ませて設定するよう指示を出す。またダミーサーバ管理部116は、起動するダミーサーバの一覧をダミーサーバ管理DB133のダミーサーバテーブル600(
図7)に格納し、現在状態606を「起動・設定中」とする。ダミーサーバ制御部117は、ダミーサーバの起動設定が終了した場合に、ダミーサーバの起動・設定に関する完了通知をダミーサーバ管理部116に送信する(ステップ1303)。
【0066】
またダミーサーバ管理部116は、ダミーサーバ制御部117からのダミーサーバの起動・設定に関する完了通知を受信し、この完了通知を、上述の設定が完了したダミーサーバから順次、インシデント時制御部113に転送する。設定が完了したダミーサーバについては、ダミーサーバ管理部116が、ダミーサーバ管理DB133のダミーサーバテーブル600の該当するレコードの現在状態606を「動作中」に更新する(ステップ1304)。
【0067】
一方、インシデント時制御部113は、ダミーサーバ管理部116から上述の完了通知を受けたダミーサーバについて、通信路管理部114に対し隔離指示を出す(ステップ1305)。
【0068】
通信路管理部114は、インシデント時制御部113からの隔離指示を受け、隔離するクライアント端末156から特定のサーバへの通信を、指定されたダミーサーバに誘導するよう、スイッチ151および仮想スイッチ161の設定を変更する。処理終了後、通信路管理部114は、インシデント時制御部113に処理結果を通知する(ステップ1306)。本ステップ1306の処理は、続く
図20に関する説明の際に詳しく述べる。
【0069】
最後にインシデント時制御部113は、上述の通信路管理部114からの結果通知を受け、該当結果をインシデント時入力部112に送り、上述の現在状況画面1100にて表示する(ステップ1307)。この現在状況画面1100にてシステム管理者はインシデント対応中の案件について現在の状況を確認できる。
【0070】
---ステップ1306の詳細フロー例---
次に
図20を用いて、通信路管理部114による上述のステップ1306の詳細について説明する。この場合、通信路管理部114は、上述の隔離指令を受信し(ステップ1401)、隔離指令が示す、隔離対象のクライアント端末156およびこのクライアント端末156の通信相手となるサーバの各IPアドレス702、704を通信路テーブル700(
図8)から取得し、また、上述のステップ1303で起動済みのダミーサーバが接続されているスイッチ151および仮想スイッチ161のID604をダミーサーバテーブル600(
図7)から取得する。
【0071】
次に通信路管理部114は、ステップ1401で得られたサーバ・クライアントの組み合わせの数だけ通信路制御部115を起動し、通信路管理DB135の通信路テーブル700にクライアント端末156とダミーサーバ162との間の通信路に係るレコードを追加する。更に、各サーバ・クライアント間の通信を通信路制御部115に割り振り、割り振ったサーバおよびクライアントを通信路制御部115に通知する。以降、特定のクライアント・サーバ間での通信を、通信路制御部115が担当する通信とする(ステップ1402)。
【0072】
続いて通信路制御部115は、通信路管理部114からの通知を受け、通信履歴DB136の通信履歴テーブル900から、通信履歴の情報を取得する。この通信履歴から、通信路制御部115が担当するサーバ・クライアントの間の通信を抽出し、現在の通信状態が通信中か否かを判定する。通信中であれば、通信終了まで待機し、通信履歴DB136の該当レコードが更新された時点でネットワーク切り替えを実行する。通信中でなければ即座にネットワーク切り替えを実行する。ネットワーク切り替え終了後、通信路制御部115は、通信路管理部114に、切り替え終了を通知する(ステップ1403)。本ステップ1403の処理は、続く
図21に関する説明の際に詳しく述べる。
【0073】
最後に通信路管理部114は、通信路制御部115からの通知を受け、ネットワーク切り替えの終了をインシデント時制御部113に通知する(ステップ1404)。
【0074】
---ステップ1403の詳細フロー例---
次に
図21を用いて、通信路制御部115における、スイッチ制御部121およびパケット処理部122によるステップ1403の詳細を説明する。
【0075】
まず、スイッチ制御部121は、通信路管理部114から通信路制御部115へ通知されたサーバ・クライアント間の通信に対し、ネットワーク切り替えを行う指令を受信する(ステップ1501)。以下、前記通信路制御部115が担当するサーバ・クライアントの組み合わせを、サーバ152およびクライアント端末156とする。また、前記ステップ1303にて起動したダミーサーバのうち、サーバ152に対応するものとしてダミーサーバ162が設定されているものとする。
【0076】
ここで、スイッチ制御部121は、通信路191を介してスイッチ151からのパケットを受信した場合に当該パケットを本来の送信先へ転送する指示とともにスイッチ151に返送するようにパケット処理部122を設定する(ステップ1502)。
【0077】
更に、スイッチ制御部121は、通信インターフェイス193、通信経路191を介し、ネットワーク切り替えのため設定変更が必要な各スイッチ(ここではスイッチ151および仮想スイッチ161)に設定変更指令を送信する(ステップ1503)。ここでの設定変更指令は、スイッチ151に対しては、通信路制御部115が担当するサーバ152およびクライアント端末156間の通信パケットがスイッチ151に入力された時、スイッチ151にてパケットヘッダの情報を照合することで該当するパケット(送信元および送信先のIPアドレスのいずれかにクライアント端末156のMACアドレスが設定されているパケット)を抽出し、本来の送信先へ出力する代わりに、通信路191を介して通信路制御部115へ送信するよう設定するものである。なお、仮想スイッチ161に対しては、当該クライアント端末156からサーバ152へのパケット(送信先にサーバ152のIPアドレスが設定されているパケット)をダミーサーバ162に送信するよう設定する。すなわち、スイッチ制御部121は、クライアント端末156とサーバ152との間に介在するスイッチのそれぞれについて、物理スイッチはパケットを通信路制御部115へ送信するように設定し、仮想スイッチはパケットをダミーサーバ162に送信するように設定することになる。
【0078】
次に、スイッチ制御部121は、所定時間待機する(ステップ1504)。この所定時間は、上記設定変更指令がスイッチ151および仮想スイッチ161に伝達され、各スイッチ内での処理に反映されるまでの時間であり、切り替え設定DB135の切り替えパラメタテーブル800(
図9)にあらかじめ格納されており、スイッチ制御部121は切り替えDB135を参照することでこの値を取得することができるものとする。
【0079】
スイッチ制御部121は、前記ステップ1504にて所定時間待機した後、通信履歴DB136の通信履歴テーブル900を参照することで、待機中にクライアント端末156からサーバ152へ通信が発生したか否かを確認する(ステップ1505、ステップ1506)。通信が発生したか否かは、例えば、通信履歴テーブル900において、更新時刻901がスイッチ制御部121が設定変更指令をスイッチに送信した時刻より後であり、クライアントIPアドレス902及びサーバIPアドレス905がクライアント端末156及びサーバ152のIPアドレスであり、通信状態906が「通信中」であるものが登録されているか否かにより判定するようにすることができる。なお、通信履歴テーブル900の通信状態906に代えて、パケットの送信元及び送信先を管理するようにし、クライアント端末156からサーバ152へのパケットが転送されたか否かにより判定するようにしてもよい。また、クライアント端末156からサーバ152へのパケットが送信された後に、サーバ152からクライアント端末156にハンドシェイクの成功を示す情報(例えばSYN、ACKなど)が送信されたか否かにより、通信が開始したか否かを判定するようにしてもよい。
【0080】
通信が発生していなかった場合(ステップ1506:no)、パケット処理部の設定変更(ステップ1508)へ進む。通信が発生していた場合(ステップ1506:yes)、スイッチ制御部121は、パケット処理部122からの通信終了通知を待機し、通知を受信してから(ステップ1507)、パケット処理部の設定変更(ステップ1508)へ進む。
【0081】
スイッチ制御部121は、通信路191を介してスイッチ151からのパケットを受信した場合に当該パケットをクライアント156およびダミーサーバ162間の通信になるよう転送する指示とともにスイッチ151に返送するようにパケット処理部122を設定する(ステップ1508)。
【0082】
次に、スイッチ制御部121は、通信路191を介してスイッチ151に設定変更指令を送信する(ステップ1509)。ここでの設定変更指令の内容は、クライアント端末156からサーバ152への通信を、ダミーサーバ162へ誘導するものである。すなわち、パケット処理部122及びスイッチ151に対して、クライアント端末156からサーバ152へ送信されたパケットについては、スイッチ151にてパケットヘッダの情報を照合することで抽出し、パケットヘッダの宛先MACアドレス部を、サーバ152のものからダミーサーバ162のものに変更し、仮想スイッチ161に接続された物理ポートから出力するように設定する。同様に、パケット処理部122及びスイッチ151に対して、ダミーサーバ162からクライアント端末156への応答パケットについては、パケットヘッダの送信元MACアドレス部を、ダミーサーバ162のものからサーバ152のものに変更し、クライアント端末156が接続されたネットワークに出力するように設定する。
【0083】
次に、スイッチ制御部121は、所定時間待機する(ステップ1510)。この所定時間は、上記設定変更指令がスイッチ151に伝達され、スイッチ151の内部処理に反映されるまでの時間であり、切り替えDB135の切り替えパラメタテーブル800(
図9)にあらかじめ格納されており、通信路制御部115は切り替えDB135を参照することでこの値を取得するできるものとする。
【0084】
最後に、スイッチ制御部121は、通信路管理部114へ、処理の終了を通知する(ステップ1511)。
【0085】
一方、パケット処理部122は、ステップ1503においてスイッチ制御部121から送信された設定変更指令を受信し、通信路191を介してスイッチ151から送信されてくるパケットを、本来の送信先へ出力する指示とともにスイッチ151へ返送するよう自身を設定する(ステップ1521)。その後、パケット処理部122は、前記ステップ1521で設定した通り、通信路191を介してスイッチ151から送信されてくるパケットを、本来の送信先へ出力する指示とともにスイッチ151へ返送する(ステップ1522)。ここで、パケット処理部122は、スイッチ151から送信されてくるパケットを分析し、TCPヘッダにおけるRSTまたはFINフラグを確認することで、通信の終了を判別する(ステップ1523)。通信が終了していない場合(ステップ1523:no)、ステップ1522に戻り、パケット処理部122は次のパケットの処理を行う。通信が終了した場合(ステップ1523:yes)、パケット処理部122は、スイッチ制御部121に通信終了の通知を送信する(ステップ1524)。
【0086】
また、パケット処理部122は、ステップ1508においてスイッチ制御部121から送信された設定変更設定を受信し、通信路191を介してスイッチ151から送信されてくるパケットを、クライアント端末156およびダミーサーバ162間の通信になるよう出力する指示とともにスイッチ151へ返送するよう自身を設定する(ステップ1525)。その後、パケット処理部122は、前記ステップ1525で設定した通り、クライアント端末156からサーバ152へ送信されたパケットについては、パケットヘッダの宛先MACアドレス部を、サーバ152のものからダミーサーバ162のものに変更し、仮想スイッチ161に接続された物理ポートから出力する。ダミーサーバ162からクライアント端末156への応答パケットについては、パケットヘッダの送信元MACアドレス部を、ダミーサーバ162のものからサーバ152のものに変更し、クライアント端末156が接続されたネットワークに出力する(ステップ1526)。
【0087】
---ステップ1212の詳細フロー例---
最後に、復帰処理(ステップ1212)について説明する。上述のようにしてクライアント端末156をネットワークから隔離した後、クライアント端末156の調査が終わり、マルウェアを削除してクライアント端末156を安全な状態にした後で、ネットワーク設定を初期状態に戻す。
【0088】
システム管理者は、インシデント時入力部112から、当該クライアント端末156について、隔離中止の指令を入力し、通信路制御部115は、これを受け(ステップ1601)、通信路191を経由して各スイッチ151、161に、ステップ1509にてスイッチに設定した内容を削除する指令を送信する。これによりスイッチ151,161の設定が初期状態に戻り、クライアント端末156と各サーバ152〜153の通信経路が確保される(ステップ1602)。なお、通信路管理部114は、通信路管理DB134から当該クライアント端末156とダミーサーバ162との通信路に相当するレコードを消去する。更に、通信路制御部115は、ダミーサーバ162を指定してダミーサーバを停止する旨の通知をダミーサーバ管理部116に送信する(ステップ1603)。
【0089】
ダミーサーバ管理部116は、通信路制御部115から受信した通知に従って、ダミーサーバ制御部117に対し、指定されたダミーサーバ116を停止するように指示する。ダミーサーバ制御部117は、指示に応じてダミーサーバ構築用ホスト154に、当該クライアント156に割り当てられていたダミーサーバ162を停止、消去する命令を送信して、ダミーサーバをダミーサーバ構築用ホスト154から削除する(ステップ1604)。なお、仮想計算機としてのダミーサーバの実行を停止する処理については、仮想計算機に関する既存技術を採用すればよく、ここでは説明を省略する。ダミーサーバ管理部116は、ダミーサーバ管理DB133のダミーサーバテーブル600から当該ダミーサーバ162に相当するレコードを消去する(ステップ1605)。ダミーサーバ管理部116は、ダミーサーバ116の停止が完了した旨を通信路制御部115に送信し(ステップ1606)、通信路制御部115は完了通知を受信して処理を終了する(ステップ1607)。
【0090】
---その他の例---
上述までの実施形態では、ネットワーク切り替え時に、クライアント端末156からの通信パケットがパケット処理部122を経由する状態を作り、ネットワーク切り替えの最中に、クライアント端末156からの通信が発生した場合、パケット処理部122の処理設定を維持することでネットワーク切り替えの途中の状態を保ち、通信終了を確認してからネットワーク切り替えを再開する方法を説明した。一方、ネットワーク切り替えの最中に、クライアント端末からの通信が発生した場合、クライアント端末156からの通信パケットがパケット処理部122を経由する状態を解除する形態を採用することもできる。
【0091】
この形態において、ネットワーク制御システム10の各構成については上述のまでの実施形態と同様であるが、スイッチ制御部121およびパケット処理部122での処理に関して相違がある。例えば、上述のステップ1506、ステップ1507(
図21)において、スイッチ制御部121は、クライアント端末156からの通信発生を確認した場合、パケット処理部122からの通信終了通知を待機する代わりに、スイッチ151に、通常通りサーバ152およびクライアント端末156間で通信が成立するように、パケットを処理するよう設定変更指示を送信する。この場合、スイッチ制御部121は通信履歴DB136の通信履歴テーブル900を定期的に参照することでクライアント端末156の通信終了を確認し、改めてステップ1502から処理を進めることで、最終的にネットワーク切り替えを完了する。
【0092】
この形態は、例えば、同時に多数のクライアント端末を隔離する必要があり、パケット処理部122に大量のパケットが流入して、パケット処理部122の負荷が高まることが想定される場合などに好適である。
【0093】
こうした本実施形態のネットワーク制御システム10によれば、通信が切断されているタイミングでスイッチ151の設定を変更してマルウェア感染端末の通信先をダミーサーバに設定することができる。これにより、マルウェアに感染した端末を、該当マルウェアに検知されずにネットワークから隔離し、ひいてはマルウェアの活動を維持したままマルウェアの調査が可能となる。従って本実施形態によれば、マルウェアに察知されずに感染端末の隔離及びマルウェアの調査が可能となる。
【0094】
また、本実施形態のネットワーク制御システム10では、スイッチ151からのパケットをパケット処理部122に転送するように設定し、パケット処理部122が送信先をサーバ152のままにスイッチ151に返送するようにしている。パケット処理部122の設定変更は瞬時に終了する一方で、スイッチ151に設定が反映されるまでには時間がかかるところ、本実施形態のネットワーク制御システム10によれば、パケット処理部122にパケットを転送するようにスイッチ151を設定したとしても、設定変更の反映前のパケットはスイッチ151を介してサーバ152に送信され、設定変更反映後のパケットはパケット処理部122に転送されてパケット処理部122からサーバ152に送信されるように制御処理が行われるため、いずれもサーバ152にパケットが送信されるようになり、クライアント端末156とサーバ152との間の通信に何ら影響がない。したがって、ネットワーク制御システム10の動作をマルウェアに察知されないようにすることができる。
【0095】
そのうえで、本実施形態のネットワーク制御システム10では、スイッチ151の設定をさらに変更してクライアント端末156からのパケットをダミーサーバ162に転送するようにし、パケット処理部122もそれに伴いパケットをダミーサーバ162に転送するようにしている。したがって、上記と同様に、設定変更の反映前のパケットはスイッチ151を介してダミーサーバ162に送信され、設定変更反映後のパケットはパケット処理部122に転送されてパケット処理部122からダミーサーバ162に送信されるように制御処理が行われるため、いずれもダミーサーバ162にパケットが送信されるようになる。したがって、スイッチ151の設定の反映に時間がかかったとしても、確実にパケットを望む送信先に転送するようにすることができる。これにより、マルウェアに検知されずにパケットのルーティングを変更することができる。
【0096】
また、本実施形態のネットワーク制御システム10では、クライアント端末156からのパケットをダミーサーバ162に転送するようにスイッチ151の設定を変更した後、所定時間(スイッチ151に設定が反映されるまでの時間)経過後に通信が終了したか否かを判定するようにしている。これにより、スイッチ151の設定が反映された後に確実に通信が切断されていることを確認することができる。これにより、確実にネットワーク制御システム10の動作をマルウェアに察知されないようにすることができる。
【0097】
また、本実施形態の変形例では、スイッチ151の設定変更の反映までに新たな通信発生が確認された場合には、通常どおりの通信、すなわちクライアント端末156とサーバ152との間の通信を継続させるようにする。この場合、新たな通信において大量のパケットが送受信された場合に、パケット処理部122を介した通信では処理負荷が過大なる可能性があるところ、このような負荷を低減することができる。
【0098】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。