JP2015530831A - 選択的ディープパケットインスペクションを実行するためのシステム及び方法 - Google Patents

選択的ディープパケットインスペクションを実行するためのシステム及び方法 Download PDF

Info

Publication number
JP2015530831A
JP2015530831A JP2015530144A JP2015530144A JP2015530831A JP 2015530831 A JP2015530831 A JP 2015530831A JP 2015530144 A JP2015530144 A JP 2015530144A JP 2015530144 A JP2015530144 A JP 2015530144A JP 2015530831 A JP2015530831 A JP 2015530831A
Authority
JP
Japan
Prior art keywords
traffic flow
packet
determining
reliable
module
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
JP2015530144A
Other languages
English (en)
Other versions
JP5963966B2 (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.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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
Application filed by Symantec Corp filed Critical Symantec Corp
Publication of JP2015530831A publication Critical patent/JP2015530831A/ja
Application granted granted Critical
Publication of JP5963966B2 publication Critical patent/JP5963966B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

選択的なディープパケットインスペクションを実行するためのコンピュータ実装方法は、1)データパケットのストリームを含むトラフィックフローを識別し、2)データパケットのストリームから少なくとも1つのパケットをサンプリングし、3)トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、サンプリングされたパケットを解析し、4)サンプリングされたパケットを解析することに基づいて、トラフィックフローが信頼できることを判定し、5)トラフィックフローが信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換することを含み得る。様々な他の方法、システム、及びコンピュータ可読媒体もまた、開示される。

Description

