(57)【要約】  コンピュータネットワークにおけるトラフィックを監視するためのコンピュータ実装方法、コンピュータ化装置およびコンピュータプログラム製品。コンピュータネットワークは、デバイス上で実行されているアプリケーションプログラムによる要求送信のターゲットポート識別子に変換関数を適用し、送信を、変換関数の適用によって取得されたスクランブル識別子に従って異なるターゲットポートに宛先指定するように構成された複数のデバイスを含む。変換関数は、複数のデバイス間で共有される少なくとも１つのパラメータに依存し、その適用は、送信を要求するアプリケーションプログラムが許可されたアプリケーションプログラムのリストに記載されていることを条件とする。変換関数によって定義された無効なポートにアクセスしようとする試みが識別され、その試みに帰せられるセキュリティ脅威を軽減するための措置が提供される。
2019507412.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスを含むコンピュータネットワーク環境で行われるコンピュータ実装方法であって、各デバイスは、各デバイス上で実行されているアプリケーションプログラムの送信要求において指示されるネットワーク通信のためのターゲットポートの識別子に対して変換関数を適用することにより、前記識別子のスクランブルバージョンを取得するように構成されており、前記複数のデバイスは、前記送信を、前記識別子の前記スクランブルバージョンによって識別される異なるターゲットポートを介して受信されるよう宛先指定するようにさらに構成されており、前記方法は、
前記複数のデバイスに含まれる第１のコンピュータ化装置の第１のポートに向けて宛先指定された第１の送信による無効なポートのアクセス試行を識別するステップと、
前記識別に応答して、前記無効なポートのアクセス試行に帰せられるセキュリティ脅威を軽減するために行われるべき措置を提供するステップと、
を含み、
前記無効なポートのアクセスを識別する前記ステップは、前記第１のポートを識別する第１の識別子が、前記複数のデバイスに含まれる第２のコンピュータ化装置上で実行されているアプリケーションプログラムの送信要求によって受信先として指定されている第２のポートの第２の識別子に対して前記変換関数を適用することにより取得可能かどうか検査するステップを含み、
前記変換関数は、前記複数のデバイス間で共有される少なくとも１つのパラメータに依存し、前記複数のデバイスのうちのデバイスが前記変換関数を適用する前記ステップは、送信を要求している前記アプリケーションプログラムが前記デバイスに提供されている許可されたアプリケーションプログラムのリストに記載されていることを条件とする、
コンピュータ実装方法。
【請求項２】
前記第１の送信の分析に基づいて、前記第１の送信が悪意のあるアクティビティから生じている可能性が高いかどうか判定するステップであって、前記措置は前記判定に応答したものである、前記判定するステップ、をさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記判定するステップは、前記第１の送信の発信元である同じデバイスからの過去のアクセス試行を分析して、無効なポートまたは近隣のポートにアクセスしようとする繰り返しの試行または連続した試行を識別するステップ、をさらに含む、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記第１の送信を分析するステップは、前記コンピュータネットワーク内の所定のデバイス集合のうちの１つから発信される、または前記１つに向けて宛先指定されたトラフィックについてはスキップされる、請求項２に記載のコンピュータ実装方法。
【請求項５】
前記所定のデバイス集合は、ファイアウォールコンポーネント、ゲートウェイコンポーネント、およびそれらの任意の組み合わせからなる群より選択される種類の１または複数のデバイスを含む、請求項４に記載のコンピュータ実装方法。
【請求項６】
前記第１の送信は、前記コンピュータネットワーク上のトラフィックを監視するサーバによって傍受され、前記識別するステップは前記サーバによって行われる、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記第１の送信は、前記第１のコンピュータ化装置に配置された監視エージェントによって傍受され、前記識別するステップは前記監視エージェントによって行われる、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記検査するステップは、前記第１の識別子を、各々が、共通ポート、許可されたアプリケーションプログラムの前記リスト内のプログラムによって使用されるポート、前記第１のコンピュータ化装置上で実行されているプログラムによって使用されるポート、およびそれらの任意の組み合わせからなる群より選択される種類のものであるポートの識別子に前記変換関数を適用することによって取得された有効なターゲットポートの集合と比較するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項９】
前記少なくとも１つのパラメータは時間依存暗号鍵を含み、前記方法は、
前記第１のポートが以前に有効であったかどうか判定するステップと、
前記第１のポートが無効になったときから前記送信が前記第１のポートへのアクセスを試みたときまでの時間枠を計算するステップと、
前記時間枠を所定の閾値と比較するステップと、
をさらに含み、
前記措置は、少なくとも、前記時間枠が前記所定の閾値を超えるかどうかに基づいて決定される、請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記検査するステップは、第１の識別子を、送信を受信するためのターゲットポートとして使用されることから除外された所定のポートの識別子集合と比較して、一致が見つかり次第前記第１のポートが無効であると判定するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項１１】
前記措置は、前記第１の送信の発信元であるデバイスに、前記少なくとも１つのパラメータの少なくとも一部分の失効したインスタンスを提供することによって、前記デバイスが前記複数のデバイスのうちのいずれかと有効に通信するのを妨げることを伴う、請求項１に記載のコンピュータ実装方法。
【請求項１２】
前記識別するステップは、前記第１の識別子に逆変換関数を適用するステップを含む、請求項１に記載のコンピュータ実装方法。
【請求項１３】
前記デバイスに提供される許可されたアプリケーションプログラムの前記リストは、前記複数のデバイスのために定義された許可されたアプリケーションプログラムの所定のリストのサブセットである、請求項１に記載のコンピュータ実装方法。
【請求項１４】
プロセッサを有するコンピュータ化装置であって、前記コンピュータ化装置は複数のデバイスを含むコンピュータネットワーク環境と通信し、各デバイスは、各デバイス上で実行されているアプリケーションプログラムの送信要求において指示されるネットワーク通信のためのターゲットポートの識別子に対して変換関数を適用することにより、前記識別子のスクランブルバージョンを取得するように構成されており、前記複数のデバイスは、前記送信を、前記識別子の前記スクランブルバージョンによって識別される異なるターゲットポートを介して受信されるよう宛先指定するようにさらに構成されており、前記プロセッサは、
前記複数のデバイスに含まれる第１のコンピュータ化装置の第１のポートに向けて宛先指定された第１の送信による無効なポートのアクセス試行を識別するステップと、
前記識別に応答して、前記無効なポートのアクセス試行に帰せられるセキュリティ脅威を軽減するために行われるべき措置を提供するステップと、
を行うように適合されており、
前記無効なポートのアクセスを識別する前記ステップは、前記第１のポートを識別する第１の識別子が、前記複数のデバイスに含まれる第２のコンピュータ化装置上で実行されているアプリケーションプログラムの送信要求によって受信先として指定されている第２のポートの第２の識別子に対して前記変換関数を適用することにより取得可能かどうか検査することを含み、
前記変換関数は、前記複数のデバイス間で共有される少なくとも１つのパラメータに依存し、前記複数のデバイスのうちのデバイスが前記変換関数を適用する前記ステップは、送信を要求している前記アプリケーションプログラムが前記デバイスに提供されている許可されたアプリケーションプログラムのリストに記載されていることを条件とする、
コンピュータ化装置。
【請求項１５】
前記プロセッサは、前記第１の送信の分析に基づいて、前記第１の送信が悪意のあるアクティビティから生じている可能性が高いかどうか判定するようにさらに構成されており、前記措置は前記判定に応答したものである、請求項１４に記載のコンピュータ化装置。
【請求項１６】
前記判定することは、前記第１の送信の発信元である同じデバイスからの過去のアクセス試行を分析して、無効なポートまたは近隣のポートにアクセスしようとする繰り返しの試行または連続した試行を識別することをさらに含む、請求項１５に記載のコンピュータ化装置。
【請求項１７】
前記第１の送信を分析することは、前記コンピュータネットワーク内の所定のデバイス集合のうちの１つから発信される、または前記１つに向けて宛先指定されたトラフィックについてはスキップされる、請求項１４に記載のコンピュータ化装置。
【請求項１８】
前記検査することは、前記第１の識別子を、各々が、共通ポート、許可されたアプリケーションプログラムの前記リスト内のプログラムによって使用されるポート、前記第１のコンピュータ化装置上で実行されているプログラムによって使用されるポート、およびそれらの任意の組み合わせからなる群より選択される種類のものであるポートの識別子に前記変換関数を適用することによって取得された有効なターゲットポートの集合と比較することを含む、請求項１４に記載のコンピュータ化装置。
【請求項１９】
前記少なくとも１つのパラメータは時間依存暗号鍵を含み、前記プロセッサは、
前記第１のポートが以前に有効であったかどうか判定するステップと、
前記第１のポートが無効になったときから前記送信が前記第１のポートへのアクセスを試みたときまでの時間枠を計算するステップと、
前記時間枠を所定の閾値と比較するステップと、
を行うようにさらに構成され、
前記措置は、少なくとも、前記時間枠が前記所定の閾値を超えるかどうかに基づいて決定される、請求項１４に記載のコンピュータ化装置。
【請求項２０】
プログラム命令を保持するコンピュータ可読記憶媒体を含むコンピュータプログラム製品であって、プログラム命令は、プロセッサによって読み取られると、前記プロセッサに、複数のデバイスを含むコンピュータネットワーク環境で実行される方法を行わせ、各デバイスは、各デバイス上で実行されているアプリケーションプログラムの送信要求において指示されるネットワーク通信のためのターゲットポートの識別子に対して変換関数を適用することにより、前記識別子のスクランブルバージョンを取得するように構成されており、前記複数のデバイスは、前記送信を、前記識別子の前記スクランブルバージョンによって識別される異なるターゲットポートを介して受信されるよう宛先指定するようにさらに構成されており、前記方法は、
前記複数のデバイスに含まれる第１のコンピュータ化装置の第１のポートに向けて宛先指定された第１の送信による無効なポートのアクセス試行を識別するステップと、
前記識別に応答して、前記無効なポートのアクセス試行に帰せられるセキュリティ脅威を軽減するために行われるべき措置を提供するステップと、
を含み、
前記無効なポートのアクセスを識別する前記ステップは、前記第１のポートを識別する第１の識別子が、前記複数のデバイスに含まれる第２のコンピュータ化装置上で実行されているアプリケーションプログラムの送信要求によって受信先として指定されている第２のポートの第２の識別子に対して前記変換関数を適用することにより取得可能かどうか検査するステップを含み、
前記変換関数は、前記複数のデバイス間で共有される少なくとも１つのパラメータに依存し、前記複数のデバイスのうちのデバイスが前記変換関数を適用する前記ステップは、送信を要求している前記アプリケーションプログラムが前記デバイスに提供されている許可されたアプリケーションプログラムのリストに記載されていることを条件とする、
コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその全体が本明細書に組み入れられる２０１５年１２月３１日に出願された「ＭＯＮＩＴＯＲＩＮＧ  ＴＲＡＦＦＩＣ  ＩＮ  Ａ  ＣＯＭＰＵＴＥＲ  ＮＥＴＷＯＲＫ」という名称の米国仮特許出願第６２／２７３５３０号の利益を主張するものである。
【０００２】
本開示は、一般に、コンピュータネットワーク通信に関し、特に、コンピュータネットワークにおけるトラフィックの監視に関する。
【背景技術】
【０００３】
コンピュータネットワークが多くの企業や組織において普及している。典型的には、ネットワーク環境は、相互に接続され、例えば、ネットワークに接続された１または複数のサーバへの共通アクセスを介してリソースを共有する複数のコンピュータ化デバイスを含む。多くの場合、ネットワーク環境内のデバイスの一部または全部さえもが、ワールド・ワイド・ウェブなどの１または複数の外部ネットワークにも同時に接続される。その結果、内部ネットワーク環境内のデバイスのいずれもが、様々なセキュリティ脅威や攻撃、特に、一般に「ウイルス」や「ワーム」とも呼ばれる自己増殖型の悪意のあるコードの拡散の影響をより一層受けやすくなる。ネットワーク内の１台のデバイスが損なわれると、感染は残りのデバイスに素早く拡散し、修復不可能な損害を生じさせる。
【発明の概要】
【０００４】
開示の主題の１つの例示的実施形態は、複数のデバイスを含むコンピュータネットワーク環境で行われるコンピュータ実装方法であり、各デバイスは、各デバイス上で実行されているアプリケーションプログラムの送信要求において指示されるネットワーク通信のためのターゲットポートの識別子に対して変換関数を適用することにより、識別子のスクランブルバージョンを取得するように構成されており、複数のデバイスは、送信を、識別子のスクランブルバージョンによって識別される異なるターゲットポートを介して受信されるよう宛先指定するようにさらに構成されており、本方法は、複数のデバイスに含まれる第１のコンピュータ化装置の第１のポートに向けて宛先指定された第１の送信による無効なポートのアクセス試行を識別するステップと、前記識別に応答して、無効なポートのアクセス試行に帰せられるセキュリティ脅威を軽減するために行われるべき措置を提供するステップと、を含み、無効なポートのアクセスを識別する前記ステップは、第１のポートを識別する第１の識別子が、複数のデバイスに含まれる第２のコンピュータ化装置上で実行されているアプリケーションプログラムの送信要求によって受信先として指定されている第２のポートの第２の識別子に対して変換関数を適用することにより取得可能かどうか検査するステップを含み、変換関数は、複数のデバイス間で共有される少なくとも１つのパラメータに依存し、複数のデバイスのうちのデバイスが変換関数を適用するステップは、送信を要求しているアプリケーションプログラムが該デバイスに提供されている許可されたアプリケーションプログラムのリストに記載されていることを条件とする。
【０００５】
開示の主題の別の例示的実施形態は、プロセッサを有するコンピュータ化装置であり、本コンピュータ化装置は複数のデバイスを含むコンピュータネットワーク環境と通信し、各デバイスは、各デバイス上で実行されているアプリケーションプログラムの送信要求において指示されるネットワーク通信のためのターゲットポートの識別子に対して変換関数を適用することにより、識別子のスクランブルバージョンを取得するように構成されており、複数のデバイスは、送信を、識別子のスクランブルバージョンによって識別される異なるターゲットポートを介して受信されるよう宛先指定するようにさらに構成されており、プロセッサは、複数のデバイスに含まれる第１のコンピュータ化装置の第１のポートに向けて宛先指定された第１の送信による無効なポートのアクセス試行を識別するステップと、前記識別に応答して、無効なポートのアクセス試行に帰せられるセキュリティ脅威を軽減するために行われるべき措置を提供するステップと、を行うように適合されており、無効なポートのアクセスを識別する前記ステップは、第１のポートを識別する第１の識別子が、複数のデバイスに含まれる第２のコンピュータ化装置上で実行されているアプリケーションプログラムの送信要求によって受信先として指定されている第２のポートの第２の識別子に対して変換関数を適用することにより取得可能かどうか検査するステップを含み、変換関数は、複数のデバイス間で共有される少なくとも１つのパラメータに依存し、複数のデバイスのうちのデバイスが変換関数を適用するステップは、送信を要求しているアプリケーションプログラムが該デバイスに提供されている許可されたアプリケーションプログラムのリストに記載されていることを条件とする。
【０００６】
開示の主題のさらに別の例示的実施形態は、プログラム命令を保持するコンピュータ可読記憶媒体を含むコンピュータプログラム製品であり、プログラム命令は、プロセッサによって読み取られると、プロセッサに、複数のデバイスを含むコンピュータネットワーク環境で実行される方法を行わせ、各デバイスは、各デバイス上で実行されているアプリケーションプログラムの送信要求において指示されるネットワーク通信のためのターゲットポートの識別子に対して変換関数を適用することにより、識別子のスクランブルバージョンを取得するように構成されており、複数のデバイスは、送信を、識別子のスクランブルバージョンによって識別される異なるターゲットポートを介して受信されるよう宛先指定するようにさらに構成されており、方法は、複数のデバイスに含まれる第１のコンピュータ化装置の第１のポートに向けて宛先指定された第１の送信による無効なポートのアクセス試行を識別するステップと、前記識別に応答して、無効なポートのアクセス試行に帰せられるセキュリティ脅威を軽減するために行われるべき措置を提供するステップと、を含み、無効なポートのアクセスを識別する前記ステップは、第１のポートを識別する第１の識別子が、複数のデバイスに含まれる第２のコンピュータ化装置上で実行されているアプリケーションプログラムの送信要求によって受信先として指定されている第２のポートの第２の識別子に対して変換関数を適用することにより取得可能かどうか検査するステップを含み、変換関数は、複数のデバイス間で共有される少なくとも１つのパラメータに依存し、複数のデバイスのうちのデバイスが変換関数を適用するステップは、送信を要求しているアプリケーションプログラムが該デバイスに提供されている許可されたアプリケーションプログラムのリストに記載されていることを条件とする。
【０００７】
本開示の主題は、以下の詳細な説明を図面と併せて読めばより十分に理解、認識されるものであり、図面において対応または類似する数字または文字は対応または類似する構成要素を指示する。特に指示しない限り、図面は、本開示の例示的実施形態または態様を示すものであり、本開示の範囲を限定するものではない。
【図面の簡単な説明】
【０００８】
【図１】開示の主題のいくつかの例示的実施形態による、開示の主題が使用されるコンピュータネットワークを示す図である。
【図２】開示の主題のいくつかの例示的実施形態によるシステムを示すブロック図である。
【図３Ａ】開示の主題のいくつかの例示的な実施形態による方法を示す流れ図である。
【図３Ｂ】開示の主題のいくつかの例示的な実施形態による方法を示す流れ図である。
【図４】開示の主題のいくつかの例示的な実施形態による方法を示す流れ図である。
【発明を実施するための形態】
【０００９】
開示の主題が扱う１つの技術的問題は、コンピュータネットワークにおいてセキュアな通信を提供することである。
【００１０】
開示の主題が扱う別の技術的問題は、コンピュータネットワーク内の悪意のあるコードの拡散を防止することである。
【００１１】
さらに別の技術的問題は、コンピュータネットワーク内の悪意のあるアクティビティを検出することである。
【００１２】
「ポート」とは、コンピューティングプラットフォーム上に存在するサービスまたはプロセスと関連付けられた論理的な構成であり、様々な種類のネットワーク通信のエンドポイントとして機能する。いくつかの例示的な実施形態では、ポートは、ホストアドレスおよび通信プロトコルごとに１６ビット数で識別され、よって、ポート番号範囲は０から６５５３５までである。一般に、ポート番号はネットワークパケット内で見られ、それらのパケットを処理することができ、または予期している宛先デバイス上の特定のプロセスまたはリソースにマップする。一部のリソースは、ある既定のポート番号のみをリッスンし、他のポートと関連付けられたトラフィックは無視するように事前構成されている。ポート番号に大きく依拠してリソースにマップする典型的なネットワークプロトコルには、伝送制御プロトコル（ＴＣＰ）およびユーザ・データグラム・プロトコル（ＵＤＰ）が含まれる。ＴＣＰおよびＵＤＰによって使用される０から１０２３までの「周知のポート」など、一部のポート番号またはポート番号範囲は、標準サービスのために確保されうる。例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）プロトコルを実行するサービスは、通常、ポート８０でリッスンする。
【００１３】
１つの技術的解決策は、送信側で発信通信が宛先指定される先のポート番号を選択的にスクランブルし、着信通信が受信されるポート番号をデスクランブルすることである。スクランブルは、承認されたアプリケーションプログラムと関連付けられたポート番号についてのみ行われる。スクランブルおよびデスクランブルは、ネットワークデバイス間で共有される１または複数の秘密パラメータを使用して行われる。１または複数の秘密パラメータは、好ましくは、攻撃者がポートスキャンによってターゲットポート番号を「推測する」可能性を下げるために時間変化成分を含む。
【００１４】
いくつかの例示的な実施形態では、サーバは、ネットワーク内のトラフィックを監視して、ポートがスクランブルされていないトラフィックを検出することができる。そのようなトラフィックは、許可されておらず、潜在的に悪意のあるソフトウェアコンポーネントによって生成される可能性がある。サーバは、そのようなトラフィックを監視し、分析し、そのアクティビティが悪意のあるものか否か判定することができる。
【００１５】
開示の主題を利用することの１つの技術的効果は、通常のポート番号でのアクセス試行を識別することにより攻撃または爆発的感染の検出が可能になることである。さらに、許可されたアクティビティはもっぱらスクランブルポートだけに向けて宛先指定されるよう制約されるため、どんな利用可能なポートのスクランブルバージョンでもないポートにアクセスしようとする試みは潜在的な無許可のアクティビティも指示しうる。
【００１６】
別の技術的効果は、人間工学に依拠した悪意のあるアクティビティの広がりを防止することである。たとえ人間のユーザが悪意のあるユーザやコードへのアクセスを許可するように操作された場合（例えば、有害なリンクを押したり、電子メールで送信されたマルウェアを実行したりした場合）でさえも、悪意のあるアクティビティは感染したデバイスに閉じ込められ、他の装置に拡散されない可能性が高い。
【００１７】
次に、開示の主題のいくつかの例示的実施形態による、開示の主題が使用されるコンピュータネットワークを示す図１を参照する。
【００１８】
いくつかの例示的な実施形態では、コンピュータネットワーク１００は、デバイス１１０、デバイス１２０、デバイス１３０、デバイス１４０、デバイス１５０など、複数のコンピューティングデバイスを含むことができる。コンピュータネットワーク１００は、サーバ１０２、サーバ１０４など、１または複数のサーバを含むことができる。デバイス１１０〜デバイス１５０は、サーバ１０２およびサーバ１０４の１つへの共通アクセスによって、またはネットワークスイッチ、ハブなどを使用して直接、相互に接続されうる。例えば、デバイス１１０、デバイス１２０およびデバイス１３０はサーバ１０２に接続されており、デバイス１４０およびデバイス１５０ならびにデバイス１３０はサーバ１０４に接続されている。加えて、デバイス１１０はデバイス１５０に直接接続されており、デバイス１２０はデバイス１３０に直接接続されている。
【００１９】
いくつかの例示的な実施形態では、コンピュータネットワーク１００は、組織のイントラネットネットワークでありうる。コンピュータネットワーク１００は、インターネット（図示せず）などの外部ネットワークに接続されうる。場合によっては、コンピュータネットワーク１００は、ルータ、スイッチ、サーバなどによって外部ネットワークに接続されており、それらは、悪意のあるアクティビティを防止する何らかのセキュリティ措置を提供するように構成されている場合もあり、そうでない場合もある。一実施形態では、スイッチは、望ましくないエンティティのアクセスを防止するファイアウォールを含む。
【００２０】
次に、開示の主題のいくつかの例示的実施形態によるシステムのブロック図を示す図２を参照する。システムは、図１のデバイス１１０〜デバイス１５０などのコンピューティングデバイス２００を含み、開示の主題に従って、ポートスクランブルを提供するように構成されうる。いくつかの例示的な実施形態では、システムは、図１のサーバ１０２やサーバ１０４などのサーバ２１０をさらに含み、サーバ２１０は、イーサネットスイッチ接続などといった任意の適切な通信チャネルを介してコンピューティングデバイス２００と通信しうる。
【００２１】
いくつかの例示的な実施形態では、コンピューティングデバイス２００は、１または複数のプロセッサ２０２を含むことができる。プロセッサ２０２は、中央処理装置（ＣＰＵ）、マイクロプロセッサ、電子回路、集積回路（ＩＣ）などでありうる。プロセッサ２０２は、コンピューティングデバイス２００またはその部分構成要素のいずれかが必要とする計算を行うのに利用されうる。
【００２２】
開示の主題のいくつかの例示的な実施形態では、コンピューティングデバイス２００は、入力／出力（Ｉ／Ｏ）モジュール２０５を含むことができる。Ｉ／Ｏモジュール２０５は、ユーザに出力を提供し、ユーザから入力を受け取るのに利用されうる。加えて、または代替として、Ｉ／Ｏモジュール２０５は、サーバ２１０や、図１のデバイス１１０〜デバイス１５０のうちの別のデバイスなど、Ｉ／Ｏモジュール２０５と通信する別のコンピューティングデバイス２００に出力を提供し、それらから入力を受け取るのに利用されうる。
【００２３】
いくつかの例示的な実施形態では、コンピューティングデバイス２００は、メモリ２０７を含むことができる。メモリ２０７は、ハード・ディスク・ドライブ、フラッシュディスク、ランダム・アクセス・メモリ（ＲＡＭ）、メモリチップなどとすることができる。いくつかの例示的な実施形態では、メモリ２０７は、プロセッサ２０２に、コンピューティングデバイス２００の部分構成要素のいずれかと関連付けられた動作を行わせるように動作するプログラムコードを保持することができる。
【００２４】
メモリ２０７は、実行可能ファイル、ライブラリ、静的ライブラリ、関数、または任意の他の実行可能コンポーネントとして実装される、以下で詳述する１または複数の構成要素を含むことができる。
【００２５】
メモリ２０７は、プログラムリスト２３６および１または複数の共有鍵２３２を含み、またはそれらと通信しうるポートスクランブラ２２０を含むことができる。ポートスクランブラ２２０は、発信通信と関連付けられたポート番号にポートスクランブル関数を選択的に適用するように構成されうる。ポートスクランブラ２２０は、プログラムリスト２３６に記載された（コンピューティングデバイス２００によって実行された）アプリケーションプログラムから発信通信を送信するよう求める要求を受け取ったことに応答して、ポートスクランブル関数を適用することができる。ポートスクランブラ２２０は、ポートスクランブル関数のパラメータとして（１または複数の）共有鍵２３２を使用することができる。ポートスクランブラ２２０は、発信通信の宛先を識別するポート番号にポートスクランブル関数を適用することによって、スクランブルポート番号を取得することができる。ポートスクランブラ２２０は、スクランブルポート番号によって識別される宛先に発信通信を宛先指定することができる。
【００２６】
メモリ２０７は、共有鍵２３２を含み、または（１または複数の）共有鍵２３２と通信しうるポートデスクランブラ２２８を含むことができる。ポートデスクランブラ２２８は、コンピューティングデバイス２００への着信通信と関連付けられたポート番号にポートデスクランブル関数を適用するように構成されうる。ポートデスクランブル関数は、ポートスクランブラ２２０によって適用されるポートスクランブル関数の逆関数とすることができる。ポートデスクランブラ２２８は、ポートデスクランブル関数のパラメータとして（１または複数の）共有鍵２３２を使用することができる。ポートデスクランブラ２２８は、スクランブルポート番号によって識別されるポートで着信通信を受信することができる。ポートデスクランブラ２２８は、スクランブルポート番号にポートデスクランブル関数を適用することによってデスクランブルポート番号を取得することができる。いくつかの例示的な実施形態では、ポートデスクランブラ２２８は、すべての着信通信に対してそれらの発信元に関係なくデスクランブルを行うことができる。ポートデスクランブラ２２８は、着信通信をデスクランブルポート番号によって識別されるポートに宛先変更することができる。デスクランブルポート番号がコンピューティングデバイス２００上で現在実行中のどんなアプリケーションプログラムにも割り当てられていない場合、ポートデスクランブラ２２８はサーバ２１０に通知を発行することができる。
【００２７】
コンピューティングデバイス２００と同様に、サーバ２１０も、（１または複数の）プロセッサ（図示せず）、Ｉ／Ｏモジュール（図示せず）およびメモリ（図示せず）を含むことができる。
【００２８】
サーバ２１０は、図１のコンピュータネットワーク１００などのコンピュータネットワーク環境において、コンピューティングデバイス２００などの複数のコンピューティングデバイス間で（１または複数の）共有鍵２３２を生成し、配布するためのキーディストリビュータ２１２を含むことができる。キーディストリビュータ２１２は、公開鍵基盤（ＰＫＩ）暗号を使用して、共有鍵２３２をコンピューティングデバイス２００に配布することができる。共有鍵２３２は、固定暗号鍵を含むことができる。加えて、または代替として、共有鍵２３２は、周期的に置き換えられ、制限期間にわたってのみ有効な時間依存暗号鍵を含んでいてもよい。いくつかの例示的な実施形態では、（１または複数の）共有鍵２３２は、周期的に更新される時間依存鍵、図２のシステムが配置されている組織を一意に識別する固定鍵、およびプログラムリスト２３６のハッシュなど、プログラムリスト２３６に依存する鍵、の３つの鍵を含むことができる。
【００２９】
サーバ２１０は、ネットワーク環境内の複数のコンピューティングデバイス間でプログラムリスト２３６を維持し、更新するためのリストアップデータ２１４を含むことができる。リストアップデータ２１４は、例えば、プログラムリスト２３６にハッシュ関数を適用し、その結果にディジタル署名することによって、コンピューティングデバイス２００によるプログラムリスト２３６の内容の検証を可能にする資格情報を提供することができる。資格情報は、（１または複数の）共有鍵２３２の１つとしてスクランブルプロセスまたはデスクランブルプロセスにも使用され、キーディストリビュータ２１２によって配布されうる。いくつかの例示的な実施形態では、リストアップデータ２１４は、特定のコンピューティングデバイスについて、またはネットワーク環境に含まれる特定のグループもしくは種類のコンピューティングデバイスなどについて定義された特定のプログラムリスト２３６を維持し、更新することができる。特定のプログラムリスト２３６は、複数のコンピューティングデバイスおよび／またはネットワーク環境全体について定義された許可されたアプリケーションプログラムの所定のリストのサブセットとすることができる。
【００３０】
サーバ２１０は、キーディストリビュータ２１２によって配布された（１または複数の）共有鍵２３２のうちの１または複数が時間依存である場合に、ネットワーク環境内の複数のコンピューティングデバイス間でシステムクロックを同期させるためのタイムシンクロナイザ２１６を含むことができる。
【００３１】
サーバ２１０は、起こりうるセキュリティ攻撃および爆発的感染を検出するために、コンピュータネットワーク環境内のトラフィックを追跡し、分析するように構成されたアタックディテクタ２１８を含むことができる。アタックディテクタ２１８は、デスクランブルポート番号がアプリケーションプログラムに割り当てられていない着信通信に関するコンピューティングデバイス２００からの通知を受信し、分析することができる。
【００３２】
いくつかの例示的な実施形態では、キーディストリビュータ２１２、リストアップデータ２１４、タイムシンクロナイザ２１６、およびアタックディテクタ２１８は、１または複数の別個のサーバ上に配置されうる。一実施形態では、上記の各々が、独立した別個のサーバ上に配置される。
【００３３】
次に、開示の主題のいくつかの例示的な実施形態による方法の流れ図を示す図３Ａを参照する。
【００３４】
ステップ３１０で、発信通信を送信するよう求めるアプリケーションプログラムの要求が受信されうる。アプリケーションプログラムは、図２のコンピューティングデバイス２００などのコンピュータ化装置によって実行されうる。発信通信は、第１のポート（「Ｐ」で表す）を介して宛先で受信されるよう指定されうる。宛先は、別のコンピューティングデバイス２００など、コンピュータ化装置の外部の宛先とすることができる。一例として、ＵＤＰパケットの宛先は、ＩＰアドレスおよびポート（例えば、１９２．１６８．１．５２：８０）として提供されうる。
【００３５】
ステップ３２０で、要求側アプリケーションプログラムが許可されているかどうかの判定が行われうる。判定は、図２のプログラムリスト２３６などの許可されたプログラムのリストを調べることによって行われうる。いくつかの例示的な実施形態では、許可されていないプログラムもコンピューティングデバイスで動作しうるが、開示の主題のために、そのようなプログラムは同じネットワーク上の他のデバイスと有効に通信できない。
【００３６】
ステップ３３０では、ステップ３２０で要求側アプリケーションプログラムが許可されていると判定された場合に、第１のポートの識別子に変換関数を適用して第２のポートの識別子を取得することができる。変換関数は、図２の共有鍵２３２など、コンピュータネットワーク内の複数のコンピューティングデバイス間で共有される少なくとも１つの秘密パラメータに依存しうる。第１のポートの識別子は、第２のポートの識別子に逆変換を適用することによって取得することができる。逆変換は少なくとも１つの秘密パラメータに依存することができ、よって、少なくとも１つの秘密パラメータを共有するデバイスだけが逆変換を適用することができる。変換関数は、ＤＥＳ、ＡＥＳなどの対称暗号関数、またはＲＳＡ、Ｅｌ−Ｇａｍｍａｌなどの非対称暗号関数とすることができる。
【００３７】
いくつかの例示的な実施形態では、スクランブルポート番号は、ＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒ  Ａｕｔｈｏｒｉｔｙ）などによって発行される「共通ポート番号」として知られているポート番号のような、一般的な公知の機能を有するポート番号ではない場合もある。例として、スクランブルポートは、ポート２０〜２１（ＦＴＰ用）、ポート２２（ＳＳＨ用）、ポート５３（ＤＮＳ用）、ポート８０（ＨＴＴＰ用）、ポート４４３（ＨＴＴＰＳ用）などではない場合もある。ステップ３３０で、変換関数が除外ポートを提供する場合、次の非除外ポートが選択されうる。加えて、または代替として、除外ポートのリストは、常時除外される共通ポート番号または他のポート番号を含むこともできる。このリストは、前の時間セグメントでスクランブルポートとして使用されたポート番号も含むことができる。例えば、ポート８０が第１の時間セグメントでポート１５７９にスクランブルされた場合には、次の時間セグメントで、ポート８０が異なるポート番号にスクランブルされるときに、すべての他のポートは、衝突および混乱を回避するように、ポート１５７９へのスクランブルから除外されうる。そのような実施形態では、ポート１５７９に宛先指定された、第２のセグメントで受信されるパケットは、ポート８０に向けて第１の時間セグメントで送信されたパケットとして一意に識別されうる。
【００３８】
ステップ３４０で、発信通信は、第２のポートを介して宛先で受信されるように宛先指定されうる。元のアドレスが１９２．１６８．１．５２：８０であり、ポート８０がポート１５７９にスクランブルされている上記の例では、発信通信は１９２．１６８．１．５２：１５７９に送信されうる。
【００３９】
いくつかの例示的な実施形態では、少なくとも１つの秘密パラメータの内容が、ネットワーク内の複数のコンピューティングデバイスの各々において更新されうる。その結果、変換関数の動作が、ネットワーク内のすべてのコンピューティングデバイスについて動的かつ自動的に変更されうる。特に、第１のポートを介して受信されるべき発信通信を送信するよう求める後続の要求は、結果としてステップ３３０で変換関数を適用することにより第２のポートとは異なる第３のポートの識別子を生じることになりうる。いくつかの例示的な実施形態では、変換関数は、ユーザが変換関数の変更された定義を提供することなく変更される。
【００４０】
次に、開示の主題のいくつかの例示的な実施形態による方法の流れ図を示す図３Ｂを参照する。
【００４１】
ステップ３５０で、図２のコンピューティングデバイス２００などのコンピュータ化装置の第１のポートを介した着信通信が受信されうる。着信通信は、コンピュータネットワーク１００などのコンピュータネットワークを介して外部デバイスから受信されうる。
【００４２】
ステップ３６０で、第１のポートの識別子に逆変換関数を適用することによって第２のポートの識別子が取得されうる。逆変換関数は、図２の共有鍵２３２など、コンピュータネットワーク内の複数のコンピューティングデバイス間で共有される少なくとも１つの秘密パラメータに依存しうる。
【００４３】
ステップ３７０で、第２のポートが有効なポートであるかどうかの判定が行われうる。有効なポートは、図２のプログラムリスト２３６などの許可されたプログラムのリスト内のプログラムのいずれかによって使用される任意のポートとすることができる。加えて、または代替として、有効なポートは任意の共通ポートであってもよい。加えて、または代替として、有効なポートは、コンピュータ化装置によって実行されるプログラムによって使用される任意のポートであってもよい。
【００４４】
ステップ３８０では、ステップ３７０で第２のポートが有効なポートであると判定された場合、着信通信が第２のポートに宛先変更されうる。いくつかの例示的な実施形態では、続いて、着信通信はプログラムによって受け取られ、しかるべく処理される。
【００４５】
ステップ３９０では、ステップ３７０で第２のポートが有効なポートではないと判定された場合、図２のサーバ２１０のアタックディテクタ２１８などの、攻撃を検出するためのネットワークトラフィックの追跡および分析を担当するエンティティに対応する通知が発行されうる。加えて、または代替として、受信された通信は、廃棄され、無視されてもよい。
【００４６】
いくつかの例示的な実施形態では、図２のプログラムリスト２３６などの許可されたプログラムのリストに含まれないアプリケーションによって発行された通信は、図３Ａに記載されるようにスクランブルされず、よって、図３Ｂに示すように、受信側デバイスで所望の最終宛先によって受信、処理されない。その結果、ネットワーク上のデバイスによって実行されるいかなる許可されていないプログラムも、他のデバイスと有効に通信することができなくなる。
【００４７】
いくつかの例示的な実施形態では、無許可のアプリケーションは、外部ネットワークに有効にアクセスして悪意のあるユーザに報告することができない。外部ネットワーク内のデバイスと通信するために、デバイスは、まず、ネットワークを外部ネットワークに接続する、ルータ、ブリッジ、スイッチ、またはルータと呼ばれる同様のデバイスと通信する必要がある。そのような通信も、スクランブルポートに基づいて実行されうる。その結果、無許可のアプリケーションによって開始された通信はスクランブルされていないので、ルータは通信を退け、通信を処理しない。
【００４８】
いくつかの例示的な実施形態では、組織のネットワーク内の通信は、ファイアウォールを通ることができる。ファイアウォールは、ポートスクランブル／デスクランブルを処理するように構成されていない場合もある。そのような場合、送信側デバイスは、パケットがファイアウォールに直接送信されたと判定し、そのようなパケットのポートスクランブルを回避しうる。加えて、または代替として、ファイアウォールから直接パケットを受信する受信側デバイスが、受信したパケットに対してポートデスクランブルを行うのを回避してもよい。
【００４９】
次に、開示の主題のいくつかの例示的な実施形態による方法の流れ図を示す図４を参照する。いくつかの例示的な実施形態では、図４は、図２のサーバ２１０などのサーバによって行われうる。
【００５０】
ステップ４００で、ネットワーク内のトラフィックが監視されうる。いくつかの例示的な実施形態では、トラフィックは、サーバを経由して経路指定されるパケットを分析するなどによって、サーバによって直接監視されうる。加えて、または代替として、トラフィックは、ネットワーク内のデバイスによって実行される専用ソフトウェアなど、分散エージェントを使用して監視されてもよい。一実施形態では、ネットワーク内の各デバイスにポートスクランブラがインストールされ、サーバに代わる分散監視エージェントとして使用される。
【００５１】
ステップ４１０で、無効なポートにアクセスしようと試みる送信が識別される。いくつかの例示的な実施形態では、有効であったポートが無効になった後の妥当な時間枠内、例えば、５秒以内、約１分以内、約１０分以内などに行われる送信は、そのような無効なポートにアクセスしようとする試みは異なるデバイスのクロックの差に起因する可能性があるため、見過ごされうる。いくつかの例示的な実施形態では、ターゲットポートは、例えば、変換関数によって定義された現在有効なポートと比較されうる。
【００５２】
いくつかの例示的な実施形態では、ポート一般に使用されるポート（例えば、共通ポート番号）などの所定のポートのリストが、常時有効であることから除外されうる。例えば、ポート８０はスクランブルポートとして使用されない場合がある。リスト内のポートにアクセスしようとするいかなる試みも試みとして直ちに識別され、変換関数の定義により無効であるそのような所定の公知のポートにアクセスしようとする試みは、無効なポートにアクセスしようとする試みであると直ちに判定されうる。
【００５３】
いくつかの例示的な実施形態では、ネットワークのデバイスの少数、例えば、ファイアウォールコンポーネントやゲートウェイコンポーネントなどが、ポートをスクランブル、デスクランブルするように構成されない場合がある。ステップ４１０の分析は、そのようなデバイスから発せられた、またはそのようなデバイスに向けられたパケットを無視しうる。いくつかの例示的な実施形態では、着信パケットのポートをデスクランブルするデバイスに向けて宛先指定された送信試行のみが、ステップ４１０で分析され、考慮されうる。
【００５４】
加えて、または代替として、ステップ４１０で、図３Ｂのステップ３９０に示すような、ポートが無効であるという受信側クライアントによる通知が受信されてもよい。
【００５５】
ステップ４２０で、送信は、それが悪意のあるアクティビティの一部であるかどうか判定するために分析されうる。いくつかの例示的な実施形態では、そのような判定を行うために同じデバイスからの過去の試行も使用されうる。いくつかの例示的な実施形態では、ポートスキャン試行は、開いているポートを識別するためにポートにアクセスしようとする反復試行を含みうる。そのようなアクティビティは、無効でありうるポートにアクセスしようとする複数回の試みを含みうる。いくつかの例示的な実施形態では、図２のサーバ２１０などの監視サーバは、例えば、そのデバイスに、キーディストリビュータ２１２およびリストアップデータ２１４から、それぞれ、（１または複数の）共有鍵２３２および／またはプログラムリスト２３６の偽の、破損した、またはそれ以外の改ざんされたバージョンを提供することによって、そのような試行の発生源であるデバイスをネットワーク内の残りのデバイスから有効に切断することができる。
【００５６】
本発明は、システム、方法、および／またはコンピュータプログラム製品とすることができる。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有する（１または複数の）コンピュータ可読記憶媒体を含むことができる。
【００５７】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持し、格納することができる有形のデバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、またはこれらの任意の適切な組み合わせでありうるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、以下が含まれる：ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラム可能読取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクト・ディスク・読取り専用メモリ（ＣＤ−ＲＯＭ）、ディジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、命令が記録されたパンチカードや溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適切な組み合わせ。コンピュータ可読記憶媒体とは、本明細書で使用する場合、例えば、電波または他の自由に伝播する電磁波や、導波路や他の伝送媒体を伝播する電磁波（光ファイバケーブルを通る光パルスなど）や、ワイヤで伝送される電気信号のような、一過性の信号自体であると解釈されるべきではない。
【００５８】
本明細書に記載するコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティングデバイス／処理装置に、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、および／もしくは無線ネットワークを介して外部コンピュータもしくは外部記憶装置にダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび／またはエッジサーバを含むことができる。各コンピューティングデバイス／処理装置内のネットワーク・アダプタ・カードまたはネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令をそれぞれのコンピューティングデバイス／処理装置内のコンピュータ可読記憶媒体に格納するために転送する。
【００５９】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語や類似したプログラミング言語などの従来の手続き型プログラミング言語を含む、１または複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードとすることができる。コンピュータ可読プログラム命令は、全部がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェアパッケージとして実行されてもよく、一部はユーザコンピュータ上で、一部はリモートコンピュータ上で、または全部がリモートコンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてもよく、（例えば、インターネット・サービス・プロバイダを使用してインターネットを介して）外部コンピュータに接続されてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路や、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）や、プログラマブル・ロジック・アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナル化することによってコンピュータ可読プログラム命令を実行することができる。
【００６０】
本明細書では本発明の態様を、本発明の実施形態による方法、装置（システム）、およびコンピュータプログラム製品の流れ図および／またはブロック図に関連して説明している。流れ図および／またはブロック図の各ブロック、ならびに流れ図および／またはブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施できることが理解されよう。
【００６１】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて機械を生成することができ、命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行され、流れ図および／またはブロック図の１または複数のブロックで指定された機能／動作を実施する手段を生み出す。またこれらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、および／または他のデバイスに指図して特定の方法で機能させることができるコンピュータ可読記憶媒体に格納することもでき、命令が格納されたコンピュータ可読記憶媒体は、流れ図および／またはブロック図の１または複数のブロックで指定された機能／動作の態様を実施する命令を含む製造品を含む。
【００６２】
またコンピュータ可読プログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブルデータ装置、または他のデバイス上で一連のステップを実行させてコンピュータ実装プロセスを生み出すこともでき、コンピュータ、他のプログラマブルデータ装置、または他のデバイス上で実行される命令は、流れ図および／またはブロック図の１または複数のブロックで指定された機能／動作を実施する。
【００６３】
各図の流れ図およびブロック図には、本発明の様々な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作が示されている。これに関して、流れ図またはブロック図の各ブロックは、（１または複数の）指定された論理機能を実施するための１または複数の実行可能命令を含むモジュール、セグメント、または命令の一部を表しうる。いくつかの代替の実施形態では、ブロックに記載されている機能は、図に記載されるのと異なる順序で行われうる。例えば、連続して示されている２つのブロックが実際には実質的に同時に実行される場合もあり、関与する機能によっては、それらのブロックは逆の順序で実行される場合もある。また、ブロック図および／または流れ図の各ブロック、ならびにブロック図および／または流れ図のブロックの組み合わせは、指定された機能もしくは動作を行い、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実施できることも理解されよう。
【００６４】
本明細書で使用する用語は、特定の実施形態を説明するためのものにすぎず、本発明を限定するためのものではない。本明細書で使用する場合、単数形「１つの（ａ、ａｎ）」および「その（ｔｈｅ）」は、文脈上そうでないことが明確でない限り、複数形も含むことが意図されている。用語「含む（ｃｏｍｐｒｉｓｅｓ）」および／または「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」は、本明細書で使用する場合、記載される特徴、整数、ステップ、動作、要素、および／または構成要素の存在を指定するが、１または複数の他の特徴、整数、ステップ、動作、要素、および／または構成要素の存在または追加を除外するものではないことがさらに理解されよう。
【００６５】
添付の特許請求の範囲内のすべての手段プラス機能要素またはステッププラス機能要素の対応する構造、材料、動作、および均等物は、具体的に特許請求される他の特許請求要素と組み合わせて該機能を実行するための任意の構造、材料、および動作を含むものであることが意図されている。本発明の記述は例示と説明のために提示したものであり、網羅的であることも、本発明を開示の形態だけに限定することも意図されていない。本発明の範囲および趣旨から逸脱することなく、多くの変更および変形が当業者には明らかであろう。実施形態は、本発明の原理および実際の適用を最もよく説明し、当業者が企図する特定の用途に適した様々な変更を伴う様々な実施形態について本発明を理解できるように選択し、記載した。
【図１】
2019507412.tif 000003
【図２】
2019507412.tif 000004
【図３Ａ】
2019507412.tif 000005
【図３Ｂ】
2019507412.tif 000006
【図４】
2019507412.tif 000007
【国際調査報告】
2019507412.tif 000008
2019507412.tif 000009
2019507412.tif 000010
2019507412.tif 000011