(57)【要約】      （修正有）【課題】コンピュータネットワーク上の資産を検出および識別するための方法およびシステムを提供する。【解決手段】少なくとも１つの処理装置を使用して実行される、コンピュータ機器の資産を識別するためのコンピュータ実施方法であって、処理装置は、コンピュータ機器に接続されたデータパスから更新パケットを捕捉すること５２、更新パケットから識別される資産に関連するアプリケーション層のデータを抽出すること５４、抽出されたアプリケーションデータの層を使用して資産を識別すること５６、そして、資産のＩＤを出力すること５８、を行う。【選択図】図３
2017016650.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの処理装置を使用して実行される、コンピュータ機器の資産を識別するためのコンピュータ実施方法であって、
前記処理装置は、
前記コンピュータ機器に接続されたデータパスから更新パケットを捕捉すること、
識別される資産に関連するアプリケーション層のデータを前記更新パケットから抽出すること、
抽出されたアプリケーションデータの層を使用して前記資産を識別すること、そして、
前記資産のIDを出力すること、
を行う、コンピュータ実施方法。
【請求項２】
前記更新パケットを捕捉することは、前記コンピュータ機器に向かって伝播する更新パケットを捕捉することを含む、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記更新パケットの捕捉は、前記コンピュータ機器から伝播する更新パケットを捕捉することを含む、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記更新パケットの捕捉は、所与のパケットを捕捉し、前記所与のパケットを更新パケットであるとして識別することを含む、請求項１ないし３のいずれか１つに記載のコンピュータ実施方法。
【請求項５】
前記所与のパケットを更新パケットであるとして識別することは、
前記所与のパケットのインターネットプロトコル（IP）ヘッダを復号して、復号されたIPヘッダに含まれる情報を抽出すること、
前記パケットが伝送制御プロトコル（TCP）トラフィックに属しているか否かを、前記IPヘッダから抽出された情報を使用して判断すること、
前記所与のパケットがTCPトラフィックに属していない場合は、前記所与のパケットを破棄すること、および
前記所与のパケットがTCPトラフィックに属している場合は、TCPフローを再構築して、前記所与のパケットが更新パケットであるとして、プロトコル識別を介して再構築されたTCPフローを使用して判断すること、
を含む、請求項４に記載のコンピュータ実施方法。
【請求項６】
前記復号されたIPヘッダに含まれる情報を抽出することは、IPバージョン、ソースIP、宛先IP、および生存時間のうち少なくとも１つを抽出することを含む、請求項５に記載のコンピュータ実施方法。
【請求項７】
前記資産を識別することは、アプリケーション層のデータを使用して所与のフィンガープリントを生成し、前記所与のフィンガープリントを、各資産のIDに対応する照合用フィンガープリントと比較することを含む、請求項１ないし６のいずれか１つに記載のコンピュータ実施方法。
【請求項８】
各資産のIDは、名前とバージョンのうち少なくとも１つを含む、請求項７に記載のコンピュータ実施方法。
【請求項９】
前記所与のフィンガープリントを生成することは、アプリケーション層のデータのいくつかを抽出することを含む、請求項７または８に記載のコンピュータ実施方法。
【請求項１０】
前記抽出されたアプリケーションデータの層は、MajorVersion、MinorVersion、SuiteMask、OldProductType、NewProductType、SystemMetrics、およびProcessorArchitectureのうち少なくとも１つに対する所与の値を含む、請求項９に記載のコンピュータ実施方法。
【請求項１１】
前記更新パケットが、WindowsパケットとUnix系パケットの一方であるか否かを判断することをさらに含む、請求項１ないし１０のいずれか１つに記載のコンピュータ実施方法。
【請求項１２】
前記更新パケットがWindowsパケットである場合、アプリケーション層のデータを抽出することは、前記更新パケットからWSUS SOAPメッセージを抽出してWSUSメッセージに含まれるWSUSフィールドを解析することを含み、前記資産を識別することは、解析されたWSUSフィールドを使用して所与のWindowsフィンガープリントを生成し、前記所与のWindowsフィンガープリントを照合用Windowsフィンガープリントと比較することを含む、請求項１１に記載のコンピュータ実施方法。
【請求項１３】
所与のWindowsフィンガープリントを使用して、アプリケーションと、コンピュータ機器のハードウェア構成要素との少なくとも一方を検出して識別することをさらに含む、請求項１２に記載のコンピュータ実施方法。
【請求項１４】
前記更新パケットがUnix系パケットである場合に、前記更新パケットがFTPパケットとHTTPパケットの一方であるか否かを判断することをさらに含む、請求項１１に記載のコンピュータ実施方法。
【請求項１５】
前記更新パケットがFTPパケットである場合、アプリケーション層のデータ抽出を抽出することは、FTP転送設定を抽出してFTP要求メッセージを解析および分析することを含み、前記資産を識別することは、解析されたFTP要求メッセージを使用して、所与のUnixフィンガープリントを生成し、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む、請求項１４に記載のコンピュータ実施方法。
【請求項１６】
前記更新パケットがHTTPパケットである場合、アプリケーション層のデータを抽出することは、HTTPヘッダを抽出してHTTPフィールドを解析および分析することを含み、前記資産を識別することは、前記HTTPフィールドを使用して所与のUnixフィンガープリントを生成し、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む、請求項１４に記載のコンピュータ実施方法。
【請求項１７】
所与のUnixフィンガープリントを使用して、アプリケーションと、コンピュータ機器のハードウェア構成要素との少なくとも一方を検出して識別することをさらに含む、請求項１５または１６に記載のコンピュータ実施方法。
【請求項１８】
資産検出装置であって、少なくとも、処理装置、メモリ、およびデータを送受信するための通信手段を備えており、前記メモリは、前記処理装置によって実行されるときに請求項１ないし１７のいずれか１つに記載の方法のステップを実行する命令を格納する、資産検出装置。
【請求項１９】
コンピュータプログラム製品であって、コンピュータによって実行される時に、請求項１ないし１７のいずれか１つに記載の方法ステップを実行するコンピュータ実行可能な命令を格納するコンピュータ可読メモリを備える、コンピュータプログラム製品。
【請求項２０】
少なくとも１つの処理装置を使用して行われる、コンピュータネットワーク上のコンピュータ資産を検出および識別するためのコンピュータ実施方法であって、
前記処理装置は、
複数のコンピュータ機器を含むコンピュータネットワークから更新パケットを捕捉すること、そして、
各更新パケットに対して、
前記複数のコンピュータ機器のうち、捕捉された更新パケットに関連し対応する1つを識別すること、
前記捕捉された更新パケットからアプリケーション層のデータを抽出すること、
抽出されたアプリケーションデータの層を使用して、前記対応するコンピュータ機器の資産を識別すること、および
識別された前記資産及び前記対応するコンピュータ機器のＩＤを出力すること、
を行うことを特徴とする。
【請求項２１】
前記更新パケットを捕捉することは、コンピュータ機器に向かって伝播する更新パケットを捕捉することを含む、請求項２０に記載のコンピュータ実施方法。
【請求項２２】
前記更新パケットを捕捉することは、コンピュータ機器から伝播する更新パケットを捕捉することを含む、請求項２０に記載のコンピュータ実施方法。
【請求項２３】
前記更新パケットを捕捉することは、所与のパケットを捕捉して、前記所与のパケットを更新パケットであるとして識別することを含む、請求項２０ないし２２のいずれか１つに記載のコンピュータ実施方法。
【請求項２４】
前記所与のパケットを更新パケットであるとして識別することは、各所与のパケットに対して、
前記所与のパケットのインターネットプロトコル（IP）ヘッダを復号して、復号されたIPヘッダに含まれる情報を抽出すること、
前記所与のパケットが伝送制御プロトコル（TCP）トラフィックに属しているかどうかを、前記IPヘッダから抽出された情報を使って判断すること、
前記所与のパケットがTCPトラフィックに属していない場合は、前記所与のパケットを破棄すること、および
前記所与のパケットがTCPトラフィックに属している場合は、TCPフローを再構成し、プロトコル識別を介して再構成された前記TCPフローを使用して、前記所与のパケットが更新パケットであると判断すること、
を含む、請求項２３に記載のコンピュータ実施方法。
【請求項２５】
前記復号されたIPヘッダに含まれる情報を抽出することは、IPバージョン、ソースIP、宛先IP、および生存時間のうち少なくとも１つを抽出することを含む、請求項２４に記載のコンピュータ実施方法。
【請求項２６】
前記資産を識別することは、アプリケーション層のデータを使用して所与のフィンガープリントを生成し、前記所与のフィンガープリントを、各資産のIDに対応する照合用フィンガープリントと比較することを含む、請求項２０ないし２５のいずれか１つに記載のコンピュータ実施方法。
【請求項２７】
各資産のIDは、名前とバージョンのうち少なくとも１つを含む、請求項２６に記載のコンピュータ実施方法。
【請求項２８】
前記所与のフィンガープリントを生成することは、アプリケーション層のデータの一部を抽出することを含む、請求項２６または２７に記載のコンピュータ実施方法。
【請求項２９】
前記抽出されたアプリケーションデータの層は、MajorVersion、MinorVersion、SuiteMask、OldProductType、NewProductType、SystemMetrics、およびProcessorArchitectureのうち少なくとも１つに対する所与の値を含む、請求項２８に記載のコンピュータ実施方法。
【請求項３０】
前記更新パケットが、WindowsパケットとUnix系パケットの一方であるか否かを判断することをさらに含む、請求項２０ないし２９のいずれか１つに記載のコンピュータ実施方法。
【請求項３１】
前記更新パケットがWindowsパケットである場合、アプリケーション層のデータを抽出することは、前記更新パケットからWSUS SOAPメッセージを抽出してWSUSメッセージに含まれるWSUSフィールドを解析することを含み、前記資産を識別することは、解析されたWSUSフィールドを使用して所与のWindowsフィンガープリントを生成し、前記所与のWindowsフィンガープリントを照合用Windowsフィンガープリントと比較することを含む、請求項３０に記載のコンピュータ実施方法。
【請求項３２】
所与のWindowsフィンガープリントを使用して、アプリケーションと、コンピュータ機器のハードウェア構成要素との少なくとも一方を検出して識別することをさらに含む、請求項３１に記載のコンピュータ実施方法。
【請求項３３】
前記更新パケットがUnix系パケットである場合に、前記更新パケットがFTPパケットとHTTPパケットの一方であるか否かを判断することをさらに含む、請求項３０に記載のコンピュータ実施方法。
【請求項３４】
前記更新パケットがFTPパケットである場合、アプリケーション層のデータを抽出することは、FTP転送の設定を抽出して、FTP要求メッセージを解析および分析することを含み、前記資産を識別することは、解析されたFTP要求メッセージを使用して、所与のUnixフィンガープリントを生成し、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む、請求項３３に記載のコンピュータ実施方法。
【請求項３５】
前記更新パケットがHTTPパケットである場合、アプリケーション層のデータを抽出することは、HTTPヘッダを抽出してHTTPフィールドを解析および分析することを含み、前記資産を識別することは、HTTPフィールドを使用して所与のUnixフィンガープリントを生成して、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む、請求項３３に記載のコンピュータ実施方法。
【請求項３６】
所与のUnixフィンガープリントを使用して、コンピュータ機器のアプリケーションを検出して識別することをさらに含む、請求項３４または３５に記載のコンピュータ実施方法。
【請求項３７】
前記コンピュータ機器のうち対応する１つを識別することは、更新パケットに関連するIPアドレスを使用して行う、請求項２０ないし３６のいずれか１つに記載のコンピュータ実施方法。
【請求項３８】
資産検出装置であって、少なくとも、処理装置、メモリ、およびデータを送受信するための通信手段を備えており、前記メモリは、前記処理装置によって実行される時に請求項２０ないし３７のいずれか１つに記載の方法のステップを実行する命令を格納する、資産検出装置。
【請求項３９】
コンピュータプログラム製品であって、コンピュータによって実行される時に請求項２０ないし３７のいずれか１つに記載の方法のステップを実行するコンピュータ実行可能な命令を格納するコンピュータ可読メモリを含む、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ資産識別の分野に関し、より詳細には、コンピュータネットワーク上の資産を検出および識別するための方法およびシステムに関する。
【背景技術】
【０００２】
資産の検出は、コンピュータネットワークやセキュリティに関連するいくつかの作業において重要なタスクを代表する。例えば、ネットワーク管理者は、彼らのコンピュータネットワーク内の重要な資産の最新の目録を維持する必要がある。同様に、セキュリティ管理者は、安全保障上の出来事における重大度および深刻度を判定するために、既存の資産を認識する必要がある。
【０００３】
コンピュータ資産は、オペレーティングシステム、サービス、アプリケーション等のソフトウェア資産や、ワークステーションまたはコンピュータ機器、サーバ、ルータ等のハードウェア装置を含むことができる。
【０００４】
コンピュータネットワーク上に見られるソフトウェア資産とハードウェア資産の増加およびソフトウェア資産の急速な進化により、手動による監査や静的な目録作成が非現実的である場合がある。コンピュータネットワーク上の資産を検出するための様々な技術が開発されている。資産検出技術の２つの主たるカテゴリが存在し、すなわち、受動的にトラフィックを監視する受動資産検出方法と、１つ以上のパケットがトラフィックを誘導するためにコンピュータ機器に送信される能動的資産検出方法とがある。能動的資産検出方法は、受動的手法よりも正確な結果を提供することができるが、テストされるコンピュータ機器やそれらのネットワークの機能を混乱させることがある。従って、トラフィックを注入することが許可されていない、もしくは推奨されていない場合、受動的ツールが有利な場合がある。
【０００５】
資産検出ツールの精度は、動作モードのみならず、すなわち、受動的モード対能動的モードのみならず、検出の基礎となる方法ならびにフィンガープリントのデータベースの品質と完全性とにも左右される。両技術における現在の実施では、いくつかの資産を完全に見落としたり誤認することや、また、例えばWindows XP（登録商標）ではなくWindows（登録商標）と識別するなど、製品を正確に識別するのではなく資産系統群のみを識別するなど部分的にしか識別できない場合がある。資産に対する知識の欠如や不正確または誤った知識は、すべての依存的ツールや作業の成果にマイナスの影響を与えることがある。このことは、誤った意思判断および／またはコンピュータネットワークに関連して取られる誤った作業につながる可能性がある。さらに、実際の資産検出ツールの一部は、オペレーティングシステムとサービスアプリケーションの検出のみをサポートし、ネットワーク相互作用を有せずにコンピュータにインストールされた、もしくはコンピュータ上で実行される、非サービスアプリケーションの検出をサポートしない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、コンピュータネットワーク上のコンピュータ資産を検出および識別するための改良された方法およびシステムが必要である。
【課題を解決するための手段】
【０００７】
第1の広義の観点によれば、少なくとも1つの処理装置を使用して実行するコンピュータ装置の資産を識別するためのコンピュータ実施方法において、前記処理装置は、前記コンピュータ装置に接続されたデータパスから更新パケットを捕捉すること、識別される資産に関連するアプリケーション層のデータを前記更新パケットから抽出すること、抽出されたアプリケーションデータの層を使用して資産を識別すること、そして資産の識別を出力すること、を行うことを特徴とする。
【０００８】
一実施例において、更新パケットを捕捉するステップは、コンピュータ機器に向かって伝播する更新パケットを捕捉することを含む。
【０００９】
他の実施例において、更新パケットを捕捉するステップは、コンピュータ機器から伝播する更新パケットを捕捉することを含む。
【００１０】
一実施例において、更新パケットを捕捉するステップは、所与のパケットを捕捉し、前記所与のパケットを更新パケットであるとして識別することを含む。
【００１１】
一実施例において、前記所与のパケットを更新パケットであるとして識別するステップは、前記所与のパケットのインターネットプロトコル（IP）ヘッダを復号して、復号されたIPヘッダに含まれる情報を抽出すること、前記所与のパケットが伝送制御プロトコル（TCP）トラフィックに属しているかどうかを、前記IPヘッダから抽出された情報を使用して判断すること、前記所与のパケットがTCPトラフィックに属していない場合は、前記所与のパケットを破棄すること、および、前記所与のパケットがTCPトラフィックに属している場合は、TCPフローを再構築して、前記所与のパケットが更新パケットであるとして、プロトコル識別を介して再構築されたTCPフローを使用して判断すること、
を含む。
【００１２】
一実施例において、前記復号されたIPヘッダに含まれる情報を抽出することは、IPバージョン、ソースIP、宛先IP、および生存時間のうち少なくとも１つを抽出することを含む。
【００１３】
一実施例において、前記資産を識別するステップは、アプリケーション層のデータを使用して所与のフィンガープリントを生成し、前記所与のフィンガープリントを、各資産のIDに対応する照合用フィンガープリントと比較することを含む。
【００１４】
一実施例において、各資産のIDは、名前とバージョンのうち少なくとも１つを含む。
【００１５】
一実施例において、前記所与のフィンガープリントを生成するステップは、アプリケーション層のデータのいくつかを抽出することを含む。
【００１６】
一実施例において、前記抽出されたアプリケーションデータの層は、MajorVersion、MinorVersion、SuiteMask、OldProductType、NewProductType、SystemMetrics、およびProcessorArchitectureのうち少なくとも１つに対する所与の値を含む。
【００１７】
一実施例において、本方法は、前記更新パケットが、Windows（登録商標）パケットとUnix（登録商標）系パケットの一方であるか否かを判断することをさらに含む。
【００１８】
前記更新パケットがWindowsパケットである場合の一実施例において、アプリケーション層のデータを抽出するステップは、前記更新パケットからWSUS SOAPメッセージを抽出してWSUSメッセージに含まれるWSUSフィールドを解析することを含み、前記資産を識別するステップは、解析されたWSUSフィールドを使用して所与のWindowsフィンガープリントを生成し、前記所与のWindowsフィンガープリントを照合用Windowsフィンガープリントと比較することを含む。
【００１９】
一実施例において、本方法は、所与のWindowsフィンガープリントを使用して、アプリケーションと、コンピュータ機器のハードウェア構成要素との少なくとも一方を検出して識別することをさらに含む。
【００２０】
一実施例において、本方法は、前記更新パケットがUnix系パケットである場合に、前記更新パケットがFTPパケットとHTTPパケットの一方であるか否かを判断することをさらに含む。
【００２１】
前記更新パケットがFTPパケットである場合の一実施例において、アプリケーション層のデータを抽出するステップは、FTP転送設定を抽出してFTP要求メッセージを解析および分析することを含み、前記資産を識別するステップは、解析されたFTP要求メッセージを使用して所与のUnixフィンガープリントを生成し、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む。
【００２２】
前記更新パケットがHTTPパケットである場合の一実施例において、アプリケーション層のデータを抽出するステップは、HTTPヘッダを抽出してHTTPフィールドを解析および分析することを含み、前記資産を識別するステップは、前記HTTPフィールドを使用して所与のUnixフィンガープリントを生成し、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む。
【００２３】
一実施例において、本方法は、所与のUnixフィンガープリントを使用して、アプリケーションと、コンピュータ機器のハードウェア構成要素との少なくとも一方を検出して識別することをさらに含む。
【００２４】
第２の広義の観点によれば、資産検出装置は、少なくとも、処理装置、メモリ、およびデータを送受信するための通信手段を備えており、前記メモリは、前記処理装置によって実行される時に上述した方法のステップを実行する命令を格納する。
【００２５】
第３の広義の観点によれば、コンピュータプログラム製品は、コンピュータによって実行される時に上述した方法ステップを実行する、コンピュータ実行可能な命令を格納するコンピュータ可読メモリを含む。
【００２６】
他の広義の観点によれば、少なくとも１つの処理装置を使用して行われる、コンピュータネットワーク上のコンピュータ資産を検出および識別するためのコンピュータ実施方法において、前記処理装置は、複数のコンピュータ機器を含むコンピュータネットワークから更新パケットを捕捉すること、そして、各更新パケットに対して、前記複数のコンピュータ機器のうち、捕捉された更新パケットに関連し対応する1つを識別すること、前記捕捉された更新パケットからアプリケーション層のデータを抽出すること、抽出されたアプリケーションデータの層を使用して、前記対応するコンピュータ機器の資産を識別すること、および、識別された前記資産及び前記対応するコンピュータ機器のＩＤを出力すること、を行うことを特徴とする。
【００２７】
一実施例において、前記更新パケットを捕捉するステップは、コンピュータ機器に向かって伝播する更新パケットを捕捉することを含む。
【００２８】
別の実施例において、前記更新パケットを捕捉するステップは、コンピュータ機器から伝播する更新パケットを捕捉することを含む。
【００２９】
一実施例において、更新パケットを捕捉するステップは、所与のパケットを捕捉して、前記所与のパケットを更新パケットであるとして識別することを含む。
【００３０】
一実施例において、前記所与のパケットを更新パケットであるとして識別するステップは、各所与のパケットに対して、前記所与のパケットのインターネットプロトコル（IP）ヘッダを復号して、復号されたIPヘッダに含まれる情報を抽出すること、前記所与のパケットが伝送制御プロトコル（TCP）トラフィックに属しているかどうかを、前記IPヘッダから抽出された情報を使って判断すること、前記所与のパケットがTCPトラフィックに属していない場合は、前記所与のパケットを破棄すること、および、前記所与のパケットがTCPトラフィックに属している場合は、TCPフローを再構成し、プロトコル識別を介して再構成された前記TCPフローを使用して、前記所与のパケットが更新パケットであると判断すること、を含む。
【００３１】
一実施例において、前記復号されたIPヘッダに含まれる情報を抽出するステップは、IPバージョン、ソースIP、宛先IP、および生存時間のうち少なくとも１つを抽出することを含む。
【００３２】
一実施例において、前記資産を識別するステップは、アプリケーション層のデータを使用して所与のフィンガープリントを生成し、前記所与のフィンガープリントを、各資産のIDに対応する照合用フィンガープリントと比較することを含む。
【００３３】
一実施例において、各資産のIDは、名前とバージョンのうち少なくとも１つを含む。
【００３４】
一実施例において、前記所与のフィンガープリントを生成するステップは、アプリケーション層のデータの一部を抽出することを含む。
【００３５】
一実施例において、前記抽出されたアプリケーションデータの層は、MajorVersion、MinorVersion、SuiteMask、OldProductType、NewProductType、SystemMetrics、およびProcessorArchitectureのうち少なくとも１つに対する所与の値を含む。
【００３６】
一実施例において、本方法は、前記更新パケットが、WindowsパケットとUnix系パケットの一方であるか否かを判断することをさらに含む。
【００３７】
前記更新パケットがWindowsパケットである場合の一実施例において、アプリケーション層のデータを抽出するステップは、前記更新パケットからWSUS SOAPメッセージを抽出して、WSUSメッセージに含まれるWSUSフィールドを解析することを含み、前記資産を識別するステップは、解析されたWSUSフィールドを使用して所与のWindowsフィンガープリントを生成し、前記所与のWindowsフィンガープリントを照合用Windowsフィンガープリントと比較することを含む。
【００３８】
一実施例において、本方法は、所与のWindowsフィンガープリントを使用して、アプリケーションと、コンピュータ機器のハードウェア構成要素との少なくとも一方を検出して識別することをさらに含む。
【００３９】
一実施例において、本方法は、前記更新パケットがUnix系パケットである場合に、前記更新パケットがFTPパケットとHTTPパケットの一方であるか否かを判断することをさらに含む。
【００４０】
前記更新パケットがFTPパケットである場合の一実施例において、アプリケーション層のデータを抽出するステップは、FTP転送設定を抽出して、FTP要求メッセージを解析および分析することを含み、前記資産を識別するステップは、解析されたFTP要求メッセージを使用して、所与のUnixフィンガープリントを生成し、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む。
【００４１】
前記更新パケットがHTTPパケットである場合の一実施例において、アプリケーション層のデータを抽出するステップは、HTTPヘッダを抽出してHTTPフィールドを解析および分析することを含み、前記資産を識別するステップは、HTTPフィールドを使用して所与のUnixフィンガープリントを生成して、前記所与のUnixフィンガープリントを照合用Unixフィンガープリントと比較することを含む。
【００４２】
一実施例において、本方法は、所与のUnixフィンガープリントを使用して、アプリケーションと、コンピュータ機器のハードウェア構成要素との少なくとも一方を検出して識別することをさらに含む。
【００４３】
一実施例において、前記コンピュータ機器のうち対応する１つを識別するステップは、更新パケットに関連するIPアドレスを使用して行う。
【００４４】
更なる広義の観点によれば、資産検出装置は、少なくとも、処理装置、メモリ、およびデータを送受信するための通信手段を備えており、前記メモリは、前記処理装置によって実行される時に上述した方法のステップを実行する命令を格納する。
【００４５】
更に他の広義の観点によれば、コンピュータプログラム製品は、コンピュータによって実行される時に上述した方法のステップを実行するコンピュータ実行可能な命令を格納するコンピュータ可読メモリを含む。
【００４６】
本発明の特徴および利点は、添付の図面と組み合わせた以下の説明より明らかになるであろう。
【図面の簡単な説明】
【００４７】
【図１】一実施例における、資産検出システムを備えたコンピュータネットワークのブロック図である。
【図２】一実施例における、資産検出装置のブロック図である。
【図３】一実施例における、コンピュータ機器が備える資産を検出および識別するための方法を示すフローチャートである。
【図４】一実施例における、コンピュータ機器、更新サーバ、およびウェブ更新リポジトリの間におけるデータの流れを示すブロック図である。
【図５】一実施例における、データストリームから更新パケットを抽出して識別する方法を示すフローチャートである。
【図６】一実施例における、パケット内に含まれるデータアプリケーション情報を使用してパケット用フィンガープリントを生成する方法を示す図である。
【図７ａ】一実施例における、更新パケットを使用してWindowsオペレーティングシステムとLinux（登録商標）オペレーティングシステムを検出して識別するための方法を示すフローチャートである。
【図７ｂ】一実施例における、更新パケットを使用してWindowsオペレーティングシステムとLinuxオペレーティングシステムを検出して識別するための方法を示すフローチャートである。
【図８】一実施例における、コンピュータネットワーク上に存在する所与のコンピュータ機器の資産を識別して、前記所与のコンピュータ機器を識別する方法を示す図である。
【００４８】
添付の図面において、同一の要素には同一の参照記号を付すことに注意されたい。
【発明を実施するための形態】
【００４９】
一実施例において、コンピュータ機器の資産を検出および識別する受動的方法およびシステム、すなわち、いかなる走査も行わずにコンピュータ機器の資産を識別する方法およびシステムについて説明する。他の実施例において、複数のコンピュータ機器によって構成されたコンピュータネットワーク上に存在する資産を検出および識別する方法およびシステムについて説明する。この場合、本方法およびシステムは、資産を検出および識別し、識別された資産がインストールされた所与のコンピュータ機器をさらに識別するように構成される。
【００５０】
コンピュータ機器の資産は、オペレーティングシステム、サービス、アプリケーション等のソフトウェア資産とすることができる。コンピュータ機器の資産はまた、コンピュータ機器に含まれるもしくはコンピュータ機器に接続された、プリンタ、モニタ、スキャナ、サウンドカード、ビデオカード等のハードウェア部品であってもよい。
【００５１】
複数のコンピュータ機器から構成されるコンピュータネットワークの資産は、オペレーティングシステム、サービス、アプリケーション等の所与のコンピュータ機器にインストールされたソフトウェア資産とすることができる。コンピュータネットワークの資産はまた、ワークステーションまたはコンピュータ機器、サーバ、ルータ等のハードウェア部品であってもよい。
【００５２】
一実施例において、本発明の方法およびシステムは、資産を検出し、識別目的のために検出された資産の少なくとも１つの特性を判定することができる。例えば、本発明の方法およびシステムは、オペレーティングシステム、実行中のサービス、インストールされたアプリケーションの正確な名前とバージョン、および／または同様のものを検出および識別することができる。本方法およびシステムによって実行される資産の検出および識別によって、ユーザは検出された資産の変更履歴を記録することができる。
【００５３】
他の実施例において、複数の異なる資産識別技術の使用中にコンピュータネットワーク上の資産を検出および識別するための方法を記載する。異なる資産識別技術は、異なる識別結果を提供することができる。例えば、第１の識別方法は、所与のコンピュータ機器で実行されている所与のオペレーティングシステムがWindowsであるとして識別することができ、第２の異なる識別方法は、所与のオペレーティングシステムがLinuxであるとして識別することができる。この場合、本発明の方法及びシステムは、異なる識別結果のうちの１つがtrueまたは正しく識別したかを判断することを可能にする。
【００５４】
図１は、クラウド１２などの通信ネットワークに接続されたコンピュータネットワーク１０の一実施形態を示す。資産検出システム１４は、コンピュータネットワーク１０に含まれる資産を識別するために、コンピュータネットワーク１０に接続される。
【００５５】
コンピュータネットワーク１０は、複数のコンピュータ機器１６ａないし１６ｈ、２つのスイッチ１８および２０、ルータ２２、およびファイアウォール２４から構成される。コンピュータ機器１６ａないし１６dはすべて第１スイッチ１８に接続され、コンピュータ機器１６eないし１６ｈはそれぞれ第２スイッチ２０に接続される。２つのスイッチ１８および２０はそれぞれ、ファイアウォール２４を介してクラウド１２に接続されたルータ２２に接続される。図１に示すように、異なるオペレーティングシステムを、コンピュータ機器１６ａないし１６ｈのうち少なくともいくつかで実行することができる。例えば、Macオペレーティングシステムをコンピュータ機器１６ａで実行可能であり、Windows XPをコンピュータ機器１６ｂで実行可能であり、Windows 7をコンピュータ機器１６ｃで実行可能であり、Ubuntu（登録商標） Linuxをコンピュータ機器１６ｄで実行可能である。同様に、FreeBSDをコンピュータ機器１６ｅで実行可能であり、Solarisをコンピュータ機器１６ｆで実行可能であり、Windows 2003 Serverをコンピュータ機器１６ｇで実行可能であり、Red Hat Enterprise（登録商標）（RHE）をコンピュータ機器１６ｈで実行可能である。なお、コンピュータ機器１６ａないし１６ｈの上記のオペレーティングシステムは、単なる例示にすぎない。
【００５６】
また、コンピュータネットワーク１０は単なる例示であることを理解すべきである。コンピュータネットワーク１０に含まれる構成要素／要素の数および種類は、異なってもよい。例えば、コンピュータネットワーク１０は８台のコンピュータ機器１６ａないし１６ｈで構成されるが、コンピュータネットワーク１０が少なくとも２つのコンピュータ機器から構成される限りで、コンピュータ機器の数は異なってもよい。同様に、スイッチおよび／またはルータの数が異なってもよい。また、コンピュータネットワークが異なる構成であってもよい。例えば、コンピュータネットワークは、コンピュータ機器１６ａないし１６ｈのうち２つにそれぞれ接続された４つのスイッチを含んでもよい。別の例では、コンピュータネットワークは、インターネットに対するルータアクセスに接続された複数のローカルエリアネットワーク（LAN）セグメントを含んでもよく、資産検出装置は、ルータに接続されてもよい。各LANセグメントは、資産検出装置が接続されたスイッチを介して互いに接続された複数のコンピュータ機器を含んでもよい。
【００５７】
資産検出システム１４は、２つの資産検出装置３０および３４と、資産コンソリデータ３６とを備える。資産検出器３０および３４はそれぞれ少なくとも、処理装置、メモリ、およびデータを受信および／または送信するための通信モジュールを備える。資産検出装置３０および３４はそれぞれ、コンピュータネットワーク１０内の一点でのデータトラフィックを分析することによって資産を検出および識別するように構成される。例えば、資産検出装置３０は、コンピュータ機器１６ａないし１６ｄのグループに含まれる資産を識別するために、スイッチ１８を通過するデータトラフィックを監視することができ、また、資産検出装置３４は、コンピュータ機器１６ｅないし１６ｈのグループに含まれる資産を識別するために、スイッチ２０を通過するデータトラフィックを監視することができる。資産検出装置３０および３４はそれぞれ、検出および識別された資産を資産コンソリデータ３６に送信するように構成される。２つの資産検出装置３０および３４から受信した所与の資産のIDが異なる実施例においては、資産コンソリデータ３６は、下記のように、資産のIDが正確であるかどうかを判断するように構成される。
【００５８】
一実施例において、２つの資産検出装置３０および３４は、コンピュータネットワーク１０上の資産を識別するための異なる資産検出技術を使用するように構成される。例えば、資産検出装置３０は、コンピュータ機器１６ａないし１６ｄの資産を識別するために受動的検出技術を使用するように構成され、資産検出装置３４は、コンピュータ機器１６ａないし１６ｄの資産を識別するために能動的検出技術を使用するように構成することができる。
【００５９】
一実施例において、資産検出装置３０および３４の少なくともいずれか一方は、図２に示す受動的コンピュータ実施検出方法５０を実行するように構成される。所与の資産検出装置は、そのIDが既知となるように、所与のコンピュータ機器とスイッチとの間の通信リンクに接続されてもよい。例えば、所与の資産検出装置は、スイッチ１８とコンピュータ機器１６ａとの間の通信リンクまたはデータパスに接続されてもよい。この場合、コンピュータ機器１６ａのIDは既知であり、資産検出装置によって識別されたいずれの資産もコンピュータ機器１６ａに属するとみなされる。
【００６０】
この場合、所与の資産検出装置のメモリは、該メモリに格納された命令文および／または説明文を含み、これは、所与の資産検出装置の処理装置によって実行される時に、方法５０のステップを実行する。
【００６１】
図２は、いくつかの実施形態による、資産検出装置３０および３４の例を示すブロック図である。資産検出装置３０および３４は、典型的には、メモリ４２に格納されたモジュール、プログラムおよび／または命令を実行してそれにより処理操作を行う１つまたは複数の処理装置（CPU）４１と、メモリ４２と、これらの構成要素を相互接続するための１つまたは複数の通信バス４３とを含む。通信バス４３は、システム構成要素間を相互接続し、その通信を制御する回路（チップセットと呼ばれることもある）を任意で含んでもよい。メモリ４２は、DRAM、SRAM、DDR RAM又は他のランダムアクセス固体記憶装置などの高速ランダムアクセスメモリを含み、１つまたは複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶装置などの不揮発性メモリを含んでもよい。メモリ４２は、CPU４１から離れて位置する１つ以上の記憶媒体を任意で含んでもよい。メモリ４２またはメモリ４２内の不揮発性メモリ装置は、非一時的コンピュータ可読記憶媒体を含む。いくつかの実施形態では、メモリ４２またはメモリ４２の不揮発性コンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、またはそのサブセットを格納する。
【００６２】
・更新パケットをデータパスから捕捉するための捕捉モジュール４４
【００６３】
・識別される資産に関するデータを、捕捉されたパケットから抽出するための抽出モジュール４５
【００６４】
・抽出された情報を使用して資産を識別するための識別モジュール４６
【００６５】
・識別された資産を出力するための出力モジュール４７
【００６６】
いくつかの実施形態では、メモリ４２は下記のモジュールまたはサブモジュール、もしくはそのサブセットを任意で含んでもよい。
【００６７】
・捕捉されたパケットのIPヘッダを復号するための復号モジュール４８ａ
【００６８】
・捕捉されたパケットがTCPトラフィックに属するかどうかを判断するためのTCPモジュール４８ｂ
【００６９】
・捕捉されたパケットのTCPフローを再構築するための再構築モジュール４８ｃ
【００７０】
・捕捉されたパケットが更新パケットであるか否かを、再構築されたTCPフローを使用して判断するための判断モジュール４８ｄ
【００７１】
上記要素のそれぞれは、１つまたは複数の前記メモリ装置に格納することができ、上記の機能を実行するための命令のセットに対応する。上記のモジュールまたはプログラム（すなわち、命令のセット）は、個別のソフトウェアプログラム、手順又はモジュールとして実施される必要はなく、従ってこれらのモジュールの種々のサブセットを組み合わせること、もしくは他の方法で再配置することができる。いくつかの実施形態において、メモリ４２は、上記のモジュールおよびデータ構造のサブセットを格納することができる。さらに、メモリ４２は、上記以外の追加モジュールおよびデータ構造を格納することができる。いくつかの実施形態では、メモリ４２またはメモリ４２のコンピュータ可読記憶媒体に格納されたプログラム、モジュール、およびデータ構造は、図３、図５、図７Ａ、図７Ｂ、および図８を参照して以下に説明する方法のいずれかを実施するための命令を提供する。
【００７２】
図２は資産検出装置３０および３４を示すが、図２は、本明細書に記載された実施形態の構造概略としてよりも、むしろ管理モジュール中に存在し得る様々な特徴を機能的に記述することを意図している。実際に、そして当業者によって認識されるように、個別に示される項目を組み合わせたり、いくつかの項目を分離したりすることができる。
【００７３】
図３を参照して、所与のコンピュータ機器の少なくとも1つの資産を受動的に識別するための方法５０の一実施形態を説明する。最初のステップ５２において、所与のコンピュータ装置へ、または所与のコンピュータ装置から伝播するデータストリームを解析し、データストリームに含まれる更新パケットを捕捉する。図４に示すように、更新パケットは通常、コンピュータ機器と、ウェブ更新リポジトリに接続された更新サーバとの間で伝播する。オペレーティングシステム検出装置は、コンピュータ機器と更新サーバとの間に起こるデータストリームを聞き、コンピュータ機器と更新サーバとの間で伝播する更新パケットのコピーを得る。
【００７４】
ステップ５４において、アプリケーション層が、捕捉された更新パケットのアプリケーション層から抽出される。ステップ５６において、抽出されたアプリケーション層のデータを使用して資産が識別され、ステップ５８において、資産のIDが出力される。例えば、判定された資産のIDはローカルメモリまたは外部メモリに格納しても良い。同一の、もしくは他の実施例において、判定された資産のIDは、例えば所与のコンピュータ機器のIDと共に資産コンソリデータ３６に送信される。
【００７５】
ほとんどすべてのオペレーティングシステムとアプリケーションは、バグの修正、脆弱性の除去、新機能の追加等のために、頻繁な更新を必要とする。そして、コンピュータ機器は、インターネット上の更新サーバもしくはローカルコンピュータネットワーク上のミラー更新サーバと通信して、新規更新の可用性についての情報を得る。新規更新が利用可能になった場合、コンピュータ機器は、更新をダウンロードするために、更新サーバに接続するか、別のサーバにリダイレクトすることができる。更新処理中に、更新される資産についての情報を交換する初期化ステップがある。更新トラフィックは、次の理由の少なくともいくつかにおいて、資産検出の目的のために適切となり得る。第一に、更新はほとんどすべてのオペレーティングシステムとアプリケーションのために必要である。第二に、更新の可用性は頻繁に、もしくは定期的に（通常は週1回）発生し、この判定に関連する通信は、受動的に監視することができる。第三に、更新交換トラフィックは、オペレーティングシステムとサービスアプリケーションについてだけでなく、他のインストールされた非サービスアプリケーションについての情報を含む。第四に、資産名とバージョンまたは適用パッチに関する詳細情報は、通常、更新交換トラフィックに含まれている。さらに、更新通信は、多くの場合、暗号化されずに平文でやり取りされる。
【００７６】
図５は、方法５０のステップ５２で使用することができるデータストリーム内の更新パケットを識別するためのコンピュータ実施方法６０の一実施形態を示す。ステップ６２において、パケットがデータストリームから捕捉される。捕捉されたパケットのインターネットプロトコル（IP）ヘッダはステップ６４にて復号される。捕捉されたパケットのIPヘッダが復号されると、IPバージョン、ソースIP、宛先IP、生存時間等のIPヘッダに含まれる情報にアクセス可能となる。捕捉されたパケットのIPヘッダに含まれる情報を使用して、捕捉されたパケットが伝送制御プロトコル（TCP）データトラフィックに属するかどうかが判断される。
【００７７】
捕捉されたパケットがTCPデータトラフィックに属さない場合、更新トラフィックのほとんどがTCP上に構築されているため、捕捉されたパケットは破棄され、さらにパケットが捕捉されて、それが更新パケットであるかどうかを判定するために分析される。
【００７８】
捕捉されたパケットがTCPデータトラフィックに属している場合、ステップ６８でTCPフローを再構築する。同一のTCPセッションに属するパケットは、パケット検査（DPI）とプロトコル識別のために積層される。ステップ６９において、再構築されたTCPフローを使用して、捕捉されたパケットがプロトコル識別を介して更新パケットに対応するかどうかを判断する。捕捉されたパケットが更新パケットに対応しない場合、捕捉されたパケットは破棄され、別のパケットが捕捉されて分析される。捕捉されたパケットが更新パケットに対応する場合、方法５０のステップ５４で説明したように、データ情報が更新パケットから抽出される。
【００７９】
図３に戻り、ステップ５６において、コンピュータ機器の資産を識別することは、捕捉された更新パケットから抽出されたアプリケーション層のデータから捕捉された更新データ用のフィンガープリントを生成するステップと、判定されたフィンガープリントをデータベースに含まれる照合用フィンガープリントと比較するステップとを含んでもよい。データベースは、そこに格納された各照合用フィンガープリント用の所与の資産IDを含む。データベースに格納された資産IDは、資産名、資産のバージョン等を含んでもよい。したがって、判定されたフィンガープリントを照合用フィンガープリント指紋と照合することによって、資産のIDを判定することが可能である。
【００８０】
図６は、更新パケット用のフィンガープリントを生成する方法の一実施形態を示す。表７０は、更新パケットのアプリケーション層に含まれるアプリケーション層情報７２の例を示す。例えば、アプリケーション層情報７２は、client identification（ID）、type、MajorVersion、MinorVersion、ServicePackMajorNumber、ServicePackMinorNumber、LocaleID、ProcessorArchitecture、BuildNumber、SuiteMask、OldProductType、NewProductType、SystemMetrics、OSName、Date、および／または同様のものを含むことができる。表７４は、アプリケーション層情報７２から生成されたフィンガープリントの例を示す。フィンガープリント７４は、アプリケーション層情報７２から抽出された更新パケットに含まれるいくつかのアプリケーション層データ７６を含み、アプリケーション層データ７６は更新パケット用のフィンガープリントを形成する。アプリケーション層データ７６は、MajorVersion、MinorVersion、SuiteMask、OldProductType、 NewProductType、SystemMetrics、およびProcessorArchitectureの値を含む。表７４にはなく表７０に含まれる他の残りのアプリケーション層の情報は、フィンガープリントの一部ではない。
【００８１】
生成されたフィンガープリント７４は、データベース内の照合用フィンガープリントと比較される。各照合用フィンガープリントは、MajorVersion、MinorVersion、SuiteMask、 OldProductType、NewProductType、SystemMetrics、ProcessorArchitectureのアプリケーション層情報用のそれぞれの値と、対応するオペレーティングシステムを含む。従って、捕捉された更新パケット用に生成されたフィンガープリントがデータベースに格納された所与の照合用フィンガープリントに一致する場合、該所与の照合用フィンガープリントに関連するオペレーティングシステムが、生成されたフィンガープリントに割り当てられ、従って、捕捉された更新パケットに割り当てられる。
【００８２】
図７ａおよび７ｂは、更新パケットがWindowsのパケットとUnix系のパケットとの一方であるか否かが判定されたコンピュータのオペレーティングシステムを判定するためのコンピュータ実施方法１００の一実施形態を示す。なお、方法１００は、少なくとも処理装置が設けられた資産検出装置３０または３４、データを受信および／または送信するための通信モジュール、および、処理装置によって実施される時に方法１００のステップを実行する命令文および／または説明文を格納したメモリ等を備えたコンピュータ機器によって実施される。
【００８３】
ステップ１０２において、更新パケットが受信される。ステップ１０４で、更新パケットが深層パケット検査によって分析されて、受信された更新パケットがWindowsのパケットであるか否かが、Windows Server更新サービス（WSUS）アプリケーションプロトコル検出を介して判断される。更新パケットがWindowsのパケットである場合、本方法はステップ１０６へ進む。更新パケットがWindowsのパケットでない場合、受信した更新パケットがUnix系のパケットであるか否かをステップ１０８で判断する。受信した更新パケットがUnix系のパケットであるとして識別された場合、本方法は図７ｂのステップ１２４へ続く。
【００８４】
ステップ１０４に戻り、受信した更新パケットがWindowsのパケットであると識別された場合、ステップ１０６において、HTTPのアプリケーション層プロトコル上にある処理リクエストまたは回答であるWSUSシンプルオブジェクトアクセスプロトコル（SOAP）メッセージが、更新パケットに含まれるHTTPペイロードから抽出される。ステップ１１０において、XMLパーサを使用してWSUSフィールドが解析され、オペレーティングシステムに関連する情報を含むSOAPメッセージのフィールドが抽出される。SOAPメッセージは、アプリケーション間の通信を許可し、また境界によって範囲限定されているため、境界間に含まれるメッセージが、非障害クライアント要求用に抽出される。ステップ１１２において、抽出された関連情報からWindowsフィンガープリントが生成される。フィンガープリント７４のようなWSUSフィンガープリントは、ReportEventBatchクライアントレポートおよび初期RegisterComputerイベントを経て入手した特徴７２などの利用可能情報のサブセットである。
【００８５】
一実施例において、SOAPメッセージのより精巧な分析が、SOAPメッセージの残りの部分に含まれるインストールされたアプリケーションまたはドライバの正確な名前とバージョンを抽出するために必要とされる。この場合、SyncUpdates要求を介してWSUSクライアントによって提供されたSystemSpec情報が抽出され、インストールされたアプリケーションまたはドライバの名前とバージョンがSystemSpec情報から判定される。
【００８６】
ステップ１１４において、判定されたWindowsフィンガープリントは、データベース１６に格納されている照合用フィンガープリントと比較される。判定されたWindowsフィンガープリントが所与の照合用フィンガープリントに対応する場合、所与の照合用フィンガープリントに関連付けられているオペレーティングシステムのIDが、判定されたWindowsフィンガープリントに割り当てられ、それによって分析された更新パケットに割り当てられる。更新パケットに関連付けられたオペレーティングシステムのIDは、更新パケットが関連付けられたコンピュータ機器、すなわち、更新パケットの伝播先であり意図される、もしくは更新パケットの伝播元であるコンピュータ機器のIDと共に、ステップ１１８でメモリに格納される。
【００８７】
一実施例において、方法１００はアプリケーションおよび／またはハードウェア検出モードをさらに備える。ステップ１２０にてこのモードが起動されると、ステップ１１２で判定したWindowsフィンガープリントは、ステップ１２２にて、アプリケーションおよび／またはハードウェアの検出及び識別のために更に使用される。識別されたアプリケーションおよび／またはハードウェアは、ステップ１１８でメモリに格納される。
【００８８】
ステップ１０８に戻り、深層パケット検査を使用して、更新パケットがUnix系の更新パケットであるとして識別された場合、ステップ１２４にて、更新パケットがファイル転送プロトコル（FTP）パケットであるか否かを判断する。
【００８９】
更新パケットがFTPパケットであるとして識別された場合、ステップ１２６でFTP転送設定が更新パケットから抽出される。ステップ１２８で、FTP要求メッセージが解析および分析される。DPIを使用して、URL／パスを抽出する。ファイル名とドメイン名のパス選択がダウンロードに先行する場合、構成、ＯＳ系統群、およびオペレーティングシステムのバージョンを判定することができ、一方ファイルパスは、ダウンロードされたサービス／アプリケーションとそのバージョンの判定を可能にする。次いで、ステップ１２８で行われた分析結果を使用して、ステップ１３０で、Unixフィンガープリントを生成する。例えば、Unixフィンガープリントは、ドメイン名、ファイルパス、および拡張子によって定義することができる。
【００９０】
ステップ１２４に戻り、更新パケットがFTPパケットではない場合、ステップ１３２において、更新パケットがハイパーテキスト転送プロトコル（HTTP）更新に対応するか否かを判断する。
【００９１】
更新されたパケットがHTTP更新に対応する場合、ステップ１３４にてHTTPヘッダが更新パケットから抽出される。１３６において、HTTPヘッダのフィールドが解析および分析される。特に、HTTPヘッダに含まれる「ユーザエージェント」フィールドおよび「URL」フィールドが分析される。ステップ１２８と同様に、ＤＰＩを使用して、URL／パスを抽出する。ファイル名とドメイン名のパス選択がダウンロードに先行する場合、構成、ＯＳ系統群、およびオペレーティングシステムのバージョンを判定することができ、一方ファイルパスは、ダウンロードされたサービス／アプリケーションとそのバージョンの判定を可能にする。次いで、ステップ１３６で行われた分析結果を使用して、ステップ１３０で、更新パケット用のフィンガープリントが生成される。更新クライアントユーザエージェントが見られた場合、フィンガープリントは、ドメイン名、ファイルパス、および拡張子によって定義することができる。
【００９２】
なお、FTP更新パケットを使用したOSフィンガープリントの生成およびHTTP更新パケットを使用したOSフィンガープリントの生成を、実質的に同時に実行できることが理解されるべきである。
【００９３】
ステップ１３８にて、更新パケット用の判定されたフィンガープリントは、データベース１４０に格納された照合用フィンガープリントと比較される。データベース１４０に格納された各照合用フィンガープリントは、少なくとも名前およびバージョンによって定義される各オペレーティングシステムに関連付けられる。更新パケット用の判定されたフィンガープリントと所与の照合用フィンガープリントとの間で明白な一致が発見された場合、更新パケットに関連付けられた所与の照合用フィンガープリントは更新パケットに割り当てられ、オペレーティングシステムが正常に確認されたと言われる。
【００９４】
ステップ１４２にて、更新パケットに関連するオペレーティングシステムが正常に識別されたか否かが判定される。正常に識別された場合、ステップ１４４にて、更新パケットに関連付けられたオペレーティングシステムのIDは、更新パケットが関連付けられているコンピュータ機器、すなわち、更新パケットの伝播先であり意図される、もしくは更新パケットの伝播元であるコンピュータ機器のIDと共に、メモリに格納される。
【００９５】
一実施例において、方法１００はさらにアプリケーションおよび／またはハードウェア検出モードを含む。ステップ１４６にてこのモードが起動されると、ステップ１３８で判定した分配名およびバージョンが、ステップ１５０でアプリケーションおよび／またはハードウェアの検出および識別のためにさらに使用される。識別されたアプリケーションおよび／またはハードウェアは、ステップ１４４でメモリに格納される。
【００９６】
図８は、コンピュータネットワークに含まれる所与のコンピュータ装置のオペレーティングシステムを識別するためのコンピュータ実施方法１５１の一実施形態を示す。方法５０は、更新パケットに関連付けられたコンピュータ装置の分析されるIDが既知である場合に使用されるが、方法１５０はコンピュータ装置のIDが未知である場合にも使用可能である。
【００９７】
なお、方法１５１は、資産検出器３０または３４のようなコンピュータ装置を使用して実行され、該コンピュータ装置は少なくとも、処理装置と、データを受信および／または送信するための通信モジュールと、処理装置によって実行される時に方法１５１のステップを実行する命令文および／または命令を格納したメモリとを備えることを理解されたい。
【００９８】
ステップ１５２において、複数のコンピュータ機器を含むコンピュータネットワーク内を伝搬するデータストリームから更新パケットが捕捉される。なお、更新パケットを捕捉するために、任意の適切な方法を用いることが可能であることを理解されたい。例えば、上記の方法６０が使用可能である。
【００９９】
ステップ１５４において、更新パケットに関連付けられた所与のコンピュータ機器が識別される、すなわち、更新パケットが向けられた、もしくは更新パケットを伝播する所与のコンピュータ機器が識別される。一実施形態において、所与のコンピュータ装置は、それに関連するIPアドレス、通常は更新クライアントの観点で送信元IPアドレスを使用して識別される。
【０１００】
ステップ１５６において、アプリケーション層のデータを、捕捉された更新パケットのアプリケーション層から抽出する。抽出されたアプリケーション層のデータを使用して、ステップ１５８において、オペレーティングシステム等の資産を識別し、ステップ１６０において、資産と関連するコンピュータ機器のIDを出力する。例えば、判定された資産と所与のコンピュータ機器のIDを、ローカルメモリまたは外部メモリに格納してもよい。同じまたは別の実施形態では、判定された資産のIDは、所与のコンピュータ装置のIDと共に資産コンソリデータ３６に送られる。
【０１０１】
なお、方法１５０のステップ１５６は、方法５０のステップ５４に対応可能であることを理解されたい。同様に、方法１５０のステップ１５８は方法５０のステップ５６に対応可能であることを理解されたい。
【０１０２】
一実施例において、上述の方法及びシステムは、資産を識別するために、登録コンピュータ（RC）更新パケットを使用する。同じまたは別の実施形態では、上記の方法およびシステムは、資産を識別するために、レポートバッチイベント（RBE）更新パケットを使用する。
【表１】
2017016650.tif 000003
【０１０３】
表１は、RC更新パケットとRBE更新パケットに含まれるパラメータの一部を示す。いくつかのパラメータは、RC更新パケット内に存在してRBE更新パケットには存在しないか、もしくはその逆であるため、フィンガープリントに含まれるパラメータは、RC更新パケットが分析されるか否か、またはRBE更新パケットが分析されるか否かによって異なる場合がある。資産識別の精度は、RC更新パケットまたはRBE更新パケットが分析されるか否かによって異なる場合がある。例えば、RBE更新パケットのみを分析する場合、「Windows Server 2003のエディション」の仕様は判定されないが、RC更新パケットを解析することで、「Windows Server 2003のエディション」の仕様R1エディションとR2エディションを判定することができる。
【０１０４】
上述する本発明の実施形態は、例示的なものにすぎない。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されるものである。
【図１】
2017016650.tif 000004
【図２】
2017016650.tif 000005
【図３】
2017016650.tif 000006
【図４】
2017016650.tif 000007
【図５】
2017016650.tif 000008
【図７ａ】
2017016650.tif 000009
【図７ｂ】
2017016650.tif 000010
【図８】
2017016650.tif 000011
【図６】
2017016650.tif 000012
【外国語明細書】
2017016650000001.pdf