JP5661764B2 - ネットワークトラフィックの転送、分類および監視を向上させる装置および方法 - Google Patents

ネットワークトラフィックの転送、分類および監視を向上させる装置および方法 Download PDF

Info

Publication number
JP5661764B2
JP5661764B2 JP2012519784A JP2012519784A JP5661764B2 JP 5661764 B2 JP5661764 B2 JP 5661764B2 JP 2012519784 A JP2012519784 A JP 2012519784A JP 2012519784 A JP2012519784 A JP 2012519784A JP 5661764 B2 JP5661764 B2 JP 5661764B2
Authority
JP
Japan
Prior art keywords
category
matching
index
priority
rule
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.)
Expired - Fee Related
Application number
JP2012519784A
Other languages
English (en)
Other versions
JP2012533231A (ja
Inventor
ローニー ケイ,
ローニー ケイ,
Original Assignee
シーパケット ネットワークス, インコーポレイテッド
シーパケット ネットワークス, インコーポレイテッド
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 US12/500,519 external-priority patent/US8296846B2/en
Priority claimed from US12/500,527 external-priority patent/US8346918B2/en
Priority claimed from US12/500,493 external-priority patent/US8665868B2/en
Application filed by シーパケット ネットワークス, インコーポレイテッド, シーパケット ネットワークス, インコーポレイテッド filed Critical シーパケット ネットワークス, インコーポレイテッド
Publication of JP2012533231A publication Critical patent/JP2012533231A/ja
Application granted granted Critical
Publication of JP5661764B2 publication Critical patent/JP5661764B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • 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
    • 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
    • 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/1425Traffic logging, e.g. anomaly detection
    • 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/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

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

Description

関連出願への参照
本願は、2009年7月9日に出願した米国特許出願第12/500,493号(名称「Apparatus and Method for Enhancing Forwarding and Classification of Network Traffic with Prioritized Matching and Categorization」)、および、2009年7月9日に出願した米国特許出願第 12/500,519号(名称「Apparatus and Method for CATEGORIZING Associating Categorization Information with Network Traffic to Facilitate Application Level Processing」)、および、2009年7月9日に出願した米国特許出願第12/500,527号(名称「Apparatus and Method for Biased and Weighted Sampling of Network Traffic to Facilitate Network Monitoring」)の利益を主張し、これらの出願の各々は、2006年7月7日出願の米国特許出願第11/483,196号の一部継続出願であり、米国特許出願第11/483,196号は、2005年8月19日出願の米国特許出願第11/208,022号の一部継続出願である。上記の米国出願の内容は、本明細書において参照により援用される。
本発明は、概して、ネットワークセキュリティおよびネットワーク監視アプリケーションを促進する、コンピュータネットワークトラフィックの処理に関する。より具体的には、本発明は、最適化された、費用効率が高く、かつ柔軟なネットワークセキュリティおよびネットワークトラフィック監視機能の促進に関する。
生産性を向上するため、および通信を促進するためのコンピュータネットワークの広範囲な使用では、ネットワークセキュリティおよびネットワークトラフィック監視が決定的に重要な懸念となる。個別のホストまたはローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)インフラストラクチャの両方を標的とした攻撃は、次第に高度化し、頻繁になってきている。顧客LANからの無許可のトラフィックを除外するために、典型的に、境界ファイアウォールが使用される。LANに進入し、個別のホストに感染している場合があるウイルスを排除するために、ウイルス対策(AV)ソフトウェアが使用される。これらの既存の予防策は、簡単かつ有用ではあるが、大手の組織に対する攻撃から数十億ドルの継続的損失を防止していない。
ファイアウォールおよびAVソフトウェアの両方は、ネットワークセキュリティを促進するための、限られた監視、検出、および対処能力を有する。ファイアウォールは、パケットヘッダに基づいて、既知の無許可のソースからのトラフィックを除去する。ファイアウォールは典型的に、ネットワーク挙動もしくは性能の変化に基づいて、またはパケットコンテンツ内の深くに隠されたシグネチャに基づいて、潜在的攻撃を診断するように、あるいはそれに対処するように設計されていない。また、ファイアウォールは典型的に、ソースならびに宛先アドレスおよびポート等の特定のヘッダフィールドを伴う全てのトラフィックのフィルタリングを超えてどのように対処するかにおける柔軟性を提供しない。ファイアウォールは通常、LAN境界にのみ配置され、したがって、LAN内部での攻撃の伝播を防止しない。
AVソフトウェアは、主にホスト上で実行される。そのようなソフトウェアは、既知のウイルスのデジタルシグネチャを認識するが、典型的に、新しいウイルスを検出することができず、また、高速ネットワークトラフィックの監視にも適していない。本質的に、AVソフトウェアは、AVソフトウェアが特定のホスト上にあるため、ネットワークトラフィックの限られた認知性を有する。
新しい種類の攻撃の検出を可能にするのに十分な監視能力を伴い、攻撃によってもたらされる脅威に相応する対処オプションを伴う、装置を提供することは、非常に望ましいであろう。
この高度な機能セットを伴う装置のアーキテクチャは、望ましくは、種々の障害を克服するべきである。侵入検出システム(IDS)等の現在の高度なセキュリティシステムは典型的に、中央計算処理装置(CPU)、メモリ、オペレーティングシステム、および周辺機器を含む、既製のコンピュータシステムコンポーネントに依存する。ネットワークプロセッサ(NP)および連想メモリ(content addressable memory:CAM)等の追加のコプロセッサは、高速での強化された監視および検出能力を提供するが、但し、相当な追加費用である。この用途向けにカスタマイズされていないハードウェアアーキテクチャは多くの場合、入力トラフィックパターンの動的変動に依存する、非決定性の性能を有し、ハードウェア資源の使用を非効率的にし、有効性確認を困難にする。性能を保証する能力のなさは、多くの場合、トラフィックがリアルタイム特性(例えば、対話型音声およびメディアアプリケーション)を有する、高速ネットワークに配置する際の障壁である。高帯域および/または低遅延ネットワークをサポートするため、およびめったに発生しない厄介な場合のトラフィックシナリオでの許容不可能なネットワーク性能劣化を回避するために、メモリ階層、キャッシュ、または複雑な問い合わせ構造等の追加の複雑性が要求される。柔軟性のなさは、最適化されていない命令セット等の使用されるコンポーネントに固有の制限、または望ましいビルディングブロック機能を利用できないことに起因する場合がある。顧客LAN性能の重要性を考慮すると、ネットワークセキュリティトラフィック監視の促進に必要とされる高度な機能を伴う、低費用、高速、強固、かつ柔軟な装置を提供することが望ましいであろう。そのような装置は、ネットワークセキュリティおよびネットワークトラフィック監視における、初期には防止されていなかったネットワークに対する攻撃に対する、より迅速な対処、およびそのより強化された抑制に向けたパラダイムシフトを可能にし得る。
本発明の一側面は、規定された規則および方針に従うネットワークトラフィックの処理を通して優先的マッチングを実施する、装置に関する。装置の一実施形態は、マイクロコード制御された複数の状態機械と、マイクロコード制御された複数の状態機械が、規則を入力データに適用して、マッチングを決定し、優先順位指標を生成するように、入力データをマイクロコード制御された複数の状態機械に経路指定する分配回路とを含み、各マッチングは、関連優先順位指標を有する。マッチングのうちの少なくとも1つは、優先順位指標に基づいて選択される。
本発明の別の側面は、規定された規則および方針に従うネットワークトラフィックの処理を通してアプリケーションレベル処理を促進するように、カテゴリ化情報をネットワークトラフィックと関連付ける、装置に関する。装置の一実施形態は、ハッシュ識別子を生成するように、ハッシュ関数を使用して、少なくとも1つの入力データフィールドを処理する、第1の回路と、マイクロコード制御された複数の状態機械と、少なくとも1つの個別のマイクロコード制御された状態機械が、規則を入力データに適用して、少なくとも1つの入力データフィールドを生成するように、およびハッシュ識別子に基づいて修正命令を生成するように、入力データをマイクロコード制御された複数の状態機械に経路指定する、分配回路とを含む。本実施形態はさらに、修正命令に基づいて修正された入力データを生成するように、ハッシュ識別子を入力データに付加し、出力経路指定法に従って、修正された入力データを経路指定する、第2の回路を含む。
本発明のさらなる側面は、ネットワーク監視を促進するために、ネットワークトラフィックのバイアスサンプリングおよび重み付けサンプリングを実施する、装置に関する。装置の一実施形態は、マイクロコード制御された複数の状態機械と、入力データをマイクロコード制御された複数の状態機械に経路指定する、分配回路とを含む。第1の個別のマイクロコード制御された状態機械は、第1の規則を入力データに適用して、第1の規則と関連付けられる第1のサンプリング情報に基づいて、入力データの第1のサブセットと関連付けられる第1の命令を決定する。第2の個別のマイクロコード制御された状態機械は、第2の規則を入力データに適用して、第2の規則と関連付けられる第2のサンプリング情報に基づいて、入力データの第2のサブセットと関連付けられる第2の命令を決定する。第2のサンプリング情報は、第1のサンプリング情報とは異なる。本実施形態はさらに、第1の命令に基づいて、入力データの第1のサブセットの第1の経路指定命令を生成し、第2の命令に基づいて、入力データの第2のサブセットの第2の経路指定命令を生成する、第1の回路を含む。本実施形態はさらに、第1の経路指定命令および第2の経路指定命令に基づいて、入力データを経路指定する、第2の回路を含む。
本明細書は、例えば、以下の項目も提供する。
(項目1)
優先的マッチングを実施する装置であって、
マイクロコード制御された複数の状態機械と、
入力データを該マイクロコード制御された複数の状態機械に経路指定する分配回路であって、その結果、該マイクロコード制御された複数の状態機械が、規則を入力データに適用して複数のマッチングを決定し、優先順位指標を生成し、各マッチングは、関連優先順位指標を有する、分配回路と
を備え、該マッチングのうちの少なくとも1つは、該優先順位指標に基づいて選択される、装置。
(項目2)
前記優先順位指標に基づいて前記マッチングのうちの少なくとも1つを選択する回路をさらに備え、前記回路は、少なくとも最優先マッチングに基づいて前記入力データの経路指定命令を生成する、項目1に記載の装置。
(項目3)
前記回路は、前記複数のマッチングの前記優先順位指標のうちの少なくとも1つを前記入力データに付加する、項目2に記載の装置。
(項目4)
前記マイクロコード制御された状態機械は、前記優先順位指標に基づいて前記マッチングのうちの少なくとも1つを選択するように、規則を適用し、前記最優先マッチングを含む複数のマッチングに基づいて前記入力データの経路指定命令を生成する回路をさらに備える、項目1に記載の装置。
(項目5)
各優先順位指標は、前記マッチングと関連付けられるブロックインデックスを含み、
前記最優先マッチングの前記優先順位指標は、最下ブロックインデックスを含む、項目1に記載の装置。
(項目6)
各優先順位指標は、少なくとも1つのカテゴリマッチング指標を含み、組み合わせられたカテゴリマッチング情報を生成するように、優先順位指標にわたる各カテゴリマッチング指標を組み合わせる回路をさらに備える、項目1に記載の装置。
(項目7)
各カテゴリマッチング指標は、パケット種類またはパケットフローと関連付けられる、項目6に記載の装置。
(項目8)
ネットワークトラフィックのアプリケーションレベル処理を促進する装置であって、
ハッシュ識別子を生成するために、ハッシュ関数を使用して、少なくとも1つの入力データフィールドを処理する、第1の回路と、
マイクロコード制御された複数の状態機械と、
少なくとも1つの個別のマイクロコード制御された状態機械が、規則を入力データに適用して、該少なくとも1つの入力データフィールドを生成するように、および該ハッシュ識別子に基づいて修正命令を生成するように、該入力データを該マイクロコード制御された複数の状態機械に経路指定する、分配回路と、
該修正命令に基づいて修正された入力データを生成するように、該ハッシュ識別子を該入力データに付加し、出力経路指定法に従って、該修正された入力データを経路指定する、第2の回路と
を備える、装置。
(項目9)
前記第1の回路は、前記マイクロコード制御された複数の状態機械のうちの少なくとも1つに含まれる、項目8に記載の装置。
(項目10)
前記第2の回路は、前記修正された入力データをリダイレクトする、または複製することによって、前記修正された入力データを経路指定する、項目8に記載の装置。
(項目11)
管理ポートをさらに備え、
該管理ポートは、前記第2の回路から前記修正された入力データを受信し、
該第2の回路は、前記修正命令に基づいて修正された入力データを生成するように、前記ハッシュ識別子を前記入力データに付加し、該修正された入力データを該管理ポートに提供する、出力回路を含む、項目8に記載の装置。
(項目12)
前記入力データは、ヘッダと、ペイロードとを備える、パケットを含み、前記少なくとも1つの入力データフィールドは、該ヘッダの少なくとも1つのフィールドを含み、
前記ハッシュ識別子は、該パケットの該ヘッダに付加される、項目8に記載の装置。
(項目13)
前記ハッシュ識別子は、パケット種類またはパケットフローと関連付けられる、項目12に記載の装置。
(項目14)
ネットワーク監視を促進する装置であって、
マイクロコード制御された複数の状態機械と、
分配回路であって、
第1の個別のマイクロコード制御された状態機械が、第1の規則を入力データに適用して、第1の規則と関連付けられる第1のサンプリング情報に基づいて、該入力データの第1のサブセットと関連付けられる第1の命令を決定するように、および
第2の個別のマイクロコード制御された状態機械が、第2の規則を該入力データに適用して、第2の規則と関連付けられる第2のサンプリング情報に基づいて、該入力データの第2のサブセットと関連付けられる第2の命令を決定するように、該入力データを該マイクロコード制御された複数の状態機械に経路指定する、分配回路であって、該第2のサンプリング情報は、該第1のサンプリング情報とは異なる、分配回路と、
該第1の命令に基づいて、該入力データの該第1のサブセットの第1の経路指定命令を生成し、該第2の命令に基づいて、該入力データの該第2のサブセットの第2の経路指定命令を生成する、第1の回路と、
該第1の経路指定命令および該第2の経路指定命令に基づいて、該入力データを経路指定する、第2の回路と
を備える、装置。
(項目15)
前記第1のサンプリング情報は、第1のサンプリング頻度を含み、
前記第2のサンプリング情報は、第2のサンプリング頻度を含む、項目14に記載の装置。
(項目16)
前記第1のサンプリング頻度および前記第2のサンプリング頻度はそれぞれ、パケット種類またはパケットフローと関連付けられる、項目15に記載の装置。
(項目17)
前記第1のサンプリング頻度および前記第2のサンプリング頻度は、前記管理ポートを介して設定可能である、項目15に記載の装置。
(項目18)
前記第1の経路指定命令および前記第2の経路指定命令は、前記入力データをリダイレクトする、または複製する命令を含む、項目15に記載の装置。
(項目19)
前記第2の回路は、前記入力データを前記管理ポートに提供する、項目18に記載の装置。
(項目20)
前記第1の回路は、集約回路であり、前記第2の回路は、出力回路である、項目19に記載の装置。
本発明の実施形態は、柔軟かつ高度なネットワークセキュリティおよび監視機能ならびにネットワークトラフィック分析の低費用、高速、かつ強固な実装によく適したアーキテクチャフレームワークを提供する。本発明の他の側面および実施形態もまた熟考される。前述の概要および以下の詳細な説明は、本発明をいずれかの特定の実施形態に制限することを意図されず、単に、本発明のいくつかの実施形態を説明することを意図される。
本発明の本質および目的のより良い理解のために、添付の図面と併せて、以下の詳細な説明が参照され、図面は、以下の通りである。
図1は、本発明の実施形態を配備することができる、それぞれの位置を伴う、ネットワークを図示する。 図2は、本発明の実施形態のアーキテクチャの論理ブロック図を図示する。 図3は、図2のアーキテクチャの双方向アプリケーションへの使用を図示する。 図4は、図2に示される分配回路の内部アーキテクチャを図示する。 図5は、マイクロコード制御された状態機械に基づく、図2に示される規則エンジンの内部アーキテクチャを図示する。 図6は、比較規則を実装するためのマイクロコード命令の実行順序の実施例を図示する。 図7は、図5に示される条件論理の内部アーキテクチャの実施例を図示する。 図8は、粒度の細かいトラフィック修正およびミラーリングをサポートする、本発明の実施形態のアーキテクチャの論理ブロック図を図示する。 図9は、上位層情報が条件とされる規則に基づいて処理を実施する、物理層インターフェースの機能図を図示する。 図10は、アプリケーションレベル処理を促進するように、優先的マッチング、ネットワークトラフィックのバイアスサンプリング、およびネットワークトラフィックのカテゴリ化をサポートする、本発明の実施形態のアーキテクチャの論理ブロック図を図示する。 図11は、本発明の一実施形態に係る、4つの入力優先順位指標の中から最優先マッチングの優先順位指標を選択するための四重論理の論理ブロック図を図示する。 図12は、本発明の一実施形態に係る、各段階が図11の四重論理を含む、多段論理の論理ブロック図を図示する。 図13は、カテゴリマッチング指標ベクトルから取得される、組み合わせられたカテゴリマッチング情報の例を図示する。 図14は、本発明の一実施形態に係る、規則エンジンとそれらの関連ハッシュモジュールとの間のインターフェースの論理ブロック図を図示する。
図1は、本発明の実施形態を配備することができる、それぞれの位置を伴う、ネットワークを図示する。主企業ネットワーク110は、ファイアウォール106によって、インターネット111から分離される。遠隔オフィス108は、ファイアウォール104によって、インターネットから分離される。ネットワーク110および遠隔オフィス108は、仮想プライベートネットワーク(VPN)クライアントソフトウェア等、当該技術分野において既知の種々の技術によって接続することができる。ネットワーク110の区分化は、外部ユーザが、ファイアウォール106のトラバーサルを伴わずに、ウェブサーバ112およびメールサーバ116にアクセスすることを可能にし、無許可の外部ユーザがネットワーク110の残りの部分にアクセスするのを防止する。ファイアウォール106によって保護されるネットワーク110の部分は、クライアント機械(ユーザ)120、122、および124、汎用サーバ126、ウェブサーバ114、およびメールサーバ118を含む。
ファイアウォール104および106は、無許可のユーザによる攻撃を阻止することを目的とする。しかしながら、アタッカ100によって表される種々の種類の攻撃は、ファイアウォール106に侵入することができる。いったんファイアウォール106が破られると、感染は、ネットワーク110全体に自由に広がる。加えて、アタッカ102によるネットワーク110へのアクセスは、アタッカ102によって越えられる、モデム130を介して等、ファイアウォール106を越えない、ネットワーク110への任意の保護されていない経路によって、さらに促進される。
ネットワーク110の一部分の感染がネットワーク110の他の部分に広がるのを防止するために、ネットワーク110のファイアウォール境界内に配置される装置が必要とされる。図1は、140A、140B、140C、140D、および140Eにある、装置140のそれぞれの位置を示す。装置140Aは、ウェブサーバ114およびメールサーバ118を、ネットワーク110の残りの部分から分離する。装置140B、140C、および140Dは、ユーザ120、122、および124をそれぞれ、ネットワーク110の残りの部分から分離する。装置140Eは、サーバ126をネットワーク110の残りの部分から分離する。モデム130を介したネットワーク110へのアクセスを可能にする必要がある場合、アタッカ102がユーザ122を越えてネットワーク110の部分にアクセスするのを防止するために、装置140Cが使用される。
攻撃を防止または制限するのを助長するために、本発明の実施形態は、ファイアウォールまたはAVソフトウェアによって認識されない新しい種類の攻撃にさらすのに十分に包括的であり得る、ネットワーク監視を可能にすることが熟考される。効果的な監視には、ネットワーク挙動分析を可能にするために、広範囲に及ぶネットワーク統計データの収集が必要とされる。統計データの収集は、その時の全ての収集された統計データのスナップショットコピー、またはネットワーク状態および挙動の明瞭な表示を提供する、複数の装置からの情報の集約ならびに相関によって、補完され得る。本発明の実施形態は、監視のみを通して、ネットワークセキュリティを促進し得る。
加えて、悪意のあるコードがネットワークの脆弱な部分に到達するのを防止するために、規則によって装置をプロビジョニングすることによって、攻撃を積極的に防止することができる。規則とは、ネットワークセキュリティの潜在的侵害に対処しなければならないか否かを決定するために、装置によって使用される、特定の基準である。規則の1つの種類は、シグネチャに基づくものである。シグネチャとは、ウイルスまたは他の悪意のあるトラフィックの存在を示す、トラフィックのデジタルコンテンツ内のどこかのビットのシーケンスである。ビットのシーケンスは、完全に不変であってもよく、または規則評価に不要のワイルドカードである部分を含んでもよい。シグネチャは、個別のネットワークパケットのヘッダまたはペイロードに現れる、またはパケットのシーケンスにわたって現れる可能性がある。シグネチャは、1つ以上のパケットヘッダおよび対応するペイロードにわたる場合があり、したがって、綿密なパケット検査が要求される。パケットのシーケンスにわたるシグネチャを発見するために、ストリーム検査が要求される。種々の種類のネットワークトラフィックの全体的な可視性のために、両方の種類の検査が要求される。
第2の種類の規則は、挙動である。2つの種類の挙動規則は、ローカルベースおよびネットワークベースの挙動規則である。ローカル挙動規則は、装置140で、ローカルで測定することができる変化を検出するために使用することができることが熟考される。これらの変化には、装置140を通過する、トラフィック量、または要求と応答等のインバウンドトラフィックとアウトバンドトラフィックのバランスの変化が挙げられるが、これらに限定されない。ネットワークベースの挙動規則は、装置140を含むが、これに限定されない、他のネットワークデバイスと連動して測定することができる、ネットワークにおける変化を検出するために使用することができる。そのような規則の例は、最大閾値と比較した、特定の期間中のネットワーク内の複数の点にわたって平均した総トラフィック量である。別の例は、この場合も同様に、最大閾値と比較した、特定の期間中にネットワークにわたって発生した、ネットワークエラー表示等の特定の種類の事象の総数である。規則評価に必要とされる、収集された統計データの監視は、新しい種類の攻撃を、そのシグネチャが未知である時にさえ、ネットワーク性能または挙動に対する、その影響に基づいて検出することができるため、重要である。
第3の種類の規則は、シグネチャベースおよび挙動の両方である。そのような規則の例は、最大および/または最小閾値と比較した、その日の特定の期間中に装置140を通過した、特定のシグネチャを含むパケットの総数である。
攻撃が検出された後、本発明の実施形態は、ファイアウォールによって行われ得るような、既知のシグネチャを伴うパケットを単にフィルタリングする、またはドロップすることを超える、様々な対処を可能にする。例えば、トラフィックの複製またはトラフィックの他のトラフィックとは異なる物理的経路へのリダイレクトは、不審なトラフィックを即座にドロップすることなく、そのようなトラフィックの綿密な調査または検疫を可能にする。さらに、単位時間当たりの特定のトラフィック種類または事象の発生率を制限することは、攻撃下のネットワークの部分に到達するパケットまたは要求の数を制限することによって、サービス拒否等の攻撃から保護することができる。マルチレベル方針を用いて、通常の状況下での最良の見込まれるネットワーク性能をサポートすることができる。これらの方針は、規則およびそれらの依存性を組み合わせ、より緩い方針が、攻撃が進行中であり得ることを示す時、より制限的な方針が適用される。方針施行は、双方向性であり、したがって、これは、感染がLANの一部分に進入する、またはそれから脱出するのを防止することができる。
図2は、本発明の実施形態のアーキテクチャの論理ブロック図を図示する。装置は、3つ(またはそれ以上)のインターフェースを伴う「バンプインザワイヤ(bump in the wire)」として配備することができる。一実施形態では、入力ネットワークトラフィック200のための1つのインターフェース、出力ネットワークトラフィック210のための第2のインターフェース、および複製もしくはリダイレクトされた出力ネットワークトラフィックのため、または管理通信のための第3のインターフェース212が存在する。ネットワーク110からの入力パケット200は、最初に、分配回路202に入る。図示される実施形態では、分配回路202は、入力パケット200をトラフィックセグメントに分割する。別の実施形態では、入力パケット200は、分配回路の前に置かれる場合があるプリプロセッサによって、セグメントに分割される。カスタムまたは標準プロトコルコアであってもよい、このプリプロセッサはまた、パケットのフラグメント化/再構築および/またはパケットの並べ替え機能性も提供することができる。トラフィックセグメントは典型的に、単一の入力パケットから得られる、分配回路202に入ったバイトと同一の順序の固定長のバイトのシーケンスである。トラフィックセグメントは、複数のパケットを含むことができる、伝送制御プロトコル(TCP)セグメントと混同されない。パケットが、トラフィックセグメントを満たすのに十分なバイトの残りを有さない場合、トラフィックセグメントの残りのバイトは未使用である。トラフィックセグメントの各バイトは、有効性指標としての役割をする、制御ビットと関連付けられてもよく、未使用のバイトは、無効とマークされる。
図2に図示される実施形態では、各トラフィックセグメントは、以後、204と称される、一連の規則エンジン204A〜204Nの各規則エンジンで処理するために、並列に経路指定される。分配回路202はまた、出力インターフェース208が分配回路202にパケットが転送されるべきであるか、または例えば、スキップすることによって削除されるべきであるかを指示するまで、入力パケット200のそれぞれを保持する。これらのセグメントは、分配回路202と各規則エンジン204との間、および分配回路202と出力インターフェース208との間のセグメントのバス幅と等しいバイト幅である。
各規則エンジン204は、分配回路202からの追加のトラフィックセグメントの準備が整っている時、アドバンス指示を分配回路202にアサートする。全ての規則エンジン204がそれらのアドバンスラインをアサートした時、分配回路202は、次のトラフィックセグメントを全ての規則エンジン204に送信する。個別の規則エンジン204のそれぞれは、設定された規則を実行する。一実施形態では、各規則エンジン204は、真または偽の値を評価し、各パケットの終わりで、完了ラインをアサートする。
規則エンジン204が規則の評価を完了した後、これは、集約回路206に結果を通知する。規則が真と評価される場合、集約回路206に対するマッチングラインがアサートされる。1つ以上の入力パケット200の分割から取得される一連のトラフィックセグメントであってもよいデータ部分についての規則の評価が完了した時、完了ラインがアサートされる。アクションラインは、データセグメントをリダイレクトするべきか、または複製するべきかを集約回路206に指示し、複製またはリダイレクトのための追加のインターフェースに対するさらなるスケーラビリティを可能にする。規則エンジン204Aの出力が、規則エンジン204B〜204Nのサブセットの出力をオーバーライドするものである時、規則エンジン204Aは、規則エンジン204B〜204Nのそのサブセットに対応するオーバーライドラインをアサートしてもよい。別の実施形態では、規則エンジン204Aは、規則エンジン204B〜204Nをオーバーライドする、1つのオーバーライドラインをアサートしてもよい。
集約回路206は、一連の規則である方針を施行する、出力論理と、それらの間の論理関係、因果関係、および/または時間的関係とを含む。集約回路206は、全ての規則エンジン204の出力に基づいて決定を行う前に、全ての規則エンジン204がそれらの対応する完了ビットをアサートするまで待機する。典型的に、パケットをドロップする、転送する、または複製することである、決定は、複製インターフェース識別子と共に、出力インターフェース208に渡される。複製インターフェース識別子は、出力インターフェース208に、パケットが複製されているか否かを指示する。集約回路206は、集約回路206が、分配回路202は、現在のパケットの全ての残りのセグメントをスキップし、次のパケットの処理に直接進むことができると決定する時、分配回路202にリスタートをアサートする。集約回路206はまた、トラフィックの複製または管理インターフェース212へのリダイレクションもサポートすることが望ましい可能性がある。
パケットが転送される時、出力インターフェース208は、次のパケットラインを介して、分配回路202から次のパケットがそれに送信されることを要求する。次のパケットの移送中、出力インターフェース208は、分配回路202からの1つ以上の追加のトラフィックセグメントの準備が整っている時、次のセグメント指示を分配回路202にアサートする。一実施形態では、出力インターフェース208が分配回路202からトラフィックセグメントを受信する時、出力インターフェース208は、必要に応じて、パケットのうちのいくつかまたは全てを、それを出力パケット210として伝送する前に、バッファリングしてもよい。これは、暗号化を含み得るが、これに限定されない、それが実施する必要があり得る後処理機能に依存する。別の実施形態では、パケットのセグメントは、それらが出力インターフェース208によって受信されるのに伴って送り出されてもよい。その動作モードでは、集約回路206の決定がパケットをドロップすることである場合、パケットは切り取られ、パケットを受信する接続機器によって実質的に使用不可能となる。
パケットおよびストリーム処理では、いかなる汎用中央計算処理装置(CPU)の関与も不要である。分配回路202、集約回路206、および集約回路206の制御を介して全ての規則エンジン204を制御する、典型的にCPUを含む外部機器が利用可能な、全般管理/コマンド/制御インターフェースが存在する。
規則エンジン204の実施形態は、設定された挙動またはシグネチャベースの規則を実行する、マイクロコード制御された状態機械である。規則は、マイクロコード制御された状態機械および関連設定レジスタをプログラムするために使用される、一連のビットまたはマイクロコードにコンパイルされる。各マイクロコード制御された状態機械は、関連制御記憶に記憶されるマイクロコードに従って動作する、計算カーネルを含む。マイクロコード制御された状態機械は、各トラフィックセグメントについて、同等性、マスクされた同等性、および範囲包含/除外演算等の演算を実施するのに最適なデータ経路を設定する。データ経路は、実装するのに数論理レベルしか必要としない、浅い段階を備え、したがって、非常に高周波数の設計を可能にする。
一連の規則エンジン204は、各トラフィックセグメントについて、同時に、かつ協働して動作する、マイクロコード制御された状態機械のパイプライン構造として実装することができる。この正規構造は、少数の基本的なビルディングブロックの複製を通した、高容量、並列設計の作成に適している。これはまた、関連するマイクロコード制御された状態機械のローカルに、その状態の一部として、TCP接続情報等の状態情報を保存する能力も提供する。共有メモリに全ての接続の状態情報を保存する、ファイアウォールにおける典型的な手法とは対照的に、この構造はまた、状態情報を、単一のマイクロコード制御された状態機械のローカル状態として記憶することも可能にする。しかしながら、アーキテクチャはまた、全ての規則エンジン204がグローバルに利用能である、グローバル状態表(接続情報を含んでもよい)もサポートする。グローバル状態表は、CAMまたは外部メモリ内に維持されてもよく、オンチップメモリとして実装されてもよい。CAMまたは外部メモリ内にある場合、グローバル状態表は、状態情報を維持し、現在のパケットに関係する関連状態情報を全ての規則エンジンに提示する、コントローラに関与する、管理インターフェース212を介して、規則エンジン204によってアクセスされてもよい。グローバル状態表内の情報は、各規則エンジン204へのハードウェア信号線を介して等、規則エンジン204によって同時にアクセスされてもよい。本実施形態では、CAMまたは外部メモリの検索要求の待ち行列を管理するクロックサイクルは、無駄にされない。グローバル状態表は、専用ハードウェアによって、パケット毎基準で更新されてもよい。このアーキテクチャもまた、その関連命令セットと共に、カスタマイズし、最適化することができる。これは、パケットペイロードの、効率的、容易に設定可能、かつ統一されたヘッダ処理および綿密な検査を可能にする。
集約回路206は、方針を施行する、出力論理を含む。方針は、ブール論理を使用した、関連する規則の単なる集合であってもよい。一実施形態では、集約回路206は、例えば、いくつかの規則のブールORとして表現される、個別のブロックの出力を集約する。これらの複数の規則のうちのいずれかが真である場合、パケットをドロップする等の設定されたアクションが行われる。集約方針は、木として実装することができ、各木ノードは、論理ORまたはANDとして機能するように設定することができる。方針は、積の和および/または因果関係もしくは時間的関係等、規則間の複雑な複合関係となるように設定することができる。集約論理は、任意の組み合わせまたは順序論理を実装することができる。
一実施形態では、集約回路206は、一連の規則エンジン204のうちの1つ以上のサブセットを有効化/無効化する、制御信号を生成する。集約論理はまた、規則フィードバックを、リセットする、または規則エンジン204のサブセットに提供することもでき、また、分配回路202によって使用されるパラメータを設定することができる。規則エンジン204は、論理を含むことができ、また、1つ以上の他の規則エンジンを直接有効化および無効化する、制御信号を生成することができる。
図2は、アーキテクチャの基本的な構造を変更することなく、トラフィックセグメント幅等の設計パラメータを用いて、スループット等の主要性能評価指数のスケーリングを可能にする、パラメータアーキテクチャの実施例を図示する。ハードウェアクロックサイクル当たりにより多くのビットに装置を通過させることによって、全体的なシステムスループットを増加させるために、より幅が広いデータ経路に対応する、より幅が広いトラフィックセグメントを使用することができる。データ経路幅を調整すること、およびシリコン資源(ゲート)の使用と装置の動作周波数との間でトレードオフを行うことが可能である。トラフィックセグメント幅を、最悪の場合のトラフィックセグメント当たりのクロックサイクルの数で除算した、1秒当たりのクロックサイクルの数で乗算することによって、最悪の場合の装置を通るスループットを正確に計算することができる。典型的なアプリケーションでは、最悪の場合のトラフィックセグメント当たりのクロックサイクルの数は、5未満、好ましくは2である。最悪の場合の待ち時間は、転送方針が蓄積交換であるか、またはカットスルーであるかによって、正確に計算することができる。蓄積交換では、最悪の場合の待ち時間は、2つの最大サイズのパケット内のセグメントの数をクロック周波数で除算した商に直接比例する。処理時間は、パケット内のトラフィックセグメントの数において線形である。
図2に図示されるアーキテクチャは、特に、ネットワークセキュリティおよび監視用途に最適となるように設計される。しかしながら、このアーキテクチャはまた、パケット分類、綿密な検査、およびオンザフライのデータベース用途を含む、汎用パターンマッチングを実装するのにも十分に一般的である。共通点は、1回に1つのセグメントのデータを処理するという概念であり、セグメントのサイズは、パラメータアーキテクチャの設計パラメータである。
規則エンジン204によって使用される規則は、ハードウェアのビット設定、低級アセンブラの使用、共通侵入検出システム(IDS)およびファイアウォールによって使用される既存の言語からの翻訳、または高次言語の使用を含むが、これらに限定されない、いくつかの方法で指定することができる。一実施形態では、ネットワークセキュリティ用途向けに最適化された、基盤となるハードウェアアーキテクチャに対応する、固有かつ独自仕様の命令セットアーキテクチャ(ISA)に基づく、低級アセンブラが使用される。別の実施形態では、ストリームおよびパケット検査フロントエンド(SPIFE)のための独自仕様の高次言語に基づく、高次編成規則定義言語が使用される。高次規則定義言語における規則のいくつかの例には、以下が挙げられる。
___________________________________________________________________________
drop inbound eth:ip:tcp ip.src = 1.2.3.4, tcp.dport = 80;
___________________________________________________________________________
意味:1.2.3.4のIPソースアドレスおよび宛先ポート80(http)を有する、着信インバウンド(外部ネットワークから保護されたセグメントへ向かう)TCPパケットをドロップする。

