JP2007251259A - Vpn通信検出方法及び装置 - Google Patents

Vpn通信検出方法及び装置 Download PDF

Info

Publication number
JP2007251259A
JP2007251259A JP2006068004A JP2006068004A JP2007251259A JP 2007251259 A JP2007251259 A JP 2007251259A JP 2006068004 A JP2006068004 A JP 2006068004A JP 2006068004 A JP2006068004 A JP 2006068004A JP 2007251259 A JP2007251259 A JP 2007251259A
Authority
JP
Japan
Prior art keywords
packet
node
internal network
vpn
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006068004A
Other languages
English (en)
Other versions
JP4509955B2 (ja
Inventor
Keisuke Mera
恵介 米良
Naoki Ezaka
直紀 江坂
Shigeo Matsuzawa
茂雄 松澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006068004A priority Critical patent/JP4509955B2/ja
Priority to US11/716,883 priority patent/US8149722B2/en
Priority to CNB2007100862855A priority patent/CN100499561C/zh
Publication of JP2007251259A publication Critical patent/JP2007251259A/ja
Application granted granted Critical
Publication of JP4509955B2 publication Critical patent/JP4509955B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができる検出方法及び装置を提供する。
【解決手段】外部ネットワーク側から入力した内部ネットワーク上のノード宛てのパケット、及び内部ネットワーク側から入力した外部ネットワーク上のノード宛てのパケットを中継する際に遅延時間を挿入して、テスト対象のノードに対し応答要求パケットを送信してから、その応答パケットを受信するまでに要した応答時間を計測する。この応答時間が上記遅延時間の長さに応じて変化する場合には、テスト対象のノードが内部ネットワーク上のノードとVPN通信を行っているノードであると判定する。
【選択図】 図9

Description

本発明は、VPN(Virtual Private Network)に関し、特に、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを検出する検出方法及び装置に関する。
遠隔地にある拠点ネットワーク間を接続する形態の一つとしてVirtual Private Network(VPN)とよばれる技術がある。
Layer 3 VPN(L3VPN)では、IPパケットを実ネットワークのIPパケットに格納する「カプセル化」を行うことにより、実ネットワーク上に仮想的なネットワークを構築する技術であり、IP−VPNやインターネットVPNなどと呼ばれることもある。しかし、IPパケットをカプセル化して転送する形態のVPNであるL3VPNは、IP以外のプロトコルを用いたパケットを扱うことができないうえ、ブロードキャストやマルチキャスト通信を扱う際に特別な配慮が必要になるという課題がある。
遠隔地にある拠点間を接続する形態の一つとしてLayer 2 Virtual Private Network(L2VPN)とよばれる技術がある。通常、遠隔地にある拠点同士は別のネットワークになるところを、上位レイヤでLayer2フレーム(例えばイーサネット(登録商標)フレーム)をカプセル化して転送し、遠隔地にもLayer2のフレームを転送することで結果的に一つの仮想的なLayer2に見せるものである。この技術により、ポリシなどの統一が容易になり管理者の負担を減らすとともに、ユーザはどこでも同じネットワークに属することが可能になるというメリットがある。
企業や政府機関などにおいて、情報漏洩防止などの理由で、VPN経由での外部からのアクセスを制限している場合がある。内部のネットワークに外部からVPN経由でアクセスしているホストを把握したり取り締まるために、ファイアウォールを通過するVPN通信を検出する装置がある(例えば、非特許文献1参照)。
これは、通過する通信のパケットパターンを監視し、既知のVPNプロトコルを使った通信のパターンであれば、VPNのコネクションであると判断することを特徴とするファイアウォール装置である。
"One Point Wall"、[online]、ネットエージェント社、[平成18年3月6日検索]、インターネット<URL:http://www.onepointwall.jp/>
外部から、VPNを利用して内部にアクセスしている場合、そのVPN通信は必ず外部と接続されたルータ等の中継装置を経由するので、VPN通信が暗号化されていない既知のVPNプロトコルであれば、通過するパケットを監視することで、それがVPN通信のパケットであるかどうかを判断することが可能である。
しかし、大半のVPN通信は暗号化を施すものが多いため、通過するパケットを監視するだけでは検出は難しい。
上記非特許文献1に記載されている、通信パケットパターンを監視することでVPN通信のパケットを検出するファイアウォール装置では、装置が既知のVPNプロトコルを使用した通信はたとえ暗号化されていても、通信パケットパターンが既知のものと一致すれば、VPN通信であると検知することができる。
しかし、VPN通信のパケットパターンが、そのファイアウォール装置の既知のものでない限り検出は不可能である。このため、ファイアウォール装置で新たに開発されたVPNプロトコルや、改造されたVPNプロトコルなど、ファイアウォール装置が知らないVPN通信のパケットを検出することができないという問題点がある。
また、計算機の普及と、高速な常時接続ネットワークの整備により、一ユーザが気軽にVPNを使うことができるようになってきた。しかし、その一方で、宅内に設置される機器には著作権保護を行うため宅内にある機器しか接続させたくないという要求がある。
ある通信相手(ノード)がVPN経由でアクセスしているかどうかを検出するために、DTCP(Digital Transmission Content Protection)/IP の標準化の中ではRTT(Round Trip Time)を用いる手法が提案されているが、この手法はだけでは対応できない。
また、非特許文献1に記載されている、VPN通信のパケットを検出するファイアウォール装置は、通過する通信を監視することで、既知のVPNプロトコルを使用したVPN通信のパケットを検出することは可能である。しかし、VPN通信のパケットを検出できても、VPN経由で接続しているノードを検出することはできない。
このように、従来は、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができないという問題点がった。
また、VPNプロトコルが既知のものであるか否かに関わらず、内部ネットワーク上のノードと外部ネットワーク上のノードとの間で送受信される通信パケットのうち、VPN通信に用いられているパケットを容易に検出することができないという問題点があった。
そこで、本発明は、上記問題点に鑑み、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができる検出方法及び装置を提供することを目的とする。
また、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができ、しかも、内部ネットワーク上のノードと外部ネットワーク上のノードとの間で送受信される通信パケットのうち、VPN通信に用いられているパケットを容易に検出することができる検出方法及び装置を提供することを目的とする。
(a)内部ネットワークと外部ネットワークとが接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するための前記内部ネットワークに接続されたVPN通信検出装置は、テスト対象のノードに対し応答要求パケットを送信する送信手段と、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうちの少なくとも一方を、異なる長さの複数の遅延時間のうちの指示された遅延時間だけ遅らせて、前記内部ネットワーク上のノード宛てのパケットの場合には前記内部ネットワーク側へ出力し、前記外部ネットワーク上のノード宛てのパケットの場合には前記外部ネットワーク側へ出力する遅延挿入手段と、前記応答要求パケットに対する前記テスト対象のノードからの応答パケットを受信する受信手段と、前記送信手段で前記応答要求パケットを送信してから前記受信手段で前記応答パケットを受信するまでに要した応答時間を計測する計測手段と、前記遅延挿入手段で挿入する各遅延時間と、当該遅延挿入手段で当該遅延時間の挿入を行っているときに計測された前記応答時間との相関を基に、前記テスト対象のノードが前記内部ネットワーク上のノードとVPN通信を行っているノードであるか否かを判定する判定手段とを含む。
(b)内部ネットワークと外部ネットワークとが接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するための前記内部ネットワークに接続されたVPN通信検出装置は、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットうちのいずれか一方あるいは両方を破棄するパケット破棄手段を用いてパケットを破棄するパケット破棄モードと、パケットの破棄を行わない通常モードとのうちのいずれか一方に切り替える切替手段と、テスト対象のノードに対し応答要求パケットを送信する送信手段と、前記切替手段で前記パケット破棄モードに切り替えて、前記送信手段で送信された前記応答要求パケットに対する前記テスト対象のノードからの応答パケットの受信の有無を検出する第1の検出手段と、前記切替手段で前記通常モードに切り替えて、前記送信手段で送信された前記応答要求パケットに対する前記テスト対象のノードからの応答パケットの受信の有無を検出する第2の検出手段と、前記第1及び第2の検出手段での検出結果を基に、前記テスト対象のノードが、前記内部ネットワーク上のノードとVPN通信を行っているノードであるか否かを判定する判定手段と、を含む。
内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができる。
以下、本発明の実施形態について、図面を参照して説明する。
まず、VPN通信の概略及びVPN通信を行っているノードの検出に関する従来技術の問題点を、図1乃至図5を参照して説明する。
(VPN通信の概略)
図1に示すように、ノードBとノードCとの間でVPN(トンネル)通信を行っていて、ノードCまたはノードCが物理的に接続しているネットワークと内部ネットワークとの間で、VPNトンネルを経由してネットワークパケットが転送される。
図2では、VPNトンネルを経由したパケットの流れの例として、ノードAとノードCとの間で通信する際のパケットの流れを矢印で示している。ノードAを含む内部ネットワークのノードから見ると、ノードCや、ノードCが接続しているネットワークは、ノードBを経由してアクセスできるように見える(これを図1及び図2ではノードCへの経路を仮想的なトンネルとして示している)。
但し、実際のVPN通信は、図3に示すように、ルータRAを経由して、外部ネットワークとの間で行われている。すなわち、ノードAからノードC宛に送信されたパケットは、まずノードBに到達する。ノードBでは、受信したノードC宛パケットをVPNパケットにカプセル化し、そのVPNパケットを送信する。VPNパケットは、ルータAを経由して外部ネットワークに送信され、ノードCに到達する。ノードCでは、受信したVPNパケットからノードAが送信したパケットを取り出すことで、ノードAから送信されたパケットがノードCに到達したことになる。
カプセル化を行うことで、ノードCを図2のようにVPNトンネルを経由して仮想的に接続させることができるのである。
(L3VPNで接続されたノードの検出)
ここでは例としてL3VPNで接続されたノードを検出する場合の問題点について説明する。仮想的にはトンネルを経由して外部にいるノードと内部ネットワークとの間の通信を行うが、実際にはカプセル化されたパケットがルータRAを経由して外部にいるノードとやりとりされる。
図4は、L3VPNを使用してノードCが内部ネットワークにアクセスしている場合のネットワーク構成の例を示している。
内部ネットワークは「10.0.0.0/24」のアドレスブロックで運用されている。L3VPNで接続している場合、ノードCは内部ネットワークとは違うアドレスブロックを割り当てる必要があるため、ノードCのトンネル端点には例として「10.0.1.0/24」のアドレスブロックのIPアドレスが割り当てられている。
ノードCが内部ネットワークのノード(例えばノードA)にアクセスする際は、仮想的には、パケットはノードCからトンネルを経由して、ノードBによって内部ネットワークに転送され、ノードAに到達する。反対に、ノードAからノードCへのパケットは、ノードBによってトンネルに転送され、トンネルを経由してノードCに到達する。
多くのL3VPNは、イーサネット(登録商標)でIPアドレスからMACアドレスを調べるために使用するARPプロトコルパケットを転送しない。このため、たとえノードCに内部ネットワークのIPアドレスブロックのIPアドレスを振っても、ARP返答ができないため、内部ネットワークのノードにMACアドレスを知らせることができず、内部ネットワークのノードはノードCにアクセスすることはできない。
このような構成では、ノードCのIPアドレスが内部ネットワークのIPアドレスでないが、IPアドレスの違いで内部ネットワークであると断定することはできない。内部ネットワークに、別のIPアドレスブロックで構成されているサブネットが運用されている場合が考えられるためである。
また、ノードBにて代理(PROXY)ARP機能が動作していれば、ノードCに内部ネットワークと同じアドレスブロックのアドレスを割り当てて通信させることができる。
図5は、L3VPNを使用してノードCが内部ネットワークに接続する例を示している。図5では、図4と異なり、ノードCに内部ネットワークのアドレスブロックのアドレスが設定されている。
ノードBの代理ARP機能は、ノードCのIPアドレスに対するMACアドレスを問い合わせるARPパケットをノードBが受け取ると、ノードCのMACアドレスはノードBのMACアドレスであるという返答を送信する。
これにより、ノードCへのパケットは全てノードBへ送信されることになる。ノードBがノードCのIPアドレス宛のパケットを受け取ると、ノードCに対してトンネルを経由してパケットを転送する。逆に、ノードCからの内部ネットワーク宛のパケットは、トンネルを経由してノードBに渡され、ノードBが内部ネットワークに転送する。
L3VPNを使用していて、VPNトンネルの両端のIPアドレスが異なるサブネットアドレスを割り当てられている場合は、IPアドレスの違いで同じサブネット内にいないとういことを知ることはできるが、内部ネットワーク内で別サブネットを運用されているだけで、外部からVPN接続しているわけではないという場合も考えられるため、IPアドレスの違いだけで検出することはできない。
また、L3VPNを使用していて、VPNトンネルの両端のIPアドレスを同じサブネットアドレスに割り当てることもできる(この方式の詳細は後述する)。このような構成では、VPN経由で接続しているノードのIPアドレスに対するMACアドレスと、内部ネットワークでVPNを終端しているノードのMACアドレスが同一のものになるが、これを持ってトンネル経由で外部からアクセスしているとは断定できない。ノードBに複数のIPアドレスが振られている場合や、ノードCが内部にいて内部でトンネル経由の通信をしている可能性が残されてしまう。
なお、ここでは内部ネットワークがIPv4(Internet Protocol version 4)で構築されている例を示しているが、IPv6(Internet Protocol version 6)など他のネットワークプロトコルで構築されている場合も、VPN検出を行う際には同様の問題が生じる。
(L2VPNで接続されたノードの検出)
前記ネットワーク構成において、トンネル通信としてL2VPNを使用している場合の例を示す。
見かけ上L2VPNをしていることは他の端末からは意識されない。ユニキャストの通信だけでなく例えばブロードキャストフレームも、図2に示すように、L2トンネルを経由して他のネットワークまで運ばれる(Windows(登録商標)のブロードキャストによる名前解決、UPnP(登録商標)によるマルチキャストを使った機器発見手順など)。
しかし、図3に示すように、実際にはすべてのL2VPNでトンネルをしているパケットは上流ネットワークへの経路を持つルータを経由している。
L2VPNによって宅外からアクセスしている場合、イーサネット(登録商標)等のLayer2フレームを転送することができ、VPN経由であっても内部ネットワークにあたかも直接接続しているように見せることが可能である。このため、これまでの技術では、外部からL2VPNで接続されているかどうかを判別するための有効な手段はなかった。
(前提)
次に、以下の実施形態の説明で用いるネットワーク構成例について説明する。ここでは、以下の条件を満たすネットワークを前提としている。
・VPN通信等の外部ネットワークとの通信は、必ず検出装置またはルータなどの中継装置を通過する。検出装置または中継装置を経由せずには、外部のネットワークに接続することができないとする。外部との経路が複数ある場合は、それぞれに検出装置または中継装置を配置し、それらを連携動作させる(検出装置および中継装置の詳細は後述する)。
・内部ネットワークとは、検出装置または中継装置の配下に接続されているネットワークで、内部ネットワークから外部のネットワークにアクセスする際には検出装置または中継装置を必ず通るように構成されているネットワークのことである。
・内部ネットワークにあるVPN終端しているノードは、内部ネットワークとVPNトンネルとの間でパケットを転送する。VPNを終端しているノードが内部ネットワークとの間でパケットを転送しないように設定されている場合は、ここでは想定外である。
・テスト対象のノードは、検出装置からの応答要求に対して、検出装置に対して応答を返す。応答要求を行うための通信プロトコルの例としては、ICMPecho、ARP、ICMPv6NDがある。
(第1の実施形態)
1.検出装置
図6は、本実施形態に係る検出装置1の構成例を示したものである。図6の検出装置1は、コネクション管理部101、判定部102、判定パケット送受信部103を含む。
コネクション管理部101は、ルータを通るコネクションの監視を行い、必要に応じてパケットを転送する際に挿入する遅延を制御し、パケットを転送するかどうかを制御する。コネクション監視とは、ルータを通るパケットの種別、すなわち、パケット属性情報を収集する機能である。例えば、Linux(登録商標)ではiptables およびtc(iproute2) とよばれるものがこれに相当する。この機能によって任意の遅延を挿入することや、任意のパケットを破棄することができる。
判定部102は、コネクション管理部101に対してパケットへの遅延挿入指示や破棄指示、及びこれらの解除を行う。また、判定パケット送受信部103に対しては、判定パケットの送信指示を行い、両者の結果からトンネルを経由しているパケットかどうかを判定する。
判定パケット送受信部103は、判定部102の要求に従い、判定用のパケットを内部ネットワーク内へ送信し、その応答を受信し、応答を内部ネットワークから受信するまでにかかる時間を測定する。
図7は、図6の検出装置1を内部ネットワークに配置した場合のネットワーク構成例を示したものである。ここでは、内部ネットワークは、例えば、「133.196.16.0/24」のIPv4サブネットであり、ノードCに対応する通信装置は、L2VPN経由で、内部ネットワークに接続している。このL2VPNは、データの配信にTCPを使用している。
図7において、検出装置1は、ノードCがVPN経由で接続されていることと、図3で示したような経路で転送されるVPN通信のパケットを検出する。
2.第1の検出方法:検出装置で配送遅延を挿入して検出を行う場合
この方法では、検出装置1が中継するパケット全てに遅延を挿入し、挿入した遅延とテスト対象のノードへ応答を要求するパケット(検出用パケット)を送信してから、その応答パケットが返ってくるまでに要する時間(応答時間)との相関をみることで、テスト対象のノードが外部ネットワーク上のノードであり、VPNトンネル経由で内部ネットワークと接続しているか否かを検出する。
検出装置1(の判定部102)には、予めテスト対象のノード(ここでは、ノードC)のMACアドレス、IPアドレスが与えられる。
以下、図8に示すフローチャートと、図9に示すシーケンス図と、図11及び図12に示すネットワーク内のデータの流れを示す図を参照して、第1の検出方法について説明する。
なお、図8は、検出装置1の処理動作を説明するためのフローチャートであり、図9は、ネットワーク内のデータの流れを示すシーケンス図である。また、図11及び図12は、第1の実施形態に係るネットワーク内のデータの流れを説明するための図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合に、図11は、検出用パケットがノードCに到達するまでを示している。さらに、図12は、ノードCからの応答パケットが検出装置に到達するまでを示している。
まず、図8において、判定部102は、コネクション管理部101に対し、検出装置1を通過するパケットへの遅延時間α(αは可変の値)の挿入を指示する(ステップS1)。
コネクション管理部101は、遅延挿入を開始したことを判定部102へ通知する(ステップS2)。以後、コネクション管理部101は、判定部102から処理停止指示を受ける(ステップS22)まで、ルータRA側から検出装置1へ入力したパケット及び内部ネットワーク側から検出装置1へ入力したパケットのうちのいずれか一方あるいは両者を遅延時間αだけ遅らせて、ルータRA側から検出装置1へ入力したパケットは内部ネットワーク側へ転送し、内部ネットワーク側から検出装置1へ入力したパケットはルータRA側へ転送する。
判定部102は、判定パケット送受信部103に対し、テスト対象のノード(例えば、ここでは、ノードC)のMACアドレスやIPアドレス(例えば、ノードCの内部ネットワークIPアドレス)とともに、当該テスト対象のノードへの検出用パケットの送信を指示する(ステップS3)。
判定パケット送受信部103は、この指示を受けて、テスト対象のノードに対して、検出用パケットを送信する(ステップS4)。検出用パケットには、要求に対して応答が帰ってくるもの(例えばICMPecho(ICMPエコー要求)やARP、ICMPv6ND(Neighbor Discovery))を用いる。
図13は、検出用パケット(フレーム)の一例を示したもので、ここでは、ICMPエコー要求を含む検出用パケットを示している。
判定パケット送受信部103は、テスト対象のノードへの検出用パケットを送信してから、その応答パケットを受信するまでの要する時間、すなわち、応答時間を計測するための計測手段を備えている。判定パケット送受信部103は、この応答時間を計測するために、テスト対象のノードへの検出用パケットへ送信すると、当該検出用パケットの送信時刻を記憶する(ステップS5)。
図9のステップS6において、検出用パケットがノードBで受信されると、ノードBでは、検出用パケットをカプセル化し、図14に示すような当該検出用パケットを含む暗号化されたL2VPNデータを含むVPNパケット(要求VPNパケット)を生成する。この要求VPNパケットは、ノードBからルータRA宛てに送信される。
上記要求VPNパケットが検出装置1を通過する際、コネクション管理部101は、当該パケットを遅延時間αだけ遅らせて、ルータRA側へ転送する(ステップS8)。
コネクション管理部101を通過した当該要求VPNパケットは、図9に示すように、ルータRAで受信される(ステップS10)。
ルータRAは、受信した当該要求VPNパケットから、MACヘッダ(図14では宛先及び送信元MACアドレスD2、S2)を取り除き、当該要求VPNパケットに含まれているIPパケットが外部ネットワークへ送信される(ステップS11)。なお、この場合、当該IPパケットの宛先IPアドレスは、ノードCのIPアドレス「202.249.10.100」であり、送信元IPアドレスはノードBのIPアドレスである。当該IPパケットは、ルータRBを介して(当該IPパケットにMACヘッダが付加されるなどして)ノードCに受信される。
ノードCは、検出装置1の「IF1」宛てのICMPエコー応答を含むL2VPNデータがカプセル化された、ルータRA宛ての応答VPNパケットを送信する。ルータRBは、当該応答VPNパケットのMACヘッダを取り除き、当該応答VPNパケットに含まれているノードB宛ての(宛先IPアドレスはノードBのIPアドレス)IPパケットを外部ネットワークへ送信する(ステップS12)。
ノードB宛ての当該IPパケットは、ルータRAで受信される。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付して、図15に示すような応答VPNパケットを内部ネットワークへ送信する(ステップS13)。そして、検出装置1に、図15に示したような応答VPNパケットが送られる。
検出装置1のコネクション管理部101は、ルータRAから送信されてきたパケットに対し、遅延時間αだけ遅らせて内部ネットワーク側へ転送する(ステップS8´)。
なお、図9では、内部ネットワークから外部ネットワークへと向かうパケットと、外部ネットワークから内部ネットワークへ向かうパケットとが、検出装置1を通過する場合には、ステップS8及びステップS8´において、遅延時間αの挿入を行っているが、いずれか一方のみに、遅延時間αを挿入するようにしてもよい。例えば、内部ネットワークから外部ネットワークへと向かうパケットに対しては、ステップS8において遅延時間αの挿入を行い、ルータRAから送信されてきたパケットに対しては、遅延時間αの挿入をおこなわず(ステップS8´をスキップして)、そのまま内部ネットワーク側へ転送するようにしてもよい。また、内部ネットワークから外部ネットワークへと向かうパケットに対しては、遅延時間αの挿入を行わず(ステップS8をスキップして)、そのまま外部ネットワークへ転送し、ルータRAから送信されてきたパケットに対しては、ステップS8´において遅延時間αの挿入を行い、内部ネットワークへ転送するようにしてもよい。
検出装置1を通過する、内部ネットワークから外部ネットワークへと向かうパケットと、外部ネットワークから内部ネットワークへ向かうパケットとの両方に、遅延時間αの挿入を行う場合、挿入した遅延時間は全部で2αであり、いずれか一方のみに遅延時間αの挿入を行う場合、挿入した遅延時間は全部でαである。後述する判定処理では、前者の場合には、挿入した遅延時間2αと、計測された応答時間βとの間の相関を調べることになる。
ここでは、説明の簡単のために、検出装置1を通過する、内部ネットワークから外部ネットワークへと向かうパケットと、外部ネットワークから内部ネットワークへ向かうパケットとのうちのいずれか一方のみに遅延時間αが挿入された場合(ステップS8及びステップS8´のいずれか一方において遅延時間αを挿入する場合)、すなわち、検出装置1により挿入された遅延時間が全部でαである場合を例にとり、以下説明を行う。
さて、図15に示したVPNパケットは、検出装置1を通過して、内部ネットワークへと転送され、ノードBに受信される(ステップS14)。
ノードBは、受信した図15に示したVPNパケットに含まれるL2VPNデータから、宛先が検出装置1のIF1のMACアドレスであり、送信元がノードCのMACアドレスである、上記検出用パケットに対する応答パケット(図16参照)を取り出し、この応答パケットを内部ネットワーク内へ送信する(ステップS15)。
この応答パケットは、図8のステップS16において、検出装置1のIF1を介して判定パケット送受信部103で受信される。判定パケット送受信部103は、この応答パケットのMACヘッダ(図16では、D3、S3)及びIPヘッダから、当該応答パケットが、テスト対象のノード(ここではノードC)からの応答パケットであるか否かを判定する。送信元が、ノードCのMACアドレス、ノードCの内部ネットワークIPアドレスである場合には、当該応答パケットは、テスト対象のノードCからの応答パケットであると判定され、ステップS17へ進む。
ステップS17において、判定パケット送受信部103は、テスト対象のノードCからの応答パケットの場合、当該応答パケットの受信時刻を記憶する。
次に、判定パケット送受信部103は、テスト対象のノードCへ検出用パケットを送信した時刻(送信時刻)と、この検出用パケットに対する上記応答パケットを受信した時刻(受信時刻)との差、すなわち応答時間βを判定部102へ通知する(ステップS18)。
判定部102は、判定パケット送受信部103から通知された応答時間βを、上記遅延時間αに対応付けて記憶する(ステップS19)。
上記ステップS1〜ステップS19までの処理を、予め指定された回数繰り返す(ステップS20)。
上記ステップS1〜ステップS19までの処理を、予め指定された回数繰り返した後、次に、ステップS21bに進み、遅延時間αの値を変化させて、上記ステップS1〜ステップS19までの処理を予め指定された回数繰り返す。値の異なる複数の(予め定められた数の)遅延時間αについて、その挿入を行い、βの値を測定する上記ステップS1〜ステップS19までの処理を行った後(ステップS21a)、判定部102は、ステップS22へ進む。
ステップS22において、判定部102は、コネクション管理部101に対し、検出装置1を通過するパケットへの遅延αの挿入の停止を指示するとともに、判定パケット送受信部103に対して、処理停止を指示する。
上記停止指示を受けて、コネクション管理部101は、図8に示した遅延挿入動作を停止する(ステップS23)。
上記停止指示を受けて、判定パケット送受信部103は、図8に示した処理を停止する(ステップS24)。
判定部101は、判定パケット送受信部103から通知された、複数の計測結果(遅延時間αと応答時間β)を基に、テスト対象のノードCが、内部ネットワークとVPNトンネル経由で接続されているか否かを判定する(ステップS25)。
例えば、図17に示すように、遅延時間αが「0.00」秒の場合に、指定回数計測されたβの平均値が「0.01」秒であり、遅延時間αが「0.20」秒の場合に、指定回数計測されたβの平均値が「0.21」秒であり、遅延時間αが「0.25」秒の場合に、指定回数計測されたβの平均値が「0.26」秒であるとする。
この場合、遅延時間αが増加した分、βの値も増加し、βの値は、遅延時間αの変化に影響を受けているから、αとβとの相関が高いといえる。これは、検出装置1が検出用パケットを送信していからその応答パケットを受信するまでの応答時間βには、遅延時間αが挿入されていることを意味するから、この遅延時間αの挿入されたパケットは、内部ネットワークから外部ネットワークへ転送されたパケット、あるいは外部ネットワークから内部ネットワークへ転送されてきたパケットであり、テスト対象のノードCは内部ネットワークとVPNトンネル経由で接続されていることが検出される。
ちなみに、テスト対象のノードCが、内部ネットワーク内に存在するのであれば、図10に示すように、ステップS4で、判定パケット送受信部103が送信した検出用パケットは、そのまま、テスト対象のノードで受信され、その応答パケットが検出装置1のIF1宛てに送信される。従って、この間に、遅延時間αが挿入されることはない。すなわち、検出用パケットは検出装置1及びルータRAを通過することはないから、検出装置1を通過するパケットに挿入する遅延時間αが変化しても、また、遅延時間を挿入しなくとも、検出用パケットを送信してから、テスト対象のノードからその応答パケットを受信するまでにかかる時間は変化することなく、ほぼ一定となる。あるいは、何らかの要因で一定とならず、逆相関を示す(たとえばα=0のときβ=0.1で、α=0.2のときβ=0.01となる場合もある)。すなわち、ノードCが内部ネットワーク内にあるのであれば、遅延時間αとβとの相関は低いといえる。
3.第2の検出方法:検出装置でパケットを破棄し検出を行う場合
この方法では、検出装置1が中継するパケット全てを破棄し、破棄した場合と破棄しない場合の、テスト対象のノードへの当該パケットの到達性を比較することで、テスト対象のノードが外部ネットワーク上のノードであり、VPNトンネル経由で内部ネットワークと接続しているか否かを検出する。
なお、ここでは、内部ネットワークから外部ネットワークへと向かうパケットと外部ネットワークから内部ネットワークへと向かうパケットとのうち、外部ネットワークから内部ネットワークへ向かうパケットがルータRAを介して検出装置1に入力したとき、検出装置1では、当該パケットを全て破棄する場合を例にとり説明する。
検出装置1(の判定部102)には、予めテスト対象のノード(ここでは、ノードC)のMACアドレス、IPアドレスが与えられる。
以下、図18を参照して、第2の検出方法について説明する。
まず、図18において、判定部102は、コネクション管理部101に対し、検出装置1を通過するパケットの破棄の開始を指示する(ステップS101)。
コネクション管理部101は、外部ネットワーク側から入力した内部ネットワーク上のノード宛てのパケット、及び内部ネットワーク側から入力した外部ネットワーク上のノード宛てのパケットうちのいずれか一方あるいは両方を破棄するパケット破棄モードと、パケットの破棄を行わない通常モードとを有し、上記パケット破棄の開始指示を受けて、コネクション管理部101は、上記パケット破棄モードに切り替える。そして、パケットの破棄を開始したことを判定部102へ通知する(ステップS102)。以後、コネクション管理部101は、ステップS111で判定部102から処理停止の指示を受けるまで、ルータRAを通過するパケットの破棄を行う。
判定部102は、判定パケット送受信部103に対し、テスト対象のノード(例えば、ここでは、ノードC)のMACアドレスやIPアドレス(例えば、ノードCの内部ネットワークIPアドレス)とともに、当該テスト対象のノードへの検出用パケットの送信を指示する(ステップS103)。
判定パケット送受信部103は、この指示を受けて、テスト対象のノードに対して、検出用パケットを送信する(ステップS104)。検出用パケットには、前述の第1の検出方法と同様、要求に対して応答が帰ってくるもの(例えばICMPecho(ICMPエコー要求)やARP、ICMPv6NDなど)を用いる。例えば、図13に示したような検出用パケットを送信する。
テスト対象のノードがVPNトンネルの先にある場合には、検出用パケットは、前述の第1の検出方法で説明したように、まず、ノードBで受信される。ノードBでは、検出用パケットをカプセル化し、図14に示したような、当該検出用パケットを含む暗号化されたL2VPNデータを含むVPNパケット(要求VPNパケット)を生成する。この要求VPNパケットは、ノードBからルータRA宛てに送信される。
ここでは、この要求VPNパケットは、検出装置1を通過して、そのままルータRAへ入力する。
ルータRAは、図14に示した要求VPNパケットから、MACヘッダ(図14では、D2,S2)を取り除き、当該要求VPNパケットに含まれているIPパケットが外部ネットワークへ送信される。なお、この場合、当該IPパケットの宛先IPアドレスは、ノードCのIPアドレス(202.249.10.100)であり、送信元IPアドレスはノードBのIPアドレスである。当該IPパケットは、ルータRBを介して(当該IPパケットにMACヘッダが付加されるなどして)ノードCに受信される。
ノードCは、受信したパケットに含まれるICMPエコー要求に対するICMPエコー応答を含む検出装置2の「IF1」宛ての図16に示すような応答パケットを含むL2VPNデータがカプセル化された応答VPNパケットを送信する。ルータRBは、当該応答VPNパケットのMACヘッダを取り除き、当該応答VPNパケットに含まれているノードB宛ての(宛先IPアドレスはノードBのIPアドレス)IPパケットを外部ネットワークへ送信する。
ノードB宛ての当該IPパケットは、ルータRAで受信される。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付した、図15に示すような応答VPNパケットを検出装置1へ送信する。
検出装置1のコネクション管理部101では、ルータRA側から入力された上記応答VPNパケットを破棄する(ステップS105)。従って、当該応答VPNパケットは、ノードBには届かないから、判定パケット送受信部103は、ノードC宛ての検出用パケットを送信した後、予め定められた一定時間の間に(ステップS106)、当該ノードCからの図16に示したような応答パケットを受信することはない(ステップS107)。
なお、判定パケット送受信部103は、応答パケットを送信してから上記一定時間の計測をするための計測手段を備えている。
一方、ノードCが、内部ネットワーク上のノードである場合には、たとえ検出装置1のコネクション管理部101においてパケットの破棄を行ったとしても、判定パケット送受信部103から送信された検出用パケットは、検出装置1を通過することがないから、ノードCへ届く。そして、当該検出用パケットを受信したノードCは、図16に示したような応答パケットを送信する。その結果、判定パケット送受信部103は、ノードC宛ての検出用パケットを送信した後、予め定められた一定時間の間に(ステップS106)、当該ノードCからの図16に示したような上記応答パケットを受信する(ステップS107)。
判定パケット送受信部103は、上記一定時間経過後、あるいは上記一定時間の間にノードCからの上記応答パケットを受信したとき、ステップS108へ進む。
ステップS108では、ノードCからの応答パケットを受信したか否かを判定部102へ通知する。
この通知を受けて、判定部102は、通知された応答パケットの受信の有無を記憶する(ステップS109)。
上記ステップS101〜ステップS109までの処理により、コネクション管理部101でパケットの破棄を行う場合に、検出用パケットを送信してから一定時間内にノードCからの応答パケットを受信するか否かを調べた後、次に、ステップS110からステップS111へ進み、コネクション管理部101でパケットの破棄を行わない場合に、ノードCから応答パケットを受信するか否かを調べる。そのために、まず、ステップS111では、コネクション管理部101へパケット破棄の停止を指示する。この指示を受けて、コネクション管理部101がパケットの破棄を停止し、通常モードに切り替える。その後、判定部101は、ステップS103へ戻り、再び判定パケット送受信部103に対し、テスト対象のノードC宛ての検出用パケットの送信を指示する。
判定パケット送受信部103は、この指示を受けて、テスト対象のノードに対して、検出用パケットを送信する(ステップS104)。この場合、ノードBからルータRA宛てに送信される要求VPNパケットは、ルータRAを通過し、さらにルータRBを介してノードCへ届く。ノードCからの図16に示す応答パケットを含む図15に示すような応答VPNパケット、すなわち、宛先IPアドレスがノードBのIPアドレスであり、送信元IPアドレスがノードCのIPアドレス(202.249.10.100)のIPアドレスであるパケットは、ルータRAを通過して検出装置1に入力されても、コネクション管理部101により破棄されることなく、内部ネットワークへ転送される。
従って、図16に示したような上記応答パケットが、ノードBを介して、検出装置2へ送信される。その結果、応答パケット送受信部103は、ノードC宛ての検出用パケットを送信した後、予め定められた一定時間の間に(ステップS106)、当該ノードCからの図16に示したような上記応答パケットを受信する(ステップS107)。
判定パケット送受信部103は、上記一定時間経過後、あるいは上記一定時間の間にノードCからの上記応答パケットを受信したとき、ステップS108へ進む。
ステップS108では、ノードCからの応答パケットを受信したか否かを判定部102へ通知する。
この通知を受けて、判定部102は、通知された応答パケットの受信の有無を記憶し(ステップS109)、今度は、ステップS113へ進み、判定パケット送受信部103に対して、処理停止を指示する。
上記停止指示を受けて、判定パケット送受信部103は、図18に示した処理を停止する(ステップS114)。
判定部101は、判定パケット送受信部103から通知された、パケット破棄を行っている場合と、行っていない場合とにおける応答パケットの受信の有無を基に、テスト対象のノードCが、内部ネットワークとVPNトンネル経由で接続されているか否かを判定する(ステップS115)。
ステップS115では、コネクション管理部101でパケットの破棄を行っていない場合に、ノードCからの応答パケットを受信するが、パケットの破棄を行っている場合に、ノードCからの応答パケットを受信しないとき、テスト対象のノードCは内部ネットワークとVPNトンネル経由で接続されていることが検出される。また、コネクション管理部101でパケットの破棄を行っていない場合、及びパケットの破棄を行っている場合にも、ノードCからの応答パケットを受信するとき、テスト対象のノードCは内部ネットワーク内に存在し、VPNトンネル経由で接続されているノードではないことが検出される。
なお、上記説明では、内部ネットワークから外部ネットワークへと向かうパケットと外部ネットワークから内部ネットワークへと向かうパケットとのうち、外部ネットワークから内部ネットワークへ向かうパケットがルータRAを介して検出装置1に入力したとき、検出装置1では、当該パケットを全て破棄する場合を例にとり説明したが、この場合に限るものではない。例えば、内部ネットワークから外部ネットワークへと向かうパケットと外部ネットワークから内部ネットワークへと向かうパケットとのうち、内部ネットワークから外部ネットワークへ向かうパケットが検出装置1を通過するとき、検出装置1では、当該パケットを破棄するようにしてもよいし、内部ネットワークから外部ネットワークへと向かうパケットと外部ネットワークから内部ネットワークへと向かうパケットが検出装置1へ通過する場合には、それら全てを破棄するようにしてもよい。いずれの場合において、図18に示した手順に従って、上記同様の効果が得られる。
4.第3の検出方法:検出装置でコネクション毎に配送遅延を挿入して検出する場合
この方法では、検出装置1が中継するパケットのうち、パケットの種類毎に(例えば、テスト対象のパケットとして選択されたパケットに)遅延を挿入し、挿入した遅延とテスト対象のノードへ応答を要求するパケット(検出用パケット)を送信してから、その応答パケットが反ってくるまでに要する時間(応答時間)との相関をみることで、テスト対象のノードが外部ネットワーク上のノードであり、VPNトンネル経由で内部ネットワークと接続しているか否かを検出する。そして、これが検出できた場合、その際に遅延を挿入したパケットがテスト対象のノードとの間のVPNパケットであると判定できる。
ここで、MACアドレスやIPアドレス、IPv4、IPv6、TCP、UDP等の通信プロトコル、TCPやUDPのポート番号などの属性情報から識別されるパケットを「コネクション」と呼んでいる。たとえば、送信元IPアドレス「A」、宛先IPアドレス「B」、送信元TCPポート番号「C」、宛先TCPポート番号「D」という属性情報を持つパケットを1つのコネクションと呼ぶことにする。
まず、検出装置1が、VPN経由で接続されているノードと、VPN通信のパケットとを検出するための検出処理の前処理として行う、ルータRAを通過する各パケットを識別するための属性情報を得るためのコネクション監視処理動作について説明する。
(1)コネクション監視処理
以下、図19に示すシーケンス図を参照して、コネクション監視動作について説明する。ここでは、検出装置1には、予めテスト対象のノード(ここでは、ノードC)のMACアドレス、IPアドレスが与えられる。
まず、判定部102は、コネクション管理部101に対し、コネクション監視開始を指示する(ステップS201)。
コネクション管理部101は、コネクション監視開始の指示を受けて、コネクション監視を開始し、その旨を判定部102へ通知する(ステップS202)。
判定部102は、判定パケット送受信部103に対し、テスト対象のノード宛ての検出用パケットの送信を指示する(ステップS203)。
判定パケット送受信部103は、テスト対象のノードに対して、検出用パケットを送信する(ステップS204)。検出用パケットには、前述同様、要求に対して応答が帰ってくるもの(例えばICMPechoやARP、ICMPv6ND)を用いる。例えば、図13に示したような検出用パケットを送信する。
テスト対象のノードがVPNトンネルの先にある場合には、検出用パケットは、ノードBで受信される。ノードBでは、検出用パケットをカプセル化し、図14に示すような当該検出用パケットを含む暗号化されたL2VPNデータを含むVPNパケット(要求VPNパケット)を生成する。この要求VPNパケットは、ノードBからルータRA宛てに送信される(ステップS205)。
上記要求VPNパケットは、まず、検出装置1に届く。検出装置1に届いた、上記要求VPNパケットは、コネクション管理部101を通過する。このとき、コネクション管理部101は、当該要求VPNパケットから、当該パケットに関する情報(パケット属性情報)を取り出し、これに、当該VPNパケット及びそのパケット属性情報を識別するためのパケット識別情報を付与して、予め備えているテーブル(コネクション管理テーブル)に記憶する(ステップS206)。
パケット属性情報は、当該VPNパケットの宛先MACアドレス(図14ではD2)、送信元MACアドレス(図14ではS2)、IPヘッダに含まれる宛先IPアドレス(図14ではノードCのIPアドレス「202.249.10.100」(DIP2)、送信元IPアドレス(図14ではノードBのIPアドレスSIP2)、当該VPNパケットのリンク層ヘッダあるいはIPヘッダに含まれプロトコル番号、当該VPNパケットのTCPヘッダあるいはUDPヘッダに含まれる宛先ポート番号(図14ではDPort2)、送信元ポート番号(図14ではSPort2)などを含む。
例えば、図14に示したVPNパケットに対し、パケット識別情報として「ID3」が付与され、当該VPNパケットから得たパケット属性情報と、パケット識別情報「ID3」とを対応付けて、図20に示すように、コネクション管理テーブルに記憶される。
コネクション管理部101を通過した当該要求VPNパケットは、ルータRAで受信される。ここで、MACヘッダ(図14では宛先及び送信元MACアドレスD2、S2)を取り除き、当該VPNパケットに含まれているIPパケットが外部ネットワークへ送信される(ステップS207)。なお、この場合、当該IPパケットの宛先IPアドレスは、ノードCのIPアドレス「202.249.10.100」のIPアドレスであり、送信元IPアドレスはノードBのIPアドレスである。当該IPパケットは、ルータRBを介してノードCに受信される。
ノードCは、検出装置1宛てのICMPエコー応答を含むL2VPNデータがカプセル化された、ルータRA宛てのVPNパケットを送信する。ルータRBは、当該VPNパケットのMACヘッダを取り除き、当該VPNパケットに含まれているノードB宛てのIPパケットを外部ネットワークへ送信する(ステップS208)。
当該IPパケットは、ルータRAで受信される。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付して、図15に示すようなVPNパケットを内部ネットワークへ送信する(ステップS209)。そして、検出装置1に、図15に示したようなVPNパケットが送られる。
検出装置1に届いた、図15に示したようなVPNパケットは、コネクション管理部101を通過する。このとき、コネクション管理部101は、前述のステップS206と同様、当該VPNパケットから、当該パケットに関する情報(パケット属性情報)を取り出し、これを、当該VPNパケット及び当該パケット属性情報を識別するためのパケット識別情報を付与して、予め備えているテーブル(コネクション管理テーブル)に記憶する(ステップS210)。
例えば、図15に示したVPNパケットに対し、パケット識別情報として「ID4」が付与され、当該VPNパケットから得たパケット属性情報と、パケット識別情報「ID4」とを対応付けて、図20に示すように、コネクション管理テーブルに記憶される。
図15に示したVPNパケットは、コネクション管理部101を通過して、ノードBで受信される(ステップS211)。
ノードBは、受信した図15に示したVPNパケットに含まれるL2VPNデータから、宛先が検出装置1のIF1のMACアドレスであり、送信元がノードCのMACアドレスである、上記検出用パケットに対する応答パケット(図16参照)を取り出し、この応答パケットを内部ネットワーク内へ送信する(ステップS212)。この応答パケットは、検出装置1のIF1を介して判定パケット送受信部103で受信される。
以上のようにして、検出装置1は、ルータRAを通過する各パケットの属性情報を収集することができる。
上記動作は、あるノード宛ての1つの検出用パケットについての動作の流れを示したが、判定パケット送受信部103は、一定時間内に、複数のノード宛ての複数の検出用パケットを送信し、上記同様の動作を行う。
コネクション管理部101は、この一定時間内にルータRAを通過したパケットにつて、その属性情報及び識別情報をコネクション管理テーブルに記憶する。
判定部102は、上記一定時間を計測し、この一定時間が経過すると、判定用パケット送受信部103へ、検出用パケット送信の停止要求を出す(ステップS213)。さらに、コネクション管理部101へ、コネクション監視停止指示を出す(ステップS214)。
コネクション管理部101は、このコネクション監視停止指示を受けて、それまでにコネクション管理テーブルに記憶された情報を判定部102へ通知する(ステップS215)。
判定部102は、この通知を受けて、図20に示したようなコネクション管理テーブルを記憶する。
なお、この段階では、検出装置1は、ルータRAを通過する各パケットの属性情報を認識したのみで、例えば、パケット識別情報「ID3」のパケットが、VPN通信のパケットであることも、ノードCがVPN経由で接続されていることも検出されてはいない。
なお、図19では、テスト対象のノード(ここでは、ノードC)に対し、検出用パケットを送信するようになっているが、必ずしも、検出用パケットを送信する必要はない。すなわち、コネクション管理部101は、判定部102からコネクション監視開始指示を受けて、上記一定時間内に検出装置1を通過する各パケット(外部ネットワークから内部ネットワークへ向かうパケット、内部ネットワークから外部ネットワークへ向かうパケット)の上記パケット属性情報を取得するようにしてもよい。
(2)検出処理
次に、検出装置1において、図20に示したコネクション管理テーブルを用いて、VPN経由で接続されているノードと、VPN通信のパケットとを検出するための検出方法について説明する。
以下、図21に示すフローチャートと、図22に示すシーケンス図と、図11及び図12に示すネットワーク内のデータの流れを示す図を参照して検出方法について説明する。
なお、図21において、図8と同様のステップには同一符号を付し、図22において、図9と同様のステップには同一符号を付している。
まず、検出装置1には、予めテスト対象のノード(ここでは、ノードC)のMACアドレス、IPアドレスが与えられる。また、図20に示したコネクション管理テーブルに記憶されているパケット識別情報のうち、テスト対象とすべきパケットのパケット識別情報あるいはパケット属性情報が、ユーザにより指定される。例えば、ここでは、図20に示したコネクション管理テーブル上のパケット識別情報のうち、パケット属性情報に含まれるプロトコル番号が「6」であるもの、すなわち、パケット識別情報「ID1」〜「ID4」が指定されたとする。
次に、図21において、判定部102は、指定されたパケット識別情報「ID1」〜「ID4」のうちの1つのパケット識別情報を選択して、この選択されたパケット識別情報のパケットをテスト対象のパケットとする。そして、判定部102は、このテスト対象のパケットのパケット識別情報(あるいは、当該パケット識別情報と、当該パケット識別情報に対応付けられているパケット属性情報)と、当該テスト対象のパケットが検出装置1を通過するときに挿入する遅延時間α(αは可変の値)とを、コネクション管理部101に対し通知し、遅延挿入の開始を指示する(ステップS1)。
ここでは、例えば、パケット識別情報「ID4」のパケットが選択され、このパケット識別情報「ID4」のパケットをテスト対象のパケットとする場合を例にとり説明する。
なお、パケット識別情報「ID4」のパケットは、宛先IPアドレスが検出装置1のIF1のIPアドレスであり、送信元IPアドレスはノードCの内部ネットワークIPアドレスである。
また、検出装置1には、内部ネットワークから外部ネットワークへと向かうパケットと、外部ネットワークから内部ネットワークへ向かうパケットとが通過するが、ここでは、内部ネットワークから外部ネットワークへと向かうパケットに対しては、遅延時間αの挿入を行わず、そのまま外部ネットワークへ転送し、ルータRAから送信されてきたパケットに対しては、遅延時間αの挿入を行い、内部ネットワークへ転送する場合を例にとり説明する。この場合、要求パケットを送信してからその応答パケットを受信するまでの応答時間に(検出装置1で)挿入される遅延時間は全部でαであり、このαとβとの間の相関を調べることとなる。
しかし、この場合に限るものではなく、前述の第1の検出方法と同様、内部ネットワークから外部ネットワークへと向かうパケットに対しては、遅延時間αの挿入を行い、ルータRAから送信されてきたパケットに対しては、遅延時間αの挿入をおこなわず、そのまま内部ネットワーク側へ転送するようにしてもよい。この場合も、要求パケットを送信してからその応答パケットを受信するまでの応答時間に(検出装置1で)挿入される遅延時間は全部でαであり、このαとβとの間の相関を調べることとなる。さらに、内部ネットワークから外部ネットワークへと向かうパケットと、外部ネットワークから内部ネットワークへ向かうパケットとが、検出装置1を通過する場合には、その両者に対し、遅延時間αの挿入を行ってもよい。この場合には、要求パケットを送信してからその応答パケットを受信するまでの応答時間に(検出装置1で)挿入される遅延時間は全部で2αであり、この2αとβとの間の相関を調べることとなる。
コネクション管理部101は、遅延挿入を開始したことを判定部102へ通知する(ステップS2)。
判定部102は、判定パケット送受信部103に対し、テスト対象のノード(ここでは、ノードC)のMACアドレスやIPアドレス(例えば、ノードCの内部ネットワークIPアドレス)とともに、当該テスト対象のノードへの検出用パケットの送信を指示する(ステップS3)。
判定パケット送受信部103は、この指示を受けて、テスト対象のノードに対して、検出用パケットを送信する(ステップS4)。検出用パケットには、要求に対して応答が帰ってくるもの(例えばICMPecho(ICMPエコー要求)やARP、ICMPv6ND)を用いる。
図23は、検出用パケット(フレーム)の一例を示したもので、ここでは、ノードCの内部ネットワークIPアドレスに対するMACアドレスを問い合わせるためのARP要求を含む検出用パケットを示している。この検出用パケットの宛先アドレスD1は、内部ネットワーク内におけるブロードキャストMACアドレスであり、送信元アドレスS1は、検出装置1のIF1のMACアドレスである。
判定パケット送受信部103は、テスト対象のノードへの検出用パケットへ送信すると、当該検出用パケットの送信時刻を記憶する(ステップS5)。
テスト対象のノードがVPNトンネルの先にある場合には、検出用パケットは、図22に示すように、まず、ノードBで受信される。
図22のステップS6において、ノードBでは、検出用パケットをカプセル化し、図24に示すような当該検出用パケットを含む暗号化されたL2VPNデータを含むVPNパケット(要求VPNパケット)を生成する。この要求VPNパケットは、ノードBからルータRA宛てに送信される。
この要求VPNパケットは、まず、検出装置1を通過するが、この要求VPNパケットは内部ネットワークから入力したものであるから、遅延時間αを挿入することなく、図22に示すように、そのままルータRA側へ転送する(ステップS10)。
ルータRAは、受信した当該要求VPNパケットから、MACヘッダ(図24では宛先及び送信元MACアドレスD2、S2)を取り除き、当該要求VPNパケットに含まれているIPパケットが外部ネットワークへ送信される(ステップS11)。なお、この場合、当該IPパケットの宛先IPアドレスは、ノードCのIPアドレス「202.249.10.100」のIPアドレスであり、送信元IPアドレスはノードBのIPアドレスである。当該IPパケットは、ルータRBを介して(当該IPパケットにMACヘッダが付加されるなどして)ノードCに受信される。
ノードCは、受信したパケットに含まれるARP要求に対し、当該ノードCのMACアドレスを返すための検出装置1の「IF1」宛ての図25に示すような応答パケットを含むL2VPNデータがカプセル化された、ルータRA宛ての応答VPNパケットを送信する。ルータRBは、当該応答VPNパケットのMACヘッダを取り除き、当該応答VPNパケットに含まれているノードB宛ての(宛先IPアドレスはノードBのIPアドレス)IPパケットを外部ネットワークへ送信する(ステップS12)。
ノードB宛ての当該IPパケットは、ルータRAで受信される。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付して、図26に示すような応答VPNパケットを内部ネットワークへ送信する(ステップS13)。そして、検出装置1に、図26に示したような応答VPNパケットが送られる。
検出装置1のコネクション管理部101は、ルータRAから送信されてきたパケットのプロトコル番号、IPヘッダ内の宛先IPアドレス(図26の場合、DIP3)及び送信元IPアドレス(図26の場合、SIP3)などのパケット属性情報を調べ、これらが、ステップS1で判定部101から通知されたテスト対象のパケット属性情報と一致する場合には、当該パケットはテスト対象のパケットであると判定し(ステップS7)、当該パケットに対し、遅延時間αだけ遅らせて内部ネットワーク側へ転送する(ステップS8)。
コネクション管理部101は、ルータRAから送信されてきたパケットのプロトコル番号、あるいは、当該パケットのパケット属性情報が、ステップS1で判定部101から通知されたテスト対象のプロトコル番号やパケット属性情報とは異なる場合には、当該パケットはテスト対象のパケットではないと判定し(ステップS7)、ステップS9ヘ進み、当該パケットに、遅延時間αを挿入することなく、そのまま内部ネットワーク側へ転送する。
さて、図26に示したVPNパケットは、検出装置1を通過して、内部ネットワークへと転送され、ノードBに受信される(ステップS14)。
ノードBは、受信した図26に示したVPNパケットに含まれるL2VPNデータから、宛先が検出装置1のIF1のMACアドレスであり、送信元がノードCのMACアドレスである、上記検出用パケットに対する応答パケット(図25参照)を取り出し、この応答パケットを内部ネットワーク内へ送信する(ステップS15)。
この応答パケットは、図21のステップS16において、検出装置1のIF1を介して判定パケット送受信部103で受信される。判定パケット送受信部103は、この応答パケットのMACヘッダ(図25では、D3、S3)及びIPヘッダから、当該応答パケットが、テスト対象のノード(ここではノードC)からの応答パケットであるか否かを判定する。送信元がノードCのMACアドレス、ノードCの内部ネットワークIPアドレスである場合には、当該応答パケットは、テスト対象のノードCからの応答パケットであると判定され、ステップS17へ進む。
ステップS17において、判定パケット送受信部103は、テスト対象のノードCからの応答パケットの場合、当該応答パケットの受信時刻を記憶する。
次に、判定パケット送受信部103は、テスト対象のノードCへ検出用パケットを送信した時刻(送信時刻)と、この検出用パケットに対する上記応答パケットを受信した時刻(受信時刻)との差βを判定部102へ通知する(ステップS18)。
判定部102は、判定パケット送受信部103から通知された時間βを、上記遅延時間αに対応付けて記憶する(ステップS19)。
1つのテスト対象のパケット「ID4」に対し遅延時間α(これを1番目の遅延時間という意味でαと表す)を挿入した場合の上記ステップS1〜ステップS19までの処理を、予め指定された回数繰り返す(ステップS20)。
上記ステップS1〜ステップS19までの処理を、予め指定された回数繰り返した後、次に、ステップS21bに進み、同じテスト対象のパケット「ID4」に対し、今度は遅延時間αの値を変更して(これを2番目の遅延時間という意味でαと表す)、上記ステップS1〜ステップS19までの処理を予め指定された回数繰り返す。同じテスト対象のパケット「ID4」に対し、長さの異なる複数の(予め定められた数の)遅延時間α(α1、α2、…)の挿入を行い、応答時間βの値を測定する上記ステップS1〜ステップS19までの処理を行う。その後、判定部102は、ステップS21bにおいて、テスト対象のパケットを変えて、(例えば、指定されたプロトコル番号「6」のパケット識別情報のうち、未選択のパケット識別情報を選択して)、当該選択されたパケット識別情報のパケットを新たなテスト対象とし、複数の遅延時間α(α1、α2、…)のそれぞれについて、βの値を測定する上記ステップS1〜ステップS19までの処理を、予め指定された回数繰り返す。
指定された全てのパケット識別情報のパケットについて、上記処理を終了したら(ステップS21a)、今度は、ステップS22へ進む。
ステップS22において、判定部102は、コネクション管理部101に対し、検出装置1を通過するパケットへの遅延αの挿入の停止を指示するとともに、判定パケット送受信部103に対して、処理停止を指示する。
上記停止指示を受けて、コネクション管理部101は、図21に示した遅延挿入動作を停止する(ステップS23)。
上記停止指示を受けて、判定パケット送受信部103は、図21に示した処理を停止する(ステップS24)。
判定部101は、判定パケット送受信部103から通知された、複数の計測結果(遅延時間αと、計測された応答時間β)を基に、テスト対象のノードCが、内部ネットワークとVPNトンネル経由で接続されているか否かを判定する(ステップS25)。
テスト対象のノードがノードCであり、パケット識別情報「ID1」〜「ID4」がテスト対象のパケットであるとき、判定部102は、図27に示すように、各テスト対象のパケットに対し挿入する遅延時間αを「0」と「0.20」とし、そのそれぞれの場合について、検出用パケットを10回ずつ送信して、遅延時間αと、検出用パケットを送信してからその応答パケットを受信するまでに要する時間βとの間の相関を調べたとする。
その結果、図28に示すような結果が得られたとする。図28に示すように、判定部102では、テスト対象の各パケットについて、遅延時間αが「0」秒の場合と「0.20」秒の場合に、検出用パケットを10回ずつ送信したときに得られた応答時間βの値の平均値を計算する。
図28に示したように、パケット識別情報が「ID1」「ID2」の場合、検出装置1を通過した際に当該パケットに挿入する遅延時間αが変化しても、検出用パケットを送信してから、その応答パケットを受信するまでにかかる時間(応答時間)β(βの平均値)は変化することなく、ほぼ一定となる。すなわち、遅延時間αとβとの相関は低い。
これに対し、パケット識別情報が「ID3」「ID4」の場合、検出装置1を通過した際に当該パケットに挿入する遅延時間αが変化すると、その変化に応じてβの平均値も変化し、βの値は、遅延時間αの変化に影響を受けているから、αとβとの相関が高いといえる。
αとβの相関が高いということは、検出装置1が検出用パケットを送信してからその応答パケットを受信するまでに要する時間(応答時間)には、検出装置1を通過するときに挿入される遅延時間αが含まれていることであり、パケット識別情報が「ID3」「ID4」であるパケットは、検出装置1及びルータRAをして介して、内部ネットワークと外部ネットワークとの間で送受信されているパケット、すなわち、VPN通信のパケットである、ということである。そして、上記パケット識別情報が「ID3」「ID4」であるパケットへ挿入した遅延時間αと、テスト対象のノードCに対し検出用パケットを送信した場合に、その応答パケットを受信するまでに要する時間βとの相関が高いので、テスト対象のノードCは、内部ネットワークとVPNトンネル経由で接続されていると判定される。
すなわち、この場合、ノードCは内部ネットワークとVPNトンネル経由で接続されているノードであること、パケット識別情報が「ID3」「ID4」であるパケットはVPN通信のパケットであることが検出される。
なお、上記第3の検出方法では、コネクション監視処理を行った後に、予め絞り込んだパケット(例えば、ここでは、プロトコル番号「6」のパケット)をテスト対象とする検出処理を行ったが、上記コネクション監視処理を行わず、検出処理にて、コネクション管理部101を通過する全てのパケットあるいは一部のパケット(例えば、TCPのパケット、UDPのパケット、エントロピーの高いパケットなど)に遅延を挿入する検出処理を行ってもよい。この場合、VPN通信のパケットそのものを検出することは困難であるが、テスト対象のノードがVPN経由で接続されているか否かは、上記同様に検出可能である。
5.第4の検出方法:検出装置で、コネクション毎にパケットを破棄して検出する場合
この方法では、検出装置1が中継するパケットのうち、予め指定及び選択された種類のパケットを破棄した場合と破棄しなかった場合とで、テスト対象のノードへの当該パケットの到達性を比較することで、テスト対象のノードが外部ネットワーク上のノードであり、VPNトンネル経由で内部ネットワークと接続しているか否かを検出する。そして、これが検出できた場合、その際に破棄したパケットのなかにテスト対象との間のVPNパケットが含まれていると判定できる。
ここで、MACアドレスやIPアドレス、IPv4、IPv6、TCP、UDP等の通信プロトコル、TCPやUDPのポート番号などの属性情報から識別されるパケットを「コネクション」と呼んでいる。たとえば、送信元IPアドレス「A」、宛先IPアドレス「B」、送信元TCPポート番号「C」、宛先TCPポート番号「D」という属性情報を持つパケットを1つのコネクションと呼ぶことにする。
まず、検出装置1が、VPN経由で接続されているノードと、VPN通信のパケットとを検出するための検出処理の前処理として行う、ルータRAを通過する各パケットを識別するための属性情報を得るためのコネクション監視処理動作を、前述の第3の検出方法の場合と同様にして行う。
次に、コネクション監視処理で得られた、図20に示すようなコネクション管理テーブルを用いて、VPN経由で接続されているノードと、VPN通信のパケットとを検出するための検出方法について、図29に示すフローチャートを参照して説明する。
なお、図29において、図18と同様のステップには同一符号を付している。
まず、検出装置1には、予めテスト対象のノード(ここでは、ノードC)のMACアドレス、IPアドレスが与えられる。また、図20に示したコネクション管理テーブルに記憶されているパケットのうち、テスト対象とすべきパケットのパケット識別情報あるいはパケット属性情報が、ユーザにより指定される。例えば、ここでは、図20に示したコネクション管理テーブル上のパケット識別情報のうち、パケット属性情報に含まれるプロトコル番号が「6」であるもの、すなわち、パケット識別情報「ID1」〜「ID4」が指定されたとする。
次に、図29において、判定部102は、指定されたパケット識別情報「ID1」〜「ID4」のうちの1つのパケット識別情報を選択して、この選択されたパケット識別情報のパケットをテスト対象のパケットとする。そして、判定部102は、コネクション管理部101に対し、このテスト対象のパケットのパケット識別情報(あるいは、当該パケット識別情報と、当該パケット識別情報に対応付けられているパケット属性情報)と、当該テスト対象のパケットが検出装置1を通過するときに当該テスト対象のパケットの破棄を指示する(ステップS101)。
ここでは、例えば、パケット識別情報「ID4」のパケットが選択され、このパケット識別情報「ID4」のパケットをテスト対象のパケットとする場合を例にとり説明する。
なお、パケット識別情報「ID4」のパケットは、宛先IPアドレスがノードBのIF1のIPアドレスであり、送信元IPアドレスはノードCのIPアドレス「202.249.10.100」である。従って、このテスト対象のパケットは、外部ネットワークからルータRAを介して検出装置1を通過する。
コネクション管理部101は、判定部102から、パケット識別情報「ID4」のパケットの破棄の指示を受け、当該パケットが通過したら、これを破棄する準備ができたこと、すなわち、パケット破棄を開始したことを判定部102へ通知する(ステップS102)。
判定部102は、判定パケット送受信部103に対し、テスト対象のノード(例えば、ここでは、ノードC)のMACアドレスやIPアドレス(例えば、ノードCの内部ネットワークIPアドレス)とともに、当該テスト対象のノードへの検出用パケットの送信を指示する(ステップS103)。
判定パケット送受信部103は、この指示を受けて、テスト対象のノードに対して、検出用パケットを送信する(ステップS104)。検出用パケットには、前述の第1の検出方法と同様、要求に対して応答が帰ってくるもの(例えばICMPecho(ICMPエコー要求)やARP、ICMPv6ND)を用いる。例えば、図13に示したような検出用パケットを送信する。
テスト対象のノードがVPNトンネルの先にある場合には、検出用パケットは、前述の第1の検出方法で説明したように、まず、ノードBで受信される。ノードBでは、検出用パケットをカプセル化し、図14に示したような、当該検出用パケットを含む暗号化されたL2VPNデータを含むVPNパケット(要求VPNパケット)を生成する。この要求VPNパケットは、ノードBからルータRA宛てに送信される。上記要求VPNパケットが検出装置1を通過する。
コネクション管理部101は、内部ネットワーク側から入力したパケット及びルータRA側から入力したパケットのプロトコル番号、IPヘッダ内の宛先IPアドレス(図14の場合DIP2、図15の場合DIP3)及び送信元IPアドレス(図14の場合SIP2、図15の場合SIP3)などのパケット属性情報を調べ、当該属性情報が、ステップS101で判定部101から通知されたテスト対象のパケットの属性情報と一致する場合には、当該パケットをテスト対象のパケットであると判定し、当該パケットを破棄する(ステップS105)。テスト対象のパケット以外のパケットは、そのまま通過させる。
なお、ノードBから送信された図14に示した要求VPNパケットは、今回テスト対象のパケットの属性情報とは異なるため、当該要求VPNパケットは、ルータRAにおいて、MACヘッダ(図14では、D2,S2)が取り除かれ、当該要求VPNパケットに含まれているIPパケットが外部ネットワークへ送信される。なお、この場合、当該IPパケットの宛先IPアドレスは、ノードCのIPアドレス「202.249.10.100」であり、送信元IPアドレスはノードBのIPアドレスである。当該IPパケットは、ルータRBを介して(当該IPパケットにMACヘッダが付加されるなどして)ノードCに受信される。
ノードCは、受信したパケットに含まれるICMPエコー要求に対するICMPエコー応答を含む検出装置2の「IF1」宛ての図16に示すような応答パケットを含むL2VPNデータがカプセル化された応答VPNパケットを送信する。ルータRBは、当該応答VPNパケットのMACヘッダを取り除き、当該応答VPNパケットに含まれているノードB宛ての(宛先IPアドレスはノードBのIPアドレス)IPパケットを外部ネットワークへ送信する。
ノードB宛ての当該IPパケットは、ルータRAで受信される。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付した、図15に示すような応答VPNパケットをコネクション管理部101へ出力する。
図15に示した応答VPNパケットは、今回テスト対象のパケット識別情報「ID4」のパケットである。
従って、図15に示した(パケット識別情報「ID4」の)パケットがルータRAを介して、検出装置1へ入力した場合には、当該パケットのもつ上記属性情報は、今回テスト対象のパケットの属性情報と一致するため、コネクション管理部101は、当該テスト対象のパケットを破棄する(ステップS105)。そのため、テスト対象のノードCからノードBへの図15に示すような応答VPNパケットは、ノードBには届かない。その結果、判定パケット送受信部103は、ノードC宛ての検出用パケットを送信した後、予め定められた一定時間の間に(ステップS106)、当該ノードCからの図16に示したような上記応答パケットを受信することはない(ステップS107)。
一方、上記テスト対象のパケット以外のパケットは、破棄されずに検出装置1を通過する。従って、テスト対象のパケットが、テスト対象のノードCが受信すべき検出用パケットを含む要求VPNパケットあるいは、ノードCから上記応答パケットを含む応答VPNパケットでない場合には、コネクション管理部101において破棄されることはないので、判定パケット送受信部103は、ノードC宛ての検出用パケットを送信した後、予め定められた一定時間の間に(ステップS106)、当該ノードCからの図16に示したような上記応答パケットを受信する(ステップS107)。
さらに、テスト対象のノードCが内部ネットワーク上のノードである場合には、たとえ検出装置1のコネクション管理部101において、検出装置1を通過するパケットを破棄したとしても、判定パケット送受信部103から送信された検出用パケットは、検出装置1を通過することはないので、ノードCへ届く。そして、当該検出用パケットを受信したノードCは、図16に示したような応答パケットを送信する。その結果、判定パケット送受信部103は、ノードC宛ての検出用パケットを送信した後、予め定められた一定時間の間に(ステップS106)、当該ノードCからの図16に示したような上記応答パケットを受信する(ステップS107)。
判定パケット送受信部103は、上記一定時間経過後、あるいは上記一定時間の間にノードCからの上記応答パケットを受信したとき、ステップS108へ進む。
ステップS108では、ノードCからの応答パケットを受信したか否かを判定部102へ通知する。
この通知を受けて、判定部102は、通知された応答パケットの受信の有無を記憶する(ステップS109)。
上記ステップS101〜ステップS109までの処理により、コネクション管理部101で、パケット識別情報「ID4」に対応付けられている属性情報をもつテスト対象のパケットの破棄を行う場合に、検出用パケットを送信してから一定時間内にノードCからの応答パケットを受信するか否かを調べた後、次に、ステップS110からステップS111へ進み、コネクション管理部101で、当該テスト対象のパケットの破棄を行わない場合に、ノードCから応答パケットを受信するか否かを調べる。そのために、まず、ステップS111では、コネクション管理部101へパケット破棄の停止を指示する。この指示を受けて、コネクション管理部101がパケットの破棄を停止する。その後、判定部101は、ステップS103へ戻り、再び判定パケット送受信部103に対し、テスト対象のノードC宛ての検出用パケットの送信を指示する。
判定パケット送受信部103は、この指示を受けて、テスト対象のノードCに対して、検出用パケットを送信する(ステップS104)。この場合、ノードBからルータRA宛てに送信される要求VPNパケットは、検出装置1を通過し、ルータRBを介してノードCへ届く、ノードCからの図16に示す応答パケットを含む図15に示すような応答VPNパケット、すなわち、宛先IPアドレスがノードBのIPアドレスであり、送信元IPアドレスがノードCのIPアドレス「202.249.10.100」である、テスト対象の「ID4」のVPNパケットは、コネクション管理部101により破棄されることなく、検出装置1を通過する。従って、図16に示したような上記応答パケットが、ノードBを介して送信される。その結果、応答パケット送受信部103は、ノードC宛ての検出用パケットを送信した後、予め定められた一定時間の間に(ステップS106)、当該ノードCからの図16に示したような上記応答パケットを受信する(ステップS107)。
判定パケット送受信部103は、上記一定時間経過後、あるいは上記一定時間の間にノードCからの上記応答パケットを受信したとき、ステップS108へ進む。
ステップS108では、ノードCからの応答パケットを受信したか否かを判定部102へ通知する。
この通知を受けて、判定部102は、通知された応答パケットの受信の有無を記憶し(ステップS109)、今度は、ステップS116aを介してステップS116bへ進み、テスト対象のパケットを、指定されたパケット群のうち未選択のパケットに変更し、ステップS101へ進み、当該新たなテスト対象のパケットの破棄開始をコネクション管理部101へ指示する。以降のステップS102〜ステップS110では、テスト対象のノードCに対し検出用パケットを送信し、この新たなテスト対象のパケットを破棄した場合と破棄しない場合とで応答パケットの受信の有無を調べることとなる。
以上の処理を、指定された全てのパケット識別情報のパケットについて、上記処理を終了したら(ステップS116a)、今度は、ステップS113へ進み、判定パケット送受信部103に対して、処理停止を指示する。
上記停止指示を受けて、判定パケット送受信部103は、図29に示した処理を停止する(ステップS114)。
判定部101は、判定パケット送受信部103から通知された、各テスト対象のパケットについて、パケット破棄を行っている場合と、行っていない場合とにおける応答パケットの受信の有無を基に、テスト対象のノードCが、内部ネットワークとVPNトンネル経由で接続されているか否かを判定する(ステップS115)。
ステップS115では、コネクション管理部101で、あるテスト対象のパケットの破棄を行っていない場合に、ノードCからの応答パケットを受信するが、当該テスト対象のパケットの破棄を行っている場合に、ノードCからの応答パケットを受信しないとき、当該テスト対象のノードCは内部ネットワークとVPNトンネル経由で接続されていることが検出される。また、当該テスト対象のパケットは、ノードCとの間のVPN通信のパケットであることが検出される。
また、コネクション管理部101で、指定されたパケット群のうちのどのテスト対象のパケットを破棄しても、ノードCからの応答パケットを受信するとき、今回指定されたパケット群、すなわち、ここではプロトコル番号が「6」のパケット群には、ノードCとの間のVPN通信のパケットが含まれていないか、あるいはテスト対象のノードCは、外部ネットワークからVPN通信により内部ネットワークに接続するノードではない可能性がある。そこで、別のパケット群について(例えば、プロトコル番号が「17」のパケット群など)、図29に示したような、テスト対象のノードCに検出用パケットを送信したときの、その応答パケットの受信の有無を調べる。
このような処理の繰り返しにより、テスト対象のノードCが、内部ネットワークとVPNトンネル経由で接続されている場合には、いずれかのパケット群のなかから、ノードCとの間のVPN通信のパケットが検出される。
なお、図29において、テスト対象のパケットを破棄する場合と破棄した場合のそれぞれについて、検出用パケットを所定回数ずつ送信して、そのそれぞれについて応答パケットの受信の有無を調べる方が望ましい。
例えば、テスト対象のノードがノードCであり、パケット識別情報「ID1」〜「ID4」がテスト対象のパケットであるとき、判定部102は、図30に示すように、各テスト対象のパケットに対し、全てパケットの破棄を行わない場合と、当該テスト対象のパケットの破棄を行う場合とのそれぞれについて、検出用パケットを10回ずつ送信して、テスト対象のパケットを破棄しない場合と破棄した場合とでの応答パケットの受信の有無を調べたとする。
その結果、図31に示すような結果が得られたとする。図31に示すように、判定部102では、テスト対象の各パケットについて、パケットを破棄しない場合と破棄した場合に、検出用パケットを10回ずつ送信したとき、そのうち、何回応答パケットを受信したかを示す応答パケット受信率を計算する。
図31に示したように、パケット識別情報が「ID1」「ID2」の場合、検出装置1を通過した際に、当該パケットを破棄しても、応答パケット受信率は、破棄しない場合と同じ100%、すなわち、破棄しても、検出用パケットに対する応答パケットは必ず受信することができ、パケットの破棄と応答パケット受信率との相関が低い。
これに対し、パケット識別情報が「ID3」「ID4」の場合、検出装置1を通過した際に当該パケットを破棄せずに通過させた場合には、必ず応答パケットを受信できていたが(応答パケット受信率は100%)、当該パケットを破棄した場合には、応答パケット受信率は「0」であった。すなわち、パケットの破棄と応答パケットの受信率との相関が高いことから、パケット識別情報が「ID3」「ID4」であるパケットは、検出装置1及びルータRAをして介して、内部ネットワークと外部ネットワークとの間で送受信されているパケット、すなわち、VPN通信のパケットである、ということが検出され、テスト対象のノードCは、内部ネットワークとVPNトンネル経由で接続されていると判定される。
なお、上記第4の検出方法では、コネクション監視処理を行った後に、予め絞り込んだパケット(例えば、ここでは、プロトコル番号「6」のパケット)をテスト対象とする検出処理を行ったが、上記コネクション監視処理を行わず、検出処理にて、コネクション管理部101を通過する全てのパケットあるいは一部のパケット(例えば、TCPのパケット、UDPのパケット、エントロピーの高いパケットなど)を破棄する検出処理を行ってもよい。この場合、VPN通信のパケットそのものを検出することは困難であるが、テスト対象のノードがVPN経由で接続されているか否かは、上記同様に検出可能である。
さらに、上記第3及び第4の検出方法では、L2VPNのVPNパケットを検出する場合を例にとり説明を行ったが、この場合に限らず、上記同様にして、すなわち、挿入する遅延時間αと、計測された応答時間βとの相関を調べることで、L3VPN(IPsecなど)、IPIPトンネル(Mobile IP/IPV6、6to4トンネルなど)のVPN通信のパケットを検出する場合にも適用可能である。
また、上記第3及び第4の検出方法では、各パケットを識別するための属性情報として、IPヘッダ中の宛先IPアドレス、送信元IPアドレス、プロトコル番号などを用いたが、この場合に限らず、例えば、IPプロトコルがIPv6の場合には、IPヘッダ中のフローIDやトラフィッククラスなどを用いてもよい。
さらに、TCPヘッダ中の送信元ポート番号や宛先ポート番号、UDPヘッダ中の送信元ポート番号や宛先ポート番号、IPプロトコルがIPsecの場合AH(Authentication Header)中のSPI(Security Parameter Index)、ESP(Encapsulated Security Payload)ヘッダ中のSPI(Security Parameter Index)、その他、パケットペイロードの乱雑さ(エントロピー値)なども、各パケットを識別するための属性情報として用いることができる。
なお、パケットペイロードの乱雑さ(エントロピー値)は、この値が高いほどデータの乱雑性が高いことを意味し、暗号化されている可能性が高いことを示すものである。
また、上記第3及び第4の検出方法のコネクション監視処理では、ICMPエコー要求を検出用パケットに用いていたが、この場合に限らない。例えば、VPN経由であるか否かのテスト対象のノード(例えばここではノードCなど)へ届くパケット(フレーム)であれば、応答が返ってくることのないパケット(フレーム)であってもよい。
また、上記第3の検出方法の検出処理では、ARP要求を検出用パケットに用い、上記第4の検出方法の検出処理では、ICMPエコー要求を検出用パケットに用いていたが、この場合に限らない。例えば、VPN経由であるか否かのテスト対象のノード(例えばここではノードCなど)へ届くパケット(フレーム)であり、しかも、応答が返ってくることが期待できるパケット(フレーム)であってもよい。例えば、IPv4の場合にはARP要求フレーム、RARP要求フレーム、ICMP/ICMPV6エコー要求、ICMPv6NDなどを、検出用パケットして用いてもよい。
また、コネクション管理部101でのコネクション監視は、監視開始指示を待たず常に行っていてもよい。これは、テスト対象とするパケットの種類を選択するために行っているが、全てのパケットの種類を検査対象とする場合は、コネクション監視を行わずに実施可能である。
また、検出用パケットを送信せずに、コネクション監視処理を行ってもよいが、この場合、コネクション監視を行っている間にVPN通信が発生しない可能性もあるので、図19に示したように、検出用パケットを送信した状態でコネクション監視することで、VPN通信の検出精度が向上する。
6.第3及び第4の検出方法の適用例
次に、以上説明した第3及び第4の検出方法の適用例について説明する。
図7において、ノードAは、動画配信サーバであるとする。ノードAは、動画の著作権保護のために内部ネットワークのVPN経由で接続しているノードからの接続を拒否したいが、当該ノードがVPN経由で接続しているか否かを容易に知ることはできない。そこで、例えば、ノードCがノードAに接続しようとしている場合に、ノードCが外部ネットワークからVPN経由で接続しているかどうかを検出装置1に調べてもらうことで、(例えば、ノードAが検出装置1に対し、テスト対象のノードCのMACアドレスやIPアドレスを含む検出処理要求を送信し、この検出処理要求を受けて、検出装置1が、上述のようなコネクション監視処理、検出処理を行うことにより、ノードCがVPN経由で接続していること、また、このVPN通信のパケット(の属性情報)が検出される。
検出装置1から、このような検出結果の通知を受けて、ノードDは、VPN経由のノードCからアクセスを拒否するなどの制御が行える。
個人情報や防衛関連情報等の機密情報の漏洩防止のため、内部ネットワークに無断で、外部ネットワーク上のノードがVPN通信を行っている場合には、そのようなVPN通信を遮断したい。しかし、どのパケットがVPN通信であるのかがわからないとき、検出装置1が、上述のようなコネクション監視処理、検出処理を行うことにより、ノードCがVPN経由で接続していること、また、このVPN通信のパケット(の属性情報)が検出される。
その後、検出装置1は、内部ネットワークから入力してきたパケットの上記属性情報を調べ、当該属性情報が、検出されたVPN通信のパケットのものである場合には、当該パケットが内部ネットワークから出ないように破棄する。また、検出装置1は、ルータRA側から入力してきたパケットの上記属性情報を調べ、当該属性情報が、検出されたVPN通信のパケットのものである場合には、当該パケットが内部ネットワークに入らないように破棄する。
以上説明したように、上記第1の実施形態の第1〜第4の検出方法によれば、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができる。
また、上記第1の実施形態の第3及び第4の検出方法によれば、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができ、しかも、内部ネットワーク上のノードと外部ネットワーク上のノードとの間で送受信される通信パケットのうち、当該VPN通信に用いられているパケットを容易に検出できる。
(第2の実施形態)
上記第1の実施形態では、検出装置1が、コネクション管理部101と、判定部102と、判定パケット送受信部103を備えている場合を示した。
第2の実施形態では、上記検出装置1の機能を2分し、検出装置(ここでは、検出装置2)は判定部102と判定パケット送受信部103を含み、コネクション管理部101は、内部ネットワークと外部ネットワークとの間に接続されたルータRAなどの中継装置が備えている場合について説明する。
1.検出装置と中継装置の構成
図32は、第2の実施形態に係る検出装置2と中継装置RAの構成例を示したものである。なお、図32において、図6と同一部分には同一符号を付している。
検出装置2は、第1の実施形態と同様に、判定部102と判定パケット送受信部103を含み、さらに、ルータRAと前述のコネクション監視処理や検出処理のための通信を行うための通信部104を含む。ルータRAは、コネクション管理部101を含み、さらに、検出装置2と前述のコネクション監視処理や検出処理のための通信を行うための通信部105を含む。
図33は、図32の検出装置2を内部ネットワークに配置した場合のネットワーク構成例を示したものである。
内部ネットワークから外部ネットワークへ向かうパケット、外部ネットワークから内部ネットワーク向かうパケットは、必ずルータRAを通過する。従って、第2の実施形態では、ルータRAが、前述の第1の実施形態で説明したような遅延時間(α)の挿入やパケットの破棄を行うコネクション管理部101を備えているので、検出装置2は、内部ネットワークから外部ネットワークへ向かうパケット、外部ネットワークから内部ネットワーク向かうパケットが必ず通過するような位置に配置される必要はなく、図32に示すように、内部ネットワーク内の任意の位置に配置される。
なお、ここでは中継装置としてルータRAが、コネクション管理部101を備えている場合を示したが、この場合に限らない。コネクション管理部101を備える中継装置は、内部ネットワークと外部ネットワークとの間でパケットを中継し、しかも、遅延の挿入やパケットの破棄を行うことができる通信装置であれば何でもよい。例えば、そのような機能を持ったルータやファイアウォール、ハブのような通信装置でもよい。
図33では、内部ネットワークは、例えば、「133.196.16.0/24」のIPv4サブネットであり、ノードCに対応する通信装置は、L2VPN経由で、内部ネットワークに接続している。このL2VPNは、データの配信にTCPを使用している。
以下、第1の実施形態と異なる点について説明する。
第2の実施形態において、第1の実施形態と異なる点は、第2の実施形態では、判定部102とコネクション管理部101との間のやりとり(例えば、図8や図21においてステップS1及びステップS22指示やステップS2の通知、図18や図29においてステップS101及びステップS111の指示、図19においてステップS201及びステップS214の指示や、ステップS202及びステップS215の通知など)が、検出装置2の通信部104と、ルータRAの通信部105の間の通信を介して行われている。
また、内部ネットワーク内に存在するノードと、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードとの間でやりとりされるパケットが、内部ネットワークから外部ネットワークへと転送されるときと、外部ネットワークから内部ネットワークへ転送されるときとに、第1の実施形態では検出装置1及びルータRAの両方を通過するが、第2の実施形態では、ルータRAのみを通過する点が異なる。
図32に示した検出装置2及びルータRAで、前述の第1の実施形態で説明した第1乃至第4の検出方法を適用した場合、第2の実施形態では、判定部102とコネクション管理部101との間のやりとりが、検出装置2の通信部104と、ルータRAの通信部105の間の通信を介して行われる点と、内部ネットワーク内と外部ネットワークとの間で送受信されるパケットは、検出装置2を通過することなく直接ルータRAを通過する点が異なる以外は、第1の実施形態と同様である。
2.第1の検出方法
まず、テスト対象のノードが、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードCであるとき、外部ネットワークから内部ネットワークへ向かうパケットがコネクション管理部101を通過する際に、コネクション管理部101が当該パケットに遅延時間αを挿入する場合を例にとり、第2の実施形態における第1の検出方法について、図8、図34〜図36を参照して説明する。なお、図34〜図36のそれぞれにおいて、図11、図12、図9と同一部分には同一符号を付している。また、図34及び図35は、第2の実施形態に係るネットワーク内のデータの流れを説明するための図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合に、図34は、検出用パケットがノードCに到達するまでを示している。さらに、図35は、ノードCからの応答パケットが検出装置に到達するまでを示している。
この第1の検出方法では、第1の実施形態と同様、ルータRAが中継する、外部ネットワークから内部ネットワークへ向かうパケット全てに遅延を挿入し、挿入した遅延時間の長さと、テスト対象のノードへ応答を要求するパケット(検出用パケット)を送信してから、その応答パケットが反ってくるまでに要する時間(応答時間)との相関をみることで、テスト対象のノードが外部ネットワーク上のノードであり、VPNトンネル経由で内部ネットワークと接続しているか否かを検出する。
判定部102は、ルータRAのコネクション管理部101に対し、通信部104,105を介して、ルータRA(のコネクション管理部101)を通過するパケットへの遅延時間α(αは可変の値)の挿入を指示する(ステップS1)。
コネクション管理部101は、遅延挿入を開始したことを、通信部104、105を介して、判定部102へ通知する(ステップS2)。以後、コネクション管理部101は、判定部102から処理停止指示を受ける(ステップS22)まで、外部ネットワーク側から入力したパケットを受信した場合には、当該パケットを遅延時間αだけ遅らせて内部ネットワーク側へ転送する。
判定部102は、判定パケット送受信部103に対し、テスト対象のノード(例えば、ここでは、ノードC)のMACアドレスやIPアドレス(例えば、ノードCの内部ネットワークIPアドレス)とともに、当該テスト対象のノードへの検出用パケットの送信を指示する(ステップS3)。
図9と同様に、図34及び図36のステップS4において、判定パケット送受信部103は、テスト対象のノードC宛ての図13に示したような検出用パケットを送信し、図36のステップS5において、当該検出用パケットの送信時刻を記憶する。
図34及び図36のステップS6において、検出用パケットがノードBで受信されると、ノードBでは、検出用パケットをカプセル化し、図14に示すような当該検出用パケットを含む暗号化されたL2VPNデータを含むVPNパケット(要求VPNパケット)を生成する。この要求VPNパケットは、ノードBからノードC(IPアドレス「202.249.10.100」)宛てに送信される。
ルータRAで、上記要求VPNパケットを受信すると、ルータRAは、受信した当該要求VPNパケットから、MACヘッダ(図14では宛先及び送信元MACアドレスD2、S2)を取り除き、当該要求VPNパケットに含まれているIPパケットを、外部ネットワークへ出力する(図34及び図36のステップS11)。なお、この場合、当該IPパケットの宛先IPアドレスは、ノードCのIPアドレス「202.249.10.100」であり、送信元IPアドレスはノードBのIPアドレスである。当該IPパケットは、ルータRBを介して(当該IPパケットにMACヘッダが付加されるなどして)ノードCに受信される。
ノードCは、検出装置1の「IF1」宛てのICMPエコー応答を含むL2VPNデータがカプセル化された、ノードB宛て(宛先IPアドレス:ノードB、宛先MACアドレス:ルータRA)の応答VPNパケットを送信する。ルータRBは、当該応答VPNパケットのMACヘッダを取り除き、当該応答VPNパケットに含まれているノードB宛ての(宛先IPアドレスはノードBのIPアドレス)IPパケットを外部ネットワークへ送信する(図35及び図36のステップS12)。
ノードB宛ての当該IPパケットは、ルータRAで受信される。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付して、図15に示すような応答VPNパケットを、コネクション管理部101へ出力する。コネクション管理部101は、図15に示したようなパケットに対し、遅延時間αだけ遅らせて内部ネットワーク側へ転送する(ステップS8´)。
なお、図36では、外部ネットワークから内部ネットワークへ向かうパケットが、ルータRAを通過する場合には、ステップS8´で、遅延時間αの挿入を行っているが、この場合に限らず、ステップS8´で遅延時間αを挿入するとともに、あるいは、ステップS8´で遅延時間αを挿入する代わりに、図9に示すように、内部ネットワークから外部ネットワークへ向かうパケットが、ルータRAを通過する場合にも、当該パケットを外部ネットワークへ転送するときに、遅延時間αの挿入を行ってもよい。
ルータRAを通過する、内部ネットワークから外部ネットワークへと向かうパケットと、外部ネットワークから内部ネットワークへ向かうパケットとの両方に、遅延時間αの挿入を行う場合、検出用パケットを送信してから応答パケットを受信するまでの応答時間に挿入される遅延時間は全部で2αであり、いずれか一方のみに遅延時間αの挿入を行う場合、応答時間に挿入される遅延時間はαである。判定処理では、前述の第1の実施形態と同様に、前者の場合には、厳密には、挿入した遅延時間2αと、実際に計測された応答時間βとの間の相関を調べ、後者の場合には、挿入した遅延時間αと、実際に計測された応答時間βとの間の相関を調べることになる。
ルータRAから内部ネットワークへ、遅延時間αだけ遅らせて出力された、図15に示したVPNパケットは、ノードBに受信される(図35及び図36のステップS14)。
ノードBは、受信した図15に示したVPNパケットに含まれるL2VPNデータから、宛先が検出装置2のIF1のMACアドレスであり、送信元がノードCのMACアドレスである、上記検出用パケットに対する応答パケット(図16参照)を取り出し、この応答パケットを内部ネットワーク内へ送信する(図35及び図36のステップS15)。
この応答パケットは、検出装置2のIF1を介して判定パケット送受信部103で受信される。
図8のステップS16以降の処理は、第1の実施形態と同様である。
3.第2の検出方法
次に、テスト対象のノードが、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードCであるとき、ルータRAを通過するパケットをコネクション管理部101が破棄する場合を例にとり、第2の実施形態における第2の検出方法について説明する。
なお、この場合の検出装置2及びルータRAのコネクション管理部101の動作は、判定部102とコネクション管理部101との間のやりとり(例えば、図18のステップS101及びステップS111の指示)が、検出装置2の通信部104と、ルータRAの通信部105の間の通信を介して行われている点、内部ネットワーク内と外部ネットワークとの間で送受信されるパケットは、検出装置2を通過することなく直接ルータRAを通過する点が異なる以外は、第1の実施形態の第2の検出方法の説明(図18)とほぼ同様であり、その効果も前述の第1の実施形態と同様である。
また、テスト対象のノードが、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードCであるとき、検出用パケットとその応答パケットの配信経路は、図34及び図35と同様である。
4.第3の検出方法
次に、テスト対象のノードが、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードCである場合を例にとり、第1の実施形態で説明した第3の検出方法を第2の実施形態に適用する場合について説明する。
まず、コネクション監視処理について、図37に示すシーケンス図を参照して説明する。なお、図37において、図19と同一部分には同一符号を付し、異なる部分についてのみ説明する。
すなわち、図37では、内部ネットワーク内と外部ネットワークとの間で送受信されるパケットは、直接ルータRAを通過するため、ノードBから送信される、図14に示す要求VPNパケットは、まず、ルータRAで受信される(ステップS205)。
ルータRAは、上記要求VPNパケットを受信すると、まず、コネクション管理部101において、当該要求VPNパケットから、前述のパケット属性情報が取り出され、これが、パケット識別情報とともに、コネクション管理テーブルに記憶される(ステップS206)。
ルータRAは、パケット属性情報が記憶された当該要求VPNパケットのMACヘッダ(図14では宛先及び送信元MACアドレスD2、S2)を取り除き、当該VPNパケットに含まれているIPパケットを外部ネットワークへ送信する(ステップS207)。
また、ノードCからルータRBを介して送信される、検出装置1宛てのICMPエコー応答を含むL2VPNデータがカプセル化された、ノードB宛てのIPパケットは、まずルータRAで受信される(ステップS208)。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付して、図15に示すようなVPNパケットをコネクション管理部101へ出力する。そして、コネクション管理部101は、前述のステップS206と同様、図15に示したようなVPNパケットから、パケット属性情報を取り出し、これを、当該VPNパケット及び当該パケット属性情報を識別するためのパケット識別情報を付与して、コネクション管理テーブルに記憶する(ステップS210)。
以上の処理、及び、判定部102とコネクション管理部101との間のやりとりが、検出装置2の通信部104と、ルータRAの通信部105の間の通信を介して行われている点以外は、図19と同様であり、その効果も前述の第1の実施形態と同様である。
次に、検出装置2において、図20に示したコネクション管理テーブルを用いて、VPN経由で接続されているノードと、VPN通信のパケットとを検出するための検出方法について説明する。
以下、図21に示すフローチャートと、図38に示すシーケンス図を示す図を参照して検出方法について説明する。
なお、ルータRAには、内部ネットワークから外部ネットワークへと向かうパケットと、外部ネットワークから内部ネットワークへ向かうパケットとが通過するが、図38では、内部ネットワークから外部ネットワークへと向かうパケットに対しては、遅延時間αの挿入を行わず、そのまま外部ネットワークへ転送し、外部ネットワークから内部ネットワークへ向かうパケットに対しては、遅延時間αの挿入を行う場合を例にとり説明する。従って、ルータRAで挿入される遅延時間は全部でαであり、このαとβとの間の相関を調べることとなる。
また、図38において、図22と同一部分には同一符号を付し、第1の実施形態と異なる部分について説明する。
すなわち、図38では、内部ネットワークと外部ネットワークとの間で送受信されるパケットは、直接ルータRAを通過するため、ノードBから送信される、図24に示す要求VPNパケットは、まず、ルータRAで受信される(ステップS6)。
この要求VPNパケットは、ルータRAで受信されると、ルータRAは、当該要求VPNパケットから、MACヘッダ(図24では宛先及び送信元MACアドレスD2、S2)を取り除き、当該要求VPNパケットに含まれているIPパケットが、(遅延時間αが挿入されることなく)そのまま外部ネットワークへ送信される(ステップS11)。
なお、この場合、当該IPパケットの宛先IPアドレスは、ノードCのIPアドレス「202.249.10.100」であり、送信元IPアドレスはノードBのIPアドレスである。当該IPパケットは、ルータRBを介して(当該IPパケットにMACヘッダが付加されるなどして)ノードCに受信される。
ノードCは、受信したパケットに含まれるARP要求に対し、当該ノードCのMACアドレスを返すための検出装置1の「IF1」宛ての図25に示すような応答パケットを含むL2VPNデータがカプセル化された、ルータRA宛ての応答VPNパケットを送信する。ルータRBは、当該応答VPNパケットのMACヘッダを取り除き、当該応答VPNパケットに含まれているノードB宛ての(宛先IPアドレスはノードBのIPアドレス)IPパケットを外部ネットワークへ送信する(ステップS12)。
ノードB宛ての当該IPパケットは、まずルータRAで受信される。ルータRAは、当該IPパケットにノードBのMACアドレスを宛先、ルータRAのMACアドレスを送信元とするMACヘッダを付して、図26に示すような応答VPNパケットを、コネクション管理部101へ出力する。
コネクション管理部101は、当該応答VPNパケットのプロトコル番号、IPヘッダ内の宛先IPアドレス(図26の場合、DIP3)及び送信元IPアドレス(図26の場合、SIP3)などのパケット属性情報を調べ、これらが、ステップS1で判定部101から通知されたテスト対象のパケット属性情報と一致する場合には、当該パケットはテスト対象のパケットであると判定し(ステップS7)、当該パケットに対し、遅延時間αだけ遅らせて内部ネットワーク側へ転送する(ステップS8)。
以上の処理、及び、判定部102とコネクション管理部101との間のやりとりが、検出装置2の通信部104と、ルータRAの通信部105の間の通信を介して行われている点以外は、図22と同様であり、その効果も前述の第1の実施形態と同様である。
また、テスト対象のノードが、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードCであるとき、検出用パケットとその応答パケットの配信経路は、図34及び図35と同様である。
5.第4の検出方法
次に、テスト対象のノードが、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードCである場合を例にとり、第1の実施形態で説明した第4の検出方法を第2の実施形態に適用する場合について説明する。
コネクション管理処理は、図37と同様であり、このコネクション監視処理で得られた、図20に示すようなコネクション管理テーブルを用いて、VPN経由で接続されているノードと、VPN通信のパケットとを検出するための検出方法について、図29に示すフローチャートを参照して説明する。
なお、この場合の検出装置2及びルータRAのコネクション管理部101の動作は、判定部102とコネクション管理部101との間のやりとり(例えば、図29のステップS101及びステップS111の指示)が、検出装置2の通信部104と、ルータRAの通信部105の間の通信を介して行われている点、内部ネットワークと外部ネットワークとの間で送受信されるパケットは、検出装置2を通過することなく直接ルータRAを通過する点が異なる以外は、第1の実施形態の第4の検出方法の説明(図29)とほぼ同様であり、その効果も前述の第1の実施形態と同様である。
また、テスト対象のノードが、VPNトンネル経由で内部ネットワークと接続する外部ネットワーク上のノードCであるとき、検出用パケットとその応答パケットの配信経路は、図34及び図35と同様である。
以上説明したように、上記第2の実施形態の第1〜第4の検出方法によれば、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができる。
また、上記第2の実施形態の第3及び第4の検出方法によれば、内部ネットワーク上のノードとVPN通信を行っている外部ネットワーク上のノードを容易に検出することができ、しかも、内部ネットワーク上のノードと外部ネットワーク上のノードとの間で送受信される通信パケットのうち、当該VPN通信に用いられているパケットを容易に検出できる。
さらに、前述の第1の実施形態で説明した第1乃至第4の検出方法の適用例も、上記第2の実施形態にもそのまま適用可能である。
(外部ネットワークとの経路が複数ある場合の検出方法)
上記第1及び第2の実施形態において、内部ネットワークから外部ネットワークへの経路が複数ある場合は、以下のような方法で検出を行うことができる。
1.検出装置1を用いる場合
外部ネットワークへの全ての経路上に検出装置を設置することで検出が可能になる。そうしないと、VPN通信が検出装置1を設置していない経路で外部と接続する場合に検知できなくなってしまうため、全ての経路上に設置する必要がある。
さらに、それぞれの検出装置1が連携して動作する必要がある。例えば、第1の実施形態における第1の検出方法では、内部ネットワークに設置された全ての検出装置1が同時に遅延を挿入する必要がある。
また、第1の実施形態における第3の検出方法では、複数の検出装置1は、それぞれにおけるコネクション監視で得られた結果を、当該複数の検出装置1のうちの予め定められた少なくとも1つの検出装置1(以下、これをマスター検出装置と呼ぶ)に通知し、このマスター検出装置が他の検出装置に対し、遅延時間や、遅延を挿入するパケットなどを指示して遅延を挿入させることで、前述の検出装置1台の場合と同様に検出が可能になる。
2.検出装置2を用いる場合
外部ネットワークへの全ての経路上にある全ての中継装置が、コネクション管理部101を備え、内部ネットワーク上の検出装置2からの指示を受けて、前述の動作を行う必要がある。
例えば、中継装置を通過するパケット全てに遅延時間を挿入する第1の検出方法では、検出装置2から全ての中継装置に、(遅延時間の指示を含む)遅延挿入開始指示を行い、各中継装置が、前述の遅延時間の挿入動作を行うことで検出が可能になる。
また、中継装置を通過するパケットのうち、テスト対象のパケットに対して遅延時間を挿入する第3の検出方法では、検出装置2から全ての中継装置に対してコネクション監視開始を指示する。各中継装置は、コネクション管理結果、すなわち、図20に示すようなコネクション管理テーブル上の情報を検出装置2へ通知する。そして、検出装置2が、各中継装置に対して遅延挿入開始の指示を行うことで、中継装置が1台の場合と同様の検出が可能となる。
なお、検出装置2が複数台ある場合は、検出装置1の場合と同様に、各中継装置は、コネクション監視によって得た結果を、複数の検出装置2のうち予め定められた少なくとも1つの検出装置2(マスター検出装置)に通知し、当該通知を受けたマスター検出装置が、各中継装置から通知されたコネクション監視結果を基に、各中継装置に対し、遅延挿入開始の指示などを行う。
(テスト対象のパケットを選択する方法)
第1及び第2の実施形態における、第3及び第4の検出方法において、検出装置1あるいは中継装置内のコネクション管理部101を通過する全ての種類のパケットをテスト対象としても、VPN通信の検出(パケット及びノードの検出)は可能であるが、パケットの種類が多い(コネクション数が多い)と検出処理の処理量が多く、実施が難しい場合が考えられる。
これを解決するため、テスト対象のパケットを、以下のような条件で選択する方法が考えられる。
・既知のVPNプロトコル(例えばPPTP、L2TP、IPsec)であることが明確なパケット
・暗号化されていると思われるパケット
・未知のプロトコル(プロトコル番号が未知のもの、ヘッダが未知なもの)
暗号化されているかどうかは、パケット中のデータのエントロピーを調べることで、暗号化された通信かどうかを推定することができる。
どのような種類のパケットをテスト対象とするかは、検出装置の処理能力や、検出装置が設置されるネットワーク環境、検出装置に求められる検知精度など、検出装置が実施される環境によって適切に選択されれば、検出装置の負荷軽減につながると考えられる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
VPN通信を説明するための図。 VPN通信を説明するための図であり、内部ネットワークからみたパケットの流れを示した図。 VPN通信を説明するための図であり、実際のパケットの流れを示した図。 L3VPNを使用してノードCが内部ネットワークにアクセスしている様子を模式的に示した図で、ノードCは内部ネットワークとは違うアドレスブロックのアドレスが割り当てられている場合を示している。 L3VPNを使用してノードCが内部ネットワークにアクセスしている様子を模式的に示した図で、ノードCに内部ネットワークのアドレスブロックのアドレスが割り当てられている場合を示している。 第1の実施形態に係る検出装置の構成例を示した図。 第1の実施形態に係るネットワーク構成例を示した図。 中継装置を通過するパケットに遅延を挿入することでVPN通信を検出する第1の検出方法を適用した検出装置の処理動作を説明するためのフローチャート。 第1の検出方法に係るネットワーク内のデータの流れを説明するためのシーケンス図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合を示している。 第1の検出方法に係るネットワーク内のデータの流れを説明するためのシーケンス図で、テスト対象のノードが内部ネットワークのノードであるである場合を示している。 第1の実施形態に係るネットワーク内のデータの流れを説明するための図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合に、検出用パケットがノードCに到達するまでを示している。 第1の実施形態に係るネットワーク内のデータの流れを説明するための図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合に、ノードCからの応答パケットが検出装置に到達するまでを示している。 検出用パケットの一例を示した図。 ノードBから送信される検出用パケットを含む要求VPNパケットの一例を示した図。 応答パケットを含む、ノードB宛ての応答VPNパケットの一例を示した図。 応答パケットの一例を示した図。 判定部の判定処理を説明するための図で、中継装置を通過するパケットに挿入する遅延時間の長さを変えて計測された応答時間βの集計結果の一例を示す図。 中継装置を通過するパケットを破棄することでVPN通信を検出する第2の検出方法を適用した検出装置の処理動作を説明するためのフローチャート。 中継装置を通過するパケットのパケット属性情報を収集するためのコネクション監視処理を説明するためのシーケンス図。 コネクション監視処理の結果得られるパケット属性情報を記憶するコネクション管理テーブルの一例を示した図。 中継装置を通過するパケットのうち予め選択されたテスト対象のパケットに遅延を挿入することでVPN通信を検出する第3の検出方法を適用した中継装置の処理動作を説明するためのフローチャート。 第3の検出方法に係るネットワーク内のデータの流れを説明するためのシーケンス図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合を示している。 検出用パケットの他の例を示した図。 ノードBから送信される検出用パケットを含む要求VPNパケットの他の例を示した図。 応答パケットの他の例を示した図。 応答パケットを含む、ノードB宛ての応答VPNパケットの他の例を示した図。 第3の検出方法を用いてVPN通信を検出するために、各テスト対象のパケットに対して実行される処理の内容を示したもので、各テスト対象のパケットが通過する際に挿入する遅延時間と、当該遅延時間を挿入する場合の検出用パケットの送信回数を示している。 検出装置が、図27に示した処理を行うことにより得られたVPN通信の検出結果を示した図。 中継装置を通過するパケットのうち予め選択されたテスト対象のパケットを破棄することでVPN通信を検出する第4の検出方法を適用した中継装置の処理動作を説明するためのフローチャート。 第4の検出方法を用いてVPN通信を検出するために、各テスト対象のパケットに対して実行される処理の内容を示したもので、破棄すべきテスト対象のパケットと、当該テスト対象のパケットを破棄する場合の検出用パケットの送信回数を示している。 検出装置が、図30に示した処理を行うことにより得られたVPN通信の検出結果を示した図。 第2の実施形態に係る検出装置の構成例を示した図。 第2の実施形態に係るネットワーク構成例を示した図。 第2の実施形態に係るネットワーク内のデータの流れを説明するための図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合に、検出用パケットがノードCに到達するまでを示している。 第2の実施形態に係るネットワーク内のデータの流れを説明するための図で、テスト対象のノードが内部ネットワークのノードとVPN通信を行っているノードである場合に、ノードCからの応答パケットが検出装置に到達するまでを示している。 第2の実施形態に係る検出装置及び中継装置に第1の検出方法を適用した場合のネットワーク内のデータの流れを説明するためのシーケンス図で、テスト対象のノードが内部ネットワークのノードであるである場合を示している。 第2の実施形態に係る検出装置及び中継装置のコネクション監視処理を説明するためのシーケンス図。 第2の実施形態に係る検出装置及び中継装置に第3の検出方法を適用した場合のネットワーク内のデータの流れを説明するためのシーケンス図で、テスト対象のノードが内部ネットワークのノードであるである場合を示している。
符号の説明
1、2…検出装置、101…コネクション管理部、102…判定部、103…判定パケット送受信部

Claims (22)

  1. 内部ネットワークと外部ネットワークとが中継装置で接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するためのVPN通信検出方法であって、
    前記内部ネットワークに接続された検出装置が、テスト対象のノードに対し第1の応答要求パケットを送信する第1の送信ステップと、
    前記中継装置あるいは前記検出装置が、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうちの少なくとも一方を、第1の遅延時間だけ遅らせて、前記内部ネットワーク上のノード宛てのパケットの場合には前記内部ネットワーク側へ出力し、前記外部ネットワーク上のノード宛てのパケットの場合には前記外部ネットワーク側へ出力する第1の遅延挿入ステップと、
    前記検出装置が、前記第1の応答要求パケットに対する前記テスト対象のノードからの第1の応答パケットを受信する第1の受信ステップと、
    前記検出装置が、前記第1の送信ステップで前記第1の応答要求パケットを送信してから前記第1の受信ステップで前記第1の応答パケットを受信するまでに要した第1の応答時間を計測する第1の計測ステップと、
    前記内部ネットワークに接続された検出装置が、前記テスト対象のノードに対し第2の応答要求パケットを送信する第2の送信ステップと、
    前記中継装置あるいは前記検出装置が、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうちの少なくとも一方を、前記第1の遅延時間とは異なる長さの第2の遅延時間だけ遅らせて、前記内部ネットワーク上のノード宛てのパケットの場合には前記内部ネットワーク側へ出力し、前記外部ネットワーク上のノード宛てのパケットの場合には前記外部ネットワーク側へ出力する第2の遅延挿入ステップと、
    前記検出装置が、前記第2の応答要求パケットに対する前記テスト対象のノードからの第2の応答パケットを受信する第2の受信ステップと、
    前記検出装置が、前記第2の送信ステップで前記第2の応答要求パケットを送信してから前記第2の受信ステップで前記第2の応答パケットを受信するまでに要した第2の応答時間を計測する第2の計測ステップと、
    前記検出装置が、前記第1及び第2の応答時間が、前記第1及び第2の遅延時間の長さの違いに応じて変化しているとき、前記テスト対象のノードが前記内部ネットワーク上のノードとVPN通信を行っているノードであると判定する判定ステップと、
    を含むVPN通信検出方法。
  2. 前記判定ステップは、前記第1及び第2の応答時間が、前記第1及び第2の遅延時間の長さの違いに関わらずほぼ一定であるとき、前記テスト対象のノードが前記内部ネットワーク上のノードとVPN通信を行っているノードではないと判定することを特徴とする請求項1記載のVPN通信方法。
  3. 前記第1及び第2の遅延時間のうちのいずれか一方は、「0」秒であることを特徴とする請求項1記載のVPN通信方法。
  4. 前記テスト対象のノードが前記内部ネットワーク上のノードとVPN通信を行っているノードであると判定された場合、前記第1の応答時間は、前記第1の応答要求パケットが送信されてから、当該第1の応答要求パケットが前記内部ネットワーク上のノード及び前記中継装置を介して前記テスト対象のノードに到達し、さらに当該テスト対象のノードから送信された前記第1の応答パケットが前記中継装置及び前記内部ネットワーク上のノードを介して前記検出装置へ到達するまでに要する時間であり、当該第1の応答時間には前記第1の遅延時間が含まれていることを特徴とする請求項1記載のVPN通信検出方法。
  5. 内部ネットワークと外部ネットワークとが中継装置で接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するためのVPN通信検出方法であって、
    前記中継装置あるいは前記内部ネットワークに接続された検出装置は、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットうちのいずれか一方あるいは両方を破棄するパケット破棄手段を用いてパケットを破棄するパケット破棄モードと、パケットの破棄を行わない通常モードとを有し、
    前記中継装置あるいは前記内部ネットワークに接続された検出装置が、前記パケット破棄モードと前記通常モードのうち、前記パケット破棄モードに切り替えるステップと、
    前記検出装置が、テスト対象のノードに対し応答要求パケットを送信する送信ステップと、
    前記中継装置あるいは前記検出装置が前記パケット破棄モードのときに、前記応答要求パケットに対する前記テスト対象のノードからの応答パケットの受信の有無を検出する第1の検出ステップと、
    前記中継装置あるいは前記検出装置が、前記パケット破棄モードと前記通常モードのうち、前記通常モードに切り替えるステップと、
    前記中継装置あるいは前記検出装置が前記通常モードのときに、前記応答パケットの受信の有無を検出する第2の検出ステップと、
    (a)前記第1の検出ステップで前記応答パケットの受信は検出されず、前記第2の検出ステップで前記応答パケットの受信が検出されたとき、前記テスト対象のノードは、前記内部ネットワーク上のノードとVPN通信を行っているノードであると判定し、(b)前記第1及び第2の検出ステップで前記応答パケットの受信が検出されたとき、前記テスト対象のノードは、前記内部ネットワーク上のノードとVPN通信を行っているノードではないと判定する判定ステップと、
    を含むVPN通信検出方法。
  6. 前記第1及び第2の遅延挿入ステップは、
    前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうち、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号及び送信元ポート番号のうちの少なくとも1つを含む属性情報により特定されるテスト対象のパケットを、前記遅延時間だけ遅らせて前記内部ネットワーク側あるいは前記外部ネットワーク側へ出力することを特徴とする請求項1記載のVPN通信検出方法。
  7. 前記パケット破棄手段は、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうち、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号及び送信元ポート番号のうちの少なくとも1つを含む属性情報により特定されるテスト対象のパケットを破棄することを特徴とする請求項5記載のVPN通信検出方法。
  8. 前記判定ステップは、前記テスト対象のノードが前記内部ネットワーク上のノードとVPN通信を行っているノードであると判定した場合、当該テスト対象のパケットを前記テスト対象のノードとの間のVPN通信のパケットであると判定することを特徴とする請求項6または7記載のVPN通信検出方法。
  9. 前記中継装置あるいは前記検出装置は、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットの前記属性情報を収集する収集ステップと、
    収集された各パケットの属性情報を記憶手段に記憶するステップと、
    をさらに含み、
    前記記憶手段で記憶された各パケットの属性情報に基づき前記テスト対象のパケットが選択されることを特徴とする請求項6または7記載のVPN通信検出方法。
  10. 内部ネットワークと外部ネットワークとが接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するための前記内部ネットワークに接続されたVPN通信検出装置において、
    テスト対象のノードに対し応答要求パケットを送信する送信手段と、
    前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうちの少なくとも一方を、異なる長さの複数の遅延時間のうちの指示された遅延時間だけ遅らせて、前記内部ネットワーク上のノード宛てのパケットの場合には前記内部ネットワーク側へ出力し、前記外部ネットワーク上のノード宛てのパケットの場合には前記外部ネットワーク側へ出力する遅延挿入手段と、
    前記応答要求パケットに対する前記テスト対象のノードからの応答パケットを受信する受信手段と、
    前記送信手段で前記応答要求パケットを送信してから前記受信手段で前記応答パケットを受信するまでに要した応答時間を計測する計測手段と、
    前記遅延挿入手段で挿入する各遅延時間と、当該遅延挿入手段で当該遅延時間の挿入を行っているときに計測された前記応答時間との相関を基に、前記テスト対象のノードが前記内部ネットワーク上のノードとVPN通信を行っているノードであるか否かを判定する判定手段と、
    を具備したことを特徴としたVPN通信検出装置。
  11. 前記判定手段は、前記応答時間が、挿入された前記遅延時間の長さの違いに応じて変化しているとき、前記テスト対象のノードは、前記内部ネットワーク上のノードとVPN通信を行っているノードであると判定することを特徴とする請求項10記載のVPN通信検出装置。
  12. 前記複数の遅延時間のうちの1つは、「0」秒であることを特徴とする請求項10記載のVPN通信検出方法。
  13. 前記判定手段は、前記応答時間が、挿入された前記遅延時間の長さにかかわらずほぼ一定であるとき、前記テスト対象のノードは、前記内部ネットワーク上のノードとVPN通信を行っているノードではないと判定することを特徴とする請求項10記載のVPN通信検出装置。
  14. 内部ネットワークと外部ネットワークとが接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するための前記内部ネットワークに接続されたVPN通信検出装置であって、
    前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットうちのいずれか一方あるいは両方を破棄するパケット破棄手段を用いてパケットを破棄するパケット破棄モードと、パケットの破棄を行わない通常モードとのうちのいずれか一方に切り替える切替手段と、
    テスト対象のノードに対し応答要求パケットを送信する送信手段と、
    前記切替手段で前記パケット破棄モードに切り替えて、前記送信手段で送信された前記応答要求パケットに対する前記テスト対象のノードからの応答パケットの受信の有無を検出する第1の検出手段と、
    前記切替手段で前記通常モードに切り替えて、前記送信手段で送信された前記応答要求パケットに対する前記テスト対象のノードからの応答パケットの受信の有無を検出する第2の検出手段と、
    前記第1及び第2の検出手段での検出結果を基に、前記テスト対象のノードが、前記内部ネットワーク上のノードとVPN通信を行っているノードであるか否かを判定する判定手段と、
    を具備したことを特徴としたVPN通信検出装置。
  15. 前記判定手段は、
    前記第1の検出手段で前記応答パケットの受信は検出されず、前記第2の検出手段で前記応答パケットの受信が検出されたとき、前記テスト対象のノードは、前記内部ネットワーク上のノードとVPN通信を行っているノードであると判定することを特徴とする請求項14記載のVPN通信検出装置。
  16. 前記判定手段は、
    前記第1及び第2の検出手段で前記応答パケットの受信が検出されたとき、前記テスト対象のノードは、前記内部ネットワーク上のノードとVPN通信を行っているノードではないと判定することを特徴とする請求項14記載のVPN通信検出装置。
  17. 前記遅延挿入手段は、
    前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうち、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号及び送信元ポート番号のうちの少なくとも1つを含む属性情報により特定されるテスト対象のパケットを、前記遅延時間だけ遅らせて前記内部ネットワーク側あるいは前記外部ネットワーク側へ出力することを特徴とする請求項10記載のVPN通信検出装置。
  18. 前記パケット破棄手段は、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットのうち、宛先MACアドレス、送信元MACアドレス、宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号及び送信元ポート番号のうちの少なくとも1つを含む属性情報により特定されるテスト対象のパケットを破棄することを特徴とする請求項14記載のVPN通信検出方法。
  19. 前記判定手段は、前記テスト対象のノードが、前記内部ネットワーク上のノードとVPN通信を行っているノードであると判定した場合には、前記テスト対象のパケットを前記テスト対象のノードとの間のVPN通信のパケットであると判定することを特徴とする請求項17または18記載のVPN通信検出装置。
  20. 前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットの前記属性情報を収集する収集手段と、
    収集された各パケットの属性情報を記憶する記憶手段と、
    をさらに具備し、
    前記記憶手段で記憶された各パケットの属性情報に基づき前記テスト対象のパケットが選択されることを特徴とする請求項17または18記載のVPN通信検出装置。
  21. 内部ネットワークと外部ネットワークとが中継装置を介して接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するための前記内部ネットワークに接続されたVPN通信検出装置において、
    テスト対象のノードに対し応答要求パケットを送信する送信手段と、
    前記応答要求パケットに対する前記テスト対象のノードからの応答パケットを受信する受信手段と、
    前記送信手段で前記応答要求パケットを送信してから前記受信手段で前記応答パケットを受信するまでに要した応答時間を計測する計測手段と、
    前記中継装置が、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットを中継する際に挿入する遅延時間と前記応答時間との相関を基に、前記テスト対象のノードが前記内部ネットワーク上のノードとVPN通信を行っているノードであるか否かを判定する判定手段と、
    を具備したことを特徴としたVPN検出装置。
  22. 内部ネットワークと外部ネットワークとが中継装置を介して接続されたネットワークにおいて、前記内部ネットワーク上のノードと前記外部ネットワーク上のノードとの間のVPN(Virtual Private Network)通信を検出するための前記内部ネットワークに接続されたVPN検出装置であって、
    前記中継装置を、前記外部ネットワーク側から入力した前記内部ネットワーク上のノード宛てのパケット、及び前記内部ネットワーク側から入力した前記外部ネットワーク上のノード宛てのパケットうちのいずれか一方あるいは両方を破棄するパケット破棄モードと、パケットの破棄を行わない通常モードとのうちのいずれか一方に切り替える切替手段と、
    テスト対象のノードに対し応答要求パケットを送信する送信手段と、
    前記切替手段で前記中継装置を前記パケット破棄モードに切り替えて、前記送信手段で送信された前記応答要求パケットに対する前記テスト対象のノードからの応答パケットの受信の有無を検出する第1の検出手段と、
    前記切替手段で前記中継装置を前記通常モードに切り替えて、前記送信手段で送信された前記応答要求パケットに対する前記テスト対象のノードからの応答パケットの受信の有無を検出する第2の検出手段と、
    前記第1及び第2の検出手段での検出結果を基に、前記テスト対象のノードが、前記内部ネットワーク上のノードとVPN通信を行っているノードであるか否かを判定する判定手段と、
    を具備したことを特徴としたVPN検出装置。
JP2006068004A 2006-03-13 2006-03-13 Vpn通信検出方法及び装置 Expired - Fee Related JP4509955B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006068004A JP4509955B2 (ja) 2006-03-13 2006-03-13 Vpn通信検出方法及び装置
US11/716,883 US8149722B2 (en) 2006-03-13 2007-03-12 Method and apparatus for detecting VPN communication
CNB2007100862855A CN100499561C (zh) 2006-03-13 2007-03-13 用于探测虚拟专用网通信的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006068004A JP4509955B2 (ja) 2006-03-13 2006-03-13 Vpn通信検出方法及び装置

Publications (2)

Publication Number Publication Date
JP2007251259A true JP2007251259A (ja) 2007-09-27
JP4509955B2 JP4509955B2 (ja) 2010-07-21

Family

ID=38595137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006068004A Expired - Fee Related JP4509955B2 (ja) 2006-03-13 2006-03-13 Vpn通信検出方法及び装置

Country Status (3)

Country Link
US (1) US8149722B2 (ja)
JP (1) JP4509955B2 (ja)
CN (1) CN100499561C (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008049077A1 (de) 2007-09-27 2009-04-02 Hitachi, Ltd. Vorrichtung und Verfahren zum Steuern und Regeln einer variablen Ventilvorrichtung
US8737238B2 (en) 2009-06-11 2014-05-27 Nec Corporation Congestion detecting method and communication node

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4866335B2 (ja) * 2007-11-28 2012-02-01 富士通株式会社 中継装置,試験装置,試験方法,及び試験プログラム
SG153685A1 (en) * 2007-12-17 2009-07-29 Univ Nanyang Peer-to-peer communication in wireless sensor network through delay response between packets
JP2009290605A (ja) * 2008-05-29 2009-12-10 Fujitsu Ltd 中継装置、中継方法および監視装置
US7916761B2 (en) * 2008-11-03 2011-03-29 The Boeing Company Methods and apparatus for adding latency and jitter to selected network packets
JP5212913B2 (ja) * 2009-03-02 2013-06-19 日本電気株式会社 Vpn接続システム、及びvpn接続方法
US8874741B2 (en) * 2009-11-25 2014-10-28 T-Mobile Usa, Inc. Secured remote management of a home network
US8531987B2 (en) * 2009-12-29 2013-09-10 Telecom Italia S.P.A. Performing a time measurement in a communication network
CN102812667B (zh) 2010-02-23 2016-05-04 Lg电子株式会社 用于发起家庭网络系统中的会话的方法和装置
US8615605B2 (en) * 2010-10-22 2013-12-24 Microsoft Corporation Automatic identification of travel and non-travel network addresses
US8634322B2 (en) * 2012-02-18 2014-01-21 Bank Of America Corporation Apparatus and methods for adaptive network throttling
CN103905510B (zh) 2012-12-28 2018-04-27 深圳市腾讯计算机系统有限公司 一种数据包的处理方法及后台服务器
CN103490950B (zh) * 2013-09-03 2017-12-22 深圳市迈腾电子有限公司 一种路由器pptp会话容量模拟方法
US9967183B2 (en) * 2013-12-20 2018-05-08 Huawei Technologies Co., Ltd. Source routing with entropy-header
US20150200843A1 (en) * 2014-01-15 2015-07-16 Cisco Technology, Inc. A Corporation Of California Packet Labels For Identifying Synchronization Groups of Packets
US9521219B2 (en) * 2014-01-20 2016-12-13 Echelon Corporation Systems, methods, and apparatuses using common addressing
US9813488B2 (en) * 2014-06-25 2017-11-07 Comcast Cable Communications, Llc Detecting virtual private network usage
US10038672B1 (en) 2016-03-29 2018-07-31 EMC IP Holding Company LLC Virtual private network sessions generation
CN105791032B (zh) * 2016-05-04 2018-12-07 珠海格力电器股份有限公司 智能家电与移动终端之间传输协议的测试方法及装置
WO2018031951A1 (en) 2016-08-11 2018-02-15 Hopzero, Inc. Method and system for limiting the range of data transmissions
CN106487946B (zh) * 2016-10-12 2019-11-19 重庆金美通信有限责任公司 一种大规模通信网络ip资源冲突检测方法、系统和设备
US10630657B2 (en) * 2017-03-02 2020-04-21 ColorTokens, Inc. System and method for enhancing the security of data packets exchanged across a computer network
CN106921540B (zh) * 2017-04-14 2020-12-25 王蕴卓 一种测试UPnP功能及页面规则检查的方法及装置
US10469367B2 (en) 2017-10-04 2019-11-05 Cisco Technology, Inc. Segment routing network processing of packets including operations signaling and processing of packets in manners providing processing and/or memory efficiencies
US11177977B2 (en) 2017-12-21 2021-11-16 Arris Enterprises Llc Method and system for GRE tunnel control based on client activity detection
US11451973B2 (en) 2020-09-23 2022-09-20 T-Mobile Usa, Inc. Simulating operation of a 5G wireless telecommunication network
US11310146B1 (en) * 2021-03-27 2022-04-19 Netflow, UAB System and method for optimal multiserver VPN routing
CN115378838B (zh) * 2022-08-24 2024-02-09 深圳市共进电子股份有限公司 测试路由器IPsec的方法、装置、介质及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184510A (ja) * 2003-12-19 2005-07-07 Fujitsu Ltd ルータ
JP2007194764A (ja) * 2006-01-18 2007-08-02 Hitachi Ltd 運用管理システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088977A1 (en) * 2000-12-14 2005-04-28 Nortel Networks Limited Dynamic virtual private network (VPN) tunnel quality of service (QoS) treatment
US6914886B2 (en) * 2001-05-03 2005-07-05 Radware Ltd. Controlling traffic on links between autonomous systems
CN1685687B (zh) * 2002-09-30 2013-10-30 皇家飞利浦电子股份有限公司 确定目标节点对于源节点的邻近性的方法
US7631055B1 (en) * 2003-04-23 2009-12-08 Cisco Technology, Inc. Method and apparatus providing automatic connection announcement from a modular network device to a network management point
CA2544345A1 (en) * 2003-10-31 2005-05-12 Warner Bros. Entertainment Inc. Method and system for limiting content diffusion to local receivers
US7002943B2 (en) * 2003-12-08 2006-02-21 Airtight Networks, Inc. Method and system for monitoring a selected region of an airspace associated with local area networks of computing devices
US7877599B2 (en) * 2004-05-28 2011-01-25 Nokia Inc. System, method and computer program product for updating the states of a firewall

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005184510A (ja) * 2003-12-19 2005-07-07 Fujitsu Ltd ルータ
JP2007194764A (ja) * 2006-01-18 2007-08-02 Hitachi Ltd 運用管理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008049077A1 (de) 2007-09-27 2009-04-02 Hitachi, Ltd. Vorrichtung und Verfahren zum Steuern und Regeln einer variablen Ventilvorrichtung
US8737238B2 (en) 2009-06-11 2014-05-27 Nec Corporation Congestion detecting method and communication node

Also Published As

Publication number Publication date
US8149722B2 (en) 2012-04-03
US20070280247A1 (en) 2007-12-06
CN101039246A (zh) 2007-09-19
CN100499561C (zh) 2009-06-10
JP4509955B2 (ja) 2010-07-21

Similar Documents

Publication Publication Date Title
JP4509955B2 (ja) Vpn通信検出方法及び装置
US20120257529A1 (en) Computer system and method of monitoring computer system
CN113132342B (zh) 方法、网络装置、隧道入口点装置及存储介质
EP2764662B1 (en) Test traffic interceptor in a data network
EP1326403B1 (en) Communication system for establishing PPPoE like connections between IEEE 1394 based peers and IP based peers
US8254286B2 (en) Method and system for detection of NAT devices in a network
EP2448183A1 (en) Relay device and method thereof
EP3025453B1 (en) Probe routing in a network
JP6605558B2 (ja) ネットワークのプローブ・ルーティング
EP2127220B1 (en) Automatic discovery of blocking access-list id and match statements in a network
EP3448001B1 (en) Communication security apparatus, control method, and storage medium storing a program
JP5242301B2 (ja) メッセージを転送する装置、出力方法および出力プログラム
JP2001168915A (ja) Ipパケット転送装置
US8593997B2 (en) Full duplex/half duplex mismatch detecting method and full duplex/half duplex mismatch detecting apparatus applicable with the method
US10812383B2 (en) Communication apparatus and communication method
CN100353711C (zh) 通信系统、通信装置、操作控制方法
JP6424740B2 (ja) パケット中継装置およびパケット中継方法
JP4615435B2 (ja) ネットワーク中継装置
KR101712922B1 (ko) 동적 터널엔드 방식의 가상 사설 네트워크 시스템과 그를 위한 가상 라우터 및 매니저 장치
JP3919488B2 (ja) データ中継装置、データ中継方法、データ中継処理プログラム及びデータ中継処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003244251A (ja) トンネル経路を再構成するパケット通信方法
Morton et al. IPv4, IPv6, and IPv4-IPv6 Coexistence: Updates for the IP Performance Metrics (IPPM) Framework
CN112910790B (zh) 导流系统及其方法
Taylor Using a compromised router to capture network traffic
Morton et al. RFC 8468: IPv4, IPv6, and IPv4-IPv6 Coexistence: Updates for the IP Performance Metrics (IPPM) Framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091020

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100428

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees