(57)【特許請求の範囲】
【請求項１】
複数の通信ポートと、
前記複数の通信ポートがポートスキャンを受けているか否かを検出するポートスキャン検出部と、
前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定する許可判定部と、
前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行うパケット処理部と、を備え、
前記パケット処理部は、
フロー毎に、該フローの処理内容を含むフローエントリが設定されるフローテーブルを具備し、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていれば、該フローエントリの処理内容に従って、該パケットを処理するスイッチと、
フロー毎に、該フローのフローエントリを前記フローテーブルに設定するフロー設定部と、を備え、
前記スイッチは、
前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていなければ、該パケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを前記フロー設定部に送信し、
前記ポートスキャン検出部は、
前記フロー設定部がＰＡＣＫＥＴ＿ＩＮメッセージを受信した場合、以降の一定時間内に、該ＰＡＣＫＥＴ＿ＩＮメッセージに格納されたパケットと送信元ＩＰアドレス及びＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを前記フロー設定部で受信した受信回数をカウントし、該カウント数が閾値を超過した場合には、前記複数の通信ポートがポートスキャンを受けていると検出する、通信端末。
【請求項２】
複数の通信ポートと、
前記複数の通信ポートがポートスキャンを受けているか否かを検出するポートスキャン検出部と、
前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定する許可判定部と、
前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行うパケット処理部と、を備え、
前記パケット処理部は、
フロー毎に、該フローの統計情報及び処理内容を含むフローエントリが設定されるフローテーブルを具備し、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていれば、該フローエントリの処理内容に従って、該パケットを処理するスイッチと、
フロー毎に、該フローのフローエントリを前記フローテーブルに設定するフロー設定部と、を備え、
前記統計情報は、
フローの統計値と、該フローのフローエントリが設定されてからの経過時間と、を含んでおり、
前記ポートスキャン検出部は、
定期的に、前記スイッチからフロー毎の統計情報を取得し、
フロー毎の統計情報を基に、一定時間内に、送信元ＩＰアドレス及びＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを前記スイッチで受信した受信回数をカウントし、該カウント数が閾値を超過した場合には、前記複数の通信ポートがポートスキャンを受けていると検出する、通信端末。
【請求項３】
前記許可判定部は、
前記特定装置のＩＰアドレス及びＭＡＣアドレスを保持し、
ポートスキャンに係るパケットの送信元ＩＰアドレス及びＭＡＣアドレスが、前記特定装置のＩＰアドレス及びＭＡＣアドレスと一致した場合に、前記送信元装置が前記特定装置であると判定する、請求項１又は２に記載の通信端末。
【請求項４】
前記許可判定部は、
外部の認証サーバに前記送信元装置の認証を依頼し、
前記送信元装置の認証が成功した場合に、前記送信元装置が前記特定装置であると判定する、請求項１又は２に記載の通信端末。
【請求項５】
前記許可判定部は、
ポートスキャンに係るパケットに、前記特定装置であることを識別する識別情報が格納されている場合に、前記送信元装置が前記特定装置であると判定する、請求項１又は２に記載の通信端末。
【請求項６】
前記攻撃防御処理は、
ポートスキャンに係るパケットを廃棄する処理である、請求項１から５のいずれか１項に記載の通信端末。
【請求項７】
前記攻撃防御処理は、
外部のセキュリティサーバに対し、ポートスキャンに係るパケットのパケット情報を通報する処理である、請求項１から５のいずれか１項に記載の通信端末。
【請求項８】
前記攻撃防御処理は、
前記複数の通信ポートの中の開放されている通信ポートの少なくとも１つを閉じる処理である、請求項１から５のいずれか１項に記載の通信端末。
【請求項９】
複数の通信ポートを備える通信端末による通信方法であって、
前記複数の通信ポートがポートスキャンを受けているか否かを検出するポートスキャン検出ステップと、
前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定するステップと、
前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行うパケット処理ステップと、を含み、
前記通信端末は、
フロー毎に、該フローの処理内容を含むフローエントリが設定されるフローテーブルを具備するスイッチと、
フロー毎に、該フローのフローエントリを前記フローテーブルに設定するフロー設定部と、を備えており、
前記パケット処理ステップでは、
前記スイッチが、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていれば、該フローエントリの処理内容に従って、該パケットを処理し、
前記スイッチが、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていなければ、該パケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを前記フロー設定部に送信し、
前記ポートスキャン検出ステップでは、
前記フロー設定部がＰＡＣＫＥＴ＿ＩＮメッセージを受信した場合、以降の一定時間内に、該ＰＡＣＫＥＴ＿ＩＮメッセージに格納されたパケットと送信元ＩＰアドレス及びＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを前記フロー設定部で受信した受信回数をカウントし、該カウント数が閾値を超過した場合には、前記複数の通信ポートがポートスキャンを受けていると検出する、通信方法。
【請求項１０】
複数の通信ポートを備える通信端末による通信方法であって、
前記複数の通信ポートがポートスキャンを受けているか否かを検出するポートスキャン検出ステップと、
前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定するステップと、
前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行うパケット処理ステップと、を含み、
前記通信端末は、
フロー毎に、該フローの統計情報及び処理内容を含むフローエントリが設定されるフローテーブルを具備するスイッチと、
フロー毎に、該フローのフローエントリを前記フローテーブルに設定するフロー設定部と、を備えており、
前記パケット処理ステップでは、
前記スイッチが、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていれば、該フローエントリの処理内容に従って、該パケットを処理し、
前記統計情報は、
フローの統計値と、該フローのフローエントリが設定されてからの経過時間と、を含んでおり、
前記ポートスキャン検出ステップでは、
定期的に、前記スイッチからフロー毎の統計情報を取得し、
フロー毎の統計情報を基に、一定時間内に、送信元ＩＰアドレス及びＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを前記スイッチで受信した受信回数をカウントし、該カウント数が閾値を超過した場合には、前記複数の通信ポートがポートスキャンを受けていると検出する、通信端末。
【請求項１１】
複数の通信ポートを備える通信端末に、
前記複数の通信ポートがポートスキャンを受けているか否かを検出するポートスキャン検出手順と、
前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定する手順と、
前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行うパケット処理手順と、を実行させ、
前記通信端末は、
フロー毎に、該フローの処理内容を含むフローエントリが設定されるフローテーブルを具備するスイッチと、
フロー毎に、該フローのフローエントリを前記フローテーブルに設定するフロー設定部と、を備えており、
前記パケット処理手順では、
前記スイッチが、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていれば、該フローエントリの処理内容に従って、該パケットを処理し、
前記スイッチが、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていなければ、該パケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを前記フロー設定部に送信し、
前記ポートスキャン検出手順では、
前記フロー設定部がＰＡＣＫＥＴ＿ＩＮメッセージを受信した場合、以降の一定時間内に、該ＰＡＣＫＥＴ＿ＩＮメッセージに格納されたパケットと送信元ＩＰアドレス及びＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを前記フロー設定部で受信した受信回数をカウントし、該カウント数が閾値を超過した場合には、前記複数の通信ポートがポートスキャンを受けていると検出する、プログラム。
【請求項１２】
複数の通信ポートを備える通信端末に、
前記複数の通信ポートがポートスキャンを受けているか否かを検出するポートスキャン検出手順と、
前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定する手順と、
前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行うパケット処理手順と、を実行させ、
前記通信端末は、
フロー毎に、該フローの統計情報及び処理内容を含むフローエントリが設定されるフローテーブルを具備するスイッチと、
フロー毎に、該フローのフローエントリを前記フローテーブルに設定するフロー設定部と、を備えており、
前記パケット処理手順では、
前記スイッチが、前記通信ポートを経由して受信したパケットに対応するフローのフローエントリが前記フローテーブルに設定されていれば、該フローエントリの処理内容に従って、該パケットを処理し、
前記統計情報は、
フローの統計値と、該フローのフローエントリが設定されてからの経過時間と、を含んでおり、
前記ポートスキャン検出手順では、
定期的に、前記スイッチからフロー毎の統計情報を取得し、
フロー毎の統計情報を基に、一定時間内に、送信元ＩＰアドレス及びＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを前記スイッチで受信した受信回数をカウントし、該カウント数が閾値を超過した場合には、前記複数の通信ポートがポートスキャンを受けていると検出する、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信端末、通信方法、プログラムに関し、特に、ポートスキャンを検出する通信端末、通信方法、プログラムに関する。
【背景技術】
【０００２】
ここ数年、悪意のあるユーザ（攻撃者）からネットワーク上の攻撃対象の通信端末に対して、不正パケットを大量に送信するというＤｏＳ（Denial of Service）攻撃が後を絶たない。また、近年は、ＤｏＳ攻撃の準備として、攻撃対象の通信端末の通信ポートに順次、パケットを送信することにより、通信端末の開放されている通信ポートを確認するというポートスキャンを実行するケースも増えている。すなわち、まず、ポートスキャンを実行し、開放されている通信ポートを確認してから、開放を確認した通信ポートからＤｏＳ攻撃を実行するケースである。そのため、最近は、ＤｏＳ攻撃及びポートスキャンに対する対策が幾つか提案されている。
【０００３】
例えば、特許文献１においては、ＤｏＳ攻撃に対する対策が提案されている。特許文献１によれば、パケットを受信した場合、不正パケットであるか否かを判別するための定義パタンを参照し、受信パケットが不正パケットであるか否かを判定する。もし受信パケットが不正パケットであると判定した場合は、受信パケットを廃棄する。
【０００４】
また、特許文献２においては、ポートスキャンに対する対策が提案されている。特許文献２によれば、所定の時間間隔分の複数のＩＰ（Internet Protocol）パケットのうち、送信元ＩＰアドレスが同一であるＩＰパケットをひとまとめにしてメモリに取り込む。そして、送信元ＩＰアドレスが同一であるＩＰパケット群から、宛先ＩＰアドレスが同一で、かつ、宛先ポート番号が互いに異なるＩＰパケットの個数をカウントし、カウント数が所定数に達した場合には、ポートスキャンの攻撃を受けていると検出する。もしポートスキャンの攻撃を受けていると検出した場合には、以降、ポートスキャンに係るＩＰパケットを廃棄する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−０７０３２５号公報
【特許文献２】特開２００１−０５７５５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１，２においては、ＤｏＳ攻撃やポートスキャンの攻撃を受けている場合、それらの攻撃に係るパケットが廃棄されるため、以降、攻撃者は、ＤｏＳ攻撃やポートスキャンの攻撃を実行することができなくなる。
【０００７】
ただし、このうちのポートスキャンは、本来、管理者が、通信端末の各通信ポートの状態を確認することを目的として、実行するものである。そのため、ポートスキャンは、攻撃者に限らず、管理者も実行する。
【０００８】
しかし、特許文献２においては、管理者によるポートスキャンと攻撃者によるポートスキャンとを区別していないため、管理者によるポートスキャンに係るパケットも一律に廃棄されてしまう。なお、特許文献１においても、管理者と攻撃者とを区別することはなされていない。
【０００９】
したがって、特許文献１，２のいずれにおいても、管理者の装置のようにポートスキャンを許可された特定装置以外の装置がポートスキャンを実行した場合にのみ、パケットの廃棄のような攻撃防御処理を実行することはできないという問題がある。
【００１０】
そこで本発明の目的の１つは、上述した課題を解決し、ポートスキャンを許可された特定装置以外の装置がポートスキャンを実行した場合にのみ、攻撃防御処理を実行することができる通信端末、通信方法、プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
一態様において、通信端末は、複数の通信ポートと、前記複数の通信ポートがポートスキャンを受けているか否かを検出するポートスキャン検出部と、前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定する許可判定部と、前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行うパケット処理部と、を備える。
【００１２】
一態様において、通信方法は、複数の通信ポートを備える通信端末による通信方法である。前記通信方法では、前記複数の通信ポートがポートスキャンを受けているか否かを検出し、前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定し、前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行う。
【００１３】
一態様において、プログラムは、複数の通信ポートを備える通信端末に、前記複数の通信ポートがポートスキャンを受けているか否かを検出する手順と、前記複数の通信ポートがポートスキャンを受けていると検出された場合、該ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定する手順と、前記複数の通信ポートがポートスキャンを受けていると検出され、かつ、前記送信元装置が前記特定装置でないと判定された場合、予め決められた攻撃防御処理を行う手順と、を実行させるためのプログラムである。
【発明の効果】
【００１４】
上述した態様によれば、通信端末は、ポートスキャンを許可された特定装置以外の装置がポートスキャンを実行した場合にのみ、攻撃防御処理を実行することができるという効果が得られる。
【図面の簡単な説明】
【００１５】
【図１】実施形態１の通信端末の構成例を示す図である。
【図２】実施形態２，３の通信端末の構成例を示す図である。
【図３】実施形態２の通信端末の動作例を示すフロー図である。
【図４】実施形態３の通信端末の動作例を示すフロー図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。
（１）実施形態１
図１に、本実施形態の通信端末１０の構成例を示す。図１を参照すると、本実施形態の通信端末１０は、複数の通信ポート１１−１〜１１−Ｎ（Ｎは２以上の自然数）と、ポートスキャン検出部１２と、許可判定部１３と、パケット処理部１４と、を備える。
【００１７】
ポートスキャン検出部１２は、通信ポート１１−１〜１１−Ｎがポートスキャンを受けているか否かを検出する。ポートスキャンは、同じ送信元装置から、異なる通信ポート１１−１〜１１−Ｎに順次、パケットを送信することである。ポートスキャンの検出方法としては、例えば、特許文献２に記載の方法等を用いることができる。
【００１８】
許可判定部１３は、通信ポート１１−１〜１１−Ｎがポートスキャンを受けていると検出された場合、そのポートスキャンに係るパケット（通信ポート１１−１〜１１−Ｎで受信されたパケットのうちポートスキャンの実行のために使用されたパケット。以下、同じ）の送信元装置が、ポートスキャンを事前に許可されている特定装置であるか否かを判定する。特定装置とは、例えば、通信端末１０を含む通信システムの管理者が使用する管理者装置等である。特定装置の判定方法としては、例えば、特定装置のＩＰアドレス／ＭＡＣ（Media Access Control）アドレス（ＩＰアドレス及びＭＡＣアドレスを意味する。以下、同じ）を保持しておき、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスを、特定装置のＩＰアドレス／ＭＡＣアドレスと比較する方法等を用いることができる。
【００１９】
パケット処理部１４は、通信ポート１１−１〜１１−Ｎがポートスキャンを受けていると検出され、かつ、そのポートスキャンに係るパケットの送信元装置が特定装置でないと判定された場合、そのパケットに対して予め決められた攻撃防御処理を行う。もしポートスキャンに係るパケットの送信元装置が特定装置でない場合、そのポートスキャンは攻撃者が実行していると考えられる。そのため、攻撃防御処理としては、ポートスキャンに係るパケットを廃棄する処理等が考えられる。
【００２０】
上述したように本実施形態においては、通信端末１０は、ポートスキャンを検出した場合、ポートスキャンに係るパケットの送信元装置が、ポートスキャンを許可されている特定装置であるか否かを判定し、特定装置でない場合、予め決められた攻撃防御処理を行う。したがって、特定装置以外の装置がポートスキャンを実行した場合にのみ、攻撃防御処理を実行することができる。
【００２１】
（２）実施形態２
本実施形態は、実施形態１の通信端末１０をオープンフロー（OpenFlow）に適用したものである。図２に、本実施形態の通信端末２０の構成例を示す。図２を参照すると、本実施形態の通信端末２０は、複数の通信ポート２１−１〜２１−Ｎ（Ｎは２以上の自然数）と、スイッチ２２と、コントローラ２３と、を備える。スイッチ２２は、オープンフロースイッチ（OpenFlow Switch）で実現されるもので、フローテーブル２２１を備える。コントローラ２３は、オープンフローコントローラ（OpenFlow Controller）で実現されるもので、フロー設定部２３１と、ポートスキャン検出部２３２と、許可判定部２３３と、を備える。通信ポート２１−１〜２１−Ｎ、ポートスキャン検出部２３２、及び許可判定部２３３はそれぞれ、実施形態１の通信ポート１１−１〜１１−Ｎ、ポートスキャン検出部１２、及び許可判定部１３に対応する。また、フロー設定部２３１及びスイッチ２２は、実施形態１のパケット処理部１４を構成する構成要素となる。
【００２２】
フローテーブル２２１には、フロー毎に、そのフローを識別するマッチ条件、そのフローの統計情報、及びそのフローの処理内容（転送、廃棄、ルート制限）等を含むフローエントリが設定される。
【００２３】
スイッチ２２は、通信ポート２１−１〜２１−Ｎを経由してパケットを受信した場合、受信パケットに対応するフローのフローエントリ（すなわち、受信パケットのヘッダに記述されているヘッダ情報（送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ＭＡＣアドレス、宛先ＭＡＣアドレス、送信元ポート番号、宛先ポート番号等）とマッチするマッチ条件を含んでいるフローエントリ。以下、同じ）がフローテーブル２２１に設定されているか否かを確認する。受信パケットに対応するフローのフローエントリがフローテーブル２２１に設定されている場合、スイッチ２２は、受信パケットに対応するフローのフローエントリの処理内容に従って、受信パケットを処理する。一方、受信パケットに対応するフローのフローエントリがフローテーブル２２１に設定されていない場合、スイッチ２２は、フローの処理内容を問い合わせるＰＡＣＫＥＴ＿ＩＮメッセージに受信パケットを格納し、そのＰＡＣＫＥＴ＿ＩＮメッセージをコントローラ２３のフロー設定部２３１に送信する。
【００２４】
ポートスキャン検出部２３２は、通信ポート２１−１〜２１−Ｎがポートスキャンを受けているか否かを検出する。具体的には、ポートスキャン検出部２３２は、フロー設定部２３１がスイッチ２２からＰＡＣＫＥＴ＿ＩＮメッセージを受信した場合、以降の一定時間内に、そのＰＡＣＫＥＴ＿ＩＮメッセージに格納されたパケットと送信元ＩＰアドレス／ＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを、フロー設定部２３１で受信した受信回数をカウントする。もしカウント数が閾値を超過した場合には、ポートスキャン検出部２３２は、通信ポート２１−１〜２１−Ｎがポートスキャンを受けていると検出する。
【００２５】
許可判定部２３３は、通信ポート２１−１〜２１−Ｎがポートスキャンを受けていると検出された場合、そのポートスキャンに係るパケットの送信元装置が、ポートスキャンを事前に許可されている特定装置であるか否かを判定する。本実施形態においては、特定装置は、通信端末２０を含む通信システムの管理者が使用する管理者装置であるとする。具体的には、許可判定部２３３は、管理者装置のＩＰアドレス／ＭＡＣアドレスを保持しておき、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致した場合は、ポートスキャンに係るパケットの送信元装置が管理者装置であると判定する。
【００２６】
フロー設定部２３１は、通信ポート２１−１〜２１−Ｎがポートスキャンを受けていると検出され、かつ、そのポートスキャンに係るパケットの送信元装置が管理者装置でないと判定された場合、そのパケットに対応するフローの処理内容を、予め決められた攻撃防御処理に決定する。本実施形態においては、攻撃防御処理は、パケットを廃棄する処理とする。そして、フロー設定部２３１は、フローの処理内容を指示するＦＬＯＷ＿ＭＯＤメッセージに、フローのマッチ条件及び上記で決定した処理内容（廃棄）を格納し、そのＦＬＯＷ＿ＭＯＤメッセージをスイッチ２２に送信する。
【００２７】
スイッチ２２は、フロー設定部２３１からＦＬＯＷ＿ＭＯＤメッセージを受信した場合、そのＦＬＯＷ＿ＭＯＤメッセージに格納されたフローのマッチ条件及び処理内容（廃棄）を含むフローエントリをフローテーブル２２１に設定する。なお、フローエントリの統計情報は、該当するフローを受信したスイッチ２２が更新する。これにより、受信パケットに対応するフローのフローエントリがフローテーブル２２１に設定されるため、スイッチ２２は、フローエントリの処理内容に従って、受信パケットを廃棄する。また、スイッチ２２は、以降に、今回フローエントリを設定したフローに対応するパケットを受信した場合は、ＰＡＣＫＥＴ＿ＩＮメッセージをコントローラ２３のフロー設定部２３１に送信することなく、受信パケットを廃棄する。
【００２８】
なお、ポートスキャン検出部２３２がポートスキャンを受けていることを検出しない場合や、許可判定部２３３がポートスキャンに係るパケットの送信元装置が管理者装置であると判定した場合には、フロー設定部２３１は、そのパケットに対応するフローの処理内容を、通常通りに（例えば、事前に設定された制御ポリシーに従い）、決定する。
【００２９】
以下、本実施形態の通信端末２０の動作について、図３を参照して説明する。図３を参照すると、スイッチ２２は、通信ポート２１−１〜２１−Ｎのいずれかを経由してパケットを受信した場合（ステップＡ１）、受信パケットに対応するフローのフローエントリがフローテーブル２２１に設定されているか否かを確認する（ステップＡ２）。受信パケットに対応するフローのフローエントリがフローテーブル２２１に設定されている場合（ステップＡ３のＹｅｓ）、スイッチ２２は、フローエントリの処理内容に従って、受信パケットを処理する（ステップＡ１１）。
【００３０】
一方、受信パケットに対応するフローのフローエントリがフローテーブル２２１に設定されていない場合（ステップＡ３のＮｏ）、スイッチ２２は、フローの処理内容を問い合わせるＰＡＣＫＥＴ＿ＩＮメッセージに受信パケットを格納し、そのＰＡＣＫＥＴ＿ＩＮメッセージをコントローラ２３のフロー設定部２３１に送信する（ステップＡ４）。
【００３１】
ポートスキャン検出部２３２は、フロー設定部２３１がスイッチ２２からＰＡＣＫＥＴ＿ＩＮメッセージを受信した場合、以降の一定時間内に、そのＰＡＣＫＥＴ＿ＩＮメッセージに格納されたパケットと送信元ＩＰアドレス／ＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージをフロー設定部２３１で受信した受信回数をカウントする（ステップＡ５）。ポートスキャン検出部２３２は、カウント数が閾値を超過した場合には（ステップＡ６のＹｅｓ）、通信ポート２１−１〜２１−Ｎがポートスキャンを受けていると検出する。続いて、許可判定部２３３は、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致するか否かを判定する（ステップＡ７）。許可判定部２３３は、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致しない場合には（ステップＡ７のＮｏ）、ポートスキャンに係るパケットの送信元装置が管理者装置でないと判定する。続いて、フロー設定部２３１は、ポートスキャンに係るパケットに対応するフローの処理内容を、パケットの廃棄に決定する（ステップＡ８）。
【００３２】
なお、カウント数が閾値を超過しなかった場合（ステップＡ６のＮｏ）や、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致した場合（ステップＡ７のＹｅｓ）には、フロー設定部２３１は、そのパケットに対応するフローの処理内容を、通常通りに決定することになる。例えば、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致した場合は、フロー設定部２３１は、パケットに対応するフローの処理内容を、パケットの転送に決定する。
【００３３】
次に、フロー設定部２３１は、フローの処理内容を指示するＦＬＯＷ＿ＭＯＤメッセージに、フローのマッチ条件及び上記で決定した処理内容を格納し、そのＦＬＯＷ＿ＭＯＤメッセージをスイッチ２２に送信する（ステップＡ９）。
【００３４】
スイッチ２２は、フロー設定部２３１からＦＬＯＷ＿ＭＯＤメッセージを受信した場合、そのＦＬＯＷ＿ＭＯＤメッセージに格納されたフローのマッチ条件及び処理内容を含むフローエントリをフローテーブル２２１に設定する（ステップＡ１０）。これにより、ステップＡ１で受信した受信パケットに対応するフローのフローエントリがフローテーブル２２１に設定される。そのため、スイッチ２２は、フローエントリの処理内容に従って、ステップＡ１で受信した受信パケットの処理を実行する（ステップＡ１１）。
【００３５】
上述したように本実施形態においては、通信端末２０は、ポートスキャンを検出した場合、ポートスキャンに係るパケットの送信元装置が管理者装置であるか否かを判定し、管理者装置でない場合、そのパケットを廃棄する。したがって、管理者装置以外の装置がポートスキャンを実行した場合にのみ、パケットを廃棄するという攻撃防御処理を実行することができる。また、ポートスキャンを実行した装置（管理者装置を除く）からのパケットを廃棄するため、以降、攻撃者は、ポートスキャンやＤｏＳ攻撃を実行することができなくなる。
【００３６】
（３）実施形態３
本実施形態は、実施形態２と同様に、実施形態１の通信端末をオープンフローに適用したものであり、実施形態２と構成自体は同様である。ただし、本実施形態は、ポートスキャン検出部２３２によるポートスキャンの検出方法が実施形態２とは異なる。
【００３７】
実施形態２においては、ポートスキャン検出部２３２は、送信元ＩＰアドレス／ＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを格納したＰＡＣＫＥＴ＿ＩＮメッセージを、フロー設定部２３１で受信した受信回数をカウントし、そのカウント数を基にポートスキャンを検出する構成であった。
【００３８】
これに対して本実施形態においては、ポートスキャン検出部２３２は、フローテーブル２２１の統計情報を用いて、送信元ＩＰアドレス／ＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットをスイッチ２２で受信した受信回数をカウントし、そのカウント数を基にポートスキャンを検出する構成である。具体的には、ポートスキャン検出部２３２は、カウント数が閾値を超過した場合には、通信ポート２１−１〜２１−Ｎがポートスキャンを受けていると検出する。なお、フローテーブル２２１の統計情報は、フローの統計値と、そのフローのフローエントリが設定されてからの経過時間と、を含んでいる。
【００３９】
以下、本実施形態の通信端末２０の動作について、図４を参照して説明する。図４を参照すると、フロー設定部２３１は、定期的に、スイッチ２２に対し、フローテーブル２２１の統計情報の取得要求を送信する（ステップＢ１）。スイッチ２２は、フロー設定部２３１から、フローテーブル２２１の統計情報の取得要求を受信した場合、フローテーブル２２１からフロー毎のマッチ条件及び統計情報を読み出し、フロー設定部２３１に送信する（ステップＢ２）。
【００４０】
ここで、フロー毎の統計情報は、上述の通り、そのフローの統計値と、そのフローのフローエントリが設定されてからの経過時間と、を含んでいる。そのため、ポートスキャン検出部２３２は、フロー毎の統計情報を基に、一定時間（例えば、フローエントリが設定されてからの経過時間が０秒から１０秒など）内に、送信元ＩＰアドレス／ＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットをスイッチ２２で受信した受信回数をカウントする（ステップＢ３）。このとき、ポートスキャン検出部２３２は、例えば、一定時間内にスイッチ２２で受信したパケットを順次選択し、パケットを選択する度に、そのパケットと送信元ＩＰアドレス／ＭＡＣアドレスが同一で、かつ、宛先ポート番号が異なるパケットを受信した受信回数をカウントすることが考えられる。ポートスキャン検出部２３２は、カウント数が閾値を超過した場合には（ステップＢ４のＹｅｓ）、通信ポート２１−１〜２１−Ｎがポートスキャンを受けていると検出する。続いて、許可判定部２３３は、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致するか否かを判定する（ステップＢ５）。許可判定部２３３は、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致しない場合には（ステップＢ５のＮｏ）、ポートスキャンに係るパケットの送信元装置が管理者装置でないと判定する。続いて、フロー設定部２３１は、ポートスキャンに係るパケットに対応するフローの処理内容を、パケットの廃棄に決定する（ステップＢ６）。続いて、フロー設定部２３１は、フローの処理内容を指示するＦＬＯＷ＿ＭＯＤメッセージに、そのフローのマッチ条及び上記で決定した処理内容（廃棄）を格納し、そのＦＬＯＷ＿ＭＯＤメッセージをスイッチ２２に送信する（ステップＢ７）。
【００４１】
スイッチ２２は、フロー設定部２３１からＦＬＯＷ＿ＭＯＤメッセージを受信した場合、そのＦＬＯＷ＿ＭＯＤメッセージに格納されたフローのマッチ条件及び処理内容（廃棄）を基に、フローテーブル２２１において、そのフローのフローエントリを更新する（ステップＢ８）。そのため、スイッチ２２は、以降に、今回フローエントリを更新したフローに対応するパケットを受信した場合は、ＰＡＣＫＥＴ＿ＩＮメッセージをコントローラ２３のフロー設定部２３１に送信することなく、そのパケットを廃棄する。
【００４２】
なお、カウント数が閾値を超過しなかった場合（ステップＢ４のＮｏ）や、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスが、管理者装置のＩＰアドレス／ＭＡＣアドレスと一致した場合（ステップＢ５のＹｅｓ）には、フローテーブル２２１のフローエントリを更新せず、特に何もしないで処理を終了する。
【００４３】
上述したように本実施形態においては、実施形態２と同様に、通信端末２０は、ポートスキャンを検出した場合、ポートスキャンに係るパケットの送信元装置が管理者装置であるか否かを判定し、管理者装置でない場合、そのパケットを廃棄する。したがって、管理者装置以外の装置がポートスキャンを実行した場合にのみ、パケットを廃棄するという攻撃防御処理を実行することができる。また、ポートスキャンを実行した装置（管理者装置を除く）からのパケットを廃棄するため、以降、攻撃者は、ポートスキャンやＤｏＳ攻撃を実行することができなくなる。
【００４４】
なお、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００４５】
例えば、上記実施形態においては、許可判定部は、ポートスキャンを許可された特定装置のＩＰアドレス／ＭＡＣアドレスを保持しておき、ポートスキャンに係るパケットの送信元ＩＰアドレス／ＭＡＣアドレスを基に、ポートスキャンに係るパケットの送信元装置が、上記の特定装置であるか否かを判定していた。
【００４６】
しかし、許可判定部は、上記の送信元装置の認証を外部の不図示の認証サーバに依頼し、認証が成功した場合に、上記の送信元装置が上記の特定装置であると判定しても良い。
【００４７】
又は、特定装置は、パケットの空き領域に、特定装置であることを識別する識別情報を格納し、許可判定部は、この識別情報がポートスキャンに係るパケットに格納されている場合に、上記の送信元装置が上記の特定装置であると判定しても良い。この場合、パケット処理部は、上記の特定装置によるポートスキャンに係るパケットを外部のネットワークに送信する場合には、そのパケットの上記の識別情報が格納されていた領域の情報を、他の情報に書き換えても良い。
【００４８】
また、上記実施形態においては、ポートスキャンを許可された特定装置以外の装置によるポートスキャンを検出した場合の攻撃防御処理を、そのポートスキャンに係るパケットの廃棄としていた。
【００４９】
しかし、攻撃防御処理は、パケットの廃棄ではなく、ポートスキャンに係るパケットのパケット情報（送信元ＩＰアドレス／ＭＡＣアドレスの情報等）を、外部の不図示のセキュリティサーバに通報するようにしても良い。
【００５０】
また、ポートスキャンは、本格的な攻撃（ＤｏＳ攻撃等）の準備段階として行われることが多い。そのため、攻撃防御処理は、ポートスキャン後の攻撃に備えて、現在開放している通信ポートのうちの不必要な通信ポート（少なくとも１つの通信ポート）を閉めるようにしても良い。
【００５１】
又は、攻撃防御処理は、パケットの廃棄ではなく、通信端末を含む通信システム全体のセキュリティレベルを上げるようにしても良い。
【００５２】
また、上記実施形態の通信端末における処理は、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現されても良い。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＣＤ−Ｒ（CD-Recordable）、ＣＤ−Ｒ／Ｗ（CD-ReWritable）、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【符号の説明】
【００５３】
１０  通信端末
１１−１〜１１−Ｎ  通信ポート
１２  ポートスキャン検出部
１３  許可判定部
１４  パケット処理部
２０  通信端末
２１−１〜２１−Ｎ  通信ポート
２２  スイッチ
２２１  フローテーブル
２３  コントローラ
２３１  フロー設定部
２３２  ポートスキャン検出部
２３３  許可判定部
【図１】
0006488795.tif 000002
【図２】
0006488795.tif 000003
【図３】
0006488795.tif 000004
【図４】
0006488795.tif 000005