___________________________________________________________________________
drop inbound eth:ip:udp payload: “malicious”;
___________________________________________________________________________
意味:着信インバウンド(外部ネットワークから保護されたセグメントに向かう)ユーザデータグラムプロトコル(UDP)パケットを、それらのペイロードが「malicious(悪意のある)」というキーワードを含む場合にドロップする。

___________________________________________________________________________
drop inbound eth:ip:udp payload: “malic*ious” [ignorecase];
___________________________________________________________________________
意味:着信インバウンド(外部ネットワークから保護されたセグメントに向かう)ユーザデータグラムプロトコル(UDP)パケットを、それらのペイロードが「malicious(悪意のある)」というキーワードを含み、任意の数の文字が「c」を「i」から隔てている場合にドロップする。ペイロードは、例えば、「Malicious」、「mAliCious」、および「MALICIOUS」がドロップされるように、大文字と小文字を区別しない。

__________________________________________________________________________
count all inbound eth:ip:icmp icmp.type = PING_REPLY;
___________________________________________________________________________
意味:IPおよびイーサネット(登録商標)プロトコル層を介して送信されるインターネットコントロールメッセージプロトコル(ICMP)ピング応答パケットをカウントする。

___________________________________________________________________________
duplicate all inbound eth:ip:icmp icmp.type = PING_REPLY;
___________________________________________________________________________
意味:第1のインターフェースから第2のインターフェースへ、または第2のインターフェースから第1のインターフェースへの通常のパケットフローを妨害することなく、IPおよびイーサネット(登録商標)プロトコル層を介して送信される、インバウンドICMPピング応答パケットを、第3のインターフェースに複製する。