人々は、ますますビジネスや個人的な使用のためのインターネットに依存している。残念ながら、インターネットは、マルウェア、スパム、システムへの侵入、及び他の情報のセキュリティの脆弱性にとっての主要な媒介となっている。望ましくない及び/又は違法なネットワークトラフィックからコンピュータシステムを保護するために、いくつかの従来のシステムは、転換中のネットワークパケットの内容及び/又は特性を解析し、ディープパケットインスペクションを実行し得る。
いくつかの従来のディープパケットインスペクションシステムは、ソフトウェアで実装され得る。残念ながら、ソフトウェアベースのディープパケットインスペクションは、中央処理装置リソースなどのコンピューティングリソースを大量に消費し得る。したがって、従来のソフトウェアベースのディープパケットインスペクションは、高価なハードウェア構成を必要とし、及び/又はネットワークトラフィックを遅らせ得る。いくつかの別の従来のディープパケットインスペクションシステムは、専用ハードウェアコンポーネント(例えば、ファームウェア及び/又は専用のハードウェア設計のいずれかを含む)で実装され得る。残念ながら、従来のハードウェアベースのディープパケットインスペクションは、複雑なマイクロコードエンジンを必要とし、かつ/又は重大な技術的問題を提示し得る。更に、従来のハードウェアベースのディープパケットインスペクションシステムは、維持及び更新が困難であり得、したがって、新たな脅威に迅速に適応するには不適当であり得る。
したがって、本開示は、選択的ディープパケットインスペクションを実行するためのシステム及び方法の必要性を識別し、対処する。
以下でより詳細に説明するように、本開示は、概して、解析するためにトラフィックフローの1つ以上のパケットをサンプリングすることによって、選択的なパケットインスペクションを実行するためのシステム及び方法に関し、(例えば、ソフトウェアベースのディープパケットインスペクションを使用して)トラフィックフローが信頼できると判定し、トラフィックフローが信頼できると判定したことに応答して、トラフィックフローをハードウェアアクセラレータへ転換する。
一実施例では、選択的なディープパケットインスペクションを実行するためのコンピュータ実装方法は、1)データパケットのストリームを含むトラフィックフローを識別することと、2)データパケットのストリームから少なくとも1つのパケットをサンプリングすることと、3)トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、サンプリングされたパケットを解析することと、4)サンプリングされたパケットを解析することに基づいて、トラフィックフローが信頼できることを判定することと、5)トラフィックフローが信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換することと、を含み得る。
いくつかの実施例では、コンピューティングリソースは、中央処理装置及び/又はソフトウェアモジュールを含み得る。いくつかの実施形態では、サンプリングされたパケットを解析することは、サンプリングされたパケットの発信元、サンプリングされたパケットの宛先、及び/又はサンプリングされたパケットの内容を検査することを含み得る。一実施例では、トラフィックフローをハードウェアアクセラレータへ転換することが、コンピューティングリソースから離れてトラフィックフローを転換することを伴ってもよい。
いくつかの実施形態では、コンピュータ実装方法はまた、1)トラフィックフローのレートを記述するために有用なハードウェアアクセラレータからデータを取り出すことと、2)トラフィックフローが信頼できると判定した後に、トラフィックフローのレートが、所定の閾値を超えて変化したことを、データに基づいて判定することと、3)トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、トラフィックフローのレートが所定の閾値を超えて変化したと判定することに応答して、トラフィックフローが信頼できるかどうかを再評価するために、追加のパケットを解析することと、を含み得る。これらの実施形態では、コンピュータ実装方法は更に、1)追加のパケットを解析することに基づいて、トラフィックフローが依然として信頼できると判定することと、2)トラフィックフローが依然として信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換し戻すことと、を含み得る。
いくつかの実施例では、コンピュータ実装方法はまた、1)トラフィックフローの方向性を記述するために有用な前記ハードウェアアクセラレータからデータを取り出すことと、2)トラフィックフローが信頼できると判定した後に、トラフィックフローの方向性が、所定の閾値を超えて変化したことを、データに基づいて判定することと、3)トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、トラフィックフローの方向性が所定の閾値を超えて変化したと判定することに応答して、トラフィックフローが信頼できるかどうかを再評価するために、追加のパケットを解析することと、を含み得る。これらの実施例では、コンピュータ実装方法は更に、1)追加のパケットを解析することに基づいて、トラフィックフローが依然として信頼できると判定することと、2)トラフィックフローが依然として信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換し戻すことと、を含み得る。
いくつかの実施形態では、コンピュータ実装方法はまた、1)ペイロードの転送が完了したかどうかを判定するために有用なハードウェアアクセラレータからデータを取り出すことと、2)ペイロードの転送が完了したことを、データに基づいて判定することと、3)トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、ペイロードの転送が完了したことを判定することに応答して、トラフィックフローが信頼できるかどうかを再評価するために、追加のパケットを解析することと、を含み得る。これらの実施形態では、コンピュータ実装方法は更に、1)追加のパケットを解析することに基づいて、トラフィックフローが依然として信頼できると判定することと、2)トラフィックフローが依然として信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換し戻すことと、を含み得る。
一実施形態では、上に記載される方法を実装するためのシステムは、1)データパケットのストリームを含むトラフィックフローを識別するようにプログラムされる識別モジュールと、2)データパケットのストリームから少なくとも1つのパケットをサンプリングするようにプログラムされるサンプリングモジュールと、3)トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、サンプリングされたパケットを解析するようにプログラムされる解析モジュールと、4)サンプリングされたパケットを解析することに基づいて、トラフィックフローが信頼できると判定するようにプログラムされる判定モジュールと、5)トラフィックフローが信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換するようにプログラムされる転換モジュールと、を含み得る。システムはまた、識別モジュール、サンプリングモジュール、解析モジュール、判定モジュール、及び転換モジュールを実行するように構成される、少なくとも1つのプロセッサを備え得る。
いくつかの実施例では、上に記載される方法は、コンピュータ可読記憶媒体上のコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読記憶媒体は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行される場合、コンピューティングデバイスに、1)データパケットのストリームを含むトラフィックフローを識別させ、2)データパケットのストリームから少なくとも1つのパケットをサンプリングさせ、3)トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、サンプリングされたパケットを解析させ、4)サンプリングされたパケットを解析することに基づいて、トラフィックフローが信頼できることを判定させ、5)トラフィックフローが信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換させ得る、1つ以上のコンピュータ実行可能命令を含み得る。
上に記載される実施形態のいずれかの特徴は、本明細書に記載される一般原理に従って、互いと組み合わせて使用されてもよい。これら及び他の実施形態、特徴、並びに利点は、添付の図面及び特許請求の範囲と併せて以下の発明を実施するための形態を読むことにより、更に十分に理解されるであろう。
以下の図面は、いくつかの例示的な実施形態を示し、本明細書の一部である。以下の説明と共に、これらの図面は、本開示の様々な原理を例証及び説明する。
選択的なディープパケットインスペクションを実行するための例示的なシステムのブロック図である。 選択的なディープパケットインスペクションを実行するための例示的なシステムのブロック図である。 選択的なディープパケットインスペクションを実行するための例示的な方法のフロー図である。 選択的なディープパケットインスペクションを実行するための例示的なシステムのブロック図である。 本明細書に記載及び/又は図示される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングシステムのブロック図である。 本明細書に記載及び/又は図示される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングネットワークのブロック図である。
図面を通して、同一の参照文字及び説明は、類似だが必ずしも同一ではない要素を示す。本明細書に記載される例示的な実施形態は、様々な修正及び代替的な形態に影響されやすいが、特定の実施形態が例として図面に示され、本明細書に詳細に記載されるであろう。しかしながら、本明細書に記載される例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の特許請求の範囲の範囲に入る全ての修正、等価物、及び代替物を網羅する。
本開示は、概して、選択的なディープパケットインスペクションを実行するためのシステム及び方法を目的とする。以下でより詳細に説明するように、解析するためにトラフィックフローの1つ以上のパケットをサンプリングすることによって(例えば、ソフトウェアベースのディープパケットインスペクションを使用して)、トラフィックフローが信頼できると判定し、トラフィックフローが信頼できると判定したことに応答して、トラフィックフローをハードウェアアクセラレータへ転換し、本明細書に記載されるシステム及び方法は、ネットワークトラフィックの各パケットを検査するために必要なコンピューティングリソースを消費することなく、効率的にネットワークトラフィックを解析し得る。更に、いくつかの実施例では、本明細書に記載されるシステム及び方法は、トラフィックフローの著しい変化を潜在的に示す、ハードウェアアクセラレータから統計情報を取り出すことによって、かかる信頼性評価の精度を維持し得、これらのシステム及び方法は、一時的にトラフィックフローを更にリソース集約的なディープパケットインスペクション方法に転換し戻し得、これにより、これらのシステム及び方法が、トラフィックフローの信頼性が最も変化し得る可能性が高い時間に、トラフィックフローの信頼性を再評価することを可能にする(及び、例えば、これらのシステム及び方法によって、リソースの使用を最小限に抑えながら、これらのシステム及び方法の精度を維持する)。
以下に、図1、2、及び4を参照し、選択的なディープパケットインスペクションを実行するための例示的なシステムの詳細な説明を提供する。対応するコンピュータ実装方法の詳細な説明はまた、図3と併せて提供される。加えて、本明細書に記載される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングシステム及びネットワークアーキテクチャの詳細な説明は、図5及び6に関連してそれぞれ提供される。
図1は、選択的なディープパケットインスペクションを実行するための例示的なシステム100のブロック図である。この図に例示されるように、例示的なシステム100は、1つ以上のタスクを実行するための1つ以上のモジュール102を含み得る。例えば、以下でより詳細に説明するように、例示的なシステム100はデータパケットのストリームを含むトラフィックフローを識別するようにプログラムされる識別モジュール104を含み得る。例示的なシステム100はまた、データパケットのストリームから少なくとも1つのパケットをサンプリングするようにプログラムされるサンプリングモジュール106を含み得る。
加えて、以下でより詳細に説明するように、例示的なシステム100は、トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、サンプリングされたパケットを解析するようにプログラムされる解析モジュール108を含み得る。例示的なシステム100はまた、サンプリングされたパケットを解析することに基づいて、トラフィックフローが信頼できると判定するようにプログラムされる判定モジュール110を含み得る。例示的なシステム100は更に、トラフィックフローが信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換するようにプログラムされる転換モジュール112を含み得る。別個の要素として例示されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの部分を表し得る。
ある実施形態において、図1のモジュール102のうちの1つ以上は、コンピューティングデバイスにより実行されるとき、コンピューティングデバイスに1つ以上のタスクを実行させ得る、1つ以上のソフトウェアアプリケーション又はプログラムを表し得る。例えば、以下でより詳細に説明するように、モジュール102のうちの1つ以上は、図2に例示されるデバイス(例えば、コンピューティングデバイス202及び/又はサーバ206)、ネットワーク204内の1つ以上のデバイス、図5のコンピューティングシステム510、及び/又は図6の例示的なネットワークアーキテクチャ600の部分などの1つ以上のコンピューティングデバイス上で実行されるように記憶及び構成されるソフトウェアモジュールを表し得る。図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを実行するように構成される、1つ以上の特殊目的のコンピュータの全て又は部分を表し得る。
図1の例示的なシステム100は、多様な方法で実装されてもよい。例えば、例示的なシステム100の全て又は一部分は、図2の例示的なシステム200の部分を表し得る。図2に示すように、システム200は、ネットワーク204を介してサーバ206と通信しているコンピューティングデバイス202を含み得る(例えば、トラフィックフロー210を受信し、及び/又はサーバ206のためのトラフィックフロー210を中継する)。
一実施形態では、図1からの1つ以上のモジュール102は、コンピューティングデバイス202及び/又はサーバ206の少なくとも1つのプロセッサによって実行されるとき、選択的なディープパケットインスペクションを実行する際にコンピューティングデバイス202及び/又はサーバ206を容易にし得る。例えば、以下でより詳細に説明するように、1つ以上のモジュール102はコンピューティングデバイス202及び/又はサーバ206に、1)パケットストリーム212を含むトラフィックフロー210を識別させ、2)パケットストリーム212からパケット214をサンプリングさせ、3)トラフィックフロー210が信頼できるかどうかを判定するためにコンピューティングリソース220(例えば、コンピューティングリソースデバイス202内の及び/又はそれに接続されているコンピューティングリソース)を使用してパケット214を解析させ、4)トラフィックフロー210がパケット214を解析することに基づいて、信頼できることを判定させ、5)トラフィックフロー210が信頼できると判定することに応答して、ハードウェアアクセラレータ230(例えば、コンピューティングリソースデバイス202内の及び/又はそれに接続されているデバイス)へトラフィックフロー210を転換させ得る。
コンピューティングデバイス202は、概して、コンピュータで実行可能な命令を読み取ることが可能な任意のタイプ又は形態のコンピューティングデバイスを表す。コンピューティングデバイス202の例としては、ラップトップ、タブレット、デスクトップ、サーバ、ネットワークデバイス、携帯電話、携帯情報端末(PDA)、マルチメディアプレーヤー、組み込みシステム、同一の1つ以上の組み合わせ、図5の例示的なコンピューティングシステム510、又は任意の他の適切なコンピューティングデバイスが挙げられるが、これらに限定されない。
サーバ206は、概して、1つ以上のトラフィックフロー及び/又はネットワークパケットを送受信することが可能なコンピューティングデバイスの任意の種類又は形態を表す。サーバ206の例としては、様々なデータベースサービスを提供し、及び/又は特定のソフトウェアアプリケーションを実行するように構成されたアプリケーションサーバ及びデータベースサーバが挙げられるが、これらに限定されない。
ネットワーク204は、概して、通信又はデータ転送を容易にすることが可能な任意の媒体又はアーキテクチャを表す。ネットワーク204の例としては、イントラネット、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、パーソナルエリアネットワーク(PAN)、ストレージエリアネットワーク(SAN)、インターネット、電力線通信(PLC)、セルラーネットワーク(例えば、グローバル移動体通信システム(GSM(登録商標))ネットワーク)、図6の例示的なネットワークアーキテクチャ600等が挙げられるが、これらに限定されない。ネットワーク204は、無線又は有線接続を使用して通信又はデータ転送を容易にし得る。一実施形態では、ネットワーク204はコンピューティングデバイス202及びサーバ206との間の通信を容易にし得る。
図3は、選択的なディープパケットインスペクションを実行するための例示的なコンピュータ実装方法300のフロー図である。図3に示される工程は、任意の好適なコンピュータで実行可能なコード及び/又はコンピューティングシステムにより実施されてもよい。いくつかの実施形態では、図3に示す工程は、図1におけるシステム100、図2におけるシステム200、図5におけるコンピューティングシステム510、及び/又は図6における例示的なネットワークアーキテクチャ600の一部の1つ以上のコンポーネントよって実行されてもよい。
図3に示されるように、工程302で、本明細書に記載されるシステムのうちの1つ以上は、データパケットのストリームを含むトラフィックフローを識別し得る。例えば、工程302で、識別モジュール104は、図2におけるコンピューティングデバイス202の一部として、パケットストリーム212を含むトラフィックフロー210を識別し得る。
本明細書で使用する、句「トラフィックフロー」は、任意の様々なデータのストリームを指し得る。例えば、句「トラフィックフロー」は、ユニキャスト送信、マルチキャスト送信、及び/又はエニーキャスト送信を指し得る。いくつかの実施例では、句「トラフィックフロー」は、所与のトランスポート接続を介して送信される全てのパケット(例えば、2つのネットワークアドレス間)を指し得る。加えて、又は代替的に、句「トラフィックフロー」は、所定の時間内に送信される全てのパケット(例えば、2つネットワークアドレス間)を指し得る。いくつかの実施例では、句「トラフィックフロー」は、所定の長さのデータのストリームを指し得る。
本明細書で使用する用語「ストリーム」は、ネットワークを介して送信されるデータパケットの任意の順序を指し得る。いくつかの実施例では、用語「ストリーム」は、伝送制御プロトコル(「TCP」)を介して送信されたデータのストリームを指し得る。加えて、又は代替的に、用語「ストリーム」は、ユーザデータグラムプロトコル(「UDP」)を介して送信されるデータのストリームを指し得る。本明細書で使用する、句「データパケット」(又は「パケット」)は、ネットワーク経由で転送されるデータの任意の単位を指し得る。例えば、句「データパケット」は、パケットモードのネットワークを介して送信されるネットワークパケットを指し得る。加えて、又は代替的に、句「データパケット」は、個々のルーティングのためにフォーマットされたデータの単位を指し得る。
識別モジュール104は、任意の適切な方法でトラフィックフローを識別し得る。例えば、識別モジュール104は、トラフィックフローの作成を識別することによって、トラフィックフローを識別し得る。例えば、識別モジュール104は、トラフィックフローを開始するためのSYNパケット及び/又はSYN−ACKパケットを識別し得る。いくつかの実施例では、識別モジュール104は、1つ以上のプロセッサによって実行可能なソフトウェアモジュールの一部として動作し得る。加えて、又は代替的に、識別モジュール104は、一部として、トラフィックフローを識別するための論理で設計されたトラフィックフロー及び/又はハードウェアモジュールを識別するように構成されたマイクロコードモジュールの一部として動作し得る。
図3に戻ると、工程304で、本明細書に記載されるシステムのうちの1つ以上は、データパケットのストリームから少なくとも1つのパケットをサンプリングし得る。例えば、工程304で、識別モジュール106は、図2におけるコンピューティングデバイス202の一部として、パケットストリーム212からパケット214をサンプリングし得る。
サンプリングモジュール106は、任意の適切なパケット(1つ及び/又は複数)をサンプリングし得る。例えば、サンプルモジュール106は、データパケットのストリームから第1のパケット及び/又はパケットの第1の順序(例えば、所定の数の)をサンプリングし得る。
工程306で、本明細書に記載されるシステムのうちの1つ以上は、トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、サンプリングされたパケットを解析し得る。例えば、工程306で、解析モジュール108は、図2におけるコンピューティングデバイス202の一部として、トラフィックフロー210が信頼できるかどうかを判定するためにコンピューティングリソース220(例えば、コンピューティングリソースデバイス202内の及び/又はそれに接続されているコンピューティングリソース)を使用して、パケット214を解析し得る。
コンピューティングリソースは、多様なリソースのうちのいずれも含み得る。例えば、コンピューティングリソースは、中央処理装置などの1つ以上のハードウェアリソースを含み得る。加えて、又は代替的に、コンピューティングリソースは、ランダムアクセスメモリを含み得る。いくつかの実施例では、コンピューティングリソースは、加えて、又は代替的に1つ以上のソフトウェアリソースを含み得る。例えば、コンピューティングリソースは、ソフトウェアモジュールを含み得る。例えば、コンピューティングリソースは、パケット上でディープパケットインスペクションを実行するために、プロセッサを使用するように構成される。いくつかの実施例では、コンピューティングリソースの少なくとも一部分はまた、1つ以上の追加のアプリケーションによる使用のために構成され得る。例えば、コンピューティングリソースは、ホストシステム上の主要なアプリケーションによる使用のために利用可能なプロセッサを含み得る。いくつかの実施例では、以下でより詳細に説明するように、本明細書に記載されるシステム及び方法は、パケット解析のためのコンピューティングリソースの使用を最小化することによって、コンピューティングリソースの利用可能性を増加させ得る。
解析モジュール108は、様々な基準のうちのいずれかに従い、トラフィックフローが信頼できると判定し得る。例えば、解析モジュール108は、トラフィックフローが悪意のあるペイロードを含んでいないことを判定することにより、トラフィックフローが信頼できると判定し得る。例えば、解析モジュール108は、トラフィックフローがマルウェア、スパム、侵入の試み、などを含んでいないことを判定することにより、トラフィックフローが信頼できると判定し得る。いくつかの実施例では、解析モジュール108はまた、パケットが再ルーティングを必要とするかどうか、及び/又は、パケットがプロトコルに準拠していないかどうかを判定し得る。
解析モジュール108は、様々な方法のうちのいずれかにおいて、サンプリングされたパケットを解析し得る。例えば、解析モジュール108は、サンプリングされたパケットの発信元を検査することによって、サンプリングされたパケットを解析し得る(例えば、サンプリングされたパケットを送信したデバイスのネットワークアドレスを識別することによって)。加えて、又は代替的に、解析モジュール108は、サンプリングされたパケットの宛先を検査することによって、サンプリングされたパケットを解析し得る(例えば、サンプリングされたパケットがアドレス指定されたネットワークアドレスを識別することによって)。いくつかの実施例では、解析モジュール108は、サンプリングされたパケットの内容を検査することによって、サンプリングされたパケットを解析し得る。例えば、解析モジュール108は、信頼されていない内容のフィンガープリントに関して、パケットを検索し得る。
工程308で、本明細書に記載されるシステムのうちの1つ以上は、サンプリングされたパケットを解析することに基づいて、トラフィックフローが信頼できると判定し得る。例えば、工程308で、判定モジュール110は、図2におけるコンピューティングデバイス202の一部として、トラフィックフロー210がパケット214を解析することに基づいて、信頼できると判定し得る。
判定モジュール110は、任意の適切な方法で、サンプリングされたパケットを解析することに基づいて、トラフィックフローが信頼できると判定し得る。例えば、判定モジュール110は、サンプリングされたパケットの信頼される発信元に基づいて、トラフィックフローが信頼できると判定し得る(例えば、サンプリングされたパケットが、MICROSOFT.COMから発信されていることを判定する)。加えて、又は代替的に、判定モジュール110は、少なくとも部分的に、サンプリングされたパケットの安全な宛先に基づいて、トラフィックフローが信頼できると判断し得る(例えば、サンプルパケットの宛先が、悪意のあるペイロードに対して脆弱でない、並びに/又は悪意のあるペイロードを受信及び/若しくは解析するように構成されていることを判定する)。いくつかの実施例では、判定モジュール110は、サンプリングされたパケットが悪意のあるペイロードのフィンガープリントを含まないことを判定することによって、トラフィックフローが信頼できると判定し得る。
工程310で、本明細書に記載されるシステムのうちの1つ以上は、トラフィックフローが信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換し得る。例えば、工程310で、転換モジュール112は、図2におけるコンピューティングデバイス202の一部として、トラフィックフロー210が信頼できると判定することに応答して、ハードウェアアクセラレータ230(例えば、コンピューティングリソースデバイス202内の及び/又はそれに接続されているデバイス)へトラフィックフロー210を転換し得る。
本明細書では、句「ハードウェアアクセラレータ」は、トラフィックフロー及び/又はストリームを処理することができる任意のモジュール、デバイス、及び/又はサブシステムを指し得る。いくつかの実施例では、ハードウェアアクセラレータは、ネットワークスイッチ及びプロセッサ(例えば、コンピューティングリソース)の間のパス上にインストールされ得る。いくつかの実施例では、ハードウェアアクセラレータは、コンピューティングリソースの代わりに、トラフィックフローに対して1つ以上の機能を実行し得る。
転換モジュール112は、任意の適切な方法でトラフィックフローを転換し得る。例えば、転換モジュール112は、コンピューティングリソースから離れてトラフィックフローを転換し得る(例えば、トラフィックフローがコンピューティングリソースではなく、ハードウェアアクセラレータを通過するように)。したがって、本明細書に記載されるシステム及び方法は、トラフィックフローを解析、処理、及び/又は処理するためのコンピューティングリソースの使用を最小限にし得る。
いくつかの実施例では、本明細書に記載されるシステムのうちの1つ以上はまた、1)トラフィックフローのレートを記述するために有用なハードウェアアクセラレータからデータを取り出し、2)トラフィックフローが信頼できると判定した後に、トラフィックフローのレートが、所定の閾値を超えて変化したことを、データに基づいて判定し、3)トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、トラフィックフローのレートが所定の閾値を超えて変化したと判定することに応答して、トラフィックフローが信頼できるかどうかを再評価するために、追加のパケットを解析し得る。これらの実施例では、転換モジュール112は更に、1)追加のパケットを解析することに基づいて、トラフィックフローが依然として信頼できると判定し、2)トラフィックフローが依然として信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換し戻し得る。
例えば、ファイル同期アプリケーションのために確立されたトラフィックフローは、いずれかのファイルが同期されていないかどうかを判定するように、同期状態を周期的に確認し得る。同時に、本明細書に記載されるシステムのうちの1つ以上は、トラフィックフローの現在のビットレートを指定するハードウェアアクセラレータのカウンタから定期的に読み取り得る。ファイル同期アプリケーションが新たな同期動作を開始するとき、トラフィックフローのビットレートは、突然増加し得る。更に、これらのシステムは、経時的なトラフィックフローのビットレートにおける変化を計算し得る。次いで、これらのシステムは、経時的なビットレートの変化が所定の閾値を超えると判定し得る(例えば、ビットレートが、所定の閾値を超える速度で迅速に増加している)。したがって、これらのシステムは、トラフィックフローが実質的に異なる情報(例えば、別個のファイル)を含み、信頼性に関する新たな評価を必要とすると判定し得る。
図4は、選択的なディープパケットインスペクションのための例示的なシステム400を示す。図4に示すように、例示的なシステム400は、プロセッサ420及びハードウェアアクセラレータ430を含み得る。一例として図4を使用すると、トラフィックフロー410は、信頼できると以前に判定された可能性があり、したがって、パス442を介して、ハードウェアアクセラレータ430に方向付けられた可能性がある。再評価モジュール414は、ハードウェアアクセラレータ430からレート452を周期的に取り出して、トラフィックフロー410のレートを記述するように構成され得る。再評価モジュール414は、レート452における大きな変化を識別し得、かつトラフィックフロー410が再評価を必要とすることを判定し得る。したがって、再評価モジュール414は、ハードウェアアクセラレータ430から離れてプロセッサ420(及び、例えば、サンプリングモジュール106)にトラフィックフロー410を転換し得る。サンプリングモジュール106は、その後、トラフィックフロー410から1つ以上のパケットをサンプリングし得、解析モジュール108は、信頼性に関してパケットを解析し得、判定モジュール110は、トラフィックフロー410が依然として信頼できると判定し得、転換モジュール112は、トラフィックフロー410を、パス442に沿って、ハードウェアアクセラレータ430へ転換し戻し得る。
いくつかの実施例では、本明細書に記載されるシステムのうちの1つ以上はまた、1)トラフィックフローの方向性を記述するために有用なハードウェアアクセラレータからデータを取り出し、2)トラフィックフローが信頼できると判定した後に、トラフィックフローの方向性が、所定の閾値を超えて変化したことを、データに基づいて判定し、3)トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、トラフィックフローの方向性が所定の閾値を超えて変化したと判定することに応答して、トラフィックフローが信頼できるかどうかを再評価するために、追加のパケットを解析し得る。これらの実施例では、転換モジュール112は更に、1)追加のパケットを解析することに基づいて、トラフィックフローが依然として信頼できると判定し、2)トラフィックフローが依然として信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換し戻し得る。
本明細書で使用する、用語「方向性」は、一方の方向に移動するネットワークトラフィックの割合及び/又は量を指し得る(例えば、他方の方向に移動するネットワークトラフィックの割合に対して)。例えば、トラフィックフローは、データのダウンロードを容易にし得る(例えば、ダウンロードをネゴシエートするための最小限のアップストリームデータ転送を含む)。後の時点で、トラフィックフローは、データのアップロードを容易にするために使用され得る(例えば、アップロードをネゴシエートするための最小限のダウンストリームデータ転送を含む)。本明細書に記載されるシステムのうちの1つ以上は、トラフィックフローの現在の方向性を指定するハードウェアアクセラレータからカウンタを定期的に読み取り得る。これらのシステムはまた、トラフィックフローの方向性のいずれの変化も識別し得る。方向性の変化は、トラフィックフローの信頼性を再評価する必要性を通知し得る。したがって、これらのシステムは、トラフィックフローの1つ以上のパケットの新たな解析のために、コンピューティングリソースへトラフィックフローを転換し戻し得る。
一例として図4を使用すると、トラフィックフロー410は、信頼できると以前に判定された可能性があり、したがって、パス442を介して、ハードウェアアクセラレータ430に方向付けられた可能性がある。再評価モジュール414は、ハードウェアアクセラレータ430から方向性454を周期的に取り出して、ダウンストリームデータ転送に対するアップストリームデータ転送の割合を記述するように構成され得る。再評価モジュール414は、方向性454における大きな変化を識別し得、かつトラフィックフロー410が再評価を必要とすることを判定し得る。したがって、再評価モジュール414は、ハードウェアアクセラレータ430から離れてプロセッサ420(及び、例えば、サンプリングモジュール106)にトラフィックフロー410を転換し得る。サンプリングモジュール106は、その後、トラフィックフロー410から1つ以上のパケットをサンプリングし得、解析モジュール108は、信頼性に関してパケットを解析し得、判定モジュール110は、トラフィックフロー410が依然として信頼できると判定し得、転換モジュール112は、ハードウェアアクセラレータ430へのパス442に沿ってトラフィックフロー410を転換し戻し得る。
いくつかの実施例では、本明細書に記載されるシステムのうちの1つ以上はまた、1)ペイロードの転送が完了したかどうかを判定するために有用なハードウェアアクセラレータからデータを取り出し、2)ペイロードの転送が完了したことを、データに基づいて判定し、3)トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、ペイロードの転送が完了したことを判定することに応答して、トラフィックフローが信頼できるかどうかを再評価するために、追加のパケットを解析し得る。これらの実施例では、転換モジュール112は更に、1)追加のパケットを解析することに基づいて、トラフィックフローが依然として信頼できると判定し、2)トラフィックフローが依然として信頼できると判定することに応答して、トラフィックフローをハードウェアアクセラレータへ転換し戻し得る。
例えば、本明細書に記載されるシステムのうちの1つ以上は、HTTP 1.1要求を識別し得る。次いで、これらのシステムは、要求されたリソースのサイズを識別する応答を識別し得る。したがって、これらのシステムは、要求されたリソースのサイズに対応するデータ量を転送するために、トラフィックフローを監視し得る(例えば、ハードウェアアクセラレータのカウンタを介して)。これにより、これらのシステムは、ペイロードが転送され、トラフィックフロー内の後続のトラフィックが異なる、かつ潜在的に信頼できない内容を含み得ると判定し得る。したがって、これらのシステムは、トラフィックフローの信頼性の再評価のためにコンピューティングリソースへトラフィックフローを転換し戻し得る。
一例として図4を使用すると、トラフィックフロー410は、信頼できると以前に判定された可能性があり、したがって、パス442を介して、ハードウェアアクセラレータ430に方向付けられた可能性がある。再評価モジュール414は、ハードウェアアクセラレータ430からペイロード情報456を周期的に取り出して、どれだけのペイロードが転送されるべき状態のままであるか記述する(例えば、ハードウェアアクセラレータ430を介して転送されるデータの総量を記述し、再評価モジュール414が、ペイロードの転送が始まってから転送されたデータの量を計算することを可能にすることにより)ように構成し得る。再評価モジュール414は、ペイロードの転送が完了したことを判定し得、これにより、トラフィックフロー410が、再評価を必要とすることを判定する。したがって、再評価モジュール414は、ハードウェアアクセラレータ430から離れてプロセッサ420(及び、例えば、サンプリングモジュール106)にトラフィックフロー410を転換し得る。サンプリングモジュール106は、その後、トラフィックフロー410から1つ以上のパケットをサンプリングし得、解析モジュール108は、信頼性に関してパケットを解析し得、判定モジュール110は、トラフィックフロー410が依然として信頼できると判定し得、転換モジュール112は、ハードウェアアクセラレータ430へのパス442に沿ってトラフィックフロー410を転換し戻し得る。
上で説明したように、解析するためにトラフィックフローの1つ以上のパケットをサンプリングすることによって(例えば、ソフトウェアベースのディープパケットインスペクションを使用して)、トラフィックフローが信頼できると判定し、トラフィックフローが信頼できると判定したことに応答して、トラフィックフローをハードウェアアクセラレータへ転換し、本明細書に記載されるシステム及び方法は、ネットワークトラフィックの各パケットを検査するために必要なコンピューティングリソースを消費することなく、効率的にネットワークトラフィックを解析し得る。更に、いくつかの実施例では、本明細書に記載されるシステム及び方法は、トラフィックフローの著しい変化を潜在的に示す、ハードウェアアクセラレータから統計情報を取り出すことによって、かかる信頼性評価の精度を維持し得、これらのシステム及び方法は、一時的にトラフィックフローを更にリソース集約的なディープパケットインスペクション方法に転換し戻し得、これにより、これらのシステム及び方法が、トラフィックフローの信頼性が最も変化し得る可能性が高い時間に、トラフィックフローの信頼性を再評価することを可能にする(及び、例えば、これらのシステム及び方法によって、リソースの使用を最小限に抑えながら、これらのシステム及び方法の精度を維持する)。
図5は、本明細書に記載及び/又は図示される実施形態のうちの1つ以上を実装することができる例示的なコンピューティングシステム510のブロック図である。例えば、コンピューティングシステム510の全て又は一部分は、それぞれ単独で、又は他の要素と組み合わせて、本明細書に記載される識別、サンプリング、解析、検査、判定、転換、及び取り出す工程のうちの1つ以上を実施し得る、及び/又は実施するための手段であり得る。コンピューティングシステム510の全て又は一部はまた、本明細書に記載及び/若しくは図示される任意の他の工程、方法、又はプロセスを実行し、及び/又はそれらを実行するための手段であり得る。
コンピューティングシステム510は、コンピュータ可読命令を実行することができるあらゆるシングル又はマルチプロセッサのコンピューティングデバイスを広く表す。コンピューティングシステム510の例としては、ワークステーション、ラップトップ、クライアント側端末、サーバ、分散型コンピューティングシステム、ハンドヘルドデバイス、又は任意の他のコンピューティングシステム若しくはデバイスが挙げられるが、これらに限定されない。その最も基本的な構成では、コンピューティングシステム510は、少なくとも1つのプロセッサ514と、システムメモリ516とを含むことができる。
プロセッサ514は概して、データを処理するか、又は命令を解釈及び実行することができるあらゆるタイプ又は形態の処理ユニットを表す。特定の実施形態では、プロセッサ514は、ソフトウェアアプリケーション又はモジュールから命令を受信することができる。これらの命令は、本明細書に記載及び/又は図示される例示的な実施形態のうちの1つ以上の機能をプロセッサ514に実行させることができる。
システムメモリ516は概して、データ及び/又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の揮発性又は不揮発性記憶デバイス若しくは媒体を表す。システムメモリ516の例としては、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、又は任意の他の好適なメモリデバイスが挙げられるが、これらに限定されない。必須ではないが、特定の実施形態では、コンピューティングシステム510は、揮発性メモリユニット(例えば、システムメモリ516など)及び不揮発性記憶デバイス(以下に詳細に記載されるように、例えば、一次記憶デバイス532など)の両方を含むことができる。一実施例において、図1のモジュール102のうちの1つ以上は、システムメモリ516にロードされ得る。
特定の実施形態では、例示的なコンピューティングシステム510はまた、プロセッサ514及びシステムメモリ516に加えて、1つ以上の構成要素又は要素を含むことができる。例えば、図5に示されるように、コンピューティングシステム510は、メモリコントローラ518と、入力/出力(I/O)コントローラ520と、通信インターフェース522とを含むことができ、これらの各々は、通信基盤512を介して相互接続され得る。通信基盤512は概して、コンピューティングデバイスのうちの1つ以上の構成要素間の通信を容易にすることができるあらゆるタイプ又は形態の基盤を表す。通信基盤512の例としては、非限定的に、通信バス(産業標準構成(ISA)、周辺装置相互接続(PCI)、PCIエクスプレス(PCIe)、又は類似のバスなど)及びネットワークが挙げられる。
メモリコントローラ518は概して、メモリ若しくはデータを処理するか、又はコンピューティングシステム510のうちの1つ以上の構成要素間の通信を制御することができるあらゆるタイプ又は形態のデバイスを表す。例えば、特定の実施形態では、メモリコントローラ518は、通信基盤512を介してプロセッサ514と、システムメモリ516と、I/Oコントローラ520との間の通信を制御することができる。
I/Oコントローラ520は概して、コンピューティングデバイスの入力及び出力関数を調整及び/又は制御することができるあらゆるタイプ又は形態のモジュールを表す。例えば、特定の実施形態では、I/Oコントローラ520は、プロセッサ514、システムメモリ516、通信インターフェース522、ディスプレイアダプタ526、入力インターフェース530、及び記憶インターフェース534など、コンピューティングシステム510のうちの1つ以上の要素間のデータの転送を制御又は容易にすることができる。
通信インターフェース522は、例示的なコンピューティングシステム510及び1つ以上の追加のデバイス間の通信を容易にすることができるあらゆるタイプ又は形態の通信デバイス又はアダプタを広く表す。例えば、特定の実施形態では、通信インターフェース522は、コンピューティングシステム510と追加のコンピューティングシステムを含む私的又は公的ネットワークとの間の通信を容易にすることができる。通信インターフェース522の例としては、有線ネットワークインターフェース(ネットワークインターフェースカードなど)、無線ネットワークインターフェース(無線ネットワークインターフェースカードなど)、モデム、及び任意の他の好適なインターフェースが挙げられるが、これらに限定されない。少なくとも1つの実施形態では、通信インターフェース522は、インターネットなどのネットワークへの直接リンクを介してリモートサーバへの直接接続を提供することができる。通信インターフェース522はまた、例えば、ローカルエリアネットワーク(イーサネットネットワークなど(「イーサネット」は登録商標、以下同じ))、パーソナルエリアネットワーク、電話若しくはケーブルネットワーク、携帯電話接続、衛星データ接続、又は任意の他の好適な接続を介するかかる接続を間接的に提供することができる。
特定の実施形態では、通信インターフェース522はまた、外部バス又は通信チャネルを介して、コンピューティングシステム510と1つ以上の追加のネットワーク又は記憶デバイスとの間の通信を容易にするように構成されるホストアダプタを表すことができる。コンピュータ可読記憶媒体の例としては、これらに限定されないが、Small Computer System Interface(SCSI)ホストアダプタ、Universal Serial Bus(USB)ホストアダプタ、Institute of Electrical and Electronics Engineers(IEEE)1394ホストアダプタ、Advanced Technology Attachment(ATA)、Parallel ATA(PATA)、Serial ATA(SATA)、及びExternal SATA(eSATA)ホストアダプタ、ファイバチャネルインターフェースアダプタ、イーサネットアダプタ等が挙げられる。通信インターフェース522はまた、コンピューティングシステム510が分散型又はリモートコンピューティングに関与するのを可能にすることができる。例えば、通信インターフェース522は、リモートデバイスから命令を受信し、実行するためにリモートデバイスに命令を送信することができる。
図5に示されるように、コンピューティングシステム510はまた、ディスプレイアダプタ526を介して通信基盤512に連結された少なくとも1つの表示デバイス524を含むことができる。表示デバイス524は概して、ディスプレイアダプタ526によって転換された情報を視覚的に表示することができるあらゆるタイプ又は形態のデバイスを表す。同様に、ディスプレイアダプタ526は概して、表示デバイス524に表示するために通信基盤512から(又は当該技術分野において既知であるようにフレームバッファから)グラフィックス、テキスト、及び他のデータを転換するように構成されるあらゆるタイプ又は形態のデバイスを表す。
図5に示されるように、例示的なコンピューティングシステム510はまた、入力インターフェース530を介して通信基盤512に連結された少なくとも1つの入力デバイス528を含むことができる。入力デバイス528は概して、コンピュータ又は人間のいずれかが生成した入力を例示的なコンピューティングシステム510に提供することができるあらゆるタイプ又は形態の入力デバイスを表す。入力デバイス528の例としては、キーボード、ポインティングデバイス、音声認識デバイス、又は任意の他の入力デバイスが挙げられるが、これらに限定されない。
図5に示されるように、例示的なコンピューティングシステム510はまた、記憶インターフェース534を介して通信基盤512に連結された一次記憶デバイス532と、バックアップ記憶デバイス533とを含むことができる。記憶デバイス532及び533は概して、データ及び/又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の記憶デバイス若しくは媒体を表す。例えば、記憶デバイス532及び533は、磁気ディスクドライブ(例えば、いわゆるハードドライブ)、ソリッドステートドライブ、フロッピーディスクドライブ(「フロッピー」は登録商標、以下同じ)、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってもよい。記憶インターフェース534は概して、記憶デバイス532及び533とコンピューティングシステム510の他の構成要素との間のデータを転送するためのあらゆるタイプ又は形態のインターフェース又はデバイスを表す。
特定の実施形態では、記憶デバイス532及び533は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を記憶するように構成される取り外し可能な記憶ユニットから読み取る、及び/又はそれに書き込むように構成されてもよい。好適な取り外し可能な記憶ユニットの例としては、限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが挙げられる。記憶デバイス532及び533はまた、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令がコンピューティングシステム510にロードされるのを可能にするために他の類似の構造又はデバイスを含むことができる。例えば、記憶デバイス532及び533は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み取る、及び書き込むように構成されてもよい。記憶デバイス532及び533はまた、コンピューティングシステム510の一部であってもよく、又は他のインターフェースシステムを介してアクセスされた別個のデバイスであってもよい。
多くの他のデバイス又はサブシステムが、コンピューティングシステム510に接続されてもよい。逆に、図5に示される構成要素及びデバイスの全ては、本明細書に記載及び/又は図示される実施形態を実践するために存在する必要はない。上記で言及されたデバイス及びサブシステムはまた、図5に示されるものとは異なる手法で相互接続されてもよい。コンピューティングシステム510はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を用いることができる。例えば、本明細書に開示される例示的な実施形態のうちの1つ以上は、コンピュータ可読記憶媒体にコンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも称される)としてコード化されてもよい。句「コンピュータ可読記憶媒体」は概して、コンピュータ可読命令を記憶又は実施することができるあらゆる形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読記憶媒体の例としては、これらに限定されないが、搬送波などの伝送型媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ及びフロッピーディスク)、光学記憶媒体(例えば、コンパクトディスク(CD)又はデジタルビデオディスク(DVD))、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュメディア)、及び他の分散システムなどの非一時型媒体が挙げられる。
コンピュータプログラムを収容するコンピュータ可読記憶媒体は、コンピューティングシステム510にロードされてもよい。次いで、コンピュータ可読記憶媒体に記憶されたコンピュータプログラムの全て又は一部は、システムメモリ516並びに/又は記憶デバイス532及び533の様々な部分の中に記憶されてもよい。プロセッサ514によって実行されるとき、コンピューティングシステム510にロードされたコンピュータプログラムは、プロセッサ514を実行させ、並びに/又は本明細書に記載及び/若しくは図示される例示的な実施形態のうちの1つ以上の機能を実行するための手段であってもよい。加えて、又は代替的に、本明細書に記載及び/又は図示される例示的な実施形態のうちの1つ以上は、ファームウェア及び/又はハードウェアに実装されてもよい。例えば、コンピューティングシステム510は、本明細書に開示される例示的な実施形態のうちの1つ以上を実装するように適合された特定用途向け集積回路(ASIC)として構成されてもよい。
図6は、クライアントシステム610、620、及び630、並びにサーバ640及び645がネットワーク650に連結され得る例示的なネットワークアーキテクチャ600のブロック図である。上で詳述したように、ネットワークアーキテクチャ600の全て又は一部分は、それぞれ単独で、又は他の要素と組み合わせて、本明細書に開示される識別、サンプリング、解析、検査、判定、転換及び取り出す工程のうちの1つ以上を実施し得る、及び/又は実施するための手段であり得る。ネットワークアーキテクチャ600の全て又は一部はまた、本開示に記載される他の工程及び特徴を実行するための手段を実行するために使用され、及び/又はそれらを実行するための手段であり得る。
クライアントシステム610、620、及び630は概して、図5の例示的なコンピューティングシステム510など、あらゆるタイプ又は形態のコンピューティングデバイス又はシステムを表す。同様に、サーバ640及び645は概して、様々なデータベースサービスを提供し、及び/又は特定のソフトウェアアプリケーションを実行するように構成されるアプリケーションサーバ又はデータベースサーバなど、コンピューティングデバイス又はシステムを表す。ネットワーク650は、概して、例えば、イントラネット、WAN、LAN、PAN、又はインターネットを含む任意の電気通信又はコンピュータネットワークを表す。一実施例では、クライアントシステム610、620、及び/若しくは630、並びに/又はサーバ640及び/若しくは645は、図1のシステム100の全て又は一部を含むことができる。
図6に示されるように、1つ以上の記憶デバイス660(1)〜(N)は、サーバ640に直接接続されてもよい。同様に、1つ以上の記憶デバイス670(1)〜(N)は、サーバ645に直接接続されてもよい。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は概して、データ及び/又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の記憶デバイス又は媒体を表す。特定の実施形態では、記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)は、ネットワークファイルシステム(NFS)、サーバメッセージブロック(SMB)、又は共通インターネットファイルシステム(CIFS)など、様々なプロトコルを使用して、サーバ640及び645と通信するように構成された、ネットワーク接続ストレージ(NAS)デバイスを表してもよい。
サーバ640及び645はまた、記憶エリアネットワーク(SAN)ファブリック680に接続されてもよい。SANファブリック680は概して、複数の記憶デバイス間の通信を容易にすることができるあらゆるタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表す。SANファブリック680は、サーバ640及び645、複数の記憶デバイス690(1)〜(N)、並びに/又はインテリジェント記憶アレイ695間の通信を容易にすることができる。SANファブリック680はまた、デバイス690(1)〜(N)及びアレイ695がクライアントシステム610、620、及び630へのローカル接続のデバイスとして現れるように、ネットワーク650並びにサーバ640及び645を介して、クライアントシステム610、620、及び630、記憶デバイス690(1)〜(N)、並びに/又はインテリジェント記憶アレイ695間の通信を容易にすることができる。記憶デバイス660(1)〜(N)及び記憶デバイス670(1)〜(N)と同様に、記憶デバイス690(1)〜(N)及びインテリジェント記憶アレイ695は概して、データ及び/又は他のコンピュータ可読命令を記憶することができるあらゆるタイプ又は形態の記憶デバイス又は媒体を表す。
特定の実施形態では、図5の例示的なコンピューティングシステム510を参照すると、図5の通信インターフェース522などの通信インターフェースは、各クライアントシステム610、620、及び630、並びにネットワーク650間の接続性を提供するために使用されてもよい。クライアントシステム610、620、及び630は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを使用して、サーバ640又は645に関する情報にアクセスすることができてもよい。このようなソフトウェアは、クライアントシステム610、620、及び630がサーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、又はインテリジェント記憶アレイ695によってホストされたデータにアクセスするのを可能にすることができる。図6は、データを交換するためのネットワーク(インターネットなど)の使用を示すが、本明細書に記載され、及び/又は図示される実施形態は、インターネット又は任意の特定のネットワークベースの環境に限定されない。
少なくとも1つの実施形態では、本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部は、コンピュータプログラムとしてコード化され、サーバ640、サーバ645、記憶デバイス660(1)〜(N)、記憶デバイス670(1)〜(N)、記憶デバイス690(1)〜(N)、インテリジェント記憶アレイ695、又はこれらの任意の組み合わせにロードされ、それらによって実行されてもよい。本明細書に開示される例示的な実施形態のうちの1つ以上の全て又は一部はまた、サーバ640内に記憶され、サーバ645によって実行され、かつネットワーク650を介してクライアントシステム610、620、及び630に配布されたコンピュータプログラムとしてコード化されてもよい。
上で詳述したように、コンピューティングシステム510及び/又はネットワークアーキテクチャ600の1つ以上の構成要素は、それぞれ単独で、又は他の要素と組み合わせて、選択的なディープパケットインスペクションを実行するための例示的な方法の1つ以上の工程を実行し得る、及び/又は実行するための手段であり得る。
先述の開示は、特定のブロック図、フロー図、及び実施例を使用して様々な実施形態を説明するが、本明細書に記載される及び/又は図示される各ブロック図の構成要素、フロー図の工程、動作、及び/又は構成要素は、個別に及び/又は集合的に、広範なハードウェア、ソフトウェア、又はファームウェア(又はそれらの任意の組み合わせ)構成を使用して、実装され得る。加えて、他の構成要素内に含まれた構成要素のあらゆる開示は、多くの他のアーキテクチャが同じ機能を達成するために実装され得ることにより、本質的に例示的であると考慮されるべきである。
一部の実施例において、図1の例示的なシステム100の全ての又は一部分は、クラウドコンピューティング又はネットワークに基づく環境の部分を表し得る。クラウドコンピューティング環境は、インターネットを介して様々なサービス及びアプリケーションを提供することができる。これらのクラウドに基づくサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしての基盤など)は、ウェブブラウザ又は他のリモートインターフェースを通じてアクセス可能であり得る。本明細書に記載される様々な機能は、リモートデスクトップ環境又は他の任意のクラウドに基づくコンピューティング環境を通して提供されてもよい。
様々な実施形態では、図1の例示的なシステム100の全ての又は一部分は、クラウドに基づくコンピューティング環境内でマルチテナント機能を容易にし得る。言い換えれば、本明細書に記載されるソフトウェアモジュールは、本明細書に記載の機能の1つ以上のマルチテナント機能を容易にするために、コンピューティングシステム(例えば、サーバ)を構成し得る。例えば、本明細書に記載される1つ以上のソフトウェアモジュールは、サーバ上で実行中のアプリケーションを共有する2つ以上のクライアント(例えば、顧客)を可能にするためにサーバをプログラムし得る。このように、プログラムされたサーバは、複数の顧客(すなわち、テナント)の間で、アプリケーション、オペレーティングシステム、処理システム、及び/又はストレージシステムを共有し得る。本明細書に記載される1つ又は複数のモジュールはまた、1つの顧客が他の顧客のデータ及び/又は構成情報にアクセスすることができないように、各顧客のためのデータ及び/又はマルチテナントアプリケーションの構成情報を分割し得る。
様々な実施形態に従い、図1の例示的なシステム100の全ての又は一部分は、仮想環境内で実装され得る。例えば、本明細書に記載のモジュール及び/又はデータは仮想マシン内で存在し得る、及び/又は実行し得る。本明細書で使用する、句「仮想マシン」は、概して、仮想マシンマネージャ(例えば、ハイパーバイザ)によってコンピューティングハードウェアから抽出された任意のオペレーティングシステム環境を指す。加えて、又は代替的に、本明細書に記載のモジュール及び/又はデータは仮想化層内で存在し得る、及び/又は実行し得る。本明細書で使用する、句「仮想化層」は、概してオペレーティングシステム環境からオーバーレイ及び/又は抽出された任意のデータ層及び/又はアプリケーション層を指す。仮想化層は、下にある基本オペレーティングシステムの一部であるかのように仮想化層を提供するソフトウェアの仮想化ソリューション(例えば、ファイルシステムフィルタ)によって管理され得る。例えば、ソフトウェアの仮想化ソリューションは、最初に仮想化層内の場所に、基本ファイルシステム及び/又はレジストリ内の場所に方向付けられる呼び出しをリダイレクトし得る。
本明細書に記載される及び/又は図示されるプロセスパラメータ及び工程の順序は、単なる例として提供され、所望に応じて変更することができる。例えば、本明細書に図示される及び/又は記載される工程が特定の順序で示される又は考察されるが、これらの工程は、必ずしも図示される又は考察される順序で実施される必要はない。本明細書に記載及び/又は図示される様々な例示的な方法はまた、本明細書に記載及び/又は図示される工程のうちの1つ以上を省略するか、又は開示されるものに加えて追加の工程を含むことができる。
様々な実施形態は、完全に機能的なコンピューティングシステムとの関連で本明細書に記載及び/又は図示されているが、これらの例示的な実施形態のうちの1つ以上は、実際に配布を実行するために使用される特定のタイプのコンピュータ可読記憶媒体にかかわらず、様々な形態でプログラム製品として配布されてもよい。本明細書に開示の実施形態はまた、一定のタスクを実施するソフトウェアモジュールを使用して実装され得る。これらのソフトウェアモジュールは、スクリプト、バッチ、又はコンピュータで読み取り可能な記憶媒体上若しくはコンピューティングシステムに記憶され得る、他の実行可能なファイルを含んでもよい。いくつかの実施形態では、これらのソフトウェアモジュールは、本明細書に開示される例示的な実施形態のうちの1つ以上を実行するようにコンピューティングシステムを構成することができる。
加えて、本明細書に記載されるモジュールのうちの1つ以上は、データ、物理的デバイス、及び/又は物理的デバイスの表現をある形態から別の形態に変換することができる。例えば、本明細書に挙げたモジュールのうちの1つ以上は、変換されるデータストリームを受信し、信頼性評価へのデータストリームを変換し、コンピューティングリソース及びハードウェアアクセラレータとの間のデータストリームを転換するために変換の結果を使用し、かつストレージデバイスへの変換の結果を記憶し得る。加えて、又は代替的に、本明細書に挙げたモジュールのうちの1つ以上は、コンピューティングデバイス上で実行し、コンピューティングデバイス上にデータを記憶し、かつ/又は別の方法ではコンピュータデバイスと対話することによって、プロセッサ、揮発性メモリ、不揮発性メモリ、及び/若しくは1つの形態から別の形態への物理コンピューティングデバイスの任意の他の部分を変換し得る。
前述の説明は、当業者が本明細書に開示される例示的な実施形態の様々な態様を最良に利用するのを可能にするために提供されている。この例示的な説明は、包括的であるか、又は開示されるあらゆる正確な形態に限定されることを意図しない。本開示の趣旨及び範囲から逸脱することなく、多くの修正及び変形が可能である。本明細書に開示される実施形態は、あらゆる点で例示的であり、限定的ではないと見なされるべきである。本開示の範囲を決定する際に添付の特許請求の範囲及びその等価物を参照するべきである。
特に記載されない限り、用語「1つ(a)」又は「1つ(an)」は本明細書及び特許請求の範囲に使用される際、「のうちの少なくとも1つ(at least one of)」を意味すると解釈されるべきである。加えて、使いやすさのために、語「含む(including)」及び「有する(having)」は、本明細書及び特許請求の範囲に使用される際、語「含む・備える(comprising)」と同義的であり、それと同じ意味を有する。

