(57)【要約】  特定装置（１０）は、対象となるネットワークアドレス帯に対し、ネットワークスキャンにより機器の応答情報を収集するネットワークスキャン部（１１）と、ネットワークスキャン部（１１）が収集した応答情報を蓄積する応答蓄積部（１２）と、応答蓄積部（１２）が蓄積した応答情報のうち、スキャン時期が異なる応答情報同士を比較して応答内容の類似度を計算する類似度計算部（１３）と、類似度計算部（１３）が計算した類似度を基に、最も類似する応答情報を送信した機器が同一であると特定する特定部（１４）と、を有する。
2020217431.tif 000002
【特許請求の範囲】
【請求項１】
対象となるネットワークアドレス帯に対し、ネットワークスキャンにより機器の応答情報を収集する収集部と、
前記収集部が収集した応答情報を蓄積する蓄積部と、
前記蓄積部が蓄積した応答情報のうち、スキャン時期が異なる応答情報同士を比較して応答内容の類似度を計算する計算部と、
前記計算部が計算した類似度を基に、最も類似する応答情報を送信した機器が同一であると特定する特定部と、
を有することを特徴とする特定装置。
【請求項２】
前記計算部は、スキャン対象のＸ個のＩＰアドレスのうち、第１の時刻における第１のネットワークスキャンにおいて応答があったＩＰアドレスがｎ（≦Ｘ）個であり、前記第１の時刻と異なる第２の時刻における第２のネットワークスキャンにおいて応答があったＩＰアドレスがｍ（≦Ｘ）個である場合、前記第１のネットワークスキャンにおけるｎ個の各応答情報と、前記第２のネットワークスキャンにおけるｍ個の各応答情報とをそれぞれ比較し、ｎ×ｍ組のＩＰアドレスの組み合わせ毎に類似度を計算することを特徴とする請求項１に記載の特定装置。
【請求項３】
前記計算部は、計算したｎ×ｍ組の各類似度を、ｎ行ｍ列の類似度行列の各要素として表し、
前記特定部は、前記類似度行列の各要素に基づいて、前記第１のネットワークスキャンと前記第２のネットワークスキャンとの間で類似する応答内容を返すＩＰアドレスの最も適切な組み合わせを求め、求めた組み合わせのＩＰアドレス上の機器が同一の機器であると特定することを特徴とする請求項２に記載の特定装置。
【請求項４】
前記特定部は、前記類似度行列において所定の閾値を下回る要素については、該要素に対応する組み合わせのＩＰアドレス上の機器が、異なる機器であると特定することを特徴とする請求項３に記載の特定装置。
【請求項５】
特定装置が実行する特定方法であって、
対象となるネットワークアドレス帯に対し、ネットワークスキャンにより機器の応答情報を収集する工程と、
前記収集する工程において収集された応答情報を蓄積する工程と、
前記蓄積する工程において蓄積された応答情報のうち、スキャン時期が異なる応答情報同士を比較して応答内容の類似度を計算する工程と、
前記計算する工程において計算された類似度を基に、最も類似する応答情報を送信した機器が同一であると特定する工程と、
を含んだことを特徴とする特定方法。
【請求項６】
対象となるネットワークアドレス帯に対し、ネットワークスキャンにより機器の応答情報を収集するステップと、
前記収集するステップにおいて収集された応答情報を蓄積するステップと、
前記蓄積するステップにおいて蓄積された応答情報のうち、スキャン時期が異なる応答情報同士を比較して応答内容の類似度を計算するステップと、
前記計算するステップにおいて計算された類似度を基に、最も類似する応答情報を送信した機器が同一であると特定するステップと、
をコンピュータに実行させることを特徴とする特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定装置、特定方法及び特定プログラムに関する。
【背景技術】
【０００２】
インターネット上には、Internet  of  Things（ＩｏＴ）をはじめとする多種多様な機器が接続されて動作している。このような機器は、脆弱性、弱い認証設定、誤設定などのセキュリティ上の問題が存在する場合がある。例えば、デフォルト設定のままである場合や、ＩＤとパスワードを共通的に用いたままである場合が、弱い認証設定である場合といえる。そして、機器の脆弱性を利用した攻撃として、ネットワークカメラ等のＩｏＴデバイスをターゲットとするMiraiなどが報告されている。【０００３】
そこで、このような機器を早期に発見して対策するために、インターネット上に接続された機器を発見するツールの開発（非特許文献１及び非特許文献２参照）や、発見した機器をデータベース化する研究（非特許文献３及び非特許文献４参照）が行われている。【０００４】
ネットワーク上の機器を発見する方法として、まず、対策装置は、ネットワークスキャンを行う。ネットワークスキャンは、スキャン対象のＩＰアドレスに対して、何らかのリクエストを送信し、そのリクエストに対するスキャン対象からの応答を収集する処理である。対策装置は、スキャン対象のＩＰアドレス上に機器が存在し、この機器が応答を返す設定であれば、機器からの応答を収集することができる。これらの応答には機器特有の情報が含まれている場合があるため、対策装置は、応答に含まれる危機特有の情報を用いることによって機器の種別等を特定する。また、対策装置は、応答の内容によってはセキュリティホールなども判別する。【０００５】
したがって、対策装置は、ネットワーク上の機器を発見することによって、その機器が保有する脆弱性やセキュリティホールを特定するセキュリティ対策を実施できる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Zakir  Durumeric,  et  al.,  “ZMap:  Fast  Internet-Wide  Scanning  and  its  Security  Applications”,  USENIX  Security,  2014.  ［平成３１年４月１９日検索］，インターネット＜ＵＲＬ：https://zmap.io/paper.pdf＞
【非特許文献２】robertdavidgraham/masscan，［平成３１年３月２２日検索］，インターネット＜ＵＲＬ：https://github.com/robertdavidgraham/masscan＞
【非特許文献３】Shodan，［平成３１年３月２２日検索］，インターネット＜ＵＲＬ：https://www.shodan.io＞
【非特許文献４】Zakir  Durumetic,  et  al.  “A  Search  Engine  Backed  by  Internet-Wide  Scanning”,  ACM  CCS,  2015.，［平成３１年３月２２日検索］，インターネット＜ＵＲＬ：https://censys.io/static/censys.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ネットワークスキャンについて、応答の有無や応答情報を収集するためのスキャンを高速化する手法がある（非特許文献１及び非特許文献２）。このような技術を用いることにより、対策装置は、ネットワーク上に存在する機器を早期に発見し、機器のリスト化の実施、及び、リストに基づいた対策の実施を行うことができる。【０００８】
しかしながら、ネットワーク上の機器では、ＩＰアドレスが変更されることがある。このように、ＩＰアドレスが変更されると、今までＩＰアドレスに基づいて機器をリスト化することで管理していた情報が陳腐化してしまう問題がある。また、同一機器であるにもかかわらず多重にカウントしてしまうという問題がある。【０００９】
特に後者の問題は、ある時刻ｔのスキャンにおいて応答があったＩＰアドレス群と、別の時刻ｕのスキャンにおいて応答があったＩＰアドレス群とを単純に併合して、ユニークなＩＰアドレス数を機器の総数とする方法をとった際に問題が生じる。具体的に、時刻ｔの際にＩＰアドレスが「IP_a」であった機器が、時刻ｕの際には「IP_b」に変化していた場合を例に説明する。この場合、この機器は、同一機器であるにもかかわらず、時刻ｔと時刻ｕとにおいてＩＰアドレスが変化しているため、二重にカウントされてしまう。【００１０】
このような多重カウントが頻発すると、正確に機器の情報を管理することができなくなるおそれがある。この結果、管理内容を対策に活用できないおそれや、誤った対策を実施するおそれが生じる。例えば、対策装置は、発見された機器の数を必要以上に多く見積もってしまい、誤った規模の対策を実施してしまう。【００１１】
本発明は、上記に鑑みてなされたものであって、異なる時刻のスキャン間におけるＩＰアドレスの変化にかかわらず同一機器であることを特定する特定装置、特定方法及び特定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明に係る特定装置は、対象となるネットワークアドレス帯に対し、ネットワークスキャンにより機器の応答情報を収集する収集部と、収集部が収集した応答情報を蓄積する蓄積部と、蓄積部が蓄積した応答情報のうち、スキャン時期が異なる応答情報同士を比較して応答内容の類似度を計算する計算部と、計算部が計算した類似度を基に、最も類似する応答情報を送信した機器が同一であると特定する特定部と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、異なる時刻のスキャン間におけるＩＰアドレスの変化にかかわらず同一機器であることを特定することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態に係る通信システムの構成の一例を示す図である。
【図２】図２は、図１に示す応答蓄積部が蓄積する蓄積情報の一例を示す図である。
【図３−１】図３−１は、時刻ｔ１のネットワークスキャン（第１のネットワークスキャン）の応答結果を示す図である。
【図３−２】図３−２は、時刻ｔ２（≠ｔ１）のネットワークスキャン（第２のネットワークスキャン）の応答結果を示す図である。
【図４】図４は、図１に示す類似度計算部による類似度の計算結果を類似度行列として表した例を示す図である。
【図５】図５は、図４に示す類似度行列から全体最適解で求められるＩＰアドレスの組み合わせを説明する図である。
【図６】図６は、図４に示す類似度行列から安定マッチング解として求められるＩＰアドレスの組み合わせを説明する図である。
【図７】図７は、図１に示す特定部が出力する出力結果の一例を示す図である。
【図８】図８は、実施の形態に係る特定処理の処理手順を示すフローチャートである。
【図９】図９は、プログラムが実行されることにより、特定装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１６】
［実施の形態］
［通信システムの概要］
まず、図１を用いて、実施の形態１に係る通信システムの構成について説明する。図１は、実施の形態に係る通信システムの構成の一例を示す図である。
【００１７】
図１に示すように、通信システム１は、特定装置１０と、複数の機器２とを有する。特定装置１０と、複数の機器２とは、ネットワークＮを介して接続する。
【００１８】
機器２は、ネットワークＮを介して特定装置１０と通信可能である通信機能を有する機器である。各機器２は、それぞれＩＰアドレスが付与される。各機器２は、特定装置１０によるリクエストを受信すると、例えば、応答内容にＩＰアドレスを付した応答情報を、特定装置１０に送信する。機器２は、ネットワークカメラ等のＩｏＴ機器である。機器２は、それぞれ異なる種別の機器であってもよく、同じ種別の機器であってもよい。
【００１９】
通信システム１におけるネットワーク上に存在する機器２を特定する。特定装置１０は、機器２の各ＩＰアドレスをリストに基づいてネットワークスキャンを行い、機器２から送信された応答情報を基に、ネットワーク上に存在する機器２を特定する。特定装置１０は、異なるスキャン時期の応答情報を比較することによって、機器２に付与されるＩＰアドレスが変更された場合であっても機器２が同一であることを特定する。
【００２０】
これによって、特定装置１０において多重カウントの発生を低減できるため、通信システム１では、機器２の情報の正確な管理や、適切な対策の実行を実施することが可能になる。
【００２１】
［特定装置の構成］
次に、図１を参照して、特定装置１０の構成について説明する。特定装置１０は、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＣＰＵ（Central  Processing  Unit）等を含むコンピュータ等に所定のプログラムが読み込まれて、ＣＰＵが所定のプログラムを実行することで実現される。また、特定装置１０は、ＮＩＣ（Network  Interface  Card）等を有し、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した他の装置との間の通信を行うことも可能である。特定装置１０は、ネットワークスキャン部１１（収集部）と、応答蓄積部１２（蓄積部）と、類似度計算部１３（計算部）と、特定部１４とを有する。
【００２２】
ネットワークスキャン部１１は、対象となるネットワークアドレス帯に対し、ネットワークスキャンにより機器２の応答情報（レスポンス）を収集する。応答蓄積部１２は、ネットワークスキャン部１１が収集したレスポンスを蓄積する。類似度計算部１３は、応答蓄積部１２が蓄積したレスポンスのうち、スキャン時期が異なるレスポンス同士を比較して応答内容の類似度を計算する。特定部１４は、類似度計算部１３が計算した類似度を基に、最も類似するレスポンスを送信した機器２が同一であると特定する。
【００２３】
［ネットワークスキャン部］
次に、ネットワークスキャン部１１の処理について説明する。ネットワークスキャン部１１は、与えられたＩＰアドレスのリストに基づいてネットワークスキャンを行う。ネットワークスキャンは、何らかのリクエストパケットを対象のＩＰアドレスに対して送信し、そのレスポンスを受信する処理である。
【００２４】
ネットワークスキャン部１１が送信するリクエストパケットに制約はないが、レスポンスとしてより多くの情報を含むようなプロトコルを対象にすることが望ましい。例えば、ネットワークスキャン部１１は、ＨＴＴＰ（HyperText  Transfer  Protocol）やＨＴＴＰＳ（Hypertext  Transfer  Protocol  Secure）のプロトコルを対象にする。ＨＴＴＰやＨＴＴＰＳのプロトコルは、Ｗｅｂサーバを起動している機器が利用している。このため、ネットワークスキャン部１１は、ＨＴＴＰやＨＴＴＰＳのプロトコルを対象とした場合、機器２が保有しているＷｅｂコンテンツをレスポンスとして取得することができる。このＷｅｂコンテンツは、機器２に特有であることが多い。
【００２５】
また、ＨＴＴＰＳを対象とした場合、ネットワークスキャン部１１は、Ｗｅｂサーバが保有するＳＳＬ証明書も入手できる。このＳＳＬ証明書も、機器２に特有であることが多い。
【００２６】
また、ネットワークスキャン部１１は、ＨＴＴＰやＨＴＴＰＳのような上位層のプロトコルにかかわらず、レスポンスに含まれるＴＣＰ（Transmission  Control  Protocol）のヘッダフィールドの情報も入手できる。ＴＣＰのヘッダフィールドには、ＴＴＬ（Time-To-Live）、ＭＳＳ（Maximum  Segment  Size）、ＩＳＮ（Initial  Sequence  Number）などの情報が含まれ、これらは機器２のＯＳ毎に特徴的な差が見られることがある。
【００２７】
ネットワークスキャン部１１は、定められた時刻に、定められたリクエストを、与えられたＩＰアドレスのリストに対して送信する。そして、ネットワークスキャン部１１は、スキャン対象からのレスポンスを受信し、応答蓄積部１２に出力する。
【００２８】
ここで、ＩＰアドレスリストは、動的ＩＰアドレスの再割り当ての範囲であることが望ましい。例えば、ＩＰアドレスリストは、同一組織ネットワークや同一ＩＳＰ（Internet  Services  Provider）などの範囲で与えられることが望ましい。これに対し、動的ＩＰアドレスの割り当て範囲をスキャン対象ＩＰアドレスリストが包含していなかった場合は、スキャン対象ＩＰアドレスとは異なるＩＰアドレスに機器２が割り当てられる可能性がある。この場合、異なるスキャン間において必ずしも同一の機器２が存在するとは限らない状況になるため、スキャン間において機器２の同一性を正確に判断できる確率が低下する。
【００２９】
［応答蓄積部］
応答蓄積部１２は、ネットワークスキャン部１１から受信したスキャンのレスポンス情報を蓄積する。応答蓄積部１２は、ある時刻に行った特定のＩＰアドレスリストに対する一連の各スキャンのレスポンスに対して同一のスキャンＩＤを付与して、ネットワークスキャンの時刻ごとに管理できるようにしている。
【００３０】
図２は、図１に示す応答蓄積部１２が蓄積する蓄積情報の一例を示す図である。図２に示すように、例えば、応答蓄積部１２は、時刻ｔ１に行った特定のＩＰアドレスリストに対する一連の各スキャンのレスポンスに対して同一のスキャンＩＤ「St1」を付与する。そして、スキャンＩＤ、対象ＩＰアドレス及びレスポンス内容を対応付けたレスポンス情報を蓄積する。
【００３１】
［類似度計算部］
次に、類似度計算部１３について説明する。類似度計算部１３は、同一のＩＰアドレスリストに対する異なる２つのスキャンのレスポンス内容がどの程度類似しているかを計算する。図３−１は、時刻ｔ１のネットワークスキャン（第１のネットワークスキャン）の応答結果を示す図である。図３−２は、時刻ｔ２（≠ｔ１）のネットワークスキャン（第２のネットワークスキャン）の応答結果を示す図である。
【００３２】
まず、ネットワークスキャンでは、レスポンスが得られないＩＰアドレスが存在するため、類似度計算部１３は、これらのＩＰアドレスを、類似度計算の処理対象から除外する。レスポンスが得られない場合として、そもそも機器２がＩＰアドレスに割り当てられていない場合や、ネットワーク上のいずれかまたは機器２上でリクエストがフィルタリングされている場合がある。このため、類似度計算部１３は、レスポンスがなかったＩＰアドレスを類似度算出対象から除外する。
【００３３】
例えば、図３−１に示すように、類似度計算部１３は、時刻ｔ１のスキャンでは、スキャン対象ＩＰアドレスリストのアドレスＡ〜ＦのうちレスポンスがなかったアドレスＢ，Ｄ，Ｆを、類似度計算対象から除外する。類似度計算部１３は、時刻ｔ１では、アドレスＡ，Ｃ，Ｄのレスポンスを類似度算出対象とする。また、図３−２に示すように、時刻ｔ２のスキャンでは、スキャン対象ＩＰアドレスリストのアドレスＡ〜ＦのうちレスポンスがなかったアドレスＡ，Ｄ，Ｄを類似度計算対象から除外する。類似度計算部１３は、時刻ｔ２では、アドレスＢ，Ｃ，Ｆを類似度計算対象とする。
【００３４】
そして、スキャン対象のＸ個のＩＰアドレスのうち、時刻ｔ１におけるネットワークスキャンでレスポンスがあったＩＰアドレスがｎ個存在した場合、時刻ｔ２のスキャンにおいてレスポンスがあったＩＰアドレスがｍ個存在する場合について説明する。この場合、類似度計算部１３は、時刻ｔ１のネットワークスキャンにおけるｎ個の各応答情報と、時刻ｔ２のネットワークスキャンにおけるｍ個の各応答情報とをそれぞれ比較し、ｎ×ｍ組のＩＰアドレスの組み合わせ毎に類似度を計算する。
【００３５】
類似度計算部１３は、計算したｎ×ｍ組の各類似度を、ｎ行ｍ列の類似度行列の各要素として表す。例えば、類似度計算部１３は、時刻ｔ１のネットワークスキャンにおいてレスポンスがあったアドレスＡ，Ｃ，Ｄの３個のレスポンスと、時刻ｔ２のネットワークスキャンにおいてレスポンスがあったアドレスＢ，Ｃ，Ｆの３個のレスポンスとをそれぞれ比較する。そして、類似度計算部１３は、３×３組のＩＰアドレスの組み合わせ毎に類似度を計算する。
【００３６】
図４は、図１に示す類似度計算部１３による類似度の計算結果を類似度行列として表した例を示す図である。類似度計算部１３は、時刻ｔ１，ｔ２のネットワークスキャンにおいてレスポンスがあったＩＰアドレスの９組の組み合わせに対し、それぞれ応答内容の類似度を計算する。そして、図４では、類似度計算部１３が計算した各組の類似度を、類似度行列の各要素として表す。図４の例では、類似度は０〜１で正規化されており、１に近づくほどより類似していることを意味する。なお、正規化の最大値はいくつであっても構わない。
【００３７】
類似度計算部１３は、２つのレスポンス間で文字列が一致する度合いを類似度として算出する。類似度の算出方法は、例えば、ＬＣＳ（Longest  Common  Subsequence）を用いた方法を適用することができる。ＬＣＳは、２つの文字列で共通する部分列の最長のものであり、部分列は連続している必要はないものの順序は変更してはならないとしている。
【００３８】
例えば、レスポンスＲａ「abcdef」と、レスポンスＲｂ「abfcdf」とについては、ＬＣＳは、「abcdf」になる。この際、類似度は、２×ＬＣＳ／（length（レスポンスＲａ）+length（レスポンスＲｂ））として算出できる。レスポンスＲａとレスポンスＲｂとが、全く同一である場合、類似度は１になる。一方、レスポンスＲａとレスポンスＲｂとに共通部分列が存在しない場合、すなわち、全くレスポンスが異なる場合、類似度は０になる。
【００３９】
ここで、レスポンスとして得られる情報として、ＴＣＰヘッダフィールドの値（ＴＴＬやＭＳＳ等）、上位レイヤのプロトコルのレスポンス（Telnet、ＳＳＨ、ＨＴＴＰ、ＨＴＴＰＳなど）がある。本実施の形態では、これらの情報を一括りにレスポンスとし、類似度計算のための比較に使用する。
【００４０】
例えば、ＨＴＴＰの応答として、ＨＴＴＰヘッダとＨＴＴＰボディが存在し、類似度計算部１３は、これらのいずれも類似度計算に使用する。また、ＨＴＴＰＳの場合、類似度計算部１３は、ＴＬＳコネクションのハンドシェイク時にＷｅｂサーバ側（機器２）から送信されるＳＳＬ証明書を、類似度計算使用する。ＳＳＬ証明書は、Ｗｅｂサーバに関する情報が記述されており、これが機器２を特徴付ける情報になり得る。
【００４１】
［特定部］
次に、図１に示す特定部１４について説明する。特定部１４は、異なる２つのネットワークスキャン間において、レスポンスの類似性から、どのＩＰアドレス上の機器が同一であるかを特定する。
【００４２】
そこで、特定部１４は、類似度計算部１３が作成した類似度行列を用いる。特定部１４は、類似度行列の各要素（類似度）に基づいて、異なるスキャン間で類似するレスポンスを返すＩＰアドレスの最も適切な組み合わせを求める。すなわち、特定部１４は、類似度行列の各要素に基づいて、時刻ｔ１におけるネットワークスキャンと時刻ｔ２のネットワークスキャンとの間で類似する応答内容を返すＩＰアドレスの最も適切な組み合わせを求める。そして、特定部１４は、求めた組み合わせのＩＰアドレス上の機器が同一の機器であると特定する。
【００４３】
ここで、ハンガリアンアルゴリズムなどの全体最適解を目的とする手法では、適切な組み合わせを特定することができない。全体最適解とは、組み合わせの評価値の総和、すなわち、類似度の総和が最大になるようなマッチング手法である。
【００４４】
図５は、図４に示す類似度行列から全体最適解で求められるＩＰアドレスの組み合わせを説明する図である。図５に示すように、スキャンＩＤ「St1」のアドレスＡと、スキャンＩＤ「St2」のアドレスＢとの類似度が「1.0」で最も高い。これにもかかわらず、全体最適解を目的とする手法を適用した場合、この組み合わせではなく、スキャンＩＤ「St1」のアドレスＡと、スキャンＩＤ「St2」のアドレスＣの組み合わせが、最も適切な組み合わせとされる。
【００４５】
そこで、特定部１４は、全体最適解ではなく、安定マッチング解を求めるマッチング手法を用いる。例えば、安定マッチング解を求めるマッチング手法として、Gale-Shapleyアルゴリズムがある。このアルゴリズムでは、お互いに最も高い類似度であるにもかかわらず類似度が低い異なるペアが選択される状態が発生しないようなアルゴリズムである。
【００４６】
図６は、図４に示す類似度行列から安定マッチング解として求められるＩＰアドレスの組み合わせを説明する図である。
【００４７】
図６に示すように、安定マッチング解を求めるマッチング手法を適用した場合、スキャンＩＤ「St1」のアドレスＡと、スキャンＩＤ「St2」のアドレスＢとが、最も適切なＩＰアドレスの組み合わせとして求められている。スキャンＩＤ「St1」のアドレスＡと、スキャンＩＤ「St2」のアドレスＢとは、非常に高い類似度「1.0」を示す。また、スキャンＩＤ「St1」のアドレスＤと、スキャンＩＤ「St2」のアドレスＦとが、最も適切なＩＰアドレスの組み合わせとして求められている。スキャンＩＤ「St1」のアドレスＤと、スキャンＩＤ「St2」のアドレスＦとは、非常に「0.9」と高い類似度を示す。
【００４８】
これに対し、スキャンＩＤ「St1」のアドレスＣと、スキャンＩＤ「St2」のアドレスＣとは、「0.4」と比較的低い類似度を示す。異なる２つのネットワークスキャンにおいて、全く同一の機器２がいずれのネットワークスキャン時に存在するとは限らない。例えば、電源が落とされた機器２は、ネットワークスキャンには応答せず、新たにネットワークに接続した機器２は、ネットワークスキャンに応答する。
【００４９】
したがって、特定部１４は、低い類似度を示す組み合わせ、具体的には、予め設定した所定の閾値を下回る要素（類似度）の組み合わせについては、この要素に対応する組み合わせのＩＰアドレス上の機器２が、異なる機器２であると特定する。そして、特定部１４は、予め設定した所定の閾値を下回る要素（類似度）の組み合わせを解消する。特定部１４は、最終的に残った組み合わせのＩＰアドレスを、同一機器のＩＰアドレスとして出力する。
【００５０】
図７は、図１に示す特定部１４が出力する出力結果の一例を示す図である。図７の例では、特定部１４は、スキャンＩＤ「St1」におけるアドレスＡと、スキャンＩＤ「St2」におけるアドレスＢとを対応付けて出力することによって、スキャンＩＤ「St1」におけるアドレスＡと、スキャンＩＤ「St2」におけるアドレスＢとが同一機器のＩＰアドレスであることを示す。
【００５１】
つまり、時刻ｔ１のネットワークスキャンにおいてアドレスＡに存在した機器２は、時刻ｔ２のネットワークスキャンでは、アドレスＢに移動したことを意味する。そして、時刻ｔ１のネットワークスキャンにおいてアドレスＤに存在した機器２は、時刻ｔ２のネットワークでは、アドレスＦに移動したことを意味する。
【００５２】
なお、同一の機器２であるにもかかわらず、異なるスキャンにおいて類似度が必ずしも最大にならない理由は、機器２のレスポンスが変化するためである。例えば、機器２のアップデートにより、バナー情報が変化する場合や、機器２の所有者によってコンテンツが変更される場合が該当する。
【００５３】
そして、組み合わせ解消の判定の際に使用する閾値は、任意に設定することができる。この場合、同一機器であってもレスポンスが変化することを前提にして、閾値が設定される。
【００５４】
［特定処理の処理手順］
次に、特定装置１０が実行する特定処理の処理手順について説明する。図８は、実施の形態に係る特定処理の処理手順を示すフローチャートである。
【００５５】
図８に示すように、特定装置１０では、ネットワークスキャン部１１が、ＩＰアドレスのリストに基づいて対象となるＩＰアドレスにネットワークスキャンを行い、機器２のレスポンスを収集する（ステップＳ１）。応答蓄積部１２は、ステップＳ１において収集されたレスポンスを蓄積する応答蓄積処理を行う（ステップＳ２）。
【００５６】
類似度計算部１３は、ステップＳ２において蓄積された応答情報のうち、スキャン時期が異なるレスポンス同士を比較して応答内容の類似度を計算する類似度計算処理を行う（ステップＳ３）。特定部１４は、ステップＳ３において計算された類似度を基に、最も類似するレスポンスを送信した機器２が同一であると特定する特定処理を行う（ステップＳ４）。
【００５７】
［実施の形態の効果］
このように、実施の形態に係る特定装置１０は、対象となるネットワークアドレス帯に対し、ネットワークスキャンにより機器２のレスポンスを収集し、収集したレスポンスを蓄積する。そして、特定装置１０は、蓄積したレスポンスのうち、スキャン時期が異なるレスポンス同士を比較して応答内容の類似度を計算し、計算した類似度を基に、最も類似するレスポンスを送信した機器が同一であると特定する。具体的には、特定装置１０は、異なるネットワークスキャン間で類似度の高いＩＰアドレスの組み合わせを求め、このＩＰアドレスの組み合わせから、ある機器２が、異なる時刻のスキャン間において、ＩＰアドレスがどのＩＰアドレスに変化したか、或いは、ＩＰアドレスが変化しなかったかを特定する。
【００５８】
従来の方法では、機器のＩＰアドレスが変化した場合に同一機器であることが識別できないため多重にカウントする問題があった。これに対し、本実施の形態に係る特定装置１０によれば、スキャン時期が異なるレスポンスの類似度を計算し、計算した類似度を基に、最も類似するレスポンスを送信した機器が同一であると特定するため、異なる時刻のスキャン間においてＩＰアドレスが変化した場合であっても、同一の機器２として特定できる。したがって、本実施の形態によれば、多重カウント問題が発生せず、正確にネットワーク上の機器２を管理することができる。
【００５９】
［実施形態のシステム構成について］
図１に示した特定装置１０の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、特定装置１０の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【００６０】
また、特定装置１０においておこなわれる各処理は、全部または任意の一部が、ＣＰＵおよびＣＰＵにより解析実行されるプログラムにて実現されてもよい。また、特定装置１０においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【００６１】
また、実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【００６２】
［プログラム］
図９は、プログラムが実行されることにより、特定装置１０が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００６３】
メモリ１０１０は、ＲＯＭ１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００６４】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、特定装置１０の各処理を規定するプログラムは、コンピュータ１０００により実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、特定装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００６５】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００６６】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３及びプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３及びプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６７】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００６８】
１０  特定装置
１１  ネットワークスキャン部
１２  応答蓄積部
１３  類似度計算部
１４  特定部
【図１】
2020217431.tif 000003
【図２】
2020217431.tif 000004
【図３−１】
2020217431.tif 000005
【図３−２】
2020217431.tif 000006
【図４】
2020217431.tif 000007
【図５】
2020217431.tif 000008
【図６】
2020217431.tif 000009
【図７】
2020217431.tif 000010
【図８】
2020217431.tif 000011
【図９】
2020217431.tif 000012
【国際調査報告】
2020217431.tif 000013
2020217431.tif 000014
2020217431.tif 000015
2020217431.tif 000016