___________________________________________________________________________
redirect all inbound eth:ip:icmp icmp.type = PING_REPLY;
___________________________________________________________________________
意味:IPおよびイーサネット(登録商標)プロトコル層を介して送信される、インバウンドICMPピング応答パケットを、第3のインターフェースにリダイレクトする。
図3は、双方向アプリケーションへの図2のアーキテクチャの使用を図示する。双方向プロトコル挙動または事象トリガリングを監視することが望ましい一例は、クライアント−サーバアプリケーションである。サーバが、装置によって保護されるネットワークの部分の外側にあり、クライアントが、ネットワークのその部分の内側にある場合、サーバからのトラフィックはインバウンドであり、クライアントからの要求および応答はアウトバンドである。インバウンド入力パケット200は、分配回路202、一連の規則エンジン204、および集約回路206によって処理される。出力インターフェース208は、簡素化のため、図3には示されていない。分配回路202、一連の規則エンジン204、および集約回路206は、インバウンドまたは第1の方向の第1の経路を形成し、第1の方向とは逆等、第1の方向とは異なる、アウトバンドまたは第2の方向の第2の経路を形成する、異なる分配回路302、一連の規則エンジン304、および集約回路306と整合させることができる。本文脈における整合は、概念的であり、実装における、これらのブロックの相互に対する物理的位置における、いかなる制限も示唆しない。双方向アプリケーションを取り扱うために、一連の規則エンジン204が一連の規則エンジン304と制御情報を交換することが望ましい可能性がある。別の実施形態では、各規則エンジン204は、第1の経路からのトラフィックの処理と第2の経路からのトラフィックの処理とを動的に交互に行うことができる。この動的変更は、マイクロコードによって制御されてもよく、また、規則エンジン204の設定ビットによって制御されてもよい。規則エンジン204は、第1の経路からのトラフィックの処理と第2の経路からのトラフィックの処理とを、独立して、および/またはグループとして、交互に行ってもよい。
図4は、図2に示される分配回路202の内部アーキテクチャの一実施形態を図示する。入力パケット200は、フレームバッファ320に入る。本実施形態では、バッファ320は、FIFOバッファであり、装置を通るデータ経路の幅と等しいセグメントサイズで論理的に体系化されている。入力パケット200は、プリプロセッサによって、既にトラフィックセグメントに区分化されていてもよく、この場合、フレームバッファ320は必要とされない場合がある。そうでなければ、入力パケット200は、入力パケット200間にセパレータを伴って、フレームバッファ320内に定置される。フレームバッファ320は論理的に、入力パケット用の1つの書き込みポートと、一方が分配論理ブロック324用であり、他方が出力インターフェース208用である、2つの読み出しポートとを有する。そのようなバッファの標準的な実装では、1つは入力インターフェースの近く、1つは出力インターフェースの近くとなるように、2つの別個のメモリブロックが使用される。蓄積交換実装では、パケットは、規則エンジン204による決定が集約回路206によって出力インターフェース208に通信され、出力インターフェース208が次のパケットラインをアサートするまで、フレームバッファ320内に記憶されたままである。カットスルー実装では、パケットの各トラフィックセグメントは、遅延なく出力インターフェース208に転送される。パケットがネットワークの受信側のデバイスによって破棄されるようにするために、出力インターフェース208にパケットの一部分を破損させるために、出力インターフェース208に強制終了信号が送信されてもよい。フレームバッファ320および分配論理324の両方は、管理/コマンド/制御インターフェースを有することができる。
分配論理324は、それらのアドバンス制御ラインの分配論理324へのそれらのディアサートによって示されるように、接続された規則エンジン204の全てがデータの次のセグメントの準備が整っている時、フレームバッファ320からデータセグメントを取り出す。規則エンジン204のうちの1つ以上の準備が整っていない場合、分配論理324は、フレームバッファ320へのアドバンス制御ラインをディアサートし、規則エンジン204の全ての準備が整うまで待機する。分配論理324は、図2に記載される集約回路206から、分配論理324に現在のパケットの全ての残りのセグメントをスキップさせ、次のパケットの処理へ直接進ませる、リスタートを受信する。
図5は、本発明の実施形態に従って設定されたマイクロコード制御された状態機械に基づく、規則エンジン204の内部設計を図示する。設計は、独立ローカルメモリを伴う、カスタムプログラム可能な状態機械に基づく。メモリは典型的に、静的ランダムアクセスメモリ(SRAM)であるが、異なる種類のものであってもよい。状態機械のプログラミングは、制御記憶メモリ406にコンテンツを書き込むことによって行われる。規則エンジン204の機能性は、制御記憶406に新しいマイクロコードを書き込むことによって変更される。分散ローカルメモリからの読み出し、およびそれへの書き込みを可能にするバス実装は、当該技術分野において周知である。また、特定用途向け集積回路(ASIC)またはプログラム可能論理デバイス(PLD)の使用等の種々の方法で、規則エンジン204を実装することができることも熟考される。
各規則エンジン204は、各規則エンジン204が先行セグメントを処理している間、分配回路202から受信されるトラフィックセグメントを保持するために、小さい先入れ先出し(FIFO)ローカルバッファ400を含んでもよい。存在する場合、このバッファは、追加のセグメントを受け取ることができる時、アドバンスラインを介して、分配論理に指示する。
ローカルバッファの目的は、規則エンジン204で処理するためのデータがない期間(ストール)を防止することである。ローカルバッファは、入力データにわたってスライドする、固定長窓と考えることができる。全ての規則エンジン204のローカルバッファがトラフィックセグメントのための空間を有することを示す、全ての規則エンジン204がそれらのアドバンスラインをアサートした時、分配回路202によって、各規則エンジン204にトラフィックセグメントが提供される。既に規則エンジン204のローカルバッファ内にあるトラフィックセグメントは、全ての規則エンジン204による並列処理に利用可能である。結果として、第1のトラフィックセグメントの処理を完了した規則エンジン204は、依然として第1のセグメントの処理が完了していない、別の規則エンジン204によってストールにされることなく、ローカルバッファから次のトラフィックセグメントを即座に引き出すことができる。規則をトラフィックセグメントに適用するために必要とされる、比較、およびしたがって処理サイクルの最大数が存在するため、このローカルバッファのサイズは、制限される可能性がある。典型的に、規則エンジン204によるトラフィックセグメントの処理は、2以下のサイクルしか必要としない。任意のトラフィックセグメントの処理サイクルの数として、2サイクルが設定される場合、2サイクル毎に、次のトラフィックセグメントを含むために必要とされるバイト数だけ窓をスライドすることによって、いずれのローカルバッファもいっぱいにならないことが保証される。
条件論理ブロック402は、入力バッファ400から、または分配回路202から直接、データの次のセグメントを受信する準備が整っている時、アドバンスラインを介して指示する。条件論理402は、現在のセグメントに対して1つ以上の比較を実施するマイクロコードの各ラインによって、および比較に基づいて、セレクタ404を使用して次の状態を選択するように設定される。条件論理402およびセレクタ404は、計算カーネル403内に含まれる。条件論理402は、組み合わせ動作、ならびにその内部状態に依存する順序論理を実装する。本実施形態では、次の状態とは、実行する次のマイクロコード命令のアドレスである。加えて、条件論理402は、集約回路206によって提供される、完了、マッチング、アクション、およびオーバーライド指示を設定する。集約論理は、条件論理402を有効化および無効化する制御信号を生成することができる、または規則フィードバックを条件論理402に提供することができる。
制御記憶406内の各マイクロコードラインは、現在のトラフィックセグメントに対してどのような種類の比較を実施するかを決定する。比較結果に基づいて、マイクロコードラインはまた、実行する次のマイクロコードラインのアドレスも提供する。一実施形態では、制御記憶406内の各ラインは、以下の4つの種類の情報を含む。
1.条件論理402によってどのような種類の比較が実施されるか、およびどのような内部状態が内部状態変数(フロップスおよびレジスタ)に記憶されるべきかを決定する、制御ビット(オペコードまたは設定ビット等)。
2.比較によって使用される値。比較種類には、同等性、セット内の構成員、範囲比較、およびビットシーケンスが前の10セグメント内で4回以上発生しているか否かを示す、カウンタ比較等のより複雑な演算が挙げられる。
3.条件論理402の出力に基づいて実行する後続アドレスのアドレス。条件論理402の結果によって、複数の次のアドレスのうちの1つが選択されてもよい。2つ以上の次のアドレスを可能にすることによって、クロックサイクルを節約する一方で、複雑な条件を実装するためのより優れた柔軟性が可能となる。
4.内部状態および規則エンジン204の一次出力の制御。例えば、これは、完了ラインをアサートするか否か、パケット内の次のセグメントに進むか、もしくは現在のセグメントに関係する別の比較のために留まるか、または現在のパケットの終わりに即座に移動するか否かを含むことができる。
これらの異なる種類の比較は、アーキテクチャと共に、一連の規則エンジン204によって、個別のパケットおよびパケットのストリームの両方を処理することを可能にする。規則エンジン204は、それを実際に完全に再構築することなく、外部システムメモリ内でストリームを処理することができる。マイクロコード命令に基づいて、規則エンジン204は、経時的に起こり、別個のパケットにカプセル化される、事象の順序に基づく決定を行うことができる。
図6は、比較規則を実装する、マイクロコード命令の実行順序の実施例を示す。4バイトシーケンス「abcd」の検索のシーケンスは、2つの連続するセグメント(それぞれは、2バイトであると仮定する)内にあり、「10」〜「14」を包含する値を伴う、2バイトシーケンスが続く。「1234yzwxabcd12345678」で象徴的に表現される、20バイトのパケットでは、パケットの開始から決定までの実際の状態遷移は、0−>1−>1−>1−>1−>1−>2−>3−>4である。規則エンジン204が状態4に至る時、これは、完了およびマッチング出力の両方を図2の集約回路206にアサートする。パケットデータが所望のコンテンツを含まない場合、セグメントが2バイトのパケットセパレータ「−−」と等しくなるとすぐに、状態5への自動的な遷移が起こる。状態5では、規則エンジン204は、完了ラインをアサートし、マッチングラインをディアサートする。
セグメントに対して並列で実行することができる動作の数、およびそれらの種類は、制御記憶メモリライン幅を含む、具体的なハードウェア実装に依存する。この実施例は、セグメントの所与の値との比較、およびセグメントが所与の範囲内であるか否かのチェックを、並列で行うことができると見なす。そうでなければ、動作を、2つの別個の連続するクロックサイクルで行うことができる。例えば、状態3は、2つのチェックを並列で行い、1つの制御記憶メモリライン内で、3つの次のアドレス値を指定することができると見なす。
図7は、図5の条件論理の実装の実施例を図示する。ローカルバッファ400からのセグメント入力、ならびに制御記憶406からのオペコードおよび設定ビットに基づいて、一連の比較を、セグメントと、オペランドと、内部状態変数との間で並列で行うことができる。オペランドは、比較に使用するために設定された値である。内部状態変数は、統計データ等のフロップス、レジスタ、またはカウンタ内に記憶された値を含む。これらの値は、第1のカウンタ内の値が第2のカウンタ内の値を超えた回数等の記憶された値の間での比較の結果を含む。本実施形態では、各条件論理ブロック402は、制御記憶406内のマイクロコードによって処理されたパケットの数およびセグメント(またはバイト)の総数をカウントするため専用の2つのカウンタを有する。また、入力、出力、および管理インターフェースと関連付けられるカウンタならびに状態レジスタも存在する。レジスタとローカルカウンタおよび/またはグローバルカウンタとの間で、比較を行うことができる。
図7内の各サブブロックは、特定の比較を実装する。同等性502および範囲チェック504等のオペランド対データ比較は、シグネチャベースの規則を評価するために使用される、条件チェック回路500によって実装される。フロップス、レジスタ、またはカウンタ510内に記憶される内部状態の修正、および内部状態変数とオペランド512(もしくは別の内部状態変数/レジスタまたはグローバル状態変数/カウンタ)との間での比較は、挙動規則を評価するため、または統計データを収集するために使用することができる、条件分析回路508によって実装される。オペコードおよび設定入力によって指定されるような、現在のパケットのこれまでに処理されたバイト数等の内部状態の自動更新が存在する。並列サブブロック比較の結果は、設定可能出力論理ブロック514内のブロック(ブールもしくは順序または両方)によって複合される。セレクタ404によって使用される次のアドレスの選択および集約回路206が可視のマイクロコード制御された状態機械の出力は、設定可能出力論理514によって設定される。
本発明の実施形態は、ネットワークトラフィック内のどこでも、ビット単位の粒度(ビット単位の細かい粒度)を有し得る、ネットワークトラフィックの修正を可能にする。パケットの形態のネットワークトラフィックは、パケットヘッダまたはペイロード内のどこが修正されてもよい。これらのパケットヘッダまたはペイロードに対する修正には、1つ以上の既存のビットの変更、1つ以上のビットの挿入、1つ以上のビットの除去が含まれ得る。また、本発明の実施形態は、詳細に調べる必要があるトラフィックのみが、CPUまたはスニファ等のより遅いパケット処理速度を有するエンティティに向けられるように、ビット単位の粒度での入力トラフィックの選択的ミラーリングを可能にすることも熟考される。
図8は、粒度の細かいトラフィック修正およびミラーリングをサポートする、本発明の実施形態のアーキテクチャの論理ブロック図を図示する。図2の説明が、図8に適用される。入力パケット200は、一連のポート800A〜800Nを介して、分配回路202に入る。ポート800は、図8に示されるアーキテクチャを含む、デバイスへの異なる物理ポートであってもよく、またはトラフィックの単一のストリーム内の論理ポートであってもよい。入力パケット200が属する論理ポートは、シグネチャベースの規則、挙動規則、またはシグネチャベースの規則および挙動規則の組み合わせ等の規則を入力パケット200に適用することによって決定されてもよい。
1つ以上の入力パケット200に対応するデータセグメントについての規則の評価の完了の後、各規則エンジン204は、データセグメント内の各パケットに対して行われる修正の修正命令ラインを介して、集約回路20に通知する。規則エンジン204Aによって指示される修正命令は、他の規則エンジン204B〜204Nのうちの1つ以上によって指示される修正命令と同一であってもよく、または重複してもよい。順序論理および組み合わせ論理の両方を含んでもよい、集約回路206内の論理は、規則エンジン204によって指示される修正命令を、データセグメント内の各パケットに対して行われる全ての修正の指示を含む、修正コマンドに組み合わせる。規則エンジン204によって指示される修正命令を修正コマンドに組み合わせる時、集約回路206は、冗長を排除するように、修正命令を除去または修正してもよい。
データセグメント内の各パケットについて、出力インターフェース208が、パケットが転送がされる、リダイレクトされる、または複製される決定ライン上で、集約回路206による指示を受信した場合、出力インターフェース208は典型的に、集約回路206からの修正コマンドに応答する。出力回路208が、次のパケットおよび次のセグメント指示に応えて、分配回路202からトラフィックセグメントを受信する際、出力回路208は、出力回路208によるパケットの修正を促進するために、パケットのうちのいくつかまたは全てをバッファしてもよい。出力回路208は、修正コマンドまたは修正コマンドの処理済版を記憶するメモリを含んでもよい。パケット修正の一環として、出力回路208は、ヘッダ、ペイロード、もしくはパケット全体のフレームチェックシーケンス(FCS)または巡回冗長検査(CRC)フィールド等のエラー検出あるいはエラー訂正に使用されるパケット内のフィールドを修正してもよい。出力回路208がパケットにフィールドを挿入している場合、または新しいヘッダを用いてパケットをカプセル化している場合、エラー検出またはエラー訂正のための1つ以上の新しいフィールドがパケットに追加されてもよい。
規則エンジン204の出力に基づいて、集約回路206は、パケットがリダイレクトされている、または複製されている出力インターフェース208、およびパケットが送信されているインターフェース(単数または複数)に指示するために、複製インターフェース識別子ラインを使用する。リダイレクトされた、または複製されたパケットは、出力インターフェース208によって修正されてもよい。ミラーリングされたデータは、物理ポートおよび論理ポートの任意の組み合わせであってもよい、1つ以上のポート800に対応し得る。ミラーリングされたデータは、出力インターフェース208から管理インターフェース212にリダイレクトされたデータであってもよく、または管理インターフェース212に向けられた、複製されたデータであってもよく、また、出力インターフェース208から転送されてもよい。出力インターフェース208および管理インターフェース212のいくつかの組み合わせは、分配回路202から出力インターフェース208に入るトラフィックセグメントを管理インターフェース212の出力に対して速度をマッチングさせるように、限られた量のメモリを有する場合がある。また、管理インターフェース212に接続された外部デバイスによって、任意の速度マッチングが実施されてもよい。管理インターフェース212の出力は、ミラーリングされたデータおよび管理または制御通信を組み合わせてもよい。
パケット修正は、不審なトラフィックの選択的監視を可能にすること、攻撃を防止すること、または進行中の攻撃を軽減すること等によって、ネットワークセキュリティおよび監視を促進し得る。例えば、非標準の、または割り当てられていないTCPポート番号を伴う図8の入力パケット200は、監視のために、図8に示されるアーキテクチャを使用して、下流の安全なアプリケーションにマップされたTCPポート番号を伴う出力パケット210に修正されてもよい。無許可のインターネットプロトコル(IP)オプションを伴う未知のソースからの入力パケット200は、攻撃を防止する、または軽減するために、例えば、動作不能となるように削除される、または修正されるIPオプションを伴う出力パケット210に修正されてもよい。スプーフィングされたIPアドレスを伴う入力パケット200は、下流の監視デバイスのIPアドレスを伴う出力パケット210に修正されてもよい。
この修正はまた、ネットワークセキュリティの促進に加えて、またはそれとは独立して、トラフィック管理も促進し得る。例えば、入力パケット200は、VLANタグの場合には特定のLANセグメントに、MPLSタグの場合には特定のMPLSトンネルに、入力パケット200を送信する顧客に対応し得る、挿入された仮想ローカルエリアネットワーク(VLAN)タグを伴う、またはマルチプロトコルラベルスイッチング(MPLS)タグを伴う、出力パケット210に修正されてもよい。これは、パケットタグ付けの実施例である。入力パケット200は、除去もしくは修正されたVLANタグまたはMPLSタグを伴う、出力パケット210に修正されてもよい。入力パケット200はまた、このパケットが下流のデバイスから受けなければならない処理の種類を示す、サービス品質マーキングを含む、マルチプロトコルラベルスイッチング(MPLS)タグを伴う、出力パケット210に修正されてもよい。この操作は、パケットカラーリングの実施例である。
この修正はまた、デバイスのシステム内への組み込みも容易にし得る。例えば、入力パケット200は、カプセル化されたヘッダを有する出力パケット210に修正されてもよい。このカプセル化されたヘッダは、特定の下流のデバイスにとって有意な制御情報を伝達してもよい。ヘッダのカプセル化の1つの共通目的は、出力パケット210を受信するNP等の下流のデバイスが、同一の処理を繰り返す必要をなくし、演算資源を節約し、ネットワーク性能を改善するように、図8に示されるアーキテクチャを伴うデバイスによる、入力パケット200の前処理の結果を示すことである。
ミラーリングは、詳細なトラフィック監視および分析のために、入力トラフィックをCPUまたはスニファ等のエンティティに向けるために使用される。CPUまたはスニファは一般的に、高速な、1秒当たり数ギガビットのデータ速度向けに設計される、図8のアーキテクチャと同一の速度でパケットを処理することができないため、入力ポート800にわたる選択的ミラーリングが望ましい。したがって、詳細に調べる必要があるトラフィックのみが、CPUまたはスニファ等のエンティティに向けられるべきである。
ビット単位の粒度を伴うミラーリングは、選択的、正確、かつ精密なミラーリングを可能にする。高速トラフィックを柔軟にフィルタリングするために、図8に示されるアーキテクチャを使用することによって、CPUまたはスニファを、管理インターフェース212に送信される、正確に標的化されたトラフィックに使用することが可能となる。また、管理インターフェース212にミラーリングされ得る、仮想LANによって定義される物理ポートまたは論理ポート等のポート800の種類における制限もない。例えば、株価情報を報告するパケット、または特定のウェブサイトからのパケットのみを検査することが望まれる場合がある。図8のアーキテクチャによってサポートされる綿密なパケット検査は、シグネチャベースの規則を含む規則の適用を可能にし、シグネチャは、個別のパケットのヘッダまたはペイロード内に現れる可能性がある、またはパケットのシーケンスにわたって現れる可能性がある。挙動規則もまた、選択的ミラーリングの基準を定義するために、シグネチャベースの規則と一体化されてもよい。シグネチャベースの規則および挙動規則の組み合わせを使用した、高速トラフィックのフィルタリングは、費用のかかるNPまたはCAMを必要とすることなく、CPUまたはスニファの処理能力を最善に活用する、システムレベルの解決策を生成するように適合されてもよい。例えば、図8のアーキテクチャは、ミラーリングされたトラフィック負荷がスニファの最大処理能力より大幅に小さい場合に、ミラーリングされたトラフィックに、包括的なシグネチャベースの規則を適用してもよく、また、ミラーリングされたトラフィック負荷がスニファの最大処理能力に近づくにつれて、徐々により厳密なシグネチャベースの規則を適用してもよい。
図8のアーキテクチャは、ハードウェアベースであり、ヘッダ分析、綿密なパケット検査、およびパケット修正用途に最適化される。特に、アーキテクチャは、CPU等の汎用コンポーネントの設計を組み込まない。ハードウェア、レジスタ、およびNPおよびスイッチの低級ソフトウェアの侵害的再設計を回避するために、このアーキテクチャを既存の既製のコンポーネントに組み込む簡単な方法は、ネットワーキングプロトコル層の7層オープンシステムインターコネクション(OSI)参照モデルの物理層(PHY)で、またはPHYおよび媒体アクセス制御副層(MAC)の組み合わせで、アーキテクチャをコンポーネントに組み込むことである。エンドユーザによって一般的に使用される、通信チャネル上の生ビットからアプリケーションプロトコルに上方に移動するこれらの層は、物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、およびアプリケーション層を含む。OSI参照モデルの層の区分化は、各層によって実施される機能の明確な定義、層間依存性を最小化する層の抽象化、および標準の定義の促進を含む、原理に基づく。
図9は、上位層の情報が条件とされる規則に基づいて処理を実施する、物理層インターフェースの機能図を図示する。物理層900は、物理層受信器910と、復号器920とを含んでもよい。物理層受信器910は、信号を受信するため、およびこれらの信号からデジタルまたはアナログ情報を検出するために、信号検出機能916およびクロック修復機能914を含む機能を実施する。物理層受信器910はまた、プロビジョニングおよび設定等の受信器制御入力950を受け取り、受信器制御機能912を使用して、信号検出機能916およびクロック修復機能914を含む制御機能に入力を適用する。受信器制御入力950は、物理層デバイスを設定するために一般的に使用される、I2C等の周知のバス通信プロトコルを使用して、物理層受信器910に通信されてもよい。信号検出機能916、クロック修復機能914、受信器制御機能912は、減衰および分散等の各個別の物理媒体の特性、ならびにビットレートおよび信号周波数等のサポートされる通信の特性を含む因子に依存する、物理層機能である。
復号器920は、データ復号化928、フレーミング検出927、および規則に基づく処理926を含む機能を実施する。データ復号化928は、データリンク層902にとって有意なデータを抽出するように、物理層受信器910によって検出されるデータを処理することを含む。データ復号化928は、エラー検出コーディング、エラー訂正コーディング、および物理媒体の特性を補正することによって通信品質を改善する、直流(DC)平衡化コーディングを含む方法を使用して、符号化されたデータを処理することを必要とされる場合がある。フレーミング検出927は、データリンク層902に渡され得るフレームの開始の指示を検出することを必要とされる場合がある。復号器920はまた、プロビジョニングおよび設定等の復号器制御入力952を受け取り、復号器制御機能924を使用して、データ復号化928およびフレーミング検出927を含む制御機能に入力を適用する。復号器制御入力952は、I2Cを使用して復号器920に通信されてもよい。
データ復号化928およびフレーミング検出927は、物理層900の機能であってもよく、またはデータリンク層902の機能であってもよい。ギガビットイーサネット(登録商標)(IEEE 802.3z−1998)および10Gb/秒イーサネット(登録商標)(IEEE 802.3ae−2002)等の周知の電気電子技術者協会(IEEE)標準プロトコルでは、データ復号化928およびフレーミング検出927は、データリンク層902(この場合、イーサネット(登録商標))が、異なる物理層に使用される異なるデータ符号化方法から抽象化され得るように、物理層内の物理コーディング副層の変形内に含まれる。様々な物理層上で使用されないデータリンク層プロトコルについて、物理層900における変化によるデータリンク層902の混乱に関する懸念がそれ程ないため、データ復号化928およびフレーミング検出927は、データリンク層902の一部であると見なされてもよい。
規則に基づく処理926は、図2および図8に示されるアーキテクチャを使用した、シグネチャベースの規則および挙動規則を含む、規定された規則の入力パケット200への適用を指す。これらの規則は、入力パケット200のヘッダおよびペイロード内のどこかのビットに依存してもよい。これらの規則はまた、パケットの部分の修正をもたらす場合もある。物理層900が、パケットまたはフレームの内部構造をほとんど認識していないため、規則に基づく処理926は、物理層900の上のネットワーキングプロトコル層からの情報に依存する。IPヘッダ、TCPヘッダ、またはペイロード情報に依存する、規則に基づく処理等の大部分の規則に基づく処理926はまた、データリンク層902の上のネットワーキングプロトコル層からの情報にも依存する。復号器920は、プロビジョニングおよび設定等の規則に基づく処理制御入力954を受け取り、規則に基づく処理制御機能922を使用して、規則に基づく処理926を含む制御機能に入力を適用する。規則に基づく処理制御入力954は、I2Cを使用して、復号器920に通信されてもよい。
規則に基づく処理926の物理層900またはデータリンク層902での適用は、規則に基づく処理926に、各入力パケット200(図2および図8に示される)が開始していることを示す、フレーミング検出927によって容易にされる。このフレーミング指示は、各入力パケット200をトラフィックセグメントに分割する時に、どこで開始するべきかを分配回路202または分配回路に先立つプリプロセッサに示す。ギガビットイーサネット(登録商標)および10Gb/秒イーサネット(登録商標)等の周知のプロトコルでは、物理層は、フレーミング検出927を実施し、したがって、物理層で、上位層の情報が条件とされる規則に基づく、規則に基づく処理926を組み込むことは容易である。
フレーミング検出927は、物理層900で実施されない場合、データリンク層902で実施されるため、上位層の情報が条件とされる規則に基づく、規則に基づく処理926はまた、データリンク層902で組み込まれてもよい。一手法は、規則に基づく処理926を媒体アクセス制御副層930内に組み込むことである。媒体アクセス制御副層930は、特定の種類のLANに固有の機能を取り扱う。論理リンク制御副層940は、所与の媒体アクセス制御副層930を使用するために、複数の上位層のプロトコルを可能にする。NPは典型的に、複数の種類のLANにわたって動作可能であるように設計され、したがって、多くの場合、媒体アクセス制御副層930と論理リンク制御副層940との間のインターフェースで、下位層デバイスとインターフェースを取る。
図10は、アプリケーションレベル処理を促進するために、ネットワークトラフィックの優先的マッチングおよびカテゴリ化、ネットワークトラフィックのバイアスサンプリングおよび重み付けサンプリング、ならびにカテゴリ化情報のネットワークトラフィックとの関連付けをサポートする、本発明の実施形態のアーキテクチャの論理ブロック図を図示する。図2および図8の説明が、図10に適用される。各規則エンジン204は、ネットワーク入力データ200に対応するデータセグメントについて規則を評価する。ネットワーク入力データ200は、ネットワークデータ単位に分割されてもよく、ネットワークデータ単位の例は、パケットである。規則エンジン204によって処理される規則が真と評価される場合、規則エンジン204から集約回路206へのマッチングラインがアサートされる。加えて、規則エンジン204は、優先順位指標ラインを介して、マッチングの優先順位に関する情報を集約回路206に通知する。優先順位指標は、マッチングと関連付けられるブロックインデックスを含んでもよく、ブロックインデックスは、メモリ内の位置を参照してもよい。ブロックインデックスは、マッチングの優先順位および/またはマッチングが対応するカテゴリを報告する出力等のマッチングに関する情報を直接検索するために使用されてもよい。ブロックインデックス自体がまた、マッチングの優先順位を示してもよい。例えば、最下ブロックインデックスを、最優先マッチングと関連付けることができ、ブロックインデックス値の増加は、優先順位の減少に対応することができ、またはその逆も可である。
一実施形態では、集約回路206は、複数の規則エンジン204から、完了、マッチング、および対応する優先順位指標を並列に受信する。完了、マッチング、および対応する優先順位指標を集約回路206に提供した後、各規則エンジン204は、アドバンス指示を分配回路202にアサートする。規則エンジン204がそれらのアドバンスラインをアサートした時、分配回路202は、次のトラフィックセグメントを規則エンジン204に送信する。これは、規則エンジン204および集約回路206の実行のパイプライン化を可能にする。
一実施形態では、集約回路206は、対応する優先順位指標に基づいて、マッチングのうちの1つ以上を選択するための論理を含む。2つ以上のマッチングが選択される場合、マッチングは、優先順位を付けられてもよい。例えば、2つのマッチングが選択される場合、最優先マッチングおよび第2の最優先マッチングが存在してもよい。集約回路206は、マッチングの相対優先順位を決定するために、優先順位指標を比較してもよい。図11および図12は、この論理の論理ブロック図の例を図示する。マッチングのうちの1つ以上を選択した後、集約回路206は、対応するネットワークデータ単位を転送する、ミラーリングする、リダイレクトする、および/または複製することに決定してもよく、または対応するネットワークデータ単位をドロップすることに決定してもよい。集約回路206はまた、対応するネットワークデータ単位を修正することに決定してもよい。集約回路206は、選択されたマッチングに対応するアクション指標を論理的に組み合わせることによって等、優先順位が付けられたマッチングのうちの1つ以上に基づいて、これらの決定を行ってもよい。集約回路206は、選択されたマッチングの優先順位指標等の選択されたマッチングに対応する情報を、外部インターフェースに提供してもよい。例えば、集約回路206は、対応するネットワークデータ単位がミラーリングされている、リダイレクトされている、および/または複製されている時、選択されたマッチングの優先順位指標を管理インターフェース212に提供してもよい。
図11は、本発明の一実施形態に係る、4つの入力優先順位指標1102A〜1102Dの中から最優先マッチングの優先順位指標1116を選択するための四重論理1100の論理ブロック図を図示する。当業者は、最優先マッチングの優先順位指標を選択するための論理が、4つより多い、または少ない入力を有することができることを理解するであろう。規則エンジン204A〜204Dは、マッチング指標1101A〜1101D(b〜b)および対応する優先順位指標1102A〜1102D(T〜T)を、入力として四重論理1100に提供する。出力マッチング指標1114は、論理表現1104に基づいて評価することができ、その結果は、入力マッチング指標1101のうちのいずれかが真である場合、出力マッチング指標1114は真と評価されるものである。最優先マッチングの優先順位指標1116は、論理表現1106、1108、1110、および1112に基づいて評価することができ、その結果は、図11に示されるように、マッチング指標1101Aが真である場合、出力優先順位指標1116は優先順位指標1102Aと評価され、マッチング指標1101Bが真であり、かつマッチング指標1101Aが偽である場合、優先順位指標1102Bと評価される等というものである。一実施例では、優先順位指標1116を選択するこの手法は、優先順位指標1102A〜1102Dが降順優先順位であると見なしてもよい。優先順位指標1102A〜1102Dがブロックインデックス値であり、昇順ブロックインデックス値が降順優先順位に対応する場合、優先順位指標1102A〜1102Dは、昇順ブロックインデックス値に基づいて順序付けられるべきである。優先順位指標1102A〜1102Dのこの順序付けは、例えば、規則エンジン204A〜204Dによって適用される規則が、昇順ブロックインデックス値に対応するように、規則エンジン204A〜204Dを設定することによって確実なものにすることができる。
代替として、最優先マッチングの優先順位指標1116を、例えば、優先順位指標1116が優先順位指標1102A〜1102Dの最下位と評価されるように、優先順位指標1102A〜1102Dのベクトル比較に基づいて評価することができる。本実施形態では、優先順位指標1102A〜1102Dは、いかなる順序であってもよい。ベクトル比較の使用は、優先順位指標1102A〜1102Dの順序に関係なく、優先順位指標1102A〜1102Dから優先順位指標1116を評価することを可能にする。
図12は、本発明の一実施形態に係る、各段階が図11の四重論理1100を含む、多段論理1200の論理ブロック図を図示する。例えば、多段論理1200は、2つの段階内に四重論理モジュール1100A〜1100Eを含むことができる。第1の段階は、それぞれが4つの入力マッチング指標1101および4つの対応する入力優先順位指標1102を伴い、それぞれが出力マッチング指標1114および対応する出力優先順位指標1116を伴う、四重論理モジュール1100A〜1100Dを含む。第1の段階の4つの出力マッチング指標1114は、第2の段階に適用される。第2の段階は、4つの入力マッチング指標1201および4つの対応する入力優先順位指標1202を伴い、出力マッチング指標1214および対応する出力優先順位指標1216を伴う、四重論理モジュール1100Eを含む。このように、16の入力優先順位指標1102から、最優先マッチングの優先順位指標1216を選択することができる。大きい数の入力優先順位指標1102では、追加の論理ブロック1100および/または追加の段階を追加することができる。
当業者は、論理はまた、マッチングに対応する一連の入力優先順位指標の中から、複数の優先順位指標のサブセットを選択するように設計することができることを理解するであろう。例えば、論理は、最高および第2の最高優先順位指標、または3つ以上の優先順位指標を含む任意の他のサブセットを選択するように設計することができる。この論理は、図11に記載されるものと類似する方法で、ベクトル比較またはベクトル「OR」を使用することができ、図12に記載されるものと類似する方法で、段階的にカスケード接続することができる。
別の実施形態では、規則エンジン204は、規則エンジン204の第1のサブセットが、規則を入来セグメントに適用して、マッチングおよび対応する優先順位指標を決定し、規則エンジン204の第2のサブセットが、これらのマッチングおよび対応する優先順位指標を受信するように、段階的にカスケード接続されてもよい。規則エンジン204の第2のサブセットは、対応する優先順位指標に基づいて、マッチングのうちの1つ以上を選択するようにプログラムされる。規則エンジン204の第1のサブセットは、全ての規則エンジン204が利用可能な以前に記載されたグローバル状態表の一部として、マッチングおよび対応する優先順位情報を保存することができ、規則エンジン204の第2のサブセットは、グローバル状態表からこの情報にアクセスすることができる。規則エンジン204の第2のサブセットは、図12に記載されるものと同様の方法で、段階にさらに分割することができる。第1の段階の出力でのマッチングおよび優先順位指標はまた、第2の段階内の規則エンジン204がこの情報にアクセスすることができるように、グローバル状態表の一部として記憶することもできる。後続の段階にも同じことが言える。規則エンジン204の複数の段階もまた、パイプライン化することができる。例えば、規則エンジン204の第2のサブセットによる処理が、規則エンジンの第1のサブセットによる処理と同一の、またはそれより少ない処理サイクルを取るように設計される場合、規則エンジン204の第1のサブセットのそれぞれは、規則エンジン204の第2のサブセットのために、マッチングおよび対応する優先順位情報をグローバル状態表内に保存した後、アドバンス指示を分配回路202にアサートすることができる。複数の規則エンジン204は、1つ以上のネットワークデータ単位にわたるシグネチャおよび/またはネットワークにおける挙動変化に基づいて、1つ以上の種類の攻撃ならびに他の無許可のアクティビティを検出するように、複数の規則を適用することができる。ネットワークによる複数の種類の対応が必要であり得るため、これらの複数の規則に対する全ての一連のマッチングを発見して、同時に発生している場合がある、複数の異なる種類の無許可のアクティビティを検出することが重要であり得る。マッチングに優先順位を付けることもまた、重要であり得る。例えば、スピードが重視される特定の種類の無許可のアクティビティに応えて、即座に行動することが重要である場合がある。対照的に、行動を取る前に、ある期間、他の種類の無許可のアクティビティを監視することが望ましい場合がある。確実に、適切な順序で適切な行動が取られるようにするために、スピードが重視される無許可のアクティビティを示すマッチングは、他の種類の無許可のアクティビティより高い優先順位で取り扱われてもよい。
管理インターフェース212を介して、マッチングに対応する情報を管理システムに報告することもまた、望ましい。しかしながら、大きく、かつ極めて変化に富むものであり得る一連のマッチングのそれぞれに対応する情報を報告することは、困難である場合がある。したがって、情報を既知の一連のカテゴリにカテゴリ化し、カテゴリ化された情報を報告することが望ましい可能性がある。カテゴリは、ネットワークにおけるネットワークデータおよび/もしくは挙動変化のいくつかの特性または属性に対応する。例えば、カテゴリは、マッチングの和集合に対応する、ネットワークにおけるネットワークデータおよび/または挙動変化を含んでもよく、各マッチングは、1つ以上の規則に基づいて決定される。一連のカテゴリは、固定であってもよく、または設定可能であってもよい。
図10の参照に戻ると、マッチングおよび優先順位指標を決定するように、規則を1つ以上の入来セグメントに適用する、各規則エンジン204は、規則に対応する、少なくとも1つのカテゴリマッチング指標を用いて設定される。規則の適用がマッチングをもたらす場合、規則エンジン204は、規則に対応するカテゴリマッチング指標を優先順位指標内に含むことができる、または優先順位指標とは別にカテゴリマッチング指標を提供することができる。各カテゴリマッチング指標を、カテゴリと関連付けることができる。一実施形態では、カテゴリマッチング指標は、パケット種類またはパケットフローと関連付けられてもよい。
一実施形態では、集約回路206は、マッチングに対応する、1つ以上の優先順位指標にアクセスする。例えば、集約回路206は、1つ以上の最高優先順位指標を選択してもよい。集約回路206は次いで、各選択された優先順位指標から、1つ以上のカテゴリマッチング指標のベクトルを抽出してもよい、または各選択された優先順位指標とは別に、カテゴリマッチング指標のベクトルにアクセスしてもよい。集約回路206は次いで、組み合わせられたカテゴリマッチング情報を取得するように、抽出されたカテゴリマッチング指標ベクトルを論理的に組み合わせてもよい。集約回路206は次いで、管理インターフェース212を介して、組み合わせられたカテゴリマッチング情報を管理システムに報告してもよい。
別の実施形態では、集約回路206は、1つ以上の規則エンジン204から受信される、1つ以上のカテゴリマッチング指標にアクセスする。各カテゴリマッチング指標は、優先順位指標に対応する。集約回路206は次いで、組み合わせられたカテゴリマッチング情報を取得するように、抽出されたカテゴリマッチング指標ベクトルを論理的に組み合わせてもよい。集約回路206は次いで、管理インターフェース212を介して、組み合わせられたカテゴリマッチング情報を管理システムに報告してもよい。
図13は、カテゴリマッチング指標ベクトル1302A〜1302Nから取得される、組み合わせられたカテゴリマッチング情報1304の例を図示する。各カテゴリマッチング指標ベクトル1302は、規則エンジン204によって決定されるマッチングが、カテゴリ1300A〜1300Nに分類されるか否かを示す。この実施例では、集約回路206は、組み合わせられたカテゴリマッチング情報1304を取得するように、カテゴリマッチング指標ベクトル1302のベクトル「OR」を評価する。ベクトル「OR」の効果は、いずれかのカテゴリマッチング指標ベクトル1302がカテゴリ1300について1(「真」)と評価される場合、組み合わせられたカテゴリマッチング情報は、そのカテゴリ1300について1(「真」)と評価されるというものである。
図8および図10の参照に戻ると、優先順位指標および/またはカテゴリマッチング指標を決定するネットワークデバイスは、これらの指標をネットワーク内の他のデバイスに渡してもよい。例えば、入力パケット800Aに対応する優先順位指標および/またはカテゴリマッチング指標のうちの1つ以上が、集約回路206からの出力インターフェース208に対する修正コマンドを介して、入力パケット800Aに付加されてもよい。代替として、出力インターフェース208は、修正コマンドに応えて、1つ以上のパケットを生成してもよく、各パケットは、優先順位指標および/またはカテゴリマッチング指標のうちの1つ以上を含む。優先順位指標および/またはカテゴリマッチング指標をネットワーク内の他のデバイスに渡す一利点は、下流のデバイスが、上流のデバイスのネットワークトラフィック処理および分析能力を活用することができるということである。下流のデバイスは、上流のデバイスと同一のトラフィック処理および分析能力を有さない場合がある。下流のデバイスはまた、下流のデバイスで実施されるネットワークトラフィック処理および分析を簡単化し、合理化するために、受信した優先順位指標および/またはカテゴリマッチング指標を活用してもよい。ネットワークトラフィック監視は、侵入検出およびサービスレベル合意(SLAs)の監視等の広範囲のネットワーク能力に重要である。ネットワークトラフィック監視は、管理システム機能を実施する制御プロセッサによる分析等のネットワークトラフィックのオフライン分析を伴う場合がある。制御プロセッサは、データ経路の一部ではないため、この分析は典型的に、有線速度ではない。オフライン分析のためのネットワークデータ単位を選択するために使用される一般的な手法は、ネットワークトラフィックを一様にサンプリングすることである。例えば、データ経路を横断する10ネットワークデータ単位毎に1つ、制御プロセッサにミラーリングおよび/または複製することができる。全てのネットワークトラフィックにわたって同一のサンプリング率を使用することの1つの問題は、特定の種類の攻撃または他の無許可の挙動を示す場合がある、パケットトラフィックにおける低頻度および/または短期間の発生を見逃す可能性が大きいということである。
この問題に対処する方法は、例えば、ネットワークトラフィックの残りの部分に対して、10パケット毎に1つのサンプリングを継続しながら、ネットワークトラフィックの特定のサブセットに対して、異なる率でサンプリングを実施することである。例えば、短期間の個別のログイン事象が見逃されないように、全てのログインパケットが審査されてもよい。より一般的に、サンプリングは、ネットワークデータ単位の任意のサブセットからのnネットワークデータ単位からm選択してもよく、mは、包括的に1〜n−1の整数値である。ネットワークデータ単位のサブセットは、ネットワークにおけるネットワークデータおよび/もしくは挙動変化のいくつかの特性または属性に対応する。一実施形態では、図10の各規則エンジン204は、管理インターフェース212を介して、規則と関連付けられるサンプリング情報を用いて設定されてもよい。規則は、パケットヘッダおよびパケットペイロードにわたり、ビット単位の粒度を有してもよい。サンプリング情報は、サンプリング頻度であってもよく、パケット種類、パケットフロー、またはより一般的に、特性もしくは属性を共有する、ネットワークデータ単位の任意のサブセットと関連付けられてもよい。マッチングが決定されると、各規則エンジン204は、サンプリング情報に基づいて、アクション指標によって表される命令等の命令を決定することができる。例えば、ネットワークデータ単位毎にmのサンプリング頻度では、規則エンジン204は、アクション指標を介して、nネットワークデータ単位毎にmをミラーリングすること、リダイレクトすること、および/または複製することを指示することができ、これは、マッチングをもたらす。各規則エンジン204は、マッチングのカウントを、複数のサンプリング期間等のサンプリング頻度と関連付けられる値と比較するために使用することができる、条件分析回路508(図5および図7)を含んでもよい。一実施形態では、集約回路206は、アクション指標によって表される命令を含む、ネットワークデータ単位の経路指定命令を生成する。出力回路208は、経路指定命令に応えて、ネットワークデータ単位を管理インターフェース212に提供してもよい。
本発明の別の側面では、アプリケーションレベル処理を促進するために、カテゴリ化情報をネットワークトラフィックと関連付けることができる。例えば、ネットワークトラフィックのオフライン分析は、これらのパケットの、例えば、制御プロセッサのアプリケーションレベルへの転送の前の、ネットワークデータ単位のカテゴリ化によって促進することができる。カテゴリ化の一側面は、上述されるように、どのネットワークデータ単位をアプリケーションレベルに転送するべきかを決定するように、規則を適用することである。アプリケーションレベルへの転送は、ミラーリング、リダイレクション、および/または複製を通して行われてもよい。これは、アプリケーションレベルに転送されるネットワークデータ単位の総数を削減する。しかしながら、各ネットワークデータ単位のアプリケーションレベル処理を促進することもまた、望ましい。したがって、アプリケーションが、容易かつ迅速にカテゴリ化情報にアクセスすることができるように、このカテゴリ化情報を各ネットワークデータ単位と関連付けることが望ましい。これは、処理速度を向上し、アプリケーションの複雑性を低減することができる。
一実施形態では、カテゴリ化情報は、ハッシュ識別子の形態であってもよい。図10に示される各規則エンジン204は、関連ハッシュモジュールとインターフェースを取ってもよい。図14は、本発明の一実施形態に係る、規則エンジン204とそれらの関連ハッシュモジュール1400との間のインターフェースの論理ブロック図を図示する。各規則エンジン204は、入力パケット等の入力ネットワークデータ単位から1つ以上のフィールドを抽出するように、規則を適用することができる。規則は、抽出されたフィールドが、ビット単位の粒度を有し、パケットの任意の部分からのものであり得るように、パケットのヘッダおよびペイロードにわたり、ビット単位の粒度を有してもよい。各規則エンジン204は、抽出されたフィールドをハッシュモジュール1400に提供する。各ハッシュモジュール1400は、望ましくは、ハッシュモジュール1400に提供される、抽出されたフィールドよりビット幅が小さい、ハッシュ識別子を生成するように、データを処理し、ハッシュ識別子を、抽出されたフィールドを提供した規則エンジン204に提供し戻す。ハッシュ識別子は、パケット種類もしくはパケットフロー、またはより一般的に、特性または属性を共有する、ネットワークデータ単位の任意のサブセットと関連付けられてもよい。各ハッシュモジュール1400は、管理インターフェース212を介して設定されてもよい。
代替として、各規則エンジン204は、その入力ネットワークデータ単位の処理の一環として、ハッシュ識別子を生成してもよい。この場合、ハッシュモジュール1400の機能は、規則エンジン204によって実施され、別個のハッシュモジュール1400を不要にする。
一実施形態では、各規則エンジン204は、ハッシュ識別子等のカテゴリ化情報に基づいて修正命令を生成するように、規則を適用することができる。修正命令は、ハッシュ識別子を含んでもよい。集約回路206は、前述されるように、規則エンジン204によって指示される修正命令を、出力回路208に提供される修正コマンドに組み合わせることができる。修正コマンドに基づいて、出力回路208は、ハッシュ識別子をネットワークデータ単位に付加することができる。ハッシュ識別子は、ヘッダ等、ネットワークデータ単位のいずれの部分に付加されてもよい。集約回路206の経路決定に基づいて、出力回路208は、管理インターフェース212を介して、修正されたネットワークデータ単位を管理システムに提供することができる。出力回路208はまた、修正されたネットワークデータ単位を下流のデバイスに伝送してもよい。ハッシュ識別子等のカテゴリ化情報をネットワーク内の他のデバイスに渡されるネットワークデータ単位に添付することの1つの利点は、上流のデバイスのネットワークトラフィック処理および分析能力を下流のデバイスが活用することができるということである。下流のデバイスは、上流のデバイスと同一のトラフィック処理および分析能力を有さない場合がある。下流のデバイスはまた、下流のデバイスで実施されるネットワークトラフィック処理および分析を簡単化し、合理化するために、受信したネットワークデータ単位と関連付けられるカテゴリ化情報を活用してもよい。
本発明の実施形態は、費用効率が高く、使用が簡単であり、管理可能であり、かつ柔軟である。分配回路202、規則エンジン204、および集約回路206にわたって統一されたアルゴリズムならびにブロック設計を用いて、装置は、ヘッダ処理およびパケット修正のためのNPならびにパターンマッチングのためのCAM等の複数の費用のかかるコプロセッサを使用することなく、ヘッダ分析、綿密なパケット検査、およびパケット修正機能を実施する。装置は、危険度と利用可能な予算とのバランスをとるように、増加的に配備することができる。装置は、NPおよびCAMのいずれの演算資源も使用しない、費用効率が高く、低能力のデバイスでの上位層の規則に基づく処理を可能にするように、物理層、データリンク層、または他の下位層インターフェースの一部として組み込まれ、配備されてもよい。装置のアーキテクチャは、数Gb/秒およびそれより高い入力速度でのヘッダ分析、綿密なパケット検査、およびパケット修正に適合される。装置は、ネットワークの管理および監視、その特殊な機能の設定、ならびにミラーリングされたデータの出力のためのインターフェース212を提供し、また、特定の顧客のニーズのためのプリプロセッサおよびポストプロセッサの使用もサポートし得る。
本発明の実施形態はまた、そのアーキテクチャに基づいて、予測可能であり、かつ容易に検証可能な性能を有する。同時に、かつ協働して動作する、一連の規則エンジン204のマイクロコード状態機械のパイプライン構造としての実装は、確実に、装置を通る最悪の場合のスループットおよび待ち時間を計算し、制限することができるようにする。結果として、装置を有線速度で実行することができる時についての正確な予測を行うことができる。有線速度動作は、入力パケットサイズおよび1秒当たりのパケット数でのパケット速度の最悪の場合の組み合わせで、予期せぬトラフィック損失なく、所与の最大規則複雑性を処理するのに十分に速い。また、規則エンジン204による任意のトラフィックセグメントの処理の決定性のクロックサイクルの最悪の場合の数も存在するため、装置は、トラフィック種類、パケットサイズ、規則複雑性の混合にわたり、小さい、制限された処理遅延を有することができる。小さい、制限された遅延は、装置が、複雑なメモリ階層もしくは待ち行列構造を必要とし得る外部メモリまたはキャッシュというよりはむしろ、単純なオンチップバッファを使用することができることを意味する。単純なオンチップバッファの使用は、ゲートおよびメモリ要素等のハードウェア資源の効率的かつ最適な使用を通して、装置性能を向上させるだけでなく、種々のトラフィックパターンに関連する、めったに発生しない厄介な場合も回避する。これはまた、設計の抜けおよびミスの可能性を低減する、形式的な検証および構造カバレッジを使用した有効性確認も可能にする。
当業者は、本明細書に記載される実施形態が、パケットを含むが、これに限定されない、ネットワークトラフィックの種々の形態を処理し得ることを理解するであろう。例えば、本明細書に記載される実施形態は、セルまたはフレームを処理してもよい。
解説のための前述の説明は、本発明の完全な理解を提供するために、具体的な用語を使用した。しかしながら、具体的な詳細は、本発明を実践するために必要とされないことが当業者に明らかであろう。したがって、本発明の具体的な実施形態の前述の説明は、例証および説明のために提示される。それらは、本発明を包括すること、または開示される厳密な形態に限定することは意図されず、明白に、上記の教示を考慮して、多くの修正および変形が可能である。実施形態は、本発明の原理およびその実際の適用を最善に説明するために選択され、記載され、それらは、したがって、当業者が、熟考される特定の使用に適するように、本発明および種々の修正を伴う種々の実施形態を最善に活用することを可能にする。以下の特許請求の範囲およびそれらの同等物は、本発明の範囲を定義することが意図される。

