(57)【要約】【課題】ＮＡＴ機能を実行している端末を精度良く検出する。【解決手段】プロキシサーバ１０の取得部１４４は、企業ネットワークへの接続が承諾された承諾済み端末を送信元とする通信の接続先又は時間に関する情報であって、企業ネットワークに接続された装置のうち、承諾済み端末以外の装置によって生成された情報を取得する。そして、検出部１４３は、が所定の条件を満たす場合、承諾済み端末を介して他の端末が企業ネットワークに接続されていることを検出する。【選択図】図３
2019022066.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークへの接続が承諾された承諾済み端末を送信元とする通信の接続先又は時間に関する情報であって、前記ネットワークに接続された装置のうち、前記承諾済み端末以外の装置によって生成された情報を取得する取得部と、
前記取得部によって取得された情報が所定の条件を満たす場合、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出する検出部と、
を有することを特徴とする検出システム。
【請求項２】
前記取得部は、ＯＳと、当該ＯＳを搭載した端末を送信元とする通信の接続先となる可能性が低いことが既知の所定の接続先と、が対応付けられて掲載されたブラックリスト情報を参照し、前記承諾済み端末に搭載されたＯＳと、前記承諾済み端末を送信元とする通信の接続先と、が対応付けられて前記ブラックリスト情報に掲載されているか否かを判定する接続先判定部を有し、
前記検出部は、前記接続先判定部によって、前記承諾済み端末に搭載されたＯＳと、前記承諾済み端末を送信元とする通信の接続先と、が対応付けられて前記ブラックリスト情報に掲載されていると判定された場合、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出することを特徴とする請求項１に記載の検出システム。
【請求項３】
前記取得部は、前記承諾済み端末を送信元とする通信における接続先に対する接続要求の時間間隔を測定する時間間隔測定部を有し、
前記検出部は、前記時間間隔測定部によって測定された前記時間間隔が所定の閾値以下、かつ、前記接続先が複数である場合、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出することを特徴とする請求項１に記載の検出システム。
【請求項４】
前記時間間隔測定部は、日ごとに所定の時間に前記時間間隔を測定し、
前記検出部は、前記時間間隔測定部によって測定された当日の前記時間間隔が所定の閾値以下、かつ、前記接続先が複数である場合であって、前記時間間隔測定部によって測定された前日の前記時間間隔が所定の閾値以下でない場合に、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出することを特徴とする請求項３に記載の検出システム。
【請求項５】
前記取得部は、前記承諾済み端末の複数のポートに対して信号を送信し、前記複数のポートのそれぞれについてＲＴＴを計測するＲＴＴ測定部を有し、
前記検出部は、前記ＲＴＴ測定部によって計測されたＲＴＴ間の差の少なくともいずれかが所定の大きさ以上である場合、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出することを特徴とする請求項１に記載の検出システム。
【請求項６】
コンピュータによって実行される検出方法であって、
ネットワークへの接続が承諾された承諾済み端末を送信元とする通信の接続先又は時間に関する情報であって、前記ネットワークに接続された装置のうち、前記承諾済み端末以外の装置によって生成された情報を取得する取得工程と、
前記取得工程によって取得された情報が所定の条件を満たす場合、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出する検出工程と、
を含んだことを特徴とする検出方法。
【請求項７】
コンピュータに、
ネットワークへの接続が承諾された承諾済み端末を送信元とする通信の接続先又は時間に関する情報であって、前記ネットワークに接続された装置のうち、前記承諾済み端末以外の装置によって生成された情報を取得する取得ステップと、
前記取得ステップによって取得された情報が所定の条件を満たす場合、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出する検出ステップと、
を実行させることを特徴とする検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出システム、検出方法及び検出プログラムに関する。
【背景技術】
【０００２】
セキュリティ強化のため、企業ネットワークに検疫ネットワークが採用されることがある。検疫ネットワークの方式には、例えば、所定の条件を満たした端末にのみ接続を許可するＤＨＣＰ（Dynamic  Host  Configuration  Protocol）方式等がある（例えば、非特許文献１を参照）。一方で、検疫ネットワークへの接続が許可された承諾済み端末のＮＡＴ（Network  Address  Translation）機能を経由して、脆弱性のある未承諾端末が接続され、当該未承諾端末を介してウィルスへの感染及び情報の漏えいが発生することがある。
【０００３】
これに対し、ＴＴＬ（Time  to  live）から計算したホップ数に基づいてＮＡＴ機能を実行している端末を検出する検出システムが知られている（例えば、非特許文献２を参照）。例えば、非特許文献２に記載の検出システムは、ネットワークに接続された各端末のホップ数（例えば１）をあらかじめ記憶しておき、各端末の所定のポートへトレースパケットを送信し、当該トレースパケットのホップ数があらかじめ記憶しておいたホップ数と異なる端末を、ＮＡＴ機能を実行している端末として検出する。この手法は、承諾済み端末のあるポートに他の端末が接続された場合、当該ポートに対して送信されたトレースパケットが承諾済み端末と当該他の端末の両方を経由するため、承諾済み端末に他の端末が接続されていない場合と比べ、ホップ数が増加することに基づいている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】NAPソリューションガイド（DHCP編）、[online]、[平成２９年７月４日検索]、インターネット（https://www.alaxala.com/jp/techinfo/archive/guide/pdf/N08R023_NAP(DHCP)_V1_R0.pdf）
【非特許文献２】三村  守  他，  “TTLを用いた能動的NAT検出手法の実装と評価”,情報処理学会論文誌,  vol.  48,  no.  10,  pp.  3375-3385,  11  月2007  年.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の検出システムでは、ＴＴＬから計算したホップ数に基づいてＮＡＴ機能を実行している端末を検出するため、ＮＡＴ機能を実行している端末を精度良く検出できない場合があるという問題がある。
【０００６】
例えば、一般的なＯＳ（Operating  System）のＴＴＬは容易に変更することが可能である。このため、未承諾端末が承諾済み端末のＮＡＴ機能を経由してネットワークに接続されている場合に、トレースパケットのホップ数が検出システムにあらかじめ記憶されているホップ数と同一になるように、未承諾端末によってＴＴＬが変更された場合、従来の検出システムではＮＡＴ機能を実行している承諾済み端末を検出することは困難である。
【０００７】
例えば、承諾済み端末のデフォルトＴＴＬが１２８に設定され、当該承諾済み端末のＮＡＴ機能を経由してネットワークに接続している未承諾端末のデフォルトＴＴＬが１２９に設定されている場合、承諾済み端末からのホップ数及び未承諾端末からのホップ数のいずれもが１２８となるため、ＮＡＴ機能を実行している承諾済み端末を検出することは困難である。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明の検出システムは、ネットワークへの接続が承諾された承諾済み端末を送信元とする通信の接続先又は時間に関する情報であって、前記ネットワークに接続された装置のうち、前記承諾済み端末以外の装置によって生成された情報を取得する取得部と、前記取得部によって取得された情報が所定の条件を満たす場合、前記承諾済み端末を介して他の端末が前記ネットワークに接続されていることを検出する検出部と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＮＡＴ機能を実行している端末を精度良く検出することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態に係る検出システムの構成の一例を示す図である。
【図２】図２は、ＤＨＣＰ方式及びＮＡＴ機能について説明するための図である。
【図３】図３は、第１の実施形態に係るプロキシサーバの構成の一例を示す図である。
【図４】図４は、第１の実施形態に係る端末情報のデータ構成の一例を示す図である。
【図５】図５は、第１の実施形態に係る接続ログのデータ構成の一例を示す図である。
【図６】図６は、第１の実施形態に係る接続先情報のデータ構成の一例を示す図である。
【図７】図７は、第１の実施形態に係るブラックリスト情報のデータ構成の一例を示す図である。
【図８】図８は、接続先の判定について説明するための図である。
【図９】図９は、時間間隔の測定について説明するための図である。
【図１０】図１０は、時間間隔の測定について説明するための図である。
【図１１】図１１は、時間間隔の測定について説明するための図である。
【図１２】図１２は、ＲＴＴの測定について説明するための図である。
【図１３】図１３は、ＲＴＴの測定について説明するための図である。
【図１４】図１４は、ＲＴＴの測定について説明するための図である。
【図１５】図１５は、第１の実施形態に係る検出システムの処理の流れを示すフローチャートである。
【図１６】図１６は、検出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る検出システム、検出方法及び検出プログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【００１２】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る検出システムの構成について説明する。図１は、第１の実施形態に係る検出システムの構成の一例を示す図である。図１に示すように、検出システム１は、企業ネットワーク３に配置されたプロキシサーバ１０、集約ＳＷ２０及びポリシーサーバ３０を有する。企業ネットワーク３は、例えば企業内のＬＡＮ（Local  Area  Network）である。なお、本発明の対象となるネットワークは、企業ネットワークに限定されず、検疫ネットワークが採用された任意のネットワークであってよい。
【００１３】
また、企業ネットワーク３に配置された承諾済み端末４０は、ＤＨＣＰ方式でインターネット２に接続する。このとき、集約ＳＷ２０は、承諾済み端末４０から接続要求があった場合、ポリシーサーバ３０を参照し、承諾済み端末４０が接続を許可する条件を満たしているか否かを判定する。接続を許可する条件は、例えば、ＯＳが「システムＡ」であり、ＦＷを有し、所定のウィルス対策ソフトの最新版を有し、システムの自動更新が行われていることである。また、承諾済み端末４０は、ＮＡＴ機能を有し、ＮＡＴを利用して未承諾端末５０をインターネット２や企業内のＬＡＮ等に接続させることができる。
【００１４】
図２を用いて、ＤＨＣＰ方式及びＮＡＴ機能について説明する。図２は、ＤＨＣＰ方式及びＮＡＴ機能について説明するための図である。図２に示すように、承諾済み端末４０は、ポリシーサーバ３０との間で、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒパケット、ＤＨＣＰ  Ｏｆｆｅｒパケット、ＤＨＣＰ  Ｒｅｑｕｅｓｔパケット、ＤＨＣＰ  Ａｃｋパケットをやり取りし、接続の許可を受ける。このとき、ポリシーサーバ３０は、承諾済み端末４０に正規のＩＰアドレスを払い出す。
【００１５】
そして、承諾済み端末４０のＮＡＴを起動しＮＡＴ変換を行うことで、未承諾端末５０を例えばプロキシサーバ１０に接続させる。このとき、未承諾端末５０は、承諾済み端末４０に払い出された正規のＩＰアドレスを利用して通信を行う。これにより、未承諾端末５０は、接続を許可する条件を満たしていない場合であってもインターネット２に接続できてしまう。
【００１６】
検出システム１は、ＮＡＴ機能を利用している承諾済み端末４０を検出する。本実施形態では、プロキシサーバ１０がＮＡＴ機能を利用している承諾済み端末４０を検出する機能を備えることとする。なお、本発明の他の実施形態として、ＮＡＴ機能を利用している承諾済み端末４０を検出する機能を備えた検出装置を設ける実施形態もあり得る。
【００１７】
図３は、第１の実施形態に係るプロキシサーバの構成の一例を示す図である。図１０に示すように、プロキシサーバ１０は、送信部１１、受信部１２、記憶部１３及び制御部１４を有する。
【００１８】
送信部１１は、他の装置にデータを送信する。また、受信部１２は、他の装置からデータを受信する。例えば、送信部１１及び受信部１２は、ＮＩＣ（Network  Interface  Card）である。例えば、送信部１１は、制御部１４の制御によって、外部への指示を送信する。また、例えば、受信部１２によって受信された情報は、制御部１４によって分析される。
【００１９】
記憶部１３は、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、光ディスク等の記憶装置である。なお、記憶部１３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）等のデータを書き換え可能な半導体メモリであってもよい。記憶部１３は、検出システム１で実行されるＯＳや各種プログラムを記憶する。さらに、記憶部１３は、プログラムの実行で用いられる各種情報を記憶する。また、記憶部１３は、接続ログ１３１、接続先情報１３２、ブラックリスト情報１３３、時間間隔情報１３４、ＲＴＴ情報１３５及び検出回数情報１３６を記憶する。
【００２０】
ここで、ポリシーサーバ３０は、払い出したＩＰアドレスと承諾済み端末４０のＯＳとを対応付けて端末情報として記憶する。図４は、第１の実施形態に係る端末情報のデータ構成の一例を示す図である。図４に示すように、例えば、「a.a.a.a」というＩＰアドレスが払い出された承諾済み端末４０のＯＳは「システムＡ」である。
【００２１】
プロキシサーバ１０の記憶部１３は、承諾済み端末４０のＩＰアドレスを送信元とする通信の接続先の履歴を接続ログ１３１として記憶する。図５は、第１の実施形態に係る接続ログのデータ構成の一例を示す図である。例えば、図５には、送信元のＩＰアドレスが「a.a.a.a」である承諾済み端末４０が接続先を「https://www.example.com/exmusic/」とする通信を行ったことが示されている。
【００２２】
また、記憶部１３は、ポリシーサーバ３０から通知される端末情報と、記憶部１３に記憶されている接続ログ１３１と、に基づく接続先情報１３２を記憶する。接続先情報１３２は、承諾済み端末４０の、払い出されたＩＰアドレス及びＯＳごとの接続先である。図６は、第１の実施形態に係る接続先情報のデータ構成の一例を示す図である。例えば、図６には、「a.a.a.a」というＩＰアドレスが払い出された承諾済み端末４０のＯＳは「システムＡ」であり、接続先「https://www.example.com/exmusic/」に接続したことが示されている。
【００２３】
また、記憶部１３は、ブラックリスト情報１３３を記憶する。図７は、第１の実施形態に係るブラックリスト情報のデータ構成の一例を示す図である。例えば、図７には、１番目のルールの内容が「システムＢの端末がシステムＡのアップデートサーバへアクセス」であることが示されている。ブラックリスト情報１３３を用いた処理については後述する。また、時間間隔情報１３４、ＲＴＴ情報１３５及び検出回数情報１３６については後述する。
【００２４】
制御部１４は、検出システム１全体を制御する。制御部１４は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路である。また、制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１４は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部１４は、代理応答部１４１、ログ記録部１４２、検出部１４３及び取得部１４４を有する。また、取得部１４４は、接続先判定部１４５、時間間隔測定部１４６及びＲＴＴ測定部１４７を有する。
【００２５】
代理応答部１４１は、承諾済み端末４０に払い出されたＩＰアドレスを送信元とする通信の代理応答を行う。また、ログ記録部１４２は、承諾済み端末４０のＩＰアドレスを送信元とする通信の接続先の履歴を接続ログ１３１として記憶部１３に格納する。
【００２６】
接続先判定部１４５、時間間隔測定部１４６及びＲＴＴ測定部１４７は、企業ネットワーク３への接続が承諾された承諾済み端末４０を送信元とする通信の接続先又は時間に関する情報を取得する。取得部１４４は、企業ネットワーク３への接続が承諾された承諾済み端末４０を送信元とする通信の接続先又は時間に関する情報であって、企業ネットワーク３に接続された装置のうち、承諾済み端末４０以外の装置によって生成された情報を取得する。承諾済み端末４０以外の装置は、例えばプロキシサーバ１０である。検出部１４３は、取得部１４４によって取得された情報が所定の条件を満たす場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００２７】
接続先判定部１４５、時間間隔測定部１４６及びＲＴＴ測定部１４７は、受信部１２によって受信された情報や記憶部１３に記憶されている情報を基に、それぞれ所定の検出ロジックに基づいて検出部１４３検出を行うための情報を取得する。
【００２８】
前述の通り、従来の検出システムでは、企業ネットワークに接続された端末で生成されたＴＴＬを基に検出を行っていたため、端末でＴＴＬが変更された場合は検出が困難であった。これに対し、本実施形態で検出に用いられる情報、及び当該情報の生成元となる情報は、通信発生後は端末からは変更することができない情報である。
【００２９】
ここで、接続先判定部１４５、時間間隔測定部１４６及びＲＴＴ測定部１４７のそれぞれの処理を説明する。まず、接続先判定部１４５は、ＯＳと、当該ＯＳを搭載した端末を送信元とする通信の接続先となる可能性が低いことが既知の所定の接続先と、が対応付けられて掲載されたブラックリスト情報１３３を参照し、承諾済み端末４０に搭載されたＯＳと、承諾済み端末４０を送信元とする通信の接続先と、が対応付けられてブラックリスト情報１３３に掲載されているか否かを判定する。このとき、検出部１４３は、接続先判定部１４５によって、承諾済み端末４０に搭載されたＯＳと、承諾済み端末４０を送信元とする通信の接続先と、が対応付けられてブラックリスト情報１３３に掲載されていると判定された場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００３０】
図８を用いて、接続先判定部１４５の処理について説明する。図８は、接続先の判定について説明するための図である。図８の例では、承諾済み端末４０ｂは「システムＡ」というＯＳを搭載していることとする。また、承諾済み端末４０ａに払い出されたＩＰアドレスを「b.b.b.b」とする。また、承諾済み端末４０ａのＮＡＴ機能を経由して企業ネットワーク３に接続している未承諾端末５０ｂは、「システムＢ」というＯＳを搭載していることとする。
【００３１】
ここで、仮に承諾済み端末４０ｂでＮＡＴ機能が実行されていないとすると、承諾済み端末４０ｂに搭載されているＯＳは「システムＢ」であるため、ＯＳのアップデートや、アップデートの有無を行うためには、承諾済み端末４０ｂは「システムＢ」のアップデートサーバを接続先とする通信を行うことが考えられる。また、この場合、承諾済み端末４０ｂは、「システムＡ」のアップデートサーバであるＷｅｂサーバ６０ｂを接続先とする通信を行う可能性は低い。
【００３２】
図８に示すように、未承諾端末５０ｂは、承諾済み端末４０ｂのＮＡＴ機能を経由してＷｅｂサーバ６０ｂを接続先とした通信を行う場合がある。このとき、プロキシサーバ１０から見た送信元のＩＰアドレスは「b.b.b.b」である。つまり、承諾済み端末４０ｂを介して未承諾端末５０ｂが企業ネットワーク３に接続されている場合、承諾済み端末４０ｂがＮＡＴ機能を実行していない場合には発生する可能性が低い通信が発生する場合がある。ブラックリスト情報１３３にはこのような通信の特徴が掲載されている。
【００３３】
そこで、接続先判定部１４５は、接続先情報１３２が、ブラックリスト情報１３３に掲載されたものであるか否かを判定する。例えば、図７の１番目のルールの内容は、「システムＢの端末がシステムＡのアップデートサーバへアクセス」である。このため、接続先判定部１４５は、図６の、ＩＰアドレスが「b.b.b.b」、ＯＳが「システムＢ」、接続先が「システムＡのアップデートサーバ」である接続先情報１３２が、ブラックリスト情報１３３に掲載されていると判定する。そして、検出部１４３は、ＩＰアドレスが「b.b.b.b」である承諾済み端末４０ｂを介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００３４】
また、図８の、ＩＰアドレスが「a.a.a.a」である承諾済み端末４０ａは、「サービスＤ」の提供サーバであるＷｅｂサーバ６０ａを接続先とした通信を行っている。ブラックリスト情報１３３には、Ｗｅｂサーバ６０ａに関するルールは掲載されていないため、承諾済み端末４０ａは検出部１４３の検出対象とならない。
【００３５】
次に、時間間隔測定部１４６は、承諾済み端末４０を送信元とする通信における接続先に対する接続要求の時間間隔を測定する。このとき、検出部１４３は、時間間隔測定部１４６によって測定された時間間隔が所定の閾値以下、かつ、接続先が複数である場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００３６】
図９から１１を用いて、時間間隔測定部１４６の処理について説明する。図９から１１は、時間間隔の測定について説明するための図である。図９に示すように、承諾済み端末４０に未承諾端末５０が接続されていない場合、承諾済み端末４０のＩＰアドレスを送信元とし、異なる複数のＷｅｂサーバ６０を接続先とする通信は、一定以上の時間間隔で実行される。
【００３７】
一方で、図１０に示すように、承諾済み端末４０のＮＡＴ機能を経由して未承諾端末５０が企業ネットワーク３に接続されている場合、承諾済み端末４０及び未承諾端末５０のそれぞれが通信を実行するため、承諾済み端末４０のＩＰアドレスを送信元とし、異なる複数のＷｅｂサーバ６０を接続先とする通信の時間間隔は、承諾済み端末４０に未承諾端末５０が接続されていない場合と比べて短くなる。
【００３８】
時間間隔測定部１４６は、測定した時間間隔を時間間隔情報１３４として記憶部１３に格納する。また、検出部１４３は、時間間隔情報１３４を参照し、時間間隔が所定の閾値以下、かつ、接続先が複数である場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００３９】
また、検出部１４３は、誤検出を防止するため、時間間隔が所定の閾値以下、かつ、接続先が複数であった回数を検出回数情報１３６として記憶部１３に保存しておき、検出回数情報１３６の回数が所定値以上となった場合に検出を行うようにしてもよい。
【００４０】
また、時間間隔測定部１４６は、日ごとに所定の時間に時間間隔を測定することができる。このとき、検出部１４３は、時間間隔測定部１４６によって測定された当日の時間間隔が所定の閾値以下、かつ、接続先が複数である場合であって、時間間隔測定部１４６によって測定された前日の時間間隔が所定の閾値以下でない場合に、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００４１】
図１１に示すように、例えば、承諾済み端末４０に自動で定期的にＷｅｂサイトに対してアクセスする自動収集機能が備えられている場合、承諾済み端末４０は、Ｗｅｂサイトの更新の有無を確認するため、毎日所定の時刻に複数のＷｅｂサーバ６０を接続先とした通信を短い時間間隔で行うことが考えられる。このため、検出部１４３による誤検知が発生することが考えられる。そこで、検出部１４３は、時間間隔測定部１４６によって当日に測定された時間間隔と前日の測定された時間間隔との差が所定の閾値以下であるような承諾済み端末４０を検出対象としない。
【００４２】
次に、ＲＴＴ測定部１４７は、承諾済み端末４０の複数のポートに対して信号を送信し、複数のポートのそれぞれについてＲＴＴ（Round-Trip  Time：往復遅延時間）を測定する。このとき、検出部１４３は、ＲＴＴ測定部１４７によって計測されたＲＴＴ間の差の少なくともいずれかが所定の大きさ以上である場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００４３】
図１２から１４を用いて、ＲＴＴ測定部１４７の処理について説明する。図１２から１４は、ＲＴＴの測定について説明するための図である。図１２に示すように、承諾済み端末４０のポートのうち、未承諾端末５０が接続されているポートのホップ数は、未承諾端末５０が接続されていないポートと比べて増加する。このため、未承諾端末５０が接続されているポートのＲＴＴは、未承諾端末５０が接続されていないポートのＲＴＴと比べて増加する。
【００４４】
図１３に示すように、承諾済み端末４０に未承諾端末５０が接続されていない場合、ＲＴＴ測定部１４７が承諾済み端末４０のポートｘに信号を送った場合のＲＴＴと、ポートｙに信号を送った場合のＲＴＴは、ほぼ同一になる。一方、図１４に示すように、承諾済み端末の４０のポートｘに未承諾端末５０が接続されている場合、ＲＴＴ測定部１４７が承諾済み端末４０のポートｘに信号を送った場合のＲＴＴと、ポートｙに信号を送った場合のＲＴＴとでは、ポートｘに信号を送った場合のＲＴＴの方が大きくなる。このため、検出部１４３は、各ＲＴＴの差分を計算し、所定の値より大きい差分があった場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。
【００４５】
図１４の例では、未承諾端末５０のＩＰアドレスを「b.b.b.b」であるとする。また、未承諾端末５０はポートｚから信号を送信するとする。この場合、承諾済み端末４０は、ＮＡＴ変換テーブルを参照し、未承諾端末５０から送信された信号の送信元のＩＰアドレスを「b.b.b.b」から「a.a.a.a」に変換し、送信元のポートをポートｚからポートｘに変換する。
【００４６】
なお、ＲＴＴ測定部１４７は、承諾済み端末４０のポートのうち、送信元として使用されたことがプロキシサーバ１０で確認できていないポートのうち少なくとも１つ、及び、送信元として使用されたことがプロキシサーバ１０で確認できたポートに対して信号を送信することができる。送信元として使用されたことがプロキシサーバ１０で確認できていないポートは、未承諾端末５０が接続されている可能性がないと考えられるポートである。送信元として使用されたことがプロキシサーバ１０で確認できたポートは、未承諾端末５０が接続されている可能性があるポートである。
【００４７】
［第１の実施形態の処理］
図１５は、第１の実施形態に係る検出システムの処理の流れを示すフローチャートである。図１５に示すように、まず、受信部１２は、パケットを受信する（ステップＳ１０１）。次に、取得部１４４は、接続先判定部１４５、時間間隔測定部１４６及びＲＴＴ測定部１４７に処理を実行させ、検出に用いる情報を取得する。そして、検出部１４３は、取得部１４４によって取得された情報がいずれかの検出ロジックに該当するか否かを判定する（ステップＳ１０２）。
【００４８】
なお、取得部１４４は、必ずしも接続先判定部１４５、時間間隔測定部１４６及びＲＴＴ測定部１４７の全てに処理を実行させる必要はなく、接続先判定部１４５、時間間隔測定部１４６及びＲＴＴ測定部１４７の少なくともいずれかに処理を実行させるようにしてもよい。
【００４９】
ここで、接続先判定部１４５によって、承諾済み端末４０に搭載されたＯＳと、承諾済み端末４０を送信元とする通信の接続先と、が対応付けられてブラックリスト情報１３３に掲載されていると判定された場合に検出を行う検出ロジックをロジック（１）とする。また、時間間隔測定部１４６によって測定された時間間隔が所定の閾値以下、かつ、接続先が複数である場合に検出を行う検出ロジックをロジック（２）とする。また、時間間隔測定部１４６によって測定された当日の時間間隔が所定の閾値以下、かつ、接続先が複数である場合であって、時間間隔測定部１４６によって測定された前日の時間間隔が所定の閾値以下でない場合に検出を行う検出ロジックをロジック（３）とする。
【００５０】
取得部１４４によって取得された情報がいずれの検出ロジックにも該当しなかった場合（ステップＳ１０２、Ｎｏ）、検出部１４３は処理を終了する。そして、受信部１２は、さらにパケットを受信する（ステップＳ１０１）。
【００５１】
取得部１４４によって取得された情報がいずれかの検出ロジックに該当した場合（ステップＳ１０２、Ｙｅｓ）、検出部１４３は処理を進める。検出部１４３は、該当した検出ロジックがロジック（１）又はロジック（３）であった場合（ステップＳ１０３、ロジック（１）又はロジック（３））、ＮＡＴを検出（ステップＳ１０６）する。
【００５２】
また、検出部１４３は、該当した検出ロジックがロジック（２）であった場合（ステップＳ１０３、ロジック（２））、検出記録として検出回数情報１３６を記憶部１３に保存する（ステップＳ１０４）。
【００５３】
また、前日に同じ挙動が確認できた場合（ステップＳ１０５、Ｙｅｓ）、つまり、前日の同じ時間に取得した時間間隔がロジック（２）に該当していた場合、検出部１４３は処理を終了する。そして、受信部１２は、さらにパケットを受信する（ステップＳ１０１）。一方、前日に同じ挙動が確認できなかった場合（ステップＳ１０５、Ｎｏ）、つまり、前日の同じ時間に取得した時間間隔がロジック（２）に該当していなかった場合、検出部１４３は、ＮＡＴを検出（ステップＳ１０６）する。なお、このとき、検出部１４３は、検出回数情報１３６の回数が所定値以上の場合のみＮＡＴを検出するようにしてもよい。
【００５４】
［第１の実施形態の効果］
取得部１４４は、企業ネットワーク３への接続が承諾された承諾済み端末４０を送信元とする通信の接続先又は時間に関する情報であって、企業ネットワーク３に接続された装置のうち、承諾済み端末４０以外の装置によって生成された情報を取得する。検出部１４３は、取得部１４４によって取得された情報が所定の条件を満たす場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。このように、本実施形態では、承諾済み端末４０以外の装置で生成された情報を用いてＮＡＴ機能を実行している承諾済み端末４０の検出を行う。これにより、検出に用いられる情報が承諾済み端末４０によって変更されることがないため、ＮＡＴ機能を実行している端末を精度良く検出することができる。
【００５５】
接続先判定部１４５は、ＯＳと、当該ＯＳを搭載した端末を送信元とする通信の接続先となる可能性が低いことが既知の所定の接続先と、が対応付けられて掲載されたブラックリスト情報１３３を参照し、承諾済み端末４０に搭載されたＯＳと、承諾済み端末４０を送信元とする通信の接続先と、が対応付けられてブラックリスト情報１３３に掲載されているか否かを判定する。このとき、検出部１４３は、接続先判定部１４５によって、承諾済み端末４０に搭載されたＯＳと、承諾済み端末４０を送信元とする通信の接続先と、が対応付けられてブラックリスト情報１３３に掲載されていると判定された場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。このように、承諾済み端末４０に他の端末が接続されていない場合には発生し得ないような通信内容をブラックリスト化しておくことで、ＮＡＴ機能を実行している端末を容易に検出することができる。また、接続先判定部１４５は、プロキシサーバ１０の代理応答部１４１が代理応答の際に用いた接続先を、承諾済み端末４０を送信元とする通信の接続先とすることができるため、接続先判定部１４５は、接続先に関する情報を承諾済み端末４０から取得する必要はない。
【００５６】
時間間隔測定部１４６は、承諾済み端末４０を送信元とする通信における接続先に対する接続要求の時間間隔を測定する。このとき、検出部１４３は、時間間隔測定部１４６によって測定された時間間隔が所定の閾値以下、かつ、接続先が複数である場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。これにより、プロキシサーバ１０で観測可能な情報のみを用いて、ＮＡＴ機能を実行している端末を検出することができる。
【００５７】
時間間隔測定部１４６は、日ごとに所定の時間に時間間隔を測定することができる。このとき、検出部１４３は、時間間隔測定部１４６によって測定された当日の時間間隔が所定の閾値以下、かつ、接続先が複数である場合であって、時間間隔測定部１４６によって測定された前日の時間間隔が所定の閾値以下でない場合に、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。これにより、誤検出を防止することができる。
【００５８】
ＲＴＴ測定部１４７は、承諾済み端末４０の複数のポートに対して信号を送信し、複数のポートのそれぞれについてＲＴＴを計測する。このとき、検出部１４３は、ＲＴＴ測定部１４７によって計測されたＲＴＴ間の差の少なくともいずれかが所定の大きさ以上である場合、承諾済み端末４０を介して他の端末が企業ネットワーク３に接続されていることを検出する。これにより、プロキシサーバ１０で観測可能な情報のみを用いて、ＮＡＴ機能を実行している端末を検出することができる。
【００５９】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、ＣＰＵ及び当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６０】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６１】
［プログラム］
一実施形態として、検出システム１は、パッケージソフトウェアやオンラインソフトウェアとして上記の検出を実行する検出プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検出プログラムを情報処理装置に実行させることにより、情報処理装置を検出システム１として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００６２】
また、検出システム１は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の検出に関するサービスを提供する検出サーバ装置として実装することもできる。例えば、検出サーバ装置は、ネットワーク内でやり取りされたパケットに関する情報を入力とし、ＮＡＴ機能を実行している端末を識別する情報を出力とする検出サービスを提供するサーバ装置として実装される。この場合、検出サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の検出に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００６３】
図１６は、検出プログラムを実行するコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６４】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００６５】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、検出システム１の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、検出システム１における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤにより代替されてもよい。
【００６６】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００６７】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６８】
１  検出システム
１０  プロキシサーバ
１１  送信部
１２  受信部
１３  記憶部
１４  制御部
２０  集約ＳＷ
３０  ポリシーサーバ
４０、４０ａ、４０ｂ  承諾済み端末
５０、５０ｂ  未承諾端末
６０  Ｗｅｂサーバ
１３１  接続ログ
１３２  接続先情報
１３３  ブラックリスト情報
１３４  時間間隔情報
１３５  ＲＴＴ情報
１３６  検出回数情報
１４１  代理応答部
１４２  ログ記録部
１４３  検出部
１４４  取得部
１４５  接続先判定部
１４６  時間間隔測定部
１４７  ＲＴＴ測定部
【図１】
2019022066.tif 000003
【図２】
2019022066.tif 000004
【図３】
2019022066.tif 000005
【図４】
2019022066.tif 000006
【図５】
2019022066.tif 000007
【図６】
2019022066.tif 000008
【図７】
2019022066.tif 000009
【図８】
2019022066.tif 000010
【図９】
2019022066.tif 000011
【図１０】
2019022066.tif 000012
【図１１】
2019022066.tif 000013
【図１２】
2019022066.tif 000014
【図１３】
2019022066.tif 000015
【図１４】
2019022066.tif 000016
【図１５】
2019022066.tif 000017
【図１６】
2019022066.tif 000018