JP6074776B2 - イーサネット(登録商標)ネットワーク用のセキュリティ検出を備えたインテリジェントphy - Google Patents

イーサネット(登録商標)ネットワーク用のセキュリティ検出を備えたインテリジェントphy Download PDF

Info

Publication number
JP6074776B2
JP6074776B2 JP2014525176A JP2014525176A JP6074776B2 JP 6074776 B2 JP6074776 B2 JP 6074776B2 JP 2014525176 A JP2014525176 A JP 2014525176A JP 2014525176 A JP2014525176 A JP 2014525176A JP 6074776 B2 JP6074776 B2 JP 6074776B2
Authority
JP
Japan
Prior art keywords
module
packets
physical layer
packet
memory
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.)
Active
Application number
JP2014525176A
Other languages
English (en)
Other versions
JP2014525703A (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
Application filed by マーベル ワールド トレード リミテッド, マーベル ワールド トレード リミテッド filed Critical マーベル ワールド トレード リミテッド
Publication of JP2014525703A publication Critical patent/JP2014525703A/ja
Application granted granted Critical
Publication of JP6074776B2 publication Critical patent/JP6074776B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer

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)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

<関連出願>
本願は、米国特許出願第13/571,870号(出願日:2012年8月10日)に基づき優先権を主張すると共に、米国仮特許出願第61/522,158号(出願日:2011年8月10日)、米国仮特許出願第61/533,436号(出願日:2011年9月12日)、および、米国仮特許出願第61/550,315号(出願日:2011年10月21日)の恩恵を主張する。上記の出願の開示内容は全て、参照により本願に組み込まれる。
本開示は、ネットワークデバイス内のセキュリティ検出システムに関する。
本明細書に記載する背景技術の説明は、本開示がどのような文脈で為されたかの概要を説明する目的で記載するものである。本願の発明者として名前を挙げているものの研究内容は、この背景技術のセクションに記載されている限りにおいて、出願時に先行技術と認められない部分と同様に、本開示に対する先行技術として明示的にも暗示的にも認めるものではない。
アクセスネットワークは、2以上のネットワークデバイス間において、および/または、ネットワークデバイスとインターネットとの間において接続を実現する。ネットワークデバイスは、例えば、ユーザデバイス、周辺デバイスおよびデータストレージデバイスを含むとしてよい。このようなデバイスは、1以上のネットワーク内に設けられているとしてよい。デバイス間、および/または、デバイスとインターネットとの間において、アップリンク信号および/またはダウンリンク信号のために接続が構築される。
一例として、イーサネット(登録商標)ベースのアクセスネットワークはアクセスシャーシを含むとしてよい。アクセスシャーシは、ネットワークデバイス間において、および/または、ネットワークデバイスとインターネットとの間において、接続を実現する。アクセスシャーシは、例えば、ファブリックカード(例えば、2個のファブリックカード)およびラインカード(例えば、16個のラインカード)を含むとしてよい。各ファブリックカードは、各ラインカードに接続することができる。ラインカードは、イーサネット(登録商標)ネットワークを介して、ネットワークデバイスに接続される。ラインカードのうち1以上のラインカードの所定のポートまたはアップリンクポートは、インターネットに接続されるとしてよい。ファブリックカードは、ラインカード間の接続を実現する。ラインカードは、ネットワークデバイスとファブリックカードとの間において、および/または、ファブリックカードとインターネットとの間において接続を実現する。
各ファブリックカードは通常、統合スイッチおよび中央制御モジュールを含む。統合スイッチは、例えば、a)第1のラインカードに接続されている第1のユーザデバイスから、b)第2のラインカードに接続されている第2のユーザデバイスまたはインターネットへと信号をルーティングするべく、ラインカード同士の接続を実現する。中央制御モジュールは、接続の状態を制御し、ラインカード間のパケットの転送を制御する。各ラインカードは通常、アクセススイッチおよび複数のPHYデバイス(例えば、6個のPHYデバイス)を含む。各PHYデバイスは、1以上のPHYモジュールを含む。アクセススイッチは、ファブリックカード上に配置されている統合スイッチと、PHYモジュールとの間に接続を実現する。
物理層デバイスが提供され、当該物理層デバイスは、メモリ、メモリ制御モジュールおよび物理層モジュールを備える。メモリ制御モジュールは、メモリへのアクセスを制御する。物理層モジュールは、メモリ制御モジュールを介してメモリ内にパケットを格納する。物理層モジュールは、ネットワークおよびインターフェースバスを介してネットワークデバイスからパケットを受信するインターフェースを備える。インターフェースバスは、制御モジュールおよび正規表現モジュールのうち少なくとも一方を含む。制御モジュールおよび正規表現モジュールのうち少なくとも一方は、パケットのセキュリティレベルを判断するべくパケットを検査する。ネットワークインターフェースは、セキュリティレベルに基づいて、物理層デバイスとは別個のデバイスにパケットを提供する。
他の特徴を挙げると、方法が提供され、当該方法は、物理層モジュールのインターフェースにおいて、ネットワークを介して、ネットワークデバイスからパケットを受信する段階を備える。パケットは、パケットをメモリに格納するべく、物理層デバイスからメモリ制御モジュールへと転送される。物理層デバイスは、物理層モジュールを含む。物理層モジュールは、インターフェースバスを含む。パケットを検査して、制御モジュールおよび正規表現モジュールのうち少なくとも一方を用いて当該パケットのセキュリティレベルを判断する。インターフェースバスは、制御モジュールおよび正規表現モジュールの少なくとも一方を含む。セキュリティレベルに基づき、物理層デバイスとは別個のデバイスへ、物理層インターフェースを介してパケットを提供する。
他の特徴を挙げると、物理層デバイスがさらに提供され、当該物理層デバイスは、メモリインターフェース、メモリ制御モジュール、物理層モジュール、および、第2のネットワークインターフェースを有する。メモリインターフェースはメモリに接続されている。メモリ制御モジュールは、メモリへのアクセスを制御する。物理層モジュールは、第1のネットワークインターフェースにおいてネットワークを介してネットワークデバイスからパケットを受信し、メモリ制御モジュールを介してメモリにパケットを格納する。物理層モジュールは、メモリとは別個である。第2のネットワークインターフェースは、物理層デバイスおよびメモリとは別個のデバイスにパケットを提供する。
本開示内容を適用するその他の分野については、詳細な説明、請求項および図面から明らかになるであろう。詳細な説明および具体的な例は、説明を目的として紹介されているに過ぎず、本開示の範囲を限定するものではない。
詳細な説明および添付図面に基づき本開示の理解を深められたい。添付図面は以下の通りである。
本開示にしたがった、アクセスシャーシを組み込んだアクセスネットワークを示す機能ブロック図である。
図1にアクセスシャーシの一部を示す機能ブロック図である。
本開示にしたがった、PHYデバイスを組み込んだ別のアクセスネットワークを示す機能ブロック図である。
本開示にしたがった、PHYデバイスを示す機能ブロック図である。
本開示にしたがった、マルチレベルセキュリティ検出を実現するPHYモジュールの入力部分を示す機能ブロック図である。
本開示にしたがった、ネットワークインターフェースを示す機能ブロック図である。
本開示にしたがった、セキュリティ検出方法を含むネットワークアクセス方法を示す図である。
アクセスネットワークは、ファブリックカードおよびラインカードを有するアクセスシャーシを備えるとしてよい。ファブリックカードはそれぞれ、統合スイッチおよび中央制御モジュールを含むとしてよい。ラインカードはそれぞれ、アクセススイッチおよび複数のPHYデバイスを含むとしてよい。各ファブリックカードは中央制御モジュールおよび統合スイッチを含み、各ラインカードはアクセススイッチを含むので、アクセスシャーシに対応付けられる制御プレーンは複雑である。ラインカードは、アクセススイッチを含んでおりアクセススイッチを動作させるので、高コストおよび/または高出力のカードであると考えられているとしてよい。アクセスシャーシはアップグレードが制限されるとしてよい。これは、制御固有アップグレード(例えば、スイッチ接続の実現方法を変更するアップグレード)を実行するためには各ラインカードを交換する必要があるためである。
以下の例では、複数のアクセスネットワークが提供される。第1のアクセスネットワークを図1および図2に示す。第1のアクセスネットワークは、アクセススイッチを含まないラインカードを備える。ラインカード間、ネットワークデバイス間、および、ネットワークデバイスとインターネットとの間のスイッチングは、ファブリックカードを用いて実現される。この結果、これらのラインカードは、低コストおよび/または低出力のラインカードと呼ばれることがある。ラインカードは、ディープパケットインスペクション(DPI)を実行するPHYモジュールを含む。DPIは、パケットが有効なパケットであるか、または、無効なパケットであるかを判断するべくパケットを検査することを含む。パケットは、当該パケットの形式が誤りである場合、攻撃および/またはウイルスに対応付けられているパターンを持つ場合、不適切な値を持つ場合、スパムを含む場合、セキュリティ上の脅威を発生させる場合、および/または、所定の基準を満たさない場合、無効なパケットであるとしてよい。DPIは、1以上のパケットのヘッダおよび/またはペイロードの検査を含むとしてよい。ヘッダは、例えば、インターネットプロトコル(IP)ヘッダ、トランスミッションコントロールプロトコル(TCP)、ユーザデータグラムプロトコル(UDP)および/または他のヘッダを含むとしてよい。
ラインカードがアクセススイッチを含まず、ファブリックカードが、ラインカード、ネットワークデバイスおよびインターネットについてアクセス機能、統合機能およびスイッチング機能を制御するので、アクセスネットワークシャーシは容易に更新可能である。アップグレード時、制御ロジック、ソフトウェアおよび/またはハードウェアは、変更および/または交換されるとしてよい。アクセスネットワークは単に、ファブリックカードのうち1以上を交換することによって更新されるとしてよく、ラインカードは交換しない。また、数多くのラインカードおよびファブリックカードで実行されることとは対照的に、1以上の中央に集中した位置において接続のスイッチングが実行されるので、アクセスネットワークに対応付けられている制御プレーンの複雑さは軽減される。図1および図2のアクセスネットワーク、ならびに、他の例であるアクセスネットワークおよび対応する特徴を以下に説明する。
図1において、アクセスネットワーク10を図示している。一例として、アクセスネットワーク10はアプリケーション認識ネットワークであるとしてよい。アプリケーション認識ネットワークは、アプリケーションおよびサービスと直接協働して、アプリケーション固有の要件に対するネットワークの応答性を最大化するネットワークであるアプリケーション認識ネットワーク内のモジュールは、当該ネットワーク内の複数の異なるポイントで呼び出される方法を含むオブジェクトを搬送するとしてよい。当該方法にしたがって、スイッチおよび処理デバイスに対してアプリケーション固有のプログラミングを実行する。モジュールは、アプリケーション固有の要件を満たすべく、カスタマイズされた計算およびリソース管理を実行する。アプリケーション認識ネットワークは、専用のネットワークおよび/またはローカルエリアネットワーク(LAN)のセキュリティを管理するために用いられるとしてよい。
アクセスネットワーク10は、アクセスシャーシ12、ネットワーク14、インターネット16、および、ネットワークデバイス18(p個のネットワークデバイスを図示)を備えるとしてよい。アクセスシャーシ12は、ネットワーク14を介してネットワークデバイス18に接続されている。ネットワーク14は、例えば、イーサネット(登録商標)ネットワークであってよい。アクセスシャーシ12は、ネットワークデバイス18間において、および/または、ネットワークデバイス18とインターネット16との間において、信号をルーティングする。ネットワークデバイス18は、ユーザデバイス、周辺機器、および/または、データストレージデバイスを含むとしてよい。ユーザデバイスは、コンピュータ、携帯電話、セットトップボックス、テレビ等を含むとしてよい。
アクセスシャーシ12は、1以上のファブリックカード20(図示しているのは2個)と、1以上のラインカード22(図示しているのはn個)とを有する。ラインカード22は、PHYデバイス24を含む。PHYデバイスの一例は図4に示す。図示している例では、各ラインカード22は、m個のPHYデバイスを含む。一例として、アクセスシャーシ12は、48個のラインカードを含むとしてよい。各ラインカードは、1以上のPHYデバイス(例えば、6個のPHYデバイス)を含む。各ファブリックカード20は、ラインカード22同士の間、同一ラインカード上の複数のPHYデバイス24同士の間、および/または、複数のラインカード22のうち異なるラインカード22上の複数のPHYデバイス同士の間に接続を実現する統合スイッチ26を含む。
さらに図2を参照すると、アクセスシャーシ12の一部30を図示している。一部30は、ファブリックカード20のうち1つ(32と表示)およびラインカード22のうち1つ(34と表示)を含む。各ファブリックカード20は、中央制御モジュール36、統合スイッチ(図2では38と表示)およびメモリデバイス40を含むとしてよい。一実施例によると、中央制御モジュール36は、統合スイッチ38には含まれていない。統合スイッチ38は、複数のラインカード22上の複数のPHYデバイス24の間で切り替えを行い、スイッチングを中央に集中化する。中央制御モジュール36は、統合スイッチ38内のスイッチ42の状態を制御するとしてよい。
メモリデバイス40はそれぞれ、例えば、ダブルデータレートタイプ3(DDR3)シンクロナスランダムアクセスメモリ(SRAM)および/または他の適切なメモリ、例えば、ダイナミックランダムアクセスメモリ(DRAM)を含むとしてよい。各ラインカード22は、PHYデバイス24のうち対応するPHYデバイス24を含み(例えば、第1のラインカード34のPHYデバイスは図2において44と表示)、アクセススイッチは含まない。アクセススイッチは、ラインカード上に配置されているスイッチを意味し、アクセスシャーシのファブリックカードとラインカードとの間に接続を実現する。
PHYデバイス44は、スイッチングの中央への集中化を可能とする。スイッチングは、PHYデバイス44では行われず、ファブリックカード20で行われる。PHYデバイス44は、受信したパケットをファブリックカード44に転送し、その後、予測されたデスティネーションまたは元々選択されていたデスティネーションまで転送させる。各PHYデバイス44はDPIを実行するとしてよい。これによって、アクセスネットワーク30のエッジでDPIが実行される。アクセスネットワークのエッジは、アクセスシャーシ32とネットワーク14との間の境界、および/または、アクセスシャーシ32とネットワークデバイス18との間の境界を意味するとしてよい。DPIは、PHYデバイス44のうち1つのPHYデバイス44のPHYモジュールがパケットは有効なパケットであるか無効なパケットであるかを判断できない場合に、パケットを中央制御モジュール36に送信することを含むとしてよい。一例を挙げると、パケットは、検査のために、統合スイッチ38を介してPHYモジュールから中央制御モジュール36に転送されるとしてよい。中央制御モジュール36は、パケットを検査してパケットが有効か否かを判断した後、検査結果に基づいて、PHYモジュールにパケットをドロップ(つまり、削除し、および/または、当該パケットと類似したパケットを今後送信しないようにする)するか、または、第1のパケットと同様のパケットを転送するかをPHYモジュールに指示する。無効なパケットはドロップされるとしてよく、有効なパケットは転送されるとしてよい。同様のパケットとは、形式、ソースアドレス、デスティネーションアドレス、および/または、他のパケットパラメータおよび/またはフィールドが同一であるパケットを意味するとしてよい。
PHYモジュールは、入力パケットを検査して、入力パケットを統合スイッチ38へと転送し、さらに検査するべく中央制御モジュール36へと入力パケットをトンネリングさせ、および/または、入力パケットのうち無効または脅威となるパケットをドロップするとしてよい。パケット検査において、PHYデバイス44のPHYハードウェアは、入力パケットを、有効なパケット、さらにローカライズされた検査が実行されるべきパケット、中央に集中化された検査を実行すべきパケット、または無効なパケットと特定する。ローカライズされた検査とは、PHYデバイス44内で実行される検査および/またはPHYデバイス44内のモジュールが実行する検査を意味する。中央に集中化された検査とは、PHYデバイス44の外部で、そして、例えば、中央制御モジュール36内で実行する検査を意味する。有効なパケットとは、即座に(所定の期間内に)および/または明確に安全で正しく(1以上のエラーを含まない)、および/または、適切な形式、署名および/またはパターンを持つと判断されパケットを意味するとしてよい。一例を挙げると、特定のローカルソースから受信したパケットは、当該ソースの受信アドレスに基づき、有効であると判断されるとしてよい。
さらに中央に集中化された検査が実行されるべきパケットは、PHYハードウェアおよび/または対応するPHYデバイスのモジュールによって既に検査されたが、即座におよび/または明確には有効なパケットとは判断されなかったパケットを意味するとしてよい。このようなパケットは、1以上のエラーを含むか、形式が未知であるか、怪しいコンテンツを含むか、または、ローカルネットワークの外部のリモートソースから得られたものであるとしてよい。このため、当該パケットはさらに中央制御モジュール36で検査するとしてよい。
トンネリングパケットは、PHYデバイスおよび/またはPHYデバイスのモジュールには認識可能でないパケットであって、PHYデバイスおよび/またはPHYデバイスのモジュールによって既に検査されているとしてよく、および/または、PHYデバイスおよび/またはPHYデバイスのモジュールが当該パケットが有効なパケットであるかまたは無効なパケットであるかを判断できないパケットを意味する。トンネリングパケットは、PHYデバイスおよび/またはPHYデバイスのモジュールによって検査されないとしてよく、単に中央制御モジュール36に転送されるとしてよい。無効なパケットは、検査により無効であると判断されたパケットである。無効なパケットは、形式、署名、パターンおよび/または値が不適切であるとしてよい。PHYデバイスおよび/またはPHYデバイスのモジュールによってパケットが無効であると判断される場合、当該パケットは、ドロップされ、削除され、アクセスシャーシ内のデバイスまたはモジュールに転送されないように抑制され、および/または、ファブリックカード20のうち1つに転送されないとしてよい。トンネリングパケットおよびさらにローカライズされた検査が実行されるべきであるパケットは、疑惑パケットと呼ばれるとしてよい。
PHYデバイス24、44はそれぞれ、各ファブリックカード20への通信リンクを含むとしてよい。図2において、FC1はファブリックカードを意味する。FC2はファブリックカードを意味する。通信リンクFC1、FC2のそれぞれの下付き文字は、PHYデバイス44のうち1つを意味する。例えば、FC1はファブリックカードとPHYデバイスとの間の通信リンクを意味する。ロードバランシングおよび/またはインターフェース冗長性のために、2つの通信リンクが設けられている。ロードバランシングは、同一期間において2つ以上のリンクを介して等量のデータを輸送することを含むとしてよい。インターフェース冗長性は、2つ以上のインターフェース(または通信リンク)を含むことを意味するとしてよく、これらのインターフェースのうち1以上は、インターフェースがディセーブルされた場合、または、利用不可能になった場合に利用できるようバックアップとして設けられる。
メモリデバイス40は、命令、コード、ルール、テーブル、および/または、パケットデータを格納するために用いられるとしてよい。命令、コード、ルール、および/または、テーブルは、DPIを実行する際、および/または、スイッチ42の状態を制御する際、中央制御モジュール36、統合スイッチ38、および/または、PHYデバイス44によって利用されるとしてよい。メモリデバイス40は、検査中のパケット、検査するべく選択されたパケットの複製、および/または、転送、アップリンクおよび/またはダウンリンクされるべきパケットを格納するために用いられるとしてよい。パケットは、当該パケットがアクセスシャース12を介してネットワークデバイス18の1つからインターネット16に転送される際に、アップリンクされる。パケットは、当該パケットがアクセスシャーシ12を介してインターネット16からネットワークデバイス18の1つへと転送される際に、ダウンリンクされる。
図3において、別のアクセスネットワーク50を図示している。一例を挙げると、アクセスネットワーク50は、アプリケーション認識ネットワークであってよく、1以上のアクセスシャーシ52(図示しているのはm個)、ネットワーク14、インターネット16、および、ネットワークデバイス18を含むとしてよい。アクセスシャーシ52は、ルータ、スイッチ、コンピュータ、サーバ、または、他の適切なアクセスデバイスを含むとしてよい。各アクセスシャーシ52は、ラインカード54を含む。各ラインカード54は、1以上のPHYデバイス56を含む。PHYデバイスの一例を図4に示す。各PHYデバイス56は、1以上のPHYモジュールを含む。一例となるPHYモジュールを図4に示す。PHYデバイス56は、ネットワーク14を介してネットワークデバイス18と通信する。
アクセスシャーシ52は、アクセスシャーシ同士の間、同一アクセスシャーシの複数のPHYデバイス同士の間、複数の異なるアクセスシャーシの複数のPHYデバイス同士の間、および/または、PHYデバイスとインターネット16との間において接続を実現するとしてよい。このため、アクセスシャーシ52は、ネットワークデバイス18同士の間、および/または、ネットワークデバイス18とインターネット16との間において接続を実現するとしてよい。
アクセスネットワーク50はさらに、中央ネットワークデバイス60を含むとしてよい。中央ネットワークデバイス60は、アクセスシャーシ52を制御するべく、DPIを実行するべく、および/または、アクセスシャーシ52が認識しないパケット(トンネリングパケットと呼ぶ)を検査するべく、利用されるとしてよい。トンネリングパケットは、アクセスシャーシ、PHYデバイスおよび/またはPHYデバイスのモジュールでは有効か無効化を判断できないパケットであるとしてよい。
中央ネットワークデバイス60は、アクセスシャーシ52からリモートのネットワーク内に配置されるとしてよく、および/または、アクセスシャーシ52のローカルネットワーク内に配置されるとしてよい。中央ネットワークデバイス60は、アクセスシャーシ52のうち1以上の内部に配置されるとしてよい。中央ネットワークデバイス60および/またはアクセスシャーシ52のうち1以上のアクセスシャーシ52を組み合わせることで、ネットワークデバイス18に対して1以上のサービスを提供するサービスプロバイダを構成しているとしてよい。
図1から図3に図示したPHYデバイス24、44、56およびPHYデバイス24、44、56のモジュールは、例えば、a)ネットワーク14またはインターネット16と、b)ラインカード22、34およびアクセスシャーシ52内のMACデバイスおよび/または他のより高位のレイヤのデバイスとの間に配置および/または接続されているとしてよい。PHYデバイス24、44、56は、ラインカード22、34およびアクセスシャーシ52の物理層にあるデバイスを意味するとしてよい。
さらに図4を参照すると、PHYデバイス100を図示している。PHYデバイス100は、ネットワーク間のセキュリティファイアウォールを提供するべく、ゼロデイ攻撃防止を実行するべく、アクセスエンタープライズネットワークにおいて等で利用されるとしてよい。PHYデバイス100は、PHYパッケージにおけるファイアウォールと呼ばれるとしてよい。PHYデバイス100は、一のPHY層だけでなく、複数の国際標準化機構(ISO)レイヤおよび/または開放型システム間相互接続(OSI)レイヤにわたって動作するファイアウォール機能を提供するとしてよい。ファイアウォール機能は、複数のPHY層およびPHY層よりも高位の層(例えば、MAC層)にわたって提供される。ゼロデイ攻撃は、コンピュータアプリケーションにおいてこれまでに未知の脆弱性を利用する攻撃である。ゼロデイ攻撃は、脆弱性を認識した「0日目」に発生する。これは、脆弱性に対処しパッチを適用するための日にちがゼロであったことを意味する。ゼロデイ攻撃は、攻撃を実行するセキュリティホールを利用するソフトウェアを利用する。ゼロデイ攻撃防止は、ゼロデイ攻撃の防止と呼ばれる。これは、ウイルスまたはワームに対応付けらえているパケット等、無効なパケットが拡散しないように(つまり、ネットワーク内でその先に進まないように)抑制することを含むとしてよい。これは、攻撃を検出すると、無効なパケットをドロップ(または削除)することを含む。このようなパケットの検出およびドロップは、PHYデバイス100、ならびに/または、PHYデバイス100のデバイスおよび/もしくはモジュールのうち1つによって実行されるとしてよい。
アクセスエンタープライズネットワークにおいて、PHYデバイス100および/または1以上のデバイスおよび/またはPHYデバイス100のモジュールは、ネットワークデバイスがインターネット16にアクセスしないように防止するべく、および/または、インターネット16へのアクセスを限定するべく利用されるとしてよい。PHYデバイス100のデバイスおよびモジュールの例を以下で説明する。
PHYデバイス100は、PHYモジュール102(PHYチャネルとも呼ばれる)、メモリ制御モジュール104、PHYメモリ106、および、ネットワークインターフェース108(ファブリックインターフェースと呼ばれる)を含む。PHYデバイス100は、PHYモジュール102を介してネットワーク14と通信し、ネットワークインターフェース108を介して、例えば、統合スイッチ(例えば、統合スイッチ38)または中央ネットワークデバイス(例えば、中央ネットワークデバイス60)と通信する。統合スイッチおよび中央ネットワークデバイスは、図4においてアクセスデバイス112として図示されている。統合スイッチは、PHYモジュール102同士の間、および/または、複数の異なるPHYデバイスの複数のPHYモジュール同士の間においてパケットをルーティングするためのスイッチングを提供するとしてよい。
各PHYモジュール102は、メディア依存インターフェース(MDI)114(または、第1のネットワークインターフェース)、入力モジュール116、インターフェースバス118、および、出力モジュール120を含むとしてよい。MDI114は、例えば、ネットワーク14を介して1以上のネットワークデバイスからパケットを受信し、パケットを入力モジュール116に転送する。MDI114はさらに、出力モジュール120からパケットを受信して、例えば、ネットワーク14を介してネットワークデバイスにパケットを送信する。一実施例によると、各MDI114は、ツイストワイヤペアに接続されている。図示した実施例では、PHYデバイス100は8個のMDIまたは他の適切なインターフェースを含む。
入力モジュール116、出力モジュール120および/または他のモジュールおよび/またはインターフェースバス118以外の各PHYモジュール102のデバイスはまとめて、PHYハードウェアと呼ぶとしてよい。入力モジュール116は、入力正規表現(RegEx)モジュール116−1、入力パーシングモジュール116−2、第1の受信モジュール116−3、受信ファーストインファーストアウト(FIFO)モジュール116−4、および、第1の送信モジュール116−5を含むとしてよい。PHYモジュール102は、入力モジュール116のうち1以上の入力モジュール116を含まないとしてもよい。入力RegExモジュール116−1は、含まれる場合、パケットを検査するべくRegExプロセスを実行する。RegExプロセスは、データの文字、ワード、署名またはパターンを、データの所定の文字、ワード、署名およびパターンと比較することを含む。RegExプロセスは、DPIプロセスの一部として実行されるとしてよい。入力RegExプロセスは、有効または無効であるパケットを即座に特定するべく実行されるとしてよい。
入力パーシングモジュール116−2は、無効なパケットを破棄するとしてよく、有効なパケットおよび/または有効なパケットのヘッダをインターフェースバス118および第1の受信モジュール116−3に転送するとしてよい。第1の受信モジュール116−3は、ダイレクトメモリアクセス(DMA)デバイスであってよく、および、入力パーシングモジュール116−2および/またはインターフェースバス118から受信するパケット、パケットの一部、パケット記述子および/またはパケット情報を、PHYメモリ106および/またはインターフェースバス118のバスメモリ130内に、複製および/または格納するとしてよい。インターフェースバス118のバス制御モジュール132は、バスメモリ130内のデータの格納を制御するとしてよい。PHYメモリ106内の格納は、メモリ制御モジュール104を介して実行されるとしてよい。パケットの一部は、1以上のヘッダおよび/またはパケットのペイロードを含むとしてよい。パケット情報は、ヘッダおよび/または他の情報に含まれている情報、例えば、パケットの検査レベル、ソースアドレス、デスティネーションアドレス、ソースID、デスティネーションID、プロトコルID、パケットの長さ等を含むとしてよい。検査レベルは、パケットが、有効なパケットであるか否か、バス制御モジュール132および/またはバス正規表現モジュール134によって追加で検査を実行すべきであるパケットであるか否か、中央制御モジュール(例えば、中央制御モジュール62)へトンネリングさせるべきパケットであるか否か、または、ドロップすべき無効なパケットであるか否かを示すとしてよい。
入力パーシングモジュール116−2はさらに、インターフェースバス118および/またはバス制御モジュール132に対して、パケットはインターフェースバス118および/またはバス制御モジュール132によって検査すべきか否かを示すとしてよい。第1の受信モジュール116−3は、インターフェースバス118からの命令に基づいて、a)PHYメモリ106にパケットを格納し、および/または、PHYメモリ106にパケットを複製し、および/または、b)パケットを受信FIFOモジュール116−4に転送するとしてよい。
受信FIFOモジュール116−4は、含まれている場合、ネットワークインターフェース108(または第2のネットワークインターフェース)に転送すべきパケットを格納する。バスメモリ130および/またはPHYメモリ106に格納されているパケット、パケット記述子および/またはパケット情報は、バス制御モジュール132および/またはインターフェースバス118のバスRegExモジュール134による検査のために受信FIFOモジュール116−4に格納されているとしてよい。バス制御モジュール132および/またはバスRegExモジュール134は、それぞれ別個に、または、集合的に、ローカル制御モジュールと呼ばれるとしてよく、パケットについてローカライズされた検査を実行するとしてよい。
第1の送信モジュール116−5はさらに、DMAデバイスであってよく、受信FIFOモジュール116−4、PHYメモリ106、および/または、インターフェースバス118から受信したパケットをネットワークインターフェース108に送信するとしてよい。第1の送信モジュール116−5は、インターフェースバス118および/またはインターフェースバス118のモジュールから受信した命令に基づき、a)PHYメモリ106に格納されているパケットにアクセスし、および/または、b)ネットワークインターフェース108にパケットを転送するとしてよい。第1の送信モジュール116−5は、ネットワークインターフェース108、アクセスデバイス112に対して、パケットを統合スイッチおよび/または中央制御モジュールによって検査すべきか否かを示すとしてよい。
インターフェースバス118は、アドバンスドエクステンシブルインターフェース(AXI)であってよく、および/または、アドバンスドマイクロコントローラバスアーキテクチャ(AMBA)を持ち、AMBAプロトコルを利用するとしてよい。インターフェースバス118は、バスメモリ130、バス制御モジュール132、および、バスRegExモジュール134を含むとしてよい。バスメモリ130は、例えば、SRAMまたは他の適切なメモリを含むとしてよい。バスメモリ130は、DPIを実行する際、および/または、統合スイッチ、中央ネットワークデバイス(例えば、中央ネットワークデバイス60)および/またはアクセスデバイス(例えば、アクセスデバイス112)内のスイッチの状態を制御する際、アクセスデバイス112および/またはPHYデバイス100によって利用されるとしてよい。
バス制御モジュール132および/またはバスRegExモジュール134は、DPIを実行して、受信したパケットのセキュリティレベルを決定し、無効なパケットをドロップし、有効なパケットを転送し、および/または、さらなる検査のために中央制御モジュールにパケットをトンネリングするとしてよい。バス制御モジュール132は、バスRegExモジュール134が実行するRegExパーシングを制御するとしてよい。バス制御モジュール132は、ゼロデイ攻撃防止を実行する際に、バスメモリ130、メモリ制御モジュール104、および/または、PHYメモリ106を利用するとしてよい。各PHYモジュール102はバス制御モジュールおよび/または1以上のRegExモジュールを含むが、バス制御モジュールおよびRegExモジュールはMDI114毎に設けられるとしてよい。これによって、インターフェースまたはポートに特有のパケット検査およびRegExパーシングを実現する。
バス制御モジュール132は、アプリケーションベースのネットワーキングおよびネットワークセキュリティアプリケーションのためにコンテンツ署名認識タスクを実行するとしてよい。バス制御モジュール132は、ワイヤスピード(例えば、1Gbps)でパケットを検査するとしてよい。バス制御モジュール132は、ワイヤスピードで、パケットを分析して、当該パケットをドロップするか、転送するか、および/または、認識不可能と分類するかを判断するとしてよい。バス制御モジュール132は、32ビットプロセッサであってよい。それぞれのPHYモジュール102の各バス制御モジュールは、アクセスデバイス112と通信するとしてよい。この通信は、中央制御モジュールから、パケット検査に関するルールおよび/またはテーブルの更新を受信すること、および、PHYモジュール102から中央制御モジュールへと異常パケットおよび/または疑惑パケットを再ルーティングおよび/または報告することを含むとしてよい。
出力モジュール120は、出力RegExモジュール120−1、出力パーシングモジュール120−2、第2の受信モジュール120−3、送信FIFOモジュール120−4および第2の送信モジュール120−5を含むとしてよい。PHYモジュール102は、出力モジュール120のうち1以上の出力モジュール120を含まないとしてもよい。出力RegExモジュール120−1は、含まれている場合、RegExプロセスを実行して、ネットワークインターフェース108を介してPHYモジュール102のうち1つのPHYモジュール102から受信したパケットを検査する。RegExプロセスは、データの文字、ワード、署名またはパターンを、データの所定の文字、ワード、署名およびパターンと比較することを含む。RegExプロセスは、DPIプロセスの一環として実行されるとしてよい。出力RegExプロセスは、有効または無効のいずれかであるパケットを即座に特定するべく実行されるとしてよい。
RegExモジュール116−1、120−1、134は、RegExマッチングに基づいて、パケットフィルタリングを実行するとしてよい。RegExモジュール116−1、130−1、134は、1以上のパケットを分析して、各パケットおよび/または複数のパケットにわたってヘッダおよび/またはペイロードのパターンを検出するとしてよい。RegEx検索は、全周囲にまたがるファイアウォールを実現するべく、複数の連続したパケットおよび/または複数の非連続のパケットにわたってパターンを検出するべく実行されるとしてよい。これは、所定のデスティネーションおよび/またはコンピュータを宛先とするパケットをブロックするための完全なパケットインターネットプロトコル(IP)ブロッキングを含むとしてよい。RegExモジュール116−1、120−1、134は、組織化された修正動作が配置可能になるまで、攻撃を一時的に抑制するか、または、攻撃を停止させるとしてよい。これによって、攻撃の誤検出の可能性が発生し、未検出(または、攻撃を示唆するエラー)を見逃さないようになる。RegExモジュール116−1、120−1、134はそれぞれ、1以上の三値連想メモリ(TCAM)を含むとしてもよいし、1以上のTCAMで置き換えられるとしてもよいし、または、1以上のTCAMと共に用いられるとしてもよい。図4において、一のTCAM135を図示している。
連想メモリ(CAM)は、一回のクロックサイクルで全コンテンツを捜索可能とする特定用途向けメモリである。二値CAMは完全一致検索を実行するが、TCAMは、「ドントケア」を利用したパターンマッチングを可能とする。「ドントケア」は、検索時にワイルドカードとして利用され、ルーティングテーブルにおいて最長プレフィクスマッチング検索を実行する際に利用される。上記のTCAMは、パケット分類のために、そして、ハードウェアマッチングを加速化するために利用されるとしてよい。TCAMは、RegExパケット検査において利用される正規表現の決定性有限オートマトン(DFA)表現を格納するために用いられるとしてよい。DFAは、5個の要素(例えば、Q、Σ、δ、q、A)から成る。ここで、Qは状態の集合、Σはアルファベット、δはQおよびΣに基づく遷移関数、qは開始状態、Aは受容状態の集合である。
出力パーシングモジュール120−2は、無効パケットを破棄するとしてよく、および、有効パケットおよび/または有効パケットのヘッダをインターフェースバス118および第2の受信モジュール120−3に転送するとしてよい。第2の受信モジュール120−3は、DMAデバイスであってよく、出力パーシングモジュール120−2および/またはインターフェースバス118から受信したパケット、パケットの一部、パケット記述子および/またはパケット情報を、バスメモリ130および/またはPHYメモリ106に、複製および/または格納するとしてよい。バスメモリ130への格納は、バス制御モジュール132を介して実行されるとしてよい。PHYメモリ106への格納は、メモリ制御モジュール104を介して実行されるとしてよい。パケットの一部は、1以上のヘッダおよび/またはパケットのペイロードを含むとしてよい。パケット情報は、ヘッダに含まれている情報および/または他の情報、例えば、パケットの検査レベル、ソースアドレス、デスティネーションアドレス、ソースID、デスティネーションID、プロトコルID、パケットの長さ等を含むとしてよい。
出力パーシングモジュール120−2はさらに、インターフェースバス118および/またはバス制御モジュール132に対して、インターフェースバス118および/またはバス制御モジュール132によってパケットを検査すべきか否かを示すとしてよい。第2の受信モジュール120−3は、パケットをPHYメモリ106に格納し、および/または、パケットをPHYメモリ106に複製するとしてよく、および/または、インターフェースバス118からの命令に基づいて送信FIFOモジュール120−4にパケットを転送するとしてよい。
送信FIFOモジュール120−4は、第2の送信モジュール120−5に転送すべきパケットを格納する。バスメモリ130および/またはPHYメモリ106に格納されているパケット、パケット記述子および/またはパケット情報は、バス制御モジュール132および/またはバスRegExモジュール134による検査のために、送信FIFOモジュール120−4に格納されるとしてよい。第2の送信モジュール120−5もまた、DMAデバイスであってよく、送信FIFOモジュール120−4、PHYメモリ106、および/または、インターフェースバス118から受信したパケットを、MDI114のうち一の対応するMDI114に、送信するとしてよい。第2の送信モジュール120−5は、PHYメモリ106に格納されているパケットにアクセスし、および/または、インターフェースバス118、バス制御モジュール132および/またはバスRegExモジュール134から受信した命令に基づき、MDI114のうち対応する一のMDI114にパケットを転送するとしてよい。
メモリ制御モジュール104は、アービタとして、PHYモジュール102とPHYメモリ106との間のアクセスを制御するべく実行されるとしてよい。メモリ制御モジュール104は、PHYモジュール102のうち1以上のPHYモジュール102によるPHYメモリ106へのアクセスを許可し、PHYモジュール102のうち1以上のPHYモジュール102によるPHYメモリ106へのアクセスを禁止するとしてよい。メモリ制御モジュール104は、各PHYモジュール102のアクセス時間を決定し、これに応じてPHYメモリ106へのアクセスを許可する。メモリ制御モジュール104は、PHYモジュール102のうち第2のPHYモジュール102がPHYメモリ106へアクセスしている間、PHYモジュール102のうち第1のPHYモジュール102によるPHYメモリ106へのアクセスを許可するとしてよい。これに代えて、メモリ制御モジュール104は、PHYモジュール102のうち第2のPHYモジュール102がPHYメモリ106へアクセスしている間、PHYモジュール102のうち第1のPHYモジュール102によるPHYメモリ106へのアクセスを禁止するとしてもよい。
PHYメモリ106は、例えば、DDR3 SRAMおよび/または他の適切なメモリ、例えば、DRAM等を含むとしてよい。PHYメモリ106は、例えば、32ビットデータを並列に転送するべく、32ビットメモリインターフェースを持つとしてよい。PHYメモリ106は、PHYデバイス100の外部であってもよく、および/または、PHYデバイス100上に一体的に形成されているか、または、PHYデバイス100の一部として一体的に形成されているとしてよい。一実施例によると、PHYデバイス100は、集積回路(IC)またはシステムインパッケージ(SIP)であり、PHYメモリ106はPHYデバイス100とは別個のICである。PHYデバイス100は、メモリ制御モジュール104および/または対応するメモリインターフェース148を介してPHYメモリ106と通信する。メモリインターフェース148は、メモリ制御モジュール104とPHYメモリ106との間に接続されているとしてよい。
別の実施例によると、PHYデバイス100は第1のICであり、PHYメモリ106は第2のICであり、第1のICおよび第2のICはSIPの一部として形成されている。さらに別の実施例によると、PHYデバイス100は第1のSIPであり、PHYメモリ106は第2のSIPであり、第1のSIPおよび第2のSIPは、パッケージオンパッケージ(POP)プロセスを用いて一体的にパッケージングされる。第2のSIPは、第1のSIP上に積層されるとしてよく、メモリインターフェース(例えば、メモリインターフェース148)がSPI同士の間に配置され、第1のSIPと第2のSIPとの間で信号をルーティングする。第1のSIPおよび第2のSIPは、例えば、メモリボールグリッドアレイ(BGA)パッケージであってよい。
PHYメモリ106は、入力モジュール116または出力モジュール120のうち1以上において混雑状態が発生すると、パケットをバッファリングするために用いられるとしてよい。PHYメモリ106は、命令、コード、ルール、テーブル、および/または、パケットデータを格納するために用いられるとしてよい。命令、コード、ルールおよび/またはテーブルは、DPIを実行する際、および/または、スイッチの状態を制御する際(例えば、ファブリック制御モジュールおよび/またはネットワークインターフェース108内のスイッチ)、中央制御モジュール、統合スイッチおよび/またはモジュール116−1、120−1、132、134によって利用されるとしてよい。一実施例によると、命令、コード、ルールおよび/またはテーブルは、例えば、バスメモリ130に利用可能なスペースが無い場合には、PHYメモリ106に格納される。別の実施例によると、命令、コード、ルール、および/または、テーブルは、例えば、PHYメモリ106に利用可能なスペースが無い場合には、バスメモリ130に格納される。
バスメモリ130およびPHYメモリ106は、検査中のパケット、検査すべき選択されたパケットの複製、および/または、転送、アップリンクおよび/またはダウンリンクすべきパケットを格納するために用いられるとしてよい。バスメモリ130およびPHYメモリ106は、アクセスネットワーク(例えば、アクセスネットワーク10、50のうち一方)内の複数のポイントにおいて一時的に混雑状態が発生する場合、パケットのバッファリングに利用されるとしてよい。バスメモリ130は、一の特定のPHYモジュール(例えば、PHYモジュールPHY1)に専用であってよく、PHYメモリ106は、PHYモジュール102のそれぞれと共有されるとしてよい。これによって、一のPHYデバイス100に利用されるPHYメモリの数を最小限に抑える。
図示している例では、ネットワークインターフェース108は、第1の媒体アクセス制御(MAC)インターフェース140、第2のMACインターフェース142、第1のquad−serial gigabit media independent interface(QSGMII)144、および、第2のQSGMII146を含む。MACインターフェース140、142は、10ギガビットイーサネット(登録商標)インターフェースであってよい。第1および第2のMACインターフェース140、142はそれぞれ、MACの機能を実行するとしてよく、例えば、アクセスデバイス112を介したファブリックカードへの通信リンクを構成するとしてよい。第1および第2のMACインターフェース140は、例えば、モジュラーアクセスシャーシ(例えば、図1のアクセスシャーシ12)を介して低コストでDPIを実現可能とすることを目的として、バックプレーンを介してアクセスデバイス112を接続するべく10GE−KRインターフェースを持つとしてよい。第1および第2のQSGMII144、146は、アクセスデバイス112への2つの並列な通信リンクを実現するとしてよい。
動作時、一例として、各MDI114が毎秒1ギガビット(1Gbps)のデータを受信または送信する一方、各インターフェース140、142、144、146は10Gbpsで受信または送信するとしてよい。MDI114は、1Gbpsイーサネット(登録商標)(GE)のポートであってよく、インターフェース140、142、144、146は10GEポートを持つとしてよい。この結果、MDI114およびネットワークインターフェース108を介したPHYデバイス100は、1GEポートの10GEインターフェース140、142、144、146への動的バインディングを実現するとしてよい。これは、ロードバランシング、インターフェース冗長性、アップリンク用のインターリーブされたパケットの時分割多重化スケジューリング、PHYメモリへのデータのバッファリング、および、データバーストの克服またはデータバーストへの対処を目的としたPHYメモリへのデータのバッファリングを含むとしてよい。ロードバランシングは、同一期間において2個以上のインターフェースを介して等量のデータを輸送することを含むとしてよい。インターフェース冗長性は、2個以上のインターフェースを用意し、インターフェースのうち1以上をバックアップとして設けることを意味するとしてよい。
PHYデバイス100、PHYモジュール102、ならびに/または、第1および第2のMACインターフェース140、142は、米国電気電子学会(IEEE)1588−2008規格のアドレスネットワークベースのタイミングおよび同期を実行するとしてよい。これは、PHYデバイス100の外部の制御モジュール(例えば、中央制御モジュール62)と、バス制御モジュール(例えば、バス制御モジュール132)のクロックとを同期させるべく高精度時間プロトコル(PTP)を利用することを含むとしてよい。PHYデバイス100、PHYモジュール102、ならびに/または、第1および第2のMACインターフェース140、142はさらに、媒体アクセス非依存型プロトコルについてコネクションレス型のデータの信頼性および整合性を定義しているIEEE802.1AE−2006セキュリティ規格を満たすMACセキュリティ(MACSec)をサポートしているとしてよい。
PHYデバイス100はさらに、セキュリティキャッシュモジュール(SCM)150を含むとしてよい。パケットおよび/またはパケット情報は、パーシングモジュール116−2、120−2および/またはインターフェースバス118と、セキュリティキャッシュモジュール150との間で送信されるとしてよい。セキュリティキャッシュモジュール150は、文字、データパターン、ソースアドレス、デスティネーションアドレス、および/または、パケットの種類を示す他のパケット情報を格納するとしてよい。PHYモジュール102のそれぞれのパーシングモジュール116−2、120−2は、このパケット情報に基づいて、パケットが有効または無効であると判断するとしてよい。
図1から図4を参照すると、PHYデバイス24、44、56、100および/またはPHYモジュール102は、アクセスネットワークの外周における複数の実施点に沿って攻撃を検出するための複数の分散したセンサとして実行されるとしてよい。中央制御モジュール36、62は、含まれる場合、複数の分散したセンサから、パケット情報および攻撃情報等の情報を収集するとしてよい。攻撃情報は、攻撃パターン、署名および/または本明細書で開示されている他の攻撃情報を含むとしてよい。中央制御モジュール36、62はこの後、ルールを適用し、および/または、収集した情報を分析して、攻撃があるか否か、および/または、パケットが有効および/または無効であるかを判断するとしてよい。パケットの種類を決定するとしてよく、パケットはこの分析の結果に基づいて転送されるとしてよい。この分析の結果は、パケット転送を判断することを目的として、中央制御モジュール36、62から複数の分散したセンサへと提供されるとしてよい。中央制御モジュール36、62は、複数の分散したセンサに対して、パケットの種類およびこれらの種類のパケットをどのように取り扱うかを指示するとしてよい。この情報は、例えば、今後利用するべく、PHYメモリ106、バスメモリ130、および/または、セキュリティキャッシュモジュール150に収集されるとしてよい。
ここでさらに図5を参照すると、マルチレベルセキュリティ検出を実現するPHYモジュール(例えば、PHYモジュール102のうちの1つ)の入力部分170が図示されている。入力部分170は、例えば、入力RegExモジュール(例えば、入力RegExモジュール116−1)に含まれているか、または、別箇であるフレーム間有限ステートマシン(FSM)モジュール172を含む。入力部分170は、入力(第1の)RegExモジュール116−1、入力パーシングモジュール116−2、バス制御モジュール132、セキュリティキャッシュモジュール150、および、バス(第2の)RegExモジュール134を含むとしてよい。
フレーム間FSMモジュール172および入力RegExモジュール116−1は、第1のセキュリティレベルを実現する。フレーム間FSMモジュール172は、パターンおよび署名の検索のために入力RegExモジュール116−1を利用する。第1のセキュリティレベルは、ゼロデイRegEx攻撃のパターンおよび署名を、ラインレート(例えば、1Gbps)、フレーム間FSMモジュール172が受信するパケットにおいて検出することを含む。パケットは、MDI(例えば、MDI)から受信するとしてよい。入力RegExモジュール116−1は、中央制御モジュール36、62のうち1つにパッチがインストールされる前にパケットを検出するべく所定のパターンおよび署名を発見するべくモニタリングする。入力RegExモジュール116−1は、モニタリングしている署名およびパターンをユーザが追加または変更できるようにプログラミング可能であるとしてよい。
入力RegExモジュール116−1は、アンカーおよびワイルドカードでRegExパーシングを実行するとしてよい。アンカーは、パケットの文字列における現在位置に応じてマッチングを成功または失敗させるアトミックゼロ幅アサーションを意味する。アンカーによって、入力RegExモジュール116−1が、文字列内を進んだり、または、文字を消費したりするわけではない。ワイルドカードは、ゼロ以上の文字とマッチングする文字を意味し、パターンまたは署名を効率的に検出するために用いられる。
入力RegExモジュール116−1は、パケットのヘッダおよび/またはペイロード、ならびに、複数の連続および/または不連続のパケット内を検索するとしてよい。フレーム間FSMモジュール172は、入力RegExモジュール116−1が決定したマッチングおよび/または比較に基づいて、第1のコマンド信号173を生成する。
入力パーシングモジュール116−2およびセキュリティキャッシュモジュール150は、第2のセキュリティレベルを実現する。入力パーシングモジュール116−2および/またはバス制御モジュール132は、オフロードされ有効性が確認されたデータパケットおよび/または識別できないパケットをSCM150にプッシュするとしてよい。入力パーシングモジュール116−2および/またはセキュリティキャッシュモジュール150はこの後、今後入力されるパケットと、これらのパケットのパターンとを比較するとしてよい。一例として、入力パーシングモジュール116−2は、SCM150に格納されている識別不可能というパケット種類のパターンを持つパケットを受信しても、当該パケットは分析しないとしてよい。これに代えて、入力パーシングモジュール116−2は、評価のために当該パケットを中央制御モジュールに直接転送するとしてよい。これによって、入力パーシングモジュール116−2のRegEx処理時間が短縮される。
入力パーシングモジュール116−2は、ワイヤスピード(例えば、1Gbps)で、オフロードされたデータフローに対してパケットパーシングを実行するとしてよい。入力パーシングモジュール116−2(ハードウェアパーサーと呼ばれる)は、5個の要素から成る値をパケットから抽出して、マッチングするか否かSCM150を走査するとしてよい。SCM150に格納されている値を、この5個の要素から成る値と比較するとしてよい。5個の要素から成る値は、トランスミッションコントロールプロトコル(TCP)またはインターネットプロトコル(IP)を構成するために用いられるとしてよく、例えば、ソースIPアドレス、デスティネーションIPアドレス、ソースポート番号、デスティネーションポート番号、および、プロトコルIDを含むとしてよい。SCM150は、各インターフェース114について、インターフェース固有エントリを持つとしてよい。例えば、信頼のおけるインターフェースは、信頼のおけないインターフェースとは異なる許可をSCM150について持つとしてよい。入力パーシングモジュール116−2が実行する比較は、SCM150に格納されている特定の値および/または5個の要素から成る値が、受信したパケットに対応付けられているインターフェースに対応付けられてアクセスできるか否かを判断する際の、当該インターフェースの識別情報の比較を含むとしてよい。入力パーシングモジュール116−2は、実行された比較およびSCM150に格納されている命令に基づき、第2のコマンド信号175を生成する。
バス制御モジュール132および/またはバスRegExモジュール134は、第3のセキュリティレベルを実現する。バス制御モジュール132は、受信したデータフローを検査して、(i)データフローを転送するとしてよく、および/または、(ii)有効性が証明されたおよび/または未知のデータフロー(識別不可能なパケットのフロー)を中央制御モジュールにトンネリングおよび/または複製するとしてよい。パケット検査の結果、バス制御モジュール132は、同じパターンを持つパケットを追加で受信する際に実行すべき動作に関して入力パーシングモジュール116−2に指示するべく、これまで未知であったフローの追加パターンをSCM150に格納するとしてよい。中央制御モジュールは、これに加えて、または、これに代えて、SCM150に格納すべき命令を提供するとしてよい。
バスメモリ130および/またはPHYメモリ106は、ハッシュテーブルを格納するとしてよい。当該ハッシュテーブルは、提供される命令および最近学習したデータフローに基づき更新されるとしてよい。命令は、バス制御モジュール132が特定のパターンを持つパケットを検出すると実行されるべき動作(例えば、ドロップまたは転送)を指定するとしてよい。RegExモジュール116−1、120−1、134およびSCM150は、格納されているパターン、署名および/または命令をユーザが追加または変更できるようにプログラミング可能であってよい。命令は、評価したパケットのセキュリティレベルを決定するように指示するとしてよい。バス制御モジュール132は、バスRegExモジュール134を用いて、受信したパケットにおけるパターンを検出した後、これに応じて第3のコマンド信号177を生成するとしてよい。バス制御モジュール132は、攻撃を検出するべく、有効性が証明されていないパケットのフロー(識別不可能なパケットのフロー)を追跡し続けるとしてよい。
図5のマルチレベルセキュリティ検出はPHYモジュールの入力部分について図示しているが、当該マルチレベルセキュリティ検出はPHYモジュールの出力部分にも実現されるとしてよい。一例として、出力RegExモジュール120−1および出力パーシングモジュール120−2は、フレーム間FSMモジュール172、入力RegExモジュール116−1および入力パーシングモジュール116−2によって実行されるように、第1および第2のセキュリティレベルを実行するとしてよい。バス制御モジュール132およびバスRegExモジュール134は、上述したのと同様に、出力について第3のセキュリティレベルを実現するとしてよい。
入力部分の各セキュリティレベルについてのコマンド信号173、175、177は、ドロップ−トンネリング−ローカル制御モジュール検査−転送(DTLF)信号として図示されている。コマンド信号は、セキュリティレベルモジュール180に提供される。セキュリティレベルモジュール180は、3つのコマンド信号173、175、177に基づいて、セキュリティレベルを決定し、セキュリティレベル信号182を生成する。
図示した例によると、セキュリティレベルモジュール180は、ORゲートを含む。各コマンド信号は、セキュリティレベルのうち対応するいずれか1つのセキュリティレベルが決定した、受信したパケットのセキュリティレベルを指定する。コマンド信号はそれぞれ、第1のレベルおよび第2のレベルのうち一方を指定するとしてよい。第1のレベルは、無効なパケットを意味する。第2のレベルは、有効なパケットを意味する。セキュリティレベルはそれぞれ、各パケットについて、または、一連または選択された一群のパケットについて、コマンド信号を提供するとしてよい。
第1の例として、パケットが無効であるか、または、パケットをドロップすべきである旨を示す際、コマンド信号は1に設定されるとしてよい。コマンド信号は、パケットが有効であるか、または、転送すべきである旨を示す際、0に設定されるとしてよい。この結果、コマンド信号のいずれかがパケットをドロップすべきという旨を示す場合、当該パケットをドロップする。これは、セキュリティレベルモジュール180またはORゲートの出力によって実現される。
別の例を挙げると、4つのセキュリティレベルが用いられるとしてよい。第1のレベルは、無効パケットまたはドロップパケットを示す。第2のレベルは、トンネリングパケットを示す。第3のレベルは、例えば、バスRegExモジュール134のバス制御モジュール132がローカル検査すべきパケットを示す。第4のレベルは、有効パケットまたは転送パケットを示す。この実施例によると、セキュリティレベルモジュール180は、3つのコマンド信号が示す最低レベルを決定する。このように示される最低レベルはこの後、セキュリティレベルモジュール180から報告され、例えば、図4の第1の送信モジュール116−5によってパケットをさらに検査するよう中央制御モジュールに指示するか否か判断するために用いられるとしてもよい。一実施例によると、最低レベルは、当該最低レベルが第2のレベルまたは第3のレベルである場合に報告されるとしてよく、当該最低レベルが第1のレベルまたは第4のレベルである場合には報告されないとしてもよい。別の実施例によると、最低レベルは、セキュリティレベルモジュール180が決定する最低レベルに関係なく報告される。
図1から図3を再度参照すると、PHYデバイス24、44,56、100および/またはPHYモジュール102の1以上のデバイスおよび/またはモジュールがプログラミング可能であるとしてよいので、アクセスネットワーク10、50のエッジにおいてDPIを含むカスタマイズされたセキュリティプラットフォームが提供されるとしてよい。
図6において、ネットワークインターフェース200を図示する。ネットワークインターフェース200は、ネットワークインターフェース108において、および/または、図1から図3のPHYデバイス24、44、56,100のうち1つにおいて利用されるとしてよい。ネットワークインターフェース200は、第1の多重化モジュール202、第1のQSGMII204、第2の多重化モジュール206および第2のQSGMII208を含む。第1および第2の多重化モジュール202、206は、多重化および逆多重化を実行する。
第1の多重化モジュール202は、第1のPHYモジュール群からの信号(例えば、8個のPHYモジュール出力信号)を、第1のQSGMII204が受信する多重化信号(例えば、4個の多重化信号)に多重化するとしてよい。第2の多重化モジュール206は、第2のPHYモジュール群からの信号(例えば、8個のPHYモジュール出力信号)を、第2のQSGMII208が受信する多重化信号(例えば、4個の多重化信号)に多重化するとしてよい。第1のPHYモジュール群は、第2のPHYモジュール群と同じであってもよいし、別であってもよい。第1の多重化モジュール202は、第1のQSGMII204からの出力信号を逆多重化して、第1のPHYモジュール群が受信する入力信号を生成するとしてよい。第2の多重化モジュール206は、第2のQSGMII208からの出力信号を逆多重化して、第2のPHYモジュール群が受信する入力信号を生成するとしてよい。第1および第2のQSGMII204、208の出力は、統合スイッチおよび/または中央制御モジュールと通信するとしてよい。
ネットワークインターフェース200は、第1の速度で動作しているPHYモジュールのポートを、第1のQSGMII204または第2のQSGMII208の一方に接続させ、第1のQSGMII204および第2のQSGMII208のそれぞれは、MDIとは異なる速度で動作する。一例として、第1の速度は、1Gbpsであってよく、第2の速度は、10Gbpsであってよい。多重化モジュール202、206が多重化および逆多重化を実行するので、ネットワークインターフェースでデータ信号をバッファリングする必要が無くなるとしてよい。
上述したアクセスネットワーク10、50およびPHYデバイス24、44、56、100は、数多くの方法を用いて動作させるとしてよく、方法の一例は図7の方法である。図7において、セキュリティ検出方法を含むネットワークアクセス方法を図示している。以下のタスクは、主に図1から図5の実施例に基づいて説明するが、本開示の他の実施例に応用するべく容易に変形され得る。以下のタスクは、繰り返し実行されるとしてもよいし、および/または、順序を変えて実行するとしてもよい。方法は、300で開始されるとしてよい。以下のタスク302−322は入力タスクであるが、出力モジュール120が実行する出力タスク等の出力タスクを実行する際に逆順で同様に実行するとしてもよい。また、以下のタスクは、一のパケットに基づいて説明しているが、複数のパケットおよび/または選択されたパケット群について実行されるとしてもよい。パケットは、連続したパケット列であってもよいし、または、非連続のパケット列であってもよい。
302において、入力RegExモジュール116−1は、MDIからパケットを受信する。パケットは、ネットワーク14を介してPHYモジュールPHYと通信するネットワークデバイス(例えば、ネットワークデバイス18のうち1つ)から受信されるとしてよい。入力RegExモジュール116−1は、パケットをドロップするか、または、転送するかを短時間で判断するべく、パケットの初期検査を実行するとしてよい。入力RegExモジュール116−1は、初期検査の結果に基づいて、第1のコマンド信号および/または第1のパケット情報信号を生成するとしてよい。第1のコマンド信号は、パケットのセキュリティレベルの第1の推定結果を示すとしてよい。第1の推定結果は、上述した4つのセキュリティレベルのうち1つであるとしてよい。第1のパケット情報信号は、上述したパケット情報を含むとしてよく、および/または、インターフェースバス118および/またはバス制御モジュール132がパケットを検査すべきか否かを示すとしてよい。パケット情報は、ソースアドレスおよびデスティネーションアドレス、プロトコルID、パケット長、パケット記述子等を含むとしてよい。初期検査は、パケットのドロップまたは転送を含むとしてよい。パケットは、転送される場合、入力パーシングモジュール116−2に提供される。
304において、入力パーシングモジュール116−2は、セキュリティキャッシュモジュール150に格納されている情報、第1のコマンド信号、および/または、第1のパケット情報信号に基づいて第2のパケット検査を実行し、第2のコマンド信号を生成するとしてよい。第2のパケット検査は、パケットをドロップするかまたは転送することを含むとしてよい。パケットは、転送される場合、第1の受信モジュール116−3および/またはインターフェースバス118に提供されるとしてよい。入力パーシングモジュール116−2は、第2のパケット検査の結果に基づいて、第2のコマンド信号および/または第2のパケット情報信号を生成するとしてよい。第2のコマンド信号は、パケットのセキュリティレベルの第2の推定結果を示すとしてよい。第2の推定結果は、上述した4つのセキュリティレベルのうち1つであってよく、第1の推定結果に基づいて決まるとしてよい。第2のパケット情報信号は、上述したようにパケット情報を含むとしてよく、および/または、インターフェースバス118および/またはバス制御モジュール132はパケットを検査すべきであるか否かを示すとしてよい。
305において、RegExモジュール116−1は、パケットが、セキュアでないパターンを持つか否か、および/または、セキュアデータフローに属するか否か(例えば、SCM150のテーブルに対応する「許可」エントリを持つか否か)を判断する。パケットがセキュアでないパターンを持たない場合、および/または、パケットがセキュアデータフローに属する場合、パケットのローカライズされた検査を省略して、パケットを安全に転送するべくタスク314を実行するとしてよい。ローカライズされた検査は、パケットが未知のデータフローに属する場合、および/または、RegExモジュール116−1および/またはSCM150によってさらに検査する旨が設定されている場合、実行されるとしてよい。パケットが、セキュアでない(または危険な)パターンを持ち、パケットの対応するSCMエントリが当該パケットは安全でない旨を示し、および/または、セキュアデータフローに属していない場合、パケットを中央制御モジュールにトンネリングさせるか、または、ドロップさせるべく、タスク306を実行するとしてよい。
306において、第1の受信モジュール116−3は、パケットおよび他の情報をバスメモリ130および/またはPHYメモリ106に格納するとしてよい。他の情報は、パケット記述子、第1および第2のコマンド信号、ならびに/または、第1および第2のパケット情報信号を含むとしてよい。
308において、インターフェースバス118は、第1のコマンド信号、第2のコマンド信号、第1のパケット情報信号および/または第2のパケット情報信号に基づき、パケットの第3の検査を実行する。バス制御モジュール132および/またはバスRegExモジュール134は、第3のパケット検査を実行するとしてよい。第3のパケット検査は、1以上のTCAMを用いて実行されるとしてよい。バス制御モジュール132は、パケットの第3の検査の結果に基づいて第3のコマンド信号および第3のパケット情報信号を生成するとしてよい。
第3のコマンド信号は、パケットのセキュリティレベルの第3の推定結果を示すとしてよい。第3の推定結果は、上述した4つのセキュリティレベルのうち1つであってよく、第1の推定結果および/または第2の推定結果に基づいて決まるとしてよい。第3の推定結果を生成することに代えて、または、加えて、セキュリティレベルモジュール180はセキュリティレベル信号を生成するとしてよい。セキュリティレベル信号は、第1のコマンド信号、第2のコマンド信号、および、第3のコマンド信号に基づいて生成されるとしてよい。第3のパケット情報信号は、上述したパケット情報を含むとしてよく、および/または、中央制御モジュール36または62がパケットを検査すべきか否かを示すとしてよい。中央制御モジュール36、62は、インターフェースバス118および/またはバス制御モジュール132が、パケットをドロップすべきか否か、または、PHYモジュールPHY(第1のPHYモジュール)から別の(第2の)PHYモジュール(例えば、PHYモジュール)に、または、PHYデバイス100とは別個のネットワークデバイスにパケットを転送すべきか否か、判断できない場合に、パケットを検査するように指示されるとしてよい。
302、304および308で実行される検査は、周期的に、ランダムに、所定数のパケットを受信した後に、所定のバイト数を受信した後に、所定数の有効パケットおよび/あるいは無効パケットを受信した後に、ならびに/または、所定の時間間隔で、実行されるとしてよい。302、304および308で説明した検査のうち1以上を実行して、残りは実行しないとしてもよい。タスク302、304および308のそれぞれにおいて、受信したパケットの一部または全てを検査するとしてよい。また、302、304および308のうち1つで検査されたパケットは、タスク302、304、308のうち他のタスクのうち1以上において検査されないとしてもよい。
310において、パケットは、中央制御モジュール36、62、第2のPHYデバイスおよび/またはPHYデバイス100とは別個のネットワークデバイスに転送される場合、受信FIFOモジュール116−4に格納されるとしてよい。312において、パケットおよび他の情報はこの後、第1の送信モジュール116−5に提供されるとしてよい。他の情報は、例えば、第1、第2および/あるいは第3のコマンド信号、セキュリティレベル信号、ならびに/または、上述した他のパケット情報を含むとしてよい。314において、第1の送信モジュール116−5は、パケットが第2のPHYモジュールに転送されるべきか否か、および/または、PHYデバイス100とは別個のネットワークデバイスに転送されるべきか否かを判断する。この判断は、第3のコマンド信号、セキュリティレベル信号および/または312で供給される他の情報に基づいて行われるとしてよい。タスク316は、パケットが転送される場合に実行されるとしてよい。それ以外の場合には、タスク315が実行されるとしてよい。
316において、後述するようにパケットは転送されるとしてよく、タスク322に基づいて説明するように、さらに検査するべく中央制御モジュールに送信されるとしてよい。パケットに対して316の転送および322の検査の両方を行う場合、当該パケットは、複数のデスティネーション(例えば、本来のデスティネーションおよび中央制御モジュール)にパケットを提供できるように、複製するとしてよい。
315において、第1の送信モジュール116−5は、当該パケットをさらに中央制御モジュール36、62で検査すべきか否かを判断する。この判断は、第3のコマンド信号、セキュリティレベル信号および/または312で提供される他の情報に基づいて行われるとしてよい。パケットをさらに検査する場合にタスク322が実行され、そうでない場合にはタスク330が実行されるとしてよい。
316において、パケットは、第1のPHYモジュールPHY1から、予測されるデスティネーションおよび/または元々選択されたデスティネーションへと転送されるとしてよい。入力パケットは、例えば、ネットワーク14から、アクセスデバイス112、統合スイッチ26、38のうち一方、ファブリックカード20、32の一方、および/または、中央ネットワークデバイス60に転送されるとしてよい。出力パケットは、例えば、アクセスデバイス112から、統合スイッチ26、38の一方から、ファブリックカード20、32の一方から、および/または、中央ネットワークデバイス60からネットワーク14に転送されるとしてよい。当該方法は、320で終了するとしてよい。
322において、パケットはネットワークインターフェース108を介して中央制御モジュール36、62にトンネリングされるとしてよい。PHYデバイス100のMACアドレスを持つMACヘッダをパケット(第1のパケット)に追加して、第2のパケットを形成するとしてよい。第2のパケットは、ネットワークインターフェース108を介して中央制御モジュール36、62に転送される。324において、中央制御モジュール36、62は、パケットの第4のパケット検査を実行するとしてよい。中央制御モジュール36、62は、周期的に、ランダムに、所定数のパケットを受信した後に、所定のバイト数を受信した後に、所定数の有効パケットおよび/あるいは無効パケットを受信した後に、ならびに/または、所定の時間間隔で、検査を実行するとしてよい。パケットは、PHYデバイス100が決定したセキュリティレベルに関係なく、中央制御モジュール36、62に転送されるとしてよい。
326において、中央制御モジュール36、62は、第1のパケットと同様のパケットをドロップし、および/または、転送しない旨を第1のPHYモジュールPHY1に指示する。この方法は、タスク326を実行した後に320で終了するとしてよい。タスク330はパケットがドロップされると実行され、それ以外の場合にはタスク316が実行される。
330において、パケットを、バスメモリ130、PHYメモリ106および/あるいは他のメモリ、モジュール、ならびに/または、PHYデバイス100のデバイスから削除する。これは、パケットを1以上のPHYモジュールおよび対応するメモリ、モジュールおよびデバイスから削除することを含むとしてよい。この方法は、タスク330の後320で終了するとしてよい。
上述したタスクは、説明のための例である。上述したタスクは、用途に応じて、連続して、同期して、同時に、継続的に、互いに重複する期間において、または、別の順序で実行されるとしてよい。また、どのタスクも、実施例および/またはイベントシーケンスに応じて、実行しなかったり、または、省略したりするとしてよい。
上述した特徴に加えて、本明細書で開示した実施例は、複数のPHYモジュールによってアクセスネットワークのエッジにおいて実行されるパケット検査を実現する。これによって、パケットの検査を複数のPHYモジュールに分散させることが可能となり、パケットが受信されると、パケットを受信するレートでパケットの検査を実行することが可能となる。これによって、検査処理は、中央制御モジュールから、複数のPHYデバイス内の複数のデバイスおよび/またはモジュールへと任される。
上記の説明は、本質的に説明に過ぎず、本開示、その用途または利用を限定することを目的とするものではない。本開示の広義の教示内容は、さまざまな形態で実現可能である。このため、本開示は特定の例を挙げているが、本開示の真の範囲は、図面、明細書および特許請求の範囲を参照することで他の変形例が明らかになるので、これに限定されるべきものではない。分かり易いように、同様の構成要素を特定するべく同一の参照番号を複数の図面にわたって利用している。本明細書で用いる場合、「A、BおよびCのうち少なくとも1つ」という表現は、非排他的論理和を利用した論理演算(A or B or C)を意味するものと解釈すべきである。方法を構成する1以上のステップは、本開示の原理を変更することなく、順序を変更して(または同時に)実行され得ることを理解されたい。
本明細書では、さまざまなデバイス、モジュール、信号、要素および/またはコンポーネントを説明する際に第1、第2、第3等の用語を利用しているが、これらの用語によって限定されるべきではない。これらの用語は、一の構成要素を別の構成要素から区別するためにのみ用いられているとしてよい。「第1」、「第2」および他の数値を含む用語は、本明細書で用いられる場合、文脈で明確に特定されていない限りは、順番を意味しない。このように、以下で説明する第1の構成要素は、実施例の教示内容から逸脱することなく、第2の構成要素と呼ぶことも可能である。
また、以下の説明では、さまざまな変更可能な文字および値を開示している。変更可能な文字および値は、一例に過ぎない。変更可能な文字は、任意に決定し、それぞれが異なるアイテムを特定または意味するために用いられるとしてよい。例えば、変更可能な文字nは、モジュールの数またはデバイスの数を意味するために用いるとしてよい。値もまた任意に決定し、用途毎に変化するとしてよい。
本明細書で用いる場合、「モジュール」という用語は、特定用途向け集積回路(ASIC)、電子回路、組み合わせ論理回路、フィールドプログラマブルゲートアレイ(FPGA)、コードを実行するプロセッサ(共有型、専用型またはグループ型)、説明した機能を実現するその他の適切なハードウェア素子、または、上記の一部または全てをシステムオンチップ構成等で組み合わせたものを意味するか、これらの一部であるか、または、これらを含むことを意味するとしてよい。「モジュール」という用語は、プロセッサが実行するコードを格納するメモリ(共有型、専用型またはグループ型)を含むとしてよい。
「コード」という用語は、上述したように、ソフトウェア、ファームウェアおよび/またはマイクロコードを含むとしてよく、プログラム、ルーチン、関数、クラスおよび/またはオブジェクトを意味するとしてよい。「共有」という用語は、上述したように、複数のモジュールのコードの一部または全てが一の(共有型)プロセッサを用いて実行されることを意味する。また、複数のモジュールからのコードの一部または全ては、一の(共有型)メモリに格納されるとしてよい。「グループ」という用語は、上述したように、一のモジュールからのコードの一部または全てが一のグループのプロセッサを用いて実行され得ることを意味する。また、一のモジュールからのコードの一部または全ては、一のグループのメモリを用いて格納されるとしてよい。
本明細書で説明した装置および方法は、1以上のプロセッサが実行する1以上のコンピュータプログラムで実現されるとしてよい。コンピュータプログラムは、非一時的有形コンピュータ可読媒体で格納されているプロセッサ実行可能命令を含む。コンピュータプログラムはさらに、格納されているデータを含むとしてよい。非一時的有形コンピュータ可読媒体の例は、これらに限定されないが、不揮発性メモリ、磁気ストレージおよび光ストレージである。