Claims (7)

  1. 優先的マッチングを実施する装置であって、
    該装置は、
    マイクロコード制御された第1の状態機械およびマイクロコード制御された第2の状態機械を含むマイクロコード制御された複数の状態機械と、
    入力データを該マイクロコード制御された複数の状態機械に経路指定する分配回路であって、その結果、該マイクロコード制御された複数の状態機械が、規則を入力データに適用して複数のマッチングを決定し、優先順位指標を生成し、各マッチングは、関連優先順位指標を有する、分配回路と
    第1の回路と
    を備え、該マッチングのうちの少なくとも1つは、該優先順位指標に基づいて選択され
    該マイクロコード制御された第1の状態機械は、第1の規則を該入力データに適用し、該第1の規則は、第1のデータカテゴリに関連付けられており、該マイクロコード制御された第2の状態機械は、第2の規則を該入力データに適用し、該第2の規則は、該第1のデータカテゴリとは異なる第2のデータカテゴリに関連付けられており、
    該マイクロコード制御された第1の状態機械は、該第1のデータカテゴリに関連付けられた第1のカテゴリマッチング指標と、該第2のデータカテゴリに関連付けられた第2のカテゴリマッチング指標とを含む第1のカテゴリマッチング指標ベクトルを決定し、該第1のカテゴリマッチング指標は、該第1の規則の適用に基づいて、該入力データが該第1のデータカテゴリ内である場合を示し、
    該マイクロコード制御された第2の状態機械は、該第1のデータカテゴリに関連付けられた第3のカテゴリマッチング指標と、該第2のデータカテゴリに関連付けられた第4のカテゴリマッチング指標とを含む第2のカテゴリマッチング指標ベクトルを決定し、該第4のカテゴリマッチング指標は、該第2の規則の適用に基づいて、該入力データが該第2のデータカテゴリ内である場合を示し、
    該第1の回路は、組み合わせされたカテゴリマッチング情報を生成し、該組み合わせされたカテゴリマッチング情報は、該第1のカテゴリマッチング指標および該第3のカテゴリマッチング指標の第1の論理的な組み合わせと、該第2のカテゴリマッチング指標および該第4のカテゴリマッチング指標の第2の論理的な組み合わせとを含み、該第1の回路は、該組み合わせされたカテゴリマッチング情報を該入力データに付加する、装置。
  2. 前記優先順位指標に基づいて前記マッチングのうちの少なくとも1つを選択する回路をさらに備え、前記回路は、少なくとも最優先マッチングに基づいて前記入力データの経路指定命令を生成する、請求項1に記載の装置。
  3. 前記回路は、前記複数のマッチングの前記優先順位指標のうちの少なくとも1つを前記入力データに付加する、請求項2に記載の装置。
  4. 前記マイクロコード制御された状態機械は、前記優先順位指標に基づいて前記マッチングのうちの少なくとも1つを選択するように、規則を適用し、最優先マッチングを含む複数のマッチングに基づいて前記入力データの経路指定命令を生成する回路をさらに備える、請求項1に記載の装置。
  5. マイクロコード制御されたそれぞれの状態機械により生成された各優先順位指標は、マイクロコード制御されたそれぞれの状態機械のメモリ内のブロックの位置を特定するブロックインデックスを含み、該ブロックは、該マッチングの優先順位情報を記憶し、
    最優先マッチングの前記優先順位指標は、最下ブロックインデックスを含む、請求項1に記載の装置。
  6. 各優先順位指標は、少なくとも1つのカテゴリマッチング指標を含み、組み合わせられたカテゴリマッチング情報を生成するように、前記優先順位指標から抽出された各カテゴリマッチング指標を組み合わせる回路をさらに備える、請求項1に記載の装置。
  7. 各カテゴリマッチング指標は、パケット種類またはパケットフローと関連付けられる、請求項6に記載の装置。
