(57)【特許請求の範囲】
【請求項１】
第１のネットワークで発生した不正パケットを抽出する不正パケット抽出装置において、
前記第１のネットワークで通信されるパケットを取得し、取得した前記パケットを少なくとも前記第１のネットワークから第２のネットワークに向かうパケットのタイプを含む複数のタイプに分類するパケットキャプチャ部と、
該パケットキャプチャ部により分類された前記パケットのうち前記第１のネットワークから前記第２のネットワークに向かう前記パケットが存在する場合に、該パケットに対応した応答パケットが存在するか否かを検査して判定を行うパケット検査部と、
該パケット検査部により判定された前記パケットと、該パケットの前記応答パケットが存在するか否かの判定結果を示す判定情報とを対応付けて記憶する記憶部と、
該記憶部に記憶されている前記パケットの前記判定情報に基づいて該パケットが不正パケットであるか否かを判定して出力するメモリ管理部と
を備え、
前記第１のネットワークから前記第２のネットワークに向かうパケットのうち、前記第１のネットワークと前記第２のネットワークとの境界部に設けられたファイヤーウォールで遮断されるパケットについては、そのファイヤーウォールでの遮断の結果として前記応答パケットが存在しないパケットとして前記パケット検査部により判定されることを特徴とする不正パケット抽出装置。
【請求項２】
前記記憶部は、前記パケットキャプチャ部により分類された前記パケットを、前記応答パケットが存在するか否かを検査する際に用いる対応判定用パケットとして記憶し、
前記パケット検査部は、前記第１のネットワークから前記第２のネットワークに向かう前記パケットに対応する前記応答パケットが存在するか否かを、前記記憶部に記憶されている前記対応判定用パケットを検索することにより検査する
ことを特徴とする請求項１に記載の不正パケット抽出装置。
【請求項３】
前記パケット検査部は、前記応答パケットが存在しない場合には前記第１のネットワークから前記第２のネットワークに向かう前記パケットの前記判定情報を非対応として前記記憶部に記憶し、前記対応パケットが存在する場合には前記第１のネットワークから前記第２のネットワークに向かう前記パケットの前記判定情報を対応として前記記憶部に記憶し、
前記メモリ管理部は、前記記憶部に記憶されている前記パケットの前記判定情報が非対応である場合には該パケットを不正パケットであると判定する
ことを特徴とする請求項１または請求項２に記載の不正パケット抽出装置。
【請求項４】
前記不正パケットは、前記第１のネットワークから前記第２のネットワークに通信されるパケットと、前記第１のネットワークと前記第２のネットワークとの境界部に設けられたファイヤーウォールで遮断されるパケットである
ことを特徴とする請求項３に記載の不正パケット抽出装置。
【請求項５】
前記記憶部は、複数のメモリを有し、
前記メモリ管理部は、前記複数のメモリをリングバッファにより管理し、前記複数のメモリで一番古いメモリに格納されている前記パケットの前記判定情報を確認して前記パケットを不正パケットであるか否かを判定する
ことを特徴とする請求項１から請求項４の何れか一項に記載の不正パケット抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク内で通信される不正パケットを抽出する不正パケット抽出装置
に関する。
【背景技術】
【０００２】
近年、遠隔地のコンピュータに侵入したり攻撃したりするソフトウェアや、コンピュー
タウイルスのようにコンピュータに侵入して他のコンピュータへの感染活動や破壊活動を
行なったり、情報を外部に漏洩させたりする有害なソフトウェアによる感染被害が重大な
問題となっている。以下、コンピュータウイルス、ワーム、スパイウエアなどの悪意をも
ったソフトウェアを総称してマルウエアと呼ぶ。
【０００３】
このようなマルウエアに由来する通信を早期に発見して被害拡大に対処するために、各
企業においてはマルウエア対策が取られている。例えば、上位ネットワークと下位ネット
ワークとの境界にファイヤーウォールを設置し、このファイヤーウォールでログを取り込
んで、分析者がログを分析することでマルウエアに由来する「想定外の通信」を検出する
方法が広く行われている。
【０００４】
図１０は、従来におけるファイヤーウォールのログ解析を行うためのログ解析用コンピ
ュータを備えたネットワークシステムの一例を示している。プラントネットワーク５１０
と上位ネットワーク５２０との境界にはファイヤーウォール５００が設置されている。フ
ァイヤーウォール５００は、ファイヤーウォール５００を通過するログを取り、このログ
をメモリ５０２に保存する。ログ解析用ＰＣ５０４は、ファイヤーウォール５００に接続
されており、メモリ５０２からログを読み出してファイヤーウォール５００のログの分析
作業を行う。
【０００５】
図１１は、従来におけるファイヤーウォールのログの分析を行う場合のフローチャート
を示している。なお、ログの分析作業では、ファイヤーウォールに到達した全てのパケッ
トを分析する必要があるので、ファイヤーウォールでは「通過パケット」および「廃棄パ
ケット」の両方を記録するようにログ機能の設定が行われる。
【０００６】
ステップＳ３００で分析者は、一定期間が経過すると、ファイヤーウォールのログを一
行取り出す。そして、ステップＳ３０２で取り出したログが通過ログか否かを判断する。
ログが通過ログであると判断した場合にはステップＳ３０４に進み、ログが通過ログでな
いと判断した場合にはステップＳ３０６に進む。
【０００７】
ステップＳ３０４で分析者は、通過ログに対して対応するログがあるか否かを判断する
。対応する通過ログがあると判断した場合には、次の行のログを取り出し、上述したよう
な不正パケット抽出作業を行う。一方、通過ログに対して対応するログがないと判断した
場合には、この通過ログが想定外の通信である可能性が高いと判断する。
【０００８】
ログが通過ログでないと判断した場合には、ステップＳ３０６で分析者は、そのログが
廃棄ログであるかいなかを判断する。分析者は、ログが廃棄ログであると判断した場合に
は、このログが想定外の通信である可能性が高いと判断する。一方、廃棄ログでないと判
断した場合には、次の行のログを取り出し、上述したような不正パケット抽出作業を行う
。ステップＳ３０８では、ログが最後の行であるか否かを判断し、最後のログである場合
には一連の処理を終了し、最後のログでない場合にはステップＳ３００に戻って上述した
ログの分析を行う。
【０００９】
このログ分析において、ファイヤーウォールが最低限必要な通信のみを正しく許可する
ような設定が行われている場合には、ファイヤーウォールのログに廃棄のログが出ていれ
ば、「想定外の通信」が発生したと判断できる。また、分析結果において、「通過ログ」
に対応するログが存在しない場合にも「想定外の通信」が発生したと判断できる。これは
、「通過パケット」に対して対応するパケットが存在しなければ、「通過パケット」がマ
ルウエアの由来による通信である可能性が高いからである。ここで、「対応」とは、クラ
イアントからサーバに向かうパケットと、サーバからクライアントに向かうパケットの通
信の対応を意味している。特に、あるＰＣのＩＰアドレスから、複数の通信先への通過ロ
グがあり、それに対応する通過ログがない場合、マルウエアからの通信と考えることがで
きる。
【００１０】
マルウエアに由来する「想定外の通信」としては、以下に示す（１）〜（８）が想定さ
れる。
（１）感染したＰＣと同一ネットワークにサービススキャンする。
（２）感染したＰＣと同一ネットワークに感染を広げるための通信を行う。
（３）感染したＰＣとは違うネットワークにサービススキャンする。
（４）感染したＰＣとは違うネットワークに感染を広げるための通信を行う。
（５）攻撃パケットを様々な宛先に送信する。
（６）インターネットのどこかに接続して、プログラムをダウンロードする。
（７）インターネットのどこかに接続して、指令を受ける。
（８）インターネットのどこかに情報を送信する。
【００１１】
また、他のマルウエアによる不正パケットの抽出方法として、ネットワークを流れるＩ
Ｐパケットを記憶部に記憶し、監視手段によりネットワークのＩＰパケットを監視し、侵
入パターンにより侵入検知し、転送手段に通知する侵入監視方法が提案されている（特許
文献１参照）。この侵入監視方法によれば、データ量が少なく、確実に侵入解析を行うこ
とができる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００３−６０７１２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上記従来の不正パケット抽出装置や特許文献１等に開示される侵入監視
方法では、以下のような問題がある。
（１）特許文献１等に開示される侵入監視方法では、ファイヤーウォールで廃棄および通
過の両方のログを取る必要がある。そのため、両方のログを取らなければならないので、
ファイヤーウォールに負荷がかかるという問題がある。
（２）ファイヤーウォールのログの分析において、廃棄ログについては不正なログあるこ
とが容易に判断できるが、通過ログについては対応の確認を行う必要がある（対応作業）
。この対応作業には、通信の流れを組み立てて分析する必要があり、高い技能が要求され
るので、分析者の負担が増えてしまうという問題がある。
（３）ファイヤーウォールのログフォーマットは、ファイヤーウォールを提供するベンダ
毎に異なっているため、各ベンダ毎にログを解釈するアプリケーションを開発しなければ
ならず、高い開発コストがかかるという問題がある。
【００１４】
そこで、本発明は、上記課題に鑑みてなされたものであり、自動的に不正パケットを抽
出することが可能なパケット抽出装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明に係る不正パケット抽出装置は、第１のネットワークで発生した不正パケットを抽出する不正パケット抽出装置において、前記第１のネットワークで通信されるパケットを取得し、取得した前記パケットを少なくとも前記第１のネットワークから第２のネットワークに向かうパケットのタイプを含む複数のタイプに分類するパケットキャプチャ部と、該パケットキャプチャ部により分類された前記パケットのうち前記第１のネットワークから前記第２のネットワークに向かう前記パケットが存在する場合に、該パケットに対応した応答パケットが存在するか否かを検査して判定を行うパケット検査部と、該パケット検査部により判定された前記パケットと、該パケットの前記応答パケットが存在するか否かの判定結果を示す判定情報とを対応付けて記憶する記憶部と、該記憶部に記憶されている前記パケットの前記判定情報に基づいて該パケットが不正パケットであるか否かを判定して出力するメモリ管理部とを備え、前記第１のネットワークから前記第２のネットワークに向かうパケットのうち、前記第１のネットワークと前記第２のネットワークとの境界部に設けられたファイヤーウォールで遮断されるパケットについては、そのファイヤーウォールでの遮断の結果として前記応答パケットが存在しないパケットとして前記パケット検査部により判定されることを特徴とする。
【００１６】
本発明において、不正パケットとは、「想定外の通信」を意味しており、ボット、スパ
イウエア、ワーム・ウイルスなどのマルウエアによりユーザの意思に関係なく行われる通
信や、設定ミスに由来する通信等を含むものである。具体的には、第１のネットワークか
ら第２のネットワークへ通信されるパケットに対して応答パケットの存在しない通信や、
第１のネットワークから第２のネットワークに向かい、ファイヤーウォールで遮断される
通信等が挙げられる。
【発明の効果】
【００１７】
本発明によれば、第１のネットワーク内で通信されるパケットを取得することで不正パ
ケットを自動的に抽出することができる。その結果、従来のようにファイヤーウォールの
ログ解析作業をする必要がなくなるので、作業負担の軽減を図ることができると共に、開
発の低コスト化を図ることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係るネットワークシステムの概略構成例を示す図である。
【図２】パケット抽出装置のブロック構成例を示す図である。
【図３】ファイヤーウォールとの関係によりパケットを分類した場合の説明図である。
【図４】パケット情報用メモリの構成例を示す図である。
【図５】パケットキャプチャ部の動作例を示すフローチャートである。
【図６】パケット検出部の動作例を示すフローチャートである。
【図７】リングバッファを説明するための図である（その１）。
【図８】リングバッファを説明するための図である（その２）。
【図９】本発明の応用例に係るネットワークシステムの概略構成を示す図である。
【図１０】従来におけるファイヤーウォールのログ解析を行うためのログ解析用コンピュータを備えたネットワークシステムの構成例を示す図である。
【図１１】従来におけるログ解析用コンピュータを備えたネットワークシステムの動作例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、発明を実施するための最良の形態（以下実施の形態とする）について説明する。
［ネットワークシステムの構成例］
図１は、本発明に係るネットワークシステム２００の構成の一例について説明する。図
１に示すように、ネットワークシステム２００は、上位ネットワーク（第２のネットワー
ク）６０と下位ネットワーク（第１のネットワーク）７０とファイヤーウォール２０とス
イッチ３０と複数のコンピュータ５０ａ，５０ｂと不正パケット抽出装置１０とを備えて
いる。
【００２０】
上位ネットワーク６０は、下位ネットワーク７０のデフォルトゲートウェイの先の外部
ネットワークである。下位ネットワーク７０は、例えば組織内のイントラネットである。
下位ネットワーク７０内には、スイッチ３０と複数のコンピュータ５０ａ，５０ｂと不正
パケット抽出装置１０とが設置されている。
【００２１】
ファイヤーウォール２０は、上位ネットワーク６０と下位ネットワーク７０との境界部
に設置され、一端が上位ネットワーク６０に接続されると共に他端がスイッチ３０の例え
ば通信ポート３０ａに接続され、上位ネットワーク６０から下位ネットワーク７０に向か
うパケットおよび下位ネットワーク７０から上位ネットワーク６０に向かうパケットを監
視して不正なパケットを検出・遮断する。例えば、ファイヤーウォール２０は、宛先や送
信元のＩＰアドレス、ポート番号などを監視し、予め設定した条件によって、その通信を
受け入れる、廃棄する、拒否する等の動作によりパケット通信を制御する。なお、本例に
おいてファイヤーウォール２０は、ルーティング機能を備えているものとする。
【００２２】
スイッチ３０は、コンピュータ５０ａ，５０ｂや上位ネットワーク６０から供給される
パケットのスイッチング制御等を行うものであり、複数の通信ポート３０ａ〜３０ｄとミ
ラーポート３０ｅとを有している。ミラーポート３０ｅは、ネットワーク監視用のポート
であり、スイッチ３０の通常の通信ポート３０ａ〜３０ｄを通過する全てのパケット（デ
ータ）を複製して、ミラーポート３０ｅに接続される不正パケット抽出装置１０に供給す
る。なお、スイッチ３０の通信ポート３０ｂにはプラントネットワークが接続される。
【００２３】
コンピュータ５０ａは、スイッチ３０の例えば通信ポート３０ｃに接続され、スイッチ
３０およびファイヤーウォール２０を介して上位ネットワーク６０や下位ネットワーク内
のコンピュータ５０ｂ、ファイヤーウォール２０等と双方向のパケット通信を行う機能を
有する。コンピュータ５０ｂはコンピュータ５０ａと同様の構成であるため、説明を省略
する。
【００２４】
不正パケット抽出装置１０は、スイッチ３０のミラーポート３０ｅにＬＡＮ等のケーブ
ルを介して接続され、スイッチ３０を通過する全てのパケットを検査することにより下位
ネットワーク７０内に流れる「想定外の通信（不正パケットを含む）」を検出する。
【００２５】
［不正パケット抽出装置の構成例］
図２は、不正パケット抽出装置１０のブロック構成の一例を示している。図２に示すよ
うに、不正パケット抽出装置１０は、パケットキャプチャ部１００とパケット検査部１０
２とメモリ管理部１０４とパケット情報用メモリ１０６とログ用メモリ１０８とを備えて
いる。これらのパケットキャプチャ部１００、パケット検査部１０２およびメモリ管理部
１０４は、例えばＣＰＵ（Central Processing Unit）等の演算処理回路から構成できる
。
【００２６】
パケットキャプチャ部１００は、スイッチ３０のミラーポート３０ｅから入力されるト
ラフィックとしてのパケットを取得して、取得したパケットのヘッダのＩＰアドレスやＭ
ＡＣアドレスを検査することで、ファイヤーウォール２０との通信方向の関係において複
数のタイプに分類する。このように、下位ネットワーク７０で通信される全てのパケット
を複数のタイプに分類することで、「想定外の通信」に該当するパケット候補を抜き出す
処理を行う。また、パケットキャプチャ部１００は、分類したパケットと、このパケット
の分類結果とを対応づけてパケット検査部１０２に出力する。
【００２７】
ここで、パケットのタイプについて説明する。図３Ａ〜図３Ｆは、ファイヤーウォール
２０との関係におけるパケットのタイプを説明するための図である。ファイヤーウォール
２０には、下位ネットワーク７０側のＮＩＣ２０ａと上位ネットワーク６０側のＮＩＣ２
０ｂとが設けられる。
【００２８】
パケットのタイプは、図３Ａ〜図３Ｆおよび下記表１に示すように、例えば６タイプに
分類される。
【００２９】
【表１】
0005659839.tif 000002
【００３０】
第１のタイプＴ１は、図３Ａおよび表１に示すように、プラントネットワークまたはコ
ンピュータ群から上位ネットワークへの通信である。第１のタイプＴ１に分類されるパケ
ットをパケットＰ１と呼ぶ。第２のタイプＴ２は、図３Ｂおよび表１に示すように、上位
ネットワークから、プラントネットワークまたはコンピュータ群への通信である。第２の
タイプＴ２に分類されるパケットをパケットＰ２と呼ぶ。第３のタイプＴ３は、図３Ｃお
よび表１に示すように、プラントネットワークとスイッチに接続されたコンピュータ群、
および、コンピュータ群同士の通信である。第３のタイプＴ３に分類されるパケットをパ
ケットＰ３と呼ぶ。
【００３１】
第４のタイプＴ４は、図３Ｄおよび表１に示すように、プラントネットワークまたはコ
ンピュータ群から上位ネットワークに向かい、ファイヤーウォールで遮断（ブロック）さ
れる通信である。第４のタイプＴ４に分類されるパケットをパケットＰ４と呼ぶ。第５の
タイプＴ５は、図３Ｅおよび表１に示すように、ファイヤーウォール自身への通信である
。第５のタイプＴ５に分類されるパケットをパケットＰ５と呼ぶ。第６のタイプＴ６は、
図３Ｆおよび表１に示すように、ファイヤーウォール自身からの通信である。第６のタイ
プＴ６に分類されるパケットをパケットＰ６と呼ぶ。
【００３２】
ここで、「想定外の通信」としては、コンピュータ群から上位ネットワークに通信（送
信）されるタイプＴ１のパケットＰ１のうち対応した返信パケットが存在しないパケット
、および、コンピュータ群から上位ネットワークに向かい、ファイヤーウォールで遮断（
ブロック）されるタイプＴ４のパケットＰ４が該当する。本例では、分類結果により、「
想定外の通信」の候補となるタイプＴ１のパケットＰ１とタイプＴ４のパケットＰ４とが
混在してしまう。そのため、これらの中から「想定外の通信」を分離するために、タイプ
Ｔ１、タイプＴ２およびタイプＴ４のパケットＰをパケット検査部１０２に出力する。
【００３３】
図２に戻り、パケット検査部１０２は、パケットキャプチャ部１００で分類されて入力
される「想定外の通信」の候補となるパケットのオブジェクトを作成する。そして、この
作成したオブジェクトのうち下位ネットワーク７０から上位ネットワーク６０に向かうパ
ケットに対応した応答パケットが存在しないものをパケット情報用メモリ１０６の対応判
定用オブジェクトを参照して検査し、その検査結果をパケット情報用メモリ１０６に書き
込む処理を行う。これにより、パケットキャプチャ部１００から入力されるタイプ１とタ
イプ４の混在した結果から、タイプ１のパケットＰ１に対応するタイプ２のパケットＰ２
が存在しないものを探すことで、「想定外の通信」を検索できる。
【００３４】
ここで、入力パケットデータのオブジェクトは、「パケットそのもの」と「判定結果」
とを有している。「パケットそのもの」は、「パケットの向き」、「送信元ＩＰアドレス
」、「送信先ＩＰアドレス」、「送信元ポート」、「送信先ポート」および「プロトコル
種別」等のパケット情報で構成される。「判定結果」は、タイプＴ１のパケットＰ１に対
応するタイプＴ２のパケットＰ２が存在する場合には「対応」を示す情報となり、存在し
ない場合には「非対応」を示す情報となる。本例では、初期値を「非対応」に設定してい
る。
【００３５】
対応判定用オブジェクトとは、タイプＴ１に分類された入力パケットＰ１に対応するパ
ケットが存在するか否かを判定する際に用いられるパケットであり、例えば、パケットキ
ャプチャ部１００から入力されるタイプＴ１のパケットＰ１、タイプＴ２のパケットＰ２
およびタイプＴ４のパケットＰ４が対応判定用オブジェクトの対象となる。対応判定用オ
ブジェクトは、入力パケットＰのオブジェクトと同様に、「パケットの向き」、「送信元
ＩＰアドレス」、「送信先ＩＰアドレス」、「送信元ポート」、「送信先ポート」および
「プロトコル種別」等のパケット情報で構成される。
【００３６】
パケット情報用メモリ１０６は、例えば、不揮発性の半導体メモリやＨＤＤ（Hard Dis
k Drive）等から構成されている。図４は、パケット情報用メモリ１０６の構成の一例を
示している。パケット検査部１０２で作成されたパケットデータのオブジェクトや、対応
判定用オブジェクト等のパケット情報を格納するための複数個のメモリ１０６ａ〜１０６
ｇを有している。本例では７個のメモリ１０６ａ〜１０６ｇで構成したが、この個数に限
定されるものではない。メモリ１０６ａ〜１０６ｇのそれぞれには、入力されるパケット
のオブジェクトが格納されるパケットデータオブジェクト部Ｍａと、対応判定用オブジェ
クトが格納される対応判定用オブジェクト部Ｍｂとが設けられている。
【００３７】
ログ用メモリ１０８は、例えば不揮発性の半導体メモリやＨＤＤ等から構成され、メモ
リ管理部１０４の書き込み制御によりパケット情報用メモリ１０６から出力される「想定
外の通信が検出された」と判定されたパケットデータのオブジェクトを格納する。ユーザ
またはコンピュータ等の情報処理装置は、このログ用メモリ１０８に格納されたパケット
を確認することにより、下位ネットワーク７０内で「想定外の通信」が発生したことを確
認できる。なお、ログ用メモリ１０８は、パケット情報用メモリ１０６内に設けても良い
。
【００３８】
メモリ管理部１０４は、パケット情報用メモリ１０６およびログ用メモリ１０８を管理
するための装置であり、パケット情報用メモリ１０６のメモリ１０６ａ〜１０６ｇをポイ
ンタを用いたリングバッファによりメモリ管理する（図７参照）。例えば、メモリ管理部
１０４は、Ｎ秒間隔で、パケット情報を書き込むメモリおよびパケット情報を削除（読み
出す）するメモリを移動し、パケット情報用メモリ１０６のうち一番古いメモリが削除さ
れる時間がきたとき、このメモリ内の判定結果を確認し、「非対応」なっているパケット
を「想定外の通信が検出された」という判定にしてログ用メモリ１０８に出力する。
【００３９】
［パケットキャプチャ部の動作例］
次に、パケットキャプチャ部１００の動作の一例について説明する。図５は、パケット
キャプチャ部１００が入力パケットのタイプを分類するときの動作の一例を示すフローチ
ャートである。下記表２は、図５で使用している記号とその意味の対応関係を示している
。
【００４０】
【表２】
0005659839.tif 000003
【００４１】
図５に示すように、ステップＳ１００でパケットキャプチャ部１００は、スイッチ３０
を介して入力されたパケットＰのヘッダを検査し、入力パケットの送信元ＭＡＣアドレス
がファイヤーウォール２０のＮＩＣ２０ｂのＭＡＣアドレスと一致しているか否かを判断
する。パケットキャプチャ部１００は、入力パケットの送信元ＭＡＣアドレスがファイヤ
ーウォール２０のＭＡＣアドレスと一致していると判断した場合にはステップＳ１１０に
進み、一致していないと判断した場合にはステップＳ１２０に進む。
【００４２】
ステップＳ１１０でパケットキャプチャ部１００は、入力パケットのヘッダを検査し、
入力パケットの送信元ＩＰアドレスがファイヤーウォール２０のＮＩＣ２０ｂのＩＰアド
レスと一致しているか否かを判断する。パケットキャプチャ部１００は、入力パケットの
送信元ＩＰアドレスがファイヤーウォール２０のＩＰアドレスと一致していると判断した
場合には、入力パケットをタイプＴ６に分類する。一方、入力パケットの送信元ＩＰアド
レスがファイヤーウォール２０のＩＰアドレスと一致していないと判断した場合には、入
力パケットをタイプＴ２に分類する。
【００４３】
送信元ＭＡＣアドレスとファイヤーウォール２０のＭＡＣアドレスが不一致であると判
断した場合、パケットキャプチャ部１００は、ステップＳ１２０で送信先ＭＡＣアドレス
がファイヤーウォール２０のＭＡＣアドレスと一致しているか否かを判断する。パケット
キャプチャ部１００は、送信先ＭＡＣアドレスがファイヤーウォール２０のＭＡＣアドレ
スと一致していると判断した場合にはステップＳ１３０に進み、送信先ＭＡＣアドレスが
ファイヤーウォール２０のＭＡＣアドレスと一致していないと判断した場合には入力パケ
ットをタイプＴ３に分類する。
【００４４】
ステップＳ１３０でパケットキャプチャ部１００は、入力パケットのヘッダを検査し、
入力パケットの送信先ＩＰアドレスがファイヤーウォール２０のＮＩＣ２０ｂのＩＰアド
レスと一致しているか否かを判断する。パケットキャプチャ部１００は、入力パケットの
送信先ＩＰアドレスがファイヤーウォール２０のＩＰアドレスと一致していると判断した
場合には、入力パケットをタイプ５に分類する。一方、入力パケットの送信先ＩＰアドレ
スがファイヤーウォール２０のＩＰアドレスと一致していない判断した場合には、入力パ
ケットをタイプＴ１またはＴ４に分類する。
【００４５】
このように、ファイヤーウォール２０のＩＰアドレス、ＭＡＣアドレスとファイヤーウ
ォール２０のＩＰアドレス、ＭＡＣアドレスとによりパケットのヘッダを検査して行くと
、パケットのタイプＴ２，Ｔ３，Ｔ５，Ｔ６は容易に分離できる。また、パケットのタイ
プＴ１，Ｔ４については混在した結果が得られる。そのため、以下のパケット検査部１０
２では、パケットのタイプＴ１，Ｔ４が混在した結果から、タイプＴ１に対応するタイプ
Ｔ２が存在しないものを探すことで、「想定外の通信」を特定する。パケットのタイプＴ
４については、ファイヤーウォール２０で遮断されるので、対応するパケットが存在しな
いことは明らかであるからである。したがって、本例では、混在した結果から「想定外の
通信」を抜き出すため、６分類したパケットのタイプのうち例えばタイプＴ１，Ｔ２，Ｔ
４に分類されたパケットＰ１、Ｐ２，Ｐ４をパケット検査部１０２に出力する。
【００４６】
［パケット検査部の動作例］
次に、パケット検査部１０２の動作の一例について説明する。図６は、パケットキャプ
チャ部１００から入力されるパケットのうち、「想定外の通信」のパケットを検出する際
のパケット検査部１０２の動作の一例を示すフローチャートである。
【００４７】
図６に示すように、ステップＳ２００でパケット検査部１０２は、パケットキャプチャ
装置から入力されたパケットから、パケットデータのオブジェクトを作成する。例えば、
パケット検査部１０２は、パケットキャプチャ部１００から「想定外の通信」の候補とな
るパケットＰ１，Ｐ２，Ｐ４が入力されると、これらのパケットＰ１，Ｐ２，Ｐ４のオブ
ジェクトを作成する。
【００４８】
ステップＳ２１０でパケット検査部１０２は、入力されたパケットのオブジェクトに関
連した対応判定用オプジェクトを、パケット情報用メモリ１０６のメモリ１０６ａ〜１０
６ｇの中から検索する。ここで、入力パケットのオブジェクトの内容と対応判定用オブジ
ェクトの内容の一例を下記表３に示す。
【００４９】
【表３】
0005659839.tif 000004
【００５０】
また、表３のパケットの向きについての詳細を下記表４に示す。表４は、ファイヤーウ
ォール２０のＮＩＣ２０ｂのＭＡＣアドレス使用したパケットの向きの判定方法を示して
いる。
【００５１】
【表４】
0005659839.tif 000005
【００５２】
パケット検査部１０２は、入力されたパケットのオブジェクトに対して、下記表５に示
す条件Ａまたは条件Ｂの関係を満たす対応判定用オブジェクトをパケット情報用メモリ１
０６のメモリ１０６ａ〜１０６ｇの中から検索する。
【００５３】
【表５】
0005659839.tif 000006
【００５４】
条件Ａとは、表５に示すように、２つのパケットが同じセッションで同じ向きの関係に
ある場合であり、例えば、下位ネットワーク７０から上位ネットワーク６０に送信される
パケットが何らかの障害により中断した場合に、同一パケットが再送信されるようなパケ
ットを含んでいる。条件Ｂとは、表５に示すように、２つのパケットが同じセッションで
対応関係にある（反対向きにある）場合であり、例えば、下位ネットワーク７０から上位
ネットワーク６０に送信されるパケットに応答して、上位ネットワーク６０から下位ネッ
トワーク７０に向かう返信パケットである。
【００５５】
ステップＳ２２０でパケット検査部１０２は、検索結果に基づいて、入力されたパケッ
トのオブジェクトに関連する対応判定用オブジェクトが、パケット情報用メモリ１０６の
メモリ１０６ａ〜１０６ｇの中に存在するか否かを判断する。本例では、例えば、タイプ
１のパケットＰ１、タイプ４のパケットＰ４が表５の条件Ａ、条件Ｂの条件を満たすもの
とする。パケット検査部１０２は、入力パケットのオブジェクトに関連する対応判定用オ
ブジェクトがパケット情報用メモリ１０６に存在すると判断した場合にはステップＳ２３
０に進み、入力パケットのオブジェクトに関連する対応判定用オブジェクトがパケット情
報用メモリ１０６に存在しないと判断した場合にはステップＳ２８０に進む。
【００５６】
関連する対応判定用オブジェクトが存在しない場合、ステップＳ２８０でパケット検査
部１０２は、対応判定用のオブジェクトを作成する。例えば、パケット検査部１０２は、
パケットキャプチャ部１００から入力されるパケットＰ１，Ｐ２，Ｐ４の対応判定用オブ
ジェクトを作成する。この対応判定用オブジェクトは、表３に示したパラメータを有して
いる。対応判定用のオブジェクトを作成したらステップＳ２９０に進む。
【００５７】
ステップＳ２９０でパケット検査部１０２は、作成した対応判定用のオブジェクトを、
パケット情報用メモリ１０６のメモリ１０６ａ〜１０６ｇのうちリングバッファで管理さ
れる最新のメモリに書き込む。対応判定用オブジェクトをパケット情報用メモリ１０６に
書き込んだらステップＳ２７０に進む。
【００５８】
一方、関連する対応判定用オブジェクトが存在する場合、ステップＳ２３０でパケット
検査部１０２は、入力パケットのオブジェクトに関連する対応判定用オブジェクトをパケ
ット情報用メモリ１０６のメモリ１０６ａ〜１０６ｇのうち最新のメモリに移動する。こ
れは、パケット情報用メモリ１０６がリングバッファにより管理されるため、古いメモリ
から所定時間おきにデータが削除されてしまうからである。対応判定用オブジェクトの移
動が完了したらステップＳ２４０に進む。
【００５９】
ステップＳ２４０でパケット検査部１０２は、入力されたパケットのオブジェクトと、
対応判定用オブジェクトとの対応関係が成立するか否かを検査する。パケット検査部１０
２は、入力されたパケットと対応判定用オブジェクトに関して、表５中の条件Ｂが成立す
るか否かを検査する。すなわち、入力されたパケットのオブジェクトがタイプＴ１のパケ
ットＰ１であって、かつ、対応判定用オブジェクトがタイプＴ２のパケットＰ２であるか
否かを検査する。検査が終了したらステップＳ２５０に進む。
【００６０】
ステップＳ２５０でパケット検査部１０２は、検査結果に基づいて、入力されたパケッ
トのオブジェクトと対応判定用オブジェクトとの対応関係が成立するか否かを判断する。
パケット検査部１０２は、入力されたパケットのオブジェクトに対応する対応判定用オブ
ジェクトが存在する、つまり、表５の条件Ｂを満たしていると判断した場合にはステップ
Ｓ２６０に進む。例えば、入力されたパケットＰ１でこれに対応するパケットＰ２が存在
した場合である。一方、入力されたパケットのオブジェクトに対応する対応判定用オブジ
ェクトが存在しない、つまり、表５の条件Ｂを満たしていないと判断した場合にはステッ
プＳ２７０に進む。
【００６１】
対応関係が成立すると判断した場合、ステップＳ２６０でパケット検査部１０２は、入
力されたパケットのオブジェクトの「判定結果」の項目内容を更新する。具体的には、こ
の場合のパケットは「想定外の通信」ではないので、判定結果の項目内容を初期値の「非
対応」から「対応」に書き換えて更新する。同様に、入力されたパケットと表３に示す同
じパラメータを有するパケット情報用メモリ１０６の全てのパケットについても、判定結
果を更新する。判定結果の項目内容を更新したらステップＳ２７０に進む。
【００６２】
最後に、ステップＳ２７０でパケット検査部１０２は、オンジェクトの存在や対応関係
の成立が判断された入力パケットを、パケット情報用メモリ１０６のメモリ１０６ａ〜１
０６ｇの最新のメモリに書き込む。例えば、対応関係が成立した入力パケットＰ１のオブ
ジェクトについては判定結果が「対応」とされたオブジェクトが保存され、対応関係が成
立していない入力パケットＰ１，Ｐ４のオブジェクトについては判定結果が初期値の「非
対応」のままのオブジェクトが保存される。このような一連の動作により、タイプ１とタ
イプ４とが混在した状態から、タイプ１に対応するタイプ２が存在するものを検出するこ
とができ、その結果、「想定外の通信」のパケットを抽出することができる。
【００６３】
［メモリ管理部の動作例］
次に、パケット情報用メモリ１０６を管理する場合のメモリ管理部１０４の動作の一例
について説明する。図７および図８は、パケット情報用メモリ１０６のリングバッファの
動作を説明するための図を示している。なお、本例では、メモリ１０６ｃに書き込みポイ
ンタを設定すると共にメモリ１０６ｂに読み込みポインタを設定している。したがって、
メモリ１０６ｃに書き込まれるデータが最も新しいパケットデータであり、メモリ１０６
ｂに書き込まれるデータが最も古いパケットデータとなる。
【００６４】
メモリ管理部１０４は、書き込みポインタが設定されているメモリ１０６ｃに、パケッ
トデータオブジェクトおよび対応判定用オブジェクトを、Ｎ（正の整数）秒間書き込む。
例えば、メモリ管理部１０４は、パケット検査部１０２からパケットデータが供給された
場合に、メモリ１０６ｃにパケットデータを書き込む。そして、Ｎ秒間が経過したら、図
７に示す反時計回り方向に隣接したメモリ１０６ｂに書き込みポインタを移動し、Ｎ秒間
、パケットデータのオブジェクトおよび対応判定用オブジェクトをメモリ１０６ｂ（図８
の点線部）に書き込む。このような書き込み処理をＮ秒間隔で行う。
【００６５】
一方、メモリ管理部１０４は、読み込みポインタが設定されたメモリ１０６ｂに保存さ
れているパケットデータのオブジェクトに関して、「判定結果」を確認する。そして、メ
モリ管理部１０４は、判定結果が「非対応」となっているパケットデータのオブジェクト
を読み出し、この読み出したパケットデータのオブジェクトについては「想定外の通信が
検出された」という判定にしてログ用メモリ１０８に記録する。Ｎ秒間が経過したら、メ
モリ１０６ｃの保存期間が経過したと判断してメモリ１０６ｂ内のデータを削除すると共
に、図７に示す反時計回りに隣接したメモリ１０６ａに読み込みポインタが移動してこの
メモリ１０６ａ内の入力オブジェクト内の判定結果を確認する。このような処理を上記書
き込みポインタの処理と同期してＮ秒毎に行う。
【００６６】
以上説明したように、本実施の形態によれば、下位ネットワーク７０をパケットキャプ
チャ部１００によりキャプチャするだけで、「想定外の通信」に該当するか否かの対応関
係を自動的に分析できるようになる。これにより、従来のように、ファイヤーウォール２
０のログを分析する作業を省略できるので、作業の効率化を図ることができる。また、既
設のファイヤーウォールを改良する必要も無いので、ファイヤーウォール２０の性能に影
響を与えることなく、不正パケットを抽出することができる。さらに、不正パケット抽出
装置１０が自動的に不正パケットを判定するので、高い技能が不要であると共に、低コス
トで不正パケットの監視を行うことができる。
【００６７】
[応用例]
上記実施の形態では、ファイヤーウォールの設定やログに頼らずに、組織内から上位ネ
ットワークへの想定されない通信を抽出する方法について説明したが、応用例として、イ
ンターネット観測用のセンサが考えられる。インターネットに接続された端末ノードで、
インターネットからのスキャンを観測したようとする場合、観測専用の回線を確保して、
スキャンの様子を観測するのが一般的である。実利用されている実ネットワークを使って
観測する場合は、ファイヤーウォールのドロップログをとり、インターネットからのパケ
ットでドロップされたものを集める方法がある。
【００６８】
しかし、ファイヤーウォールのドロップログを収集するには、ファイヤーウォールの性
能に与える影響に関する説明、ログ収集の仕組みの構築、ログの内容を解釈する仕組みの
構築等を実行する必要がある。また、組織の壁や予算等の問題も大きい。そこで、本発明
の不正パケット抽出装置１０を適用することで、インターネットからの不正アクセスの抽
出を効率的に行うことができる。
【００６９】
図９は、実ネットワークを使用したインターネットの観測に本発明の不正パケット抽出
装置１０を適用したネットワークシステムの図である。不正パケット抽出装置１０は、イ
ンターネット公開用ネットワーク３００でインターネット４００からのトラフィック（パ
ケット）を観測する。このとき、一般ユーザ４０２がアドレスＤの公開されているＦＴＰ
サーバ３０２にアクセスするために行っている正しい通信と、攻撃者４０４がサーバの存
在しない、例えばアドレスＡのＰＣ３０８やアドレスＢのＰＣ３０６をスキャンしている
ものとを分離する必要がある。本発明の不正パケット抽出装置１０の技術を使うことで、
一般ユーザ４０２からのトラフィックは対応のあるパケットに分類できるので、正常な通
信と判定できる。一方、攻撃者４０４からのトラフィックは、対応のないものに分類でき
るので、想定外の通信（不正パケット）であると判断できる。
【００７０】
なお、本発明の技術範囲は、上述した実施形態に限定されるものではなく、本発明の趣
旨を逸脱しない範囲において、上述した実施形態に種々の変更を加えたものを含む。
【符号の説明】
【００７１】
１０  不正パケット抽出装置
２０  ファイヤーウォール
６０  上位ネットワーク
７０  下位ネットワーク
１００  パケットキャプチャ部
１０２  パケット検査部
１０４  メモリ管理部
１０６  パケット情報用メモリ
【図１】
0005659839.tif 000007
【図２】
0005659839.tif 000008
【図３】
0005659839.tif 000009
【図４】
0005659839.tif 000010
【図５】
0005659839.tif 000011
【図６】
0005659839.tif 000012
【図７】
0005659839.tif 000013
【図８】
0005659839.tif 000014
【図９】
0005659839.tif 000015
【図１０】
0005659839.tif 000016
【図１１】
0005659839.tif 000017