(57)【特許請求の範囲】
【請求項１】
ネットワークトラフィックにおけるアプリケーション情報を識別するための方法であって、前記方法は端末機器によって実行され、前記端末機器の第1の対応関係表は、前記端末機器上で動作しているプロセスの識別子と前記プロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、前記端末機器の第2の対応関係表は、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子との間の対応関係をレコード形式で格納しており、前記データストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含み、
前記方法は、
第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するステップと、
前記第1の対応関係表において、前記第1のデータストリームの前記識別子が格納されている第1のレコードを問い合わせるステップと、
前記第1のレコードが発見された場合、前記第1のレコード内のプロセスの識別子を取得し、前記第2の対応関係表において、前記第1のレコード内の前記プロセスの前記識別子が格納されている第2のレコードを問い合わせるステップと、
前記第2のレコードが発見された場合、前記第2のレコードからアプリケーションの識別子を取得するステップと、
前記アプリケーションの前記識別子を前記ネットワークセキュリティ装置に送信するステップと
を含む、方法。
【請求項２】
前記端末機器は、前記第1の対応関係表を、
フック関数を用いて前記端末機器が、オペレーティングシステムがプロセスを作成するイベントを取得するステップと、
プロセスを作成する前記イベントから新しく作成されたプロセスの識別子を取得するステップと、
前記新しく作成されたプロセスによって作成されたデータストリームの識別子を取得し、前記新しく作成されたプロセスの前記識別子と前記新しく作成されたプロセスによって作成された前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納するステップと
を用いて取得し、
前記端末機器が前記第1の対応関係表を取得することは、
前記フック関数を用いて前記端末機器が、前記オペレーティングシステムがプロセスを終了するイベントを取得するステップと、
プロセスを終了する前記イベントから前記終了したプロセスの識別子を取得し、前記第1の対応関係表から、前記終了したプロセスの前記識別子を含むレコードを削除するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
前記端末機器は、前記第1の対応関係表を、
オペレーティングシステムによって提供されたインターフェースを用いて前記端末機器が、前記端末機器上で動作している少なくとも1つのプロセスの識別子を取得するステップと、
取得したプロセスの識別子ごとに、前記端末機器が、前記プロセスによって作成されたデータストリームの識別子を取得し、前記プロセスの前記識別子と前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納するステップと
を用いて取得する、請求項１に記載の方法。
【請求項４】
前記端末機器は、前記第1の対応関係表を、
前記オペレーティングシステムによって提供されたインターフェースを用いて前記端末機器が、前記端末機器上で動作している少なくとも1つのプロセスの識別子を取得するステップと、
取得したプロセスの識別子ごとに、前記端末機器が、前記プロセスによって作成されたデータストリームの識別子を取得し、前記プロセスの前記識別子と前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納するステップと
を用いて取得する、請求項２に記載の方法。
【請求項５】
前記第1の対応関係表内のレコードはデータストリームの最終アクティビティ時刻をさらに含み、前記方法は、
前記端末機器が、前記第1の対応関係表における期限切れレコードを判定するステップであって、前記期限切れレコードは、データストリームのものである、前記期限切れレコードに含まれる最終アクティビティ時刻と現在時刻との間の時間間隔が所定の時間間隔を超えるレコードである、ステップと、
前記期限切れレコードを削除するステップと
をさらに含む、請求項２に記載の方法。
【請求項６】
前記端末機器が前記第1の対応関係表を取得した後に、前記方法は、
前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得するステップと、
前記取得したパケットから、前記パケットが属するデータストリームの識別子を取得するステップと、
前記第1の対応関係表内の、前記パケットが属する前記データストリームの前記識別子を含むレコード内のデータストリームの最終アクティビティ時刻を前記現在時刻に更新するステップと
をさらに含む、請求項５に記載の方法。
【請求項７】
前記端末機器が前記第1の対応関係表を取得した後に、前記方法は、
前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得するステップと、
前記取得したパケットから、パケット状況識別子と前記パケットが属するデータストリームの識別子とを取得するステップと、
前記パケット状況識別子がFINである場合、前記第1の対応関係表から、前記パケットが属する前記データストリームの前記識別子を含むレコードを削除するステップと
をさらに含む、請求項２に記載の方法。
【請求項８】
端末機器であって、端末機器はメモリとプロセッサとネットワークインターフェースとを含み、前記メモリと前記プロセッサと前記ネットワークインターフェースとはバスを用いて相互に通信し、
前記メモリは、プログラムコード、第1の対応関係表、および第2の対応関係表を格納するように構成され、前記第1の対応関係表は、前記端末機器上で動作しているプロセスの識別子と前記プロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、前記第2の対応関係表は、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子との間の対応関係をレコード形式で格納しており、前記データストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含み、
前記ネットワークインターフェースは、第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するように構成され、
前記プロセッサは、前記メモリに格納された前記プログラムコードを読み出して、
前記第1の対応関係表において、前記第1のデータストリームの前記識別子が格納されている第1のレコードを問い合わせるステップと、前記第1のレコードが発見された場合、前記第1のレコード内のプロセスの識別子を取得し、前記第2の対応関係表において、前記第1のレコード内の前記プロセスの前記識別子が格納されている第2のレコードを問い合わせるステップと、前記第2のレコードが発見された場合、前記第2のレコードからアプリケーションの識別子を取得するステップと、
を行い、
前記ネットワークインターフェースは、前記プロセッサによって取得された前記アプリケーションの前記識別子を前記ネットワークセキュリティ装置に送信するようにさらに構成される、
端末機器。
【請求項９】
前記プロセッサは、前記第1の対応関係表を、
フック関数を用いて、オペレーティングシステムがプロセスを作成するイベントを取得する動作と、プロセスを作成する前記イベントから新しく作成されたプロセスの識別子を取得する動作と、前記新しく作成されたプロセスによって作成されたデータストリームの識別子を取得し、前記新しく作成されたプロセスの前記識別子と前記新しく作成されたプロセスによって作成された前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納する動作と、
前記フック関数を用いて、前記オペレーティングシステムがプロセスを終了するイベントを取得する動作と、プロセスを終了する前記イベントから前記終了したプロセスの識別子を取得し、前記第1の対応関係表から、前記終了したプロセスの前記識別子を含むレコードを削除する動作と
を用いて取得するようにさらに構成される、
請求項８に記載の端末機器。
【請求項１０】
前記プロセッサは、前記第1の対応関係表を、オペレーティングシステムによって提供されたインターフェースを用いて、前記端末機器上で動作している少なくとも1つのプロセスの識別子を取得する動作と、取得したプロセスの識別子ごとに、前記端末機器が、前記プロセスによって作成されたデータストリームの識別子を取得し、前記プロセスの前記識別子と前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納する動作と、を用いて取得するようにさらに構成される、
請求項８に記載の端末機器。
【請求項１１】
前記プロセッサは、前記第1の対応関係表を、
前記オペレーティングシステムによって提供されたインターフェースを用いて前記端末機器が、前記端末機器上で動作している少なくとも1つのプロセスの識別子を取得するステップと、
取得したプロセスの識別子ごとに、前記端末機器が、前記プロセスによって作成されたデータストリームの識別子を取得し、前記プロセスの前記識別子と前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納するステップと
を用いて取得するようにさらに構成される、請求項９に記載の端末機器。
【請求項１２】
前記第1の対応関係表内のレコードはデータストリームの最終アクティビティ時刻をさらに含み、
前記プロセッサは、前記第1の対応関係表における期限切れレコードを判定し、前記期限切れレコードは、データストリームのものである、前記期限切れレコードに含まれる最終アクティビティ時刻と現在時刻との間の時間間隔が所定の時間間隔を超えるレコードであり、前記期限切れレコードを削除する、ようにさらに構成される、
請求項９に記載の端末機器。
【請求項１３】
前記プロセッサは、前記第1の対応関係表を取得した後で、前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得し、
前記取得したパケットから、前記パケットが属するデータストリームの識別子を取得し、
前記第1の対応関係表内の、前記パケットが属する前記データストリームの前記識別子を含むレコード内のデータストリームの最終アクティビティ時刻を前記現在時刻に更新する、
ようにさらに構成される、
請求項１２に記載の端末機器。
【請求項１４】
前記プロセッサは、前記第1の対応関係表を取得した後で、前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得し、
前記取得したパケットから、パケット状況識別子と前記パケットが属するデータストリームの識別子とを取得し、
前記パケット状況識別子がFINである場合、前記第1の対応関係表から、前記パケットが属する前記データストリームの前記識別子を含むレコードを削除する、ようにさらに構成される、
請求項９に記載の端末機器。
【請求項１５】
ネットワークセキュリティ装置と端末機器とを含む、ネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムであって、
前記ネットワークセキュリティ装置は、第1のデータストリームを受信し、前記第1のデータストリームの識別子を取得し、前記第1のデータストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含み、前記第1のデータストリームの前記識別子内の前記送信元アドレスまたは前記宛先アドレスに従って前記端末機器に前記第1のデータストリームの前記識別子を送信し、前記端末機器のアドレスは、前記第1のデータストリームの前記識別子内の前記送信元アドレスまたは前記宛先アドレスであり、前記端末機器によって送信されたアプリケーションの識別子を受信し、受信した前記アプリケーションの前記識別子は前記第1のデータストリームを送信したアプリケーションの識別子であると判定する、ように構成され、
前記端末機器は、第1の対応関係表と第2の対応関係表とを格納しており、前記第1の対応関係表は、前記端末機器上で動作しているプロセスの識別子と前記プロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、前記第2の対応関係表は、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子との間の第2の対応関係をレコード形式で格納しており、前記データストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含み、
前記端末機器は、前記第1のデータストリームの、前記ネットワークセキュリティ装置によって送信された前記識別子を受信し、前記第1の対応関係表において、前記第1のデータストリームの前記識別子が格納されている第1のレコードを問い合わせ、前記第1のレコードが発見された場合、前記第1のレコード内のプロセスの識別子を取得し、前記第2の対応関係表において、前記第1のレコード内の前記プロセスの前記識別子が格納されている第2のレコードを問い合わせ、前記第2のレコードが発見された場合、前記第2のレコードからアプリケーションの識別子を取得し、前記アプリケーションの前記識別子を前記ネットワークセキュリティ装置に送信する、ように構成される、
システム。
【請求項１６】
前記ネットワークセキュリティ装置は、第1のアソシエーション識別規則と第2のアソシエーション識別規則とを生成し、前記第1のアソシエーション識別規則は、前記アプリケーションの前記識別子と、前記第1のデータストリームの前記宛先アドレス、前記宛先ポート、および前記プロトコル識別子を含む3タプルとを含み、前記第2のアソシエーション識別規則は、前記アプリケーションの前記識別子と、前記第1のデータストリームの前記送信元アドレス、前記送信元ポート、および前記プロトコル識別子を含む3タプルとを含み、
第2のデータストリームを受信し、前記第2のデータストリームの宛先3タプルまたは送信元3タプルのうちの少なくとも1つを取得し、前記第2のデータストリームの前記宛先3タプルは、前記第2のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルであり、前記第2のデータストリームの前記送信元3タプルは、または前記第2のデータストリームの送信元アドレス、送信元ポート、および前記プロトコル識別子を含む3タプルであり、
前記取得した3タプルが、前記第1のアソシエーション識別規則と前記第2のアソシエーション識別規則のどちらかに含まれる3タプルと一致する場合、前記第2のデータストリームを送信したアプリケーションの識別子は、前記アソシエーション識別規則のどちらかに含まれる前記アプリケーションの前記識別子であると判定する、ようにさらに構成される、
請求項１５に記載のシステム。
【請求項１７】
ネットワークトラフィックにおけるアプリケーション情報を識別するための方法であって、
ネットワークセキュリティ装置から第1の識別レコードを受信するステップであって、前記第1の識別レコードは第1のデータストリームの識別子とアプリケーションの識別子とを含み、前記第1のデータストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む、ステップと、
端末機器から第2の識別レコードと対応関係表とを受信するステップであって、前記第2の識別レコードは第2のデータストリームの識別子とプロセスの識別子とを含み、前記対応関係表内の各レコードは、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子とを格納している、ステップと、
前記第1の識別レコードに含まれる前記第1のデータストリームの前記識別子が前記第2の識別レコードに含まれる前記第2のデータストリームの前記識別子と同じである場合、前記対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第1のアソシエーションレコードは、前記第1の識別レコードに含まれる前記アプリケーションの前記識別子と、前記第2の識別レコードに含まれる前記プロセスの前記識別子とを格納している、ステップと、
前記第1のアソシエーションレコードが存在しない場合、前記第1の識別レコードは誤った識別レコードであると判定するステップと
を含む、識別方法。
【請求項１８】
前記第1の識別レコードは識別方式の識別子をさらに含み、前記識別方式は、アソシエーション識別方式、特徴識別方式、およびヒューリスティック識別方式を含み、
前記第1の識別レコード内の前記識別方式の前記識別子がアソシエーション識別方式の識別子である場合、前記第1のアソシエーションレコードが存在しないときに、前記方法は、
前記ネットワークセキュリティ装置に通知メッセージを送信するステップであって、前記通知メッセージは、前記ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、前記第1のアソシエーション識別規則は、前記第1のデータストリームの前記宛先アドレス、前記宛先ポート、および前記プロトコル識別子を含む3タプルを含み、前記第2のアソシエーション識別規則は、前記第1のデータストリームの前記送信元アドレス、前記送信元ポート、および前記プロトコル識別子を含む3タプルを含む、ステップ
をさらに含む、請求項１７に記載の識別方法。
【請求項１９】
前記第1のアソシエーションレコードが存在しない場合、前記方法は、
前記端末機器が前記プロセスの前記識別子のパケット収集フラグを設定するように、前記端末機器に、前記第2の識別レコードに含まれる前記プロセスの前記識別子を送信するステップであって、前記パケット収集フラグは、前記端末機器に、オペレーティングシステムのインターフェースを用いて前記プロセスによって送信されたパケットを取り込んだ後で、前記プロセスによって続いて送信される完全なデータストリームを取得し、格納するよう命令するのに用いられる、ステップ
をさらに含む請求項１７または１８に記載の識別方法。
【請求項２０】
前記第1のアソシエーションレコードが存在しない場合、前記方法は、
前記対応関係表に第2のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第2のアソシエーションレコードは、前記第2の識別レコードに含まれるプロセスの識別子と対応するアプリケーションの識別子とを格納している、ステップと、
前記第2のアソシエーションレコードが存在する場合、第3のアソシエーション識別規則と第4のアソシエーション識別規則とを生成するステップであって、前記第3のアソシエーション識別規則は、前記第2のアソシエーションレコード内の前記アプリケーションの前記識別子と、前記第1のデータストリームの前記宛先アドレス、前記宛先ポート、および前記プロトコル識別子を含む3タプルとを含み、前記第4のアソシエーション識別規則は、前記第2のアソシエーションレコード内の前記アプリケーションの前記識別子と、前記第1のデータストリームの前記送信元アドレス、前記送信元ポート、および前記プロトコル識別子を含む3タプルとを含む、ステップと、
前記第3のアソシエーション識別規則と前記第4のアソシエーション識別規則とを前記ネットワークセキュリティ装置に送信するステップと
をさらに含む、請求項１７に記載の識別方法。
【請求項２１】
前記ネットワークセキュリティ装置から第3の識別レコードを受信するステップであって、前記第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、前記未識別のフラグは、前記ネットワークセキュリティ装置が前記第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられる、ステップと、
前記端末機器から第4の識別レコードを受信するステップであって、前記第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ステップと、
前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じである場合、前記対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第3のアソシエーションレコードは、前記第4の識別レコードに含まれる前記プロセスの前記識別子を格納している、ステップと、
前記第3のアソシエーションレコードが存在する場合、第5のアソシエーション識別規則と第6のアソシエーション識別規則とを生成するステップであって、前記第5のアソシエーション識別規則は、前記第3のアソシエーションレコードに含まれるアプリケーションの識別子と、前記第3のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、前記第6のアソシエーション識別規則は、前記第3のアソシエーションレコードに含まれる前記アプリケーションの前記識別子と、前記第3のデータストリームの送信元アドレス、送信元ポート、および前記プロトコル識別子を含む3タプルとを含む、ステップと、
前記第5のアソシエーション識別規則と前記第6のアソシエーション識別規則とを前記ネットワークセキュリティ装置に送信するステップと
をさらに含む、請求項１７から２０のいずれか一項に記載の識別方法。
【請求項２２】
前記ネットワークセキュリティ装置から第3の識別レコードを受信するステップであって、前記第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、前記未識別のフラグは、前記ネットワークセキュリティ装置が前記第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられる、ステップと、
前記端末機器から第4の識別レコードを受信するステップであって、前記第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ステップと、
前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じである場合、前記対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第3のアソシエーションレコードは、前記第4の識別レコードに含まれる前記プロセスの前記識別子を格納している、ステップと、
前記第3のアソシエーションレコードが存在する場合、前記第3のアソシエーションレコードに含まれるアプリケーションの識別子と前記第3のデータストリームの前記識別子とを前記ネットワークセキュリティ装置に送信するステップと
をさらに含む、請求項１７から２０のいずれか一項に記載の識別方法。
【請求項２３】
データ処理装置であって、前記データ処理装置はメモリとプロセッサとネットワークインターフェースとを含み、前記メモリと前記プロセッサと前記ネットワークインターフェースとはバスを用いて相互に通信し、
前記メモリはプログラムコードを格納し、
前記ネットワークインターフェースは、ネットワークセキュリティ装置から第1の識別レコードを受信し、前記第1の識別レコードは、第1のデータストリームの識別子とアプリケーションの識別子とを含み、前記第1のデータストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含み、
端末機器から、第2の識別レコードと対応関係表とを受信し、前記第2の識別レコードは、第2のデータストリームの識別子とプロセスの識別子とを含み、前記対応関係表内の各レコードがアプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子とを格納している、
ように構成され、
前記プロセッサは、前記メモリに格納された前記プログラムコードを読み出して、
前記第1の識別レコードに含まれる前記第1のデータストリームの前記識別子が前記第2の識別レコードに含まれる前記第2のデータストリームの前記識別子と同じである場合、前記対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第1のアソシエーションレコードは、前記第1の識別レコードに含まれる前記アプリケーションの前記識別子と、前記第2の識別レコードに含まれるプロセスの識別子とを格納している、ステップと、
前記第1のアソシエーションレコードが存在しない場合、前記第1の識別レコードは誤った識別レコードであると判定するステップと
を行う、データ処理装置。
【請求項２４】
前記第1の識別レコードは識別方式の識別子をさらに含み、前記識別方式は、アソシエーション識別方式、特徴識別方式、およびヒューリスティック識別方式を含み、
前記ネットワークインターフェースは、前記第1の識別レコード内の前記識別方式の前記識別子がアソシエーション識別方式の識別子である場合、前記第1のアソシエーションレコードが存在しないときに、前記ネットワークセキュリティ装置に通知メッセージを送信し、前記通知メッセージは、前記ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、前記第1のアソシエーション識別規則は、前記第1のデータストリームの前記宛先アドレス、前記宛先ポート、および前記プロトコル識別子を含む3タプルを含み、前記第2のアソシエーション識別規則は、前記第1のデータストリームの前記送信元アドレス、前記送信元ポート、および前記プロトコル識別子を含む3タプルを含む、
ようにさらに構成される、
請求項２３に記載のデータ処理装置。
【請求項２５】
前記ネットワークインターフェースは、前記ネットワークセキュリティ装置から第3の識別レコードを受信し、前記第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、前記未識別のフラグは、前記ネットワークセキュリティ装置が前記第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられ、
前記端末機器から第4の識別レコードを受信し、前記第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ようにさらに構成され、
前記プロセッサは、前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じであるかどうか判定し、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、前記対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、第3のアソシエーションレコードは、前記第4の識別レコードに含まれる前記プロセスの前記識別子を格納しており、
前記第3のアソシエーションレコードが存在する場合、第5のアソシエーション識別規則と第6のアソシエーション識別規則とを生成し、前記第5のアソシエーション識別規則は、前記第3のアソシエーションレコードに含まれるアプリケーションの識別子と、前記第3のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、前記第6のアソシエーション識別規則は、前記第3のアソシエーションレコードに含まれる前記アプリケーションの前記識別子と、前記第3のデータストリームの送信元アドレス、送信元ポート、および前記プロトコル識別子を含む3タプルとを含む、ようにさらに構成され、
前記ネットワークインターフェースは、前記第5のアソシエーション識別規則と前記第6のアソシエーション識別規則とを前記ネットワークセキュリティ装置に送信するようにさらに構成される、
請求項２３に記載のデータ処理装置。
【請求項２６】
前記ネットワークインターフェースは、前記ネットワークセキュリティ装置から第3の識別レコードを受信し、前記第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、前記未識別のフラグは、前記ネットワークセキュリティ装置が前記第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられ、
前記端末機器から第4の識別レコードを受信し、前記第4の識別レコードは第4のデータストリームの識別子とプロセスの識別子とを含む、ようにさらに構成され、
前記プロセッサは、前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じであるかどうか判定し、前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じである場合、前記対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、前記第3のアソシエーションレコードは、前記第4の識別レコードに含まれる前記プロセスの前記識別子を格納している、ようにさらに構成され、
前記ネットワークインターフェースは、前記プロセッサが前記第3のアソシエーションレコードは存在すると判定した場合、前記第3のアソシエーションレコードに含まれるアプリケーションの識別子と前記第3のデータストリームの前記識別子とを前記ネットワークセキュリティ装置に送信する、ようにさらに構成される、
請求項２３に記載のデータ処理装置。
【請求項２７】
データ処理装置と端末機器とネットワークセキュリティ装置とを含む、ネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムであって、
前記ネットワークセキュリティ装置は、第1のデータストリームを受信し、前記第1のデータストリームを送信したアプリケーションの識別子を判定した後で、第1の識別レコードを生成し、前記第1の識別レコードは、前記第1のデータストリームの識別子と前記アプリケーションの前記識別子とを含み、前記第1のデータストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含み、前記第1の識別レコードを前記データ処理装置に送信する、ように構成され、
前記端末機器は、第2の識別レコードを生成するために、前記端末機器上で動作しているプロセスの識別子と、前記プロセスによって作成された第2のデータストリームの識別子とを取得し、前記第2の識別レコードは、前記第2のデータストリームの前記識別子と前記プロセスの前記識別子とを含み、対応関係表を取得し、前記対応関係表内の各レコードがアプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子とを格納し、前記第2の識別レコードと前記対応関係表とを前記データ処理装置に送信する、ように構成され、
前記データ処理装置は、前記ネットワークセキュリティ装置から前記第1の識別レコードを受信し、前記端末機器から前記第2の識別レコードと前記対応関係表とを受信し、前記第1の識別レコードに含まれる前記第1のデータストリームの前記識別子が前記第2の識別レコードに含まれる前記第2のデータストリームの前記識別子と同じである場合、前記対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせ、前記第1のアソシエーションレコードは、前記第1の識別レコードに含まれる前記アプリケーションの前記識別子と前記第2の識別レコードに含まれる前記プロセスの前記識別子とを格納し、前記第1のアソシエーションレコードが存在しない場合、前記第1の識別レコードは誤った識別レコードであると判定する、ように構成される、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、参照によりその全体が本明細書に組み入れられる、2015年12月28日に中国特許庁に出願された「METHOD FOR IDENTIFYING APPLICATION INFORMATION IN NETWORK TRAFFIC，AND APPARATUS」という名称の中国特許出願第201511000809．5号の優先権を主張するものである。
【０００２】
本出願は、コンピュータおよびネットワーク通信技術の分野に関し、特に、ネットワークトラフィックにおけるアプリケーション情報を識別するための方法およびネットワークトラフィックにおけるアプリケーション情報を識別するための装置に関する。
【背景技術】
【０００３】
インターネット技術の急速な発展に伴い、インターネット技術に基づいて実施される、サービスおよびゲームを含む様々なアプリケーションがますます豊富になっている。企業やネットワーク規制当局の様々な要求を満たすために、例えば、ユーザのオンライン行動を管理、制御したり、トラフィックの統計を収集することによって現在人気があるアプリケーションにランク付けしたりするために、トラフィック識別がネットワークセキュリティ装置の基本機能になっている。ネットワークセキュリティ装置には、セキュリティゲートウェイ、ファイアウォール、ディープ・パケット・インスペクション（Deep Packet Inspection、DPI）装置といった、トラフィック分析管理機能を有するパケット転送装置が含まれる。
【０００４】
トラフィック識別技術は、プロトコル識別技術とアプリケーション識別技術とに分類される。その名が示すように、プロトコル識別技術とは、ネットワークセキュリティ装置が、装置を流れるトラフィック内の各データストリームが属するプロトコルの種類を判定し、さらに、総トラフィックにおける異なる種類のプロトコルのデータストリームの割合を判定することができることを意味する。
【０００５】
本出願における「アプリケーション」とは、特定の機能を提供し、ネットワークアクセスおよびパケット処理の能力を有するアプリケーションソフトウェアをいう。そうしたアプリケーションソフトウェアが端末機器上で実行された後で、端末機器上のネットワークインターフェースを使用可能にすることができ、使用可能になったインターフェースを用いてネットワーク内の別の端末機器への接続が確立され、確立された接続を用いて一連のパケットが伝送される。次いで、特定の機能、例えば、ウェブブラウザのInternet Explorer（IE）や、インスタント・メッセージング・ソフトウェアのテンセントQQや、ファイル転送プロトコル（File Transfer Protocol、FTP）クライアントのFileZillaが、受信パケットを処理することによってユーザに提供される。
【０００６】
アプリケーションはプロトコル上で動作する。言い換えると、複数の異なるアプリケーションが同じ種類のプロトコル上で動作することができる。例えば、ピア・ツー・ピア（peer to peer、P2P）クライアントとウェブブラウザとはどちらも、ハイパーテキスト転送プロトコル（HyperText Transfer Protocol、HTTP）プロトコルに基づいて実施される。したがって、トラフィック識別と管理および制御とがHTTPプロトコルのみに基づいて行われる場合、データストリームがP2Pクライアントによって送信されたものか、それともウェブブラウザによって送信されたものかを識別することができない。アプリケーション識別技術を用いてHTTPプロトコルのデータストリームを送信したアプリケーションの種類を識別することができれば、ユーザが仕事に関連したウェブ・アクセス・アクティビティを行っているか、それとも仕事と無関係なオンラインゲームをプレーしているかがわかり、オンラインゲームによって生じるトラフィックを阻止することができる。したがって、従来のプロトコル識別技術と比べて、アプリケーション識別技術を用いればより正確な管理制御効果を得ることができる。
【０００７】
既存のアプリケーション識別技術には、主に、特徴ベース識別技術、ヒューリスティック識別技術、およびアソシエーション識別技術が含まれる。
【０００８】
特徴ベース識別技術は、弁別的キーワードや、固定位置におけるフィールドコンテンツといったアプリケーションに固有のパケットのフォーマット設計特徴を用いて、パケットを送信したアプリケーションを識別することをいう。例えば、ネットワークセキュリティ装置がパケットを受信した後で、パケットが「PPLiveVA」というキーワードを搬送しているかどうかが問い合わされ、パケットが「PPLiveVA」というキーワードを搬送している場合、それは、そのパケットを送信したアプリケーションがウェブテレビPPTVであることを指示している。
【０００９】
ヒューリスティック識別技術は、アプリケーションによって送信されたパケットの長さ、パケットのコンテンツにおける文字の出現規則性、2つの通信相手のインタラクション規則性、パケット送信間隔といった現象を分析することによって、そのアプリケーションを別のアプリケーションと区別するのに用いることができる統計的規則を取得し、次いで、その規則を用いて、パケットを送信したアプリケーションを区別することをいう。ヒューリスティック識別技術には、暗号化パケット、または専用の秘密のプロトコルを用いて送信されるパケットに対する特定の識別効果がある。しかし、規則は統計的分析によって取得されるため、報告漏れ率および誤報率が比較的高いという問題が生じる。
【００１０】
アソシエーション識別技術は、パケットのものであるIPアドレス、ポート番号、およびプロトコル識別子を、アプリケーションと、IPアドレス、ポート番号、およびプロトコル識別子との間の対応関係を含むアソシエーション識別規則と照合して、パケットを送信したアプリケーションを識別することをいう。
【００１１】
既存のアプリケーション識別技術が依拠する特徴および規則は、すべて、大量の収集パケットを手動分析することによって得られる。ネットワークセキュリティ装置のベンダや、ネットワークセキュリティ装置のベンダと協働する第三者機関は、ソフトウェアベンダのアップグレードウェブサイトに特徴および規則を含むアップグレード規則ライブラリをアップロードし、ネットワークセキュリティ装置は、ネットワークセキュリティ装置の識別能力を保証するために、アップグレードウェブサイトからアップグレード規則ライブラリを取得する。しかし、規則ライブラリが適時にアップグレードされない、既存のアプリケーション識別技術によるヒューリスティック識別技術の精度が低いなどの要因により、かなりの割合のネットワークトラフィックを依然として識別することができず、またはかなりの割合のネットワークトラフィックについて不正確な識別結果が得られる。
【発明の概要】
【課題を解決するための手段】
【００１２】
本出願の実施形態は、アプリケーション識別技術の識別効果を向上させるように、ネットワークトラフィックにおけるアプリケーション情報を識別するための方法を提供する。
【００１３】
本出願の実施形態は以下の技術的解決策を提供する。
【００１４】
第1の態様によれば、ネットワークトラフィックにおけるアプリケーション情報を識別するための方法が提供され、本方法は端末機器によって実行される。端末機器の第1の対応関係表は、端末機器上で動作しているプロセスの識別子とプロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納している。端末機器の第2の対応関係表は、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の対応関係をレコード形式で格納している。データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである。
【００１５】
本方法は、
第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するステップと、
第1の対応関係表において端末機器が、第1のレコード内のプロセスの識別子を取得するために、第1のデータストリームの識別子が格納されている第1のレコードを探索するステップと、
第2の対応関係表において端末機器が、第2のレコードからアプリケーションの識別子を取得するために、第1のレコード内のプロセスの識別子が格納されている第2のレコードを探索するステップと、
アプリケーションの識別子をネットワークセキュリティ装置に送信するステップと
を含む。
【００１６】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するための方法によれば、端末機器は、ネットワークセキュリティ装置によって送信されたデータストリームの識別子に従って、ローカルに格納された対応関係表を探索し、次いで、アプリケーションの識別子をネットワークセキュリティ装置にフィードバックし、それによって、ネットワークセキュリティ装置がデータストリームのアプリケーション識別結果を判定するのを支援する。先行技術と比べて、前述の方法では、ネットワークセキュリティ装置と端末機器との間のインタラクションによってより多くのアプリケーションを識別することができ、そのため、総トラフィックにおける未識別のトラフィックの割合が低減し、ネットワークトラフィックを識別する効果が向上する。
【００１７】
端末機器は、第1の対応関係表の即時性を保証し、占有記憶空間を低減させるために、以下のように第1の対応関係表を取得し、更新することができる。
【００１８】
任意選択で、端末機器は、第1の対応関係表を、
オペレーティングシステムによって提供されたインターフェースを用いて端末機器が、端末機器上で動作している少なくとも1つのプロセスの識別子を取得するステップと、
取得したプロセスの識別子ごとに、端末機器が、プロセスによって作成されたデータストリームの識別子を取得し、プロセスの識別子とデータストリームの識別子とを含むレコードを生成し、レコードを第1の対応関係表に格納するステップと
を用いて取得する。
【００１９】
任意選択で、端末機器は、第1の対応関係表を、
フック関数を用いて端末機器が、オペレーティングシステムがプロセスを作成するイベントを取得するステップと、
プロセスを作成するイベントから新しく作成されたプロセスの識別子を取得するステップと、
新しく作成されたプロセスによって作成されたデータストリームの識別子を取得し、新しく作成されたプロセスの識別子と新しく作成されたプロセスによって作成されたデータストリームの識別子とを含むレコードを生成し、レコードを第1の対応関係表に格納するステップと
を用いて取得し、
端末機器が第1の対応関係表を取得することは、
フック関数を用いて端末機器が、オペレーティングシステムがプロセスを終了するイベントを取得するステップと、
プロセスを終了するイベントから終了したプロセスの識別子を取得し、第1の対応関係表から、終了したプロセスの識別子を含むレコードを削除するステップと
をさらに含む。
【００２０】
任意選択で、第1の対応関係表内のレコードはデータストリームの最終アクティビティ時刻をさらに含み、本方法は、
端末機器が、第1の対応関係表における期限切れレコードを判定するステップであって、期限切れレコードは、データストリームのものである、期限切れレコードに含まれる最終アクティビティ時刻と現在時刻との間の時間間隔が所定の時間間隔を超えるレコードである、ステップと、
期限切れレコードを削除するステップと
をさらに含む。
【００２１】
任意選択で、端末機器が第1の対応関係表を取得した後に、本方法は、
フック関数を用いて端末機器が、端末機器によって送信されたパケットを取得するステップと、
取得したパケットから、パケットが属するデータストリームの識別子を取得するステップと、
第1の対応関係表内の、パケットが属するデータストリームの識別子を含むレコード内のデータストリームの最終アクティビティ時刻を現在時刻に更新するステップと
をさらに含む。
【００２２】
任意選択で、端末機器が第1の対応関係表を取得した後に、本方法は、
フック関数を用いて端末機器が、端末機器によって送信されたパケットを取得するステップと、
取得したパケットから、パケット状況識別子とパケットが属するデータストリームの識別子とを取得するステップと、
パケット状況識別子がFINである場合、第1の対応関係表から、パケットが属するデータストリームの識別子を含むレコードを削除するステップと
をさらに含む。
【００２３】
規則抽出といった後続の分析を円滑化するように完全なデータストリームを取得するために、任意選択で、第1のレコード内のプロセスの識別子を取得するステップの後に、本方法は、
プロセスの識別子のパケット収集フラグを設定するステップであって、パケット収集フラグは、端末機器に、オペレーティングシステムのインターフェースを用いてプロセスによって送信されたパケットを取り込んだ後で、プロセスによって続いて送信される完全なデータストリームを取得し、格納するよう命令するのに用いられる、ステップ
をさらに含む。
【００２４】
第2の態様によれば、端末機器が提供される。本端末機器は、メモリとプロセッサとネットワークインターフェースとを含み、メモリとプロセッサとネットワークインターフェースとはバスを用いて相互に通信する。
【００２５】
メモリは、プログラムコード、第1の対応関係表、および第2の対応関係表を格納し、第1の対応関係表は、端末機器上で動作しているプロセスの識別子とプロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、第2の対応関係表は、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の対応関係をレコード形式で格納しており、データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである。
【００２６】
ネットワークインターフェースは、第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するように構成される。
【００２７】
プロセッサは、メモリに格納されたプログラムコードを読み出して、
第1の対応関係表において、第1のレコード内のプロセスの識別子を取得するために、第1のデータストリームの識別子が格納されている第1のレコードを探索するステップと、第2の対応関係表において、第2のレコードからアプリケーションの識別子を取得するために、第1のレコード内のプロセスの識別子が格納されている第2のレコードを探索するステップと
を行う。
【００２８】
ネットワークインターフェースは、プロセッサによって取得されたアプリケーションの識別子をネットワークセキュリティ装置に送信するようにさらに構成される。
【００２９】
任意選択で、プロセッサは、オペレーティングシステムによって提供されたインターフェースを用いて、端末機器上で動作している少なくとも1つのプロセスの識別子を取得する動作と、取得したプロセスの識別子ごとに、端末機器が、プロセスによって作成されたデータストリームの識別子を取得し、プロセスの識別子とデータストリームの識別子とを含むレコードを生成し、レコードを第1の対応関係表に格納する動作と、を用いて第1の対応関係表を取得するようにさらに構成される。
【００３０】
任意選択で、プロセッサは、第1の対応関係表を
フック関数を用いて、オペレーティングシステムがプロセスを作成するイベントを取得する動作と、プロセスを作成するイベントから新しく作成されたプロセスの識別子を取得する動作と、新しく作成されたプロセスによって作成されたデータストリームの識別子を取得し、新しく作成されたプロセスの識別子と新しく作成されたプロセスによって作成されたデータストリームの識別子とを含むレコードを生成し、レコードを第1の対応関係表に格納する動作と、
フック関数を用いて、オペレーティングシステムがプロセスを終了するイベントを取得する動作と、プロセスを終了するイベントから終了したプロセスの識別子を取得し、第1の対応関係表から、終了したプロセスの識別子を含むレコードを削除する動作と
を用いて取得するようにさらに構成される。
【００３１】
任意選択で、第1の対応関係表内のレコードはデータストリームの最終アクティビティ時刻をさらに含み、
プロセッサは、第1の対応関係表における期限切れレコードを判定し、期限切れレコードは、データストリームのものである、期限切れレコードに含まれる最終アクティビティ時刻と現在時刻との間の時間間隔が所定の時間間隔を超えるレコードであり、期限切れレコードを削除する、ようにさらに構成される。
【００３２】
任意選択で、プロセッサは、第1の対応関係表を取得した後で、フック関数を用いて端末機器が、端末機器によって送信されたパケットを取得し、
取得したパケットから、パケットが属するデータストリームの識別子を取得し、
第1の対応関係表内の、パケットが属するデータストリームの識別子を含むレコード内のデータストリームの最終アクティビティ時刻を現在時刻に更新する、
ようにさらに構成される。
【００３３】
任意選択で、プロセッサは、第1の対応関係表を取得した後で、フック関数を用いて端末機器が、端末機器によって送信されたパケットを取得し、
取得したパケットから、パケット状況識別子とパケットが属するデータストリームの識別子とを取得し、
パケット状況識別子がFINである場合、第1の対応関係表から、パケットが属するデータストリームの識別子を含むレコードを削除する、
ようにさらに構成される。
【００３４】
第3の態様によれば、メモリとプロセッサとネットワークインターフェースとを含むネットワークセキュリティ装置が提供される。メモリとプロセッサとネットワークインターフェースとはバスを用いて相互に通信する。
【００３５】
ネットワークインターフェースは、第1のデータストリームを受信するように構成される。
【００３６】
プロセッサは、メモリに格納されたプログラムコードを読み出して、
第1のデータストリームを送信したアプリケーションを識別できない場合、第1のデータストリームの識別子を取得するステップであって、データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである、ステップと、ネットワークインターフェースに、第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスに従って端末機器にデータストリームの識別子を送信するよう命令するステップであって、端末機器のアドレスは第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスである、ステップと
を行うように構成される。
【００３７】
ネットワークインターフェースは、端末機器によって送信されたアプリケーションの識別子を受信し、受信したアプリケーションの識別子は第1のデータストリームを送信したアプリケーションの識別子であると判定するようにさらに構成される。
【００３８】
本出願の本実施形態で提供されるネットワークセキュリティ装置は、端末機器とインタラクションすることによってより多くのアプリケーションを識別することができ、そのため、総トラフィックにおける未識別のトラフィックの割合が低減し、ネットワークトラフィックを識別する効果が向上する。
【００３９】
第4の態様によれば、ネットワークセキュリティ装置と端末機器とを含む、ネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムが提供される。
【００４０】
ネットワークセキュリティ装置は、第1のデータストリームを受信し、第1のデータストリームの識別子を取得し、第1のデータストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスに従って端末機器に第1のデータストリームの識別子を送信し、端末機器のアドレスは、第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスであり、端末機器によって送信されたアプリケーションの識別子を受信し、受信したアプリケーションの識別子は第1のデータストリームを送信したアプリケーションの識別子であると判定する、ように構成される。
【００４１】
端末機器は、第1の対応関係表と第2の対応関係表とを格納しており、第1の対応関係表は、端末機器上で動作しているプロセスの識別子とプロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、第2の対応関係表は、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の第2の対応関係をレコード形式で格納しており、データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである。
【００４２】
端末機器は、第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信し、第1の対応関係表において、第1のレコード内のプロセスの識別子を取得するために、第1のデータストリームの識別子が格納されている第1のレコードを探索し、第2の対応関係表において、第2のレコードからアプリケーションの識別子を取得するために、第1のレコード内のプロセスの識別子が格納されている第2のレコードを探索し、アプリケーションの識別子をネットワークセキュリティ装置に送信する、ように構成される。
【００４３】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムでは、ネットワークセキュリティ装置は、端末機器からのフィードバックに従ってデータストリームのアプリケーション識別結果を判定する。先行技術と比べて、前述のシステムでは、ネットワークセキュリティ装置と端末機器との間のインタラクションによってより多くのアプリケーションを識別することができ、そのため、総トラフィックにおける未識別のトラフィックの割合が低減し、ネットワークトラフィックを識別する効果が向上する。
【００４４】
ネットワークセキュリティ装置における後続のデータストリームの識別成功率を向上させるために、ネットワークセキュリティ装置は、端末からのフィードバックに従って新しいアソシエーション識別規則をさらに生成することができる。
【００４５】
任意選択で、ネットワークセキュリティ装置は、第1のアソシエーション識別規則と第2のアソシエーション識別規則とを生成し、第1のアソシエーション識別規則は、アプリケーションの識別子と、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、第2のアソシエーション識別規則は、アプリケーションの識別子と、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルとを含み、
第2のデータストリームを受信し、第2のデータストリームの宛先3タプルまたは送信元3タプルのうちの少なくとも1つを取得し、第2のデータストリームの宛先3タプルは、第2のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルであり、第2のデータストリームの送信元3タプルは、第2のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルであり、
取得した3タプルが、第1のアソシエーション識別規則と第2のアソシエーション識別規則のどちらかに含まれる3タプルと一致する場合、第2のデータストリームを送信したアプリケーションの識別子は、アソシエーション識別規則のどちらかに含まれるアプリケーションの識別子であると判定する、ようにさらに構成される。
【００４６】
第5の態様によれば、ネットワークトラフィックにおけるアプリケーション情報を識別するための方法が提供され、本方法は、
ネットワークセキュリティ装置から第1の識別レコードを受信するステップであって、第1の識別レコードは第1のデータストリームの識別子とアプリケーションの識別子とを含み、第1のデータストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである、ステップと、
端末機器から第2の識別レコードと対応関係表とを受信するステップであって、第2の識別レコードは第2のデータストリームの識別子とプロセスの識別子とを含み、対応関係表内の各レコードは、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納している、すなわち、アプリケーションの識別子とプロセスの識別子との間の対応関係が対応関係表内のレコードを用いて格納されている、ステップと、
第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と、第2の識別レコードに含まれるプロセスの識別子とを格納している、ステップと、
第1のアソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定するステップと
を含む。
【００４７】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するための方法によれば、データ処理装置は、端末機器の識別レコードをネットワークセキュリティ装置の識別レコードと比較することによって、ネットワークセキュリティ装置のものである、先行技術を用いて探索するのが困難な誤った識別レコードを識別することができる。したがって、ネットワークトラフィックを識別する効果が向上する。
【００４８】
任意選択で、第1のアソシエーションレコードが存在しない場合、本方法は、
端末機器がプロセスの識別子のパケット収集フラグを設定するように、端末機器に、第2の識別レコードに含まれるプロセスの識別子を送信するステップであって、パケット収集フラグは、端末機器に、オペレーティングシステムのインターフェースを用いてプロセスによって送信されたパケットを取り込んだ後で、プロセスによって続いて送信される完全なデータストリームを取得し、格納するよう命令するのに用いられる、ステップ
をさらに含む。
【００４９】
誤った識別レコードが発見された後で、同じ誤った識別レコードがアソシエーション識別規則によって引き続き生じるのを回避するために、データ処理装置は、ネットワークセキュリティ装置に、誤った識別を生じるアソシエーション識別規則を削除するようさらに命令することができる。
【００５０】
任意選択で、第1の識別レコードは識別方式の識別子をさらに含み、識別方式は、アソシエーション識別方式、特徴識別方式、およびヒューリスティック識別方式を含む。
【００５１】
第1の識別レコード内の識別方式の識別子がアソシエーション識別方式の識別子である場合、第1のアソシエーションレコードが存在しないときに、本方法は、
ネットワークセキュリティ装置に通知メッセージを送信するステップであって、通知メッセージは、ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、第1のアソシエーション識別規則は、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルを含み、第2のアソシエーション識別規則は、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルを含む、ステップ
をさらに含む。
【００５２】
誤った識別レコードが発見された後で、後続の識別の成功率を向上させるために、データ処理装置は、ネットワークセキュリティ装置に、正しいアソシエーション識別規則を生成するようさらに命令することができる。
【００５３】
任意選択で、第1のアソシエーションレコードが存在しない場合、本方法は、
対応関係表に第2のアソシエーションレコードが存在するかどうか問い合わせるステップであって、第2のアソシエーションレコードは第2の識別レコードに含まれるプロセスの識別子と対応するアプリケーションの識別子とを格納している、ステップと、
第2のアソシエーションレコードが存在する場合、第3のアソシエーション識別規則と第4のアソシエーション識別規則とを生成するステップであって、第3のアソシエーション識別規則は、第2のアソシエーションレコード内のアプリケーションの識別子と、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、第4のアソシエーション識別規則は、第2のアソシエーションレコード内のアプリケーションの識別子と、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルとを含む、ステップと、
第3のアソシエーション識別規則と第4のアソシエーション識別規則とをネットワークセキュリティ装置に送信するステップと
をさらに含む。
【００５４】
任意選択で、本方法は、
ネットワークセキュリティ装置から第3の識別レコードを受信するステップであって、第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、未識別のフラグは、ネットワークセキュリティ装置が第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられる、ステップと、
端末機器から第4の識別レコードを受信するステップであって、第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ステップと、
第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、対応関係表に第2のアソシエーションレコードが存在するかどうか問い合わせるステップであって、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納している、ステップと、
第3のアソシエーションレコードが存在する場合、第5のアソシエーション識別規則と第6のアソシエーション識別規則とを生成するステップであって、第5のアソシエーション識別規則は、第3のアソシエーションレコードに含まれるアプリケーションの識別子と、第3のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、第6のアソシエーション識別規則は、第3のアソシエーションレコードに含まれるアプリケーションの識別子と、第3のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルとを含む、ステップと、
第5のアソシエーション識別規則と第6のアソシエーション識別規則とをネットワークセキュリティ装置に送信するステップと
をさらに含む。
【００５５】
任意選択で、本方法は、
ネットワークセキュリティ装置から第3の識別レコードを受信するステップであって、第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、未識別のフラグは、ネットワークセキュリティ装置が第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられる、ステップと、
端末機器から第4の識別レコードを受信するステップであって、第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ステップと、
第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせるステップであって、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納している、ステップと、
第3のアソシエーションレコードが存在する場合、第3のアソシエーションレコードに含まれるアプリケーションの識別子と第3のデータストリームの識別子とをネットワークセキュリティ装置に送信するステップと
をさらに含む。
【００５６】
第6の態様によれば、ネットワークトラフィックにおけるアプリケーション情報を識別するための方法が提供され、本方法は、
ネットワークセキュリティ装置から第1の識別レコードを受信するステップであって、第1の識別レコードは第1のデータストリームの識別子、アプリケーションの識別子、および識別方式の識別子を含み、データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、識別方式は、アソシエーション識別、特徴識別、およびヒューリスティック識別を含む、ステップと、
端末機器から第2の識別レコードと対応関係表とを受信するステップであって、第2の識別レコードは第2のデータストリームの識別子とプロセスの識別子とを含み、対応関係表内の各レコードは、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の対応関係を格納している、ステップと、
第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と、第2の識別レコードに含まれるプロセスの識別子とを格納している、ステップと、
第1の識別レコード内の識別方式の識別子がアソシエーション識別方式の識別子である場合、第1のアソシエーションレコードが存在しないときに、ネットワークセキュリティ装置に通知メッセージを送信するステップであって、通知メッセージは、ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、第1のアソシエーション識別規則は、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルを含み、第2のアソシエーション識別規則は、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルを含む、ステップと
を含む。
【００５７】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するための方法によれば、データ処理装置が誤った識別レコードを発見した後で、同じ誤った識別レコードがアソシエーション識別規則によって引き続き生じるのを回避するために、データ処理装置は、ネットワークセキュリティ装置に、誤った識別を生じるアソシエーション識別規則を削除するようさらに命令することができる。
【００５８】
第7の態様によれば、データ処理装置が提供される。本データ処理装置は、メモリとプロセッサとネットワークインターフェースとを含み、メモリとプロセッサとネットワークインターフェースとはバスを用いて相互に通信する。
【００５９】
メモリはプログラムコードを格納する。
【００６０】
ネットワークインターフェースは、ネットワークセキュリティ装置から第1の識別レコードを受信し、第1の識別レコードは、第1のデータストリームの識別子とアプリケーションの識別子とを含み、第1のデータストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、
端末機器から、第2の識別レコードと対応関係表とを受信し、第2の識別レコードは、第2のデータストリームの識別子とプロセスの識別子とを含み、対応関係表内の各レコードがアプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納している、ように構成される。
【００６１】
プロセッサは、メモリに格納されたプログラムコードを読み出して、
第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と、第2の識別レコードに含まれるプロセスの識別子とを格納している、ステップと、
第1のアソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定するステップと
を行う。
【００６２】
任意選択で、第1の識別レコードは識別方式の識別子をさらに含み、識別方式は、アソシエーション識別方式、特徴識別方式、およびヒューリスティック識別方式を含む。
【００６３】
ネットワークインターフェースは、第1の識別レコード内の識別方式の識別子がアソシエーション識別方式の識別子である場合、第1のアソシエーションレコードが存在しないときに、ネットワークセキュリティ装置に通知メッセージを送信し、通知メッセージは、ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、第1のアソシエーション識別規則は、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルを含み、第2のアソシエーション識別規則は、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルを含む、ようにさらに構成される。
【００６４】
任意選択で、ネットワークインターフェースは、ネットワークセキュリティ装置から第3の識別レコードを受信し、第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、未識別のフラグは、ネットワークセキュリティ装置が第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられ、
端末機器から第4の識別レコードを受信し、第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ようにさらに構成される。
【００６５】
プロセッサは、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じであるかどうか判定し、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納しており、
第3のアソシエーションレコードが存在する場合、第5のアソシエーション識別規則と第6のアソシエーション識別規則とを生成し、第5のアソシエーション識別規則は、第3のアソシエーションレコードに含まれるアプリケーションの識別子と、第3のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、第6のアソシエーション識別規則は、第3のアソシエーションレコードに含まれるアプリケーションの識別子と、第3のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルとを含む、ようにさらに構成される。
【００６６】
ネットワークインターフェースは、第5のアソシエーション識別規則と第6のアソシエーション識別規則とをネットワークセキュリティ装置に送信するようにさらに構成される。
【００６７】
任意選択で、ネットワークインターフェースは、ネットワークセキュリティ装置から第3の識別レコードを受信し、第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、未識別のフラグは、ネットワークセキュリティ装置が第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられ、
端末機器から第4の識別レコードを受信し、第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ようにさらに構成される。
【００６８】
プロセッサは、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じであるかどうか判定し、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納している、ようにさらに構成される。
【００６９】
ネットワークインターフェースは、プロセッサが第3のアソシエーションレコードは存在すると判定した場合、第3のアソシエーションレコードに含まれるアプリケーションの識別子と第3のデータストリームの識別子とをネットワークセキュリティ装置に送信する、ようにさらに構成される。
【００７０】
本出願の本実施形態で提供されるデータ処理装置は、端末機器の識別レコードをネットワークセキュリティ装置の識別レコードと比較することによって、ネットワークセキュリティ装置のものである、先行技術を用いて探索するのが困難な誤った識別レコードを識別することができる。したがって、ネットワークトラフィックを識別する効果が向上する。
【００７１】
第8の態様によれば、データ処理装置と端末機器とネットワークセキュリティ装置とを含む、ネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムが提供される。
【００７２】
ネットワークセキュリティ装置は、第1のデータストリームを受信し、第1のデータストリームを送信したアプリケーションの識別子を判定した後で、第1の識別レコードを生成し、第1の識別レコードは、第1のデータストリームの識別子とアプリケーションの識別子とを含み、第1のデータストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、第1の識別レコードをデータ処理装置に送信する、ように構成される。
【００７３】
端末機器は、第2の識別レコードを生成するために、端末機器上で動作しているプロセスの識別子とプロセスによって作成された第2のデータストリームの識別子とを取得し、第2の識別レコードは、第2のデータストリームの識別子とプロセスの識別子とを含み、対応関係表を取得し、対応関係表内の各レコードがアプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納し、第2の識別レコードと対応関係表とをデータ処理装置に送信する、ように構成される。
【００７４】
データ処理装置は、ネットワークセキュリティ装置から第1の識別レコードを受信し、端末機器から第2の識別レコードと対応関係表とを受信し、第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせ、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納し、第1のアソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定する、ように構成される。
【００７５】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムでは、データ処理装置は、端末機器の識別レコードをネットワークセキュリティ装置の識別レコードと比較することによって、ネットワークセキュリティ装置のものである、先行技術を用いて発見するのが困難な誤った識別レコードを識別することができる。したがって、ネットワークトラフィックを識別する効果が向上する。
【００７６】
本出願の実施形態における、または先行技術における技術解決策をより明確に説明するために、以下で、各実施形態または先行技術を説明するのに必要な添付の図面について簡単に記述する。明らかに、以下の説明の添付の図面は本発明の一部の実施形態を示すものであり、当業者は、これら添付の図面から難なく他の図面をさらに導出することができる。
【図面の簡単な説明】
【００７７】
【図１Ａ】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムの概略図である。
【図１Ｂ】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための別のシステムの概略図である。
【図２Ａ】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための方法の流れ図である。
【図２Ｂ】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための方法の流れ図である。
【図３Ａ】本出願の一実施形態による第1の対応関係表を取得するステップの流れ図である。
【図３Ｂ−１】本出願の一実施形態による第1の対応関係表を更新するステップの流れ図である。
【図３Ｂ−２】本出願の一実施形態による第1の対応関係表を更新するステップの流れ図である。
【図４Ａ】本出願の一実施形態による完全なデータストリームを取得するステップの流れ図である。
【図４Ｂ】本出願の一実施形態による完全なデータストリームを取得するステップの流れ図である。
【図５Ａ】本出願の一実施形態による端末デバイスの概略構造図である。
【図５Ｂ】本出願の一実施形態による別の端末デバイスの概略構造図である。
【図６Ａ】本出願の一実施形態によるネットワークセキュリティ装置の概略構造図である。
【図６Ｂ】本出願の一実施形態による別のネットワークセキュリティ装置の概略構造図である。
【図７】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための別のシステムの概略図である。
【図８Ａ−１】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための方法のインタラクション図である。
【図８Ａ−２】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための方法のインタラクション図である。
【図８Ａ−３】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための方法のインタラクション図である。
【図８Ｂ−１】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための別の方法のインタラクション図である。
【図８Ｂ−２】本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するための別の方法のインタラクション図である。
【図９Ａ】本出願の一実施形態によるデータ処理装置の概略構造図である。
【図９Ｂ】本出願の一実施形態による別のデータ処理装置の概略構造図である。
【発明を実施するための形態】
【００７８】
本出願における「データストリーム」とは、特定の時間区間内に2台の端末機器間で伝送され、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコルの種類を用いて判定される一連のパケットをいう。本出願における端末機器は、ネットワークアクセス機能と、アプリケーションソフトウェア実行能力とを有する、ポータブルコンピュータ、サーバ、移動端末といった機器とすることができる。データストリームの識別子とは、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルをいう。
【００７９】
アプリケーション識別技術とは、ネットワークセキュリティ装置が、端末機器内のどのアプリケーションソフトウェアかデータストリームを送信したか判定することを意味する。
【００８０】
本出願の一実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するための方法では、既存のアプリケーション識別技術を用いて識別できないいくつかのデータストリームを、ネットワークセキュリティ装置と端末機器との間のインタラクションによって識別することができ、そのため、総ネットワークトラフィックにおける識別できないネットワークトラフィックの割合が低減し、アプリケーション識別の成功率が高まり、またはいくつかの誤った識別レコードを識別することができ、そのため、誤報率が低減し、アプリケーション識別の精度が向上する。
【００８１】
実施形態1
図1Aおよび図1Bは、本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムの概略図である。本システムは、端末機器110とネットワークセキュリティ装置120とを含む。
【００８２】
ネットワークセキュリティ装置120は、2つの配置方式で配置することができる。第1の配置方式は、図1Aに示すパス内配置方式である。ネットワークセキュリティ装置120は、パケット転送機能を有するデバイスである。例えば、端末機器110は、ローカル・エリア・ネットワークに位置するパーソナルコンピュータやサーバであり、ネットワークセキュリティ装置120は、ローカル・エリア・ネットワーク内のファイアウォール装置である。端末機器110は、代替として、インターネットに位置するパーソナルコンピュータやサーバの場合もあり、ネットワークセキュリティ装置120は、インターネット内のセキュリティゲートウェイである。そうした配置方式では、ネットワークセキュリティ装置120を流れるデータストリームを取得した後で、ネットワークセキュリティ装置120は、そのデータストリームを送信した、端末機器内のアプリケーションを判定する。本出願の後述する説明では、このプロセスを、略して、ネットワークセキュリティ装置120が、ネットワークセキュリティ装置120を流れるデータストリームのアプリケーションを識別することともいう。さらに、ネットワークセキュリティ装置120にはセキュリティポリシーが格納されている。データストリームのアプリケーション識別結果を取得した後で、ネットワークセキュリティ装置120は、セキュリティポリシーに従って、データストリームの次の処理のし方、例えば、データストリームを阻止するかそれともデータストリームを転送するか決定する。詳細なプロセスを例に関連して以下の実施形態において説明する。
【００８３】
第2の配置方式は、図1Bに示すパス外配置方式である。ネットワークセキュリティ装置120は、トラフィック統計収集機能を有するバイパス装置であり、総トラフィックにおける様々なアプリケーションのトラフィックの割合に関する統計を収集するように構成され、様々なアプリケーションのランク付け情報をさらに取得することができる。ネットワークセキュリティ装置120は、パケット転送装置によって送信されたミラー・データ・ストリームを受信し、ミラー・データ・ストリームのアプリケーションを識別し、識別結果に従って統計レコードを更新し、統計結果を定期的に出力する。
【００８４】
図1Aに示すパス内配置方式かそれとも図1Bに示すパス外配置方式かにかかわらず、ネットワークセキュリティ装置120には端末機器110とメッセージを交換する必要がある。以下で、ネットワークセキュリティ装置120の機能と端末機器110の機能について説明する。ネットワークセキュリティ装置120の機能と端末機器110の機能とは、それぞれ、ネットワークセキュリティ装置120内のソフトウェアモジュールと端末機器110内のソフトウェアモジュールとによって実施されてよい。例えば、以下のネットワークセキュリティ装置120の機能は、ネットワークセキュリティ装置120内のアプリケーション識別モジュールによって実施され、端末機器110の機能は、端末機器110内のエージェント（Agent）によって実施される。
【００８５】
ネットワークセキュリティ装置120は、第1のデータストリームを受信し、第1のデータストリームの識別子を取得し、第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスに従って端末機器110にデータストリームの識別子を送信し、端末機器110のアドレスは第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスであり、端末機器110によって送信されたアプリケーションの識別子を受信し、受信したアプリケーションの識別子は第1のデータストリームを送信したアプリケーションの識別子であると判定するように構成される。
【００８６】
任意選択で、ネットワークセキュリティ装置120にはセキュリティポリシーが格納されている。セキュリティポリシーは、特定のデータストリームの転送を許可することに関する、または特定のデータストリームの転送を禁止することに関する事前構成規則である。例えば、「permit Web browsing（WB）−default deny all」は、ウェブブラウザによって送信されたデータストリームの転送のみが許可され、別のアプリケーションによって送信されたデータストリームの転送は禁止されることを指示している。例えば、「deny QQ deny P2P−default permit all」は、インスタント・メッセージング・ソフトウェアQQおよびP2Pクライアントソフトウェアのみによって送信されたデータストリームの転送は禁止され、別のアプリケーションによって送信されたデータストリームの転送は許可されることを指示している。あるデータストリームの転送を許可するように構成されたセキュリティポリシーでは、そうしたセキュリティポリシーは、転送を行うことを許可されているアプリケーションの識別子を含む。例えば、セキュリティポリシーは、ウェブブラウザによって送信されたデータストリームの転送のみを許可し、すなわち、転送を行うことを許可されているアプリケーションの識別子はウェブブラウザの識別子WBである。データストリームを受信した後で、ネットワークセキュリティ装置120がデータストリームを送信したアプリケーションの識別子はWBであると識別した場合、ネットワークセキュリティ装置120はデータストリームを転送し、またはネットワークセキュリティ装置120がデータストリームを送信したアプリケーションの識別子はWBではなくP2Pクライアントの識別子P2Pであると識別した場合、ネットワークセキュリティ装置120はデータストリームを阻止する。
【００８７】
第1のデータストリームのパケットを受信すると、ネットワークセキュリティ装置120は、まず、特徴ベース識別技術、ヒューリスティック識別技術、アソシエーション識別技術といった、既存のアプリケーション識別技術を用いて第1のデータストリームを識別する。
【００８８】
特定のデータストリームの転送を許可するのに用いられるセキュリティポリシーを例にとる。識別結果を取得できる場合には、セキュリティポリシーが識別されたアプリケーションの識別子を含むかどうかが判定される。セキュリティポリシーが識別されたアプリケーションの識別子を含む場合には第1のデータストリームのパケットが転送され、またはセキュリティポリシーが識別されたアプリケーションの識別子を含まない場合には第1のデータストリームのパケットが阻止される。ネットワークセキュリティ装置120が前述の既存のアプリケーション識別技術に従って識別結果を取得できない、すなわち、第1のデータストリームを送信したアプリケーションの識別子を判定できない場合には、ネットワークセキュリティ装置120は、第1のデータストリームの識別子を取得し、第1のデータストリームの識別子を、第1のデータストリームの識別子内の送信元アドレスによって識別される端末機器に送信し、または第1のデータストリームの識別子を、第1のデータストリームの識別子内の宛先アドレスによって識別される端末機器に送信することにより、端末機器とのインタラクションによって端末機器が返したアプリケーションの識別子を取得し、第1のデータストリームを送信したアプリケーションの識別子は端末機器によって返されたアプリケーションの識別子であると判定する。
【００８９】
ネットワークセキュリティ装置は、識別結果を取得できない場合、第1のデータストリームの識別子を、第1のデータストリームの識別子内の送信元アドレスによって識別される端末機器に送信し、または第1のデータストリームの識別子を、第1のデータストリームの識別子内の宛先アドレスによって識別される端末機器に送信することができることに留意されたい。さらに、識別精度を向上させるために、例えば、アソシエーション識別技術を用いてアプリケーション識別が行われ、アソシエーション識別規則が初めて照合されるときに、アソシエーション識別規則の精度を確認するために、ネットワークセキュリティ装置はまた、第1のデータストリームの識別子を端末機器に送信し、端末機器によって続いて返されたアプリケーションの識別子とアソシエーション識別規則に従って取得した識別結果とを比較し、アプリケーションの識別子が識別結果と同じである場合、アソシエーション識別規則は正しいと判定することもできる。
【００９０】
端末機器110は、第1の対応関係表と第2の対応関係表とを取得するように構成される。第1の対応関係表内の各レコードは、端末機器110上で動作しているプロセスの識別子とプロセスによって作成されたデータストリームの識別子とを格納している。データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである。
【００９１】
第2の対応関係表内の各レコードは、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納している。本実施形態では、アプリケーションとはアプリケーションソフトウェアのことである。アプリケーションを実行した後で、OSは少なくとも1つのプロセスを作成し、各プロセスは相対的に独立した機能を果たす。すなわち、1つのアプリケーションは少なくとも1つのプロセスに対応する。通常、プロセスはただ1つのアプリケーションによって作成され、用いられる。複数のアプリケーションによって用いられうるのはごく少数のシステムプロセスのみであり、これについては本出願では考慮に入れない。これらのプロセスは第1の対応関係表にも第2の対応関係表にも記録されない。
【００９２】
例えば、「Sogou入力法」という名前のアプリケーションが実行された後で、「SogouCloud．exe」という名前のプロセスと、「SogouSmartInfo．exe」という名前のプロセスとが作成される。「SogouCloud．exe」という名前のプロセスは、ネットワークサーバから、更新されたフォントライブラリやディスプレイ・バー・アイコンといった情報を取得するのに用いられる。「SogouSmartInfo．exe」という名前のプロセスは、入力効率を高めるために、ネットワークサーバから、ユーザが綴った単語に従って、ユーザが綴るべき単語を予測するのに用いられるインテリジェントなアソシエーション識別規則を取得するのに用いられる。
【００９３】
各プロセスが動作した後には、プログラムコードの設計に従って、データストリームが作成されない場合もあり、1つまたは複数のデータストリームが作成される場合もある。すなわち、1つのプロセスは1つまたは複数のデータストリームに対応しうる。
【００９４】
端末機器110は、第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信し、第1の対応関係表において、第1のデータストリームの識別子が格納されている第1のレコード内のプロセスの識別子を取得するために、第1のレコードを探索し、第2の対応関係表において、第1のレコード内のプロセスの識別子が格納されている第2のレコードからアプリケーションの識別子を取得するために、第2のレコードを探索し、アプリケーションの識別子をネットワークセキュリティ装置に送信する。
【００９５】
以下では、具体例に関連して図2Aおよび図2Bを参照して、本発明で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するための方法について説明する。本実施形態で提供されるネットワークセキュリティ装置は、図1Aまたは図1Bのネットワークセキュリティ装置120とすることができる。
【００９６】
ステップ201：ネットワークセキュリティ装置は未識別のデータストリームを探索する。具体的には、データストリームに対してアプリケーション識別を行うときに、ネットワークセキュリティ装置はデータストリームの少なくとも1つのパケットを受信する。データストリームのパケットごとに、パケット内の特徴が規則に従って選択的にキャッシュされた後で、パケットは転送される。データストリームがもうすぐ終了することを指示する最後のパケット、例えば、そのパケット状況識別子がFINであるパケットが受信されたときに、またはデータストリームの指定数のパケットが受信され、転送された後で、既存のアプリケーション識別技術を用いてデータストリームを送信したアプリケーションをまだ識別できない場合、そのデータストリームは未識別のデータストリームであると判定される。
【００９７】
ステップ202：ネットワークセキュリティ装置は未識別のデータストリームの識別子を取得する。ネットワークセキュリティ装置は、キャッシュされた未識別のデータストリームのパケットを構文解析してパケットの5タプルを取得し、5タプルを、未識別のデータストリームの識別子として用い、5タプルは、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、およびプロトコルの種類を含む。例えば、取得した5タプルに関する情報は、「tcp 192．168．1．211：3020−201．6．8．30：6682」である。
【００９８】
ステップ203：ネットワークセキュリティ装置は、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」をパケットP1にカプセル化し、パケットP1を端末機器に送信する。
【００９９】
任意選択で、ネットワークセキュリティ装置は、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」を、そのIPアドレスが192．168．1．211である端末機器に送信してもよく、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」を、そのIPアドレスが201．6．8．30である端末機器に送信してもよく、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」を、そのIPアドレスが192．168．1．211である端末機器とそのIPアドレスが201．6．8．30である端末機器とに送信してもよい。
【０１００】
そのIPアドレスが192．168．1．211である端末機器とそのIPアドレスが201．6．8．30である端末機器とは同様の処理ステップを行うので、簡略化のために、以下では、本実施形態の説明例として、そのIPアドレスが192．168．1．211である端末機器のみを用いる。
【０１０１】
ステップ204：端末機器は、ネットワークセキュリティ装置によって送信されたパケットP1を受信し、パケットP1を構文解析して、データストリームの、パケットP1で搬送された識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」を取得する。
【０１０２】
ステップ205：端末機器は、第1の対応関係表に、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」が格納されているレコードを問い合わせ、レコードが発見された場合には、ステップ206を行い、レコードが発見されない場合には、処理を打ち切る。
【０１０３】
ステップ206：端末機器は、発見されたデータストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」が格納されているレコードから、プロセスのものである、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」に対応する識別子SogouCloud．exeを取得する。
【０１０４】
端末機器は2つの対応関係表を格納している。第1の対応関係表内の各レコードは、端末機器上で動作しているプロセスの識別子とプロセスによって作成されたデータストリームの識別子とを格納している。第2の対応関係表内の各レコードは、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納している。明らかに、端末機器は、代替として、1つの対応関係表を用いて、3つの識別子、すなわち、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とプロセスによって作成されたデータストリームの識別子との間の対応関係を格納していてもよい。本出願では、単に後述する説明に好都合なように、第1の対応関係表にはプロセスの識別子とプロセスによって作成されたデータストリームの識別子との間の対応関係が格納されており、第2の対応関係表にはアプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の対応関係が格納されている。前述の対応関係を格納するのに統合対応関係表が用いられる場合には、アプリケーションの識別子は第1列に格納され、アプリケーションによって作成されたプロセスの識別子は第2列に格納され、プロセスによって作成されたデータストリームの識別子は第3列に格納される。本出願の後述する実施形態では、第1の対応関係表に問い合わせるプロセスは、統合対応関係表の第1列と第2列とに問い合わせることと同じであり、後続の実施形態で第2の対応関係表に問い合わせるプロセスは、統合対応関係表の第2列と第3列に問い合わせることと同じである。
【０１０５】
端末機器に格納されている第1の対応関係表を表1に示す。端末機器が第1の対応関係表を取得するプロセスについては、流れ図に関連して後で詳細に説明する。
【０１０６】
【表１】
0006599538.tif 000002
【０１０７】
端末機器は、表1において、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」を含むレコードが第1行のレコードであることを発見し、次いで、第1行のレコード内のプロセスの識別子SogouCloud．exeを取得する。
【０１０８】
ステップ207：端末機器は、第2の対応関係表に、プロセスの識別子SogouCloud．exeが格納されているレコードを問い合わせ、レコードが発見された場合には、ステップ208を行い、レコードが発見されない場合には、処理を打ち切る。
【０１０９】
ステップ208：端末機器は、プロセスの識別子SogouCloud．exeが格納されている発見されたレコードから、アプリケーションのものである、プロセスの識別子SogouCloud．exeに対応する識別子を取得する。本実施形態では、識別子は、アプリケーションの名前「Sogou入力法」とすることができる。
【０１１０】
端末機器に格納されている第2の対応関係表を表2に示す。第2の対応関係表は、Agentのソフトウェアベンダによって収集されてよい。研究開発および設計の担当者は、アプリケーションの識別子とプロセスの識別子との間の対応関係を取得するために、アプリケーションソフトウェアのインストールパッケージ、またはアプリケーションソフトウェア実行後のプロセスリストの変更を用いて、アプリケーションソフトウェアの実行後にどのプロセスが開始されるか知ることができる。実際には、端末機器の記憶空間を低減させ、実行効率を高めるために、ソフトウェアベンダは、アプリケーションの識別子とプロセスの識別子との間のすべての対応関係を収集する必要はなく、ネットワークトラフィックのアプリケーションを識別するプロセスにおいて報告漏れおよび誤報を生じやすい一般的なアプリケーションによって開始されるプロセスに関する情報を収集しさえすればよい。端末機器内のAgentは、アップグレードウェブサイトから第2の対応関係表を定期的に取得することができる。
【０１１１】
【表２】
0006599538.tif 000003
【０１１２】
端末機器は、表2において、プロセスの識別子SogouCloud．exeを含むレコードが第1行のレコードであることを発見し、次いで、第1行のレコード内のアプリケーションの名前「Sogou入力法」を取得する。アプリケーションの識別子は複数の形態であってよい。説明をより視覚的にするために、本実施形態では、アプリケーションの識別子を表すのにアプリケーションの名前をそのまま用いている。実際の応用においては、保守を容易にするために、ソフトウェアベンダは、通常、事前設定された割り振り規則に従って各アプリケーションに番号を割り振り、その番号を用いてアプリケーションの識別子を表す。
【０１１３】
ステップ209：端末機器は、発見されたアプリケーションの名前「Sogou入力法」をパケットP2にカプセル化し、パケットP2をネットワークセキュリティ装置に送信する。
【０１１４】
ネットワークセキュリティ装置と端末機器とは複数の異なるデータストリームのアプリケーションを識別するために複数のインタラクションを並列に行うので、ネットワークセキュリティ装置による処理を簡便にするために、端末機器は、同じパケットに、データストリームの識別子とデータストリームに従って判定されたアプリケーションの識別子とをカプセル化し、そのパケットをネットワークセキュリティ装置に送信することができる。この例では、端末機器は、データストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」とアプリケーションの名前「Sogou入力法」とをパケットP2にカプセル化し、パケットP2をネットワークセキュリティ装置に送信する。
【０１１５】
ステップ210：ネットワークセキュリティ装置は、端末機器によって送信されたパケットP2を受信し、パケットP2を構文解析して、パケットP2で搬送されたデータストリームの識別子「tcp 192．168．1．211：3020−201．6．8．30：6682」とアプリケーションの名前「Sogou入力法」とを取得する。
【０１１６】
ステップ211：ネットワークセキュリティ装置は、データストリームの、P2で搬送された識別子に従ってフローテーブル内の対応するレコードを探索し、アプリケーションの、P2で搬送された名前を、識別結果としてテーブルに記入する。
【０１１７】
ネットワークセキュリティ装置はフローテーブルを維持する。フローテーブル内の各レコードはデータストリームに対応し、データストリームの状況や識別結果といった関連情報を記録する。このステップでは、ネットワークセキュリティ装置は、識別レコード「tcp 192．168．1．211：3020−201．6．8．30：6682 Sogou入力法」を取得する。
【０１１８】
任意選択で、ネットワークセキュリティ装置がステップ211で識別レコードを取得した後で、同じ識別子のデータストリームについてのネットワークセキュリティ装置と端末機器との間の複数回の後続のインタラクションを低減させるために、ネットワークセキュリティ装置はアソシエーション識別規則を生成することができる。
【０１１９】
ステップ212：ネットワークセキュリティ装置は、第1のアソシエーション識別規則と第2のアソシエーション識別規則とを生成し、第1のアソシエーション識別規則は、アプリケーションの識別子と、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、第2のアソシエーション識別規則は、アプリケーションの識別子と、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルとを含む。
【０１２０】
ネットワークセキュリティ装置が続いて別のデータストリーム、例えば、第2のデータストリームを受信したときに、第2のデータストリームの宛先3タプルまたは送信元3タプルのうちの少なくとも1つが第1のアソシエーション識別規則と第2のアソシエーション識別規則のどちらかに含まれる3タプルと一致する場合、ネットワークセキュリティ装置は、第2のデータストリームを送信したアプリケーションの識別子は、アソシエーション識別規則のどちらかに含まれるアプリケーションの識別子であると判定する。
【０１２１】
本実施形態では、第1のアソシエーション識別規則は「tcp 201．6．8．30：6682 Sogou入力法」であり、第2のアソシエーション識別規則は「tcp 192．168．1．211：3020 Sogou入力法」である。
【０１２２】
続いて、別の端末機器が第2のデータストリームを送信する。第2のデータストリームでパケットP3を受信すると、ネットワークセキュリティ装置は、パケットP3に従って、第2のデータストリームの識別子「tcp 192．168．1．100：3020−201．6．8．30：6682」と、第2のデータストリームの宛先3タプル「tcp 201．6．8．30：6682」とを抽出する。第2のデータストリームの宛先3タプルは第1のアソシエーション識別規則内の3タプルと同じであるため、ネットワークセキュリティ装置は、端末機器と再度インタラクションせずに第1のアソシエーション識別規則に従って、第2のデータストリームを送信したアプリケーションは「Sogou入力法」であると直接判定することができる。
【０１２３】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムでは、データストリームを受信すると、ネットワークセキュリティ装置はデータストリームの識別子を取得し、データストリームの識別子を端末機器に送信する。端末機器は、格納された第1の対応関係表において、プロセスのものである、未識別のデータストリームの識別子に対応する識別子を探索し、第2の対応関係表において、プロセスのものである、未識別のデータストリームの識別子に対応する識別子に対応するアプリケーションの識別子を探索し、発見されたアプリケーションの識別子をネットワークセキュリティ装置に送信する。ネットワークセキュリティ装置は、端末機器からのフィードバックに従ってデータストリームのアプリケーション識別結果を判定する。先行技術と比べて、前述のシステムでは、ネットワークセキュリティ装置と端末機器との間のインタラクションによってより多くのアプリケーションを識別することができ、そのため、総トラフィックにおける未識別のトラフィックの割合が低減し、ネットワークトラフィックを識別する効果が向上する。
【０１２４】
図3Aを参照すると、前述の実施形態の端末機器は、図1に示す第1の対応関係表を以下のように取得することができる。
【０１２５】
ステップ31：端末機器はプロセスリストを取得する。
【０１２６】
端末機器は、端末機器上で動作しているオペレーティングシステム（operating system、OS）によって提供されたインターフェースを用いて、端末機器上で動作しているプロセスのリストを取得する。本出願の「プロセス」とは、実行中のプログラムのインスタンスをいい、特定の独立した機能を有するプログラムの、データセットに関する実行中のアクティビティである。プロセスは、OSによる動的実行のための基本単位である。従来のOSでは、プロセスは、基本リソース割り振り単位であるのみならず、基本実行単位でもある。
【０１２７】
大部分のOSは、アプリケーションまたは操作者が端末機器上で動作しているプロセスのリストを取得するための、アプリケーション・プログラミング・インターフェース（Application Programming Interface、API）またはコマンド・ライン・コマンドを提供することができる。例えば、Linux(登録商標)オペレーティングシステムでは、動作中のプロセスのリストは「ps」コマンドを呼び出すことによって取得され、Windowsオペレーティングシステムでは、動作中のプロセスのリストはEnumProcesses関数を呼び出すことによって取得される。
【０１２８】
ステップ32：端末機器は、各プロセスによって作成されたデータストリームの識別子を取得する。
【０１２９】
プロセスリスト内のプロセスごとに、端末機器は、OSによって提供されたインターフェースを用いて、ポートを使用可能にすることによってプロセスが確立した現在アクティブな接続を取得する。例えば、Linuxオペレーティングシステムでは、プロセスによって使用可能とされた接続は「／proc」仮想ファイルシステムを用いてトラバースされる。Windowsオペレーティングシステムでは、TCPデータストリームとプロセスとの間のすべての対応関係がGetExtendedTcpTable関数を用いて取得され、UDPデータストリームとプロセスとの間のすべての対応関係がGetExtendedUdpTable関数を用いて取得される。
【０１３０】
現在アクティブな各接続がデータストリームとして用いられ、アクティブな接続の5タプルがデータストリームの識別子として用いられる。
【０１３１】
ステップ33：端末機器は、取得したプロセスの識別子ごとに、プロセスの識別子とデータストリームの識別子とを含むレコードを生成し、そのレコードを第1の対応関係表に格納する。したがって、第1の対応関係表が取得される。
【０１３２】
任意選択で、OSシステムは、ユーザの使用アクティビティに従って随時プロセスを作成し、または終了することもできる。端末機器が、未識別のデータストリームの、ネットワークセキュリティ装置によって送信された識別子に従って対応するアプリケーションを発見する確率を高めるように、第1の対応関係表をリアルタイムで更新、維持するために、端末機器は、フック関数を用いてプロセスの状況をモニタして、第1の対応関係表内のレコードを更新する。図3B−1および図3B−2は、本実施形態による第1の対応関係表を更新するプロセスの流れ図である。
【０１３３】
図3B−1および図3B−2のステップ31からステップ33は図3Aのステップ31からステップ33と同様である。簡略化のために、ここでは説明を繰り返さない。
【０１３４】
ステップ34：端末機器は、フック関数を用いて、オペレーティングシステムがプロセスを作成するイベントを取得する。
【０１３５】
フック関数は、Windowsメッセージ処理機構の一部である。「フック」を設定することによって、Agentまたは別のアプリケーションは、システムレベルですべてのメッセージおよびイベントをフィルタリングし、通常の状況ではアクセスできないメッセージにアクセスすることができる。フック関数は、本質的には、システムメッセージを処理するのに用いられるプログラムである。フック関数は、システム呼び出しによってシステムにロードされる。
【０１３６】
ステップ35：端末機器は、プロセスを作成するイベントから新しく作成されたプロセスの識別子を取得する。端末機器は、OSによって提供されたインターフェースを用いて、ポートを使用可能にすることによって新しく作成されたプロセスが確立した現在アクティブな接続を取得する。現在アクティブな各接続がデータストリームとして用いられ、現在アクティブな接続の5タプルがデータストリームの識別子として用いられる。
【０１３７】
ステップ36：端末機器は、新しく作成されたプロセスによって作成されたデータストリームの識別子を取得し、新しく作成されたプロセスの識別子と新しく作成されたプロセスによって作成されたデータストリームの識別子とを含むレコードを生成し、レコードを第1の対応関係表に格納する。
【０１３８】
ステップ37：端末機器は、フック関数を用いて、オペレーティングシステムがプロセスを終了するイベントを取得する。
【０１３９】
ステップ38：端末機器は、プロセスを終了するイベントから終了したプロセスの識別子を取得し、第1の対応関係表から、終了したプロセスの識別子を含むレコードを削除する。
【０１４０】
任意選択で、第1の対応関係表をリアルタイムで更新、維持するために、端末機器は、フック関数を用いてネットワークパケットをさらにモニタして、第1の対応関係表内のレコードを更新し、データストリームの作成時刻および最終アクティビティ時刻に関する情報を各レコードに付加することもできる。ステップ39からステップ315に示す、本実施形態の後続のステップからわかるように、データストリームの最終アクティビティ時刻は、第1の対応関係表内のレコードのエージングに用いられ、データストリームの作成時刻は、別の目的の分析に用いられる。
【０１４１】
ステップ39：端末機器は、フック関数を用いて、伝送パケットを取得し、伝送パケットは、具体的には、送信パケットまたは受信パケットとすることができる。後続のデータ処理量を低減させるために、そのプロトコルの種類が伝送制御プロトコル（Transmission Control Protocol、TCP）またはユーザ・データグラム・プロトコル（User Datagram Protocol、UDP）であるパケットのみが取り込まれる。
【０１４２】
ステップ310：端末機器は、取得したパケットを構文解析してパケット状況識別子とパケットが属するデータストリームの識別子とを取得する。具体的には、本実施形態の状況識別子は、レイヤ4プロトコルの状況識別子である。レイヤ4プロトコルは、パケットのIPヘッダのprotocolフィールドから取得することができ、例えば、TCPまたはUDPとすることができる。TCPの状況識別子は、パケットのTCPヘッダのflagsフィールドから取得することができる。状況識別子は、FIN、RSTなどとすることができる。パケット状況識別子のより詳細な説明については、RFC793などのRFCドキュメントを参照されたい。
【０１４３】
端末機器は、取得したパケットから5タプルを抽出し、抽出した5タプルを、パケットが属するデータストリームの識別子として用いる。
【０１４４】
ステップ311：端末機器は、パケットのパケット状況識別子がFINであるかどうか判定し、パケットのパケット状況識別子がFINである場合には、ステップ312を行い、パケットのパケット状況識別子がFINではない場合には、ステップ313を行う。
【０１４５】
ステップ312：パケット状況識別子がFINである場合、第1の対応関係表から、パケットが属するデータストリームの識別子を含むレコードを削除し、処理は終了する。
【０１４６】
ステップ313：端末機器は、取得したデータストリームの識別子に従って、表1に示す第1の対応関係表にデータストリームの識別子を含むレコードを問い合わせる。レコードが発見された場合、それはパケットが作成されたデータストリームに属することを指示しており、ステップ314が行われる。レコードが発見されない場合、それはパケットが新しく作成されたデータストリームに属することを指示しており、ステップ315が行われる。
【０１４７】
ステップ314：端末機器は、発見されたレコードにおいて、データストリームの最終アクティビティ時刻を現在時刻に更新する。
【０１４８】
実際には、データストリームの最終アクティビティ時刻に従って期限切れレコードを削除する方法と、パケット状況識別子FINに従ってレコードを削除する方法とは、共存しうる2つの任意選択のレコード削除方法である。
【０１４９】
例えば、TCPパケットP4がフック関数を用いて取得され、パケットP4から抽出された5タプルが「tcp 192．168．1．211：6122−168．3．56．120：1138」であるとする。5タプル「tcp 192．168．1．211：6122−168．3．56．120：1138」を含む、表1で発見されるレコードは第9のレコードである。第9のレコード内の最終アクティビティ時刻が現在時刻21：00：3456に更新される。更新された第1の対応関係表を表3に示す。
【０１５０】
【表３】
0006599538.tif 000004
【０１５１】
ステップ315：端末機器は、第1の対応関係表をリフレッシュし、リフレッシュされた第1の対応関係表において、ステップ310で取得したデータストリームの識別子を含むレコードを探索し、レコード内のデータストリームの作成時刻および最終アクティビティ時刻を現在時刻に設定する。
【０１５２】
大部分のOSでは、5タプルによって識別されるデータストリームを作成したプロセスを、5タプルに従って直接探索することができない。この場合、OSシステムは、プロセスリストを再度リフレッシュする必要があり、リフレッシュされた第1の対応関係表を取得するように、リフレッシュされたプロセスリスト内のプロセスごとに、プロセスによって確立されたすべての接続を再度取得し、次いで、ステップ310で取得したデータストリームの識別子に従ってリフレッシュされた第1の対応関係表において、ステップ310で取得したデータストリームの識別子を含むレコードを探索する。
【０１５３】
例えば、端末機器は、フック関数を用いてTCPパケットP5を取得し、パケットP5から抽出された5タプルが「tcp 192．168．1．211：6123−168．3．56．120：1138」であるとする。5タプル「tcp 192．168．1．211：6123−168．3．56．120：1138」を含むレコードが表1で発見されず、第1の対応関係表はリフレッシュされる。表4に示すように、5タプル「tcp 192．168．1．211：6123−168．3．56．120：1138」を含む、表4で発見されるレコードは、第10のレコードであり、第10のレコード内の作成時刻および最終アクティビティ時刻はどちらも現在時刻21：01：3456に設定される。リフレッシュされた第1の対応関係表を表4に示す。
【０１５４】
【表４】
0006599538.tif 000005
【０１５５】
任意選択で、端末機器において第1の対応関係表によって占有される記憶空間を低減させるために、端末機器は、データストリームのものである、第1の対応関係表における最終アクティビティ時刻に従って期限切れレコードを周期的に削除することもできる。期限切れレコードとは、データストリームものである、期限切れレコードに含まれる最終アクティビティ時刻と現在時刻との間の時間間隔が所定の時間間隔を超えるレコードである。すなわち、期限切れレコードは、長時間にわたって非アクティブなデータストリームに対応するレコードである。
【０１５６】
端末機器は、検出周期に従って決定される所定の時刻に到達したかどうか判定し、所定の時刻に到達した場合、周期的な除去タスクを実行する、すなわち、表4の第1の対応関係表内のレコードごとに、端末機器は、データストリームの最終アクティビティ時刻と現在時刻との間の時間間隔が指定の閾値を超えたかどうか判定する。時間間隔が指定の閾値を超えた場合、端末機器はレコードを削除する。所定の時刻に到達していない場合、端末機器はステップ301に戻る。
【０１５７】
図3B−1および図3B−2では、ステップ31からステップ33を含む第1のサブプロシージャ、ステップ34からステップ36を含む第2のサブプロシージャ、ステップ37からステップ38を含む第3のサブプロシージャ、およびステップ39からステップ315を含む第4のサブプロシージャは、相互に独立しており、任意選択で行われてよいこと留意されたい。例えば、第1のサブプロシージャと第2のサブプロシージャだけが行われてもよく、第1のサブプロシージャと第3のサブプロシージャだけが行われてもよい。
【０１５８】
任意選択で、本実施形態で提供される解決策によれば、総トラフィックにおける識別できないトラフィックの割合が、ネットワークセキュリティ装置と端末機器との間のインタラクションによって大幅に低減する。しかし、ネットワークセキュリティ装置がローカルに格納された規則に従ってアプリケーション識別を行う先行技術の方法と比べて、本実施形態で提供される解決策は、ネットワークセキュリティ装置と端末機器との間のインタラクションを必要とし、したがって、必要とされる遅延が相対的に長く、特定のネットワーク伝送リソースが消費される。ネットワークセキュリティ装置が識別できないデータストリームを送信するプロセスによって送信された複数の完全なデータストリームを取得できる場合には、手動分析によって規則を取得することができる。手動分析によって取得される特徴ベース識別規則、またはヒューリスティック識別規則では、同じアプリケーションによって送信された複数の完全なデータストリームを取得することが不可欠である。完全なデータストリームとは、接続確立折衝段階において2通信当事者によって送信された最初パケットから、接続が切断される前に送信された最後のパケットまでのすべてのパケットをいう。しかし、記憶空間および性能を考慮して、既存のネットワークセキュリティ装置はデータストリームの複数のパケットをキャッシュすることができない。例えば、既存の特徴ベース識別技術やヒューリスティック識別技術では、抽出された特徴は、通常、その特徴が受信パケットから抽出された後にキャッシュされるにすぎず、それによってパケットが転送される。既存の端末機器のパケット取り込み技術を用いて完全な未識別のデータストリームを取り込むことは、どのデータストリームを取り込むべきか判定することができないため、比較的困難であり、未識別のデータストリームの開始点と終了点を正しく位置決めすることが困難である。未識別のデータストリームを取り込むためにかなり長時間の間に端末機器が送受信したすべてのパケットが格納される場合、端末機器の記憶リソースおよび処理リソースが大幅に占有される。しかし、サンプリングパケット取り込み技術を用いれば、リソースが節約されるが、データストリームのデータパケットの大部分が失われる。このため規則抽出が困難になり、または不正確になる。この問題について、本出願では、図4Aおよび図4Bに示す解決策を提供する。この解決策によれば、プロセスによって送信されたデータストリームのすべてのパケットを、的を絞って取り込むことができ、端末機器における大量のリソースの占有が回避される。
【０１５９】
任意選択で、図2Aおよび図2Bに基づくものである図4Aおよび図4Bでは、ステップ206の後、すなわち、端末機器がネットワークセキュリティ装置によって送信されたパケットP1を受信し、その識別子が「tcp 192．168．1．211：3020−201．6．8．30：6682」であるデータストリームを作成したプロセスの識別子はSogouCloud．exeであると判定した後に、以下のステップがさらに含まれる。
【０１６０】
ステップ401：端末機器は、表1に示す第1の対応関係表において、プロセスSogouCloud．exeのパケット収集フラグを設定する。パケット収集フラグは、端末機器に、オペレーティングシステムのインターフェースを用いてプロセスによって送信されたパケットを取り込んだ後で、プロセスによって続いて送信される完全なデータストリームを取得し、格納するよう命令するのに用いられる。以下では、具体例に関連してパケット収集フラグの機能について説明する。パケット収集フラグが設定された後に取得された第1の対応関係表を表5に示す。
【０１６１】
【表５】
0006599538.tif 000006
【０１６２】
本実施形態では、パケット収集フラグが1であることを説明例として用いる。具体的な実施プロセスにおいては、第1の対応関係表が最初に生成されるときに、すべてのプロセスの識別子に対応するパケット収集フラグが「0」に設定される。ステップ206の後に発見されたレコード内のプロセスの識別子に対応するパケット収集フラグが「1」に更新される。当然ながら、ステップ206の後に発見されたレコード内のプロセスの識別子に異なるフラグ値を設定できるならば、別の設定方法が用いられてもよい。
【０１６３】
ステップ49：端末機器は、フック関数を用いて、伝送パケットを取得し、伝送パケットは、具体的には、送信パケットまたは受信パケットとすることができる。このステップは、図3B−1および図3B−2のステップ39と同様であり、ここでは詳細を繰り返さない。
【０１６４】
ステップ410：端末機器は取得したパケットからデータストリームの識別子を抽出する。具体的には、端末機器は取得したパケットから5タプルを抽出する。
【０１６５】
ステップ411：端末機器は、取得したデータストリームの識別子に従って、表5に示す第1の対応関係表にデータストリームの識別子を含むレコードを問い合わせる。レコードが発見された場合、レコードは図3B−1および図3B−2のステップ314に従って更新される。レコードが発見されない場合、それは、パケットが新しく作成されたデータパケットに属することを指示しており、端末機器は第1の対応関係表をリフレッシュし、リフレッシュされた第1の対応関係表において、ステップ310で取得したデータストリームの識別子を含むレコードを探索する。
【０１６６】
例えば、端末機器は、フック関数を用いてTCPパケットP6を取得し、パケットP6から抽出された5タプルが「tcp 192．168．1．211：3011−201．6．8．30：6682」であるとする。5タプル「tcp 192．168．1．211：3011−201．6．8．30：6682」を含むレコードが表5で発見されず、端末機器は第1の対応関係表をリフレッシュする。表6に示すように、5タプル「tcp 192．168．1．211：3011−201．6．8．30：6682」を含むレコードが第1のレコードである。
【０１６７】
【表６】
0006599538.tif 000007
【０１６８】
第1の対応関係表においてデータストリームの識別子を含むレコードが発見されるかどうかにかかわらず、ステップ411の後でデータストリームの識別子を含むレコードが取得される。レコードからプロセスの識別子が取得される。本実施形態では、取得されたプロセスの識別子はSogouCloud．exeである。
【０１６９】
ステップ420：端末機器は、第1のレコード内のプロセスの識別子SogouCloud．exeにパケット収集フラグが設定されているかどうか判定する。識別子にパケット収集フラグが設定されている場合、ステップ421が行われる。識別子にパケット収集フラグが設定されていない場合、プロシージャは終了する。
【０１７０】
ステップ421：端末機器は、パケット収集フラグを除去し、その識別子がSogouCloud．exeであるプロセスに対してパケット取り込みの実行を開始する。
【０１７１】
本実施形態によれば、端末機器は表6においてパケット収集フラグを除去して、表7を取得する。パケット収集フラグを除去する目的は、プロセスの長期のパケット取り込みを回避することである。
【０１７２】
【表７】
0006599538.tif 000008
【０１７３】
任意選択で、同じプロセスの長期のパケット取り込みをさらに回避するために、パケット取り込み時間間隔が設定されてもよい。ステップ421を行う前に、端末機器は、現在時刻と、同じプロセスに対してパケット取り込み動作が前に行われた時刻との間の時間間隔が指定のパケット取り込み時間間隔を超えたかどうか判定し、時間間隔が指定のパケット取り込み時間間隔を超えた場合には、パケット取り込みを行い、時間間隔が指定のパケット取り込み時間間隔を超えない場合には、このステップをスキップする、すなわち、パケット取り込みフラグの除去を一時的にスキップし、パケット取り込みの実行を一時的にスキップし、現在の処理を終了する。
【０１７４】
ステップ422：端末機器は、後続の手動分析を円滑化するために、パケット取り込み結果を格納する。特定のプロセスに対するパケット取り込みを具体的に実施するときに、端末機器は、指定のパケット取り込みポリシーに従ってパケット取り込みを行うことができる。例えば、端末機器は、事前設定された時間区間内にプロセスによって送信されたデータパケットを取り込んだ後でパケット取り込みを終了し、またはプロセスによって送信され、取り込まれたデータパケットが事前設定されたデータ量に到達した後でパケット取り込みを終了する。
【０１７５】
ここでは、図3B−1および図3B−2に示す第1の対応関係表を更新するための方法と、図4Aおよび図4Bに示すパケット取り込み方法とは、独立して行われてもよく、組み合わせて行われてもよいことに留意されたい。
【０１７６】
本実施形態で提供される前述のパケット取り込み方法によれば、特徴ベース識別規則またはヒューリスティック識別規則を取得するように、続いて手動分析を行うために端末機器において特定のプロセスに関する複数の完全なデータストリームを取得することができる。取得した規則がネットワークセキュリティ装置に適用された後で、アプリケーション識別効果が向上する。
【０１７７】
本出願の一実施形態は端末機器をさらに提供する。図5Aに示すように、本端末機器は、メモリ510とプロセッサ520とネットワークインターフェース530とを含み、メモリ510とプロセッサ520とネットワークインターフェース530とはバス540を用いて相互に通信する。
【０１７８】
メモリ510には、ランダム・アクセス・メモリ（RAM）、読取り専用メモリ（ROM）、消去可能プログラム可能読取り専用メモリ（EPROMもしくはフラッシュメモリ）、または携帯式読取り専用メモリ（CD−ROM）が含まれるが、それだけに限定されない。
【０１７９】
プロセッサ520は1つまたは複数の中央処理装置（Central Processing Unit、略称CPU）とすることもできる。プロセッサ520が1つのCPUである場合。CPUは、シングルコアCPUであってもよく、マルチコアCPUであってもよい。
【０１８０】
ネットワークインターフェース530は、有線インターフェース、例えば、光ファイバ分散データインターフェース（Fiber Distributed Data Interface、略称FDDI）やギガビットイーサネット(登録商標)（Gigabit Ethernet、GE）であってもよく、ネットワークインターフェース530は無線インターフェースであってもよい。端末機器がパーソナルコンピュータである場合、ネットワークインターフェース530は、前述の有線インターフェースまたはIEEE 802．11bベースの無線ローカル・エリア・ネットワーク（WiFi）モジュールとすることができる。端末機器が携帯電話などの移動端末である場合、ネットワークインターフェース530は、ベースバンドチップとRFアンテナとを含むハードウェアモジュールとすることができる。
【０１８１】
メモリ510は、プログラムコード、第1の対応関係表、および第2の対応関係表を格納するように構成される。第1の対応関係表および第2の対応関係表の定義については、前述の実施形態の説明を参照されたい。ここでは詳細を繰り返さない。
【０１８２】
ネットワークインターフェース530は、第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するように構成される。
【０１８３】
プロセッサ520は、メモリ510に格納されたプログラムコードを読み出して、
第1の対応関係表において、第1のデータストリームの識別子が格納されている第1のレコード内のプロセスの識別子を取得するために、第1のレコードを探索するステップと、第2の対応関係表において、第1のレコード内のプロセスの識別子が格納されている第2のレコードからアプリケーションの識別子を取得するために、第2のレコードを探索するステップと
を行う。
【０１８４】
ネットワークインターフェース530は、プロセッサ520によって取得されたアプリケーションの識別子をネットワークセキュリティ装置に送信するようにさらに構成される。
【０１８５】
任意選択で、プロセッサ520は、第1の対応関係表を取得し、図3Aおよび図3Bおよび関連する説明による方法を用いて第1の対応関係表を更新してもよい。
【０１８６】
任意選択で、プロセッサ520は、図4Aおよび図4Bおよび関連する説明による方法を用いて完全なデータストリームのパケットを取得してもよい。
【０１８７】
本出願の一実施形態は、図5Bに示すように、端末機器をさらに提供する。本端末機器は、記憶モジュール560と受信モジュール570と処理モジュール580と送信モジュール590とを含む。これらのモジュールは、その機能が相対的に独立している論理モジュールであり、端末機器内のCPUがメモリのソフトウェアコードを読み出し、実行した後で生成されてもよく、ハードウェア構成要素を用いて実施されてもよいことに留意されたい。
【０１８８】
具体的には、記憶モジュール560は、第1の対応関係表と第2の対応関係表とを格納するように構成される。第1の対応関係表は、端末機器上で動作しているプロセスの識別子とプロセスによって作成されたデータストリームの識別子との間の対応関係を格納している。第2の対応関係表は、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の第2の対応関係を格納している。データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである。
【０１８９】
受信モジュール570は、第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するように構成される。
【０１９０】
処理モジュール580は、記憶モジュール560に格納された第1の対応関係表において、第1のデータストリームの識別子が格納されている第1のレコード内のプロセスの識別子を取得するために、第1のレコードを探索し、第2の対応関係表において、第1のレコード内のプロセスの識別子が格納されている第2のレコードからアプリケーションの識別子を取得するために、第2のレコードを探索する、ように構成される。
【０１９１】
送信モジュール590は、アプリケーションの識別子をネットワークセキュリティ装置に送信する、ように構成される。
【０１９２】
任意選択で、処理モジュール580は、第1の対応関係表を取得し、図3Aおよび図3Bおよび関連する説明による方法を用いて第1の対応関係表を更新してもよい。
【０１９３】
任意選択で、処理モジュール580は、図4Aおよび図4Bおよび関連する説明による方法を用いて完全なデータストリームのパケットを取得してもよい。
【０１９４】
図5Aおよび図5Bで提供される端末機器は、図1Aまたは図1Bの端末機器110として用いることができる。
【０１９５】
データストリームの、ネットワークセキュリティ装置によって送信された識別子を受信した後で、本出願の本実施形態で提供される端末機器は、端末機器によって格納されている第1の対応関係表および第2の対応関係表に従ってアプリケーションの識別子を探索し、発見されたアプリケーションの識別子をネットワークセキュリティ装置に送信する。ネットワークセキュリティ装置と端末機器との間のインタラクションによってより多くのアプリケーションを識別することができ、そのため、総トラフィックにおける未識別のトラフィックの割合が低減し、ネットワークトラフィックを識別する効果が向上する。
【０１９６】
本出願の一実施形態は、ネットワークセキュリティ装置をさらに提供する。図6Aに示すように、本ネットワークセキュリティ装置は、メモリ610とプロセッサ620とネットワークインターフェース630とを含み、メモリ610とプロセッサ620とネットワークインターフェース630とはバス640を用いて相互に通信する。
【０１９７】
メモリ610には、RAM、ROM、EPROMもしくはフラッシュメモリ、または携帯式読取り専用メモリが含まれるが、それだけに限定されない。
【０１９８】
プロセッサ620は1つまたは複数のCPUとすることもできる。プロセッサ620が1つのCPUである場合、CPUは、シングルコアCPUであってもよく、マルチコアCPUであってもよい。
【０１９９】
ネットワークインターフェース630は、有線インターフェース、例えば、FDDIやGEであってもよく、ネットワークインターフェース630は無線インターフェースであってもよい。
【０２００】
ネットワークインターフェース630は、第1のデータストリームを受信するように構成される。
【０２０１】
プロセッサ620は、第1のデータストリームの識別子を取得するように構成される。データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである。
【０２０２】
ネットワークインターフェース630は、データストリームの識別子を第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスに従って端末機器に送信するようにさらに構成され、端末機器のアドレスは第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスである。
【０２０３】
任意選択で、プロセッサ620は、既存のアプリケーション識別技術を用いて第1のデータストリームを送信したアプリケーションを識別できない場合、ネットワークインターフェース630に、データストリームの識別子を端末機器に送信するよう命令する。
【０２０４】
ネットワークインターフェース630は、端末機器によって送信されたアプリケーションの識別子を受信するようにさらに構成される。
【０２０５】
プロセッサ620は、第1のデータストリームのアプリケーション識別結果を取得するように、ネットワークインターフェース630によって受信されたアプリケーションの識別子は第1のデータストリームを送信したアプリケーションの識別子であると判定するようにさらに構成される。
【０２０６】
図6Bに示すように、本出願の一実施形態は、ネットワークセキュリティ装置をさらに提供する。本ネットワークセキュリティ装置は、受信モジュール660と、処理モジュール670と、送信モジュール680とを含む。これらのモジュールは、その機能が相対的に独立している論理モジュールであり、端末機器内のCPUがメモリのソフトウェアコードを読み出し、実行した後で生成されてもよく、ハードウェア構成要素を用いて実施されてもよいことに留意されたい。具体的には以下のとおりである。
【０２０７】
受信モジュール660は、第1のデータストリームを受信するように構成される。
【０２０８】
処理モジュール670は、第1のデータストリームの識別子を取得するように構成される。データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである。
【０２０９】
送信モジュール680は、データストリームの識別子を第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスに従って端末機器に送信するように構成され、端末機器のアドレスは第1のデータストリームの識別子内の送信元アドレスまたは宛先アドレスである。
【０２１０】
任意選択で、処理モジュール670は、既存のアプリケーション識別技術を用いて第1のデータストリームを送信したアプリケーションを識別できない場合、送信モジュール680に、データストリームの識別子を端末機器に送信するよう命令する。
【０２１１】
受信モジュール660は、端末機器によって送信されたアプリケーションの識別子を受信するようにさらに構成される。
【０２１２】
処理モジュール670は、第1のデータストリームのアプリケーション識別結果を取得するように、受信モジュール660によって受信されたアプリケーションの識別子は第1のデータストリームを送信したアプリケーションの識別子であると判定するようにさらに構成される。
【０２１３】
図6Aおよび図6Bに示すネットワークセキュリティ装置は、図1Aまたは図1Bのネットワークセキュリティ装置120として用いることができる。図6Aおよび図6Bに示すネットワークセキュリティ装置と端末機器との間のインタラクションのプロセスについては、図2Aおよび図2Bおよび関連する説明を参照されたい。
【０２１４】
本出願の本実施形態で提供されるネットワークセキュリティ装置は、既存のアプリケーション識別技術を用いてデータストリームを送信したアプリケーションを識別できない場合、端末機器にデータストリームの識別子を送信し、端末機器によって送信されたアプリケーションの識別子を受信し、受信したアプリケーションの識別子を、データストリームを送信したアプリケーションの識別子として用いて、データストリームのアプリケーション識別結果を取得する。ネットワークセキュリティ装置と端末機器との間のインタラクションによってより多くのアプリケーションを識別することができ、そのため、総トラフィックにおける未識別のトラフィックの割合が低減し、ネットワークトラフィックを識別する効果が向上する。
【０２１５】
実施形態2
図7は、本出願の一実施形態によるネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムの概略図である。本システムは、端末機器710とネットワークセキュリティ装置720とデータ処理装置730とを含む。図1Aおよび図1Bに示す識別システムと比べて、図7に示すシステムには、データ処理装置730が付加されている。データ処理装置730は、論理モジュールとして用いられ、ネットワークセキュリティ装置720または端末機器710に組み込まれていてもよく、端末機器710とネットワークセキュリティ装置720との別々の通信を確保できるならば、独立した物理装置として別個に配置されていてもよい。
【０２１６】
先行技術では、ネットワークセキュリティ装置の誤った識別結果を探索するという目的を達成する場合、ネットワークセキュリティ装置が識別すべきアプリケーションを識別する効果を調べるために、識別すべきアプリケーションによって生成されたトラフィックのみを含み、別のアプリケーションによって生成されたトラフィックは含まない非混合トラフィックだけしか使用することができない。さらに、混合トラフィックの場合の識別効果を推定することができない。
【０２１７】
本実施形態でデータ処理装置730を付加する主目的は、端末機器710からの情報とネットワークセキュリティ装置720からの情報とを包括的に分析することによってネットワークセキュリティ装置720の誤った識別結果を識別することである。
【０２１８】
まず、端末機器710は実施形態1の端末機器110との特定の類似性を有し、ネットワークセキュリティ装置720は実施形態1のネットワークセキュリティ装置120との特定の類似性を有することに留意されたい。簡略化のために、本実施形態では実施形態1との違いを強調して詳細に説明し、実施形態1の内容と類似した内容については簡単に説明する。
【０２１９】
図7に示す識別システムでは、ネットワークセキュリティ装置720は、第1のデータストリームを受信し、第1のデータストリームを送信したアプリケーションの識別子を判定した後で、第1の識別レコードを生成し、第1の識別レコードは、第1のデータストリームの識別子とアプリケーションの識別子とを含み、データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、第1の識別レコードをデータ処理装置に送信する、ように構成される。ネットワークセキュリティ装置720は、第1のデータストリームを送信したアプリケーションの識別子を判定するために、特徴ベース識別技術、技術ヒューリスティック識別技術、アソシエーション識別技術といった既存のアプリケーション識別技術を用いて第1のデータストリームを識別することができる。
【０２２０】
端末機器710は、第2の識別レコードを生成するために、端末機器上で動作しているプロセスの識別子とプロセスによって作成された第2のデータストリームの識別子とを取得し、第2の識別レコードは、第2のデータストリームの識別子とプロセスの識別子とを含み、対応関係表を取得し、対応関係表内の各レコードがアプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納し、第2の識別レコードと対応関係表とをデータ処理装置に送信する、ように構成される。本実施形態の対応関係表は実施形態1の第2の対応関係表であることが容易に理解される。実施形態1の各対応関係表の名前と一貫性を保つように、本実施形態でも第2の対応関係表の名前が保持されている。
【０２２１】
本実施形態の第2の識別レコードは、実施形態1の第1の対応関係表内のレコードとすることができる。端末機器710が第1の対応関係表を取得するプロセスについては、実施形態1の関連する内容を参照されたい。第1の対応関係表を取得した後で、端末機器710は、第1の対応関係表をファイルとしてデータ処理装置730に一体化して送信し、または第1の対応関係表内の1つのレコードまたは複数のレコードをデータ処理装置730に選択的に送信する。これについては本明細書では限定されない。
【０２２２】
データ処理装置730は、ネットワークセキュリティ装置720から第1の識別レコードを受信し、端末機器710から第2の識別レコードと対応関係表とを受信し、第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせ、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納し、第1のアソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定する、ように構成される。
【０２２３】
任意選択で、第1の識別レコードは誤った識別レコードであると判定した後で、データ処理装置730は、端末機器710がプロセスの識別子のパケット取り込みフラグを設定し、続いて、手動分析を行うためにプロセスの識別子が表すプロセスによって送信された複数の完全なデータストリームを取り込むように、第2の識別レコードに含まれるプロセスの識別子を端末機器710にさらに送信してもよい。詳細なパケット取り込みプロセスについては、実施形態1の図4Aおよび図4Bおよび関連する説明を参照されたい。ここでは詳細を繰り返さない。
【０２２４】
任意選択で、ネットワークセキュリティ装置が、同じアソシエーション識別規則が原因で、同じ誤った識別レコードをデータ処理装置に引き続き繰り返し送信することに起因して生じるデータ処理装置とネットワークセキュリティ装置との間の伝送リソースの占有を低減させるために、ネットワークセキュリティ装置は、データ処理装置に送信される第1の識別レコードの識別方式の識別子を付加することができる。誤った識別レコードがアソシエーション識別規則によって生じたと判定した後で、データ処理装置は、ネットワークセキュリティ装置に、関連したアソシエーション識別規則を削除するよう命令する。したがって、同じ理由で続いて生じる誤った識別レコードが回避される。
【０２２５】
具体的には：ネットワークセキュリティ装置720からの第1の識別レコードは、識別方式の識別子をさらに含み、識別方式は、アソシエーション識別、特徴識別、およびヒューリスティック識別を含む。
【０２２６】
アソシエーション識別方式は、ネットワークセキュリティ装置720が、パケットのIPアドレスおよびポート番号とアプリケーションとの間の対応関係に従って、パケットを送信したアプリケーションを識別することを意味する。例えば、ネットワークセキュリティ装置720は、FTP制御チャネル上の制御パケットを構文解析することによって、作成されるべきデータチャネルによって用いられるIPアドレスおよびポート番号を取得し、取得したIPアドレスおよびポート番号と、FileZillaなどのFTPクライアントの名前との間の対応関係を、アソシエーションテーブルに付加する。後続のパケットを受信した後で、ネットワークセキュリティ装置720は、アソシエーションテーブルにパケットで搬送されたIPアドレスおよびポート番号が存在するかどうか問い合わせ、パケットで搬送されたIPアドレスおよびポート番号がアソシエーションテーブルに存在する場合、パケットで搬送された、アソシエーションテーブル内のIPアドレスおよびポート番号に対応するFileZillaを、パケットを送信したアプリケーションとして用いる。
【０２２７】
第1の識別レコードが識別方式の識別子をさらに含む場合、第1の識別レコードは誤った識別レコードであると判定した後で、データ処理装置730は、第1の識別レコード内の識別方式の識別子がアソシエーション識別方式の識別子である場合、ネットワークセキュリティ装置に通知メッセージをさらに送信することができる。通知メッセージは、ネットワークセキュリティ装置に、第1のアソシエーション識別規則を削除するよう命令するのに用いられ、第1のアソシエーション識別規則は、第1の識別レコードに含まれる第1のデータストリームの識別子を含む。
【０２２８】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムでは、データ処理装置は、ネットワークセキュリティ装置から第1の識別レコードを、端末機器から第2の識別レコードと対応関係表とを受信し、第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせ、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納し、第1のアソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定する。データ処理装置は、端末機器の識別レコードをネットワークセキュリティ装置の識別レコードと比較することによって、ネットワークセキュリティ装置のものである、先行技術を用いて見つけるのが困難な誤った識別レコードを識別することができる。したがって、ネットワークトラフィックを識別する効果が向上する。
【０２２９】
以下では、図8A−1から図8A−3および図8B−1および図8B−2を参照し、具体例に関連して、一実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するための方法について説明する。本実施形態では、端末機器は図7の端末機器710とすることができ、ネットワークセキュリティ装置は図7のネットワークセキュリティ装置720とすることができ、データ処理装置は図7のデータ処理装置730とすることができる。
【０２３０】
図8A−1から図8A−3には、本実施形態で提供される識別方法が、詳細な時系列インタラクション図として記述されている。
【０２３１】
ステップ801：第1のデータストリームのパケットP10を受信した後で、ネットワークセキュリティ装置は、アソシエーション識別技術に基づいて、第1のデータストリームに対するアプリケーション識別を行って、識別結果、すなわち、第1の識別レコード「tcp 192．168．1．211：3020−201．6．8．30：6682ストームコーデックA」を取得する。
【０２３２】
第1の識別レコードは、ネットワークセキュリティ装置が第1のデータストリームを受信し、次いで、特徴ベース識別技術、ヒューリスティック識別技術、またはアソシエーション識別技術を用いて取得された規則を用いて第1のデータストリームを識別した後で取得される。ネットワークセキュリティ装置は、識別結果が得られるまで、パケットを識別するために様々な既存の識別技術を連続して用いることができる。例えば、ネットワークセキュリティ装置は、まず、特徴ベース規則を用いてパケットを識別し、識別結果を得られなかった場合、すなわち、パケットの特徴が特徴ベース規則のどの特徴とも一致しない場合、ヒューリスティック規則を用いてパケットを識別し、識別結果を得られなかった場合には、アソシエーション識別規則を用いてパケットを識別しようと試みる。当然ながら、ネットワークセキュリティ装置が最初に特徴ベース規則を用いてパケットを識別したときに識別結果が得られた場合には、識別レコードが生成され、処理が終了する。ネットワークセキュリティ装置が識別技術を選択する順序は特に限定されない。
【０２３３】
本実施形態では、第1の識別レコードは、第1のアソシエーション識別規則に従ってネットワークセキュリティ装置によって識別され、第1のアソシエーション識別規則は「tcp 201．6．8．30：6682ストームコーデック」である。パケットP10を受信した後で、ネットワークセキュリティ装置は、パケットから宛先3タプルおよび送信元3タプルを取得し、宛先3タプルまたは送信元3タプルを第1のアソシエーション識別規則と照合し、宛先3タプルと送信元3タプルのどちらかが第1のアソシエーション識別規則内の3タプルと一致する場合、パケットP10が属する第1のデータストリームは端末機器内のストームコーデックによって送信されたと判定する。
【０２３４】
本実施形態では、アソシエーション識別方式の識別子はAであり、特徴ベース識別方式の識別子はBであり、ヒューリスティック識別方式の識別子はCである。
【０２３５】
ステップ802：ネットワークセキュリティ装置は第1の識別レコード「tcp 192．168．1．211：3020−201．6．8．30：6682ストームコーデックA」をパケットP11に付加し、P11をデータ処理装置に送信する。
【０２３６】
ステップ803：パケットP11を受信した後で、データ処理装置はパケットP11を構文解析して、パケットP11で搬送された第1の識別レコード「tcp 192．168．1．211：3020−201．6．8．30：6682ストームコーデックA」を取得する。
【０２３７】
ステップ804：データ処理装置は、端末機器から、第2の識別レコード「tcp 192．168．1．211：3020−201．6．8．30：6682 SogouCloud．exe」と第2の対応関係表とを受信する。
【０２３８】
第2の識別レコードと第2の対応関係表とは別々に送信されてもよいことに留意されたい。例えば、第2の対応関係表は、端末機器内のエージェントの初期設定が完了した後で送信され、または端末機器内のエージェントが、実施形態1の表2に示す第2の対応関係表が変化したことを検出した後で送信される。
【０２３９】
端末機器が、実施形態1の表1に示す維持されている第1の対応関係表を一体のファイルパッケージとしてデータ処理装置に定期的に送信するように構成されている場合、第2の識別レコードは、端末機器によって送信された第1の対応関係表内のレコードとすることができる。
【０２４０】
あるいは、ネットワークセキュリティ装置から第1の識別レコードを受信した後で、データ処理装置は、第1の識別レコードから5タプルを抽出し、5タプルを端末機器に送信して、端末機器に、その5タプルを含む、第1の対応関係表内のレコードをデータ処理装置に返すよう命令することもできる。
【０２４１】
端末機器が第2の識別レコードをデータ処理装置に送信する具体的な方法は、本明細書では限定されない。
【０２４２】
ステップ805：データ処理装置は、第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じであると判定する。
【０２４３】
具体的には、端末機器が、実施形態1の表1に示す維持されている第1の対応関係表を一体のファイルパッケージとしてデータ処理装置に定期的に送信するように構成されている場合、データ処理装置は、第1の識別レコード内の5タプルに従って一体のファイルパッケージにおいて、第2の識別レコードとして5タプル「tcp 192．168．1．211：3020−201．6．8．30：6682」を含むレコードを探索する。
【０２４４】
端末機器が第2の識別レコードを独立して送信した場合、ネットワークセキュリティ装置によって送信された第1の識別レコードを受信機器した後で、データ処理装置は、第1の識別レコードを、事前設定された時間区間内に端末機器から以前に受信した少なくとも1つの識別レコードと比較し、その識別子が第1の識別レコードに含まれるデータストリームの識別子と同じであるデータストリームを搬送する識別レコードが存在すると判定し、その識別レコードを第2の識別レコードとして用いる。
【０２４５】
ステップ806：データ処理装置は、第2の対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせ、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納している。
【０２４６】
第1のアソシエーションレコードが存在する場合、それは、第1の識別レコードが正しい識別レコードであることを指示しており、データ処理装置は、ネットワークセキュリティ装置によって送信される次の識別レコードを引き続き処理し、第1のアソシエーションレコードが存在しない場合、それは、第1の識別レコードが誤った識別レコードであることを指示している。
【０２４７】
具体的には、データ処理装置は、第2の対応関係表に、第1の識別レコード内のアプリケーションの識別子「ストームコーデック」と、第2の識別レコード内のプロセスの識別子「SogouCloud．exe」とを格納しているアソシエーションレコードが存在するかどうか判定する。本実施形態では、表2に示す第2のアソシエーションテーブルには「ストームコーデック」と「SogouCloud．exe」の両方を含むレコードが存在しない。
【０２４８】
データ処理装置が、ネットワークセキュリティ装置からの識別レコードは誤った識別レコードであると判定した場合、ステップ807、ステップ810、またはステップ808からステップ809を含むサブプロシージャのうちの少なくとも1つが行われる。言い換えると、ステップ807、ステップ810、またはステップ808からステップ809を含むサブプロシージャは任意選択であり、実行順序は特に限定されない。
【０２４９】
ステップ807：データ処理装置は、端末機器がプロセスの識別子のパケット取り込みフラグを設定し、続いて、手動分析を行うためにプロセスの識別子が表すプロセスによって送信された複数の完全なデータストリームを取り込むように、端末機器に、第2の識別レコードに含まれるプロセスの識別子「SogouCloud．exe」を搬送するパケットP12を送信する。詳細なパケット取り込みプロセスについては、図4Aおよび図4Bのステップ49からステップ422の説明を参照されたい。
【０２５０】
ステップ808：データ処理装置は、第1の識別レコードで搬送された識別方式の識別子がアソシエーション識別方式の識別子であるかどうか判定し、第1の識別レコードで搬送された識別方式の識別子がアソシエーション識別方式の識別子である場合、ステップ809を行い、第1の識別レコードで搬送された識別方式の識別子がアソシエーション識別方式の識別子でない場合、現在の処理を終了する。
【０２５１】
ステップ809：データ処理装置は、ネットワークセキュリティ装置に第1のアソシエーション識別規則「tcp 201．6．8．30：6682ストームコーデック」を削除するよう命令する通知メッセージP13をネットワークセキュリティ装置に送信する。
【０２５２】
具体的には、通知メッセージは、第1の識別レコードに含まれるデータストリームの識別子と、削除命令、例えば、「201．6．8．30：6682 D」とを搬送することができ、Dは削除命令である。
【０２５３】
ステップ810：データ処理装置はさらに、誤った識別レコードの数をカウントし、誤った識別レコードが判定される都度、誤った識別レコードの現在数を1増やす。
【０２５４】
任意選択で、ステップ806で第1の識別レコードは正しい識別レコードであると判定した場合、データ処理装置は、正しい識別レコードの現在数を1増やしてもよい。このようにして、事前設定された時間区間における誤報率を、誤った識別レコードの数および正しい識別レコードの数に従って計算することができる。
【０２５５】
データ処理装置は、管理担当者が分析するために、出力インターフェース、例えば、ディスプレイやプリンタを用いて、誤った識別レコードおよび誤報率をさらに定期的に出力することもできる。
【０２５６】
ステップ811：通知メッセージP13を受信した後で、ネットワークセキュリティ装置は、第1のアソシエーション識別規則「tcp 201．6．8．30：6682ストームコーデック」または第2のアソシエーション識別規則「tcp 192．168．1．211：3020ストームコーデック」を削除する。
【０２５７】
任意選択で、ステップ806で、第1の識別レコードは誤った識別レコードであると判定した後で、データ処理装置は、ネットワークセキュリティ装置の後続の識別効果を向上させるために、ネットワークセキュリティ装置のための正しいアソシエーション識別規則をさらに生成する。具体的には以下のとおりである。
【０２５８】
ステップ812：データ処理装置は、対応関係表に第2のアソシエーションレコードが存在するかどうか問い合わせ、第2のアソシエーションレコードは、第2の識別レコードに含まれるプロセスの識別子を格納している。第2のアソシエーションレコードが存在する場合、ステップ813が行われる。第2のアソシエーションレコードが存在しない場合、処理は終了する。
【０２５９】
ステップ813：データ処理装置は、第3のアソシエーション識別規則または第4のアソシエーション識別規則を生成し、第3のアソシエーション識別規則は、第2のアソシエーションレコード内のアプリケーションの識別子と、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、第4のアソシエーション識別規則は、第2のアソシエーションレコード内のアプリケーションの識別子と、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルとを含む。
【０２６０】
本例では、表2に示す第2の対応関係表の第1行のレコードが「SogouCloud．exe」を含み、第1行のレコードに含まれるアプリケーションの識別子は「Sogou入力法」である。
【０２６１】
生成された第3のアソシエーション識別規則は「tcp 201．6．8．30：6682 Sogou入力法」であり、生成された第4のアソシエーション識別規則は「tcp 192．168．1．211：3020 Sogou入力法」である。
【０２６２】
ステップ814：データ処理装置は、第3のアソシエーション識別規則または第4のアソシエーション識別規則をネットワークセキュリティ装置に送信する。
【０２６３】
図8B−1および図8B−2に、データ処理装置によって実行される識別方法の別の流れ図を示す。図8A−1から図8A−3に基づき、図8B−1および図8B−2のステップ821からステップ829は、ネットワークセキュリティ装置および端末機器によって送信された別の2つの識別レコードについての記述であることを理解されたい。
【０２６４】
ステップ821：第3のデータストリームのパケットP20を受信した後で、ネットワークセキュリティ装置は、既存の特徴ベース識別技術に基づいて第3のデータストリームに対してアプリケーション識別を行い、識別結果を得られない場合、第3の識別レコード「192．168．1．211：6120−168．3．56．120：1138 Unidentified」を生成し、Unidentifiedは未識別のフラグであり、ネットワークセキュリティ装置が第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられる。
【０２６５】
ステップ822：ネットワークセキュリティ装置は、第3の識別レコード「tcp 192．168．1．211：6120−168．3．56．120：1138 Unidentified」をパケットP21に付加し、P21をデータ処理装置に送信する。
【０２６６】
ステップ823：パケットP21を受信した後で、データ処理装置はパケットP21から搬送された第3の識別レコード「tcp 192．168．1．211：6120−168．3．56．120：1138 Unidentified」を取得する。
【０２６７】
ステップ824：データ処理装置は、端末機器から第4の識別レコード「tcp 192．168．1．211：6120−168．3．56．120：1138 kxescore．exe」を受信する。
【０２６８】
ここでは、表2に示す第2の対応関係表はすでにデータ処理装置に格納されているものと仮定する。
【０２６９】
ステップ825：データ処理装置は、第3の識別レコードに含まれる第3のデータストリームの識別子が、第4の識別レコードに含まれる第4のデータストリームの識別子と同じであると判定する。
【０２７０】
ステップ826：データ処理装置は、第2の対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納している。
【０２７１】
第3のアソシエーションレコードが存在する場合、ステップ827からステップ828を含むサブプロシージャとステップ829からステップ830を含むサブプロシージャのどちらかが実行のために選択される。
【０２７２】
本実施形態では、表2の第3のレコードは「kxescore．exe」である。
【０２７３】
ステップ827：データ処理装置は、第5のアソシエーション識別規則または第6のアソシエーション識別規則を生成し、第5のアソシエーション識別規則は、第3のアソシエーションレコードに含まれるアプリケーションの識別子と、第3のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルとを含み、第6のアソシエーション識別規則は、第3のアソシエーションレコードに含まれるアプリケーションの識別子と、第3のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルとを含む。
【０２７４】
本実施形態では、第5のアソシエーション識別規則は「tcp 168．3．56．120：1138 Huaweiセキュリティガード」であり、第6のアソシエーション識別規則は「tcp 192．168．1．211：6120 Huaweiセキュリティガード」である。
【０２７５】
ステップ828：データ処理装置は、第5のアソシエーション識別規則または第6のアソシエーション識別規則をネットワークセキュリティ装置に送信する。
【０２７６】
ステップ829：データ処理装置は、第3のデータストリームの識別子と第3のアソシエーションレコードに含まれるアプリケーションの識別子とをパケット22に付加し、パケットP22をネットワークセキュリティ装置に送信する。
【０２７７】
ステップ830：パケットP22を受信した後で、ネットワークセキュリティ装置は、パケットP22に従って第5のアソシエーション識別規則または第6のアソシエーション識別規則を生成する。
【０２７８】
第5のアソシエーション識別規則は、パケットP22で搬送されたアプリケーションの識別子と、第3のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む、パケットP22で搬送された3タプルを含む。第6のアソシエーション識別規則は、パケットP22で搬送されたアプリケーションの識別子と、第3のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルを含む。
【０２７９】
ここでは、識別レコードに従って新しいアソシエーション識別規則を生成する方法において、実施形態1の図2Aおよび図2Bのステップ212、実施形態2の図8A−1から図8A−3のステップ813、ならびに実施形態2の図8B−1および図8B−2のステップ827からステップ828、またはステップ829からステップ830に示すように、具体的な実施に際して、アソシエーション識別規則が原因で誤った識別が続いて生成される確率を低減させるために、1つの識別レコードが取得された直後にアソシエーション識別規則を生成するのではなく、特定の類似性を有する複数の識別レコードに従ってアソシエーション識別規則が生成されうることに留意されたい。
【０２８０】
例えば、ステップ826で正しい識別レコードを判定するときに、データ処理装置は、表8に示すように、仮のアソシエーション識別規則を生成、格納し、仮のアソシエーション識別規則ごとにカウント値を設定する。
【０２８１】
【表８】
0006599538.tif 000009
【０２８２】
データ処理装置が、別の仮のアソシエーション識別規則を生成し、表8に仮のアソシエーション識別規則を格納するために、図8B−1および図8B−2に示すプロシージャを続いて行う場合、データ処理装置は、まず、表8に同じ仮のアソシエーション識別規則が存在するかどうか問い合わせ、同じ仮のアソシエーション識別規則が存在する場合、その仮のアソシエーション識別規則に対応するカウント値を1増やし、同じ仮のアソシエーション識別規則が存在しない場合、表8に新しいレコードを付加し、カウント値を1に設定する。
【０２８３】
データ処理装置は、閾値を、例えば10に設定する。表8のレコードのカウント値が閾値を超える場合、それは、仮のアソシエーション識別規則が一般性を有することを指示しており、その仮のアソシエーション識別規則は次いで、ネットワークセキュリティ装置が続いて受信されるデータストリームに対してアプリケーション識別を行うために用いることができる正式なアソシエーション識別規則として用いられる。
【０２８４】
本出願の本実施形態で提供されるネットワークトラフィックにおけるアプリケーション情報を識別するための方法では、データ処理装置は、ネットワークセキュリティ装置から第1の識別レコードを、端末機器から第2の識別レコードと対応関係表とを受信し、第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納しているアソシエーションレコードが存在するかどうか問い合わせ、アソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定する。前述のプロセスによれば、ネットワークセキュリティ装置の誤った識別レコードを発見することができ、アプリケーション識別効果を向上させることができる。
【０２８５】
本出願の一実施形態は、図9Aに示すように、データ処理装置をさらに提供する。本データ処理装置は、メモリ910とプロセッサ920とネットワークインターフェース930とを含み、メモリ910とプロセッサ920とネットワークインターフェース930とはバス940を用いて相互に通信する。
【０２８６】
メモリ910には、RAM、ROM、EPROMもしくはフラッシュメモリ、または携帯式読取り専用メモリ（CD−ROM）が含まれるが、それだけに限定されない。
【０２８７】
プロセッサ920は1つまたは複数のCPUとすることもできる。プロセッサ920が1つのCPUである場合、CPUは、シングルコアCPUであってもよく、マルチコアCPUであってもよい。
【０２８８】
ネットワークインターフェース930は、有線インターフェース、例えば、FDDIやGEであってもよく、ネットワークインターフェース930は無線インターフェースであってもよい。
【０２８９】
ネットワークインターフェース930は、ネットワークセキュリティ装置から第1の識別レコードを受信し、第1の識別レコードは、第1のデータストリームの識別子とアプリケーションの識別子とを含み、端末機器から、第2の識別レコードと対応関係表とを受信し、第2の識別レコードは、第2のデータストリームの識別子とプロセスの識別子とを含み、対応関係表内の各レコードは、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納している、ように構成される。
【０２９０】
プロセッサ920は、メモリ910に格納されたプログラムコードを読み出して、
第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納している、ステップと、第1のアソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定するステップと
を行う。
【０２９１】
任意選択で、ネットワークインターフェース930は、第1の識別レコード内の識別方式の識別子がアソシエーション識別方式の識別子である場合、第1のアソシエーションレコード存在しないときに、ネットワークセキュリティ装置に通知メッセージを送信する、ようにさらに構成され、通知メッセージは、ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、第1のアソシエーション識別規則は、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルを含み、第2のアソシエーション識別規則は、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルを含む。
【０２９２】
データ処理装置はさらに、先行技術では識別できないトラフィックを識別するために、ネットワークセキュリティ装置および端末機器とインタラクションすることができる。任意選択で、ネットワークインターフェース930は、ネットワークセキュリティ装置から第3の識別レコードを受信し、第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、未識別のフラグは、ネットワークセキュリティ装置が第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられ、端末機器から第4の識別レコードを受信し、第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ようにさらに構成される。
【０２９３】
プロセッサ920は、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じであるかどうか判定し、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納している、ようにさらに構成される。
【０２９４】
ネットワークインターフェース930は、プロセッサが第3のアソシエーションレコードは存在すると判定した場合、第3のアソシエーションレコードに含まれるアプリケーションの識別子と第3のデータストリームの識別子とをネットワークセキュリティ装置に送信する、ようにさらに構成される。
【０２９５】
本出願の一実施形態は、図9Bに示すように、データ処理装置をさらに提供する。本データ処理装置は、受信モジュール970と処理モジュール980とを含む。これらのモジュールは、その機能が相対的に独立している論理モジュールであり、データ処理装置内のCPUがメモリのソフトウェアコードを読み出し、実行した後で生成されてもよく、ハードウェア構成要素を用いて実施されてもよいことに留意されたい。
【０２９６】
具体的には以下のとおりである。
【０２９７】
受信モジュール970は、ネットワークセキュリティ装置から第1の識別レコードを受信し、第1の識別レコードは、第1のデータストリームの識別子とアプリケーションの識別子とを含み、端末機器から第2の識別レコードと対応関係表とを受信し、第2の識別レコードは、第2のデータストリームの識別子とプロセスの識別子とを含み、対応関係表内の各レコードがアプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子とを格納している、ように構成される。
【０２９８】
処理モジュール980は、受信モジュール970によって受信された第1の識別レコードに含まれる第1のデータストリームの識別子が受信モジュール970によって受信された第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせ、第1のアソシエーションレコードは、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納し、第1のアソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定する、ように構成される。
【０２９９】
任意選択で、図9Bに示すデータ処理装置は、第1の識別レコード内の識別方式の識別子がアソシエーション識別方式の識別子である場合、第1のアソシエーションレコードが存在しないときに、ネットワークセキュリティ装置に通知メッセージを送信し、通知メッセージは、ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、第1のアソシエーション識別規則は、第1のデータストリームの宛先アドレス、宛先ポート、およびプロトコル識別子を含む3タプルを含み、第2のアソシエーション識別規則は、第1のデータストリームの送信元アドレス、送信元ポート、およびプロトコル識別子を含む3タプルを含む、ように構成された、送信モジュール990をさらに含む。
【０３００】
データ処理装置はさらに、先行技術では識別できないトラフィックを識別するために、ネットワークセキュリティ装置および端末機器とインタラクションすることができる。任意選択で、受信モジュール970は、ネットワークセキュリティ装置から、第3のデータストリームの識別子と、ネットワークセキュリティ装置が第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられる未識別のフラグとを含む第3の識別レコードを受信し、端末機器から、第4のデータストリームの識別子とプロセスの識別子とを含む第4の識別レコードを受信する、ようにさらに構成される。
【０３０１】
処理モジュール980は、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じであるかどうか判定し、第3の識別レコードに含まれる第3のデータストリームの識別子が第4の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納している、ようにさらに構成される。
【０３０２】
送信モジュール990は、処理モジュール980が第3のアソシエーションレコードは存在すると判定した場合、第3のアソシエーションレコードに含まれるアプリケーションの識別子と第3のデータストリームの識別子とをネットワークセキュリティ装置に送信する、ようにさらに構成される。
【０３０３】
図9Aおよび図9Bに示すデータ処理装置は、図7のデータ処理装置730として用いることができる。
【０３０４】
データ処理装置の他の追加機能およびネットワークセキュリティ装置と端末機器との間のインタラクションの詳細なプロセスについては、図8A−1から図8A−3、図8B−1および図8B−2、ならびに関連する説明を参照されたい。ここでは詳細を繰り返さない。
【０３０５】
本出願の本実施形態で提供されるデータ処理装置は、ネットワークセキュリティ装置から第1の識別レコードを、端末機器から第2の識別レコードと対応関係表とを受信し、第1の識別レコードに含まれる第1のデータストリームの識別子が第2の識別レコードに含まれる第2のデータストリームの識別子と同じである場合、対応関係表に、第1の識別レコードに含まれるアプリケーションの識別子と第2の識別レコードに含まれるプロセスの識別子とを格納しているアソシエーションレコードが存在するかどうか問い合わせ、アソシエーションレコードが存在しない場合、第1の識別レコードは誤った識別レコードであると判定する。前述のプロセスによれば、ネットワークセキュリティ装置の誤った識別レコードを発見することができ、アプリケーション識別効果を向上させることができる。
【０３０６】
当業者が、本発明の趣旨および範囲を逸脱することなく本発明に様々な改変および変形を加えることができることは自明である。したがって、これらの改変および変形が特許請求の範囲および本発明の均等な技術の範囲内に含まれれば、本発明はこれらの改変および変形を含むと解釈されるものとする。
【符号の説明】
【０３０７】
110  端末機器
120  ネットワークセキュリティ装置
510  メモリ
520  プロセッサ
530  ネットワークインターフェース
540  バス
560  記憶モジュール
570  受信モジュール
580  処理モジュール
590  送信モジュール
610  メモリ
620  プロセッサ
630  ネットワークインターフェース
640  バス
660  受信モジュール
670  処理モジュール
680  送信モジュール
710  端末機器
720  ネットワークセキュリティ装置
730  データ処理装置
910  メモリ
920  プロセッサ
930  ネットワークインターフェース
940  バス
970  受信モジュール
980  処理モジュール
990  送信モジュール
【図１Ａ】
0006599538.tif 000010
【図１Ｂ】
0006599538.tif 000011
【図２Ａ】
0006599538.tif 000012
【図２Ｂ】
0006599538.tif 000013
【図３Ａ】
0006599538.tif 000014
【図３Ｂ−１】
0006599538.tif 000015
【図３Ｂ−２】
0006599538.tif 000016
【図４Ａ】
0006599538.tif 000017
【図４Ｂ】
0006599538.tif 000018
【図５Ａ】
0006599538.tif 000019
【図５Ｂ】
0006599538.tif 000020
【図６Ａ】
0006599538.tif 000021
【図６Ｂ】
0006599538.tif 000022
【図７】
0006599538.tif 000023
【図８Ａ−１】
0006599538.tif 000024
【図８Ａ−２】
0006599538.tif 000025
【図８Ａ−３】
0006599538.tif 000026
【図８Ｂ−１】
0006599538.tif 000027
【図８Ｂ−２】
0006599538.tif 000028
【図９Ａ】
0006599538.tif 000029
【図９Ｂ】
0006599538.tif 000030