JP2012519784A 2009-07-09 2010-07-09 ネットワークトラフィックの転送、分類および監視を向上させる装置および方法 Expired - Fee Related JP5661764B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US12/500,519 2009-07-09
US12/500,519 US8296846B2 (en) 2005-08-19 2009-07-09 Apparatus and method for associating categorization information with network traffic to facilitate application level processing
US12/500,493 2009-07-09
US12/500,527 US8346918B2 (en) 2005-08-19 2009-07-09 Apparatus and method for biased and weighted sampling of network traffic to facilitate network monitoring
US12/500,527 2009-07-09
US12/500,493 US8665868B2 (en) 2005-08-19 2009-07-09 Apparatus and method for enhancing forwarding and classification of network traffic with prioritized matching and categorization
PCT/US2010/041593 WO2011006117A2 (en) 2009-07-09 2010-07-09 Apparatus and method for enhancing forwarding, classification, and monitoring of network traffic

Publications (2)

Publication Number Publication Date
JP2012533231A JP2012533231A (ja) 2012-12-20
JP5661764B2 true JP5661764B2 (ja) 2015-01-28

Family

ID=43429859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012519784A Expired - Fee Related JP5661764B2 (ja) 2009-07-09 2010-07-09 ネットワークトラフィックの転送、分類および監視を向上させる装置および方法

