(57)【特許請求の範囲】
【請求項１】
（Ａ）侵入の可能性を示す信号を生成するステップ
を有し、
前記ステップ（Ａ）は、プロトコルが第２ノードで第２状態に入ってからδ１秒以内に、プロトコルが第１ノードで第１状態に入ることができない時に、行われ、
前記δ１は、正数であり、プロトコルの第１状態で特定される同時生起時間制限の第１の値であり、
前記第１状態は、前記第１ノードと前記プロトコルの第１有限状態機械の状態Ｓ１に対応し、
前記第２状態は、前記第２ノードと前記プロトコルの第２有限状態機械の状態Ｓ２に対応する
ことを特徴とする方法。
【請求項２】
前記第１有限状態機械は、前記第１ノードにおけるプロトコルの許可された状態と状態遷移を全て表し、
前記第２有限状態機械は、前記第２ノードにおけるプロトコルの許可された状態と状態遷移を全て表す
ことを特徴とする請求項１記載の方法。
【請求項３】
（Ｂ）前記信号の生成に応答して、後続のメッセージがその目的地に到達するのを阻止するステップ
を更に有する
ことを特徴とする請求項１記載の方法。
【請求項４】
前記δ１は，第１状態と第２状態の一方に基づく
とを特徴とする請求項１記載の方法。
【請求項５】
（Ｃ）信号を生成するステップ
を更に有し、
前記ステップ（Ｃ）は、プロトコルが第２ノードで前記第２有限状態機械の第２内部状態に入ってから第２の同時生起時間制限値δ２秒以内に、プロトコルが第１ノードで前記第１有限状態機械の第１内部状態に入った時に、行われ、
前記δ２は、正数である
ことを特徴とする請求項１記載の方法。
【請求項６】
前記第１ノードと第２ノードは、セッションにおいて参加し、そのセッション内で前記プロトコルを介して、通信する
ことを特徴とする請求項５記載の方法。
【請求項７】
前記信号は，前記セッションに参加している少なくとも１つのノードを、侵入の可能性のある被害ノードであると特定する
ことを特徴とする請求項６記載の方法。
【請求項８】
前記セッションは、ＶｏＩＰの呼である
ことを特徴とする請求項６記載の方法。
【請求項９】
（Ｄ）信号を生成するステップ
を更に有し、
前記ステップ（Ｄ）は、プロトコルが第２ノードで第２状態に入ってから第３の同時生起時間制限値δ３秒以内に、プロトコルが第１ノードで第１状態にいる時に、行われ、
前記δ３は、正数である
ことを特徴とする請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信に関し、特にネットワーク・セキュリティに関する。
【背景技術】
【０００２】
侵入は、未承認のユーザー（例；ハッカー）がコンピューターシステム内に入り込む時、或いはそれを不正使用（例、秘密データの窃盗）する時に発生する。侵入検知システム(Intrusion-Detection-System(ＩＤＳ）は、コンピューターシステムに出入りするメッセージ（パケット）を監視し，このメッセ−ジに基づいて、侵入が試みられているか否かを決定する。侵入検知システムは、異常な一連のメッセージ，疑わしい一連のメッセージが発生した時，或いはメッセージのシーケンスが既知のアタック・シグネチャに適合した時に、侵入が行われていると、結論づける。
【０００３】
図１は、従来技術に係る通信システム１００のブロック図である。図１に示すように，通信システム１００は、内部ネットワーク１０１を有する。この内部ネットワーク（例、会社用のＭＡＮと住宅用のＬＡＮ）１０１は、外部ネットワーク（例；インターネット）を介して、メッセージを受信し、外部ネットワークを介して、外部データ処理システムにメッセージを送信する。
【０００４】
図２は、図１の内部ネットワーク１０１のブロック図である。図２に示すように、内部ネットワーク１０１は、侵入検知システム（ＩＤＳ）２２０と，ファイアウオール２１５と，コンピュータ・システム２０４−１〜２０４−Ｎを有する。それらは、図に示したように接続される。ここでＮは正整数である。
【０００５】
各コンピュータ・システム２０４−ｎは，パソコン，サーバ，ラップトップ・コンピュータ，パーソナルデジタルアシスタント（ＰＤＡ）であり，これらは無線ＬＡＮの機能を有する。ここで、ｎはＮ以下の正整数である。
【０００６】
コンピュータ・システム２０４−ｎに向けられた来入メッセージが、最初にファイアウオール２１５を通過する。このファイアウオール２１５は、メッセージを検査し，複数の基準の内のある基準に基づいて、このメッセージが宛先に到達するのを阻止すべきか否か，即ちメッセージを通過させるか否かを決定する。このルールの一例は，ドメインbadguy.comからの全てのメッセージをブロックすること，プロトコルのあるタイプを除いて、全てのメッセージをブロックすることである。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ファイアウオール２１５が来入メッセージを通過させる場合は，侵入検知システム（ＩＤＳ）２２０は、このメッセージを受領しそれを検査する。侵入検知システム（ＩＤＳ）２２０は、更なるセキュリティ層を提供する。このセキュリティ層は、ファイアウオール２１５を通過することを許されたメッセージを含む侵入の試みを検出する。例えば、ファイアウオール２１５は、内部ネットワーク１０１内のウェブサーバへの外部からアクセスを、ポート８０に制限する。しかし，侵入検知システム２２０が無い場合には、ウェブサーバ・ソフトウエア（例、コールドフュージョン，アパッチ等）のバグが原因で、ポート８０を通過できる合法的なトラフィックを介して、ウェブサーバそのものを攻撃することが可能である。同様に，ファイアウオール２１５は、内部ネットワーク１０１の周囲の「フェンス」として機能できる。フェンスは、セキュリティを提供するが、いつ誰かが侵入しようとする（例、地下トンネルを掘ることにより）かを検知することはできない。侵入検知システム（ＩＤＳ）２２０は，ファイアウオール２１５が検出することのできない侵入の試みを検知できる。それ故に、ファイアウオール２１５に加えて、更なるセキュリティ向上の為に、侵入検知システム（ＩＤＳ）２２０を有することが好ましい。
【０００８】
侵入検知システム（ＩＤＳ）２２０がアタック・シグネチャ・データベースに依存する場合には，このデータベースを更新しておくことが必須である。特に時間外に、悪意のユーザーは、脆弱性を利用するあるいはシステムを攻撃する新技術を時に見いだすことがある。セキュリティの専門家は、それに応じて、これらの盗用技術に対しガードするため、新たなアタック・シグネチャを処方している。アンチウイルスのソフトウエアの場合のように、侵入検知システム（ＩＤＳ）２２０の所有者は、アタック・シグネチャ・データベースを新たなアタック・シグネチャで定常的に更新する為には、２つの選択子を有する。一つの選択子は、侵入検知システム（ＩＤＳ）２２０の販売業者により提供される自動更新サービスであり，他方は、新たなアタック・シグネチャを手動でチェックしそれを取り出しインストールすることである。いずれの場合にも、侵入検知システム（ＩＤＳ）２２０の効率は、所有者のまめさ（前者の選択肢の場合には、オーナーは購入費を周期的に払わなければならず、後者の選択子の場合には、所有者は頻繁に新たな更新をチェックしなければならない）と時間と金銭に依存する。
【０００９】
インターネットプロトコルを介した音声（ＶｏＩＰ）システムは、音声トラフィックを、パケット交換インターネットプロトコル（ＩＰ）データネットワークを介して、即ち、回線切り替え電話ネットワーク（例；公衆電話ネットワーク）を介さずに、送信する。通常ＶｏＩＰは、２つの主要なプロトコル、Ｈ３２３とＳＩＰ（Session Initiation Protocol(SIP)に基づいている。この両方のシステムの場合において、発呼通信端末と被呼通信端末（例；ハードフォンとソフトフォン）のＶｏＩＰユーザーエイジェントは、Real-Time Transport Protocol(RTR)に従って、符号化された音声信号を含むパケットを送受信する。更にＶｏＩＰゲートウエイは、メディア管理プロトコル（例、Media Gateway Control Protocol (MGCP)又はＭＥＧＡＣＯ／Ｈ．２３４）を採用して、ＩＰベースのネットワークと非ＩＰベースのネットワークの間（例；ＰＳＴＮ電話とＩＰ電話との間）を、トランスペアレントに、トラフィックを通過させる。
【００１０】
ＶｏＩＰの重要な利点は，音声とデータネットワークをまとめることができる点である。音声トラフィックをデータネットワークに乗せることにより、音声ネットワークは、侵入或いは他の攻撃（例、サービスを否定する攻撃、認証攻撃等）を受けやすくなる。これにより、プライバシーと、クオリティオブサービスと、正確な課金が出来なくなる。更に、ＶｏＩＰシステムの特性により、従来のある種の侵入検知システムは、ＶｏＩＰパケットを採用する侵入（即ち、ＶｏＩＰベースの侵入）に対し、十分なセキュリティを提供することが、できない。
【課題を解決するための手段】
【００１１】
本発明により、ＶｏＩＰシステムへの侵入の検出が可能となるが、これは、アタック・シグネチャ・データベースを使用することはない。特にここに示した実施例は、２つの観測に基づいている。一方は、様々なＶｏＩＰ関連のプロトコル（例；ＳＩＰ等）は、小型の有限状態機械（ＦＳＭ）で表現できるほどシンプルであり，この為、シグニチャ・ベースの侵入検知システムに特有な不利な点を回避できるというものである。他方は、有限状態機械（ＦＳＭ）は局部的には侵入は検知できないが、特定のセッションで関連する全ての有限状態機械（ＦＳＭ）のグローバルな（即ち分散した）視野で侵入を検知できるという観測である。
ここに示した実施例によれば，そのセッションの間のそのノードにおける許可された（即ちリーガル）状態と状態変化の表示が可能となる各セッション／ノード／プロトコルの組み合わせに対する有限状態機械と、更に、セッション全体に渡って個々の有限状態機械（ＦＳＭ）に制約を強制し、個々のセッション／ノード／プロトコル有限状態機械（ＦＳＭ）がリーガル状態にある時でさえ、侵入を検知できる「グローバルな」有限状態機械（ＦＳＭ）を提供できる。
【００１２】
ここに示した実施例によれば、プロトコルが第２ノードで第２状態に入ってからδ秒以内に、プロトコルが第１ノードで第１状態に入ることができない時に、侵入の可能性を示す信号を生成する。
【実施例】
【００１３】
本明細書で使用される用語を次の通り定義する。用語「ノード」は、ネットワークのエンドポイント（例；通信端末，ゲートウエイ，ルータ，サーバ，ファイアウオール，侵入検知システム等）である。用語「ＶｏＩＰノード」は、ＶｏＩＰメッセージを送受信する又は処理できるノードである。
【００１４】
図３は本発明の一実施例による通信システム３００を表す。同図に示すように，通信システム３００は、ネットワーク３０５と，４個のＶｏＩＰノード３１０−１〜３１０−４と、侵入検知システム（ＩＤＳ）３２０とを有する。それらは図に示した通り接続される。
【００１５】
ネットワークは、ソ−ス（ＶｏＩＰノード３１０−１〜３１０−４のと侵入検知システム（ＩＤＳ）の内の一つ）か宛先（ＶｏＩＰノード３１０−３０１〜４の内と侵入検知システム（ＩＤＳ）３２０の内の一つ）にメッセ−ジを送信する。ネットワークを図３には概念的に示す。本発明の一実施例においては，ネットワークは、無線ネットワークであり，他の実施例では、有線ネットワークである。更にまた他の実施例では。ネットワークは有線と無線の両方を含み，複数のネットワーク（例えばＰＳＴＮとインターネットと無線ＬＡＮの組み合わせ）を含む。通信システム３００は、４個のＶｏＩＰノード３１０を含むがこれは単なる一実施例であり，他の実施例ではＶｏＩＰノードの数は、４個以上あるいは４個以下でもよい。
【００１６】
ＶｏＩＰノード３１０−ｉは、ＶｏＩＰ機能を有する、端末，サーバ，ゲートウエイのいずれか１つを含む。これらは、１つ或いは複数のＶｏＩＰプロトコル（例；Session Initiation Protocol (SIP), Real-time Transport Protocol (RTR)に従って、メッセージを送受信できる。本発明の一実施例によれば、各ＶｏＩＰノード３１０−ｉは、侵入検知システム（ＩＤＳ）３２０に、ＶｏＩＰノード３１０−ｉにおけるプロトコルの状態遷移を通知するようプログラムされている。例えばＶｏＩＰノード３１０−ｉにおけるSession Initiation Protocol (SIP)の状態の変化が起きた時には，ＶｏＩＰノード３１０−ｉは、ＳＩＰメッセージを送信する。このＳＩＰメッセージは、他のＶｏＩＰノード３１０には無視されるが，侵入検知システム（ＩＤＳ）３２０には、プロトコルの状態変化を通知する。
【００１７】
本明細書を参照することにより、本発明のＶｏＩＰノード３１０の製造および使用方法は、当業者には明らかである。侵入検知システム（ＩＤＳ）３２０に、ＶｏＩＰノード３１０におけるプロトコルの状態遷移を通知するのに用いられる様々な技術が存在するが，このようなＶｏＩＰノード３１０の使用方法及び製造方法は、本明細書を参照することにより、当業者に明らかである。
【００１８】
侵入検知システム（ＩＤＳ）３２０は，ネットワーク３０５を介して伝送されるメッセージをモニタする（即ち、Packet snifing）ことができる。この侵入検知システム（ＩＤＳ）３２０は、特定のポリシーに従って、侵入が検知されたときには、メッセージをドロップされるようにプログラムされ，図１０−１２に記載されたタスクを実行する。侵入検知システム（ＩＤＳ）３２０の個々の構成要素を、図４に説明するが，侵入検知システム（ＩＤＳ）３２０に記憶されたデータの表示は、図５−９で説明する。
【００１９】
この実施例は、中央に配置された侵入検知システム（ＩＤＳ）３２０を１個有するが，本発明の他の実施例では、複数の侵入検知システム（ＩＤＳ）３２０を分散配置することもできる。例えば、各ＶｏＩＰノード３１０に侵入検知システム（ＩＤＳ）搭載することもできる。本明細書を参照することにより、このような実施例の製造及び使用は、当業者に明らかである。
【００２０】
図４は、本発明の一実施例による侵入検知システム（ＩＤＳ）３２０の構成要素を表すブロック図である。同図に示すように、侵入検知システム（ＩＤＳ）３２０は，受信機４１０と，プロセッサ４０２と，メモリ４０３と，送信機４０４とを有し、図に示すように接続される。
【００２１】
受信機４０１は、ネットワーク３０５からの信号を受信し、ネットワーク３０５の情報をプロセッサ４０２に送る。本明細書を参照することにより、受信機４０１の製造及び使用方法は、当業者に明らかである。
【００２２】
プロセッサ４０２は汎用コンピュータである。このプロセッサ４０２は、受信機４０１からの情報を受信し，メモリ４０３内に記憶されるインストラクション（特に図７のタスクに対応するインストラクション）を実行し，メモリ４０３からデータを読み出し、メモリ４０３内にデータを書き込み，情報を送信機４０４に転送することができる。本発明の他の実施例においては、プロセッサ４０２は専用プロセッサでもよい。いずれの場合にも，本明細書を参照することにより、プロセッサ４０２の製造及び使用方法は、当業者に明らかである。
【００２３】
メモリ４０３は、データと実行するインストラクションを記憶する。このメモリ４０３は、ＲＡＭ，フラッシュメモリ，ディスクドライブメモリ等、あるいはその組み合わせである。本明細書を参照することにより、メモリ４０３の製造及び使用方法は、当業者に明らかである。
【００２４】
送信機４０４は、情報をプロセッサ４０２から受領し，この情報を符号化した信号をネットワーク３０５に送る。本明細書を参照することにより、送信機４０４の製造及び使用方法は、当業者に明らかである。
【００２５】
図５は、本発明の一実施例のメモリ４０３の構成要素を表すブロック図である。同図に示すように，メモリ４０３はプロセッサにより実行されるべきインストラクションを有する第１部分と第２データ部分とを有する。第１部分は，プログラム５０１を有する。このプログラム５０１は、図１０−１２に記載するタスクを実行する。第２部分は、３個のデータブロック５０２−１〜５０２−３を有し，これらは３つのセッションに対応する。これらのデータブロックの中身は、図６−９で説明する。図５に示す３個のデータブロック５０２は、単なる一実施例で，それぞれのセッションに対する３個以上あるいは以下のデータブロック５０２を有することも可能である。
【００２６】
図６は、本発明の一実施例によるデータブロック５０２−ｉのコンテンツのブロック図を示す。図６に示すように、データブロック５０２−ｉは、データサブブロック６０５−ｉ−１〜６０５−ｉ−４を含む。各データサブブロックは、セッションｉに関連するＶｏＩＰノード３１０−ｉと、セッションｉにおけるグローバル有限状態機械（ＦＳＭ）６０６−ｉに関連する。これに関しては図９で説明する。データブロック５０２の場合にように、４個のデータサブブロック６０５は、単なる一実施例で，セッションｉにおいて、それぞれのノードに対応する４個以上或いは以下のデータサブブロック６０５を有することも可能である。
【００２７】
図７は、本発明の一実施例によるデータサブブロック６０５−ｉ−ｊのコンテンツを表すブロック図である。図７に示すように、データサブブロック６０５−ｉ−ｊは、有限状態機械（ＦＳＭ）７７０−ｉ−ｊ−１〜７７０−ｉ−ｊ−３を有する。それらは、セッションｉにおいて、ＶｏＩＰノード−ｊにおけるそれぞれのプロトコル（Session Initiation Protocol (SIP), Real-time Transport Protocol (RTR)）の状態に関連する。各有限状態機械（ＦＳＭ）７７０−ｉ−ｊ−ｋは、対応するプロトコルの取り得る（即ちリーガル）状態と状態遷移を表し，セッションｉにおいて、ＶｏＩＰノード３１０−ｊにおけるそのプロトコルの現在の状態を追跡する。有限状態機械（ＦＳＭ）７７０−ｉ−ｊ−ｋの詳細を、図８に示す。
【００２８】
データサブブロック６０５−ｉ−ｊは、３個の有限状態機械（ＦＳＭ）７７０を有するが、これは、単なる一実施例で、セッションｉのＶｏＩＰノード３１０−ｊにおけるそれぞれのプロトコルに対応する３個以上或いは以下の有限状態機械（ＦＳＭ）７７０を有することも可能である。
【００２９】
図８は、本発明の一実施例による有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋを表す。特に有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋは、セッションｉにおいて、発呼者であるＶｏＩＰノード３１０−ｊにおけるSession Initiation Protocol (SIP)のリーガル状態（legal status）と状態遷移(state transition)に対応する。
【００３０】
図８に示すように，有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋは、９個の状態８０１〜８０９有する。状態８０１は、ＶｏＩＰノード３１０−ｉのＳＩＰセッションの開始状態であり，トークン８００は、有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋの現在の状態を追跡する（図８の状態８０２）。有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋ内の各アーク（即ち矢印）は、第１状態から第２状態への遷移を表す。ここで、矢印に付したラベルは、ＶｏＩＰノード３１０−ｉにより送受信されたメッセージの種類（ＳＩＰ＿ＩＮＶＩＴＥ，ＳＩＰ＿ＩＮＶＩＴＥ＿ＡＣＫ）を示す。このメッセージが、状態変化を発生させる。
【００３１】
図８の有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋにおいては、各矢印のラベルは、ＶｏＩＰノード３１０−ｊにより送受信されるメッセージに対応するが，本発明の他の実施例においては、有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋは、ＶｏＩＰノード３１０−ｊに全く関連しないメッセージに対応する矢印のラベルを有してもよい。さらに本発明の他の実施例においては，有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋは、プロトコル関連メッセージ（例としてremote procedure call，別の種のメッセージ等）以外の信号に対応する１個あるいは複数個の矢印のラベルを有してもよい。いずれの場合においても、本明細書を参照することにより、様々な種類の矢印の符号を有する有限状態機械（ＦＳＭ）を生成し使用することができる。
【００３２】
図９は、本発明の一実施例によるセッションｉ用のグローバル有限状態機械（ＦＳＭ）６０６−ｉの一部を表す図。図９に示したセッションｉ用のグローバル有限状態機械（ＦＳＭ）６０６−ｉは，開始状態から状態９０１への矢印と、状態９０１から状態９０２への矢印を含む。
【００３３】
状態９０１は、発呼者ノードの有限状態機械（ＦＳＭ）７０７（状態８０４）と、サーバの有限状態機械（ＦＳＭ）７０７（状態ｘｘｘ）と、被呼者ノードの有限状態機械（ＦＳＭ）７０７（状態ｙｙｙ）の状態の合成状態を表す。本発明の一実施例によれば，状態９０１は、これらの３つのノードの有限状態機械（ＦＳＭ）に対し制約を強制する。この制約とは，これらの有限状態機械（ＦＳＭ）は、同図に示されたそれぞれの状態を、指定された時間（この場合２秒）以内に、採らなければならないというものである。言い換えると、これらのノードの有限状態機械（ＦＳＭ）７０７の１つが、指定された状態に達すると，他の２つのノードのそれぞれの有限状態機械（ＦＳＭ）７０７は、２秒以内にそれらの示された状態に到達しなければならない。このような移行の制約が満たされない場合には、侵入の可能性を示す警報が生成される。これに関しては、図１２で詳述する。
【００３４】
同様に、状態９０２は、発呼者ノードの有限状態機械（ＦＳＭ）（状態８０５）と、サーバの有限状態機械（ＦＳＭ）（状態ｚｚｚ）と、被呼者ノードの有限状態機械（ＦＳＭ）（状態ｗｗｗ）の状態の合成状態を表す。さらに、これらの状態に３秒以内の同時性の制約も示す。ただし、図１０では状態９０２内では２秒としている。
【００３５】
開始状態から状態９０１への矢印は，セッションｉ用のグローバル有限状態機械（ＦＳＭ）６０６−ｉを最初に実行した時に、自動的に起きる状態遷移である。
【００３６】
状態９０１から状態９０２への矢印は、状態遷移を表す。この状態遷移が起こるのは，第１のＳＩＰ＿ＩＮＶＩＴＥメッセージが発呼者ノードからサーバに送られた時と，第２のＳＩＰ＿ＩＮＶＩＴＥメッセージがサーバから被呼者ノードに送られた時と，ＳＩＰ＿ＩＮＶＩＴＥ＿ＡＣＫメッセージが被呼者ノードからサーバに送られた時である。
【００３７】
図９の特定の合成状態と状態遷移と一致（同時性）制約（concurrency contraint）は、単なる一実施例である。本発明の他の一実施例においては，セッションｉ用のグローバル有限状態機械（ＦＳＭ）６０６−ｉは、図９の有限状態機械（ＦＳＭ）の一致制約に加えて或いはそれに替えて、他の種類の制約を採用することもできる。例えば非一致（非同時性）制約（non-concurrency contraint）により、有限状態機械（ＦＳＭ）７０７の特定の状態が、同時（所定の時間制限の前後）に実際に到達しない場合には、警報が発せられるようにしてもよい。他の実施例として、３個の特定の有限状態機械（ＦＳＭ）７０７の内の少なくとも２個の有限状態機械（ＦＳＭ）が、同時に到達しなければならない制約、或いは有限状態機械（ＦＳＭ）７０７の状態のタイミングとは無関係にする制約、有限状態機械（ＦＳＭ）７０７の状態に到達する回数に条件を付する制約）でもよい。本明細書を参照することにより、セッションｉ用のグローバル有限状態機械（ＦＳＭ）６０６−ｉにおいて別の制約を採用することは、当業者には容易である。
【００３８】
図１０は、本発明の一実施例による侵入検知システム（ＩＤＳ）３２０のタスクのフローチャートである。本明細書を参照することにより、図１０のタスクは、同時あるいは図に示したのとは異なる順序で、実行できる。
【００３９】
タスク１０１０において、侵入検知システム（ＩＤＳ）３２０は、新たなセッションｉが開始したか否かをチェックする。開始した場合には、タスク１０２０に進み，それ以外の場合には、タスク１０１０に戻る。
【００４０】
タスク１０２０において，侵入検知システム（ＩＤＳ）３２０は、第１スレッドを生成し、セッションｉにおける不正の「局部的」プロトコル状態あるいは状態遷移を検出する。これに関しては図１１で説明する。
【００４１】
タスク１０３０において，侵入検知システム（ＩＤＳ）３２０は、第２スレッドを生成し、セッションｉにおける不正の「グローバル」プロトコル状態あるいは状態遷移を検出する。これに関しては図１２で説明する。
【００４２】
タスク１０４０において，侵入検知システム（ＩＤＳ）３２０は、第１と第２のスレッドで生成された警報を処理するため、第３のスレッドを形成する。タスク１０４０で採られるこの措置は、特定の実行がプログラムされたポリシーに依存し，警報の簡単なロギングを含み，それに応じて後続のメッセージがその宛先に到達するのを阻止し，セッションｉ等で参加した１つ或いは複数のノードを「ロッキングダウン」する。後続のメッセージをブロックする場合には、本発明のある実施例においては，侵入検知システム（ＩＤＳ）３２０は、このメッセージのブロックに能動的に参加するが，他の実施例においては、侵入検知システム（ＩＤＳ）３２０は、他のエンティティ（ファイアーウオール，セキュリティ・アプライアンス等）に対しメッセージをブロックするよう指示する。いずれの場合においても、本明細書を参照することにより、侵入検知システム（ＩＤＳ）３２０が、タスク１０４０において、このようなブロックを実行すること或いは他の措置を如何に講ずるかは、当業者に明らかである。
【００４３】
タスク１０５０において，侵入検知システム（ＩＤＳ）３２０は，セッションｉが終了した時を検出する第４のスレッドを形成する。それに応じて第１−３のスレッドを終了させ、最後に自分自身も終了させる。本明細書を参照することにより、侵入検知システム（ＩＤＳ）３２０が、タスク１０５０を実行する方法は当業者には明らかである。
【００４４】
タスク１０５０が終了すると、図１０の方法は、繰り返しの為に、タスク１０１０に戻る。
【００４５】
図１１は、本発明の一実施例により、タスク１０２０で形成された第１のスレッドのタスクのフローチャート図である。
【００４６】
タスク１１１０において、このスレッドは，セッションｉにおける全てのノードｘとプロトコルｙに対する有限状態機械（ＦＳＭ）７０７−ｉ−ｘ−ｙを最初の状態に初期化する。
【００４７】
タスク１１２０において，このスレッドは、メッセージＭが、セッションｉの間にＶｏＩＰノード３１０−ｊとの間で送受信されたかを観測する。送受信された場合には、この実行は、タスク１１６０に進み，それ以外はタスク１１３０に行く。
【００４８】
タスク１１３０において，このスレッドは、セッションｉの間にＶｏＩＰノード３１０−ｊにおけるプロトコルｋの現在の状態が変わったか否かをチェックする。変わった場合には、タスク１１４０に進み，それ以外はタスク１１２０に戻る。
【００４９】
タスク１１４０において、このスレッドは、ＶｏＩＰノード３１０−ｊの状態変化が有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋと矛盾するか否か（例えば図８の状態８０１から状態８０５へ、中間状態無しで遷移したか否か）をチェックする。状態変化が矛盾する場合には、タスク１１９０に進み，それ以外はタスク１１５０に進む。
【００５０】
タスク１１５０において，このスレッドは、それに応じて有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋをトークン８００を介して更新する。タスク１１５０の後、タスク１１２０に戻る。
【００５１】
タスク１１６０において，このスレッドは、メッセージＭのプロトコルｋを決定する。タスク１１６０の後、タスク１１７０に進む。
【００５２】
タスク１１７０において，このスレッドは、メッセージＭが有限状態機械（ＦＳＭ）７０７−ｉ−ｊ−ｋと矛盾するか否かをチェックする。矛盾する場合には、タスク１１９０に進み，それ以外は、タスク１１７５に進む。
【００５３】
タスク１１７５において，このスレッドは、セッションｉにおいて、別のノードＶｏＩＰノード３１０−ｘ（ｘ≠ｊ）に対し、別の他の有限状態機械（ＦＳＭ）７０７−ｉ−ｘ−ｋと矛盾するか否かを、チェックする。矛盾する場合には、タスク１１９０に進み，それ以外は、タスク１１８０に進む。
【００５４】
タスク１１８０において，このスレッドは、セッションｉにおいて、各ノードＶｏＩＰノード３１０−ｙに対する有限状態機械（ＦＳＭ）７０７−ｉ−ｙ−ｋの現在の状態を更新する。タスク１１８０の後、タスク１１２０に戻る。
【００５５】
タスク１１９０において，このスレッドは、侵入の可能性を示す警報を生成する。本発明のある実施例では、警報は、侵入の可能性のあるターゲット（即ち被害者）として特定のノードＶｏＩＰノード３１０を指定（例；有限状態機械（ＦＳＭ）７０７と矛盾するノード）する。他の実施例においては、警報は特定のノードを指定しない。タスク１１９０の後、タスク１１２０に進む。
【００５６】
図１２は、本発明の一実施例によるタスク１０３０で形成された第２スレッドのタスクを表すフローチャートである。
【００５７】
タスク１２１０において、このスレッドは、セッションｉにおいて、グローバル有限状態機械（ＦＳＭ）６０６−ｉを開始状態に初期化する。
【００５８】
タスク１２１５において、このスレッドは、δ：＝∞に設定する。
【００５９】
タスク１２２０において、このスレッドは、メッセージＭが、観測されたセッションｉに属するか否かをチェックする。属する場合には、タスク１２３０に進み，それ以外はタスク１２２０に戻る。
【００６０】
タスク１２３０において、メッセージＭは、セッションｉにおいて、グローバル有限状態機械（ＦＳＭ）６０６−ｉと矛盾するか否かをチェックする。矛盾する場合には、タスク１２９０に進み，それ以外はタスク１２４０に進む。
【００６１】
タスク１２４０において、このスレッドは、メッセージＭが、セッションｉにおいて、グローバル有限状態機械（ＦＳＭ）６０６−ｉの現在の状態から新たな状態Ｓへの状態遷移のラベルに一致（match）するか否かをチェックする。一致する場合には、タスク１２５０に進み，それ以外は、タスク１２２０に戻る。
【００６２】
タスク１２５０において，このスレッドは、δが有限であるか否かの判断をする。有限である場合には、タスク１２７０に進み，それ以外は、タスク１２６０に進む。
【００６３】
タスク１２６０において，このスレッドは、δの値を状態Ｓで指定された時間制限に設定し，δのリアルタイムのカウントダウンをゼロに向けて開始する。
【００６４】
タスク１２７０において，このスレッドは、δがゼロ等しいか否かを判断する。等しい場合には、タスク１２８０に進み，それ以外の場合はタスク１２２０に戻る。
【００６５】
タスク１２８０において，このスレッドは、セッションｉにおいて、グローバル有限状態機械（ＦＳＭ）６０６−ｉが状態Ｓに到達したか否かをチェックする。到達しない場合には、タスク１２９０に進み，それ以外はタスク１２１５に戻る。
【００６６】
タスク１２９０において，スレッドは侵入の可能性を示す警報を生成する。これはタスク１１９０と同様である。タスク１２９０の後、タスク１２１５に進む。
【００６７】
上記の説明はＶｏＩＰシステムを例に説明したが，本明細書を参照することにより、有限状態機械（ＦＳＭ）の表示を有する他のシステム或いは他のプロトコルも、如何に形成し使用するか当業者には明らかである。
【００６８】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。
【図面の簡単な説明】
【００６９】
【図１】従来技術に変わる通信システム１００のブロック図
【図２】図１の内部ネットワーク１０１のブロック図
【図３】本発明の一次指令の通信システム３００を表す図
【図４】図３の侵入検知システム（ＩＤＳ）３２０の構成要素のブロック図
【図５】図４のメモリ４０３の構成要素を表すブロック図
【図６】図５のセッションｉ用データ５０２ｉの構成要素のブロック図
【図７】図６のセッションｉ／ＶｏＩＰノード３１０−ｊ用データ６０５ｉ−ｊの構成要素を表すブロック図
【図８】図７の有限状態機械（ＦＳＭ）７０７ｉ−ｊ−ｋを表す図
【図９】図６のセッションｉ用のグローバル有限状態機械（ＦＳＭ）６０６ｉの一部を表す図
【図１０】侵入検知システム（ＩＤＳ）３２０のタスクのフローチャート図
【図１１】図１０のタスク１０２０で形成された第１スレッドのタスクのフローチャート図
【図１２】図１０のタスク１０３０で形成された第２スレッドのタスクのフローチャート図
【符号の説明】
【００７０】
１０１  内部ネットワーク
２１５  ファイアウオール
２２０  侵入検知システム（ＩＤＳ）
２０４  コンピュータ・システム
３０５  ネットワーク
３１０  ＶｏＩＰノード
３２０  侵入検知システム（ＩＤＳ）
４０１  受信機
４０２  プロセッサ
４０３  メモリ
４０４  送信機
５０１  プログラム
５０２−１      セッション１のデータ
５０２−２      セッション２のデータ
５０２−３      セッション３のデータ
６０５−ｉ−１  セッションｉのデータ／ＶｏＩＰノード３１０−１
６０５−ｉ−２  セッションｉのデータ／ＶｏＩＰノード３１０−２
６０５−ｉ−３  セッションｉのデータ／ＶｏＩＰノード３１０−３
６０５−ｉ−４  セッションｉのデータ／ＶｏＩＰノード３１０−４
６０６−ｉ      セッションｉのグローバル有限状態機械（ＦＳＭ）
７０７−ｉ−ｊ−１  第１プロコル用の有限状態機械（ＦＳＭ）
７０７−ｉ−ｊ−２  第２プロコル用の有限状態機械（ＦＳＭ）
７０７−ｉ−ｊ−３  第３プロコル用の有限状態機械（ＦＳＭ）
１０１０  新たなセッションｉが初期化されたか？
１０２０  セッションｉ内で違法な「局所」プロトコル状態／遷移を検出する
第１スレッドを生成する
１０３０  セッションｉ内で違法な「グローバル」プロトコル状態／遷移を検出する
第２スレッドを生成する
１０４０  第１と第２のスレッドで生成された警報を処理する第３のスレッドを生成する
１０５０  セッションｉの終了を検出し、第１−３スレッドを終了させる
第４スレッドを生成する
１１１０  セッションｉ内の全ノードＸと全プロトコルＹに対する開始状態
ＦＳＭ７０７−ｉ−ｘ−ｙに初期化する
１１２０  ノード３１０−ｊとの間のメッセージMを観測したか？
１１３０  ノード３１０−ｊのプロトコルｋの現在の状態は変化したか？
１１４０  状態変化は、ＦＳＭ７０７−ｉ−ｊ−ｋと矛盾するか？
１１５０  ＦＳＭ７０７−ｉ−ｊ−ｋの現在の状態を更新する
１１６０  メッセージＭのプロトコルｋを決定する
１１７０  メッセージＭは、ＦＳＭ７０７−ｉ−ｊ−ｋと矛盾するか？
１１７５  メッセージＭは、どのＦＳＭ７０７−ｉ−ｊ−ｋとも矛盾するか？
１１９０  侵入の可能性を示す警報を発する
１２１０  グローバルＦＳＭ６０６−ｉを開始状態に初期化する
１２２０  セッションｉ内でメッセージMを観測したか？
１２３０  メッセージＭはＦＳＭ６０６−ｉと矛盾するか？
１２４０  メッセージＭはＦＳＭ６０６−ｉ内の新たな状態Ｓへの遷移にマッチするか？
１２６０  δ：＝Ｓのタイムリミット  δのカウントダウンを開始する
１２８０  ＦＳＭ６０６−ｉは状態Ｓに到達したか？
【図１】
0005311630.tif 000002
【図２】
0005311630.tif 000003
【図３】
0005311630.tif 000004
【図４】
0005311630.tif 000005
【図５】
0005311630.tif 000006
【図６】
0005311630.tif 000007
【図７】
0005311630.tif 000008
【図８】
0005311630.tif 000009
【図９】
0005311630.tif 000010
【図１０】
0005311630.tif 000011
【図１１】
0005311630.tif 000012
【図１２】
0005311630.tif 000013