Claims (20)

  1. 選択的なディープパケットインスペクションを実行するためのコンピュータ実装方法であって、前記方法の少なくとも一部が、少なくとも1つのプロセッサを備えるコンピューティングデバイスによって実行され、前記方法が、
    データパケットのストリームを含むトラフィックフローを識別することと、
    前記データパケットのストリームから少なくとも1つのパケットをサンプリングすることと、
    前記トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、前記サンプリングされたパケットを解析することと、
    前記サンプリングされたパケットを解析することに基づいて、前記トラフィックフローが信頼できると判定することと、
    前記トラフィックフローが信頼できると判定することに応答して、前記トラフィックフローをハードウェアアクセラレータへ転換することと、を含む、方法。
  2. 前記トラフィックフローを前記ハードウェアアクセラレータへ転換することが、前記コンピューティングリソースから離れて前記トラフィックフローを転換することを含む、請求項1に記載のコンピュータ実装方法。
  3. 前記サンプリングされたパケットを解析することが、
    前記サンプリングされたパケットの発信元、
    前記サンプリングされたパケットの宛先、
    前記サンプリングされたパケットの内容、のうちの少なくとも1つを検査することを含む、請求項1に記載のコンピュータ実装方法。
  4. 前記コンピューティングリソースが、
    中央処理装置、
    ソフトウェアモジュール、のうちの少なくとも1つを備える、請求項1に記載のコンピュータ実装方法。
  5. 前記トラフィックフローのレートを記述するために有用な前記ハードウェアアクセラレータからデータを取り出すことと、
    前記トラフィックフローが信頼できると判定した後に、前記トラフィックフローの前記レートが、所定の閾値を超えて変化したことを、前記データに基づいて判定することと、
    前記トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、前記トラフィックフローの前記レートが前記所定の閾値を超えて変化したと判定することに応答して、前記トラフィックフローが信頼できるかどうかを再評価するために、前記追加のパケットを解析すること、とを更に含む、請求項1に記載のコンピュータ実装方法。
  6. 前記追加のパケットを解析することに基づいて、前記トラフィックフローが依然として信頼できると判定することと、
    前記トラフィックフローが依然として信頼できると判定することに応答して、前記トラフィックフローを前記ハードウェアアクセラレータへ転換し戻すことと、を更に含む、請求項5に記載のコンピュータ実装方法。
  7. 前記トラフィックフローの方向性を記述するために有用な前記ハードウェアアクセラレータからデータを取り出すことと、
    前記トラフィックフローの前記方向性が、所定の閾値を超えて変化したことを、前記データに基づいて判定することと、
    前記トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、前記トラフィックフローの前記方向性が前記所定の閾値を超えて変化したと判定することに応答して、前記トラフィックフローが信頼できるかどうかを再評価するために、前記追加のパケットを解析することと、を更に含む、請求項1に記載のコンピュータ実装方法。
  8. 前記追加のパケットを解析することに基づいて、前記トラフィックフローが依然として信頼できると判定することと、
    前記トラフィックフローが依然として信頼できると判定することに応答して、前記トラフィックフローを前記ハードウェアアクセラレータへ転換し戻すことと、を更に含む、請求項7に記載のコンピュータ実装方法。
  9. ペイロードの転送が完了したかどうかを判定するために有用な前記ハードウェアアクセラレータからデータを取り出すことと、
    前記ペイロードの転送が完了したことを、前記データに基づいて判定することと、
    前記トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、前記ペイロードの転送が完了したことを判定することに応答して、前記トラフィックフローが信頼できるかどうかを再評価するために、前記追加のパケットを解析すること、とを更に含む、請求項1に記載のコンピュータ実装方法。
  10. 前記追加のパケットを解析することに基づいて、前記トラフィックフローが依然として信頼できると判定することと、
    前記トラフィックフローが依然として信頼できると判定することに応答して、前記トラフィックフローを前記ハードウェアアクセラレータへ転換し戻すことと、を更に含む、請求項9に記載のコンピュータ実装方法。
  11. 選択的ディープパケットインスペクションを実行するためのシステムであって、
    データパケットのストリームを含むトラフィックフローを識別するようにプログラムされる識別モジュールと、
    前記データパケットのストリームから少なくとも1つのパケットをサンプリングするようにプログラムされるサンプリングモジュールと、
    前記トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、前記サンプリングされたパケットを解析するようにプログラムされる解析モジュールと、
    前記サンプリングされたパケットを解析することに基づいて、前記トラフィックフローが信頼できると判定するようにプログラムされる判定モジュールと、
    前記トラフィックフローが信頼できると判定することに応答して、前記トラフィックフローをハードウェアアクセラレータへ転換するようにプログラムされる転換モジュールと、
    前記識別モジュール、前記サンプリングモジュール、前記解析モジュール、前記判定モジュール、及び前記転換モジュールを実行するように構成される、少なくとも1つのプロセッサと、を備える、システム。
  12. 前記転換モジュールが、前記コンピューティングリソースから離れて前記トラフィックフローを転換することにより、前記トラフィックフローを前記ハードウェアアクセラレータへ転換するようにプログラムされる、請求項11に記載のシステム。
  13. 前記解析モジュールが、
    前記サンプリングされたパケットの発信元、
    前記サンプリングされたパケットの宛先、
    前記サンプリングされたパケットの内容、のうちの少なくとも1つを検査することによって、前記サンプリングされたパケットを解析するようプログラムされる、請求項11に記載のシステム。
  14. 前記コンピューティングリソースが、
    中央処理装置、
    ソフトウェアモジュール、のうちの少なくとも1つを備える、請求項11に記載のシステム。
  15. 前記トラフィックフローのレートを記述するために有用な前記ハードウェアアクセラレータからデータを取り出し、
    前記トラフィックフローが信頼できると判定した後に前記トラフィックフローの前記レートが、所定の閾値を超えて変化したことを前記データに基づいて判定するようにプログラムされる再評価モジュールを更に備え、
    前記サンプリングモジュールが、前記トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、前記トラフィックフローの前記レートが前記所定の閾値を超えて変化したと判定することに応答して、前記トラフィックフローが信頼できるかどうかを再評価するために、前記追加のパケットを解析するように更にプログラムされる、請求項11に記載のシステム。
  16. 前記解析モジュールが、前記追加のパケットを解析することに基づいて、前記トラフィックフローが依然として信頼できると判定するように更にプログラムされ、
    前記転換モジュールが、前記トラフィックフローが依然として信頼できると判定することに応答して、前記トラフィックフローを前記ハードウェアアクセラレータへ転換し戻すように更にプログラムされる、請求項15に記載のシステム。
  17. 前記トラフィックフローの方向性を記述するために有用な前記ハードウェアアクセラレータからデータを取り出し、
    前記トラフィックフローの前記方向性が、所定の閾値を超えて変化したことを前記データに基づいて判定するようにプログラムされる再評価モジュールを更に備え、
    前記サンプリングモジュールが、前記トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、前記トラフィックフローの前記方向性が前記所定の閾値を超えて変化したと判定することに応答して、前記トラフィックフローが信頼できるかどうかを再評価するために、前記追加のパケットを解析するように更にプログラムされる、請求項11に記載のシステム。
  18. 前記解析モジュールが、前記追加のパケットを解析することに基づいて、前記トラフィックフローが依然として信頼できると判定するように更にプログラムされ、
    前記転換モジュールが、前記トラフィックフローが依然として信頼できると判定することに応答して、前記トラフィックフローを前記ハードウェアアクセラレータへ転換し戻すように更にプログラムされる、請求項17に記載のシステム。
  19. ペイロードの転送が完了したかどうかを判定するために有用な前記ハードウェアアクセラレータからデータを取り出し、
    前記ペイロードの転送が完了したことを、前記データに基づいて判定するようにプログラムされる再評価モジュールを更に備え、
    前記サンプリングモジュールが、前記トラフィックフローから少なくとも1つの追加のパケットをサンプリングし、前記ペイロードの転送が完了したことを判定することに応答して、前記トラフィックフローが信頼できるかどうかを再評価するために、前記追加のパケットを解析するように更にプログラムされる、請求項11に記載のシステム。
  20. 1つ以上のコンピュータ実行可能命令を含むコンピュータ可読記憶媒体であって、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、前記コンピューティングデバイスに、
    データパケットのストリームを含むトラフィックフローを識別させ、
    前記データパケットのストリームから少なくとも1つのパケットをサンプリングさせ、
    前記トラフィックフローが信頼できるかどうかを判定するために、コンピューティングリソースを使用して、前記サンプリングされたパケットを解析させ、
    前記サンプリングされたパケットを解析することに基づいて、前記トラフィックフローが信頼できると判定させ、
    前記トラフィックフローが信頼できると判定することに応答して、前記トラフィックフローをハードウェアアクセラレータへ転換させる、コンピュータ可読記憶媒体。