Country Status (3)

Country Link
EP (1) EP2452466B1 (ja)
JP (1) JP5661764B2 (ja)
WO (1) WO2011006117A2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201302402D0 (en) 2013-02-11 2013-03-27 Telecom Ltd Q Communication apparatus
US9264357B2 (en) * 2013-04-30 2016-02-16 Xpliant, Inc. Apparatus and method for table search with centralized memory pool in a network switch
CA2929304C (en) * 2013-11-04 2020-08-18 Amazon Technologies, Inc. Centralized networking configuration in distributed systems
BR112017023869A2 (pt) * 2015-05-04 2018-07-24 Kamran Hasan Syed sistema de segurança informática que processa um evento de segurança; sistema de segurança virtual; método para crescimento de inteligência interativa; e sistema de identificação, integração e análise de inteligência de ameaça virtual
RU2620728C1 (ru) * 2015-12-16 2017-05-29 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) Модульный масштабируемый коммутатор ethernet с агрегированием пакетов
DE102020114547B4 (de) 2020-05-29 2023-12-28 Infineon Technologies Ag Vorrichtung und verfahren zum abwickeln eines eingehenden kommunikations-datenrahmens
JP2022145099A (ja) 2021-03-19 2022-10-03 株式会社東芝 通信システム及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873600B1 (en) * 2000-02-04 2005-03-29 At&T Corp. Consistent sampling for network traffic measurement
US7215637B1 (en) 2000-04-17 2007-05-08 Juniper Networks, Inc. Systems and methods for processing packets
JP3873027B2 (ja) * 2001-04-02 2007-01-24 株式会社インフォーエス ビットストリングの検索装置および方法
EP1547342B1 (en) * 2002-09-12 2014-07-23 International Business Machines Corporation A method and apparatus for deep packet processing
US7840696B2 (en) * 2003-07-25 2010-11-23 Broadcom Corporation Apparatus and method for classifier identification
US20060272018A1 (en) * 2005-05-27 2006-11-30 Mci, Inc. Method and apparatus for detecting denial of service attacks
US8024799B2 (en) * 2005-08-19 2011-09-20 Cpacket Networks, Inc. Apparatus and method for facilitating network security with granular traffic modifications
US7890991B2 (en) * 2005-08-19 2011-02-15 Cpacket Networks, Inc. Apparatus and method for providing security and monitoring in a networking architecture
US7937756B2 (en) * 2005-08-19 2011-05-03 Cpacket Networks, Inc. Apparatus and method for facilitating network security
US7940657B2 (en) * 2006-12-01 2011-05-10 Sonus Networks, Inc. Identifying attackers on a network

