以下に、本願に係る端末隔離通知システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る端末隔離通知システムが限定されるものではない。
[第一の実施の形態]
以下の実施の形態では、第一の実施の形態に係る端末隔離通知システム100の構成、スイッチ10の構成、コントローラ20の構成、警告サーバ30の構成、端末隔離通知システム100の処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
[第一の実施の形態に係る端末隔離通知システムの構成]
まず、図1を用いて、第一の実施の形態に係る端末隔離通知システム100について説明する。図1は、第一の実施の形態に係る端末隔離通知システムの全体構成を示す概略構成図である。
図1に示すように、端末隔離通知システム100は、複数のスイッチ10A、10B、コントローラ20、警告サーバ30および情報端末40を有する。なお、各スイッチ10A、10Bは、同様の構成を有しており、特に区別なく説明する場合には、スイッチ10と記載する。また、図1の例では、スイッチ10が2台であるが、これに限定されるものではなく、スイッチ10は1台であってもよいし3台以上であってもよい。また、図1の例では、コントローラ20、警告サーバ30および情報端末40がそれぞれ1台であるが、これに限定されるものではなく、コントローラ20、警告サーバ30および情報端末40が複数であってもよい。なお、図1の例では、スイッチ10が2台であるが、説明を簡略化するために、スイッチ10が1台である場合を例として適宜説明する。
スイッチ10A、10Bは、OpenFlow(例えば、「https://www.opennetworking.org/」参照)対応スイッチである。スイッチ10A、10Bは、コントローラ20により設定されたフローエントリを記憶する。フローエントリは、特定の条件を示すマッチ部と条件を満たした場合に実行されるアクションとで構成される。スイッチ10A、10Bは、受信したパケットがマッチ部で指定された特定の条件を満たす場合に、指定されたアクションを実行する。
コントローラ20は、OpenFlow対応コントローラである。コントローラ20は、各スイッチ10A、10Bの制御を動的に行う。例えば、コントローラ20は、スイッチ10、10Bに対してフローエントリの追加、修正、削除の設定を行う。
警告サーバ30は、情報端末40が隔離されたことを報知するための情報を情報端末40に表示させる。例えば、警告サーバ30は、どのようなHTTP要求に対しても、隔離メッセージを表示させるHTTP応答を返信する。また、警告サーバ30は、どのようなHTTP要求に対しても、隔離メッセージを表示させる警告ページにリダイレクトさせるHTTP応答を返信するようにしてもよい。
情報端末40は、パーソナルコンピュータ、タブレット型PC(Personal Computer)やスマートフォンなどの情報処理装置である。ここで、情報端末40は、感染の疑いがあることが事前に判明しており、ネットワークから隔離されるものとする。なお、感染の疑いがある情報端末40として、適宜「端末A」と記載する。
[スイッチの構成]
次に、図2を用いて、図1に示したスイッチ10の構成を説明する。図2は、第一の実施の形態に係るスイッチの構成を示すブロック図である。図2に示すように、このスイッチ10は、通信処理部11、制御部12、記憶部13を有する。以下にこれらの各部の処理を説明する。
通信処理部11は、コントローラ20や情報端末40との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部11は、コントローラ20からフローエントリの設定指示を受け付ける。また、通信処理部11は、情報端末40から送信されたパケットまたは情報端末40へ送信されたパケットを受信する。
また、記憶部13は、制御部12による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、フローエントリ記憶部13aを有する。例えば、記憶部13は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
フローエントリ記憶部13aは、マッチ部とアクションと優先度とを対応付けて記憶する。ここでマッチ部とは、例えば、5−tuple(IPヘッダのプロトコル番号や送信元IPアドレス、宛先IPアドレス、TCP/UDPヘッダの送信元ポート番号や宛先ポート番号)やL2以下の情報(送信元MACアドレス・宛先MACアドレス、パケットを受信した物理ポート)などが指定されることでマッチするパケットの条件が記述されたものである。また、アクションとは、例えば、マッチ部で該当するパケットについて、特定ポートから転送、コントローラ20に転送、パケットの中身を書き換えてから転送、廃棄するなどの処理が指定されたものである。また、優先度とは、パケットが複数のフローエントリのマッチ部にマッチする場合に、優先されるフローエントリを指定するものである。なお、パケットが複数のフローエントリのマッチ部にマッチする場合には、マッチするフローエントリのなかで最も優先度の高いフローエントリのアクションで処理される。以下の例では、優先度の値が大きいフローエントリほど優先されるものとし、例えば、優先度「10」と優先度「20」では、値が大きい「20」のフローエントリが優先されるものとする。
図3は、フローエントリ記憶部に記憶される情報の一例を示す図である。図3の例を挙げて説明すると、例えば、フローエントリ記憶部13aは、マッチ部「送信元:端末A」と、アクション「パケットを廃棄」と、優先度「10」とが対応付けて記憶されている。また、フローエントリ記憶部13aは、マッチ部「送信先:端末A」と、アクション「パケットを廃棄」と、優先度「10」とが対応付けて記憶されている。これは、スイッチ10が、端末Aを送信元とするパケットまたは送信先とするパケットを受信した場合には、パケットを廃棄することを意味する。なお、端末Aを送信元とするパケットまたは送信先とするパケットであるかは、例えば、MACアドレスで特定することができ、マッチ部に端末AのMACアドレスを規定してもよい。
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、設定受付部12a、判定部12b、破棄部12c、転送部12dおよび送信部12eを有する。ここで、制御部12は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路やASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路である。
設定受付部12aは、コントローラ10からのフローエントリに関する設定を受け付け、受け付けた設定に応じて、フローエントリ記憶部13aに記憶されたフローエントリを更新する。例えば、設定受付部12aは、コントローラ10からのフローエントリに関する設定として、フローエントリの追加、変更または削除の指示を受け付ける。
図3の例を挙げて説明すると、例えば、設定受付部12aは、事前の設定として、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリがともに優先度10で設定されているものとする。また、設定受付部12aは、事前の設定として、端末Aから正規DNSサーバ(図示せず)に送信されたDNS要求については通常通り転送するフローエントリ、および、正規DNSサーバから端末Aに送信されたDNS応答については通常通り転送するフローエントリがともに優先度20で設定されているものとする。また、設定受付部12aは、事前の設定として、端末Aから送信されたHTTP要求についてはコントローラ20に転送するフローエントリが優先度20で設定されているものとする。
判定部12bは、パケットを受信した場合に、フローエントリ記憶部13aに記憶されたフローエントリを参照し、各フローエントリのマッチ部にマッチするか否かをそれぞれ判定する。なお、複数のフローエントリのマッチ部にマッチする場合には、優先度が高く設定されたフローエントリが優先される。
具体的には、判定部12bは、情報端末40を宛先または送信元とするパケットを受信した場合には、該パケットがHTTP要求のパケットまたはHTTP応答のパケットであるか否かを判定する。例えば、判定部12bは、パケットを受信した場合に、該パケットの送信元MACアドレスと宛先MACアドレスを取得し、該送信元MACアドレスと宛先MACアドレスから情報端末40を宛先または送信元とするパケットであるかを判定する。該パケットがHTTP要求であるかどうかの判定は、例えば、該パケットのIPヘッダのプロトコル番号が6であり、かつ、TCPヘッダの宛先ポートが80番であればHTTP要求であり、そうでなければHTTP要求ではないと判定することができる。同様に、該パケットがHTTP応答であるかどうかの判定は、例えば、該パケットのIPヘッダのプロトコル番号が6であり、かつ、TCPヘッダの送信元ポート番号が80番であればHTTP応答であり、そうでなければHTTP応答ではないと判定することができる。
破棄部12cは、判定部12bによって受信した情報端末40を宛先または送信元とするパケットがHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないと判定された場合には、パケットを破棄する。つまり、図3に例示されているように、端末Aを送信元とするパケットまたは送信先とするパケットを受信した場合には、パケットを廃棄するフローエントリが設定されており、フローエントリに従ってパケットを破棄する。
転送部12dは、判定部12bによって受信したパケットがHTTP要求のパケットであると判定された場合には、警告サーバ30にHTTP要求のパケットを転送する。例えば、転送部12dは、判定部12bによって受信したパケットがHTTP要求のパケットであると判定された場合には、当該パケットの宛先IPアドレスを警告サーバ30のIPアドレスに書き換えて警告サーバ30に転送する。
具体的には、まず、転送部12dは、端末Aを送信元とするパケットであって、且つ、HTTP要求のパケットである場合には、コントローラ20に転送する。そして、HTTP要求のパケットを転送した後、コントローラ20により、端末Aから送信されたIP_dst宛のHTTP要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ警告サーバのIPアドレスとMACアドレスに書き換えた上で転送するフローエントリが優先度30で設定される。また、コントローラ20により、警告サーバ30から端末Aに送信されたHTTP応答は送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送するフローエントリが優先度30で設定される。なお、このような設定は、上述の設定受付部12aが設定の指示を受け付けてフローエントリ記憶部13aにフローエントリを追加することで行われる。
上記の設定が行われた後、転送部12dは、コントローラ20に転送したHTTP要求のパケットを、コントローラ20から受信する。そして、転送部12は、フローエントリを参照し、宛先IPアドレスと宛先MACアドレスをそれぞれ警告サーバのIPアドレスとMACアドレスに書き換えた上で警告サーバ30にHTTP要求を転送する。
送信部12eは、判定部12bによって受信したパケットがHTTP応答のパケットであると判定された場合には、HTTP応答のパケットを情報端末40に送信する。例えば、送信部12eは、判定部12bによって受信したパケットがHTTP応答であると判定された場合には、当該パケットの送信元IPアドレスをHTTP要求の書換え前の宛先IPアドレスに書き換えて情報端末に送信する。具体的には、送信部12eは、警告サーバ30から端末Aに送信されたHTTP応答を受信すると、フローエントリを参照し、送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送する。
ここで、図4を用いて、情報端末40に対して隔離メッセージを通知する処理の概要を説明する。図4は、情報端末に対して隔離メッセージを通知する処理を説明する図である。図4に例示するように、コントローラ20は、HTTP要求またはHTTP応答以外の情報端末40を宛先または送信元とするパケットを破棄するようにフローエントリをスイッチ10に対して設定する。これにより、スイッチ10は、HTTP要求またはHTTP応答以外の情報端末40を宛先または送信元とするパケットを受信した場合には、パケットを破棄するので、感染が疑われる情報端末40を隔離することができる。
そして、スイッチ10は、情報端末40からHTTP要求のパケットを受信した場合には、警告サーバ30に転送し、隔離メッセージを表示させる応答パケットを警告サーバ30から受信した場合には、情報端末40に送信する。これにより、情報端末40の隔離後、当該情報端末40のモニタ上に隔離メッセージ(当該端末がマルウェア感染の疑いにより隔離されたことおよび当該端末への一切の操作を禁じるなど)を表示させることができる。このため、感染が疑われる情報端末40のユーザが、端末隔離後にすみやかに隔離メッセージを確認することで、後の原因分析に必要な情報を損壊することを防ぐ。また、隔離メッセージを表示させるにあたって許可する通信は、通信先および通信プロトコルを最小限に限定することで、ネットワークのセキュリティを担保する。
[コントローラ20の構成]
次に、図5を用いて、図1に示したコントローラ20の構成を説明する。図5は、第一の実施の形態に係るコントローラの構成を示すブロック図である。図5に示すように、このコントローラ20は、通信処理部21、制御部22、記憶部23を有する。以下にこれらの各部の処理を説明する。
通信処理部21は、スイッチ10との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部21は、スイッチ10に対してフローエントリの設定指示を通知する。また、記憶部23は、制御部22による各種処理に必要なデータおよびプログラムを格納する。
制御部22は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、事前設定部22aおよび追加設定部22bを有する。
事前設定部22aは、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。また、設定受付部12aは、端末Aから正規DNSサーバ(図示せず)に送信されたDNS要求については通常通り転送するフローエントリ、および、正規DNSサーバから端末Aに送信されたDNS応答については通常通り転送するフローエントリをともに優先度20で設定する。また、事前設定部22aは、端末Aから送信されたHTTP要求についてはコントローラ20に転送するフローエントリを優先度20で設定する。
追加設定部22bは、HTTP要求のパケットを受信すると、スイッチ10に対してフローエントリを追加設定する。例えば、追加設定部22bは、情報端末40から送信されたHTTP要求のパケットをスイッチ10から受信した場合には、端末Aから送信されたIP_dst宛のHTTP要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ警告サーバのIPアドレスとMACアドレスに書き換えた上で転送するフローエントリを優先度30で設定する。また、追加設定部22bは、警告サーバ30から端末Aに送信されたHTTP応答は送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送するフローエントリを優先度30で設定する。また、追加設定部22bは、上記の設定を行った後、HTTP要求のパケットをスイッチ10に送信する。
[警告サーバ30の構成]
次に、図6を用いて、図1に示した警告サーバ30の構成を説明する。図6は、第一の実施の形態に係る警告サーバの構成を示すブロック図である。図6に示すように、この警告サーバ30は、通信処理部31、制御部32、記憶部33を有する。以下にこれらの各部の処理を説明する。
通信処理部31は、スイッチ10との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部31は、スイッチ10からHTTP要求のパケットを受信する。また、通信処理部31は、スイッチ10に対してHTTP応答のパケットを送信する。また、記憶部33は、制御部32による各種処理に必要なデータおよびプログラムを格納する。
制御部32は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、設定受付部32aおよび返信部32bを有する。
設定受付部32aは、各種設定を受け付ける。例えば、設定受付部32aは、警告サーバ30はどのようなHTTP要求に対しても隔離メッセージを表示させるHTTP応答を返すように設定されている。なお、設定受付部32aは、警告サーバはどのようなHTTP要求に対しても、隔離メッセージを表示させる警告ページにリダイレクトさせるHTTP応答を返すように設定されてもよい。
返信部32bは、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチ10に返信する。具体的には、返信部32bは、スイッチ10からHTTP要求のパケットを受信した場合には、情報端末40が隔離されたことを報知するメッセージをスイッチ10に返信する。また、返信部32bは、スイッチ10からHTTP要求のパケットを受信した場合には、情報端末40が隔離されたことを報知するメッセージを表示させる警告ページにリダイレクトさせるHTTP応答を返信する。
[端末隔離通知システムの処理の一例]
次に、図7を用いて、第一の実施の形態に係る端末隔離通知システム100の処理例について説明する。図7は、第一の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。
図7に示すように、端末隔離通知システム100におけるコントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する(ステップS101)。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。また、事前設定部22aは、端末Aから送信されたHTTP要求についてはコントローラ20に転送するフローエントリを優先度20で設定する。また、事前設定部22aは、端末Aを送信元とし正規DNSサーバを宛先とするDNS要求を通常通り転送するフローエントリ、および、正規DNSサーバを送信元とし端末Aを宛先とするパケットを通常通り転送するフローエントリをともに優先度20で設定する。
その後、情報端末40がHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないパケットを送信すると(ステップS102)、スイッチ10は、フローエントリに従って、このパケットを破棄する(ステップS103)。なお、HTTP要求に先立ち、情報端末40がDNS要求を正規DNSサーバに送信することがあるが、このDNS要求および該DNSサーバからのDNS応答はフローエントリにしたがって通常通りにそれぞれ正規DNSサーバおよび情報端末40に転送される。
また、情報端末40がHTTP要求のパケットを送信すると(ステップS104)、スイッチ10は、フローエントリに従って、このパケットをコントローラ20に転送する(ステップS105)。
コントローラ20は、HTTP要求のパケットを受信すると、スイッチ10に対してフローエントリを追加設定する(ステップS106)。例えば、コントローラ20は、情報端末40から送信されたHTTP要求のパケットをスイッチ10から受信した場合には、端末Aから送信されたIP_dst宛のHTTP要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ警告サーバのIPアドレスとMACアドレスに書き換えた上で転送するフローエントリを優先度30で設定する。また、コントローラ20は、警告サーバ30から端末Aに送信されたHTTP応答は送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送するフローエントリを優先度30で設定する。
そして、コントローラ20は、HTTP要求のパケットをスイッチ10に送信する(ステップS107)。続いて、スイッチ10は、宛先アドレスを警告サーバ30のアドレスに書き換えて(ステップS108)、HTTP要求のパケットを警告サーバ30に送信する(ステップS109)。例えば、スイッチ10は、フローエントリを参照し、宛先IPアドレスと宛先MACアドレスをそれぞれ警告サーバのIPアドレスとMACアドレスに書き換えた上で警告サーバ30にHTTP要求のパケットを転送する。
続いて、警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチ10に返信する(ステップS110)。具体的には、警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、情報端末40が隔離されたことを報知するメッセージをスイッチ10に返信する。
その後、スイッチ10は、宛先アドレスを情報端末40のアドレスに書き換えて(ステップS111)、HTTP応答のパケットを情報端末40に転送する(ステップS112)。具体的には、スイッチ10は、警告サーバ30から端末Aに送信されたHTTP応答を受信すると、フローエントリを参照し、送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送する。なお、一般にHTTP要求およびHTTP応答は複数のパケットで構成されるため、その後、端末Aと警告サーバ30間でHTTP要求とHTTP応答の送受信がある(図示省略)。その後も、端末Aが送信するHTTP要求は上記の処理と同様に宛先IPアドレスと宛先MACアドレスを書き換えられて警告サーバ30に転送され、警告サーバ30が送信するHTTP応答は送信元IPアドレスと送信元MACアドレスを書き換えられて端末Aに転送される。そして、HTTP応答を構成する全パケットを情報端末40が受信すると、情報端末40は、隔離メッセージを表示する(ステップS113)。
上述の図7の説明では、警告サーバ30はHTTP要求に対しても隔離メッセージを表示させるHTTP応答を返す場合を説明したが、警告サーバはどのようなHTTP要求に対しても、隔離メッセージを表示させる警告ページにリダイレクトさせるHTTP応答を返すようにしてもよい。そこで、図8を用いて、隔離メッセージを表示させる警告ページにリダイレクトさせるHTTP応答を返す場合について説明する。図8は、第一の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。なお、図7と同様の処理は適宜省略して説明する。
図8に示すように、端末隔離通知システム100におけるコントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する(ステップS201)。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。また、事前設定部22aは、端末Aから送信されたHTTP要求についてはコントローラ20に転送するフローエントリを優先度20で設定する。さらに、事前設定部22aは、情報端末40から警告サーバ30宛に送信されたHTTP要求および警告サーバ30から情報端末40に送信されたHTTP応答については、通常通り転送するフローエントリを優先度40で設定する。
その後、情報端末40がHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないパケットを送信すると(ステップS202)、スイッチ10は、フローエントリに従って、このパケットを破棄する(ステップS203)。
また、情報端末40がHTTP要求のパケットを送信すると(ステップS204)、スイッチ10は、フローエントリに従って、このパケットをコントローラ20に転送する(ステップS205)。そして、コントローラ20は、HTTP要求のパケットを受信すると、スイッチ10に対してフローエントリを追加設定する(ステップS206)。
そして、コントローラ20は、HTTP要求のパケットをスイッチ10に送信する(ステップS207)。続いて、スイッチ10は、宛先アドレスを警告サーバ30のアドレスに書き換えて(ステップS208)、HTTP要求のパケットを警告サーバ30に送信する(ステップS209)。
続いて、警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチ10に返信する(ステップS210)。具体的には、警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、情報端末40が隔離されたことを報知するメッセージを表示させる警告ページにリダイレクトさせるHTTP応答を返信する。
その後、スイッチ10は、宛先アドレスを情報端末40のアドレスに書き換えて(ステップS211)、HTTP応答のパケットを情報端末40に転送する(ステップS212)。そして、情報端末40は、隔離メッセージを表示させる警告ページにリダイレクトして隔離メッセージを表示する(ステップS213)。
[第一の実施の形態の効果]
このように、第一の実施の形態に係る端末隔離通知システム100では、スイッチ10は、受信したパケットがHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないと判定した場合には、パケットを破棄する。また、スイッチ10は、受信したパケットがHTTP要求のパケットであると判定した場合には、警告サーバ30にHTTP要求のパケットを転送する。警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチ10に返信する。スイッチ10は、HTTP応答のパケットを情報端末40に送信する。このため、原因分析に必要な情報が損壊することを防ぎ、マルウェアへの感染が疑われる情報端末を早急に隔離、原因特定を行うことが可能である。
つまり、例えば、隔離指示を契機にして、スイッチ10に対して動的にパケットの廃棄ルールおよび転送ルールを設定することで、隔離対象の情報端末40に対して隔離メッセージ表示に必要な最小限の機器に最小限のプロトコルでの通信を許可しつつ、それ以外の全通信を遮断する。このように、隔離メッセージを表示させるにあたって許可する通信は、通信先および通信プロトコルを最小限に限定することで、ネットワークのセキュリティを担保することができる。また、感染が疑われる情報端末40のユーザが、端末隔離後にすみやかに隔離メッセージを確認することで、後の原因分析に必要な情報を損壊することを防ぐ。
[第二の実施の形態]
上述した第一の実施の形態では、感染疑いがある情報端末40が警告サーバ30と同一セグメントに存在する場合を説明したが、感染疑いがある情報端末40と警告サーバ30が異なるセグメントに存在していてもよい。以下の第二の実施形態では、感染疑いがある情報端末40と警告サーバ30が異なるセグメントに存在する端末隔離通知システム100Aについて説明する。なお、第一の実施の形態と同様の構成および処理については適宜説明を省略する。
まず、図9を用いて、第二の実施の形態に係る端末隔離通知システム100Aについて説明する。図9は、第二の実施の形態に係る端末隔離通知システムの全体構成を示す概略構成図である。図9に示すように、端末隔離通知システム100Aは、複数のスイッチ10A、10B、コントローラ20、警告サーバ30、情報端末40およびルータ50を有する。ルータ50は、情報端末40のゲートウェイルータであるものとする。なお、以下では、情報端末40が存在するセグメントをセグメントS_Aと記載する。
コントローラ20の追加設定部22bは、HTTP要求のパケットを受信すると、スイッチ10に対してフローエントリを追加設定する。ここで、第二の実施の形態では、追加設定部22bは、情報端末40から送信されたHTTP要求のパケットをスイッチ10から受信した場合には、端末Aから送信されたIP_dst宛のHTTP要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ警告サーバのIPアドレスとルータ50のセグメントS_Aへの接続ポートへのMACアドレスに書き換えた上で転送するフローエントリを優先度30で設定する。また、追加設定部22bは、HTTP要求のパケットを受信すると、第一の実施の形態と同様に、警告サーバ30から端末Aに送信されたHTTP応答は送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送するフローエントリを優先度30で設定する。
次に、図10を用いて、第二の実施の形態に係る端末隔離通知システム100Aの処理例について説明する。図10は、第二の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。
端末隔離通知システム100Aにおけるコントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する(ステップS301)。
その後、情報端末40がHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないパケットを送信すると(ステップS302)、スイッチ10は、フローエントリに従って、このパケットを破棄する(ステップS303)。
また、情報端末40がHTTP要求のパケットを送信すると(ステップS304)、スイッチ10は、フローエントリに従って、このパケットをコントローラ20に転送する(ステップS305)。そして、コントローラ20は、HTTP要求のパケットを受信すると、スイッチ10に対してフローエントリを追加設定する(ステップS306)。例えば、コントローラ20は、情報端末40から送信されたHTTP要求のパケットをスイッチ10から受信した場合には、端末Aから送信されたIP_dst宛のHTTP要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ警告サーバのIPアドレスとルータ50のセグメントS_Aへの接続ポートへのMACアドレスに書き換えた上で転送するフローエントリを優先度30で設定する。
そして、コントローラ20は、HTTP要求のパケットをスイッチ10に送信する(ステップS307)。続いて、スイッチ10は、宛先IPアドレスを警告サーバ30のIPアドレスに書き換え、宛先MACアドレスをルータ50のセグメントS_Aへの接続ポートのMACアドレスに書き換えて(ステップS308)、ルータ50を介して、HTTP要求のパケットを警告サーバ30に送信する(ステップS309、S310)。
続いて、警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をルータ50を介して、スイッチ10に返信する(ステップS311、S312)。
その後、スイッチ10は、宛先アドレスを情報端末40のアドレスに書き換えて(ステップS313)、HTTP応答のパケットを情報端末40に転送する(ステップS314)。そして、情報端末40は、隔離メッセージを表示する(ステップS315)。なお、警告サーバ30は、第一の実施の形態で説明したように、情報端末40が隔離されたことを報知するメッセージをスイッチ10に返信するようにしてもよいし、情報端末40が隔離されたことを報知するメッセージを表示させる警告ページにリダイレクトさせるHTTP応答を返信するようにしてもよい。
このように、第二の実施の形態に係る端末隔離通知システム100Aでは、感染疑いがある情報端末40と警告サーバ30が異なるセグメントに存在していても情報端末40上でブラウザを利用して隔離メッセージを表示することができる。
[第三の実施の形態]
上述した第一の実施の形態では、スイッチ10がHTTP要求を警告サーバ30に転送する場合を説明したが、これに限定されるものではない。例えば、スイッチ10がDNS要求を正規のDNSサーバでない疑似DNSサーバ60に転送し、疑似DNSサーバ60がどのようなDNS要求に対しても警告サーバ30のIPアドレスを返すことで、その後の情報端末40からのHTTP要求が警告サーバ30に送信されるようにしてもよい。以下の第三の実施形態では、スイッチ10が、情報端末40からのDNS要求を疑似DNSサーバ60に転送し、疑似DNSサーバ60が、どのようなDNS要求に対しても警告サーバ30のIPアドレスを返す場合について説明する。なお、第一の実施の形態と同様の構成および処理については適宜説明を省略する。
まず、図11を用いて、第三の実施の形態に係る端末隔離通知システム100Bについて説明する。図11は、第二の実施の形態に係る端末隔離通知システムの全体構成を示す概略構成図である。図11に示すように、端末隔離通知システム100Bは、複数のスイッチ10A、10B、コントローラ20、警告サーバ30、情報端末40および疑似DNSサーバ60を有する。疑似DNSサーバ60は、感染疑いがある情報端末40と同一セグメントに存在するものとする。
スイッチ10の判定部12bは、情報端末40を宛先または送信元とするパケットを受信した場合には、該パケットがHTTP要求のパケット、HTTP応答のパケット、DNS要求のパケットまたはDNS応答のパケットであるか否かを判定する。
スイッチ10の転送部12dは、判定部12bによって受信したパケットがDNS要求のパケットであると判定された場合には、疑似DNSサーバ60にDNS要求のパケットを転送する。具体的には、まず、転送部12dは、端末Aを送信元とするパケットであって、且つ、DNS要求のパケットである場合には、コントローラ20に転送する。そして、DNS要求のパケットを転送した後、コントローラ20により、端末Aから送信されたIP_dst宛のDNS要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ疑似DNSサーバ60のIPアドレスとMACアドレスに書き換えた上で転送するフローエントリが優先度30で設定される。また、コントローラ20により、疑似DNSサーバ60から端末Aに送信されたDNS応答は送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送するフローエントリが優先度30で設定される。上記の設定が行われた後、転送部12dは、コントローラ20に転送したDNS要求のパケットを、コントローラ20から受信する。そして、転送部12dは、フローエントリを参照し、宛先IPアドレスと宛先MACアドレスをそれぞれ疑似DNSサーバ60のIPアドレスとMACアドレスに書き換えた上で疑似DNSサーバ60にHTTP要求を転送する。該パケットがDNS要求であるかどうかの判定は、例えば、該パケットのIPヘッダのプロトコル番号が17であり、かつ、UDPヘッダの宛先ポートが53番であればDNS要求であり、そうでなければDNS要求ではないと判定することができる。同様に、該パケットがDNS応答であるかどうかの判定は、例えば、該パケットのIPヘッダのプロトコル番号が17であり、かつ、UDPヘッダの送信元ポート番号が53番であればDNS応答であり、そうでなければDNS応答ではないと判定することができる。
スイッチ10の送信部12eは、判定部12bによって受信したパケットがDNS応答のパケットであると判定された場合には、DNS応答のパケットを情報端末40に送信する。
コントローラ20の事前設定部22aは、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。ままた、設定受付部12aは、事前の設定として、端末Aから正規DNSサーバ(図示せず)に送信されたDNS要求については通常通り転送するフローエントリ、および、正規DNSサーバから端末Aに送信されたDNS応答については通常通り転送するフローエントリがともに優先度20で設定されているものとする。また、事前設定部22aは、情報端末40から警告サーバ30宛に送信されたHTTP要求および警告サーバ30から情報端末40に送信されたHTTP応答については、通常通り転送するフローエントリを優先度20で設定する。
コントローラ20の追加設定部22bは、DNS要求のパケットを受信すると、スイッチ10に対してフローエントリを追加設定する。例えば、追加設定部22bは、情報端末40から送信されたDNS要求のパケットをスイッチ10から受信した場合には、端末Aから送信されたIP_dst宛のDNS要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ疑似DNSサーバ60のIPアドレスとMACアドレスに書き換えた上で転送するフローエントリを優先度30で設定する。また、追加設定部22bは、疑似DNSサーバ60から端末Aに送信されたDNS応答は送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送するフローエントリを優先度30で設定する。
疑似DNSサーバ60は、DNS要求のパケットを受信すると、警告サーバ30のIPアドレスをスイッチ10を介して情報端末40に返信する。つまり、擬似DNSサーバ60はどのようなドメインに対するDNS要求に対しても警告サーバ30のIPアドレスを返す。
次に、図12を用いて、第三の実施形態に係る端末隔離通知システム100Bの処理例について説明する。図12は、第三の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。
図12に示すように、端末隔離通知システム100におけるコントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する(ステップS401)。
その後、情報端末40がHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないパケットを送信すると(ステップS402)、スイッチ10は、フローエントリに従って、このパケットを破棄する(ステップS403)。
また、情報端末40がDNS要求のパケットを送信すると(ステップS404)、スイッチ10は、フローエントリに従って、このパケットをコントローラ20に転送する(ステップS405)。
コントローラ20は、DNS要求のパケットを受信すると、スイッチ10に対してフローエントリを追加設定する(ステップS406)。例えば、コントローラ20は、情報端末40から送信されたDNS要求のパケットをスイッチ10から受信した場合には、端末Aから送信されたIP_dst宛のDNS要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ疑似DNSサーバ60のIPアドレスとMACアドレスに書き換えた上で転送するフローエントリを優先度30で設定する。また、コントローラ20は、疑似DNSサーバ60から端末Aに送信されたDNS応答は送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送するフローエントリを優先度30で設定する。
そして、コントローラ20は、DNS要求のパケットをスイッチ10に送信する(ステップS407)。続いて、スイッチ10は、宛先アドレスを疑似DNSサーバ60のアドレスに書き換えて(ステップS408)、DNS要求のパケットを疑似DNSサーバ60に送信する(ステップS409)。
続いて、疑似DNSサーバ60は、スイッチ10からDNS要求のパケットを受信した場合には、DNS応答として、警告サーバ30のIPアドレスをスイッチ10に返信する(ステップS410)。
その後、スイッチ10は、宛先アドレスを情報端末40のアドレスに書き換えて(ステップS411)、DNS応答のパケットを情報端末40に転送する(ステップS412)。具体的には、スイッチ10は、警告サーバ30から端末Aに送信されたDNS応答を受信すると、フローエントリを参照し、送信元IPアドレスと送信元MACアドレスをそれぞれIP_dstとMAC_dstに書き換えた上で端末Aの接続するポートに転送する。
そして、情報端末40は、DNS応答で受信したIPアドレスを宛先IPアドレスとしてHTTP要求のパケットをスイッチ10に送信する(ステップS413)。続いて、スイッチ10は、HTTP要求のパケットを警告サーバ30に転送する(ステップS414)。
続いて、警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチ10に送信する(ステップS415)。
その後、スイッチ10は、HTTP応答のパケットを情報端末40に転送する(ステップS416)。そして、情報端末40は、隔離メッセージを表示する(ステップS417)。
なお、上記の例では、疑似DNSサーバ60と感染疑いがある情報端末40とが同一セグメントに存在する場合を説明したが、疑似DNSサーバ60と感染疑いがある情報端末40とが異なるセグメントに存在していてもよい。この場合には、上述の第二の実施形態の場合と同様に、追加設定部22bは、情報端末40から送信されたDNS要求のパケットをスイッチ10から受信した場合には、端末Aから送信されたIP_dst宛のDNS要求については、宛先IPアドレスと宛先MACアドレスをそれぞれ疑似DNSサーバ60のIPアドレスと情報端末40のゲートウェイルータのセグメントへの接続ポートのMACアドレスに書き換えた上で転送するフローエントリを優先度30で設定する。これにより、疑似DNSサーバ60と感染疑いがある情報端末40とが異なるセグメントに存在している場合であっても、DNS要求を疑似DNSサーバ60に転送することができる。
このように、第三の実施の形態に係る端末隔離通知システム100Bでは、スイッチ10がDNS要求を正規のDNSサーバでない疑似DNSサーバ60に転送し、疑似DNSサーバ60がどのようなDNS要求に対しても警告サーバ30のIPアドレスを返すことで、その後の情報端末40からのHTTP要求が警告サーバ30に送信されるようにする。これにより、情報端末40上でブラウザを利用して隔離メッセージを表示することができる。
[第四の実施の形態]
上述した第三の実施の形態では、DNS要求のパケットを疑似DNSサーバに転送する場合を説明したが、これに限定されるものではなく、DNS要求のパケットを通常通り正規DNSサーバに転送するようにしてもよい。以下の第四の実施形態では、DNS要求のパケットを正規DNSサーバに転送する場合について説明する。なお、第三の実施の形態と同様の構成および処理については適宜説明を省略する。
まず、図13を用いて、第四の実施の形態に係る端末隔離通知システム100Cについて説明する。図13は、第四の実施の形態に係る端末隔離通知システムの全体構成を示す概略構成図である。図13に示すように、端末隔離通知システム100Cは、複数のスイッチ10A、10B、コントローラ20、警告サーバ30、情報端末40、ルータ50および正規DNSサーバ70を有する。正規DNSサーバ70は、感染疑いがある情報端末40と異なるセグメントに存在するものとする。ルータ50は、情報端末40のゲートウェイルータであるものとする。なお、以下では、情報端末40が存在するセグメントをセグメントS_Aと記載する。
スイッチ10の判定部12bは、情報端末40を宛先または送信元とするパケットを受信した場合には、該パケットがHTTP要求のパケット、HTTP応答のパケット、DNS要求のパケットまたはDNS応答のパケットであるか否かを判定する。スイッチ10の転送部12dは、判定部12bによって受信したパケットがDNS要求のパケットであると判定された場合には、正規DNSサーバ70にDNS要求のパケットを転送する。スイッチ10の送信部12eは、判定部12bによって受信したパケットがDNS応答のパケットであると判定された場合には、DNS応答のパケットを情報端末40に送信する。
コントローラ20の事前設定部22aは、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。また、設定受付部12aは、事前の設定として、端末Aから正規DNSサーバ(図示せず)に送信されたDNS要求については通常通り転送するフローエントリ、および、正規DNSサーバから端末Aに送信されたDNS応答については通常通り転送するフローエントリがともに優先度20で設定されているものとする。また、事前設定部22aは、端末Aから警告サーバ30へ送信されたHTTP要求については通常通り転送するフローエントリを優先度20で設定する。
また、事前設定部22aは、正規DNSサーバ70に対して、端末AからDNS要求があった場合には、警告サーバ30のIPアドレスを返すDNS応答を返答する設定を行う。
正規DNSサーバ70は、DNS要求のパケットを受信すると、警告サーバ30のIPアドレスをスイッチ10を介して情報端末40に返信する。つまり、擬似DNSサーバ70はどのようなドメインに対するDNS要求に対しても警告サーバのIPアドレスを返す。
次に、図14を用いて、第四の実施形態に係る端末隔離通知システム100Cの処理例について説明する。図14は、第四の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。なお、図14の例では、ルータ50を省略して説明する。
図14に示すように、端末隔離通知システム100Cにおけるコントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する(ステップS501)。そして、コントローラ20は、正規DNSサーバ70に対して、端末AからDNS要求があった場合には、警告サーバ30のIPアドレスを返すDNS応答を返答する設定を行う(ステップS502)。
その後、情報端末40がHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないパケットを送信すると(ステップS503)、スイッチ10は、フローエントリに従って、このパケットを破棄する(ステップS504)。
また、情報端末40がDNS要求のパケットを送信すると(ステップS505)、スイッチ10は、フローエントリに従って、このパケットを正規DNSサーバ70に転送する(ステップS506)。
続いて、正規DNSサーバ70は、スイッチ10からDNS要求のパケットを受信した場合には、DNS応答として、警告サーバ30のIPアドレスをスイッチ10に返信する(ステップS507)。その後、スイッチ10は、DNS応答のパケットを情報端末40に転送する(ステップS508)。
そして、情報端末40は、DNS応答で受信したIPアドレスを宛先IPアドレスとしてHTTP要求のパケットをスイッチ10に送信する(ステップS509)。続いて、スイッチ10は、HTTP要求のパケットを警告サーバ30に転送する(ステップS510)。
続いて、警告サーバ30は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチ10に送信する(ステップS511)。
その後、スイッチ10は、HTTP応答のパケットを情報端末40に転送する(ステップS512)。そして、情報端末40は、隔離メッセージを表示する(ステップS513)。
このように、第四の実施の形態に係る端末隔離通知システム100Cでは、DNS要求のパケットを正規DNSサーバ70に転送することで、情報端末40上でブラウザを利用して隔離メッセージを表示することができる。
[第五の実施の形態]
上述した第一の実施の形態では、スイッチ10から警告サーバ30に対してHTTP要求のパケットを送信し、警告サーバ30が隔離メッセージを表示させるHTTP応答のパケットを返信する場合を説明したが、これに限定されるものではなく、スイッチ10から正規プロキシサーバ80に対してHTTP要求のパケットを送信し、正規プロキシサーバ80が隔離メッセージを表示させるHTTP応答のパケットを返信するようにしてもよい。以下の第五の実施形態では、スイッチ10から正規プロキシサーバ80に対してHTTP要求のパケットを送信し、正規プロキシサーバ80が隔離メッセージを表示させるHTTP応答のパケットを返信する場合について説明する。なお、第一の実施の形態と同様の構成および処理については適宜説明を省略する。
まず、図15を用いて、第五の実施の形態に係る端末隔離通知システム100Dについて説明する。図15は、第五の実施の形態に係る端末隔離通知システムの全体構成を示す概略構成図である。図15に示すように、端末隔離通知システム100Dは、複数のスイッチ10A、10B、コントローラ20、警告サーバ30、情報端末40、ルータ50および正規プロキシサーバ80を有する。正規プロキシサーバ80は、感染疑いがある情報端末40と異なるセグメントに存在するものとする。ルータ50は、情報端末40のゲートウェイルータであるものとする。なお、以下では、情報端末40が存在するセグメントをセグメントS_Aと記載する。
スイッチ10の転送部12dは、判定部12bによって受信したパケットがHTTP要求のパケットであると判定された場合には、警告サーバ30に代えて正規プロキシサーバ80にHTTP要求のパケットを転送する。スイッチ10の送信部12eは、判定部12cによって受信したパケットがHTTP応答のパケットであると判定された場合には、HTTP応答のパケットを情報端末40に送信する。
コントローラ20の事前設定部22aは、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。また、事前設定部22aは、端末Aから正規プロキシサーバ80に送信されたHTTP要求および正規プロキシサーバ80から端末Aに送信されたHTTP応答については通常通り転送するフローエントリを優先度20で設定する。
また、事前設定部22aは、正規プロキシサーバ80に対して、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチ10に返信するように設定する。
正規プロキシサーバ80は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、情報端末40が隔離されたことを報知するための情報をスイッチに返信する。例えば、正規プロキシサーバ80は、端末AからHTTP要求があった場合には、どのようなHTTP要求であれ警告ページを表示するHTTP応答を返信、あるいは、隔離メッセージを表示させる警告ページ(正規プロキシサーバ80が保有)にリダイレクトさせるHTTP応答を返信する。なお、正規プロキシサーバ80は、情報端末40からHTTP要求があった場合には、警告サーバ30のもつ警告ページにリダイレクトさせる応答を返すようにしてもよい。
次に、図16を用いて、第五の実施形態に係る端末隔離通知システム100Dの処理例について説明する。図16は、第五の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。なお、図16の例では、ルータ50を省略して説明する。
図16に示すように、端末隔離通知システム100Cにおける正規プロキシサーバ80は、警告サーバ30から警告ページを取得する(ステップS601)。また、コントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する(ステップS602)。
その後、情報端末40がHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないパケットを送信すると(ステップS603)、スイッチ10は、フローエントリに従って、このパケットを破棄する(ステップS604)。
情報端末40がHTTP要求のパケットを送信すると(ステップS605)、スイッチ10は、フローエントリに従って、このパケットを正規プロキシサーバ80に転送する(ステップS606)。
そして、正規プロキシサーバ80は、スイッチ10からHTTP要求のパケットを受信した場合には、HTTP応答として、警告ページを表示する情報をスイッチ10に返信する(ステップS607)。例えば、正規プロキシサーバ80は、端末AからHTTP要求があった場合には、どのようなHTTP要求であれ警告ページを表示するHTTP応答を返信、あるいは、隔離メッセージを表示させる警告ページ(正規プロキシサーバ80が保有)にリダイレクトさせるHTTP応答を返信する。
その後、スイッチ10は、HTTP応答のパケットを情報端末40に転送する(ステップS608)。そして、情報端末40は、隔離メッセージを表示する(ステップS609)。
このように、第五の実施の形態に係る端末隔離通知システム100Dでは、スイッチ10から正規プロキシサーバ80に対してHTTP要求のパケットを送信し、正規プロキシサーバ80が隔離メッセージを表示させるHTTP応答のパケットを返信することで、情報端末40上でブラウザを利用して隔離メッセージを表示することができる。
[第六の実施の形態]
上述した第一の実施の形態では、警告サーバ30が隔離メッセージを送信する場合を説明したが、これに限定されるものではない。例えば、メールサーバが隔離メッセージを含むメールを送信するようにしてもよい。以下の第六の実施形態では、メールサーバが隔離メッセージを含むメールを送信する場合について説明する。なお、第一の実施の形態と同様の構成および処理については適宜説明を省略する。
まず、図17を用いて、第六の実施の形態に係る端末隔離通知システム100Eについて説明する。図17は、第六の実施の形態に係る端末隔離通知システムの全体構成を示す概略構成図である。図17に示すように、端末隔離通知システム100Eは、複数のスイッチ10A、10B、コントローラ20、情報端末40、ルータ50およびメールサーバ90を有する。
スイッチ10の判定部12bは、情報端末40からメールサーバ90宛てに送信されたパケットであって、宛先ポート番号がメール受信用のポート番号であるパケットを受信したか否かを判定する。スイッチ10の破棄部12cは、判定部12bによって情報端末40からメールサーバ90宛てに送信されたパケットでない、または、宛先ポート番号がメール受信用のポート番号であるパケットでないと判定された場合には、パケットを破棄する。
スイッチ10の転送部12dは、判定部12bによってメールサーバ90宛てに送信されたパケットであって、宛先ポート番号がメール受信用のポート番号であるパケットを受信したと判定された場合には、メールサーバ90にパケットを転送する。スイッチ10の送信部12eは、メールサーバ90からパケットを受信した場合には、該パケットを情報端末40に送信する。
コントローラ20の事前設定部22aは、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。また、事前設定部22aは、スイッチ10に、端末Aからメールサーバ90に送信された宛先ポート番号がp_mであるパケットおよびメールサーバ90から端末Aに送信された送信元ポート番号がp_mであるパケットについては通常通り転送するフローエントリを優先度20で設定する。また、事前設定部22aは、情報端末40を保有するユーザのメールアカウント宛ての、本文に隔離メッセージを含むメールを生成し、メールサーバ90に送信する。
メールサーバ90は、返送部91を有する。返送部91は、スイッチ10から前記メールサーバ90宛てに送信されたパケットであって、宛先ポート番号がメール受信用のポート番号であるパケットを受信した場合には、情報端末40が隔離されたことを報知するメッセージを含むメールのパケットをスイッチ10に返信する。
次に、図18を用いて、第六の実施形態に係る端末隔離通知システム100Eの処理例について説明する。図18は、第六の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。
図18に示すように、端末隔離通知システム100Eにおけるコントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10に対してフローエントリの設定を指示する(ステップS701)。また、コントローラ20は、情報端末40を保有するユーザのメールアカウント宛ての、本文に隔離メッセージを含むメールを生成し(ステップS702)、メールサーバ90に送信する(ステップS703)。
その後、情報端末40がHTTP要求のパケットおよびHTTP応答のパケットのいずれのパケットでもないパケットを送信すると(ステップS704)、スイッチ10は、フローエントリに従って、このパケットを破棄する(ステップS705)。
また、情報端末40がメールサーバ90へメール受信用のポートを宛先ポートとするパケットを送信すると(ステップS706)、スイッチ10は、パケットをメールサーバ90に転送する(ステップS707)。
そして、メールサーバ90は、隔離メッセージを含むメールをスイッチ10に送信する(ステップS708)。続いて、スイッチ10は、隔離メッセージを含むメールのパケットを情報端末40に送信する(ステップS709)。そして、情報端末40は、隔離メッセージを表示する(ステップS710)。
このように、第六の実施の形態に係る端末隔離通知システム100Eでは、メールサーバが隔離メッセージを含むメールを送信することで、情報端末40の画面上に隔離メッセージを表示することができる。
[第七の実施の形態]
上述した第一の実施の形態では、警告サーバ30から送信された隔離メッセージを情報端末40で表示する場合を説明したが、これに限定されるものではない。例えば、情報端末40で実行されるエージェントソフトが隔離メッセージを表示するようにしてもよい。以下の第七の実施形態では、情報端末40で実行されるエージェントソフトが隔離メッセージを表示する場合について説明する。なお、第一の実施の形態と同様の構成および処理については適宜説明を省略する。
まず、図19を用いて、第七の実施の形態に係る端末隔離通知システム100Fについて説明する。図19は、第七の実施の形態に係る端末隔離通知システムの全体構成を示す概略構成図である。図19に示すように、端末隔離通知システム100Fは、スイッチ10a、コントローラ20および情報端末40を有する。
端末隔離通知システム100Fでは、ネットワーク中の情報端末40は特定のエージェントソフトを常時実行している。エージェントソフトは、コントローラ20から指令を受けると、隔離メッセージを当該情報端末40の画面上に表示する。コントローラ20からエージェントソフトへの指令通信は、例えば、TCPプロトコルで特定のポート番号p_aを利用して行われる。エージェントソフトは、ポート番号p_aで要求パケットを待ち受ける。
コントローラ20の事前設定部22aは、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10aに対してフローエントリの設定を指示する。例えば、事前設定部22aは、端末Aを宛先とするパケットを廃棄するフローエントリおよび端末Aを送信元とするパケットを廃棄するフローエントリをともに優先度10で設定する。また、事前設定部22aは、スイッチ10aに、コントローラ20から端末40に送信された宛先ポート番号がp_aであるパケットおよび端末40からコントローラ20に送信された送信元ポート番号がp_aであるパケットについては通常通り転送するフローエントリを優先度20で設定する。
また、コントローラ20の指令部22cは、特定のポート番号p_aを宛先ポート番号として情報端末40宛てに、情報端末40が隔離されたことを報知するメッセージを表示することを指示する指令パケットをスイッチ10aに送信する。
情報端末40の実行部41は、コントローラ20から指令パケットを受信すると情報端末40が隔離されたことを報知するメッセージを表示させる特定のエージェントソフトを実行する。
[スイッチの構成]
次に、図20を用いて、図19に示したスイッチ10aの構成を説明する。図20は、第七の実施の形態に係るスイッチの構成を示すブロック図である。図20に示すように、このスイッチ10aは、通信処理部11、制御部12、記憶部13を有する。以下にこれらの各部の処理を説明する。
通信処理部11は、コントローラ20や情報端末40との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部11は、コントローラ20から指令パケットを受信する。
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、設定受付部12a、判定部12b、破棄部12cおよび送信部12eを有する。
判定部12bは、コントローラ20から情報端末40へ送信されたパケットであって、宛先ポート番号が特定のポート番号p_aであるパケットを受信したか否かを判定する。
破棄部12cは、判定部12bによってコントローラ20から情報端末40へ送信されたパケットでない、または、宛先ポート番号が特定のポート番号p_aであるパケットでないと判定された場合には、パケットを破棄する。
送信部12eは、判定部12bによってコントローラ20から情報端末40へ送信されたパケットであって、宛先ポート番号が特定のポート番号p_aであるパケットであると判定された場合には、該パケットを情報端末40に送信する。
次に、図21を用いて、第七の実施形態に係る端末隔離通知システム100Fの処理例について説明する。図21は、第七の実施の形態に係る端末隔離通知システムによる処理を説明するシーケンス図である。
図21に示すように、端末隔離通知システム100Fにおけるコントローラ20は、感染が疑われる情報端末40に対するネットワーク管理者等からの隔離指示を契機に、情報端末40に接続するスイッチ10aに対してフローエントリの設定を指示する(ステップS801)。
そして、コントローラ20は、特定のポート番号p_aを宛先ポート番号として情報端末40宛てに、情報端末40が隔離されたことを報知するメッセージを表示することを指示する指令パケットをスイッチ10aに送信する(ステップS802)。
そして、スイッチ10aは、指令パケットを情報端末40に送信する(ステップS803)。つまり、指令パケットが、判定部12bによってコントローラ20から情報端末40へ送信されたパケットであって、宛先ポート番号が特定のポート番号p_aであるパケットであると判定されるため、該指令パケットを情報端末40に送信する。
情報端末40のエージェントソフトは、コントローラ20から指令パケットを受信すると情報端末40が隔離されたことを報知する隔離メッセージを画面上に表示させる(ステップS804)。
このように、第七の実施の形態に係る端末隔離通知システム100Fでは、情報端末40で実行されるエージェントソフトが隔離メッセージを表示することができる。
(システム構成等)
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(プログラム)
また、上記実施の形態に係るスイッチ10やコントローラ20、警告サーバ30等の各装置が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施の形態と同様の効果を得ることができる。さらに、かかるプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施の形態と同様の処理を実現してもよい。以下に、スイッチ10やコントローラ20、警告サーバ30等と同様の機能を実現する端末隔離通知プログラムを実行するコンピュータの一例を説明する。
図22は、端末隔離通知プログラムを実行するコンピュータを示す図である。図22に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図22に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施の形態で説明した各テーブルは、例えばハードディスクドライブ1090やメモリ1010に記憶される。
また、端末隔離通知プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、ハードディスクドライブ1090に記憶される。具体的には、上記実施の形態で説明した各装置が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1090に記憶される。
また、端末隔離通知プログラムによる情報処理に用いられるデータは、プログラムデータとして、例えば、ハードディスクドライブ1090に記憶される。そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、端末隔離通知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、端末隔離通知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。