JP2015530144A 2012-09-13 2013-09-03 選択的ディープパケットインスペクションを実行するためのシステム及び方法 Active JP5963966B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/615,444 2012-09-13
US13/615,444 US8943587B2 (en) 2012-09-13 2012-09-13 Systems and methods for performing selective deep packet inspection
PCT/US2013/057890 WO2014042914A1 (en) 2012-09-13 2013-09-03 Systems and methods for performing selective deep packet inspection

Publications (2)

Publication Number Publication Date
JP2015530831A true JP2015530831A (ja) 2015-10-15
JP5963966B2 JP5963966B2 (ja) 2016-08-03

Family

ID=50234812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015530144A Active JP5963966B2 (ja) 2012-09-13 2013-09-03 選択的ディープパケットインスペクションを実行するためのシステム及び方法

Country Status (5)

Country Link
US (1) US8943587B2 (ja)
EP (1) EP2896169B1 (ja)
JP (1) JP5963966B2 (ja)
CN (1) CN104704782A (ja)
WO (1) WO2014042914A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019029980A (ja) * 2017-08-04 2019-02-21 富士通株式会社 トラフィック分析装置、トラフィック分析方法、トラフィック分析プログラム、及び通信システム

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811431B2 (en) 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
US8489562B1 (en) 2007-11-30 2013-07-16 Silver Peak Systems, Inc. Deferred data storage
US8885632B2 (en) 2006-08-02 2014-11-11 Silver Peak Systems, Inc. Communications scheduler
US8307115B1 (en) 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US9717021B2 (en) * 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
US9130991B2 (en) 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
US9225647B2 (en) * 2013-02-11 2015-12-29 Vmware, Inc. Distributed deep packet inspection
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US20160088001A1 (en) * 2014-09-22 2016-03-24 Alcatel-Lucent Usa Inc. Collaborative deep packet inspection systems and methods
US10432484B2 (en) 2016-06-13 2019-10-01 Silver Peak Systems, Inc. Aggregating select network traffic statistics
US9967056B1 (en) 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
TWI691186B (zh) * 2018-10-17 2020-04-11 中華電信股份有限公司 一對多異質網路整合之控制系統及方法
CN110365551B (zh) * 2019-07-04 2021-05-07 杭州吉讯汇通科技有限公司 网络信息采集方法、装置、设备及介质
US11570201B2 (en) * 2019-09-26 2023-01-31 Securing Sam Ltd. System and method for detecting and blocking malicious attacks on a network
EP4120647A4 (en) * 2020-04-14 2023-05-03 Huawei Cloud Computing Technologies Co., Ltd. PACKET TRANSMISSION METHOD, DEVICE AND SYSTEM
CN113676402B (zh) * 2020-05-13 2022-12-27 华为技术有限公司 一种协议报文的处理方法、网络设备及计算机存储介质
US11949570B2 (en) 2021-07-30 2024-04-02 Keysight Technologies, Inc. Methods, systems, and computer readable media for utilizing machine learning to automatically configure filters at a network packet broker
CN114024887A (zh) * 2021-11-10 2022-02-08 北京天融信网络安全技术有限公司 转发表项的处理方法、装置、设备及存储介质
US20230300045A1 (en) * 2022-03-15 2023-09-21 Keysight Technologies, Inc. Methods, systems, and computer readable media for selectively processing a packet flow using a flow inspection engine

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005229573A (ja) * 2004-02-13 2005-08-25 Lg N-Sys Inc ネットワーク保安システム及びその動作方法
JP2006506853A (ja) * 2002-11-07 2006-02-23 ティッピングポイント テクノロジーズ インコーポレイテッド 能動的ネットワーク防衛システム及び方法
WO2007088424A2 (en) * 2006-01-03 2007-08-09 Alcatel Lucent Method and apparatus for monitoring malicious traffic in communication networks
WO2011068091A1 (ja) * 2009-12-04 2011-06-09 日本電気株式会社 サーバ及びフロー制御プログラム
JP2011160301A (ja) * 2010-02-02 2011-08-18 Nec Corp パケット転送システム、パケット転送システム内におけるパケット集中回避方法
JP2015528263A (ja) * 2012-07-31 2015-09-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ネットワークトラフィック処理システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157644A (en) * 1997-10-07 2000-12-05 Northern Telecom Limited Method and apparatus for accelerating OSI layer 3 routers
US20060191008A1 (en) * 2004-11-30 2006-08-24 Sensory Networks Inc. Apparatus and method for accelerating intrusion detection and prevention systems using pre-filtering
US7719966B2 (en) 2005-04-13 2010-05-18 Zeugma Systems Inc. Network element architecture for deep packet inspection
US8028160B1 (en) * 2005-05-27 2011-09-27 Marvell International Ltd. Data link layer switch with protection against internet protocol spoofing attacks
US7782793B2 (en) 2005-09-15 2010-08-24 Alcatel Lucent Statistical trace-based methods for real-time traffic classification
US7832009B2 (en) * 2005-12-28 2010-11-09 Foundry Networks, Llc Techniques for preventing attacks on computer systems and networks
US8397284B2 (en) * 2006-01-17 2013-03-12 University Of Maryland Detection of distributed denial of service attacks in autonomous system domains
US8448234B2 (en) 2007-02-15 2013-05-21 Marvell Israel (M.I.S.L) Ltd. Method and apparatus for deep packet inspection for network intrusion detection
US8059532B2 (en) * 2007-06-21 2011-11-15 Packeteer, Inc. Data and control plane architecture including server-side triggered flow policy mechanism
US7706291B2 (en) 2007-08-01 2010-04-27 Zeugma Systems Inc. Monitoring quality of experience on a per subscriber, per session basis
EP2086186A1 (en) 2008-02-01 2009-08-05 Alcatel Lucent Traffic control device, packet-based network and method for controlling traffic in a packet-based network
US20110138463A1 (en) * 2009-12-07 2011-06-09 Electronics And Telecommunications Research Institute Method and system for ddos traffic detection and traffic mitigation using flow statistics
CN101841440B (zh) * 2010-04-30 2012-01-04 南京邮电大学 基于支持向量机与深层包检测的对等网络流量识别方法
CN101984598B (zh) * 2010-11-04 2012-11-07 成都市华为赛门铁克科技有限公司 一种报文转向的方法和深度包检测设备
US8984627B2 (en) * 2010-12-30 2015-03-17 Verizon Patent And Licensing Inc. Network security management
KR101747079B1 (ko) * 2011-02-17 2017-06-14 세이블 네트웍스 인코포레이티드 하이 레이트 분산 서비스 거부(DDoS) 공격을 검출하고 완화하는 방법 및 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506853A (ja) * 2002-11-07 2006-02-23 ティッピングポイント テクノロジーズ インコーポレイテッド 能動的ネットワーク防衛システム及び方法
JP2005229573A (ja) * 2004-02-13 2005-08-25 Lg N-Sys Inc ネットワーク保安システム及びその動作方法
WO2007088424A2 (en) * 2006-01-03 2007-08-09 Alcatel Lucent Method and apparatus for monitoring malicious traffic in communication networks
WO2011068091A1 (ja) * 2009-12-04 2011-06-09 日本電気株式会社 サーバ及びフロー制御プログラム
JP2011160301A (ja) * 2010-02-02 2011-08-18 Nec Corp パケット転送システム、パケット転送システム内におけるパケット集中回避方法
JP2015528263A (ja) * 2012-07-31 2015-09-24 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. ネットワークトラフィック処理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7016000194; 'Shunting:A Hardware/Software Architecture for Flexible, High-Performance Network Intrusion Preventio' ACM Conferecnce on Computer and Communications Securitey - CCS'07 , 20071102 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019029980A (ja) * 2017-08-04 2019-02-21 富士通株式会社 トラフィック分析装置、トラフィック分析方法、トラフィック分析プログラム、及び通信システム