Claims (19)

  1. 第1のラインカードに実装されるように構成される物理層デバイスであって、
    メモリと、
    前記メモリへのアクセスを制御するメモリ制御モジュールと、
    (i)前記第1のラインカードに送信される複数のパケットを受信し、(ii)前記メモリ制御モジュールを用いて前記メモリに複数のパケットを格納する第1の物理層モジュールと、
    ネットワークインターフェースと
    前記第1の物理層モジュールと前記メモリを共有するように構成される第2の物理層モジュールと
    を備え、
    前記第1の物理層モジュールは、
    ネットワークを介してネットワークデバイスから前記複数のパケットを受信する少なくとも一のインターフェースと、
    制御モジュールおよび正規表現モジュールのうち少なくとも一方を含むインターフェースバスと
    を有し、
    前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記複数のパケットのセキュリティレベルを決定するべく前記複数のパケットを検査し、
    前記ネットワークインターフェースは、前記セキュリティレベルに基づいて、前記物理層デバイスとは別個のデバイスに前記複数のパケットを提供する物理層デバイス。
  2. 前記メモリは、ダブルデータレートメモリを有し、前記第1の物理層モジュールおよび前記第2の物理層モジュールと前記メモリとの間に接続されているメモリインターフェースを介してアクセス可能である請求項1に記載の物理層デバイス。
  3. 前記第1の物理層モジュールおよび前記第2の物理層モジュールは、第1のシステムインパッケージで実現され、
    前記メモリは、第2のシステムインパッケージで実現され、
    前記第1のシステムインパッケージおよび前記第2のシステムインパッケージは積層されている請求項1または2に記載の物理層デバイス。
  4. 前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記複数のパケットのそれぞれの前記セキュリティレベルを、
    有効、
    前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方を用いてさらに検査されるべきパケット、
    前記物理層デバイスとは別個の中央制御モジュールに、さらに検査されるべくトンネリングされるべきパケット、および、
    無効
    のうちいずれか1つであると判断する請求項1から3の何れか1項に記載の物理層デバイス。
  5. 有効というセキュリティレベルを持つ前記複数のパケットのそれぞれは、前記物理層デバイスから前記第1の物理層モジュールおよび前記第2の物理層モジュールとは別個の前記デバイスへと転送され、
    無効というセキュリティレベルを持つ前記複数のパケットのそれぞれは、ドロップされる請求項4に記載の物理層デバイス。
  6. 前記デバイスは、前記第1のラインカードとは別個であり、
    前記第1のラインカードとは別個の前記デバイスは、ファブリックカードに実装される統合スイッチであり、
    前記第1の物理層モジュールおよび前記第2の物理層モジュール、前記ファブリックカードと通信する
    請求項1から5の何れか1項に記載の物理層デバイス。
  7. 前記ネットワークインターフェースは、前記複数のパケットのうち選択されたパケットを中央制御モジュールに提供し、
    前記中央制御モジュールは、(i)前記物理層デバイスとは別個であり、(ii)前記ファブリックカードに実装され、
    前記ネットワークインターフェースは、前記中央制御モジュールによって実行される前記複数のパケットのうち前記選択されたパケットの検査に基づいて、前記複数のパケットのうち前記選択されたパケット以外のパケットを転送する請求項6に記載の物理層デバイス。
  8. 三値連想メモリをさらに備え、
    前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、前記三値連想メモリを用いて、前記複数のパケットを検査して前記複数のパケットの前記セキュリティレベルを決定する請求項1から7の何れか1項に記載の物理層デバイス。
  9. 前記メモリは、第1のメモリであり、
    前記インターフェースバスは、第2のメモリを含み、
    前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、(i)前記複数のパケットが安全でないか否かを判断し、(ii)前記複数のパケットが安全でない場合、前記複数のパケットおよび対応するパケット情報を、前記第1のメモリおよび前記第2のメモリのうち少なくとも一方に格納し
    前記パケット情報は、前記複数のパケットの前記セキュリティレベルを含む請求項1から8の何れか1項に記載の物理層デバイス。
  10. ルールおよびテーブルのうち少なくとも一方を格納するセキュリティキャッシュモジュールと、
    前記ルールおよび前記テーブルに基づき、前記複数のパケットを検査する入力パーシングモジュールと
    をさらに備える請求項1からの何れか1項に記載の物理層デバイス。
  11. 前記インターフェースバスは、前記制御モジュールを有し、
    前記制御モジュールは、検査結果を生成するべく前記複数のパケットを検査し、前記検査結果に基づいて前記セキュリティキャッシュモジュールを更新する請求項10に記載の物理層デバイス。
  12. 前記第1の物理層モジュールはさらに、
    (i)第1のコマンド信号を生成するべく前記複数のパケットを検査し、(ii)前記複数のパケットの前記検査に基づいて、前記複数のパケットを転送またはドロップする第1の検査モジュールと、
    (i)前記第1の検査モジュールから転送された複数のパケットを受信し、(ii)第2のコマンド信号を生成するべく、前記第1の検査モジュールから転送された前記複数のパケットを検査し、(iii)前記第1の検査モジュールから転送された前記複数のパケットを転送またはドロップする第2の検査モジュールと
    を有し、
    前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方は、(i)前記第2の検査モジュールから転送された複数のパケットを受信し、(ii)第3のコマンド信号を生成するべく、前記第2の検査モジュールから転送された前記複数のパケットを検査し、(iii)前記第2の検査モジュールから転送された前記複数のパケットを転送またはドロップする
    前記第1の物理層モジュールはさらに、
    前記第1のコマンド信号、前記第2のコマンド信号および前記第3のコマンド信号に基づいてセキュリティレベル信号を生成するセキュリティレベルモジュール
    を有し、
    前記ネットワークインターフェースは、前記セキュリティレベル信号に基づき、前記物理層デバイスとは別個の前記デバイスに、前記制御モジュールおよび前記正規表現モジュールのうち前記少なくとも一方から転送された複数のパケットを提供する請求項1から11の何れか1項に記載の物理層デバイス。
  13. 前記第1の物理層モジュールは、複数のモジュールを有し、
    前記複数のモジュールはそれぞれ、前記複数のパケットを検査して、複数のセキュリティレベル推定結果を生成し、
    前記第1の物理層モジュールはさらに、前記複数のセキュリティレベル推定結果に基づきセキュリティレベル信号を生成するセキュリティレベルモジュールを有し、
    前記セキュリティレベル信号に基づき、前記ネットワークインターフェースは、前記物理層デバイスとは別個の前記デバイスに前記複数のパケットを提供する請求項1から12の何れか1項に記載の物理層デバイス。
  14. 前記ネットワークインターフェースは、前記複数のパケットのうち選択されたパケットを検査のために中央制御モジュールに提供し、
    前記中央制御モジュールは、前記物理層デバイスとは別個であり、
    前記第1の物理層モジュールは、前記中央制御モジュールで実行される前記検査に基づいて前記中央制御モジュールから指示信号を受信し、前記指示信号に基づいて、前記複数のパケットのうち前記選択されたパケット以外のパケットを転送する
    請求項1から13の何れか1項に記載の物理層デバイス。
  15. クセスシャーシであって、
    請求項1から14のいずれか1項に記載の前記物理層デバイスと、
    前記第1のラインカードおよび第2のラインカードを有する複数のラインカードと
    を備え、
    前記複数のラインカードは、前記ネットワークデバイスから前記複数のパケットを受信し、前記物理層デバイスとは別個の前記デバイスに前記複数のパケットを送信し、
    前記アクセスシャーシはさらに、
    (i)前記第1のラインカードと前記第2のラインカードとの間で接続のスイッチングを行い、(ii)前記第1のラインカードから前記第2のラインカードへと前記複数のパケットを転送する少なくとも一のファブリックカードを備えるアクセスシャーシ。
  16. 前記少なくとも一のファブリックカードは、中央制御モジュールを有し、
    前記第1の物理層モジュールの入力モジュールおよび出力モジュールのうち一方は、前記複数のパケットのうち選択されたパケットを前記中央制御モジュールで検査すべきか否かを判断し、
    前記中央制御モジュールは、前記複数のパケットのうち前記選択されたパケットを前記中央制御モジュールで検査すべきか否かを判断することに基づいて、前記複数のパケットのうち前記選択されたパケットを検査する請求項15に記載のアクセスシャーシ。
  17. 前記中央制御モジュールは、前記複数のパケットのうち前記選択されたパケットと同様の形式を持つパケットをドロップするか、または、転送するかを示す指示信号を生成し、
    前記指示信号に基づき、前記物理層デバイスは、前記複数のパケットのうち前記選択されたパケットと同様の形式を持つ前記パケットをドロップまたは転送する請求項16に記載のアクセスシャーシ。
  18. 物理層デバイスを動作させるための方法であって、
    前記物理層デバイスは、第1の物理層モジュール、第2の物理層モジュール、メモリ制御モジュールおよびメモリを備え、前記物理層デバイスは、ラインカードに実装され、前記第1の物理層モジュールは、インターフェースバスを有し、前記インターフェースバスは、制御モジュールおよびバスモジュールのうちの少なくとも一方を有し、
    前記方法は、
    ネットワークデバイスからネットワークを介して前記ラインカードに送信される複数のパケットを前記第1の物理層モジュールのインターフェースで受信する段階と、
    前記複数のパケットをメモリに格納するべく前記第1の物理層モジュールから前記メモリ制御モジュールへと前記複数のパケットを転送する段階と、
    前記制御モジュールおよび前記バスモジュールのうち前記少なくとも一方を用いて前記複数のパケットのセキュリティレベルを決定するべく前記複数のパケットを検査する段階と、
    前記セキュリティレベルに基づいて、ネットワークインターフェースを用いて、前記物理層デバイスとは別個のデバイスに前記複数のパケットを提供する段階と
    を備え、
    前記第1の物理層モジュールは、前記第2の物理層モジュールと前記メモリを共有し、
    前記物理層デバイスは、前記ネットワークインターフェースを含む、方法。
  19. 第1の検査モジュールを用いて第1のコマンド信号を生成するべく前記複数のパケットを検査する段階と、
    第2の検査モジュールを用いて第2のコマンド信号を生成するべく前記複数のパケットを検査する段階と、
    第3のコマンド信号を生成するべく、前記制御モジュールおよび前記バスモジュールのうち前記少なくとも一方を用いて、前記複数のパケットを検査する段階と、
    前記第1のコマンド信号、前記第2のコマンド信号および前記第3のコマンド信号に基づいて、セキュリティレベル信号を生成する段階と、
    前記セキュリティレベル信号に基づき、前記複数のパケットを前記物理層デバイスとは別個の前記デバイスに提供する段階と
    をさらに備える請求項18に記載の方法。
JP2014525176A 2011-08-10 2012-08-10 イーサネット(登録商標)ネットワーク用のセキュリティ検出を備えたインテリジェントphy Active JP6074776B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161522158P 2011-08-10 2011-08-10
US61/522,158 2011-08-10
US201161533436P 2011-09-12 2011-09-12
US61/533,436 2011-09-12
US201161550315P 2011-10-21 2011-10-21
US61/550,315 2011-10-21
PCT/US2012/050373 WO2013023153A1 (en) 2011-08-10 2012-08-10 Intelligent phy with security detection for ethernet networks
US13/571,870 US8839405B2 (en) 2011-08-10 2012-08-10 Intelligent PHY with security detection for ethernet networks
US13/571,870 2012-08-10

Publications (2)

Publication Number Publication Date
JP2014525703A JP2014525703A (ja) 2014-09-29
JP6074776B2 true JP6074776B2 (ja) 2017-02-08

Family

ID=46750470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014525176A Active JP6074776B2 (ja) 2011-08-10 2012-08-10 イーサネット(登録商標)ネットワーク用のセキュリティ検出を備えたインテリジェントphy

Country Status (6)

Country Link
US (1) US8839405B2 (ja)
EP (1) EP2742649B1 (ja)
JP (1) JP6074776B2 (ja)
KR (1) KR101989586B1 (ja)
CN (1) CN103875214B (ja)
WO (1) WO2013023153A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130085570A (ko) * 2011-12-22 2013-07-30 한국전자통신연구원 단말 중심 사이버 공격 방지 방법 및 그에 따른 단말 장치
KR20150037940A (ko) * 2012-07-31 2015-04-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 네트워크 트래픽 처리 시스템
WO2014113055A1 (en) * 2013-01-17 2014-07-24 Xockets IP, LLC Offload processor modules for connection to system memory
US9264357B2 (en) * 2013-04-30 2016-02-16 Xpliant, Inc. Apparatus and method for table search with centralized memory pool in a network switch
CN104268165B (zh) * 2014-09-09 2017-12-29 华为技术有限公司 一种在线查询方法及设备
KR20160036201A (ko) * 2014-09-25 2016-04-04 한국전자통신연구원 비정상 통신 차단 장치 및 방법
US9525697B2 (en) * 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
US9483317B1 (en) 2015-08-17 2016-11-01 Varmour Networks, Inc. Using multiple central processing unit cores for packet forwarding in virtualized networks
EP3400682B1 (en) * 2016-01-07 2022-03-30 Genetec Inc. Network sanitization for dedicated communication function and edge enforcement
US10417458B2 (en) * 2017-02-24 2019-09-17 Microsoft Technology Licensing, Llc Securing an unprotected hardware bus
US11212257B2 (en) * 2018-06-22 2021-12-28 Aeronix, Inc. Multi-level secure ethernet switch
US11424953B2 (en) * 2018-11-28 2022-08-23 Kinnexa, Inc. Modular physical layer and integrated connector module for local area networks
CN109194591A (zh) * 2018-12-03 2019-01-11 济南浪潮高新科技投资发展有限公司 一种100g与10g以太互通系统及方法
US11115389B2 (en) * 2019-05-17 2021-09-07 Juniper Networks, Inc. Media access control security (MACsec) enabled links of a link aggregation group (LAG)
CN118199997A (zh) * 2023-10-23 2024-06-14 北京光润通科技发展有限公司 一种用于链路层组间路由安全级别审核的网卡

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100393053C (zh) * 2002-06-27 2008-06-04 中兴通讯股份有限公司 多路解复用发送受控器
US7711948B2 (en) * 2003-09-30 2010-05-04 Cisco Technology, Inc. Method and apparatus of communicating security/encryption information to a physical layer transceiver
US8656488B2 (en) 2005-03-11 2014-02-18 Trend Micro Incorporated Method and apparatus for securing a computer network by multi-layer protocol scanning
US7890991B2 (en) 2005-08-19 2011-02-15 Cpacket Networks, Inc. Apparatus and method for providing security and monitoring in a networking architecture
CN100596354C (zh) * 2005-10-17 2010-03-31 杭州华三通信技术有限公司 网络接入设备及其数据转发方法
US8255996B2 (en) 2005-12-30 2012-08-28 Extreme Networks, Inc. Network threat detection and mitigation
US7890612B2 (en) 2006-05-08 2011-02-15 Electro Guard Corp. Method and apparatus for regulating data flow between a communications device and a network
US7849503B2 (en) * 2007-06-01 2010-12-07 Hewlett-Packard Development Company, L.P. Packet processing using distribution algorithms
US8097956B2 (en) * 2009-03-12 2012-01-17 Apple Inc. Flexible packaging for chip-on-chip and package-on-package technologies
US8478982B2 (en) * 2009-08-06 2013-07-02 Broadcom Corporation Media access control security management in physical layer

Also Published As

Publication number Publication date
CN103875214A (zh) 2014-06-18
US8839405B2 (en) 2014-09-16
WO2013023153A4 (en) 2013-04-11
KR20140048284A (ko) 2014-04-23
US20130212670A1 (en) 2013-08-15
WO2013023153A1 (en) 2013-02-14
CN103875214B (zh) 2017-05-03
EP2742649B1 (en) 2015-06-03
JP2014525703A (ja) 2014-09-29
KR101989586B1 (ko) 2019-06-14
EP2742649A1 (en) 2014-06-18

Similar Documents

Publication Publication Date Title
JP6074776B2 (ja) イーサネット(登録商標)ネットワーク用のセキュリティ検出を備えたインテリジェントphy
EP2767064B1 (en) Intelligent connectors integrating magnetic modular jacks and intelligent physical layer devices
US8296846B2 (en) Apparatus and method for associating categorization information with network traffic to facilitate application level processing
US8665868B2 (en) Apparatus and method for enhancing forwarding and classification of network traffic with prioritized matching and categorization
US8959197B2 (en) Intelligent integrated network security device for high-availability applications
US8024799B2 (en) Apparatus and method for facilitating network security with granular traffic modifications
US7808897B1 (en) Fast network security utilizing intrusion prevention systems
US7882554B2 (en) Apparatus and method for selective mirroring
US7706378B2 (en) Method and apparatus for processing network packets
Gonzalez et al. Shunting: a hardware/software architecture for flexible, high-performance network intrusion prevention
US11314614B2 (en) Security for container networks
US20070056029A1 (en) Apparatus and method for providing security and monitoring in a networking architecture
US20070245417A1 (en) Malicious Attack Detection System and An Associated Method of Use
US20100011101A1 (en) Apparatus and method for biased and weighted sampling of network traffic to facilitate network monitoring
US20060168273A1 (en) Mechanism for removing data frames or packets from data communication links
JP2009510815A (ja) サーチ前のパケットのリアセンブル方法及びシステム
EP2452466B1 (en) Apparatus and method for enhancing forwarding, classification, and monitoring of network traffic
De Bruijn et al. Safecard: a gigabit ips on the network card
KR100864889B1 (ko) Tcp 상태 기반 패킷 필터 장치 및 그 방법
EP2929472B1 (en) Apparatus, system and method for enhanced network monitoring, data reporting, and data processing
Lin et al. Collaborative distributed intrusion detection system
Huang et al. On the design of a cost effective network security switch architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161220

R150 Certificate of patent or registration of utility model

Ref document number: 6074776

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250