JP4743901B2 - ネットワーク上での不正なスキャンニングを検出するための方法、システムおよびコンピュータ・プログラム - Google Patents

ネットワーク上での不正なスキャンニングを検出するための方法、システムおよびコンピュータ・プログラム Download PDF

Info

Publication number
JP4743901B2
JP4743901B2 JP2007521949A JP2007521949A JP4743901B2 JP 4743901 B2 JP4743901 B2 JP 4743901B2 JP 2007521949 A JP2007521949 A JP 2007521949A JP 2007521949 A JP2007521949 A JP 2007521949A JP 4743901 B2 JP4743901 B2 JP 4743901B2
Authority
JP
Japan
Prior art keywords
packet
leaf
packets
slot
block
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
JP2007521949A
Other languages
English (en)
Other versions
JP2008507222A (ja
JP2008507222A5 (ja
Inventor
ブーランジェ、アラン、デイヴィッド
ダンフォード、ロバート、ウィリアム
ヒンバーガー、ケヴィン、デイヴィッド
ジェフリーズ、クラーク、デブス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/896,680 external-priority patent/US7669240B2/en
Priority claimed from US10/896,733 external-priority patent/US7957372B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008507222A publication Critical patent/JP2008507222A/ja
Publication of JP2008507222A5 publication Critical patent/JP2008507222A5/ja
Application granted granted Critical
Publication of JP4743901B2 publication Critical patent/JP4743901B2/ja
Expired - Fee Related 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/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/1458Denial of Service

Landscapes

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

Description

本発明は、概して、コンピュータ・ネットワークに関し、特に、上記コンピュータ・ネットワーク内の悪意のあるトラフィックの検出および管理、および悪意のあるトラフィックからの上記ネットワークの保護に関する。
インターネットの方が通りがいいワールド・ワイド・ウェブ(WWW)が、個人情報および公開情報両方を通信するための首位のコンピュータ・ネットワークに急速になりつつある。インターネットは、主としてTCP/IP(Transmission Control Protocol/Internet Protocol)と呼ばれるプロトコル、または他のプロトコルにより、誰でもがアクセスすることができる開かれたネットワークである。開かれたネットワークであるために、私設ネットワーク(イントラネット)上のコンピュータは、ハッカーによる悪意のある攻撃を受けやすい。コンピュータは、ビジネスおよび政府機関にとって通信の主要な道具になっている。例えば、多くのビジネスおよび政府機関は、遠隔地のオフィスにリンクするために、またオフィスまたはキャンパス内の従業員間でデータおよび他のリソースを共有するために、電子メールにより顧客と通信するために、電子メールにより新しい顧客を獲得するために、ウェブサイトにより情報を供給するために、またその他の目的のためにコンピュータおよびコンピュータ・ネットワークを使用する。
インターネットのような公衆ネットワークに誰でもが自由にアクセスすることができるので、ハッカーは、ワーム、ウィルスなどと呼ばれる有害なコードを、今までよりも容易に送り込んだり、散布することができるようになってきている。大部分の私設ネットワークはインターネットに結合しているので、公衆ネットワークから侵入したウィルスが、公衆ネットワークに接続しているデバイスばかりでなく、私設ネットワークに接続しているデバイスにも影響を与える恐れがある。電子ビジネスおよび株式市場活動の時代が到来したため、大量のビジネス取引が、コンピュータ・ネットワークを介して行われていることは周知のことである。そのため、経済的混乱を起こしたいと考えている悪意のある人が、これらの取引を混乱させるために公開サイトからウィルスを侵入させることができる。
ビジネス、政府および個人は、コンピュータおよびインターネットに大きく依存しているので、悪意のある攻撃が壊滅的経済的損失または機能障害をもたらす恐れがある。そのため、コンピュータのセキュリティが、主要な通信媒体としてコンピュータを使用しているビジネス、政府および個人の主要な関心事になってきている。
コンピュータ上で悪意のある攻撃を行うためにハッカーが選択することができる方法がいくつかある。1つの方法は、コンピュータのオペレーティング・システムを不正に制御するプログラムを散布することにより、コンピュータの動作を混乱させる方法である。もう1つの方法は、データを消去したり、データを修正したりまたはデータをコピーしたり、あるいはその両方を行うために、ネットワーク内のコンピュータまたはサブネット内の資産に関する秘密情報を入手する方法である。これらの行為のどれもが、家庭、ビジネスまたは政府機関のネットワークに悪影響を及ぼす恐れがある。
ネットワーク・デバイスに関する情報を収集するためにハッカーまたは攻撃者が使用するいくつかの技術がある。ポートスキャンニング(scanning)は、1つのホストまたはいくつかのホストに関する情報を収集するためにハッカーまたは攻撃者が使用するいくつかの技術のうちの1つである。いくつかのホストが関連している場合には、この技術は分散型ポートスキャンニングと呼ばれる。ポートスキャンニングの場合には、ハッカーは、情報を収集するのに合法的なTCP/IP(Transmission Control Protocol/Internet Protocol)コマンドを使用する。これに関連して、ハッカーは、TCPセッションをスタートしたい局として、SYN(同期)パケット・マスカレードを発行する。別の方法としては、ハッカーは、RSTパケットを発行することもできる。いずれの場合も、ハッカーは、ホストについての情報を収集することができるパケットで疑いを持たないホストが応答することを期待する。ポートスキャンニングのために使用することができる多くの他の組合せがある。このような組合せとしては、SYN/ACK、FIN、Nullクリスマス・ツリー・パケット等がある。実際には、応答を必要とする任意のプロトコルをポートスキャンニングのために使用することができる。
従来技術は、コンピュータ・ネットワークの重要性を認識していて、コンピュータ・ネットワークをハッカーから保護するために侵入検出システムを提供してきた。従来技術の検出システムの例については、米国特許第6,405,318号;6,363,489号;6,477,651号;6,279,113号;6,282,546号;5,991,881号;6,338,141号;5,414,833号;および5,983,348号を参照されたい。上記各米国特許に記載されている侵入検出システム(IDS)は、その意図する目的についてはうまく機能するが、スキャンニング活動を検出する際にはうまく機能しない。
従来技術のIDSがネットワークのスキャンニングを検出することができないのは、これらのIDSが、ヘッダ値またはペイロード・バイトの既知のパターンのライブラリを使用しているからであると考えられている。受信したパケット内のパケット・ヘッダまたはペイロードは、一定の表現または固定値であってもよい既知のパターンと比較される。このアプローチの欠点は、このようなライブラリが、前に見たことがない調査またはスキャンニングパターンを完全に含むことができないことである。そのため、いくつかの従来技術のIDS技術は、新規の調査トラフィックから保護することができない。
スキャンニングを検出することができることが自慢のIDS技術でさへ、多くのパケット(あるしきい値)が1つの宛先アドレスに送信されたかどうかを発見することができるだけである。これらのIDSは、少ないパケット(しきい値より少ない)を使用してスキャンニングを相互に関連付けることはできないし、また複数の宛先およびフォーマットを使用している場合にはうまく機能しない。
従来技術は、この必要性を認識していて、悪意のあるウィルスを検出するために、上記コンピュータ・ネットワーク上で使用するツールを提供してきた。ほとんどの場合、これらのツールは、その意図する目的のためにうまく作動する。他の言い方をすれば、これらのツールは、それを検出するために生成したウィルスを検出する場合にはうまく機能する。ウィルスの特徴が変化すると、このツールは役に立たなくなる場合があり、新しいウィルスを検出することができない。ハッカーは非常に頭の良い人であり、検出を避けるためにウィルスの特徴を変える可能性が非常に高い。
米国特許第6,405,318号 米国特許第6,363,489号 米国特許第6,477,651号 米国特許第6,279,113号 米国特許第6,282,546号 米国特許第5,991,881号 米国特許第6,338,141号 米国特許第5,414,833号 米国特許第5,983,348号 米国特許第6,404,752号
上記のことから言って、従来技術の技術および装置は、ネットワーク管理者に、調査またはスキャンニングトラフィックからコンピュータ・ネットワークを防衛する十分な力を提供しない。そのため、本明細書に記載するシステムおよび方法のようなシステムおよび方法に追加の保護を行うことができるものでなければならない。
上記のことから言って、主としてツール内のパターン・ライブラリとパケット内のウィルスとの比較をベースとする従来技術の技術は、悪意のあるウィルスからコンピュータ・ネットワークを保護するための十分な力および制御をネットワーク管理者に提供しない。そのため、ウィルス・パターンをベースとしてコンピュータ・ネットワークを保護するのではなく、悪意により送信されたパケットの他の特徴または統計をベースとするツールが必要になる。そうすることにより、ハッカーは、ウィルスのパターンを自由に変更することができる。それでもなおこのような悪意のあるパケットが依然として検出される。
第1の態様によれば、本発明は、(a)ネットワーク・デバイス内で受信したトラフィックを監視するステップと、(b)上記トラフィック内のパケットの予め定めたサブセットを検出するステップと、(c)予め定めた統計的特徴を有する疑いのあるパケットを検出するために、パケットの予め定めたサブセットを分析するステップとを含むネットワーク上の不正なスキャンニングを検出するための方法を提供する。
好ましくは、この方法は、さらに、予め定めた統計的特徴を有するパケットの検出を示すアラームを鳴動するステップを含む。一実施形態の場合には、パケットの予め定めたサブセットは、TCP(送信制御プロトコル)/IP(インターネット・プロトコル)のセットに関連する。他の実施形態の場合には、パケットの予め定めたサブセットは、UDP(ユーザ・データグラム・プロトコル)セットに関連する。さらに他の実施形態の場合には、パケットの予め定めたサブセットは、TCP/IPセットからのSYNパケットを含む。さらに他の実施形態の場合には、パケットの予め定めたサブセットは、TCP/IP「クリスマス・ツリー」パケットを含む。さらに他の実施形態の場合には、パケットのサブセットは、TCP/IPセットからのRSTパケットを含む。さらに他の実施形態の場合には、パケットのサブセットはTCP/IPセットからのヌルTCPパケットを含む。
好ましくは、パケットのサブセットは、TCP/IPセットからのTCPパケット内にセット(SYN,RST,FIN)されているTCPヘッダの3つのビットのうちの少なくとも2つのビットを含んでいる。より好ましくは、予め定めた統計的特徴は、1つのソース・アドレス(SA)、m個の宛先アドレス(DA)、およびn個の宛先ポート(DP)を含む。ここで、m≧1およびn≧5である。
好ましい実施形態の場合には、アラームを鳴動するステップは、さらに、中央管理機関に上記の疑いのあるパケットを報告するステップを含む。好ましくは、上記管理機関は、疑いのあるパケットの特徴に類似している特徴を有するすべての以降のパケットを破棄する。より好ましくは、上記管理機関は、ネットワークに損傷を起こす恐れがない程度に疑いのあるパケットと同じSAを含むすべての以降のパケットを制限する。
好ましくは、この方法は、さらに、上記ネットワークと結合しているデバイス内でツリー構造と動作可能に結合している少なくとも1つのスロットを含む複数のスロットに分割されている第1の部分を有するサーチ・ツリーに論理的に等価なルックアップ構造を提供するステップと、デバイス内でネットワーク・トラフィックを受信するステップと、予め定めた統計的特徴を有するTCP/IPパケットを検出するために、プログラムされたCPUを含むネットワーク・トラフィックを分析するステップと、このように検出した各TCP/IPパケットに対して、ソース・アドレス(SA)および宛先アドレス(DA)からハッシュした値を生成するために、上記プログラムされたCPUを使用するステップと、スロット内に索引するためにハッシュした値を使用するステップと、ポインタを探してスロットをチェックするステップと、ポインタを発見できなかった場合に、新しいリーフの識別子であるSAおよびDAを有する上記リーフを挿入するステップと、上記リーフ内に上記各TCP/IPパケット内に含まれている宛先ポート(DP)のアドレスを格納するステップと、リーフをポイントしている上記スロット内にポインタを生成するステップとを含む。
より好ましくは、この方法は、さらに、ポインタがスロット内に位置している場合に、リーフにアクセスするために上記ポインタを使用するステップと、その中に記録している宛先ポート(DP)のアドレスを検出するために、上記リーフの内容をチェックするステップと、このように検出したアドレスの数をしきい値と比較するステップと、アドレスの数がしきい値以上である場合に、第2の階層ルックアップを行うステップとを含む。
さらにより好ましくは、この方法は、さらに、上記リーフ内のアドレスの数がしきい値より小さい場合に、上記リーフにDAを追加するステップを含む。
第2の態様によれば、本発明は、メモリと、上記メモリ内で動作可能に構成されているルックアップ・データ構造と、予め定めた統計的特徴を有する予め定めたパケットを検出するために、予め定めたパケットをルックアップ・データ構造と関連付ける一組のアルゴリズムを実行し、予め定めた統計的特徴を有する予め定めたパケットを検出した場合に、管理者に警告するためにアラーム・メッセージを発行するプロセッサとを備えるネットワーク上のスキャンニングを検出するためのシステムを提供する。
好ましくは、ルックアップ・データ構造は、サーチ・ツリーと論理的に等価なものを含む。より好適には、サーチ・ツリーの第1の部分は、予め定めたパケットの多くのビットを試験する。さらにより好ましくは、サーチ・ツリーの第1の部分は直接テーブルを含む。
好ましい実施形態の場合には、予め定めた統計的特徴は、1つのソース・アドレス(SA)、1つの宛先アドレス(DA)、およびn個(n>1)の宛先ポート(DP)を含む。他の好ましい実施形態の場合には、予め定めた統計的特徴は、1つのソース・アドレス(SA)、m個(m>1)の宛先アドレス(DA)およびn個(n>1)の宛先ポートを含む。
好ましくは、一組のアルゴリズムは、少なくとも1つの検出アルゴリズムを含む。より好ましくは、一組のアルゴリズムは、 直接テーブル(DT)アルゴリズム上での挿入を含む。さらにより好ましくは、一組のアルゴリズムは、新しいツリー挿入アルゴリズムを含む。好ましくは、一組のアルゴリズムは、大型ツリー挿入アルゴリズムの挿入を含む。より好ましくは、一組のアルゴリズムは、しきい値アルゴリズムを含む。さらにより好ましくは、一組のアルゴリズムは、削除アルゴリズムを含む。
第3の態様によれば、本発明は、コンピュータ・プログラムをコンピュータ上で実行した場合に、上記方法のすべてのステップを実行することができるプログラム・コード手段を備えるコンピュータ・プログラムを提供する。
ホスト(コンピュータ)のようなネットワーク・デバイスに対する不正なエントリは、2つの段階、すなわち調査段階および攻撃段階で行われる。調査段階中、コンピュータに関する段階情報が収集される。収集した情報は、攻撃段階中、計算活動を中断するために使用される。
本発明は、調査段階中(調査とも呼ばれる)不正なスキャンニングを検出し、本明細書に記載する修正動作を行う。
このシステムは、1つのソース・アドレス(SA)、1つまたはいくつかの宛先アドレス(DA)、いくつかの(4つより少ない)または多くの(4つより多い)宛先ポート(DP)を特徴とする高帯域幅トラフィックTCP/IP SYN(同期)またはRST(リセット)パケット内で検出を行うために、ルックアップおよび記録構造と共同動作を行うPowerPCのようなプログラムされた汎用プロセッサ、またはPowerNPのような特種プロセッサを含む。これらの特徴に適合するTCP/IPパケットは、他の動作について行政管理(administrative management)にフラグされ、報告される。
一実施形態の場合には、ルックアップおよび記録構造は、直接テーブル(DT)および関連するパトリシア・ツリーを含む。完全一致(FM)ルックアップの2つの階層が存在する。第1の階層は、第1の直接テーブルのスロット内に索引するために、キーまたはヘッダと呼ばれる受信したパケットの一部内のSAおよびDAのハッシュを使用する。DAおよびSAからの選択したビットは、リーフに到着するまで、スロットに関連するツリー内を移動するために使用される。リーフ内のSAおよびDAは、キー内のSAおよびDAと比較され、キー内のDPと一致した場合には、同じSAおよびDAに対するDPのリンク・リストと比較される。DPが新しい場合には(すなわち一致しない場合には)、そのDPはリストに追加される。リスト内のDPの数が≧nである場合には、第2の直接テーブルおよび関連するパトリシア・ツリー内で第2の階層ルックアップを行うために、SAのハッシュが使用される。第2のテーブル内のルックアップは、第1のテーブル内でのルックアップに類似している。第2のテーブルのリーフ内のSAがハッシュしていないSAと一致する場合には、リーフ内のDAおよびDPがチェックされ、DA≧nであり、DP≧nである(n以上である)場合には、アラームが鳴動して、SAおよびDAを含むパケットが、不正なスキャンニングまたは調査パケットであることを知らせる。アラームに応じて、ネットワーク管理者は、パケットを受け取ったSAの動作を制限するための動作を行う。本発明の一実施形態の場合には、nは4にセットされる。
代替実施形態の場合には、このトラフィックが悪意のあるものかないものかを判定するために、検索したポートに対する宛先アドレスの比率を使用することができる。このトラフィック比率は、実際には、一意のDAの数に一意のDPの数を掛けたものである乗数であり、積を必ず10(または決定した他の数)より大きくする。これによりもっと小さなスキャンニングを発見することができるが、それは低いしきい値検出装置すら避けるために最初に巧妙に作られる。これは、多くの場合、攻撃者が使用する技術で、検出を避けるために調査パケットを非常にゆっくりと送信する。
上記代替実施形態の場合には、(10のような)静的数と比較して、(4のような)静的数を使用しないで乗数を使用する。その場合、ハッシュへの入力はSAだけである。各リーフ内においては、SAに関連するDAのリストが維持される。リスト内の各DAは、DPのリストと関連する。この大きいリーフにより、1つまたはいくつかのSAからの多くのDAおよびDPの組合せに対するゆっくりしたスキャンニングを検出することができる。(4のような)静的数の比較の代わりに、DA当りの一意のDPのカウントを入手し、次に(1つのSAに関連する)他のDAが掛けられる点を除けば、これらのスキャンニングの検出は非常によく似ている。特定のSAに対する複数のDAおよびDPによるこのようなスキャンニングへの応答は、上記方法で引き続き行われる。
第4の態様によれば、本発明は、a)受信したパケットをスキャンニングする少なくとも1つのアルゴリズムを提供するステップと、b)1つのソース・アドレス(SA)、N個の宛先アドレス(DA)、およびM個の宛先ポート(DP)を含む予め定めたフォーマットを有するパケットを識別するステップとを含むコンピュータ・ネットワーク上の有害なパケットを検出するための方法を提供する。
第5の態様によれば、本発明は、メモリおよび少なくとも1つの処理素子を含むネットワーク・プロセッサと、上記メモリ内に位置する有害なコードを含むパケットのビット・パターン類似のビット・パターンを有する少なくとも1つの規則を格納している少なくとも1つのパトリシア・ツリー(Patricia Tree)配置を含むデータ構造と、上記少なくとも1つの処理素子上に展開していて、実行した場合に、上記処理素子に、予め定めたパケット内の予め定めたフィールドからキーを生成させ、1つのSA(ソース・アドレス)、1つのDP(宛先ポート)および多くのDA(宛先アドレス)を有するパケットを識別するために、キーを規則と関連付けるコンピュータ・プログラムとを備えるコンピュータ・ネットワークで有害なコードを含むパケットを検出するためのシステムを提供する。
第6の態様によれば、本発明は、コンピュータ・プログラムをコンピュータ上で実行した場合に、上記方法のすべてのステップを実行することができるプログラム・コード手段を備えるコンピュータ・プログラムを提供する。
本発明は、通常のコンピュータ・トラフィックのストリーム内で、1つのIPソース・アドレス(SA)、1つの宛先ポート(DP)および個々の宛先アドレス(DA)のしきい値を超えるある数を有するTCPパケットのサブセットを検出するための一組のアルゴリズムを含む検出および応答システムを提供する。直接テーブル、および1つのSAおよび1つのDPを含む組のパケットを記録するためのパトリシア・サーチ・ツリー、および所与のSA、DPの組合せについて観察した一組のDA値のようなルックアップ機構が効率的に使用される。このようなサブセットの存在、およびサブセットのSA、DP、および複数のDAを含むヘッダ値がネットワーク管理者に報告される。さらに、報告への種々の管理応答が提供される。
本発明の検出システムは、直接テーブルおよびパトリシア・ツリーからなる構造がメモリ内で提供されるネットワーク・プロセッサのようなコンピュータを含む。選択したネットワーク・トラフィックを監視し、構造を維持し、1つのソース・アドレス(SA)、1つの宛先ポート(DP)、および多くの宛先アドレス(DA)を有する送信制御プロトコル(TCP)同期(SYN)パケットが識別され、悪意のあるパケットとして報告されるように、選択ネットワーク・トラフィックからのキーを構造と関連付けるアルゴリズムが提供される。
一実施形態の場合には、本発明は、最初に、生のDP(16ビット)を管理者が指定する周知のDP値の比較的短いリストと比較する。このリストは、例えば、ポート80、ハイパーテキスト転送プロトコル(HTTP)ポートを含むことができる。何故なら、すべてDP=80である1つのSAから多くのDAへトラフィックを生成するのは、ウェブ・サーフィン中通常行われることであるからである。パケットがリストに記載されている場合には、本発明は、そのパケットを潜在的に悪意のあるパケットであるとそれ以上見なさない。好ましい実施形態の場合には、このような許容DP値に対する試験をデータ経路ソフトウェア内で行うことができる。すなわち、小さなルックアップ・テーブルを、ネットワーク・プロセッサのようなプログラマブル・プロセッサ内でパケットを処理するプログラムに内蔵させることができる。小さなルックアップ・テーブルは、(10の許容DPのような)許容DPの短いリスト内のパケットDP会員を試験するのに適している。ある場合の許容DPの他の例は、簡単なメール転送プログラム(SMTP)を示す数25である。
他の実施形態の場合には、本発明は、例えば、1に等しいSYNおよび終わり(FIN)ビットの両方を有するTCPパケット、または記録した対応するSYNパケットを含んでいないSYNおよび肯定応答(ACK)ビット・セットの両方を有するTCPパケットのようなヘッダ・ビットの違法な設定を含むパケット、または合法的設定の違法なシーケンスを含むパケットを自動的に破棄する。また、好ましい実施形態の場合には、本発明は、1つのセッションまたは複数のセッション内のFINまたはFIN/ACKパケットを発見した場合には、1つのSAおよび1つまたは複数のDAに対応するルックアップ・エントリを削除する。
もっと一般的な観点からいうと、本発明は、TCPセッション内で使用するTCPパケットのフリをして侵入した悪意のあるパケットを検索し、検出する。悪意のある人がコンピュータ・ネットワーク・トラフィックを中断するために選択できる多くの方法がある。1つの方法は、悪意のある人が送信制御プロトコル(TCP)セッションのペイロード中にワームまたはウィルスを散布する方法である。この方法により、即時または後での感染に弱い機械を発見することができる。
この散布は、1つのIPソース・アドレス(SA)(攻撃者)から弱い宛先ポート(DP)番号へ、および(おそらく、ランダムな、シーケンシャルなまたは犠牲者の潜在的アドレスと見なされる1組のDA内で)いくつかのIP宛先アドレス(DA)へ送信したTCPセッションであってもよい。本発明を使用すれば、すべてが遥かに大きな一組の通常のトラフィック内に含まれるこのような悪意のあるトラフィックを含む多くのこのようなSYNパケットの組を検出することができる。また、本発明は、このような検出に対するいくつかの可能な応答を含む。
すなわち、本発明は、1つのSA、1つのDP、および多くのDA値を含む同期(SYN)パケットのサブセットの高帯域幅トラフィック内で検出を行うための効率的な検索戦略およびアルゴリズを含む。ある種の攻撃は、異常検出装置が気が付かないように毎秒約1〜10パケットと意図的に遅い速度で行われる場合がある。遅い散布速度は上記問題の中に含まれていて、本発明により解決される。悪意のあるトラフィックは、あるアプリケーションをサポートしている目標機械のアイデンティティを発見するための調査である場合がある。別の方法としては、悪意のあるトラフィックは、ファイルへの不正なアクセス、ファイルの削除、ファイルの修正またはファイルのコピーとなる調査またはプロセッサの不正な制御を入手することができる、それ自身ウィルスまたはワームであるペイロードを含む場合がある。すべてのそのようなSYNトラフィックを、本発明においてはexploitと呼ぶ。
ネットワーク・プロセッサのようなネットワーク内のプログラマブル・プロセッサは、完全一致(FM)ルックアップを含むことができる。SA、DA、ソース・ポート(SP)、DP、およびプロトコル番号(TCPの場合は、6)からなる104ビットのIP5タプルのようなTCPパケットから長いキーを読み出すことができる。別の方法としては、IP5タプルおよび他のヘッダ値を含む最長約192ビットのもっと長いキーを使用することもできる。キーは、例えば16ビットのような便利なサイズにハッシュされる。16ビット索引の場合には、64Kのスロットを含む直接テーブル(DT)を使用する。メモリを収容する各スロットは、正確に1つのリーフをポイントすることもできるし、または1つまたは複数の分岐およびいくつかのリーフを含むツリーをポイントすることもできる。ツリー内においては、せいぜい1つの一致が可能なまま残る(1つのリーフ)まで、生のキー内の追加のビットがチェックされる。何らかの手段によりリーフに達した場合には、全部のキーが、全リーフ・キー・パターン[0、1または*(don't care)エントリ、また高いまたは低い範囲のエントリを含む]と比較され、(同様にリーフ内に記録している関連する動作になる)ヒットまたは(デフォルト動作になる)ミスが存在する。
本発明は、新しい方法でFMルックアップを使用する。目標は、既知のパラメータを使用する特定のパケットを認識し、次にある動作を適用することではない。それどころか、既知のパラメータは存在しない。目標は、これまで未知のヘッダ・ビットの組合せを含むセット・パケットにより統計的挙動を認識することである。このことは、従来のパケット認識に対して挙動認識と呼ぶことができる。本発明が解決する挙動認識問題は、1つのSA、1つのDP、および多くのDAを含む一組のSYNパケットが、遥かに大きい一組のパケット内に存在するという事実を認識することである。本発明は、認識およびまた共通のSAおよびDPの報告を含む。代替実施形態の場合には、2つ以上のSAまたは2つ以上のDP、2または10のような小さな制限までも認識し、報告することができる。
挙動認識問題を解くために、本発明に対する入力キーは、各TCPパケットのSAおよびDPの連結であると定義される。
代替実施形態の場合には、本発明はDP値がないことを許容できるものであってもよい。
挙動認識問題を解くために、本発明が使用する入力キーは、TCPソース・アドレス(SA)および宛先ポート(DP)の連結であると定義される。この値SA、DPはキーとしてパトリシア・ツリーを内蔵する検索エンジンに送られる。
パケットが上記のような許容DPを有していない場合には、本発明はSAおよびDPの連結(48ビット)を直接テーブル(DT)内で便利な画像(16ビットなど)にハッシュする。SA、DPビットは、せいぜい1つの前に発見したSA、DPに関連するリーフに達するまでツリーのビット試験分岐に取り入れなければならない。各リーフはSA、DPの組合せにより定義される。各リーフは、また、少なくとも1つおよびできればもっと多くのDA値を含む。
二種類の衝突が起こる恐れがある(DT内の同じハッシュ値を有する異なるヘッダ値を含むパケット)。最初に、悪意のあるトラフィックの散布は、同じSAおよびDPを含んでいるが、いくつかの異なるDAを含むパケットになる場合がある。SA、DPだけがハッシュに入力されるので、このようなハッシュは衝突する。第二に、偶然、2つの関係のないSA、DPの組合せのハッシュが同じものになる場合がある。第2の場合には、せいぜい1つの前に発見したSA、DPの組合せに関連するリーフに達するまで、SA、DPビットのもう1つの試験をツリーのビット試験分岐内に取り入れなければならない。それ故、各リーフは、1つのSA、DPの組合せにより定義される。また、各リーフは、少なくとも1つ、可能であればそれ以上のDA値を含む。
好ましくは、N>8およびM=1である。より好ましくは、パケットが中央管理機関に報告される。
好ましくは、中央管理機関は、上記パケットの有害な影響を制限するために決定動作を行う。より好ましくは、決定動作は、同じSA、DAおよびDPを有するすべての後続のパケットを識別済みのパケットとして廃棄するステップを含む。さらにより好ましくは、決定動作は、上記パケットの宛先ポート、すなわちDPを許容DPのリストに追加するステップを含む。さらにより好ましくは、決定動作は、同じSAを含むすべての以降のパケットの組を制限する比率を含む。
好ましい実施形態の場合には、SA、DPおよび多くのDAは、パトリシア・ツリー配置のリーフ内に格納される。好ましくは、パトリシア・ツリー配置は、直接テーブルを含んでいる。より好ましくは、上記コンピュータ・ネットワークと動作することができるように結合しているシステム上で少なくとも1つのアルゴリズムを実行する。
添付の図面に示す本発明の好ましい実施形態を参照しながら、以下に本発明について説明するが、これは単に例示としてのものに過ぎない。
コンピュータ・ネットワークの管理は、悪意のある調査トラフィックからのネットワーク資産の防衛を含む。いくつかの場合の調査トラフィックは、攻撃者に対応する1つのソース・アドレス(SA)を含む一組のパケット、攻撃者が調査する1つまたは複数の犠牲となる機械に対応する1つまたはいくつかの宛先アドレス(DA)値、およびおそらく攻撃者から見て弱いと思われるアプリケーションに対応するいくつかのまたは多くの宛先ポート(DP)を含む。
管理者は、ネットワークの防衛を助けるために、本明細書に開示しているようなツールに依存することができる。ネットワーク防衛の一部として、管理者は、このような組のパケットが、スイッチ、ルータ、ネットワーク・インタフェース・カード(NIC)、器具、またはもっと一般的に言って、分類、切替え、経路指定、治安維持機能、または分類の結果に基づいて他のセキュリティ機能を行うことができる機械を通過する際に、これらのパケットを検出したい場合がある。
図1は、本発明を使用することができる非常に簡単なネットワーク100である。インターネットまたは他のネットワーク102は、縁部デバイス104と接続している。各縁部デバイスは、本発明の一例を含む検出組立体108を備えていてもよいし、備えていなくてもよい。縁部デバイスは、また、サブネット106にも接続している。次に、2つのサブネットをブリッジ・デバイス110により接続することができる。ブリッジ・デバイスは、本発明の一例112を含んでいてもよいし、含んでいなくてもよい。縁部デバイスは、ルータ、スイッチ、サーバ等を含むことができる。縁部デバイスおよびブリッジ・デバイスは従来技術において周知のものであるので、本明細書においては本発明の教示を含むこれらの部分または本発明を理解するのに必要なこれらの部分だけについて説明する。
図2は、縁部デバイスまたはブリッジ・デバイスの検出組立体108内の構成要素のブロック図200である。ランダム・アクセス・メモリ(RAM)202が、本発明に含まれる情報の更新を格納する。中央処理装置(CPU)204は、本発明のアルゴリズムを実施し、それによりRAMを更新するために、読出し専用メモリ(ROM)206内の構成のところに格納しているデータにアクセスする。バス208は、構成要素間で信号を送受信するためのものである。入力/出力(I/O)アダプタ210は、人間の管理者が周期的に観察するモニタ(図示せず)を含む汎用コンピュータを含むことができる外部デバイス212へのおよび外部デバイス212からの信号を管理する。
代替実施形態の場合には、IBMが開発し販売しているPowerNPのようなネットワーク・プロセッサ(NET PRO)が、I/Oアダプタ210と結合している。ネットワーク・プロセッサは、データ面内に位置していて、ネットワーク内でパケットを経路指定するためのすべての必要な構成要素およびアルゴリズムを含む。本発明の教示による調査アルゴリズムは、ネットワーク・プロセッサ上で実行される。図9について簡単に説明すると、この図はネットワーク・プロセッサのブロック図である。図9は、ネットワーク・プロセッサを記載していて、その全文を参照により本明細書に組み込むものとする米国特許第6,404,752号の図18と同じものである。このように上記米国特許を含んでいるので、ネットワーク・プロセッサの詳細な説明を容易に理解することができる。それ故、本発明に直接関係があり、本発明が使用するネットワーク・プロセッサのこれらの機能だけを識別し、説明することにする。埋込プロセッサ複合体(EPC)は、データを経路指定するアルゴリズムおよび本発明の教示による検出アルゴリズムを実行する複数のプロセッサを含む。本明細書に記載するように、検出アルゴリズムは、ネットワーク上で調査パケットを検出し、識別する。対象となるある他の機能は、貼付の米国特許に示すデータ構造である。データ構造は、直接テーブルおよび直接テーブルと結合しているパトリシア・ツリーを含む。データ構造および関連するツリー検索エンジンは、本発明のルックアップおよび追跡機構として使用される。
図3を参照すると、この図は、本発明が含んでいる検出アルゴリズムのフローチャート300である。アルゴリズムの検出がスタートすると(ブロック302)、次のパケットが到着する(ブロック304)。TCPであるかどうかについて、インターネット・プロトコル(IP)パケットが試験される(ブロック306)。この試験は、パケットのヘッダ内のビット上で行われる。TCPでなかった場合には、アルゴリズムはブロック304に戻り、次のパケットを待機する。パケットがTCPであった場合には、SYNであるかどうかについて、パケットが試験される(ブロック308)。この試験は、パケットのヘッダ内の制御ビットをチェックすることにより行われる。SYNでなかった場合には、アルゴリズムはブロック304に戻る。SYNであった場合には、SAおよびDAの連結がハッシュ機能に送られる(ブロック312)。ハッシュの値は直接テーブル(DT)内の索引になる(ブロック314)。すでにリーフまたは少なくとも2つのリーフを含むツリーへのポインタを有しているかどうかについてDTスロットが試験される(ブロック316)。ポインタがない場合には、アルゴリズムは、DT上の挿入アルゴリズムに分岐する(ブロック318)(図4)。ポインタがある場合には、アルゴリズムは、正確に1つのリーフをポイントしているかどうかについて試験する(ブロック320)。ポインタが少なくとも2つのリーフを含むツリーをポイントしている場合には、SA、DAの連結がパトリシア・ツリー・アルゴリズムにより試験される(ブロック324)。次に、現在のリーフのラベルが一致するかどうかについて、SA、DAがパトリシア・ツリー・アルゴリズムにより試験される(ブロック330)。SA、DAが一致しなかった場合には、アルゴリズムは、大型ツリー挿入アルゴリズムに分岐する(ブロック334)(図6)。SA、DAがツリー内のリーフと一致した場合には、キーのDPがリーフ内の1つまたは複数のDP値と比較される(ブロック332)。ブロック320に戻り、DTスロットが正確に1つのリーフをポイントしている場合には、アルゴリズムはキーSA、DAをこのリーフのラベルと比較する(ブロック322)。SA、DAが一致しない場合には(ブロック326)、アルゴリズムは新規ツリー挿入に分岐する(ブロック328)(図5)。SA、DAが一致した場合(ブロック326)には、アルゴリズムは、リーフ内に1つまたは複数のDP値を含むキーのDAの比較に分岐する(ブロック332)。キーDPがあるリーフDPと一致した場合には、アルゴリズムはブロック304に戻り、次のパケットを待機する。キーDPがどのリーフDPとも一致しない場合には、新しいDPがリーフ内に格納される(ブロック338)。この場合、アルゴリズムはしきい値アルゴリズムに進む(ブロック340)(図7)。
フローチャートの以外の方法で、検出アルゴリズムを下記のように記述することもできる。
SA、DAのハッシュの16ビット(またはこのくらいのビット)は、直接テーブル(DT)内で索引として使用される。DTスロットは、通常のFMスロットであり、リーフをポイントしないこともでき、正確に1つのリーフをポイントすることもでき、または分岐および2つ以上のリーフを含むツリーをポイントすることもできる。各リーフは、全パケットSA、DAをSA、DAの正確なパターンと比較する。この場合も、リーフはそのラベルとしてSA、DAを含み、少なくとも1つのできればいくつかのDPを含む。
SA、DAの組合せのハッシュ値を計算した場合に、DT内のスロットが空であった場合(何もポイントしていなかった場合)には、DTスロットは、ラベルSA,DAおよび内容DPを含む新しいリーフをポイントするように改訂される。そうでない場合で、DT内のSA、DAスロットがポインタを有している場合には、リーフまたはツリーまでポインタを追跡する。スロットがツリーをポイントしていた場合には、せいぜい1つの前に発見したリーフがSA、DAと適合するまで、SA、DA内のいくつかのビットの試験を含む。いずれの場合でも、キー内の全SA、DAおよびリーフ内の全SA、DAが比較される。これらの全SA,DAが等しくない場合には、前に発見したキーから新しいキーを区別するために、SA、DA内のビットを試験するようにツリーを再構成しなければならない。これらの全SA,DAが等しい場合には、リーフはキーに本当に対応し、キーのDP値がリーフ内に格納している1つまたはいくつかのDP値と比較される。キーのDP値が前に格納したDPと同じである場合には、何もしない。そうでない場合には、キーのDP値がリーフ内に格納している1つまたは複数のDP値に加算される。また、DP値の新しい全数がしきい値と比較される。
テーブルIに検出アルゴリズムの他の表現を示す。ステップ0〜16は説明を要しないので、これ以上の説明は省略する。
テーブルI
検出
0.次のパケットが到着する。
1.パケットがTCPでない場合には、0に進む。
2.パケットがSYNでない場合には、検出ステップ1(テーブルVI)に進む。
3.パケットのヘッダからのSA、DA組合せ(キー)をハッシュ機能に送る。
4.ハッシュ値を直接テーブル・スロットへの索引として使用する。
5.スロットがポインタを有していない場合には(スロットにハッシュするSA、DAを含む現在のセッションがない場合には)、DT上の挿入ステップ0(テーブルII)に進む。
6.スロットがツリー(2つ以上のリーフを含む)をポイントしている場合には、12に進む。
7.スロットが(正確に)1つのリーフをポイントしている場合には、SA、DAをリーフのSA、DAと比較する。
8.キーおよびリーフのSA、DAが一致しない場合には、新しいツリー挿入ステップ0(テーブルIII)に進む。
9.そうでない場合には、パケットのDPをリーフ内の1つまたは複数のDP値と順次比較する。
10.パケットのDPとリーフのあるDPが等しい場合には、0に進む。
11.そうでない場合には、リーフ内に新しいDPを格納する。しきい値(テーブルV)に進む。
12.リーフに達するまでキーのSA、DA上のツリー内でビット試験分岐を実行する。13.キーおよびリーフのSA、DAが一致しない場合には、大型ツリー挿入ステップ0(テーブルIV)に進む。
14.そうでない場合には、パケットのDPをリーフ内の1つまたは複数のDP値と順次比較する。
15.パケットのDPとリーフのあるDPが等しい場合には、0に進む。
16.そうでない場合には、リーフ内に新しいDPを格納する。しきい値ステップ0に進む。
図4を参照すると、この図は本発明の挿入アルゴリズムのフローチャート400である。アルゴリズムがスタートすると(ブロック402)、直接テーブル(DT)スロットから新しいリーフへの新しいポインタが生成される(ブロック404)。このリーフにはSAおよびDAの連結によりラベルが付けられる(ブロック406)。このリーフは、パケットIPヘッダ内にDPの値を格納するために使用される(ブロック408)。次に、アルゴリズムは、上記検出に分岐する(ブロック410)。
テーブルIIは、挿入技術の自明の他の表現である。
テーブルII
DT上の挿入
0.DTスロットからラベルとしてSA、DAを有する新しいリーフへのポインタを生成し、DPを格納する。
1.検出ステップ0に進む。
図5を参照すると、この図は、本発明の新しいツリー挿入アルゴリズムのフローチャート500である。このアルゴリズムは、1つのもとのリーフがDTスロットにすでに取り付けられていて、異なるSA、DA値を有するがハッシュ値が同じである第2のリーフを追加すべきケースをカバーする。アルゴリズムがスタートすると(ブロック502)、DTスロットと等しいルートを含む新しいツリーが生成される(ブロック504)。1つの分岐がルートに取り付けられる(ブロック506)。2つのSA、DA値は、この同じスロットにハッシュする。周知のパトリシア・ツリー・アルゴリズムの方法で、2つのSA、DAラベルが異なる第1のビットが発見される(ブロック508)。分岐のところの試験ビットの一方の値はもとのリーフをポイントしている(ブロック508)。同じビットの他の可能な値は、新しく追加したリーフをポイントしている(ブロック510)。新しく追加したリーフは、ラベルとしてそのSA、DAを有し、新しいキーのDPを格納する(ブロック510)。次に、アルゴリズムは、すでに説明した検出に分岐する(ブロック512)。
テーブルIIIは、新しいツリー挿入技術の自明の他の表現である。
テーブルIII
新しいツリー挿入
0.DTスロットと等しいルートと1つの分岐を含む新しいツリーが生成される。
1.2つのSA、DA組合せが異なるこれら2つのSA、DA組合せの2つの連結での第1のビットを発見する。
2.一方のリーフがもとのリーフであり、新しいSA、DAを有し、新しいキーのDPを格納する他方のリーフが追加される、2つのリーフへのビット試験分岐でそのビットが使用される。
3.検出ステップ0に進む。
図6を参照すると、この図は、本発明の大型ツリー挿入アルゴリズムのフローチャート600である。アルゴリズムがスタートすると(ブロック602)、新しい分岐および新しいリーフの既知のパトリシア・ツリー挿入が行われる(ブロック604)。新しいリーフのラベルは、キーのSA、DAの連結として示される(ブロック606)。パケットのDPは、新しいリーフ内に格納される(ブロック608)。次に、アルゴリズムは、すでに説明した検出に分岐する(ブロック610)。
テーブルIVは、大型ツリー挿入アルゴリズムの自明の他の表現である。
テーブルIV
大型ツリー挿入
0.新しいビット試験分岐を挿入するために、従来のパトリシア・ツリー・アルゴリズムを使用して1つのリーフを追加する。
1.新しいリーフは、ラベルとして新しいキーのSA、DAを有し、DPを格納する。
3.検出ステップ0に進む。
図7を参照すると、この図は本発明のしきい値アルゴリズムのフローチャート700である。アルゴリズムがスタートすると(ブロック702)、リーフ内に格納しているDP値の数が、通常は8である構成のところで指定されたしきい値と比較される(ブロック704)。(異なる)DP値の数がしきい値以下である場合には、アルゴリズムは検出に分岐する(ブロック708)。DP値の数がしきい値より大きい場合には、報告が管理者または管理システムに送られる(ブロック706)。次に、アルゴリズムは検出に分岐する(ブロック708)。
テーブルVは、しきい値アルゴリズムの自明の他の表現である。
テーブルV
しきい値
0.リーフ内のDPの新しい数がしきい値Tより大きい場合には、SAからの悪意のあるトラフィックの可能性を報告する。
1.検出ステップ0に進む。
図8を参照すると、この図は、本発明の削除アルゴリズムのフローチャート800である。このアルゴリズムは、直接テーブル/パトリシア・ツリー・データ構造から古いエントリを削除する。アルゴリズムがスタートすると(ブロック802)、フレーム・カウント値が1だけ増大する(ブロック804)。次に、フレーム・カウントが1024のようなフレームのしきい値数と比較される(ブロック806)。フレーム・カウントがしきい値より小さい場合には、アルゴリズムは検出に分岐する(ブロック812)。フレーム・カウントがしきい値以上である場合には、アルゴリズムは、すべてのリーフ、ツリー(分岐)およびDTポインタを完全に削除する(ブロック808)。次にアルゴリズムは、フレーム・カウントの値を0にリセットする(ブロック810)。次に、アルゴリズムは検出に分岐する(ブロック812)。テーブルVIは、削除アルゴリズムの自明の他の表現を示す。
テーブルVI
削除
1.時間カウンタを1だけ増大する。
2.時間カウンタの値をしきい値と比較する。
4.時間カウントがしきい値以下である場合には、検出ステップ0に進む。
5.時間カウンタ値がしきい値を超えた場合には、DTからすべてのリーフおよびツリーを削除する。
6.時間カウントを0にリセットする。
7.検出ステップ0に進む。
代替実施形態の場合には、カウントはフレームの数ではなくて、時間の増大であってもよい。当業者であれば、この代替実施形態が削除アルゴリズムを若干修正したものであることを理解することができるだろう。テーブルVIIは、時間の増大をベースとする検出アルゴリズムの自明の表現である。
テーブルVII
削除
1.時間カウンタを1だけ増大する。
2.時間カウンタ値をしきい値と比較する。
4.時間カウントがしきい値以下である場合には、検出ステップ0に進む。
5.時間カウンタ値がしきい値を超えた場合には、DTからすべてのリーフおよびツリーを削除する。
6.時間カウントを0にリセットする。
7.検出ステップ0に進む。
すでに説明したように、ネットワーク内で調査パケットが検出された場合には、これらパケットは、管理者または他の管理機能に報告され、さらに動作が行われる。
本発明は、報告機構への応答のためにいくつかの可能なオプションを含む。一実施形態の場合には、本発明は、管理者に警告するステップを含むことができる。この場合、管理者は、ありうる悪意のある意図に対する報告状態に分岐をしたパケットの所与のSA、DA、DPを含むトラフィックを調査することができる。第2の実施形態の場合には、本発明は同じSA、DA、DPを含むすべての以降のパケットを廃棄するステップを含むことができる。第3の実施形態の場合には、本発明は同じSAを含むすべての以降のパケットを廃棄するかまたは比率制限するステップを含むことができる。第4の実施形態の場合には、本発明は第1の3つの可能な応答のある組合せを含むことができる。応答の組合せは時間とともに変化する場合がある。
図10は、IPデータグラム・ヘッダ・フォーマットの図解による表示である。このIPデータグラム・ヘッダ・フォーマットは、従来技術において周知のものであるので、本発明に関連するヘッダのフィールドだけを取り上げて説明する。当該フィールドは、ソースIPアドレス(SA)および宛先IPアドレス(DA)である。SAは、データグラム(パケット)の起源を識別し、一方、DAは上記パケットの終わり(宛先)を識別する。
図11は、IPデータグラムのペイロード・フィールド内で入れ子状になっているTCPヘッダ・フォーマットの図解による表示である。TCPヘッダ・フォーマットも従来技術において周知のものである。それ故、本発明に関連するフィールドおよびビットだけについてさらに説明する。当該フィールドは、ソース・ポート(SP)および宛先ポート(DP)を含む。当業者であれば周知のように、SPはパケットの発信ポートを識別し、一方、DPはパケットが送られる終わりのポートを識別する。当該ビットは、リセット(RST)および同期(SYN)を含む。これらのビットは、セットされた場合能動状態になり、リセットされた場合非能動状態になる。パケットのアイデンティティは、ビットの設定により決定される。例えば、SYNビットをセットすると、このビットはSYNパケットを含む。これらのビットの使用方法および機能は、従来技術に詳細に文書化されている。それ故、これ以上の説明は省略する。
図12は、本発明の教示による検索機能または検索ルックアップ構造の図解による表示である。当業者であれば他のツリー構造を考案することができることが分かっている。それ故、図解による表示は単に例示としてのものであって、特許請求の範囲に記載する本発明の範囲を制限するものではない。
データ構造1200は、64ビットのSAおよびDAの連結からなるキー1202の抽出を含む。このデータ構造は、さらに、16または32ビットのような短い索引を生成するために、ハッシュ機能1204を適用するステップを含む。索引は、パトリシア・ツリー1210のルートであるエントリを識別するために、直接テーブル1208に関連して使用される。パトリシア・ツリーは、1212、1214、1216のような1つまたは複数のリーフを有する。各リーフは、直接テーブル・エントリおよび観察した1つまたは複数のDP値にハッシュする全SA、DAを含む。
動作:
動作中、本発明が使用されるデバイスで受信したパケットは下記のようにチェックされる:
ルックアップ機構は、サーチ・ツリーと論理的に等価であると仮定する。一実施形態の場合には、ツリーの第1の分岐は、多くの従来のツリーを接続している多数のビットを同時に試験する。第1のこのような分岐は、直接テーブルと呼ぶことができる。
第1のルックアップ(第1の階層)は、TCP SYNまたはRSTパケットのソース・アドレス(SA)および宛先アドレス(DA)を直接テーブル(DT)にハッシュする。DTの索引は、(16ビットのような)都合のよい値であってもよい。全キーはSA、DAおよび宛先ポート(DP)である。リーフはSAおよびDAによりパケットを照合し、次にさらに、DPを同じSAおよびDAに対するDPのリンクしているリストと比較する。DPが新しいものである場合には、DPはリストに追加される。周期的に(例えば、毎秒1回)このルックアップのある一部(1/16など)が完全に削除される。
リーフ内の観察したDPの数が、(4のような)しきい値より大きい場合には、リーフのSA、DA、DPの組合せが第2のルックアップ(第2の階層)にハッシュされる。第2のルックアップの場合、ハッシュはSAの上だけに位置する。DT索引内のビットの数は、(8のような)小さなものであってもよい。1つのSAが多くのDA、DPの組合せを有している場合には、DA、DPの組合せはリーフ内に格納される。このようなリーフ内のDA、DPの組合せの数が、(4のような)しきい値を超えた場合には、SAが分散型スキャンニングに関係していると疑われる。第2の階層内の全テーブルは、(4秒のような)中間周期中にパージされる。
上記パージ間隔は推理と実際のトラフィック統計に基づくものである。パージ間隔があまり短いと、攻撃を見落とす恐れがある。何故なら、完全な攻撃は実際には数周期かかるからである。パージ間隔があまり長いと、新しい攻撃に対する本発明の反応が遅れる。
通常、パージ間隔は調整することができる。いくつかの攻撃が報告された場合には、パージ間隔を限界まで長くすることができる。報告された攻撃が多すぎる場合には、パージ間隔を限界まで短くすることができる。周期を増減するために指数的に加重した関数を使用することができる。この関数は下記のように記述することができる。iが、周期Pの索引=0,1,2,...を表すとすると、P(i)は、シーケンス内のi番目の値である。P(0)=最低限度。周期調整はある形を有することができる。
1.報告された攻撃が非常に少ない場合には、P(i+1)=(1−K)*P(i)+K*最大限度である。
2.そうでない場合、P(i+1)=(1−K)*P(i)+K*最低限度である。
この場合、最低限度<最大限度であり、Kは、0<K≦1のある数字である。コンピュータ・ネットワーク管理は、悪意のあるトラフィックからのネットワーク資産の防衛を含む。場合によっては、悪意のあるトラフィックの散布は、攻撃者に対応する1つのソース・アドレス(SA)を含む一組のパケット、攻撃者から見て弱いと思われるアプリケーションに対応する1つの宛先ポート(DP)、および可能な犠牲者に対応する多くの宛先アドレス(DA)を含む。他の場合には、いくつかのSAおよびDPを含むことができるが、依然として多くのそれ以上のDAを含むことができる。
図13を参照すると、この図は本発明の教示による検出アルゴリズムのフローチャート1300である。このアルゴリズムがスタートすると(ブロック1302)、次のパケットが到着する(ブロック1304)。インターネット・プロトコル(IP)パケットがTCPであるかどうかについての試験が行われる(ブロック1306)。この試験は、IPヘッダ内の制御ビットをチェックすることにより行われる。パケットがTCPでない場合には、アルゴリズムはブロック1304に戻り、次のパケットを待機する。パケットがTCPである場合には、パケットがSYNであるかどうかについての試験が行われる(ブロック1308)。試験はTCPヘッダ内の制御ビットをチェックすることにより行われる。パケットがSYNでない場合には、アルゴリズムはブロック1304に戻る。パケットがSYNである場合には、TCPヘッダ内のDPが許容リスト内の会員であるかどうかについての試験が行われる(ブロック1310)。許容リストである場合には、アルゴリズムはブロック1304に戻る。DPが許容リストでない場合には、SAおよびDPの連結がハッシュ機能に送られる(ブロック1312)。ハッシュの値は直接テーブル(DT)内への索引となる(ブロック1314)。DTスロットが、すでに1つのリーフまたは少なくとも2つのリーフを含むツリーへのポインタを有しているかどうかについての試験が行われる(ブロック1316)。ポインタがない場合には、アルゴリズムはDT上の挿入アルゴリズムに分岐する(ブロック1318)(図4)。ポインタがある場合には、アルゴリズムは、正確に1つのリーフをポイントしているかどうかについて試験する(ブロック1320)。ポインタが少なくとも2つのリーフを含むツリーに対するものである場合には、パトリシア・ツリー・アルゴリズムにより、SA、DPの連結が試験される(ブロック1324)。次に、現存のリーフのラベルが一致するかどうかについて、パトリシア・ツリー・アルゴリズムによりSA、DPキーが試験される(ブロック1330)。SA、DPが一致しなかった場合には、アルゴリズムは、大型ツリー挿入アルゴリズムに分岐する(ブロック1334)。SA、DPがツリー内のリーフと一致した場合には、キーのDAがリーフ内の1つまたは複数のDA値と比較される(ブロック1332)。ブロック1320に戻り、DTスロットが正確に1つのリーフをポイントしている場合には、アルゴリズムはキーSA、DPをこのリーフのラベルと比較する(ブロック1322)。SA、DPが一致しない場合には(ブロック1326)、アルゴリズムは新規ツリー挿入に分岐する(ブロック1328)。SA、DPが一致する場合(ブロック1326)には、アルゴリズムは、リーフ内に1つまたは複数のDA値を含むキーのDAの比較に分岐する(ブロック1332)。キーDAがあるリーフDAと一致した場合には(ブロック1336)、アルゴリズムはブロック1304に戻り、次のパケットを待機する。キーDAがどのリーフDAとも一致しない場合には、新しいDAがリーフ内に格納される(ブロック1338)。この場合、アルゴリズムはしきい値アルゴリズムに進む(ブロック1340)。
図14を参照すると、この図は、本発明の挿入アルゴリズムのフローチャート1400である。アルゴリズムがスタートすると(ブロック1402)、直接テーブル(DT)スロットから新しいリーフへの新しいポインタが生成される(ブロック1404)。このリーフにはSAおよびDPの連結によりラベルが付けられる(ブロック1406)。このリーフは、パケットIPヘッダ内にDAの値を格納するために使用される(ブロック1408)。次に、アルゴリズムは、図13のところですで説明した検出に分岐する(ブロック1410)。
図15を参照すると、この図は、本発明の新しいツリー挿入アルゴリズムのフローチャート1500である。このアルゴリズムは、1つのもとのリーフがDTスロットにすでに取り付けられていて、異なるSA、DP値を有するがハッシュ値が同じである第2のリーフを追加すべきケースをカバーする。アルゴリズムがスタートすると(ブロック1502)、DTスロットと等しいルートを含む新しいツリーが生成される(ブロック1504)。1つの分岐がルートに取り付けられる(ブロック1506)。2つのSA、DP値が、この同じスロットにハッシュする。周知のパトリシア・ツリー・アルゴリズムの方法で、2つのSA、DPラベルが異なる第1のビットが発見される(ブロック1508)。分岐のところの試験ビットの一方の値は、もとのリーフをポイントしている(ブロック1508)。同じビットの他の可能な値は、新しく追加したリーフをポイントしている(ブロック1510)。新しく追加したリーフは、ラベルとしてそのSA、DPを有し、ブロック、新しいキーのDAを格納する(ブロック1510)。次に、アルゴリズムは、検出ブロックに分岐する(ブロック1512)。
図16を参照すると、この図は、本発明の大型ツリー挿入アルゴリズムのフローチャート1600である。アルゴリズムがスタートすると(ブロック1602)、新しい分岐および新しいリーフの既知のパトリシア・ツリー挿入が行われる(ブロック1604)。新しいリーフのラベルは、キー・ブロックのSA、DPの連結として示される(ブロック1606)。パケットのDAは、新しいリーフ・ブロック内に格納される(ブロック1608)。次に、アルゴリズムは、検出ブロックに分岐する(ブロック1610)。
図17を参照すると、この図は本発明のしきい値アルゴリズムのフローチャート1700である。アルゴリズムがスタートすると(ブロック1702)、リーフ内に格納しているDA値の数が、通常は8である構成のところで指定されたしきい値と比較される(ブロック1704)。(異なる)DA値の数がしきい値以下である場合には、アルゴリズムは検出に分岐する(ブロック1708)。DA値の数がしきい値より大きい場合には、報告が管理者または管理システムに送られる(ブロック1706)。次に、アルゴリズムは検出に分岐する(ブロック1708)。
図18は、それが悪意のあるパケットであるかどうかを判定するために、TCP/IP SYNパケットのSAとDAが関連付けられるデータ構造の図解による表示である。
データ構造1800は、SAおよびDAの、それ故48ビットの連結からなるキー1802の抽出を含む。このデータ構造は、さらに、16ビットのようなもっと短い索引を生成するために、ハッシュ機能1804を適用するステップを含む。索引は、パトリシア・ツリー1810のルートであるエントリを識別するために、直接テーブル1808に関連して使用される。パトリシア・ツリーは、1812、1814、1816のような1つまたは複数のリーフを有する。各リーフは、直接テーブル・エントリおよび観察した1つまたは複数のDA値にハッシュする全SA、DPを含む。
今までフローチャートにより本発明を説明してきた。本発明で使用するアルゴリズムを示す他の方法は下記の通りである。
SA、DPのハッシュの16ビット(またはこのくらいのビット)は、直接テーブル(DT)内で索引として使用される。DTスロットは、通常のFMスロットであり、リーフをポイントしないこともでき、正確に1つのリーフをポイントすることもでき、または分岐および2つ以上のリーフを含むツリーをポイントすることができる。各リーフは、全パケットSA、DPをSA、DPの正確なパターンと比較する。この場合も、リーフはそのラベルとしてSA、DPを含み、少なくとも1つのできればいくつかのDAを含む。
SA、DPの組合せのハッシュ値を計算した場合に、DT内のスロットが空であった場合(何もポイントしていない場合)には、DTスロットは、ラベルSA、DPおよび内容DAを含む新しいリーフをポイントするように改訂される。そうでない場合で、DT内のSA、DPスロットがポインタを有している場合には、リーフまたはツリーまでポインタを追跡する。スロットがツリーをポイントしていた場合には、せいぜい1つの前に発見したリーフが可能なSA、DPと適合するまでの、SA、DP内のいくつかのビットの試験を含む。いずれの場合でも、キー内の全SA、DPおよびリーフ内の全SA、DPが比較される。これらの全SA、DPが等しくない場合には、前に発見したキーから新しいキーを区別するために、SA、DP内のビットを試験するようにツリーを再構成しなければならない。これらの全SA、DPが等しい場合には、リーフはキーに本当に対応し、キーのDA値がリーフ内に格納している1つまたはいくつかのDA値と比較される。キーのDA値が前に格納したDAと同じである場合には、何もしない。そうでない場合には、キーのDA値がリーフ内に格納している1つまたは複数のDA値に加算される。また、DA値の新しい全数がしきい値と比較される。この数がしきい値より大きい場合には、パケットはウィルスを含んでいると識別される。
疑似コードで示す下記のサブプログラムを含む本発明の検出アルゴリズム内での検索動作について以下に説明する。
検出
0.次のパケットが到着する。
1.パケットがTCPでない場合には、検出に進む。
2.パケットがSYNでない場合には、削除に進む。
3.パケットのDPが許容リスト内に含まれている場合には、検出に進む。
4.パケットのヘッダからのSA、DPの組合せ(キー)がハッシュ機能に送られる。
5.ハッシュ値が直接テーブル・スロットへの索引として使用される。
6.スロットがポインタを有していない場合には(スロットにハッシュするSA、DPを含む現在のセッションがない場合には)、DT上挿入ステップ0に進む。
7.スロットがツリー(2つ以上のリーフを含む)をポイントしている場合には、ステップ13に進む。
8.スロットが(正確に)1つのリーフをポイントしている場合には、SA、DPをリーフのSA、DPと比較する。
9.キーおよびリーフのSA、DPが一致しない場合には、新しいツリー挿入ステップ0に進む。
10.そうでない場合には、パケットのDAをリーフ内の1つまたは複数のDA値と順次比較する。
11.パケットのDAとリーフのあるDAが等しい場合には、ステップ0に進む。
12.そうでない場合には、リーフ内に新しいDAを格納する。しきい値に進む。
13.リーフに達するまでキーのSA、DP上のツリー内でビット試験分岐を実行する。14.キーおよびリーフのSA、DPが一致しない場合には、大型ツリー挿入ステップ0に進む。
15.そうでない場合には、パケットのDAをリーフ内の1つまたは複数のDA値と順次比較する。
16.パケットのDAとリーフのあるDAが等しい場合には、ステップ0に進む。
17.そうでない場合には、リーフ内に新しいDAを格納する。しきい値に進む。
DT上の挿入
0.DTスロットからラベルとしてSA、DPを有する新しいリーフへのポインタを生成し、DAを格納する。
1.検出に進む。
新しいツリーの挿入
0.DTスロットと等しいルートと1つの分岐を含む新しいツリーが生成される。
1.2つのSA、DPの組合せが異なるこれら2つのSA、DP組合せの2つの連結での第1のビットを発見する。
2.一方のリーフがもとのリーフであり、新しいSA、DPのラベルを有し、新しいキーのDAを格納する他方のリーフが追加される、2つのリーフへのビット試験分岐でそのビットが使用される。
3.検出に進む。
大型ツリーの挿入
0.新しいビット試験分岐を挿入するために従来のパトリシア・ツリー・アルゴリズムを使用し、1つのリーフを追加する。
1.新しいリーフは、ラベルとして新しいキーのSA、DPを有し、DAを格納する。
3.検出に進む。
しきい値
0.それによりリーフ内のDAの新しい数がしきい値Tより大きい場合には、SAからの悪意のあるトラフィックの可能性を報告する。
1.検出に進む。
削除
1.フレーム・カウンタを1だけ増大する。
2.フレーム・カウンタの値をしきい値と比較する。
4.フレーム・カウントがしきい値以下である場合には、検出に進む。
5.フレーム・カウンタ値がしきい値を超えた場合には、DTからすべてのリーフおよびツリーを削除する。
6.フレーム・カウントを0にリセットする。
7.検出に進む。
代替実施形態の場合には、カウントはフレームの代わりに時間間隔であってもよい。すなわち、
削除
1.時間カウンタを1だけ増大する。
2.時間カウンタの値をしきい値と比較する。
4.時間カウントがしきい値以下である場合には、検出に進む。
5.時間カウンタ値がしきい値を超えた場合には、DTからすべてのリーフおよびツリーを削除する。
6.時間カウントを0にリセットする。
7.検出に進む。
3.報告アルゴリズム
検出機構から報告を受信した場合には、本発明は下記の応答のうちの1つで反応することができる。
1.管理者に警告し、管理者はおそらく悪意に対する所与のSA、SP、DAまたはDPでトラフィックを調査することができる。
2.許容DPのリストにDP=スロット値を加算する。
3.同じSA、DA、DPを含むすべての以降のパケットを排除する。
4.別の方法としては、同じSAを含むすべての以降のパケットを排除する。
5.応答1、2、3、4の組合せは時間とともに変化する場合がある。
本発明の多くの利点のうちの1つは、検出が動的にまたリアルタイムで行われることである。そのため、ネットワーク上のデバイスが被害を被る前に、不正なスパイ行為を検出し、対策を講じることができる。
今までTCP/IPプロトコルに関連して本発明を説明してきたが、それを本発明の範囲を制限するものと解釈すべきではない。本発明は、多くの異なるプロトコルを使用する広範な用途に使用される。当業者であれば、他のプロトコルを使用した場合、調査を検出するために本発明の教示を適用することができるだろう。このようなすべての使用方法または用途あるいはその両方は、特許請求の範囲に記載する本発明の範囲内に含まれる。
本発明の上記説明は例示としてのものであって、本発明を制限するものと解釈すべきではない。本発明の例示としての実施形態について説明してきたが、当業者であれば、本発明の新規な教示および高度の使用から実質的に逸脱することなしに、例示としての実施形態を種々に修正することができることを容易に理解することができるだろう。
それ故、そのようなすべての修正は、特許請求の範囲に記載する本発明の範囲内に含まれる。
ネットワークのおよび検出機構としての本発明の特定のいくつかの潜在的な論理的位置内の高レベルの構成要素である。 ハードウェアのおよび本発明を動作できるようにするために必要な構成要素の特定のいくつかの潜在的な論理的位置内の高レベルの構成要素である。 本発明の検出部分のフローチャートである。 直接テーブル(DT)内への新しいポインタおよび新しいリーフの挿入に関連する本発明の一部のフローチャートである。 直接テーブル(DT)内への新しいパトリシア・ツリーの挿入に関連する本発明の一部のフローチャートである。 直接テーブル(DT)内の大型のパトリシア・ツリー内への新しいリーフおよび新しい分岐の挿入に関連する本発明の一部のフローチャートである。 リーフ内の異なる宛先アドレス(DA)の数を、しきい値、すなわち本発明の一部と比較するためのフローチャートである。 検出装置、すなわち本発明の一部をリセットするためのすべてのリーフ、ツリーおよびポインタの周期的削除のフローチャートである。 本発明を実施することができるネットワーク・プロセッサのブロック図である。 IPデータグラム・ヘッダ・フォーマットである。 TCPヘッダ・フォーマットである。 本発明の教示によるルックアップ検索構造である。 本発明の検出部分のフローチャートである。 直接テーブル(DT)内への新しいポインタおよび新しいリーフの挿入に関連する本発明の一部のフローチャートである。 直接テーブル(DT)内への新しいパトリシア・ツリーの挿入に関連する本発明の一部のフローチャートである。 直接テーブル(DT)内の大型のパトリシア・ツリー内への新しいリーフおよび新しい分岐の挿入に関連する本発明の一部のフローチャートである。 リーフ内の異なる宛先アドレス(DA)の数を、しきい値、すなわち本発明の一部と比較するためのフローチャートである。 本発明の教示によるルックアップ・データ構造の図解による表示である。

Claims (5)

  1. 受信したパケットをスキャンニングする少なくとも1つのアルゴリズムを使用して、コンピュータ・ネットワーク上で有害なパケットを検出するための方法であって、
    1つのソース・アドレス(SA)と、N個の宛先アドレス(DA)と、M個の宛先ポート(DP)とを含む予め定められたフォーマットを有するパケットを識別するステップであって、前記SA、DP及び多くのDAはパトリシア・ツリー配置のリーフ中に格納されており、前記パトリシア・ツリー配置は直接テーブルを含む、前記識別するステップと
    予め定められたパケットのSA及びDPのハッシュ値を利用して、前記直接テーブルのスロット内へ索引付けるステップと、
    前記スロットがエントリを有していない場合、前記スロット内にポインタを挿入するステップと、
    前記スロットが1つのリーフへポイントする情報を含む場合、
    リーフのSA及びDPを予め定められたパケット中のSA及びDPと比較するステップと、
    一致がSA及びDP上で生じる場合に、前記リーフ中の前記DAを前記予め定められたケット中の前記DAと比較するステップと、
    一致が生じなかった場合に、前記リーフ中の前記DAのリストに前記予め定められたパケット前記DAを追加するステップと、
    を含む、前記挿入するステップと
    前記パケットを管理機関に報告するステップであって、当該管理機関は、前記疑いのあるパケットとして同じソース・アドレスを有する全ての後続のパケットを破棄し、又は、前記疑いのあるパケットとして同じソース・アドレスを有する以降のパケットを制限するために、決定動作を行うための機能性を含み、前記決定動作が、
    前記パケットの宛先ポートに許容可能なDPのリストを追加するステップと、
    前記同じSA、DA及びDPを有する全ての後続のパケットを識別済みのパケットとして廃棄するステップと、
    前記同じSAで全ての後続のパケットのセットを制限するステップと
    を含む、前記報告するステップと、
    許容可能なDPのリストを提供するステップと、
    前記識別されたパケット内のDPを許容可能なDPの前記リストと比較するステップと
    をさらに含み、
    前記管理機関が、一致するDPを有する全ての後続のパケットを廃棄し、又は一致するDPを有する以降のパケットを制限する、前記方法。
  2. N>8であり、且つM=1である、請求項に記載の方法。
  3. コンピュータ・ネットワーク上で有害なパケットを検出するためのシステムであって、
    メモリと、少なくとも1つの処理素子とを含むネットワーク・プロセッサと、
    前記メモリ内に位置する有害なコードを含むパケットのビット・パターンに類似のビット・パターンを含む少なくとも1つの規則を格納している少なくとも1つのパトリシア・ツリー配置を含むデータ構造と、
    前記少なくとも1つの処理素子上に展開されるコンピュータ・プログラムであって、実行された場合に、前記処理素子に、
    予め定められたパケット内の予め定められたフィールドからキーを生成させること、
    1つのソース・アドレス(SA)、1つの宛先ポート(DP)および多くの宛先アドレス(DA)を有するパケットを識別するために、前記キーを前記規則と関連付けること、ここで、前記SA、DP及び多くのDAはパトリシア・ツリー配置のリーフ中に格納されており、前記パトリシア・ツリー配置は直接テーブルを含み、
    予め定められたパケットのSA及びDPのハッシュ値を利用して、前記直接テーブルのスロット内へ索引付けること、
    前記スロットがエントリを有していない場合、前記スロット内にポインタを挿入すること、
    前記スロットが1つのリーフへポイントする情報を含む場合、
    リーフのSA及びDPを予め定められたパケット中のSA及びDPと比較すること、
    一致がSA及びDP上で生じる場合に、前記リーフ中の前記DAを前記予め定められたケット中の前記DAと比較すること、
    一致が生じなかった場合に、前記リーフ中の前記DAのリストに前記予め定められたパケット中の前記DAを追加すること
    前記パケットを管理機関に報告することであって、当該管理機関は、前記疑いのあるパケットとして同じソース・アドレスを有する全ての後続のパケットを破棄し、又は、前記疑いのあるパケットとして同じソース・アドレスを有する以降のパケットを制限するために、決定動作を行うための機能性を含み、前記決定動作が、
    前記パケットの宛先ポートを許容可能なDPのリストに追加すること、
    前記同じSA、DA及びDPを有する全ての後続のパケットを識別済みのパケットとして廃棄すること、
    前記同じSAで全ての後続のパケットのセットを制限すること
    を含む、前記報告すること、
    許容可能なDPのリストを提供すること、
    前記識別されたパケット内のDPを許容可能なDPのリストと比較すること
    をさらに実行させ
    前記管理機関が、一致するDPを有する全ての後続のパケットを廃棄し、又は一致するDPを有する以降のパケットを制限する、前記システム。
  4. N>8であり、且つM=1である、請求項に記載のシステム。
  5. システムがネットワーク上でのスキャンニングを検出するための方法であって、前記システムが前記ネットワークに接続しているデバイス内にルックアップ構造を備えており、前記ルックアップ構造が、ツリー構造と動作可能に結合している少なくとも1つのスロットを含む複数のスロットに分割されている第1の部分を有するサーチ・ツリーと論理的に等価であり、
    前記方法が、
    前記デバイス内でネットワーク・トラフィックを受信するステップと、
    前記ネットワーク・トラフィックを分析して、予め定められた統計的特徴を有するTCP/IPパケットを検出するステップと、
    前記検出された各TCP/IPパケットに対して、ソース・アドレス(SA)および宛先アドレス(DA)からハッシュした値を生成するステップと、
    前記ハッシュした値を使用してスロット内に索引付けし、ポインタに対する前記スロットをチェックするステップと、
    ポインタを発見できなかった場合に、新しいリーフの識別子であるSAおよびDAを有する前記リーフを挿入するステップと、
    前記リーフ内に、前記各TCP/IPパケット内に含まれている宛先ポート(DP)に対するアドレスを格納するステップと、
    前記スロット内に、前記リーフをポイントしているポインタを生成するステップと、
    ポインタが前記スロット内に位置している場合に、前記ポインタを使用して、リーフにアクセスするステップと、
    前記リーフの内容をチェックして、その中に記録している宛先ポート(DP)のアドレスを検出するステップと、
    前記検出されたアドレスの数をしきい値と比較するステップと、
    アドレスの数が前記しきい値以上である場合に、第2の階層ルックアップを行うステップと、
    前記リーフ内のアドレスの数が前記しきい値より小さい場合に、前記リーフにDAを追加するステップと、
    前記予め定められた統計的特徴を有する1以上のパケットの検出を示すアラームを鳴動するステップであって、前記疑いのある1又はそれ以上のパケットの検出を示すアラームを鳴動するステップであって、当該共鳴するステップは前記ネットワーク上の管理機関に前記疑いのあるパケットを報告するステップを含む、前記共鳴するステップと
    を含み、
    前記管理機関が、前記疑いのあるパケットとして同じソース・アドレスを有する全ての後続のパケットを破棄し、又は、前記疑いのあるパケットとして同じソース・アドレスを有する以降のパケットを制限する、前記方法。
JP2007521949A 2004-07-22 2005-07-20 ネットワーク上での不正なスキャンニングを検出するための方法、システムおよびコンピュータ・プログラム Expired - Fee Related JP4743901B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10/896,733 2004-07-22
US10/896,680 2004-07-22
US10/896,680 US7669240B2 (en) 2004-07-22 2004-07-22 Apparatus, method and program to detect and control deleterious code (virus) in computer network
US10/896,733 US7957372B2 (en) 2004-07-22 2004-07-22 Automatically detecting distributed port scans in computer networks
PCT/EP2005/053518 WO2006008307A1 (en) 2004-07-22 2005-07-20 Method, system and computer program for detecting unauthorised scanning on a network

Publications (3)

Publication Number Publication Date
JP2008507222A JP2008507222A (ja) 2008-03-06
JP2008507222A5 JP2008507222A5 (ja) 2008-07-24
JP4743901B2 true JP4743901B2 (ja) 2011-08-10

Family

ID=35058515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007521949A Expired - Fee Related JP4743901B2 (ja) 2004-07-22 2005-07-20 ネットワーク上での不正なスキャンニングを検出するための方法、システムおよびコンピュータ・プログラム

Country Status (3)

Country Link
JP (1) JP4743901B2 (ja)
TW (1) TWI364190B (ja)
WO (1) WO2006008307A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101499666B1 (ko) * 2013-08-08 2015-03-06 주식회사 시큐아이 네트워크 스캔 탐지 방법 및 장치

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009171431A (ja) * 2008-01-18 2009-07-30 Oki Electric Ind Co Ltd トラフィック分析装置、トラフィック分析方法及びトラフィック分析システム
TWI387259B (zh) * 2008-08-01 2013-02-21 Kathy T Lin 監控網站應用程式使用情境安全性之系統、方法、監控程式產品及電腦可讀取記錄媒體
US8842590B2 (en) * 2009-07-21 2014-09-23 Htc Corporation Mobile device and data connection method thereof
CN102591965B (zh) * 2011-12-30 2014-07-09 奇智软件(北京)有限公司 一种黑链检测的方法及装置
US9392003B2 (en) 2012-08-23 2016-07-12 Raytheon Foreground Security, Inc. Internet security cyber threat reporting system and method
CN105306436B (zh) 2015-09-16 2016-08-24 广东睿江云计算股份有限公司 一种异常流量检测方法
GB2583114B (en) 2019-04-17 2022-09-21 F Secure Corp Preventing UDP hole punching abuse

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002124996A (ja) * 2000-10-13 2002-04-26 Yoshimi Baba 高速パケット取得エンジン・セキュリティ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW453072B (en) * 1999-08-18 2001-09-01 Alma Baba Technical Res Lab Co System for montoring network for cracker attacic
US20030200441A1 (en) * 2002-04-19 2003-10-23 International Business Machines Corporation Detecting randomness in computer network traffic
US7269850B2 (en) * 2002-12-31 2007-09-11 Intel Corporation Systems and methods for detecting and tracing denial of service attacks
US7356587B2 (en) * 2003-07-29 2008-04-08 International Business Machines Corporation Automatically detecting malicious computer network reconnaissance by updating state codes in a histogram

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002124996A (ja) * 2000-10-13 2002-04-26 Yoshimi Baba 高速パケット取得エンジン・セキュリティ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101499666B1 (ko) * 2013-08-08 2015-03-06 주식회사 시큐아이 네트워크 스캔 탐지 방법 및 장치

Also Published As

Publication number Publication date
JP2008507222A (ja) 2008-03-06
WO2006008307A1 (en) 2006-01-26
TWI364190B (en) 2012-05-11
TW200625871A (en) 2006-07-16

Similar Documents

Publication Publication Date Title
US11516181B2 (en) Device, system and method for defending a computer network
US7669240B2 (en) Apparatus, method and program to detect and control deleterious code (virus) in computer network
US8296842B2 (en) Detecting public network attacks using signatures and fast content analysis
US7734776B2 (en) Automatically detecting malicious computer network reconnaissance by updating state codes in a histogram
Li et al. A survey of internet worm detection and containment
US8042182B2 (en) Method and system for network intrusion detection, related network and computer program product
US7873998B1 (en) Rapidly propagating threat detection
JP4743901B2 (ja) ネットワーク上での不正なスキャンニングを検出するための方法、システムおよびコンピュータ・プログラム
Hunt et al. Network forensics: an analysis of techniques, tools, and trends
Mohammed et al. Honeycyber: Automated signature generation for zero-day polymorphic worms
Nicholson et al. A taxonomy of technical attribution techniques for cyber attacks
Ádám et al. Artificial neural network based IDS
Mohammed et al. Detection of zero-day polymorphic worms using principal component analysis
US7957372B2 (en) Automatically detecting distributed port scans in computer networks
Vrat et al. Anomaly detection in IPv4 and IPv6 networks using machine learning
Sun et al. SACK2: effective SYN flood detection against skillful spoofs
Abdulla et al. Setting a worm attack warning by using machine learning to classify netflow data
Jun et al. Intrusion detection system research based on data mining for IPv6
Mohammed et al. An automated signature generation approach for polymorphic worms using principal component analysis
Prabhu et al. Network intrusion detection system
Beyah et al. Invisible Trojan: An architecture, implementation and detection method
US11997133B2 (en) Algorithmically detecting malicious packets in DDoS attacks
Moon et al. A Multi-resolution Port Scan Detection Technique for High-speed Networks.
Mohammed et al. Fast automated signature generation for polymorphic worms using double-honeynet
Kijewski Automated extraction of threat signatures from network flows

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080530

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080530

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101105

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20101105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20101108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110318

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110318

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110325

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110426

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110426

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110509

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees