(57)【特許請求の範囲】
【請求項１】
ネットワークに接続されたノードに対して、特定のＩＰアドレスを有するノードの物理アドレスを問い合せるリクエストパケットを生成するステップと、
生成したリクエストパケットをブロードキャストではない物理アドレス宛に送るステップと、
前記リクエストパケットに応答したレスポンスパケットを受けることによりプロミスキャスノードを特定するステップと
を備えたことを特徴とするプロミスキャスノードの発見方法。
【請求項２】
ネットワークに接続されたノードに対して、特定のＩＰアドレスを有するノードの物理アドレスを問い合せるリクエストパケットを生成する物理アドレス問合せ手段と、
前記物理アドレス問合せ手段によって生成したリクエストパケットをブロードキャストではない物理アドレス宛に送るリクエスト発送手段と、
前記リクエストパケットに応答したレスポンスパケットを受けることにより、プロミスキャスノードを特定するプロミスキャス特定手段と
を備えたことを特徴とする、プロミスキャスノードを発見する装置。
【請求項３】
ネットワークに接続された全ノードに対して、各ノードが有する物理アドレスを問い合せるリクエストパケットを、ブロードキャストでない物理アドレス宛に発送する処理と、前記リクエストパケットの各々に対するレスポンスパケットを受けることでプロミスキャスノードを特定する処理とをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＰネットワークにおけるプロミスキャス(promiscuous)ノードを発見する方法及び装置、並びにプロミスキャスノード発見のためのコンピュータプログラムに関する。
【０００２】
【従来の技術】
インターネットやイントラネットは、現在のネットワーク社会において重要な役割を担っており、電子メール、電子商取引、電子マネーなどを扱うｅ−ビジネスにとって不可欠の通信手段となっている。このような状況の発展に伴い、ネットワーク上のセキュリティ対策、特に不正アクセスへの対策が重要になってきている。
【０００３】
ネットワーク上のセキュリティ対策として、例えば、検索機能によってリモートやローカルのホストのセキュリティホールを自動的に検出するプログラムをコンピュータにインストールし、このプログラムを起動させてＴＣＰ／ＩＰのポートに問合せを送り、ターゲットからの応答を記録し、当該ターゲットのホストで現在動作しているサービス、そのサービスを所有しているユーザ、匿名ログインの可否、特定のネットワークサービスに認証が必要かどうか等の情報を収集し、常に外からの攻撃がないかどうかを監視するシステムを備えることで、ネットワークセキュリティを強化する技術がある。
【０００４】
【発明が解決しようとする課題】
しかしながら、不正アクセスの中でも、ネットワーク上のコンピュータを利用したネットワーク盗聴（ネットワーク上の情報を不正に取得する不正アクセス）は、ノードへの侵入を試みる不正アクセスの場合に行われるパケットの送出がないので、従来は、ネットワーク盗聴を行うようなノードの発見に有効な手段がなく、知らない間に情報が流出している恐れがあった。
【０００５】
図１は、ネットワーク上の盗聴を図示したものである。これは、ネットワーク１にサーバ装置２とユーザ端末（パソコン）３が接続し、サーバとユーザ間でデータその他の情報の通信を行っているとき、ネットワーク１上で不正に情報を収集している盗聴ノード（プロミスキャスノード）４が存在している場合である。
【０００６】
本発明の目的は、ネットワーク盗聴のような不正アクセスを行うノードを発見する方法と、それを実施するための装置及びコンピュータプログラムを提供することにある。
【０００７】
【課題を解決するための手段】
本発明の原理の１つは、ＩＰ（Internet Protocol）アドレスを有するノードでは、物理的なインタフェース（例えば、ネットワークインタフェースカード（ＮＩＣ））が、物理アドレスであるＭＡＣアドレスを有する点に着目し、上記のようにＩＰアドレスからＭＡＣアドレスを得る機能を有するＡＲＰ（Address Resolution Protocol：アドレス解析プロトコル）を利用して、ブロードキャストではない「適当な」ＭＡＣアドレス宛に、特定のＩＰアドレスを有するノードのＭＡＣアドレスを問い合せるリクエストパケットを送信し、これに応答してＭＡＣアドレスを知らせるレスポンスパケットを受信することで、プロミスキャスノードを発見するものである。
【０００８】
上記の適当なＭＡＣアドレスとは、次の条件を満たすものである。
【０００９】
１．ブロードキャスト（後述の“ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ”）でないこと
２．問合せ相手のＭＡＣアドレスでないこと
３．ノードのソフトウエア上のフィルタで取り込まれる値であること
「ソフトウエア上のフィルタ」とは、当該ノードに所定のアドレスからの信号若しくはデータ等の情報だけを取り込むようにプログラム上で設定されるフィルタである。このフィルタで取り込まれる値としては、例えば、(1)先頭の２バイトが“ＦＦ”であるもの（“ＦＦ−ＦＦ−００−００−００−００”など）、(2)先頭の１バイトが“０１”であるもの（“０１−００−００−００−００−００”など）がある。
【００１０】
上記３つの条件を満たすＭＡＣアドレスの例：
１）  ＦＦ−ＦＦ−００−００−００−００
２）  ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＥ。
【００１１】
本発明の方法は、上記原理に基づき、ネットワークに接続されたノードに対して、特定のＩＰアドレスを有するノードの物理アドレスを問い合せるリクエストパケットを生成するステップと、生成したリクエストパケットをブロードキャストではない物理アドレス宛に送るステップと、当該リクエストパケットに応答するレスポンスパケットを受けることでプロミスキャスノードを特定するステップとを備えたことを特徴とする。
【００１２】
上記方法を実施するための装置は、ネットワークに接続されたノードに対して、特定のＩＰアドレスを有するノードの物理アドレスを問い合せるリクエストパケットを生成する物理アドレス問合せ手段と、この物理アドレス問合せ手段によって生成したリクエストパケットをブロードキャストではない物理アドレス宛に送るリクエスト発送手段と、前記リクエストパケットに応答したレスポンスパケットを受けることにより、プロミスキャスノードを特定するプロミスキャス特定手段とを備えたことを特徴とする。この装置は、パソコンのＣＰＵ及び周辺装置などのハードウエア資源を上記各手段として機能させるプログラムを格納したコンピュータによって実現される。
【００１３】
また、上記のように「適当な」ＭＡＣアドレス宛に特定のアドレス問合せパケットを送るだけでなく、発明の別態様として、ネットワークに存在する全てのアドレスを別々のリクエストパケットに書き込み、全リクエストパケットをネットワーク上に送信して、各リクエストパケットに対するレスポンスパケットを受信することにより、ネットワーク上のプロミスキャスノードを発見する方法も提供される。
【００１４】
この方法をコンピュータに実施させるために、ネットワークに接続された全ノードに対して、各ノードが有する物理アドレスを問い合せるリクエストパケットを、ブロードキャストではない物理アドレス宛に発送する処理と、各リクエストパケットに対するレスポンスパケットが受けることでプロミスキャスノードを特定する処理とを実行することを特徴とするコンピュータプログラムが提供される。
【００１５】
【作用及び効果】
本発明によれば、リクエストパケットを発送し、それに応答したノードの物理アドレスを知らせるレスポンスパケットからプロミスキャスノードを検出することができる。これにより、ネットワーク盗聴のような不正アクセスを行うノードを発見し、不正行為の停止要求などの対応を取ることができるので、ネットワークのセキュリティを強化することができる。また、パケットは、アプリケーションソフトウエアの影響を受けずにやり取りされるので、より確実に低負荷でプロミスキャスノードの検出をすることができる。
【００１６】
別態様の発明によれば、ネットワークに接続されているノードに対してリクエストパケットを発送し、レスポンスパケットを確認していくことにより、ネットワーク上のプロミスキャスノードを特定することができる。これは、ＡＲＰによる問合せとそれに対する応答のやり取りで行われるので，ネットワーク負荷を増大させることなく、プロミスキャスノードを発見できる。
【００１７】
【発明の実施の形態】
通常、インターネットのようなネットワーク上に接続されたノードは、ＩＰアドレスをもつ。ＩＰは、ネットワーク層に属し、インターネット上でパケットの配送等のデータ通信をするために必要な通信規約である。データ伝送時には、各種へッダ情報、発信元ＩＰアドレス、及び宛先（ＩＰアドレス）に送信されるデータを付加して、パケットとしてネットワーク上に流す。これらの情報を宛先に送るためには、宛先の物理的アドレス（ＭＡＣアドレス）が必要である。ＩＰアドレスからＭＡＣアドレスを得るための通信方式として、ＡＲＰ（Address Resolution Protocol）が知られている。
【００１８】
例えば、２つのノードＡとノードＢとが互いにＬＡＮを介して接続されるネットワーク環境において、一方のノードＡは、通信開始の際、送信先として他方のノードＢのＩＰアドレスをターゲットＩＰフィールドに設定して、ＡＲＰリクエストフレームをブロードキャストで送信する。他方のノードＢは、ターゲットＩＰアドレスに一致するＩＰアドレスをもつので、このＡＲＰリクエストフレームを受信し、その応答として、ターゲット物理アドレスに自己のＭＡＣアドレスを設定したＡＲＰレスポンスフレームを、一方のノードＡに送信する。このノードＡは、ＡＲＰレスポンスフレームを受信して、相手ノードＢのＭＡＣアドレスを得ると共に、このＭＡＣアドレスを用いて相手ノードＢへの通信を実行する。
【００１９】
このように、ＡＲＰによれば、宛先のノードは自分宛に送信された場合、自分のＭＡＣアドレスを返信する。一般に、ＭＡＣアドレスは６バイトで構成され、他との重複がないように割り当てられている。以下、ブロードキャスト（全ノード宛）のＭＡＣアドレスを“ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ”（１６進数表示）とする。
【００２０】
図２は、一般的なＮＩＣ（ネットワークインタフェースカード）の動作を示す。図示のＮＩＣ（この場合、「イーサネット」ドライバ）のＭＡＣアドレスが“０１−０２−０３−０４−０５−０６”であるとき、このＮＩＣは、自宛（当該ＭＡＣアドレス）のパケットとブロードキャスト宛（ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ）のパケットを取り込むが、それ以外のパケットは受け取らない。
【００２１】
図３は、ＮＩＣがプロミスキャスノードであるときの動作を示す。この場合、ＮＩＣは、自宛とブロードキャスト宛に限らず、全てのパケットを受信する。
【００２２】
図４は、上記ＡＲＰを利用してＭＡＣアドレスの問合せを行う動作を示す。
【００２３】
送信元のノード（例えば、ＩＰアドレス：192.168.1.1，ＭＡＣアドレス：00−00−00−00−00−01）１１は、ネットワーク１に接続した全ノードに対して、特定（例えば、ＩＰアドレス：192.168.1.10）のＭＡＣアドレスの問合せを行う。このときの問合せパケット（ＡＲＰリクエストパケット）の内容は「ＩＰアドレス：192.168.1.10のノードは、ＭＡＣアドレスを教えてください。」というものであり、その宛先は、ブロードキャスト宛（ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ−ＦＦ）とする。宛先が全ノードなので、同一ネットワーク上の全てのノードが、この問合せパケットを取り込む。
【００２４】
上記問合せパケットを受信した各ノード１２，１３，１４は、それぞれ、問合せアドレス（図４の場合、ＩＰアドレス：192.168.1.10）が自分のＩＰアドレスであるかをチェックする。そして、問合せが自分のＩＰアドレスに対するものであった場合、そのノード（図４の例では、右端のノード１４）は、自分のＭＡＣアドレス（００−００−００−００−００−１２）を書き加えたＡＲＰレスポンスパケットを、送信元（宛先ＭＡＣアドレス：００−００−００−００−００−０１）のノード１１に返送する。このとき、該当しなかった他のノード１２，１３（例えば、ＩＰアドレス：192.168.1.2，192.168.1.3）は、一切の応答をしない。
【００２５】
図５は、本発明によりプロミスキャスノードを判別する方法を示す。
【００２６】
この場合、送信元のノード１１は、ＭＡＣアドレスの問合せを行うＡＲＰリクエストパケットを、ブロードキャスト宛ではなく、通常の宛先と異なる適当なＭＡＣアドレス（例えば、ＦＦ−ＦＦ−００−００−００−００）宛に送信する。
【００２７】
この問合せパケットに対して、問合せのＩＰアドレス（例えば、192.168.1.10）を有するノード１４であっても、（ａ）通常モードの場合は、問合せパケットが自分宛でもブロードキャスト宛でもないので、問合せパケットは受け取らず、従って応答もない。一方、（ｂ）プロミスキャスモードのノードは、自分宛及びブロードキャスト宛以外のパケットでも受信する。そして、問合せのＩＰアドレスを有するノード１４は、自分のＭＡＣアドレスを加えた応答（ＡＲＰレスポンスパケット）を返送することとなる。
【００２８】
以上のように、ブロードキャストでない適当なＭＡＣアドレスを宛先として、特定のＩＰアドレスを有するノードのＭＡＣアドレスを問い合せるＡＲＰリクエストパケットを送信し、応答のＡＲＰレスポンスパケットを受信することにより、プロミスキャスノードを特定することができる。
【００２９】
また、この特定方法を利用して、同一ネットワーク内のプロミスキャスノードを検索するように検索プログラムを作成することができる。
【００３０】
或いは、ネットワークに存在する全てのアドレスを別々のリクエストパケットに書き込み、それらのリクエストパケットを送信するようにしてもよい。その送信は、各リクエストパケットを個々に発送すればよく、任意の順番、アドレス順或いはランダムに発送する方式のいずれでもよい。この方式では、図６に示すように、一のアドレス問合せパケットをネットワーク上に送信し（ＳＴ１）、それに対するレスポンスパケットの受信をチェックし（ＳＴ２）、当該レスポンスパケットを受信しなければ、次のアドレス問合せパケットを送信するというようにして、レスポンスパケットを受信するまで順次アドレス問合せパケットを送信する。そして、レスポンスパケットを受信したときは、そのレスポンスパケットによってネットワーク上のプロミスキャスノードを特定する（ＳＴ３）。こうして、ネットワーク上のプロミスキャスノードを発見することができる。
【図面の簡単な説明】
【図１】ネットワーク上の盗聴を示す図。
【図２】一般的なＮＩＣの動作を示す図。
【図３】ＮＩＣがプロミスキャスノードであるときの動作を示す図。
【図４】ＡＲＰを利用してＭＡＣアドレスの問合せを行う動作を示す図。
【図５】本発明によりプロミスキャスノードを判別する方法を示す図。
【図６】個々のアドレス問合せに対する応答からプロミスキャスノード判別処理の手順を示すフローチャート。
【符号の説明】
１…ネットワーク、２…サーバ装置、３…ユーザ端末、４…盗聴ノード、１１〜１４…ノード。
【図１】
0003856368.tif 000002
【図２】
0003856368.tif 000003
【図３】
0003856368.tif 000004
【図４】
0003856368.tif 000005
【図５】
0003856368.tif 000006
【図６】
0003856368.tif 000007