Also Published As

Publication number Publication date
JP5963966B2 (ja) 2016-08-03
EP2896169B1 (en) 2018-05-02
US8943587B2 (en) 2015-01-27
WO2014042914A1 (en) 2014-03-20
CN104704782A (zh) 2015-06-10
EP2896169A4 (en) 2016-05-11
US20140075554A1 (en) 2014-03-13
EP2896169A1 (en) 2015-07-22

Similar Documents

Publication Publication Date Title
JP5963966B2 (ja) 選択的ディープパケットインスペクションを実行するためのシステム及び方法
US9356943B1 (en) Systems and methods for performing security analyses on network traffic in cloud-based environments
US9300693B1 (en) Systems and methods for preventing data loss over virtualized networks
US20190372937A1 (en) Systems and methods for split network tunneling based on traffic inspection
US9619649B1 (en) Systems and methods for detecting potentially malicious applications
US10067741B1 (en) Systems and methods for I/O device logging
US10079740B2 (en) Packet capture engine for commodity network interface cards in high-speed networks
US8321560B1 (en) Systems and methods for preventing data loss from files sent from endpoints
US10367744B1 (en) Systems and methods for network traffic routing to reduce service congestion at a server
JP5985071B2 (ja) ネットワークデータパケットに対する冗長セキュリティ分析を排除するためのシステム及び方法
EP3427460B1 (en) Systems and methods for automated classification of application network activity
US11233823B1 (en) Efficient implementation of honeypot devices to detect wide-scale network attacks
US9886405B1 (en) Low latency write requests over a network using a pipelined I/O adapter device
US11449637B1 (en) Systems and methods for providing web tracking transparency to protect user data privacy
US9122869B1 (en) Systems and methods for detecting client types
EP4196950A1 (en) Systems and methods for protecting against misleading clicks on websites
WO2022047253A1 (en) Systems and methods for enhancing user privacy
US9146950B1 (en) Systems and methods for determining file identities
US9154520B1 (en) Systems and methods for notifying users of endpoint devices about blocked downloads
US11461462B1 (en) Systems and methods for producing adjustments to malware-detecting services
US8887291B1 (en) Systems and methods for data loss prevention for text fields
US10432720B1 (en) Systems and methods for strong information about transmission control protocol connections
US11641373B1 (en) Systems and methods for protecting user data privacy against web tracking during browsing sessions
US10277624B1 (en) Systems and methods for reducing infection risk of computing systems

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160628

R150 Certificate of patent or registration of utility model

Ref document number: 5963966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250