Also Published As

Publication number Publication date
EP2452466A2 (en) 2012-05-16
WO2011006117A2 (en) 2011-01-13
JP2012533231A (ja) 2012-12-20
EP2452466B1 (en) 2021-01-06
WO2011006117A3 (en) 2011-04-28
EP2452466A4 (en) 2016-08-17

Similar Documents

Publication Publication Date Title
US8665868B2 (en) Apparatus and method for enhancing forwarding and classification of network traffic with prioritized matching and categorization
US8296846B2 (en) Apparatus and method for associating categorization information with network traffic to facilitate application level processing
US8024799B2 (en) Apparatus and method for facilitating network security with granular traffic modifications
US7882554B2 (en) Apparatus and method for selective mirroring
US8346918B2 (en) Apparatus and method for biased and weighted sampling of network traffic to facilitate network monitoring
US7890991B2 (en) Apparatus and method for providing security and monitoring in a networking architecture
CA2619772C (en) Apparatus and method for facilitating network security
US9787556B2 (en) Apparatus, system, and method for enhanced monitoring, searching, and visualization of network data
US11374858B2 (en) Methods and systems for directing traffic flows based on traffic flow classifications
US9407518B2 (en) Apparatus, system, and method for enhanced reporting and measurement of performance data
JP5661764B2 (ja) ネットワークトラフィックの転送、分類および監視を向上させる装置および方法
US10069704B2 (en) Apparatus, system, and method for enhanced monitoring and searching of devices distributed over a network
US20210409316A1 (en) Methods and systems for classifying traffic flows based on packet processing metadata
US11374844B2 (en) Methods and systems for smart sensor implementation within a network appliance data plane
US20140173102A1 (en) Apparatus, System, and Method for Enhanced Reporting and Processing of Network Data
EP3092737B1 (en) Systems for enhanced monitoring, searching, and visualization of network data
EP2929472B1 (en) Apparatus, system and method for enhanced network monitoring, data reporting, and data processing
US20140172852A1 (en) Apparatus, System, and Method for Reducing Data to Facilitate Identification and Presentation of Data Variations
WO2015105684A1 (en) Apparatus, system, and method for enhanced monitoring and interception of network data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130411

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140617

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: 20141128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141203

R150 Certificate of patent or registration of utility model

Ref document number: 5661764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees