(57)【要約】  ＭＡＣテーブルのオーバーフロー攻撃に対して防御するための方法が複数の操作を含む。ある操作は、ＭＡＣテーブル内の複数のＭＡＣアドレスのそれぞれが、対応する一方向トラフィックまたは双方向トラフィックを有するかどうかを決定するために実行される。その後、対応する双方向トラフィックを有するそれぞれのＭＡＣアドレスをＭＡＣアドレスの第１カテゴリと指定し、対応する一方向トラフィックを有するそれぞれのＭＡＣアドレスをＭＡＣアドレスの第２カテゴリと指定するために操作が実行される。規定のしきい値を超えるＭＡＣアドレスの第２カテゴリと指定されたＭＡＣアドレスの数に応じて、ＭＡＣアドレスの第２カテゴリと指定されたＭＡＣアドレスの少なくとも一部のタイムアウト値が、ＭＡＣアドレスの第１カテゴリと指定されたＭＡＣアドレスのタイムアウト値より少なくなるように操作が実行される。
2011509619.tif 000002
【特許請求の範囲】
【請求項１】
ＭＡＣテーブルのオーバーフロー攻撃に対して防御するための方法であって、
ＭＡＣテーブル内の複数のＭＡＣアドレスのそれぞれが対応する一方向トラフィックまたは双方向トラフィックを有するかどうかを決定するステップと、
対応する双方向トラフィックを有するそれぞれのＭＡＣアドレスを、ＭＡＣアドレスの第１カテゴリと指定するステップと
対応する一方向トラフィックを有するそれぞれのＭＡＣアドレスを、ＭＡＣアドレスの第２カテゴリと指定するステップと、
規定のしきい値を超えるＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの数に応じて、ＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの少なくとも一部のタイムアウト値が、ＭＡＣアドレスの第１カテゴリと指定された前記ＭＡＣアドレスのタイムアウト値よりも少なくなるようにするステップとを含む、方法。
【請求項２】
前記決定するステップ、前記指定するステップ、および前記少なくなるようにするステップが全てポートベースで実行される、請求項１に記載の方法。
【請求項３】
前記ＭＡＣアドレスの全てのタイムアウト値が、初めに共通のデフォルトタイムアウト値に設定され、
ＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの少なくとも一部のタイムアウト値が、ＭＡＣアドレスの第１カテゴリと指定された前記ＭＡＣアドレスのタイムアウト値より少なくなるようにするステップが、ＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスのタイムアウト値を、それぞれの規定のペナルティしきい値を超えるＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの数に応じて前記デフォルトタイムアウト値に関連して減らされた値に設定するステップを含む、請求項１に記載の方法。
【請求項４】
それぞれの規定の廃棄しきい値を超えるＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの数に応じて、ＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの少なくとも一部に関連付けられるトラフィックを廃棄するステップをさらに含む、請求項３に記載の方法。
【請求項５】
タイムアウト値を減らされた値に設定するステップが、
ＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスのタイムアウト値を、第１の規定のしきい値を超えるＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの数に応じて前記デフォルトタイムアウト値に関連して第１の減らされた値に設定するステップと、
ＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスのタイムアウト値を、第１の規定のしきい値よりも大きい第２の規定のしきい値を超えるＭＡＣアドレスの第２カテゴリと指定された前記ＭＡＣアドレスの数に応じて前記デフォルトタイムアウト値に関連して第２の減らされた値に設定するステップとを含む、請求項３に記載の方法。
【請求項６】
複数のＭＡＣアドレスエントリを内部に有するＭＡＣテーブルであって、前記エントリのそれぞれがそれぞれのＭＡＣアドレス、それぞれのＭＡＣアドレスカテゴリ、およびそれぞれのタイムアウト値を指定し、それぞれのＭＡＣアドレスカテゴリが一方向トラフィックに対応するＭＡＣアドレスカテゴリおよび双方向トラフィックに対応するＭＡＣアドレスカテゴリのうちの１つであるＭＡＣテーブルと、
前記一方向トラフィックＭＡＣアドレスカテゴリを指定するＭＡＣアドレスエントリの数の増加が規定のしきい値を超える時を判定するように構成された超過決定メカニズムと、
ＭＡＣアドレスカテゴリによって前記タイムアウト値を調整するように構成されたタイムアウト値調整メカニズムであって、前記調整するステップが前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの少なくとも一部のタイムアウト値がデフォルトタイムアウト値より少なくなるようにするステップを含むタイムアウト値調整メカニズムとを備える、イーサネット（登録商標）スイッチ。
【請求項７】
前記決定するステップおよび前記調整するステップがポートベースで実行される、請求項１０に記載のスイッチ。
【請求項８】
超過決定メカニズムが、
前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数の増加が第１の規定のペナルティしきい値を超える時、
前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数の増加が第２の規定のペナルティしきい値を超える時、および、
前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数の増加が規定の廃棄しきい値を超える時を判定するように構成され、
タイムアウト値調整メカニズムが、
前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリ内のタイムアウト値を、第１の規定のペナルティしきい値を超える前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数に応じてデフォルトタイムアウト値に対して第１の減らされた値に設定し、
前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリ内のタイムアウト値を、第２の規定のペナルティしきい値を超える前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数に応じて前記デフォルトタイムアウト値に対して第２の減らされた値に設定し、
廃棄しきい値を超える前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数に応じて前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの少なくとも一部に関連付けられるトラフィックを廃棄するように構成される、請求項１０に記載のスイッチ。
【請求項９】
超過決定メカニズムが、前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数が現在減らされたタイムアウト値に対応するしきい値を下回る時を判定するように構成され、
タイムアウト値調整メカニズムが前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリのタイムアウト値を、現在減らされたタイムアウト値に対応するしきい値から後退する前記一方向トラフィックＭＡＣアドレスカテゴリを指定する前記ＭＡＣアドレスエントリの数に応じて現在減らされたタイムアウト値ほど減らされないタイムアウト値に設定するように構成される、請求項１２に記載のスイッチ。
【請求項１０】
前記決定するステップおよび前記調整するステップがポートベースで実行される、請求項１２に記載のスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書でなされる開示は一般にＭＡＣ（メディアアクセス制御）テーブル内の送信元アドレス学習に関し、より詳細にはＭＡＣテーブル内の情報の制御を通じてＭＡＣテーブルのオーバーフロー攻撃に対する防御を容易にすることに関する。
【背景技術】
【０００２】
イーサネット（登録商標）スイッチ（すなわちスイッチ）は、イーサネット（登録商標）フレームからの物理的宛先アドレス（すなわちＭＡＣアドレス）によってイーサネット（登録商標）フレームを特定のポートに転送する。これを行うためには、スイッチはどのポートが特定の宛先アドレスにつながるかを覚えなければならない。この情報は送信元学習として知られている手段によってポピュレートされている（すなわち組み込まれている）ＭＡＣテーブルに格納される。送信元学習は、受信したイーサネット（登録商標）フレームの送信元アドレスを検査することによってイーサネット（登録商標）フレームのＭＡＣアドレスを動的に学習するスイッチを含む。このイーサネット（登録商標）フレームについてのＭＡＣアドレスがＭＡＣテーブル内に存在しない場合、このＭＡＣアドレスをＭＡＣアドレスが学習されたポートに関連付ける記録が作成される。
【０００３】
それぞれの動的に学習されたエントリは生存時間を有する。このように、それぞれのＭＡＣアドレスを指定しているイーサネット（登録商標）フレームが構成可能な期間にスイッチによって受信されない場合、ＭＡＣテーブル内のそれぞれのエントリはエージアウトしてしまう。この構成可能な期間はタイムアウト値と呼ばれる。ＭＡＣテーブルが一杯の場合、テーブル内のいくつかのエントリがエージアウトするまでＭＡＣアドレスは学習されない。
【０００４】
ＭＡＣテーブル内の情報を管理することに関連する悪行については、ＭＡＣテーブルのオーバーフロー攻撃がイーサネット（登録商標）ＬＡＮ、および、たとえばＭＰＬＳ（マルチプロトコルラベルスイッチング）を介する仮想プライベートＬＡＮサービス（ＶＰＬＳ）などの疑似イーサネット（登録商標）ＬＡＮサービスにとって主なリスクのうちの１つである。ＭＡＣテーブルのオーバーフロー攻撃では、攻撃者はイーサネット（登録商標）スイッチのＭＡＣテーブルの送信元学習を悪用しようとする。このような悪用は、イーサネット（登録商標）スイッチを多数の無効送信元ＭＡＣアドレスにさらして（すなわち無効送信元ＭＡＣアドレスの超過）、ＭＡＣテーブルをこのような無効送信元ＭＡＣアドレスで満たすことを含む。そうすることで、不明アドレスへの、またはそこからのトラフィックがイーサネット（登録商標）スイッチの全てのポートで超過してしまい、ネットワーク性能を著しく劣化させて、攻撃者がトラフィックをスヌープできるようにしてしまう。攻撃者が無効送信元ＭＡＣアドレスの超過を維持すると、最終的に全てのより古い正当なＭＡＣエントリがエージアウトし、全ての正当なトラフィックが超過してしまう。都市圏ネットワークまたは広域ネットワーク上にイーサネット（登録商標）が展開される際、性能およびセキュリティの両方の観点からＭＡＣアドレス超過に関連する問題はより深刻になっている。
【０００５】
ＭＡＣアドレス超過に対して防御するための１つの知られている手法は「ポートセキュリティ」と呼ばれる。ポートセキュリティは、イーサネット（登録商標）スイッチの特定のポートについて許容されたＭＡＣアドレスをネットワーク管理者が構成（たとえば統計的に構成）できるようにすることによってＭＡＣテーブルのオーバーフローを防止する働きをする。構成されたアドレス以外のアドレスから生じたフレームは廃棄される。しかし、それぞれのＭＡＣアドレスはイーサネット（登録商標）スイッチ上で手動で構成される必要があるので、適切にスケーラブルではないことがポートセキュリティの欠点である。したがって、ネットワークが十分に大きくなった場合（たとえばキャリアネットワーク）、全部のＭＡＣアドレスを手動で構成することはしばしば不可能である。
【０００６】
ポートセキュリティの拡張は「動的ポートセキュリティ」と呼ばれる。動的ポートセキュリティは、管理者がＭＡＣアドレス自体をただ構成できるのではなく、それぞれのポートについて許容されたＭＡＣアドレスの数を指定できるようにする。構成されたポートについて指定された数のＭＡＣアドレスが学習されると、他の送信元ＭＡＣアドレスは許容されなくなる。このように、動的ポートセキュリティはＭＡＣアドレスの手動構成問題を解決する。しかし、動的ポートセキュリティもそれ自体の欠点がないわけではない。たとえば攻撃者があるポートでＭＡＣ超過攻撃を仕掛ける場合、ＭＡＣアドレスの許容制限に到達すると、同じポートに接続された正当なホストに対してサービスの妨害（ＤｏＳ）攻撃を引き起こすことがある。さらに、動的ポートセキュリティは柔軟性が制限されている。新しいユーザがポートに追加されると、スイッチ上のＭＡＣアドレスの許容制限を引き上げてより多くのＭＡＣアドレスを収容しなければならない。これらの理由から、動的ポートセキュリティはサービスプロバイダネットワークにとって適切ではない。
【０００７】
ＭＡＣＳｅｃ（すなわち、ＩＥＥＥ８０２．１ａｅで定義されたＭＡＣセキュリティ）と呼ばれる標準は、ＬＡＮにおけるデータの機密性および完全性を保護するために暗号技法を使用することによってＬＡＮセキュリティを提供し、またＭＡＣ超過問題も間接的に解決する。しかしＭＡＣＳｅｃは、ＤｏＳ攻撃を防止するためにスイッチおよび全てのエンドユーザのサポートを必要とする重量ソリューションである。したがって、ＭＡＣＳｅｃは既存のネットワークでは作動しないことがある。さらにＭＡＣＳｅｃは、この標準をサポートするために必要なイーサネット（登録商標）のインストールベースをアップグレードするには実用的ではなく、ＰＫＩ（公開鍵インフラストラクチャ）セキュリティ鍵を帯域外またはオンラインで配信するためにいくつかのメカニズムが設置されなければネットワーク通信を開始できない。ＭＡＣＳｅｃ標準をサポートするために重要な鍵管理作業が行われなければならない。その結果、ＶＰＬＳサービスプロバイダなどの、速度およびサービス可用性により関心を持っている何人かのユーザにとっては、ＭＡＣテーブルのオーバーフロー攻撃に対する軽量ソリューションの方がより望ましい場合がある。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】ＩＥＥＥ８０２．１ａｅ
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＭＡＣテーブルのオーバーフロー攻撃に対して防御するための知られている手法に関連する限界を克服する方法でＭＡＣテーブルのオーバーフロー攻撃に対して防御するソリューションが好都合であり、望ましく、また便利であろう。
【課題を解決するための手段】
【００１０】
本発明の実施形態は、ＭＡＣテーブルのオーバーフロー攻撃に対して防御するための知られている手法に関連する限界を克服する方法で、ＭＡＣテーブルのオーバーフロー攻撃に対して防御するために構成されている。より詳細には、本発明の実施形態は攻撃者が無効送信元ＭＡＣアドレスの超過を維持する場合に、ＭＡＣテーブルのオーバーフロー攻撃がＭＡＣテーブル内の正当なＭＡＣエントリがエージアウトさせることを防ぐ。このように、本発明の実施形態は全ての正当なトラフィックが、攻撃者からの無効送信元ＭＡＣアドレスを利用して超過させられるのを防止する。
【００１１】
従来、スイッチが送信元学習（すなわち動的学習）によってＭＡＣテーブルを作成し、このテーブルに基づいてフレームを転送する。これらの動的に学習したエントリのそれぞれは同じタイムアウト値を有する。したがってスイッチが攻撃を受ける場合、より古いエントリが新しいエントリよりもゆっくりとエージアウトすることが学習されると、最終的にそのスイッチのＭＡＣテーブルは容量が一杯になる。全てのＭＡＣアドレスに同じタイムアウト値を割り振ることとは対照的に、本発明の実施形態によって構成されたスイッチは、正当なＭＡＣアドレスに割り振るタイムアウト値より短いタイムアウト値を無効ＭＡＣアドレスに割り振る。そうすることで、ＭＡＣテーブルのオーバーフロー攻撃が起きた時に、ＭＡＣテーブル内の無効エントリがより速くエージアウトして正当なＭＡＣアドレスのためのスペースを空けることができ、起こりうるＭＡＣテーブルのオーバーフロー攻撃を防止することができる。
【００１２】
本発明の一実施形態では、ＭＡＣテーブルのオーバーフロー攻撃に対して防御するための方法は複数の操作を含む。ＭＡＣテーブル内の複数のＭＡＣアドレスのそれぞれが、対応する一方向トラフィックまたは双方向トラフィックを有するかどうかを決定するために操作が実行される。その後、対応する双方向トラフィックを有するそれぞれのＭＡＣアドレスをＭＡＣアドレスの第１カテゴリと指定するために、および対応する一方向トラフィックを有するそれぞれのＭＡＣアドレスをＭＡＣアドレスの第２カテゴリと指定するために操作が実行される。規定のしきい値を超えるＭＡＣアドレスの第２カテゴリと指定されたＭＡＣアドレスの数に応じて、ＭＡＣアドレスの第２カテゴリと指定されたＭＡＣアドレスの少なくとも一部のタイムアウト値が、ＭＡＣアドレスの第１カテゴリと指定されたＭＡＣアドレスのタイムアウト値より少なくなるように操作が実行される。
【００１３】
本発明の他の実施形態では、イーサネット（登録商標）スイッチはＭＡＣテーブル、超過決定メカニズム、およびタイムアウト値調整メカニズムを備える。ＭＡＣテーブルは内部に複数のＭＡＣアドレスエントリを有する。エントリのそれぞれは、それぞれのＭＡＣアドレス、それぞれのＭＡＣアドレスカテゴリ、およびそれぞれのタイムアウト値を指定する。それぞれのＭＡＣアドレスカテゴリは、一方向トラフィックに対応するＭＡＣアドレスカテゴリおよび双方向トラフィックに対応するＭＡＣアドレスカテゴリのうちの１つである。超過決定メカニズムは、一方向トラフィックＭＡＣアドレスカテゴリを指定するＭＡＣアドレスエントリの数の増加が規定のしきい値を超える時を判定するように構成されている。タイムアウト値調整メカニズムは、ＭＡＣアドレスカテゴリによってタイムアウト値を調整するように構成されている。このような調整は、一方向トラフィックＭＡＣアドレスカテゴリを指定するＭＡＣアドレスエントリの少なくとも一部のタイムアウト値がデフォルトのタイムアウト値より少なくなるようにすることを含む。
【００１４】
本発明の他の実施形態では、データ記憶装置は内部に格納されたプロセッサ実行可能命令のセットを有する。プロセッサ実行可能命令のセットは、ＭＡＣテーブルのオーバーフロー攻撃に対して防御するように構成された様々な命令を含む。この目的を達成するために、ＭＡＣテーブルに複数のＭＡＣアドレスエントリをポピュレートするために命令が提供される。１つ１つのエントリがそれぞれのＭＡＣアドレス、それぞれのＭＡＣアドレスカテゴリ、およびそれぞれのタイムアウト値を指定し、それぞれのＭＡＣアドレスカテゴリは一方向トラフィックに対応するＭＡＣアドレスカテゴリおよび双方向トラフィックに対応するＭＡＣアドレスカテゴリのうちの１つである。一方向トラフィックＭＡＣアドレスカテゴリを指定するＭＡＣアドレスエントリの数の増加が規定のしきい値を超える時を判定するために命令が提供される。規定のしきい値を超える一方向トラフィックＭＡＣアドレスカテゴリを指定するＭＡＣアドレスエントリの数に応じて、ＭＡＣアドレスカテゴリによってタイムアウト値の少なくとも一部を調整するために命令が提供される。
【００１５】
このように、本発明の実施形態がＭＡＣテーブルのオーバーフロー攻撃に対して防御するための従来の手法に関するいくつかの諸利点を提供する方法で、ＭＡＣテーブルのオーバーフロー攻撃に対する防御を容易にすることを当業者は理解するであろう。このような実施形態の１つの利点は、軽量、簡単、単純な方法でＭＡＣテーブルのオーバーフロー攻撃に対して防御し、それによって複雑な計算が必要とされず、またスイッチが引き続き従来のブリッジのように働くことである。他の利点は、このような実施形態は柔軟でスケーラブルな方法でＭＡＣテーブルのオーバーフロー攻撃に対して防御し、それによってＭＡＣアドレスまたは複数のＭＡＣアドレスが構成される必要がなく、また新しいユーザが追加されてもスイッチ上の構成変更が必要とされないことである。本発明の他の利点は、このような実施形態は回復力がある方法でＭＡＣテーブルのオーバーフロー攻撃に対して防御し、それによって攻撃が起こった時にスイッチが引き続き他のポートまたは攻撃が発生したポートから／への正当なユーザトラフィックさえも許可することであり、これはＶＰＬＳ（たとえば、サービスプロバイダからのエミュレートローカルエリアネットワーク（Ｅ−ＬＡＮ）サービス）にとって特に重要かつ便利である。さらに他の利点は、このような実施形態は、ＭＡＣＳｅｃとは異なり既存のスイッチおよび／またはエンドユーザ装置に大規模な変更が行われなくてよい方法でＭＡＣテーブルのオーバーフロー攻撃に対して防御することである。
【００１６】
本発明のこれらおよびその他の目的、実施形態、諸利点および／または特徴は、以下の明細書、関連する図面、および添付の特許請求の範囲をさらに見直すことによって容易に明らかになるであろう。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態による、ＭＡＣテーブルのオーバーフロー攻撃に対して防御するための方法を示す図である。
【図２】本発明の実施形態による、ＭＡＣテーブルの様々なポピュレートされる状態を示す図である。
【図３】本発明の実施形態による、ＭＡＣテーブルの様々なポピュレートされる状態を示す図である。
【図４】本発明の実施形態による、ＭＡＣテーブルの様々なポピュレートされる状態を示す図である。
【図５】本発明の実施形態による、ＭＡＣテーブルの様々なポピュレートされる状態を示す図である。
【図６】本発明の実施形態による、ＭＡＣテーブルの様々なポピュレートされる状態を示す図である。
【図７】本発明の実施形態による、ＭＡＣテーブルの様々なポピュレートされる状態を示す図である。
【発明を実施するための形態】
【００１８】
一般的に正当なトラフィックは双方向なので、ＭＡＣアドレスは適当なタイムウインドウ内でスイッチによって送信元および宛先の両方として見なされうる。逆に、一般的にＭＡＣテーブルのオーバーフロー攻撃は一方向である。送信元としてスプーフィングされたＭＡＣアドレスを有するフレームがＭＡＣテーブルをオーバーフローさせようという意図で送信され、スイッチはそれらのスプーフィングされたアドレスへのいかなる応答トラフィックも見えない。ＭＡＣテーブルのオーバーフロー攻撃に対して防御するために本発明の実施形態が使用するのは、これらの一方向および双方向トラフィックの考察である。
【００１９】
ここで本発明の実施形態の特定の記述を参照すると、スイッチ上のＭＡＣアドレスが送信元および宛先アドレスの両方として見なされた場合、「検証済み」（すなわち検証済みＭＡＣアドレス）と呼ばれる。ＭＡＣアドレスが、送信元アドレスとしてのみ見なされ宛先アドレスとはまだ見なされない場合、「未検証」（すなわち未検証ＭＡＣアドレス）と呼ばれる。このように、検証済みＭＡＣアドレスと通信している機械は検証済み機械であり、未検証ＭＡＣアドレスと通信している機械は未検証機械である。
【００２０】
初めに（たとえば本発明によるシステムの初期設定時に）、検証済みＭＡＣアドレスと未検証ＭＡＣアドレスの両方にデフォルトタイムアウト値が割り振られる。本発明のいくつかの実装形態では、検証済みおよび未検証ＭＡＣアドレスは、現実世界の状況において送信元および宛先アドレスに関して非対称を示すトラフィックの割合が小さいので、共通のデフォルトタイムアウト値が割り振られる。本発明の他の実装形態では、検証済みおよび未検証ＭＡＣアドレスは事実上異なる（たとえば比較的少量によって）、または実質的に異なる（たとえば比較的大量によって）それぞれのデフォルトタイムアウト値を割り振られる。したがって、ＭＡＣテーブルのオーバーフロー攻撃が起こらない場合、スイッチは正確にまたは本質的に従来の（すなわち従来技術の）スイッチのように働く。
【００２１】
ＭＡＣ超過が起こると（すなわちＭＡＣテーブルのオーバーフロー攻撃）、スイッチは特定のポートについて未検証ＭＡＣアドレスの著しい増加を見ることになる。構成可能なペナルティしきい値１まで数が増えると、その特定のポートについての未検証アドレスのタイムアウト値が第１の構成可能な量（たとえば割合、増分など）だけ減らされるので、スプーフィングされたＭＡＣアドレス（複数可）は迅速にエージアウトし、不明な正当なＭＡＣアドレス（複数可）が引き続き学習されうる。同じ特定のポートについての未検証ＭＡＣアドレスの数が増え続けて第２ペナルティしきい値２を超えると、その特定のポートについての未検証アドレスのタイムアウト値が第２の構成可能な量だけ再び減らされるので、未検証ＭＡＣアドレス（複数可）はさらに迅速にタイムアウトする。反対に、ＭＡＣテーブルのオーバーフロー攻撃が停止するか、未検証ＭＡＣアドレスの数がどちらのペナルティしきい値も下回るまで減るほど緩やかになると、特定のポート上で学習された未検証ＭＡＣアドレスについてのタイムアウト値が、最近のペナルティしきい値が超えられる前に使用された値まで復元されることになる。したがって、この実装形態ではタイムアウト値はポートベースで調整される。あるいは本発明の簡易化した実装形態では、全てのポートについての未検証ＭＡＣアドレスの総数を監視でき、未検証ＭＡＣアドレスについてのタイムアウト値をポートベースとは対照的にシステムワイドベースで調整できる。ペナルティしきい値の数およびそれらの値が様々なシステムパラメータ（たとえばスイッチのＭＡＣテーブルのサイズ）に基づいて構成可能でありうることが本明細書で開示される。
【００２２】
ＭＡＣテーブルのオーバーフロー攻撃が制御不能になり、したがってポート上で受信される未検証ＭＡＣアドレスの数が構成可能な廃棄しきい値まで増え続けると、攻撃不可能にするためにスイッチはそのポートからの不明ＭＡＣアドレスからのトラフィックを廃棄することになる。しかし、検証済み（すなわち知られたＭＡＣアドレス）からのトラフィックは通常通り処理される。このように、スイッチはそれぞれのＭＡＣアドレスの状況を追尾してタイムアウト値または廃棄するトラフィックを未検証ＭＡＣアドレスの数に基づいて調整する知能を追加した従来のスイッチのように操作する。
【００２３】
図１は、本発明の実施形態によるＭＡＣテーブルのオーバーフロー攻撃に対して防御するためのデータフロー方法１００を示している。操作１０２はイーサネット（登録商標）スイッチのポート上でフレームを受信するために実行される。フレームを受信することに応答して、フレームのコンテンツに関連付けられているＭＡＣ情報を評価するために操作１０４が実行される。フレームの送信元ＭＡＣアドレスがスイッチのＭＡＣテーブル内になく、ＭＡＣテーブルが一杯ではなく、および廃棄しきい値が超えられている場合、パケットを廃棄するための操作１０６が実行される。フレームの送信元ＭＡＣアドレスがＭＡＣテーブル内になく、ＭＡＣテーブルが一杯ではなく、廃棄しきい値が超えられておらず、およびペナルティしきい値が超えられている場合、ＭＡＣアドレス（すなわち未検証ＭＡＣアドレス）のタイムアウト値を減らすために操作１０８が実行され、送信元ＭＡＣアドレスをＭＡＣテーブルに未検証として追加するために実行される操作１１０、およびＭＡＣエントリについてのタイムアウトカウンタを開始するために実行される操作１１２が続く。あるいは、フレームの送信元ＭＡＣアドレスがＭＡＣテーブル内にあるか、フレームの送信元ＭＡＣアドレスがＭＡＣテーブル内にないがＭＡＣテーブルが一杯の場合、そのフレームについての宛先ＭＡＣアドレスがＭＡＣテーブルにない場合はスイッチの全てのポートへのフレームを超過させるために操作１１４が実行される。フレームのＭＡＣアドレスがＭＡＣテーブル内になく、ＭＡＣテーブルが一杯ではなく、廃棄しきい値が超えられておらず、およびペナルティしきい値が超えられていない場合、方法はＭＡＣテーブルに送信元ＭＡＣアドレスを追加するための操作１１０に続く。
【００２４】
フレームの送信元ＭＡＣアドレスがＭＡＣテーブル内にあるか、フレームの送信元ＭＡＣアドレスがＭＡＣテーブル内にないがＭＡＣテーブルが一杯の場合、宛先ＭＡＣアドレスがＭＡＣテーブル内にあり、送信元および宛先ＭＡＣアドレスが共通のポート上になく、および宛先ＭＡＣアドレスが未検証の場合は、宛先ＭＡＣアドレスの状況を未検証から検証済みへ変更するために操作１１６が実行される。その後、ポートについてのタイムアウトカウンタをリセットするために操作１１８が実行され、フレームを宛先ＭＡＣアドレスに転送するために操作１２０が実行される。宛先ＭＡＣアドレスが検証済みの場合、ＭＡＣアドレスの状況を未検証から検証済みに変更するための１１６の操作が省略されて、方法はタイムアウトカウンタをリセットするための操作１１８に続く。送信元および宛先ＭＡＣアドレスが共通ポート上にある場合、方法はパケットを廃棄するための操作１０６に続く。
【００２５】
送信元ＭＡＣアドレスを未検証としてＭＡＣテーブルに追加するための操作１１０を実行することに関連してタイマを開始するための操作１１２を再び参照すると、その後、宛先ＭＡＣアドレスがＭＡＣテーブル内にあり、送信元および宛先ＭＡＣアドレスは共通のポート上になく、および宛先ＭＡＣアドレスが未検証の場合は、方法はＭＡＣアドレスの状況を未検証から検証済みに変更するための操作１１６に続く。宛先ＭＡＣアドレスが検証済みの場合、ＭＡＣアドレスの状況を未検証から検証済みに変更するための１１６の操作が省略されて、方法はタイムアウトカウンタをリセットするための操作１１８に続く。送信元および宛先ＭＡＣアドレスが共通ポート上にある場合、方法はパケットを廃棄するための操作１０６に続く。
【００２６】
実施例−ＭＡＣテーブルのオーバーフロー攻撃に対して防御するように構成されたシステム
ネットワークは、それぞれスイッチ（すなわちＳｗｉｔｃｈ）のポートｐ１、ｐ２、およびｐ３に接続されたＭＡＣアドレスＭＡＣ１、ＭＡＣ２、およびＭＡＣ３を有する３つのホストマシンを含む。３つのホストマシンはそれぞれＭＡＣ１、ＭＡＣ２、およびＭＡＣ３と呼ばれる。ＭＡＣ１とスイッチとの間にハブ（すなわちＨＵＢ）が接続されている。スイッチが起動するとスイッチのＭＡＣテーブルが消去される。
【００２７】
図２および表１（すなわちスイッチＭＡＣテーブル）を参照すると、ＭＡＣ１がフレームをＭＡＣ２に送信し、ポートｐ１上のスイッチによって受信される。スイッチはそのＭＡＣテーブルを検査してＭＡＣ１が見つからなかったので、ＭＡＣ１の送信元ＭＡＣアドレスのためのエントリをＭＡＣテーブル内に作成して、ＭＡＣ１をポートｐ１に関連付け、ＭＡＣ１のＭＡＣアドレスの状況を未検証と設定する。次いで、このＭＡＣテーブルエントリについてのタイムアウトカウンタが開始される。スイッチによって、ユーザ（たとえばシステム管理者）が未検証および検証済みＭＡＣアドレスの両方についてのデフォルトタイムアウト値を指定できるようになる。この例では、検証済みおよび未検証ＭＡＣアドレスの両方についてのタイムアウト値が３００秒に設定される。
【表１】
2011509619.tif 000003
【００２８】
次に、ＭＡＣ１についての宛先ＭＡＣアドレスがＭＡＣテーブルと突き合わせて検査される。ＭＡＣ２が見つからない（すなわち、ＭＡＣテーブル内にＭＡＣ２についてのエントリがない）ので、図３に示されるようにスイッチは全てのポートにフレームを超過させる。
【００２９】
したがって、ＭＡＣ２とＭＡＣ３の両方がこのフレームを受信することになる。宛先がＭＡＣ３のアドレスではないので、ＭＡＣ３はこのフレームを廃棄する。ＭＡＣ２はこのフレームを受信後、ＭＡＣ１に応答する。このように送信元としてＭＡＣ２を、および宛先としてＭＡＣ１を有するフレームがポートＰ２上のスイッチによって見られる。図４および表２を参照すると、スイッチがＭＡＣ２の送信元アドレスを検査するがＭＡＣテーブル内に見つけられないので、スイッチはポートＰ２をＭＡＣ２に関連付けるためにエントリを作成して、この送信元アドレスの状況を未検証と設定し（すなわちＭＡＣ２のＭＡＣアドレスはそれによって関連付けられた一方向トラフィックだけを有するので）、次いでこのＭＡＣテーブルエントリについてのタイムアウトカウンタを開始する。
【００３０】
その後、宛先ＭＡＣアドレスが検査される。ここでＭＡＣテーブル内にＭＡＣ１が見つかり、未検証である状況を有すると決定される。したがって、ＭＡＣ１のＭＡＣアドレスは双方向トラフィックをサポートし、スイッチがＭＡＣ１の状況を検証済みに変更し、ＭＡＣ１についてのタイムアウトカウンタをリセットし、次いでフレームをＭＡＣ１に転送する。
【００３１】
実証目的のテーブルはＭＡＣ１およびＭＡＣ２アドレスがポピュレートされてから経過した時間を考慮しておらず、したがって「残りのタイムアウト」について現実的な値を有さない点に留意されたい。
【表２】
2011509619.tif 000004
【００３２】
図５および表３を参照すると、ＭＡＣ１が別のフレームをＭＡＣ２に送信すると、スイッチはＭＡＣ２の状況を検証済みにアップデートして、ＭＡＣ２についてのタイムアウトカウンタをリセットし、全てのポートを超過させずにそのフレームをＰ２に直接送信することになる。
【表３】
2011509619.tif 000005
【００３３】
図６および表４を参照すると、攻撃者がスイッチのポートＰ１に接続されているハブに接続して多数の無効送信元アドレス（たとえばＭＡＣ−ａ、ＭＡＣ−ｂなど）を有するフレームをスイッチに送信すると、それらの無効ＭＡＣアドレスはスプーフィングされて帰りのトラフィックが見られないので、スイッチはこれらの無効ＭＡＣアドレスをポートＰ１と関連付けて、状況を未検証と設定するためにエントリを作成することになる。この段階では、スイッチは未検証ＭＡＣからのトラフィックが正当かどうかわからないので、無効ＭＡＣアドレスについてのデフォルトタイムアウトが引き続き使用される。一般的に、攻撃トラフィックはＭＡＣテーブル内では見つけられないスプーフィングされた宛先ＭＡＣアドレスを使用することになるので、スイッチによって全てのポートにトラフィックが超過される。
【表４】
2011509619.tif 000006
【００３４】
表５を参照すると、攻撃がまだ続いているので多数の未検証ＭＡＣアドレスがＭＡＣテーブルに追加されることになる。この数が第１構成可能しきい値（たとえば、ペナルティしきい値１）に到達すると、たとえばＭＡＣテーブルスペースの２０％が１つのポート上で学習された未検証ＭＡＣアドレスによって占められ、スイッチが攻撃を受けている可能性が高いので、スイッチはＰ１上で学習された未検証ＭＡＣアドレスのタイムアウト値を５０％（すなわち構成可能な値）減らすことになる。次に、Ｐ１からの全ての新しく学習された未検証ＭＡＣアドレスが１５０秒のタイムアウト値を有することになり、正当なＭＡＣアドレスのためにスペースを空けるために迅速にエージアウトできるようになる。未検証ＭＡＣアドレスの数が第２構成可能しきい値（たとえばペナルティしきい値）まで増加し続けると、対応する未検証ＭＡＣアドレスのタイムアウトをさらに迅速にするためにタイムアウト値はさらに５０％減らされる。攻撃が停止するか緩やかになると、より古い無効未検証ＭＡＣアドレスがエージアウトするので未検証ＭＡＣアドレスの数は減るはずである。その数がどちらのペナルティしきい値よりも少ない場合、ポート上で学習された未検証ＭＡＣアドレスについてのタイムアウト値はペナルティしきい値が超えられる前に使用された値に復元される。ペナルティしきい値の数およびそれらの値は構成可能であり、ＭＡＣテーブルの大きさに基づくべきである。
【表５】
2011509619.tif 000007
2011509619.tif 000008
【００３５】
図７を参照すると、攻撃が激しくなると、最終的に高い割合（たとえば、廃棄しきい値）のＭＡＣテーブルが、Ｐ１上で学習された未検証ＭＡＣアドレス（すなわちＸと表される）で一杯になる。スイッチは攻撃が進行中であることを確信することになり、攻撃不可能にするためにポートＰ１上で受信した不明アドレスからの全てのトラフィックを廃棄できる。しかし、知られているＭＡＣアドレスからのトラフィック、この例ではＭＡＣ１は、引き続き正当なユーザ通信（たとえば、Ｖと表される検証済みのＭＡＣアドレス）を可能にすることが許容される。
【００３６】
次にデータ処理装置で処理可能な命令を参照すると、本明細書で行われた開示から、本明細書で開示されたＭＡＣテーブルのオーバーフロー攻撃防御機能を実行するように構成された方法、処理および／または操作は、このような機能を実行するように構成された、命令をその上に有するコンピュータ可読のメディアによって有形に実装されることが理解できるであろう。ある特定の実施形態では、上記で開示された方法１００、本明細書で提示した実施例、その両方または両方からの一部の組合せを実行するために命令は有形に実装される。命令は１つまたは複数のデータ処理装置によって、メモリ装置（たとえばＲＡＭ、ＲＯＭ、仮想メモリ、ハードドライブメモリなど）から、データ処理システムのドライブユニットによって読取り可能な装置（たとえばディスケット、コンパクトディスク、テープカートリッジなど）から、またはその両方からアクセス可能でよい。したがって、本発明によるコンピュータ可読メディアの実施形態は、コンパクトディスク、ハードドライブ、ＲＡＭ、または本発明によるＭＡＣテーブルのオーバーフロー攻撃防御機能を実行するように構成されたコンピュータプログラム（すなわち命令）のイメージをとる他のタイプの記憶装置を含む。
【００３７】
前述の詳細な説明では、本明細書の一部を形成する、および本発明が実行されうる特定の実施形態を例示によって示す添付の図面を参照した。これらの実施形態およびその特定の変形形態を、当業者が本発明の実施形態を実行できるように十分に詳細に説明してきた。このような発明の開示の趣旨および範囲から逸脱することなく、他の適切な実施形態が利用されてよく、また論理的、機械的、化学的および電気的変更が行われてよいことが理解されるべきである。不要な詳細を省くために、この説明では当業者に知られているある種の情報を省略する。したがって前述の詳細な説明は本明細書で説明した特定の形式に限定することを意図せず、逆にこのような代替案、変更形態、および同等物を添付の特許請求の範囲の趣旨および範囲内に合理的に含まれうるものとして含むことを意図する。
【図１】
2011509619.tif 000009
【図２】
2011509619.tif 000010
【図３】
2011509619.tif 000011
【図４】
2011509619.tif 000012
【図５】
2011509619.tif 000013
【図６】
2011509619.tif 000014
【図７】
2011509619.tif 000015
【国際調査報告】
2011509619.tif 000016
2011509619.tif 000017