JP2018531527A6 - ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置 - Google Patents

ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置 Download PDF

Info

Publication number
JP2018531527A6
JP2018531527A6 JP2018502243A JP2018502243A JP2018531527A6 JP 2018531527 A6 JP2018531527 A6 JP 2018531527A6 JP 2018502243 A JP2018502243 A JP 2018502243A JP 2018502243 A JP2018502243 A JP 2018502243A JP 2018531527 A6 JP2018531527 A6 JP 2018531527A6
Authority
JP
Japan
Prior art keywords
identifier
record
data stream
identification
terminal device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018502243A
Other languages
English (en)
Other versions
JP6599538B2 (ja
JP2018531527A (ja
Inventor
有永 李
▲鷹▼ 熊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201511000809.5A external-priority patent/CN106921637B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2018531527A publication Critical patent/JP2018531527A/ja
Publication of JP2018531527A6 publication Critical patent/JP2018531527A6/ja
Application granted granted Critical
Publication of JP6599538B2 publication Critical patent/JP6599538B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

アプリケーション識別技術の識別効果を向上させるネットワークトラフィックのアプリケーション情報を識別する方法が提供される。端末機器の第1対応関係表は、端末機器上で動作するプロセスの識別子とプロセスで作成されたデータストリームの識別子との対応関係を格納し、第2対応関係表は、アプリケーションの識別子とアプリケーションで作成されたプロセスの識別子との第2対応関係を格納する。本方法は、第1データストリームのネットワークセキュリティ装置が送信した識別子を受信し、第1対応関係表で、第1データストリームの識別子が格納された第1レコード内のプロセスの識別子を取得するため第1レコードを探索し、第2対応関係表で、第1レコード内のプロセスの識別子が格納された第2レコードからアプリケーションの識別子を取得するため第2レコードを探索し、アプリケーションの識別子をネットワークセキュリティ装置に送信する。

Description

本出願は、参照によりその全体が本明細書に組み入れられる、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の対応関係表は、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の第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の対応関係表は、アプリケーションの識別子とアプリケーションによって作成されたプロセスの識別子との間の第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のデータストリームの識別子を取得し、データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、第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のデータストリームの識別子とアプリケーションの識別子とを含み、データストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む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のデータストリームの識別子とアプリケーションの識別子とを含み、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む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のデータストリームの識別子と同じであるかどうか判定し、対応関係表に第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の識別レコードに含まれる第4のデータストリームの識別子と同じである場合、対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、第3のアソシエーションレコードは、第4の識別レコードに含まれるプロセスの識別子を格納している、ようにさらに構成される。
ネットワークインターフェースは、プロセッサが第3のアソシエーションレコードは存在すると判定した場合、第3のアソシエーションレコードに含まれるアプリケーションの識別子と第3のデータストリームの識別子とをネットワークセキュリティ装置に送信する、ようにさらに構成される。
本出願の本実施形態で提供されるデータ処理装置は、端末機器の識別レコードをネットワークセキュリティ装置の識別レコードと比較することによって、ネットワークセキュリティ装置のものである、先行技術を用いて探索するのが困難な誤った識別レコードを識別することができる。したがって、ネットワークトラフィックを識別する効果が向上する。
第8の態様によれば、データ処理装置と端末機器とネットワークセキュリティ装置とを含む、ネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムが提供される。
ネットワークセキュリティ装置は、第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の対応関係表を取得するプロセスについては、流れ図に関連して後で詳細に説明する。
端末機器は、表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の対応関係表を定期的に取得することができる。
端末機器は、表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に示す。
ステップ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に示す。
任意選択で、端末機器において第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に示す。
本実施形態では、パケット収集フラグが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のレコードである。
第1の対応関係表においてデータストリームの識別子を含むレコードが発見されるかどうかにかかわらず、ステップ411の後でデータストリームの識別子を含むレコードが取得される。レコードからプロセスの識別子が取得される。本実施形態では、取得されたプロセスの識別子はSogouCloud.exeである。
ステップ420:端末機器は、第1のレコード内のプロセスの識別子SogouCloud.exeにパケット収集フラグが設定されているかどうか判定する。識別子にパケット収集フラグが設定されている場合、ステップ421が行われる。識別子にパケット収集フラグが設定されていない場合、プロシージャは終了する。
ステップ421:端末機器は、パケット収集フラグを除去し、その識別子がSogouCloud.exeであるプロセスに対してパケット取り込みの実行を開始する。
本実施形態によれば、端末機器は表6においてパケット収集フラグを除去して、表7を取得する。パケット収集フラグを除去する目的は、プロセスの長期のパケット取り込みを回避することである。
任意選択で、同じプロセスの長期のパケット取り込みをさらに回避するために、パケット取り込み時間間隔が設定されてもよい。ステップ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ベースの無線ローカル・エリア・ネットワーク(Wireless Fidelity、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もしくはフラッシュメモリ)、または携帯式読取り専用メモリ(CD−ROM)が含まれるが、それだけに限定されない。
プロセッサ620は1つまたは複数の中央処理装置(Central Processing Unit、略称CPU)とすることもできる。プロセッサ620が1つのCPUである場合、CPUは、シングルコアCPUであってもよく、マルチコアCPUであってもよい。
ネットワークインターフェース630は、有線インターフェース、例えば、光ファイバ分散データインターフェース(Fiber Distributed Data Interface、略称FDDI)やギガビットイーサネット(Gigabit Ethernet、略称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に示すように、仮のアソシエーション識別規則を生成、格納し、仮のアソシエーション識別規則ごとにカウント値を設定する。
データ処理装置が、別の仮のアソシエーション識別規則を生成し、表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つまたは複数の中央処理装置(Central Processing Unit、略称CPU)とすることもできる。プロセッサ920が1つのCPUである場合、CPUは、シングルコアCPUであってもよく、マルチコアCPUであってもよい。
ネットワークインターフェース930は、有線インターフェース、例えば、光ファイバ分散データインターフェース(Fiber Distributed Data Interface、略称FDDI)やギガビットイーサネット(Gigabit Ethernet、略称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 送信モジュール
本出願は、参照によりその全体が本明細書に組み入れられる、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の対応関係表を取得するプロセスについては、流れ図に関連して後で詳細に説明する。
端末機器は、表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の対応関係表を定期的に取得することができる。
端末機器は、表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に示す。
ステップ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に示す。
任意選択で、端末機器において第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に示す。
本実施形態では、パケット収集フラグが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のレコードである。
第1の対応関係表においてデータストリームの識別子を含むレコードが発見されるかどうかにかかわらず、ステップ411の後でデータストリームの識別子を含むレコードが取得される。レコードからプロセスの識別子が取得される。本実施形態では、取得されたプロセスの識別子はSogouCloud.exeである。
ステップ420:端末機器は、第1のレコード内のプロセスの識別子SogouCloud.exeにパケット収集フラグが設定されているかどうか判定する。識別子にパケット収集フラグが設定されている場合、ステップ421が行われる。識別子にパケット収集フラグが設定されていない場合、プロシージャは終了する。
ステップ421:端末機器は、パケット収集フラグを除去し、その識別子がSogouCloud.exeであるプロセスに対してパケット取り込みの実行を開始する。
本実施形態によれば、端末機器は表6においてパケット収集フラグを除去して、表7を取得する。パケット収集フラグを除去する目的は、プロセスの長期のパケット取り込みを回避することである。
任意選択で、同じプロセスの長期のパケット取り込みをさらに回避するために、パケット取り込み時間間隔が設定されてもよい。ステップ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に示すように、仮のアソシエーション識別規則を生成、格納し、仮のアソシエーション識別規則ごとにカウント値を設定する。
データ処理装置が、別の仮のアソシエーション識別規則を生成し、表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 送信モジュール

Claims (26)

  1. ネットワークトラフィックにおけるアプリケーション情報を識別するための方法であって、前記方法は端末機器によって実行され、前記端末機器の第1の対応関係表は、前記端末機器上で動作しているプロセスの識別子と前記プロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、前記端末機器の第2の対応関係表は、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子との間の第2の対応関係をレコード形式で格納しており、前記データストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、
    前記方法は、
    第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するステップと、
    前記第1の対応関係表において、第1のレコード内のプロセスの識別子を取得するために、前記第1のデータストリームの前記識別子が格納されている前記第1のレコードを探索するステップと、
    前記第2の対応関係表において、第2のレコードからアプリケーションの識別子を取得するために、前記第1のレコード内の前記プロセスの前記識別子が格納されている前記第2のレコードを探索するステップと、
    前記アプリケーションの前記識別子を前記ネットワークセキュリティ装置に送信するステップと
    を含む、方法。
  2. 前記端末機器は、前記第1の対応関係表を、
    オペレーティングシステムによって提供されたインターフェースを用いて前記端末機器が、前記端末機器上で動作している少なくとも1つのプロセスの識別子を取得するステップと、
    取得したプロセスの識別子ごとに、前記端末機器が、前記プロセスによって作成されたデータストリームの識別子を取得し、前記プロセスの前記識別子と前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納するステップと
    を用いて取得する、請求項1に記載の方法。
  3. 前記端末機器は、前記第1の対応関係表を、
    フック関数を用いて前記端末機器が、前記オペレーティングシステムがプロセスを作成するイベントを取得するステップと、
    プロセスを作成する前記イベントから前記新しく作成されたプロセスの識別子を取得するステップと、
    前記新しく作成されたプロセスによって作成されたデータストリームの識別子を取得し、前記新しく作成されたプロセスの前記識別子と前記新しく作成されたプロセスによって作成された前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納するステップと
    を用いて取得し、
    前記端末機器が前記第1の対応関係表を取得することは、
    前記フック関数を用いて前記端末機器が、前記オペレーティングシステムがプロセスを終了するイベントを取得するステップと、
    プロセスを終了する前記イベントから前記終了したプロセスの識別子を取得し、前記第1の対応関係表から、前記終了したプロセスの前記識別子を含むレコードを削除するステップと
    をさらに含む、請求項1または2に記載の方法。
  4. 前記第1の対応関係表内のレコードはデータストリームの最終アクティビティ時刻をさらに含み、前記方法は、
    前記端末機器が、前記第1の対応関係表における期限切れレコードを判定するステップであって、前記期限切れレコードは、データストリームのものである、前記期限切れレコードに含まれる最終アクティビティ時刻と現在時刻との間の時間間隔が所定の時間間隔を超えるレコードである、ステップと、
    前記期限切れレコードを削除するステップと
    をさらに含む、請求項1から3のいずれか一項に記載の方法。
  5. 前記端末機器が前記第1の対応関係表を取得した後に、前記方法は、
    前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得するステップと、
    前記取得したパケットから、前記パケットが属するデータストリームの識別子を取得するステップと、
    前記第1の対応関係表内の、前記パケットが属する前記データストリームの前記識別子を含むレコード内のデータストリームの最終アクティビティ時刻を前記現在時刻に更新するステップと
    をさらに含む、請求項4に記載の方法。
  6. 前記端末機器が前記第1の対応関係表を取得した後に、前記方法は、
    前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得するステップと、
    前記取得したパケットから、パケット状況識別子と前記パケットが属するデータストリームの識別子とを取得するステップと、
    前記パケット状況識別子がFINである場合、前記第1の対応関係表から、前記パケットが属する前記データストリームの前記識別子を含むレコードを削除するステップと
    をさらに含む、請求項1から3のいずれか一項に記載の方法。
  7. 前記第1のレコード内のプロセスの識別子を取得する前記ステップの後に、前記方法は、
    前記プロセスの前記識別子のパケット収集フラグを設定するステップであって、前記パケット収集フラグは、前記端末機器に、前記オペレーティングシステムの前記インターフェースを用いて前記プロセスによって送信されたパケットを取り込んだ後で、前記プロセスによって続いて送信される完全なデータストリームを取得し、格納するよう命令するのに用いられる、ステップ
    をさらに含む、請求項1から6のいずれか一項に記載の方法。
  8. 端末機器であって、端末機器はメモリとプロセッサとネットワークインターフェースとを含み、前記メモリと前記プロセッサと前記ネットワークインターフェースとはバスを用いて相互に通信し、
    前記メモリは、プログラムコード、第1の対応関係表、および第2の対応関係表を格納するように構成され、前記第1の対応関係表は、前記端末機器上で動作しているプロセスの識別子と前記プロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、前記第2の対応関係表は、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子との間の第2の対応関係をレコード形式で格納しており、前記データストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、
    前記ネットワークインターフェースは、第1のデータストリームの、ネットワークセキュリティ装置によって送信された識別子を受信するように構成され、
    前記プロセッサは、前記メモリに格納された前記プログラムコードを読み出して、
    前記第1の対応関係表において、第1のレコード内のプロセスの識別子を取得するために、前記第1のデータストリームの前記識別子が格納されている前記第1のレコードを探索するステップと、前記第2の対応関係表において、第2のレコードからアプリケーションの識別子を取得するために、前記第1のレコード内の前記プロセスの前記識別子が格納されている前記第2のレコードを探索するステップと、
    を行い、
    前記ネットワークインターフェースは、前記プロセッサによって取得された前記アプリケーションの前記識別子を前記ネットワークセキュリティ装置に送信するようにさらに構成される、
    端末機器。
  9. 前記プロセッサは、前記第1の対応関係表を、オペレーティングシステムによって提供されたインターフェースを用いて、前記端末機器上で動作している少なくとも1つのプロセスの識別子を取得する動作と、取得したプロセスの識別子ごとに、前記端末機器が、前記プロセスによって作成されたデータストリームの識別子を取得し、前記プロセスの前記識別子と前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納する動作と、を用いて取得するようにさらに構成される、
    請求項8に記載の端末機器。
  10. 前記プロセッサは、前記第1の対応関係表を、
    フック関数を用いて、前記オペレーティングシステムがプロセスを作成するイベントを取得する動作と、プロセスを作成する前記イベントから前記新しく作成されたプロセスの識別子を取得する動作と、前記新しく作成されたプロセスによって作成されたデータストリームの識別子を取得し、前記新しく作成されたプロセスの前記識別子と前記新しく作成されたプロセスによって作成された前記データストリームの前記識別子とを含むレコードを生成し、前記レコードを前記第1の対応関係表に格納する動作と、
    前記フック関数を用いて、前記オペレーティングシステムがプロセスを終了するイベントを取得する動作と、プロセスを終了する前記イベントから前記終了したプロセスの識別子を取得し、前記第1の対応関係表から、前記終了したプロセスの前記識別子を含むレコードを削除する動作と
    を用いて取得するようにさらに構成される、
    請求項8または9に記載の端末機器。
  11. 前記第1の対応関係表内のレコードはデータストリームの最終アクティビティ時刻をさらに含み、
    前記プロセッサは、前記第1の対応関係表における期限切れレコードを判定し、前記期限切れレコードは、データストリームのものである、前記期限切れレコードに含まれる最終アクティビティ時刻と現在時刻との間の時間間隔が所定の時間間隔を超えるレコードであり、前記期限切れレコードを削除する、ようにさらに構成される、
    請求項8から10のいずれか一項に記載の端末機器。
  12. 前記プロセッサは、前記第1の対応関係表を取得した後で、前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得し、
    前記取得したパケットから、前記パケットが属するデータストリームの識別子を取得し、
    前記第1の対応関係表内の、前記パケットが属する前記データストリームの前記識別子を含むレコード内のデータストリームの最終アクティビティ時刻を前記現在時刻に更新する、
    ようにさらに構成される、
    請求項11に記載の端末機器。
  13. 前記プロセッサは、前記第1の対応関係表を取得した後で、前記フック関数を用いて前記端末機器が、前記端末機器によって送信されたパケットを取得し、
    前記取得したパケットから、パケット状況識別子と前記パケットが属するデータストリームの識別子とを取得し、
    前記パケット状況識別子がFINである場合、前記第1の対応関係表から、前記パケットが属する前記データストリームの前記識別子を含むレコードを削除する、ようにさらに構成される、
    請求項8から10のいずれか一項に記載の端末機器。
  14. ネットワークセキュリティ装置と端末機器とを含む、ネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムであって、
    前記ネットワークセキュリティ装置は、第1のデータストリームを受信し、前記第1のデータストリームの識別子を取得し、前記第1のデータストリームの識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、前記第1のデータストリームの前記識別子内の前記送信元アドレスまたは前記宛先アドレスに従って前記端末機器に前記データストリームの前記識別子を送信し、前記端末機器のアドレスは、前記第1のデータストリームの前記識別子内の前記送信元アドレスまたは前記宛先アドレスであり、前記端末機器によって送信されたアプリケーションの識別子を受信し、受信した前記アプリケーションの前記識別子は前記第1のデータストリームを送信したアプリケーションの識別子であると判定する、ように構成され、
    前記端末機器は、第1の対応関係表と第2の対応関係表とを格納しており、前記第1の対応関係表は、前記端末機器上で動作しているプロセスの識別子と前記プロセスによって作成されたデータストリームの識別子との間の対応関係をレコード形式で格納しており、前記第2の対応関係表は、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子との間の第2の対応関係をレコード形式で格納しており、前記データストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、
    前記端末機器は、前記第1のデータストリームの、前記ネットワークセキュリティ装置によって送信された前記識別子を受信し、前記第1の対応関係表において、第1のレコード内のプロセスの識別子を取得するために、前記第1のデータストリームの前記識別子が格納されている前記第1のレコードを探索し、前記第2の対応関係表において、第2のレコードからアプリケーションの識別子を取得するために、前記第1のレコード内の前記プロセスの前記識別子が格納されている前記第2のレコードを探索し、前記アプリケーションの前記識別子を前記ネットワークセキュリティ装置に送信する、ように構成される、
    システム。
  15. 前記ネットワークセキュリティ装置は、第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のデータストリームを送信したアプリケーションの識別子は、前記アソシエーション識別規則のどちらかに含まれる前記アプリケーションの前記識別子であると判定する、ようにさらに構成される、
    請求項14に記載のシステム。
  16. ネットワークトラフィックにおけるアプリケーション情報を識別するための方法であって、
    ネットワークセキュリティ装置から第1の識別レコードを受信するステップであって、前記第1の識別レコードは第1のデータストリームの識別子とアプリケーションの識別子とを含み、前記データストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルである、ステップと、
    端末機器から第2の識別レコードと対応関係表とを受信するステップであって、前記第2の識別レコードは第2のデータストリームの識別子とプロセスの識別子とを含み、前記対応関係表内の各レコードは、アプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子とを格納している、ステップと、
    前記第1の識別レコードに含まれる前記第1のデータストリームの前記識別子が前記第2の識別レコードに含まれる前記第2のデータストリームの前記識別子と同じである場合、前記対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第1のアソシエーションレコードは、前記第1の識別レコードに含まれる前記アプリケーションの前記識別子と、前記第2の識別レコードに含まれる前記プロセスの前記識別子とを格納している、ステップと、
    前記第1のアソシエーションレコードが存在しない場合、前記第1の識別レコードは誤った識別レコードであると判定するステップと
    を含む、識別方法。
  17. 前記第1のアソシエーションレコードが存在しない場合、前記方法は、
    前記端末機器が前記プロセスの前記識別子のパケット収集フラグを設定するように、前記端末機器に、前記第2の識別レコードに含まれる前記プロセスの前記識別子を送信するステップであって、前記パケット収集フラグは、前記端末機器に、オペレーティングシステムのインターフェースを用いて前記プロセスによって送信されたパケットを取り込んだ後で、前記プロセスによって続いて送信される完全なデータストリームを取得し、格納するよう命令するのに用いられる、ステップ
    をさらに含む請求項16に記載の識別方法。
  18. 前記第1の識別レコードは識別方式の識別子をさらに含み、前記識別方式は、アソシエーション識別方式、特徴識別方式、およびヒューリスティック識別方式を含み、
    前記第1の識別レコード内の前記識別方式の前記識別子がアソシエーション識別方式の識別子である場合、前記第1のアソシエーションレコードが存在しないときに、前記方法は、
    前記ネットワークセキュリティ装置に通知メッセージを送信するステップであって、前記通知メッセージは、前記ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、前記第1のアソシエーション識別規則は、前記第1のデータストリームの前記宛先アドレス、前記宛先ポート、および前記プロトコル識別子を含む3タプルを含み、前記第2のアソシエーション識別規則は、前記第1のデータストリームの前記送信元アドレス、前記送信元ポート、および前記プロトコル識別子を含む3タプルを含む、ステップ
    をさらに含む、請求項16または17に記載の識別方法。
  19. 前記第1のアソシエーションレコードが存在しない場合、前記方法は、
    前記対応関係表に第2のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第2のアソシエーションレコードは、前記第2の識別レコードに含まれるプロセスの識別子と対応するアプリケーションの識別子とを格納している、ステップと、
    前記第2のアソシエーションレコードが存在する場合、第3のアソシエーション識別規則と第4のアソシエーション識別規則とを生成するステップであって、前記第3のアソシエーション識別規則は、前記第2のアソシエーションレコード内の前記アプリケーションの前記識別子と、前記第1のデータストリームの前記宛先アドレス、前記宛先ポート、および前記プロトコル識別子を含む3タプルとを含み、前記第4のアソシエーション識別規則は、前記第2のアソシエーションレコード内の前記アプリケーションの前記識別子と、前記第1のデータストリームの前記送信元アドレス、前記送信元ポート、および前記プロトコル識別子を含む3タプルとを含む、ステップと、
    前記第3のアソシエーション識別規則と前記第4のアソシエーション識別規則とを前記ネットワークセキュリティ装置に送信するステップと
    をさらに含む、請求項16に記載の識別方法。
  20. 前記ネットワークセキュリティ装置から第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のアソシエーション識別規則とを前記ネットワークセキュリティ装置に送信するステップと
    をさらに含む、請求項16から19のいずれか一項に記載の識別方法。
  21. 前記ネットワークセキュリティ装置から第3の識別レコードを受信するステップであって、前記第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、前記未識別のフラグは、前記ネットワークセキュリティ装置が前記第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられる、ステップと、
    前記端末機器から第4の識別レコードを受信するステップであって、前記第4の識別レコードは、第4のデータストリームの識別子とプロセスの識別子とを含む、ステップと、
    前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じである場合、前記対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第3のアソシエーションレコードは、前記第4の識別レコードに含まれる前記プロセスの前記識別子を格納している、ステップと、
    前記第3のアソシエーションレコードが存在する場合、前記第3のアソシエーションレコードに含まれるアプリケーションの識別子と前記第3のデータストリームの前記識別子とを前記ネットワークセキュリティ装置に送信するステップと
    をさらに含む、請求項16から19のいずれか一項に記載の識別方法。
  22. データ処理装置であって、前記データ処理装置はメモリとプロセッサとネットワークインターフェースとを含み、前記メモリと前記プロセッサと前記ネットワークインターフェースとはバスを用いて相互に通信し、
    前記メモリはプログラムコードを格納し、
    前記ネットワークインターフェースは、ネットワークセキュリティ装置から第1の識別レコードを受信し、前記第1の識別レコードは、第1のデータストリームの識別子とアプリケーションの識別子とを含み、前記第1のデータストリームの前記識別子は、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、およびプロトコル識別子を含む5タプルであり、
    端末機器から、第2の識別レコードと対応関係表とを受信し、前記第2の識別レコードは、第2のデータストリームの識別子とプロセスの識別子とを含み、前記対応関係表内の各レコードがアプリケーションの識別子と前記アプリケーションによって作成されたプロセスの識別子とを格納している、
    ように構成され、
    前記プロセッサは、前記メモリに格納された前記プログラムコードを読み出して、
    前記第1の識別レコードに含まれる前記第1のデータストリームの前記識別子が前記第2の識別レコードに含まれる前記第2のデータストリームの前記識別子と同じである場合、前記対応関係表に第1のアソシエーションレコードが存在するかどうか問い合わせるステップであって、前記第1のアソシエーションレコードは、前記第1の識別レコードに含まれる前記アプリケーションの前記識別子と、前記第2の識別レコードに含まれるプロセスの識別子とを格納している、ステップと、
    前記第1のアソシエーションレコードが存在しない場合、前記第1の識別レコードは誤った識別レコードであると判定するステップと
    を行う、データ処理装置。
  23. 前記第1の識別レコードは識別方式の識別子をさらに含み、前記識別方式は、アソシエーション識別方式、特徴識別方式、およびヒューリスティック識別方式を含み、
    前記ネットワークインターフェースは、前記第1の識別レコード内の前記識別方式の前記識別子がアソシエーション識別方式の識別子である場合、前記第1のアソシエーションレコードが存在しないときに、前記ネットワークセキュリティ装置に通知メッセージを送信し、前記通知メッセージは、前記ネットワークセキュリティ装置に、第1のアソシエーション識別規則または第2のアソシエーション識別規則を削除するよう命令するのに用いられ、前記第1のアソシエーション識別規則は、前記第1のデータストリームの前記宛先アドレス、前記宛先ポート、および前記プロトコル識別子を含む3タプルを含み、前記第2のアソシエーション識別規則は、前記第1のデータストリームの前記送信元アドレス、前記送信元ポート、および前記プロトコル識別子を含む3タプルを含む、
    ようにさらに構成される、
    請求項22に記載のデータ処理装置。
  24. 前記ネットワークインターフェースは、前記ネットワークセキュリティ装置から第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のアソシエーション識別規則とを前記ネットワークセキュリティ装置に送信するようにさらに構成される、
    請求項22に記載のデータ処理装置。
  25. 前記ネットワークインターフェースは、前記ネットワークセキュリティ装置から第3の識別レコードを受信し、前記第3の識別レコードは、第3のデータストリームの識別子と未識別のフラグとを含み、前記未識別のフラグは、前記ネットワークセキュリティ装置が前記第3のデータストリームを送信したアプリケーションを識別していないことを指示するのに用いられ、
    前記端末機器から第4の識別レコードを受信し、前記第4の識別レコードは第4のデータストリームの識別子とプロセスの識別子とを含む、ようにさらに構成され、
    前記プロセッサは、前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じであるかどうか判定し、前記第3の識別レコードに含まれる前記第3のデータストリームの前記識別子が前記第4の識別レコードに含まれる前記第4のデータストリームの前記識別子と同じである場合、前記対応関係表に第3のアソシエーションレコードが存在するかどうか問い合わせ、前記第3のアソシエーションレコードは、前記第4の識別レコードに含まれる前記プロセスの前記識別子を格納している、ようにさらに構成され、
    前記ネットワークインターフェースは、前記プロセッサが前記第3のアソシエーションレコードは存在すると判定した場合、前記第3のアソシエーションレコードに含まれるアプリケーションの識別子と前記第3のデータストリームの前記識別子とを前記ネットワークセキュリティ装置に送信する、ようにさらに構成される、
    請求項22に記載のデータ処理装置。
  26. データ処理装置と端末機器とネットワークセキュリティ装置とを含む、ネットワークトラフィックにおけるアプリケーション情報を識別するためのシステムであって、
    前記ネットワークセキュリティ装置は、第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の識別レコードは誤った識別レコードであると判定する、ように構成される、
    システム。
JP2018502243A 2015-12-28 2016-09-23 ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置 Active JP6599538B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201511000809.5A CN106921637B (zh) 2015-12-28 2015-12-28 网络流量中的应用信息的识别方法和装置
CN201511000809.5 2015-12-28
PCT/CN2016/099891 WO2017113900A1 (zh) 2015-12-28 2016-09-23 网络流量中的应用信息的识别方法和装置

Publications (3)

Publication Number Publication Date
JP2018531527A JP2018531527A (ja) 2018-10-25
JP2018531527A6 true JP2018531527A6 (ja) 2018-12-13
JP6599538B2 JP6599538B2 (ja) 2019-10-30

Family

ID=59224582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018502243A Active JP6599538B2 (ja) 2015-12-28 2016-09-23 ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置

Country Status (6)

Country Link
US (2) US11582188B2 (ja)
EP (2) EP3496338B1 (ja)
JP (1) JP6599538B2 (ja)
CN (1) CN106921637B (ja)
ES (2) ES2880369T3 (ja)
WO (1) WO2017113900A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10033693B2 (en) 2013-10-01 2018-07-24 Nicira, Inc. Distributed identity-based firewalls
US10606626B2 (en) 2014-12-29 2020-03-31 Nicira, Inc. Introspection method and apparatus for network access filtering
US10324746B2 (en) 2015-11-03 2019-06-18 Nicira, Inc. Extended context delivery for context-based authorization
CN106921637B (zh) 2015-12-28 2020-02-14 华为技术有限公司 网络流量中的应用信息的识别方法和装置
US10938837B2 (en) 2016-08-30 2021-03-02 Nicira, Inc. Isolated network stack to manage security for virtual machines
WO2018106612A1 (en) 2016-12-06 2018-06-14 Nicira, Inc. Performing context-rich attribute-based services on a host
US10812451B2 (en) * 2016-12-22 2020-10-20 Nicira, Inc. Performing appID based firewall services on a host
US10802858B2 (en) * 2016-12-22 2020-10-13 Nicira, Inc. Collecting and processing contextual attributes on a host
US10803173B2 (en) * 2016-12-22 2020-10-13 Nicira, Inc. Performing context-rich attribute-based process control services on a host
US10581960B2 (en) 2016-12-22 2020-03-03 Nicira, Inc. Performing context-rich attribute-based load balancing on a host
US10805332B2 (en) 2017-07-25 2020-10-13 Nicira, Inc. Context engine model
US11032246B2 (en) 2016-12-22 2021-06-08 Nicira, Inc. Context based firewall services for data message flows for multiple concurrent users on one machine
CN107483411B (zh) * 2017-07-25 2020-01-31 中国联合网络通信集团有限公司 业务识别方法及系统
US10778651B2 (en) 2017-11-15 2020-09-15 Nicira, Inc. Performing context-rich attribute-based encryption on a host
CN108282414B (zh) * 2017-12-29 2020-05-29 网宿科技股份有限公司 一种数据流的引导方法、服务器和系统
US10958622B2 (en) * 2018-01-10 2021-03-23 Cisco Technology, Inc. Hierarchical security group identifiers
US10862773B2 (en) 2018-01-26 2020-12-08 Nicira, Inc. Performing services on data messages associated with endpoint machines
US10802893B2 (en) 2018-01-26 2020-10-13 Nicira, Inc. Performing process control services on endpoint machines
CN108400909B (zh) * 2018-02-12 2020-10-02 腾讯科技(深圳)有限公司 一种流量统计方法、装置、终端设备和存储介质
US10635346B2 (en) * 2018-06-11 2020-04-28 Western Digital Technologies, Inc. Self-trimming of data stored in non-volatile memory using data storage controller
CN108900430B (zh) * 2018-06-15 2021-12-24 杭州迪普科技股份有限公司 一种网络流量阻断的方法及装置
CN109005227A (zh) * 2018-07-28 2018-12-14 安徽捷兴信息安全技术有限公司 一种手机网络包与手机应用的对应方法及装置
CN109194756A (zh) * 2018-09-12 2019-01-11 网宿科技股份有限公司 应用程序特征信息提取方法及装置
US11552874B1 (en) * 2019-01-18 2023-01-10 Keysight Technologies, Inc. Methods, systems and computer readable media for proactive network testing
CN110096363B (zh) * 2019-04-29 2021-11-30 亚信科技(成都)有限公司 一种网络事件与进程的关联方法及装置
US11023896B2 (en) * 2019-06-20 2021-06-01 Coupang, Corp. Systems and methods for real-time processing of data streams
CN110347047B (zh) * 2019-06-21 2022-09-09 深圳绿米联创科技有限公司 设备删除的方法、装置、系统、电子设备以及存储介质
CN112583767A (zh) * 2019-09-29 2021-03-30 北京安云世纪科技有限公司 流量统计方法及装置
CN110891025B (zh) * 2019-10-31 2022-04-05 上海众链科技有限公司 获取应用程序对端目的地址的系统和方法
US11539718B2 (en) 2020-01-10 2022-12-27 Vmware, Inc. Efficiently performing intrusion detection
CN111147523A (zh) * 2020-02-09 2020-05-12 福建奇点时空数字科技有限公司 一种基于服务伪装探测技术的综合性应用协议识别方法
US11985045B2 (en) * 2020-03-31 2024-05-14 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for subscribing change notification of network function
CN113660174B (zh) * 2020-05-12 2024-01-09 华为技术有限公司 一种业务类型确定方法及相关设备
CN111786964B (zh) * 2020-06-12 2022-09-30 深信服科技股份有限公司 网络安全检测方法、终端及网络安全设备
US11108728B1 (en) 2020-07-24 2021-08-31 Vmware, Inc. Fast distribution of port identifiers for rule processing
CN111988320B (zh) * 2020-08-21 2023-05-12 深信服科技股份有限公司 一种应用识别方法、装置、系统、设备和介质
US11336541B2 (en) * 2020-09-14 2022-05-17 Charter Communications Operating, Llc Real-time enrichment for deep packet inspection
WO2022083509A1 (zh) * 2020-10-19 2022-04-28 华为技术有限公司 一种数据流识别方法以及装置
CN113746692A (zh) * 2021-07-21 2021-12-03 网宿科技股份有限公司 网络流量统计的方法、电子设备及存储介质
CN113923013A (zh) * 2021-09-30 2022-01-11 深信服科技股份有限公司 一种应用识别管理方法及系统
CN115277502B (zh) * 2022-06-17 2023-10-10 广州根链国际网络研究院有限公司 一种针对APP应用的自动化测量IPv6流量的方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9240945B2 (en) * 2008-03-19 2016-01-19 Citrix Systems, Inc. Access, priority and bandwidth management based on application identity
US8606911B2 (en) * 2009-03-02 2013-12-10 Headwater Partners I Llc Flow tagging for service policy implementation
CN102026151B (zh) * 2009-09-16 2013-04-17 中国移动通信集团公司 一种基于进程监测的服务推送方法、装置和系统
CN102098272B (zh) * 2009-12-10 2014-02-19 华为技术有限公司 一种协议识别的方法、装置和系统
US8190564B2 (en) * 2010-02-25 2012-05-29 Ebay, Inc. Temporary session data storage
US8520538B2 (en) * 2010-02-25 2013-08-27 Clearwire Ip Holdings Llc Method and system for managing traffic in a wireless communication system
CN101873640B (zh) * 2010-05-27 2013-04-24 华为终端有限公司 流量处理方法、装置和移动终端
CN102201982A (zh) * 2011-04-29 2011-09-28 北京网康科技有限公司 一种应用识别方法及其设备
CN102195816B (zh) * 2011-05-24 2014-08-20 北京网康科技有限公司 一种未识别流量信息反馈的方法及其设备
US8612612B1 (en) * 2011-09-28 2013-12-17 Juniper Networks, Inc. Dynamic policy control for application flow processing in a network device
CN103384213B (zh) * 2011-12-31 2017-07-21 华为数字技术(成都)有限公司 一种检测规则优化配置方法及设备
US20130238782A1 (en) * 2012-03-09 2013-09-12 Alcatel-Lucent Usa Inc. Method and apparatus for identifying an application associated with an ip flow using dns data
US9258313B1 (en) * 2012-09-28 2016-02-09 Juniper Networks, Inc. Distributed application awareness
CN103095604A (zh) * 2013-01-04 2013-05-08 海信集团有限公司 识别家庭网络具体应用的系统及方法
US9185015B2 (en) * 2013-02-19 2015-11-10 Broadcom Corporation Application aware elephant flow identification
US10015102B2 (en) * 2013-04-11 2018-07-03 Qualcomm Incorporated Application traffic pairing
CN103746768B (zh) * 2013-10-08 2017-06-23 北京神州绿盟信息安全科技股份有限公司 一种数据包的识别方法及设备
JP6081386B2 (ja) * 2014-01-30 2017-02-15 日本電信電話株式会社 情報共有装置、情報共有方法、および、情報共有プログラム
US9680739B2 (en) 2014-01-31 2017-06-13 The University Of Tokyo Information transmission system, information communication apparatus, and information transmission apparatus
CN103916294B (zh) 2014-04-29 2018-05-04 华为技术有限公司 协议类型的识别方法和装置
US10033747B1 (en) * 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
CN106921637B (zh) 2015-12-28 2020-02-14 华为技术有限公司 网络流量中的应用信息的识别方法和装置
CN105812188A (zh) * 2016-04-25 2016-07-27 北京网康科技有限公司 流量识别方法及装置

Similar Documents

Publication Publication Date Title
JP6599538B2 (ja) ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置
JP2018531527A6 (ja) ネットワークトラフィックにおけるアプリケーション情報を識別するための方法および装置
US10257224B2 (en) Method and apparatus for providing forensic visibility into systems and networks
CN106815112B (zh) 一种基于深度包检测的海量数据监控系统及方法
WO2017066359A1 (en) Determining direction of network sessions
JP4988674B2 (ja) ネットワーク監視装置、ネットワーク監視方法、および、ネットワーク監視プログラム
CN105635073B (zh) 访问控制方法、装置和网络接入设备
CN107645480B (zh) 数据监控方法及系统、装置
CN109600385B (zh) 一种访问控制方法及装置
US20140337471A1 (en) Migration assist system and migration assist method
US9055113B2 (en) Method and system for monitoring flows in network traffic
CN112929376A (zh) 一种流量数据的处理方法、装置、计算机设备和存储介质
EP1950917A1 (en) Methods for peer-to-peer application message identifying and operating realization and their corresponding devices
US20170223136A1 (en) Any Web Page Reporting and Capture
CN110198315A (zh) 一种报文处理的方法及装置
WO2017193814A1 (zh) 一种业务链生成方法及系统
JP6476853B2 (ja) ネットワーク監視システム及び方法
CN116032762A (zh) 网络业务的处理方法、系统和网关设备
CN107124293B (zh) 一种分布式网络系统的协议管理方法及系统
CN114422232B (zh) 一种违规流量的监测方法、装置、电子设备、系统及介质
US11973843B2 (en) On demand end user monitoring for automated help desk support
CN108833559B (zh) 一种视频数据的缓存与分发的方法及装置
CN104954396A (zh) 资源下载的方法与资源下载的装置
TW201141153A (en) Method and system for intercepting malicious access
CN113992732A (zh) 终端管理控制方法、装置、服务器及存储介质