本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
<<<第1の実施形態>>>
図1は、本発明の第1の実施形態に係るトラップシステム(情報処理システムとも呼ばれる)101の構成を示すブロック図である。
図1に示すように、本実施形態に係るトラップシステム101は、第1ダミーパケット通信部110と、フロー登録部130とを含む。尚、図1に示す各構成要素は、ハードウエア単位の回路でも、マイクロチップに含まれるモジュールでも、コンピュータ装置の機能単位に分割された構成要素でもよい。ここでは、図1に示す構成要素は、コンピュータ装置の機能単位に分割された構成要素として説明する。
また、図1に示すトラップシステム101は、あるサーバに実装され、ネットワークを介して利用可能にされてよいし、図1に示す各構成要素がネットワーク上に分散して設置されて利用可能にされてもよい。
===第1ダミーパケット通信部110===
第1ダミーパケット通信部110は、第1ダミー情報を含む、第1ダミーパケットを生成し、生成したその第1ダミーパケットを送信する。その第1ダミー情報は、ネットワーク内に存在しないノードをそのネットワーク内に存在するかのように見せかけるための情報である。ここで、そのノードは、装置や、ウェブサイト、ユーザなど、ネットワークに接続される或いはネットワークに含まれる、任意の要素であってよい。以下の説明においては、代表的に、そのノードが装置であるとして説明する。
例えば、その第1ダミー情報は、そのネットワーク内の通信において、送信元及び宛先を識別するためのアドレスであって、そのネットワークに接続されるいずれの装置も使用していないアドレスである。より具体的には、その第1ダミー情報は、そのネットワークに接続されるいずれの装置にも付与されていないIP(Internet Protocol)アドレスであって、その第1のダミーパケットの送信元IPアドレスとして含まれるIPアドレスである。以下、その第1ダミー情報である、その第1のダミーパケットの送信元IPアドレスを送信元ダミーIPと呼ぶ。
その第1ダミー情報は、上述の例に係わらず、MAC(Media Access Control address)アドレス、Ether type(イーサネット(登録商標)の種別)であってよい。その第1ダミー情報は、VLAN(Virtual Local Area Network) id、VLAN priority、IP proto(IPのプロトコル種別)であってもよい。その第1ダミー情報は、IP ToS(Type of Service) bits(IPのToS情報)であってもよい。その第1ダミー情報は、TCP(Transmission Control Protocol)/UDP(User Datagram Protocol) port(ポート番号)であってもよい。また、その第1ダミー情報は、これらの任意の組み合わせであってよい。
図2は、第1ダミーパケット811の一例を示す図である。図2に示すように、第1ダミーパケット811は、第1ダミー情報として送信元ダミーIPを含む。
===フロー登録部130===
フロー登録部130は、不正パケットに対応する、フロー(通信制御規則とも呼ばれる)を生成し、パケットの伝送処理機能を含むスイッチ手段(不図示)へ生成したそのフローを送信する。その不正パケットは、第1ダミーパケット811に含まれる第1ダミー情報を利用して生成される、パケットである。そのフローは、パケットに対する処置内容を規定する情報である。例えば、そのスイッチ手段は、Open Networking Foundationによって仕様が策定されるOpenFlow(登録商標)における、オープンフロースイッチである。この場合、そのフローは、即ち、そのオープンフロースイッチの振る舞いを規定するフローである。
図3は、不正パケット841の一例を示す図である。図3に示す不正パケット841は、図2に示す第1ダミーパケット811に含まれる第1ダミー情報を利用して生成された不正パケット841である。図3に示す不正パケット841は、図2に示す第1ダミーパケット811の送信元ダミーIPを宛先IPとして、含む。
図4は、フロー831の一例を示す図である。図4に示すフロー831は、宛先IPが「192.168.1.1」かつ宛先ポート番号が「23」であることをマッチ条件とすることを規定する。そして、そのフロー831は、そのマッチ条件を満たすパケットを廃棄することを、アクションとすることを規定する。
そのマッチ条件は、上述の例に限らず、宛先MAC、送信元MAC、送信元IP、送信元ポート番号、及び上述の第1ダミー情報を、任意に指定するものであってよい。
以上が、トラップシステム101の機能単位の各構成要素についての説明である。
次に、トラップシステム101のハードウエア単位の構成要素について説明する。
図5は、本実施形態におけるトラップシステム101を実現するコンピュータ700のハードウエア構成を示す図である。
図5に示すように、コンピュータ700は、CPU(Central Processing Unit)701、記憶部702、記憶装置703、入力部704、出力部705及び通信部706を含む。更に、コンピュータ700は、外部から供給される記録媒体(または記憶媒体)707を含む。例えば、記録媒体707は、情報を非一時的に記憶する不揮発性記録媒体(非一時的記録媒体)である。また、記録媒体707は、情報を信号として保持する、一時的記録媒体であってもよい。
CPU701は、オペレーティングシステム(不図示)を動作させて、コンピュータ700の全体の動作を制御する。例えば、CPU701は、記憶装置703に装着された記録媒体707から、そのプログラムやデータを読み込み、読み込んだそのプログラムやそのデータを記憶部702に書き込む。ここで、そのプログラムは、例えば、後述の図8に示すフローチャートの動作をコンピュータ700に実行させるためのプログラムである。
そして、CPU701は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図1に示す第1ダミーパケット通信部110及びフロー登録部130として各種の処理を実行する。
尚、CPU701は、通信網(不図示)に接続される外部コンピュータ(不図示)から、記憶部702にそのプログラムやそのデータをダウンロードしてもよい。
記憶部702は、そのプログラムやそのデータを記憶する。記憶部702は、第1ダミーパケット811や不正パケット841、フロー831などを記憶してよい。記憶部702は、第1ダミーパケット通信部110及びフロー登録部130の一部として含まれてよい。
記憶装置703は、例えば、光ディスクや、フレキシブルディスク、磁気光ディスク、外付けハードディスク半導体メモリなどであって、記録媒体707を含む。記憶装置703(記録媒体707)は、そのプログラムをコンピュータ読み取り可能に記憶する。また、記憶装置703は、そのデータを記憶してもよい。記憶装置703は、第1ダミーパケット811や不正パケット841、フロー831などを記憶してよい。記憶装置703は、第1ダミーパケット通信部110及びフロー登録部130の一部として含まれてよい。
入力部704は、オペレータによる操作の入力や外部からの情報の入力を受け付ける。入力操作に用いられるデバイスは、例えば、マウスや、キーボード、内蔵のキーボタン及びタッチパネルなどである。入力部704は、第1ダミーパケット通信部110及びフロー登録部130の一部として含まれてよい。
出力部705は、例えばディスプレイで実現される。出力部705は、例えばGUI(GRAPHICAL User Interface)によるオペレータへの入力要求や、オペレータに対する出力提示などのために用いられる。出力部705は、第1ダミーパケット通信部110及びフロー登録部130の一部として含まれてよい。
通信部706は、外部とのインタフェースを実現する。通信部706は、第1ダミーパケット通信部110及びフロー登録部130の一部として含まれてよい。
以上説明したように、図1に示すトラップシステム101の機能単位の各構成要素は、図5に示すハードウエア構成のコンピュータ700によって実現される。但し、コンピュータ700が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ700は、物理的に結合した1つの装置により実現されてもよいし、物理的に分離した2つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
尚、上述のプログラムのコードを記録した記録媒体707が、コンピュータ700に供給される場合、CPU701は、記録媒体707に格納されたそのプログラムのコードを読み出して実行してもよい。或いは、CPU701は、記録媒体707に格納されたそのプログラムのコードを、記憶部702、記憶装置703またはその両方に格納してもよい。すなわち、本実施形態は、コンピュータ700(CPU701)が実行するそのプログラム(ソフトウエア)を、一時的にまたは非一時的に、記憶する記録媒体707の実施形態を含む。尚、情報を非一時的に記憶する記憶媒体は、不揮発性記憶媒体とも呼ばれる。
以上が、本実施形態におけるトラップシステム101を実現するコンピュータ700の、ハードウエア単位の各構成要素についての説明である。
図6は、トラップシステム101を含む情報処理システム10の構成を示すブロック図である。図6に示すように情報処理システム10は、トラップシステム101、ネットワーク通信装置200及び端末300を含む。トラップシステム101及び端末300は、ネットワーク通信装置200を介して、互いに接続されている。尚、図6に示す例に係わらず、情報処理システム10に含まれるトラップシステム101、ネットワーク通信装置200及び端末300のそれぞれは、任意の台数であってよい。また、情報処理システム10は、図示しない、サーバ、通信制御装置、記憶装置及びその他の情報処理装置を含んでよい。
===ネットワーク通信装置200===
ネットワーク通信装置200は、前述のスイッチ手段であり、例えば、オープンフロースイッチである。例えば、ネットワーク通信装置200の1番ポート(不図示)にトラップシステム101の第1ダミーパケット通信部110が接続され、ネットワーク通信装置200の0番ポート(不図示)にトラップシステム101のフロー登録部130が接続される。また、ネットワーク通信装置200の3番ポート以降に、端末300のそれぞれが接続される。
図7は、ネットワーク通信装置200が保持するフローテーブル830の一例を示す図である。図7に示すようにフローテーブル830は、マッチ条件とアクションの組からなるフロー(例えば、フロー831)を含む。
フローテーブル830に含まれるフローは、前述したようにさまざまな項目についてのマッチ条件を含むことができる。本実施形態のフローテーブル830に含まれるフローにおいて、マッチ条件に明示的に指定されていない項目は、任意の値でよいことを示す。換言すると、マッチ条件に指定されていない項目は、任意の値を示すワイルドカードが指定されているものとする。
ネットワーク通信装置200は、トラップシステム101のフロー登録部130からフロー831を受信し、受信したそのフロー831をフローテーブル830に記憶する。ネットワーク通信装置200は、フローテーブル830に基づいて、受信したパケットを処理する。
===端末300===
端末300は、ネットワーク通信装置200を介して、他の端末300、トラップシステム101及び図示しないその他の装置と通信を行う。
端末300は、ウィルスなどに感染した場合、感染端末となる。感染端末となった端末300は、外部からの侵入者による、端末300が接続されたネットワークひいては情報処理システム10への攻撃の、活動拠点として利用される場合がある。その利用の内容は、例えば、その感染端末内の通信ログを取得し、その通信ログを解析し、その解析結果に基づいて情報処理システム10内の各装置への攻撃(感染拡大や情報搾取等)することである。
端末300は、トラップシステム101から受信した第1ダミーパケット811に関する情報をその通信ログに含める。即ち、その通信ログは、前述の第1ダミー情報を含む第1ダミーパケット811に関する情報によって、解析負荷を増加させられる。従って、トラップシステム101は、端末300が接続されたネットワークに対する攻撃を困難にする。
次に本実施形態の動作について、図面を参照して詳細に説明する。
図8は、本実施形態のトラップシステム101の動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPU701によるプログラム制御に基づいて、実行されてよい。また、処理のステップ名については、S601のように、記号で記載する。
トラップシステム101の第1ダミーパケット通信部110は、所定の間隔が経過したことや、所定の時刻に達したことなどを契機に、図8に示すステップS501の動作を開始する。また、第1ダミーパケット通信部110は、図5に示す入力部704を介して操作者から指示を受けたことを契機に、図8に示すステップS501の動作を開始してもよい。トラップシステム101は、図5に示す通信部706を介して、外部から要求を受信したことを契機に、図8に示すステップS501の動作を開始してもよい。
第1ダミーパケット通信部110は、第1ダミーパケット811を生成する(ステップS601)。
第1ダミーパケット通信部110は、例えば、情報処理システム10に関するネットワーク構成情報に基づいて、第1ダミーパケット811を生成する。
図9は、ネットワーク構成情報800の一例を示す図である。図9に示すように、ネットワーク構成情報800は、ホスト名とMACアドレスと、IPアドレスの組を含む。図9に示す例に係わらず、ネットワーク構成情報800は、任意の情報を含んでよい。
例えば、ネットワーク構成情報800は、図5に示す記憶部702或いは記憶装置703に、予め記憶されていてよい。また、第1ダミーパケット通信部110は、図5に示す入力部704を介して操作者が入力した、ネットワーク構成情報800を取得してもよい。この時、第1ダミーパケット通信部110は、図5に示す出力部705を介して、操作者に対する入力画面を表示してよい。また、第1ダミーパケット通信部110は、図5に示す通信部706を介して図示しない機器から、ネットワーク構成情報800を受信してもよい。また、第1ダミーパケット通信部110は、図5に示す記憶装置703を介して、記録媒体707に記録されたネットワーク構成情報800を取得してもよい。
ここでは、第1ダミーパケット通信部110は、例えば図2に示すような、送信元ダミーIPを「192.168.1.1」とし、送信元ポート番号を「2001」とする第1ダミーパケット811を生成する。この「192.168.1.1」は、ネットワーク構成情報800に存在しない、即ち情報処理システム10において割り振られていないIPアドレスであり、前述の第1ダミー情報である。
次に、フロー登録部130は、第1ダミーパケット811に基づいて、返信フロー832を生成する(ステップS602)。返信フロー832は、第1ダミーパケット811を受信した端末300から送信される返信パケットをトラップシステム101が受け取ることを可能にするためのフローである。ここでは、フロー登録部130は、第1ダミーパケット811に含まれる送信元ダミーIPをマッチ条件に含む、返信フロー832を生成する。
より具体的には、フロー登録部130は、例えば、マッチ条件を「宛先IPアドレス=[192.168.1.1]かつ宛先ポート番号=[2001]」とし、アクションを「1番ポートへの出力」とする返信フロー832を生成する。ここで、「宛先IPアドレス=[192.168.1.1]」は、即ち「宛先IPアドレス=第1ダミーパケット811の送信元ダミーIP」である。「宛先ポート番号=[2001]」は、即ち「宛先ポート番号=第1ダミーパケット811の送信元ポート番号」である。また、「1番ポートへの出力」は、即ち、「ネットワーク通信装置200の1番ポートに接続された、トラップシステム101の、第1ダミーパケット通信部110へのその返信パケットの転送」である。
尚、フロー登録部130は、アクションを「パケットの廃棄」とする返信フロー832を生成してもよい。この場合、第1ダミーパケット通信部110は、後述のステップS605の動作(返信パケットの受信)をしなくてよい。
図10は、返信フロー832の一例を示す図である。図10に示す返信フロー832は、宛先IPが「192.168.1.1」であることをマッチ条件とし、そのマッチ条件を満たすパケットを1番ポートへ出力することをアクションとする、ことを示す。ここで、その1番ポートは、第1ダミーパケット通信部110が接続される、ネットワーク通信装置200のポートである。
次に、フロー登録部130は、返信フロー832を送信する(ステップS603)。
次に、第1ダミーパケット通信部110は、第1ダミーパケット811を送信する(ステップS604)。
次に、第1ダミーパケット通信部110は、その返信パケットを受信する(ステップS605)。
図11は、本実施形態に係るトラップシステム101を含む、情報処理システム10の動作を示すシーケンス図である。処理のステップ名については、S501のように、記号で記載する。
第1ダミーパケット通信部110は、第1ダミーパケット811を生成する(ステップS501、図8のステップS601に対応)。
次に、フロー登録部130は、第1ダミーパケット811に基づいて、返信フロー832を生成する(ステップS502、図8のステップS602に対応)。
次に、フロー登録部130は、返信フロー832をネットワーク通信装置200へ送信する(ステップS503、図8のステップS603に対応)。
次に、ネットワーク通信装置200は、受信した返信フロー832をフローテーブル830へ登録する(ステップS504)。
第1ダミーパケット通信部110は、フロー登録部130が返信フロー832を送信した後、第1ダミーパケット811を端末300へ送信する(ステップS505、図8のステップS604に対応)。
次に、端末300は、受信した第1ダミーパケット811に応答してその返信パケットを送信する(ステップS506)。
次に、ネットワーク通信装置200は、フローテーブル830の内容に基づいて、受信したその返信パケットの処置を決定する(ステップS507)。
次に、ネットワーク通信装置200は、ステップS507で決定した処置を実行する(ステップS508)。ここでは、ネットワーク通信装置200は、その返信パケットをトラップシステム101の第1ダミーパケット通信部110へ転送する。この時、トラップシステム101の第1ダミーパケット通信部110は、図8のステップS605において、その返信パケットを受信する。
上述した本実施形態における効果は、ネットワークに対する攻撃を困難にすることが可能になる点である。
その理由は、以下のような構成を含むからである。即ち、第1に第1ダミーパケット通信部110が第1ダミーパケット811を生成し、その第1ダミーパケット811を端末300へ送信する。第2に、フロー登録部130が第1ダミーパケット811に基づいて生成した返信フロー832をネットワーク通信装置200へ送信する。
<<<第2の実施形態>>>
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図12は、本発明の第2の実施形態に係るトラップシステム102の構成を示すブロック図である。
図12に示すように、本実施形態におけるトラップシステム102は、第1の実施形態のトラップシステム101と比べて、第1ダミー情報記憶部120及び通信判定手段140を、更に含む点が異なる。
===第1ダミー情報記憶部120===
第1ダミー情報記憶部120は、第1ダミーパケット811に含まれる第1ダミー情報を記憶する。
図13は、第1ダミー情報記憶部120に記憶される第1ダミー情報履歴871の一例を示す図である。図13は、送信元ダミーIPが「192.168.1.1」であるという第1ダミー情報を含む、第1ダミー情報履歴871を示す。尚、第1ダミー情報履歴871は、図13に示す例に係わらず、第1ダミーパケット811に関連する任意の情報を含んでよい。
===通信判定手段140===
通信判定手段140は、第1ダミー情報記憶部120に記憶される第1ダミー情報履歴871に基づいて、被判定パケットが不正パケット841であるか否かを判定する。その被判定パケットは、ネットワーク通信装置200からのフロー問い合わせで指定されるパケットである。そのフロー問い合わせは、例えば、OpenFlowにおけるpacket_inメッセージである。
具体的には、通信判定手段140は、そのフロー問い合わせに含まれるその被判定パケットに関する情報が、第1ダミー情報履歴871に含まれる第1ダミー情報に対応するか否かを判定する。例えば、通信判定手段140は、そのフロー問い合わせに含まれるその被判定パケットの宛先IPが、第1ダミー情報履歴871に含まれる送信元ダミーIPのいずれかと一致するか否かを判定する。尚、上述の例に係わらず、通信判定手段140は、そのフロー問い合わせに含まれるその被判定パケットに関する任意の情報について、第1ダミー情報履歴871に含まれる第1ダミー情報に対応するか否かを判定してよい。
===フロー登録部130===
本実施形態のフロー登録部130は、通信判定手段140が判定した結果に基づいて、その被判定パケットに対するフローを(通信制御規則)を生成する。
トラップシステム102は、図1に示すトラップシステム101と同様に、図5に示すコンピュータ700によって実現されてよい。
この場合、CPU701は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、更に、図14に示す通信判定手段140としても、各種の処理を実行する。ここで、そのプログラムは、例えば、後述の図15及び図17に示すフローチャートの動作をコンピュータ700に実行させるためのプログラムである。
記憶部702は、更に第1ダミー情報履歴871を記憶してよい。記憶部702は、更に第1ダミー情報記憶部120及び通信判定手段140の一部としても含まれてよい。
記憶装置703は、更に第1ダミー情報履歴871を記憶してよい。記憶装置703は、更に1ダミー情報記憶部120及び通信判定手段140の一部としても含まれてよい。
入力部704は、更に通信判定手段140の一部としても含まれてよい。
出力部705は、更に通信判定手段140の一部としても含まれてよい。
通信部706は、更に通信判定手段140の一部としても含まれてよい。
次に本実施形態の動作について、図面を参照して詳細に説明する。
図8は、本実施形態のトラップシステム102の、第1ダミーパケット811を送信する場合の、動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPU701によるプログラム制御に基づいて、実行されてよい。また、処理のステップ名については、S601のように、記号で記載する。
ステップS601は、図8に示すステップS601と同じである。
次に、第1ダミーパケット通信部110は、第1ダミーパケット811に含まれる第1ダミー情報を第1ダミー情報記憶部120に記憶する(ステップS611)。
ステップS602からステップS605は、図8に示すステップS602からステップS605と同じである。
図16は、本実施形態に係るトラップシステム102を含む情報処理システム20の、トラップシステム102により第1ダミーパケット811が送信される場合の、動作を示すシーケンス図である。処理のステップ名については、S501のように、記号で記載する。
ステップS501は、図11に示すステップS501と同じである。
次に、第1ダミーパケット通信部110は、第1ダミーパケット811に含まれる第1ダミー情報を第1ダミー情報記憶部120に記憶する(ステップS511、図15のステップS611に対応)。
ステップS502からステップS508は、図11に示すステップS502からステップS508と同じである。
図17は、本実施形態のトラップシステム102の、端末300がパケットを送信した場合の、動作を示すフローチャートである。尚、このフローチャートによる処理は、前述したCPU701によるプログラム制御に基づいて、実行されてよい。また、処理のステップ名については、S601のように、記号で記載する。
通信判定手段140は、ネットワーク通信装置200からフローの問い合わせを受信する(ステップS621)。
次に、通信判定手段140は、被判定パケットが不正パケット841であるか否かを判定する(ステップS622)。
被判定パケットが不正パケット841である場合(ステップS622でYES)、処理はステップS625へ進む。被判定パケットが不正パケット841でない場合(ステップS622でNO)、処理はステップS623へ進む。
フロー登録部130は、正常フロー833を生成する(ステップS623)。正常フロー833は、端末300から送信される正常パケットを、その正常パケットの宛先の装置が受け取ることを可能にするためのフローである。ここでは、フロー登録部130は、その正常パケットに含まれる宛先IPをマッチ条件に含む、正常フロー833を生成する。
より具体的には、フロー登録部130は、例えば、マッチ条件を「宛先IPアドレス=[192.168.1.5]とし、アクションを「5番ポートへの出力」とする正常フロー833を生成する。
図18は、正常フロー833の一例を示す図である。図18に示すように、正常フロー833は、宛先IPが「192.168.1.5」であることをマッチ条件とし、そのマッチ条件を満たすパケットを5番ポートへ出力することをアクションとする、ことを示す。ここで、5番ポートは、他の端末300が接続される、ネットワーク通信装置200のポートである。
次に、フロー登録部130は、正常フロー833を送信する(ステップS624)。その後、処理は終了する。
フロー登録部130は、不正フロー834を生成する(ステップS625)。その後、処理は終了する。
不正フロー834は、例えば、端末300から送信される不正パケット841を廃棄するためのフローである。ここでは、フロー登録部130は、その不正パケット841に含まれる宛先IPをマッチ条件に含む、不正フロー834を生成する。
より具体的には、フロー登録部130は、例えば、マッチ条件を「宛先IPアドレス=[192.168.1.1]とし、アクションを「廃棄」とする不正フロー834を生成する。
図19は、不正フロー834の一例を示す図である。図19に示すように、不正フロー834は、宛先IPが「192.168.1.1」、かつ宛先ポート番号が「2001以外」であることをマッチ条件とし、そのマッチ条件を満たすパケットを廃棄することをアクションとする、ことを示す。
不正フロー834は、端末300から送信される不正パケット841の転送を遅延させるためのフローであってもよい。また、不正フロー834は、端末300から送信される全てのパケットを廃棄させるためのフローであってもよい。不正フロー834は、上述の例に係わらず、感染端末である端末300が、情報処理システム20へ与える害を防御や、感染源の調査、感染源に対する反撃などの、任意の処理を目的とする、任意のフローであってよい。
尚、通信判定手段140は、被判定パケットが不正パケット841であると判定した場合、その不正パケット841に関連する情報を出力してよい。
例えば、通信判定手段140は、その不正パケット841に関連する情報を図5に示す出力部705を介して出力する。また、通信判定手段140は、図5に示す通信部706を介して、図示しない機器にその不正パケットに関連する情報を送信してもよい。また、通信判定手段140は、図5に示す記憶装置703を介して、記録媒体707にその不正パケット841に関連する情報を記録してもよい。
図20は、本実施形態に係るトラップシステム102を含む情報処理システム20の、端末300が正常パケット861を送信した場合の、動作を示すシーケンス図である。処理のステップ名については、S501のように、記号で記載する。
端末300が正常パケット861を送信し、ネットワーク通信装置200は、その正常パケット861を受信する(ステップS521)。
次に、ネットワーク通信装置200は、受信したその正常パケット861に対応するフローがフローテーブル830に存在しない場合、トラップシステム102の通信判定手段140に、フロー問い合わせ851を送信する。そして、通信判定手段140は、そのフロー問い合わせ851を受信する(ステップS522、図17のステップS621に対応)。ここで、そのフロー問い合わせ851は、その正常パケット861に関する情報を含む。
尚、ネットワーク通信装置200は、受信したその正常パケット861に対応するフローがフローテーブル830に存在する場合、そのフローに基づいて正常パケット861を処置する。
次に、通信判定手段140は、フロー問い合わせ851に含まれるその被判定パケットに関する情報が、第1ダミー情報履歴871に含まれる第1ダミー情報に対応するか否かを判定する(ステップS523、図17のステップS622に対応)。ここで、正常パケット861に関する情報は、第1ダミー情報履歴871に含まれる第1ダミー情報に対応しない(図17のステップS622で、NOの場合に対応)。
次に、通信判定手段140は、正常フロー833を生成する(ステップS524、図17のステップS623に対応)。
次に、通信判定手段140は、正常フロー833をネットワーク通信装置200へ送信する(ステップS525、図17のステップS624に対応)。
次に、ネットワーク通信装置200は、受信した正常フロー833をフローテーブル830へ登録する(ステップS526)。
次に、ネットワーク通信装置200は、フローテーブル830の内容に基づいて、受信した正常パケット861の処置を決定する(ステップS527)。
次に、ネットワーク通信装置200は、ステップS507で決定した処理を実行する(ステップS528)。ここでは、ネットワーク通信装置200は、正常パケット861を他の端末300へ転送する。
図21は、本実施形態に係るトラップシステム102を含む情報処理システム20の、端末300が不正パケット841を送信した場合の、動作を示すシーケンス図である。処理のステップ名については、S501のように、記号で記載する。
端末300が不正パケット841を送信し、ネットワーク通信装置200は、その不正パケット841を受信する(ステップS531)。
次に、ネットワーク通信装置200は、受信したその不正パケット841に対応するフローがフローテーブル830に存在しない場合、トラップシステム102の通信判定手段140に、フロー問い合わせ851を送信する。そして、通信判定手段140は、そのフロー問い合わせ851を受信する(ステップS532、図17のステップS621に対応)。ここで、そのフロー問い合わせ851は、その不正パケット841に関する情報を含む。
尚、ネットワーク通信装置200は、受信したその不正パケット841に対応するフローがフローテーブル830に存在する場合、そのフローに基づいて不正パケット841を処置する。
次に、通信判定手段140は、フロー問い合わせ851に含まれるその被判定パケットに関する情報が、第1ダミー情報履歴871に含まれる第1ダミー情報に対応するか否かを判定する(ステップS533、図17のステップS622に対応)。ここで、不正パケット841に関する情報は、第1ダミー情報履歴871に含まれる第1ダミー情報に対応する(図17のステップS622で、YESの場合に対応)。
次に、通信判定手段140は、不正フロー834を生成する(ステップS534、図17のステップS625に対応)。
次に、通信判定手段140は、不正フロー834をネットワーク通信装置200へ送信する(ステップS525、図17のステップS626に対応)。
次に、ネットワーク通信装置200は、受信した不正フロー834をフローテーブル830へ登録する(ステップS536)。
次に、ネットワーク通信装置200は、フローテーブル830の内容に基づいて、受信した不正パケット841の処置を決定する(ステップS537)。
次に、ネットワーク通信装置200は、ステップS507で決定した処理を実行する(ステップS538)。
上述した本実施形態における第1の効果は、第1の実施形態の効果に加えて、ネットワークに対する攻撃を検出することが可能になる点である。
その理由は、第1ダミー情報記憶部120が第1ダミー情報履歴871を記憶し、通信判定手段140が、第1ダミー情報履歴871に基づいて、被判定パケットが不正パケット841であるか否かを判定するからである。
上述した本実施形態における第2の効果は、ネットワークに対する攻撃を防御することが可能になる点である。
その理由は、通信判定手段140が被判定パケットを不正パケット841であると判定した場合、フロー登録部130がその不正パケット841に対応する不正フロー834を生成するからである。
<<<第3の実施形態>>>
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
図22は、本発明の第3の実施形態に係るトラップシステム103の構成を示すブロック図である。
図22に示すように、本実施形態におけるトラップシステム103は、第2の実施形態のトラップシステム102と比べて、第2ダミーパケット通信部310を更に含む。端末303は、第2ダミーパケット通信部310を含む。
図23は、端末303の構成を示すブロック図である。図23に示すように、第2ダミーパケット通信部310は、端末303に含まれてよい。また、端末303は、第2ダミー情報記憶部320を更に含んでよい。
===第2ダミーパケット通信部310===
第2ダミーパケット通信部310は、第1ダミーパケット811を受信する。
そして、第2ダミーパケット通信部310は、受信した第1ダミーパケット811に含まれる情報に基づいて、第2ダミーパケット821を生成して送信する。
また、端末303が第2ダミー情報記憶部320を含む場合、第2ダミーパケット通信部310は、受信した第1ダミーパケット811に含まれる情報を第2ダミー情報として第2ダミー情報記憶部320に記録してもよい。
この場合、第2ダミーパケット通信部310は、第2ダミー情報記憶部320に記録された第2ダミー情報に基づいて、第2ダミーパケット821を生成して送信してもよい。
===第2ダミー情報記憶部320===
第2ダミー情報記憶部320は、第2ダミー情報を記憶する。図24は、第2ダミー情報記憶部320が記憶する第2ダミー情報履歴872の一例を示す図である。
図24は、送信元MACが「12:34:56:00:00:01」、送信元ダミーIPが「192.168.1.1」、送信元ポート番号が「2001」であるという第2ダミー情報を含む、第2ダミー情報履歴872を示す。尚、第2ダミー情報履歴872は、図24に示す例に係わらず、第1ダミーパケット811に含まれる任意の情報を、更に含んでよい。
===トラップシステム102のフロー登録部130===
本実施形態のフロー登録部130は、更に、第2ダミーフロー835を生成し、ネットワーク通信装置200へ送信する。ここで、第2ダミーフロー835は、第2ダミーパケット通信部310が送信する第2ダミーパケット821を、第1ダミーパケット通信部110が受信することを可能にするためのフローである。
図25は、第2ダミーフロー835の一例を示す図である。図25に示す第2ダミーフロー835は、宛先ダミーIPが「192.168.1.1」、かつ宛先ポート番号が「7」であることをマッチ条件とすることを示す。そして、その返信フロー832は、そのマッチ条件を満たすパケットを1番ポートへ出力すること(第1ダミーパケット通信部110が接続される、ネットワーク通信装置200のポート)をアクションとすることを示す。
また、本実施形態の第1ダミーパケット通信部110は、第2ダミーパケット821の内容を指定する情報を、第1ダミーパケット811のデータ部に含めてもよい。この場合、第1ダミーパケット通信部110は、その第2ダミーパケット821の内容を指定する情報に基づいて生成された第2ダミーパケット821に対応する第2ダミーフロー835を生成して送信する。また、第2ダミーパケット通信部310は、その第2ダミーパケット821の内容を指定する情報に基づいて、第2ダミーパケット821を生成する。或いは、図23に示す端末303の第2ダミーパケット通信部310は、その第2ダミーパケット821の内容を指定する情報を第2ダミー情報として第2ダミー情報記憶部320に記録する。
端末303は、図5に示すコンピュータ700によって実現されてよい。
この場合、CPU701は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図22に示す第2ダミーパケット通信部310としても、各種の処理を実行する。ここで、そのプログラムは、例えば、後述の図28及び図30に示すフローチャートの動作をコンピュータ700に実行させるためのプログラムである。
記憶部702は、第2ダミー情報履歴872を記憶してよい。記憶部702は、第2ダミー情報記憶部320の一部として含まれてよい。
記憶装置703は、第2ダミー情報履歴872を記憶してよい。記憶装置703は、第2ダミー情報記憶部320の一部として含まれてよい。
入力部704は、第2ダミーパケット通信部310の一部としても含まれてよい。
出力部705は、第2ダミーパケット通信部310の一部としても含まれてよい。
通信部706は、第2ダミーパケット通信部310の一部としても含まれてよい。
図26は、トラップシステム103を含む情報処理システム30の構成を示すブロック図である。図26に示すように情報処理システム30は、トラップシステム103、ネットワーク通信装置200及び端末300を含む。トラップシステム103のトラップシステム102、トラップシステム103の端末303及び端末300は、ネットワーク通信装置200を介して、互いに接続されている。尚、図26に示す例に係わらず、情報処理システム30に含まれるトラップシステム103のトラップシステム102、トラップシステム103の端末303、ネットワーク通信装置200及び端末300のそれぞれは、任意の台数であってよい。また、情報処理システム30は、図示しない、サーバ、通信制御装置、記憶装置及びその他の情報処理装置を含んでよい。
次に本実施形態の動作について、図面を参照して詳細に説明する。
図27は、本実施形態のトラップシステム103の、第1ダミーパケット811が送信される場合の、トラップシステム102側の動作を示すフローチャートである。処理のステップ名については、S601のように、記号で記載する。
図27に示すフローチャートの処理において、図15に示すフローチャートの処理と同じ処理は、同一のステップ名を付与している。
ステップS602の次に、フロー登録部130は、第2ダミーフロー835を生成する(ステップS631)。
ステップS603の次に、フロー登録部130は、第2ダミーフロー835をネットワーク通信装置200へ送信する(ステップS632)。
図28は、本実施形態のトラップシステム103の、第1ダミーパケット811が送信された場合の、端末303側の動作を示すフローチャートである。
第2ダミーパケット通信部310は、第1ダミーパケット811を受信する(ステップS633)。
第2ダミーパケット通信部310は、第2ダミー情報を、第2ダミー情報記憶部320の第2ダミー情報履歴872に登録する(ステップS634)。
第2ダミーパケット通信部310は、受信した第1ダミーパケット811に対する返信パケットをトラップシステム102へ送信する(ステップS635)。
図29は、本実施形態に係るトラップシステム103を含む情報処理システム30の、トラップシステム102により第1ダミーパケット811が送信される場合の、動作を示すシーケンス図である。処理のステップ名については、S501のように、記号で記載する。
ステップS501及びステップS511のそれぞれは、図16に示すステップS501及びステップS511のそれぞれと同じである。
次に、フロー登録部130は、第1ダミーパケット811に基づいて、返信フロー832及び第2ダミーフロー835を生成する(ステップS542、図27のステップS602及びステップS631に対応)。
次に、フロー登録部130は、返信フロー832及び第2ダミーフロー835をネットワーク通信装置200へ送信する(ステップS543、図27のステップS603及びステップS632に対応)。
次に、ネットワーク通信装置200は、受信した返信フロー832及び第2ダミーフロー835をフローテーブル830へ登録する(ステップS544)。
ステップS505は、図16に示すステップS505と同じである。
次に、第2ダミーパケット通信部310は、第2ダミー情報を第2ダミー情報記憶部320に記録する(ステップS545)。
ステップS506乃至ステップS508のそれぞれは、図16に示すステップS506乃至ステップS508のそれぞれと同じである。
図30は、本実施形態のトラップシステム103の、第2ダミーパケット821が送信される場合の、端末303側の動作を示すフローチャートである。処理のステップ名については、S601のように、記号で記載する。
第2ダミーパケット通信部310は、第2ダミーパケット821を生成する(ステップS636)。
例えば、第2ダミーパケット通信部310は、第2ダミー情報履歴872に基づいて、第2ダミーパケット821を生成する。その第2ダミーパケット821は、例えば、宛先MACを「12:34:56:00:00:01」、宛先ダミーIPを「192.168.1.1」及び宛先ポート番号を「7」とする。
次に、第2ダミーパケット通信部310は、トラップシステム102へ第2ダミーパケット821を送信する(ステップS637)。
次に、第2ダミーパケット通信部310は、第2ダミーパケット821に対する返信パケットを受信する(ステップS638)。
図31は、本実施形態のトラップシステム103の、第2ダミーパケット821が送信された場合の、トラップシステム102の動作を示すフローチャートである。
第1ダミーパケット通信部110は、第2ダミーパケット821を受信する(ステップS639)。
第1ダミーパケット通信部110は、第2ダミーパケット821に含まれるダミー情報を、第1ダミー情報記憶部120の第1ダミー情報履歴871に登録する(ステップS640)。
第1ダミーパケット通信部110は、受信した第2ダミーパケット821に対するその返信パケットを端末303へ送信する(ステップS641)。
図32は、本実施形態に係るトラップシステム103を含む情報処理システム30の、端末303により第2ダミーパケット821が送信される場合の、動作を示すシーケンス図である。処理のステップ名については、S501のように、記号で記載する。
第2ダミーパケット通信部310は、第2ダミーパケット821を生成する(ステップS551、図30のステップS636に対応)。
次に、第2ダミーパケット通信部310は、第2ダミーパケット821を送信し、ネットワーク通信装置200がその第2ダミーパケット821を受信する(ステップS552、図30のステップS637に対応)。
次に、ネットワーク通信装置200は、フローテーブル830に含まれる第2ダミーフロー835に基づいて、第2ダミーパケット821の処置を決定する(ステップS553、図30のステップS638に対応)。
次に、ネットワーク通信装置200は、ステップS553で決定した処置を実行する(ステップS554)。ここでは、ネットワーク通信装置200は、第2ダミーパケット821をトラップシステム102の第1ダミーパケット通信部110へ転送する。この時、トラップシステム102の第1ダミーパケット通信部110は、図31のステップS639において、第2ダミーパケット821を受信する。
次に、第1ダミーパケット通信部110は、第2ダミーパケット821に含まれるダミー情報を、第1ダミー情報記憶部120の第1ダミー情報履歴871に登録する(ステップS555、図31のステップS640に対応)。
次に、第1ダミーパケット通信部110は、第2ダミーパケット821に対するその返信パケットを送信する(ステップS556、図31のステップS641に対応)。
以上が本実施形態の動作の説明である。
尚、本実施形態のトラップシステム103は、トラップシステム102に替えて、トラップシステム101を含んでもよい。
上述した本実施形態における第1の効果は、ネットワークに対する攻撃をより困難にすることが可能になる点である。
その理由は、端末303が第2ダミーパケット821を生成し、送信するからである。
上述した本実施形態における第2の効果は、ネットワークに対する攻撃を困難にするためにより好適な、第2ダミーパケット821を生成することが可能になる点である。
その理由は、以下の構成を含むからである。第1に、第1ダミーパケット通信部110が、第2ダミーパケット821の内容を指定する情報を、第1ダミーパケット811のデータ部に含める。第2に、第2ダミーパケット通信部310が、その第2ダミーパケット821の内容を指定する情報に基づいて、第2ダミーパケット821を生成する。
以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、複数個の任意のその構成要素が1個のモジュールとして実現されてよい。また、その構成要素の内の任意のひとつが複数のモジュールで実現されてもよい。また、その構成要素の内の任意のひとつがその構成要素の内の任意の他のひとつであってよい。また、その構成要素の内の任意のひとつの一部と、その構成要素の内の任意の他のひとつの一部とが重複してもよい。
以上説明した各実施形態における各構成要素及び各構成要素を実現するモジュールは、必要に応じ、可能であれば、ハードウエア的に実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、コンピュータ及びプログラムで実現されてよい。また、各構成要素及び各構成要素を実現するモジュールは、ハードウエア的なモジュールとコンピュータ及びプログラムとの混在により実現されてもよい。
そのプログラムは、例えば、磁気ディスクや半導体メモリなど、コンピュータが読み取り可能な非一時的記録媒体に記録され、コンピュータに提供される。そして、そのプログラムは、コンピュータの立ち上げ時などに、非一時的記録媒体からコンピュータに読み取られる。この読み取られたプログラムは、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施形態における構成要素として機能させる。
また、以上説明した各実施形態では、複数の動作をフローチャートの形式で順番に記載してあるが、その記載の順番は複数の動作を実行する順番を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の順番は内容的に支障のない範囲で変更することができる。
更に、以上説明した各実施形態では、複数の動作は個々に相違するタイミングで実行されることに限定されない。例えば、ある動作の実行中に他の動作が発生してよい。また、ある動作と他の動作との実行タイミングが部分的に乃至全部において重複してもよい。
更に、以上説明した各実施形態では、ある動作が他の動作の契機になるように記載しているが、その記載はある動作と他の動作との関係を限定するものではない。このため、各実施形態を実施するときには、その複数の動作の関係は内容的に支障のない範囲で変更することができる。また各構成要素の各動作の具体的な記載は、各構成要素の各動作を限定するものではない。このため、各構成要素の具体的な各動作は、各実施形態を実施する上で機能的、性能的、その他の特性に対して支障を来さない範囲内で変更されてよい。
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得るさまざまな変更をすることができる。