(57)【特許請求の範囲】
【請求項１】
マルウェアまたは未承認ソフトウェア通信を識別する方法であって、コンピュータが、
暗号化通信を検出するステップと、
前記暗号化通信の識別データを判断するステップと、
前記検出された暗号化通信の比較であって、
前記識別データを使用して、暗号化通信の承認済みアプリケーションのリストとの前記比較を行うステップと、
前記比較に基づき、前記検出された暗号化通信が暗号化通信の承認済みアプリケーションの前記リスト上にない未承認アプリケーションからであることに応答して、前記検出された暗号化通信が前記コンピュータにとって信頼されているネットワーク上のアプリケーションからであるかを判断するステップと、
前記検出された暗号化通信が前記コンピュータにとって信頼されているネットワーク上のアプリケーションからであることに応じて、前記検出された暗号通信に関連付けられたアプリケーションを前記暗号化通信の承認済みアプリケーションの前記リストに追加するステップと、
前記検出された暗号化通信が前記コンピュータにとって信頼されているネットワーク上のアプリケーションからでないことに応じて、前記検出された暗号化通信を、未承認暗号化通信として識別するステップと
を実行することを含む、前記方法。
【請求項２】
前記コンピュータが、
前記未承認暗号化通信をブロックするステップ
をさらに実行することを含む、請求項１に記載の方法。
【請求項３】
前記比較を行うステップが、
前記識別データを使用して、暗号化通信の承認済み宛先のリストとの前記比較を行うステップ
をさらに含み、
前記判断するステップが、
前記比較に基づき、前記検出された暗号化通信が承認済み宛先の前記リスト上にない未承認宛先に対するものであることに応答して、前記前記検出された暗号化通信が前記コンピュータにとって信頼されているネットワーク上のアプリケーションからであるかを判断するステップ
をさらに含み、
前記コンピュータが、
前記検出された暗号化通信が、
前記比較に基づき、暗号化通信の承認済みアプリケーションの前記リスト上にある承認済みアプリケーションからであり、
前記比較に基づき、暗号化通信の承認済み宛先の前記リスト上にある承認済み宛先に対するものであれば、
前記検出された暗号化通信を、承認済み暗号化通信として識別するステップ
をさらに実行することを含む、請求項１または２に記載の方法。
【請求項４】
前記コンピュータが、
前記承認済み暗号化通信を許可するステップ
をさらに実行することを含む、請求項３に記載の方法。
【請求項５】
前記コンピュータが、
暗号化通信の承認済みアプリケーションの前記リストをネットアーク管理者又はシステム管理者から受け取るステップ
をさらに実行することを含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記コンピュータが、
暗号化通信の承認済みアプリケーションの前記リストを、前記コンピュータの記憶システムに記憶するステップ
をさらに実行することを含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記コンピュータが、
前記検出された暗号化通信の識別データを前記コンピュータの規則システムに記憶するステップ
をさらに実行することを含む、請求項１に記載の方法。
【請求項８】
前記コンピュータが、
前記未承認暗号化通信と、マルウェアおよび未承認ソフトウェア展開のうちの少なくとも１つとを関連付けるステップ
をさらに実行することを含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記検出するステップ、前記比較を行うステップ、および前記識別するステップのうちの少なくとも１つは、リアルタイムで実行される、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
前記コンピュータが、
前記検出された暗号化通信の、未承認暗号化通信としての前記識別を、ユーザに提供するステップと、
前記検出された暗号化通信が送信されてきた前記未承認アプリケーションを、暗号化通信の承認済みアプリケーションの前記リストに追加し、前記検出された暗号化通信を許可すること、および
前記未承認暗号化通信をブロックすること、
のうちの１つの命令を前記ユーザから受信するステップと、
をさらに実行することを含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
前記暗号化通信を検出するステップは、
ネットワーク上の１つ以上のパケットを観測するステップと、
１つ以上の数学的および分析的技法を利用して、前記ネットワーク上の前記１つ以上のパケットを、前記暗号化通信として識別するステップと、
を含む、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
前記暗号化通信の前記識別データは、
ソース、
宛先、
ソース・ポート番号、
宛先ポート番号、
暗号化タイプ、および
宛先ホスト
のうちの少なくとも１つを含む、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
マルウェアまたは未承認ソフトウェア通信を識別するコンピュータであって、請求項１〜１２のいずれか一項に記載の方法の各ステップを実行させるように構成された前記コンピュータ。
【請求項１４】
コンピュータ・プログラムであって、コンピュータに、請求項１〜１２のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に、悪意のあるアクティビティを識別することに関し、特に、暗号化データ通信を識別することによって好ましくないソフトウェアまたは悪意のあるソフトウェアを分類するシステムおよび方法に関する。
【背景技術】
【０００２】
悪意のある、およびソフトウェアという語からの混成語であるマルウェアは、所有者に説明をしてその同意を得ることなくコンピュータ・システムに侵入するよう、または損害を与えるよう設計されたソフトウェアである。この表現は、敵意を持った、侵入する、もしくは迷惑な、様々な形のソフトウェアまたはプログラム・コードを指すためにコンピュータの専門家により使用されている一般用語である。多数のコンピュータ・ユーザは、この用語を知らず、本当のウイルスを含めすべてのタイプのマルウェアに対し「コンピュータ・ウイルス」を使用することが多い。
【０００３】
ソフトウェアは、特定の特徴ではなく、認識されている作成者の意図に基づきマルウェアと見なされる。マルウェアは、コンピュータ・ウイルス、ワーム、トロイの木馬、多くのルートキット、スパイウェア、不正アドウェア、クライムウェア、およびその他、悪意のある、および好ましくないソフトウェアを含む。マルウェアは、欠陥のあるソフトウェア、すなわち正当な目的はあるが有害なバグを含んでいるソフトウェアとは別である。
【０００４】
最初のインターネット・ワームおよびいくつかのＭＳ−ＤＯＳウイルスを含め、多数の初期の感染プログラムは、一般に、コンピュータに重大な損害を招くのではなく、無害であるよう、または単に迷惑なものであるよう意図された、実験または悪ふざけとして書かれていた。しかし、広く行き渡ったブロードバンド・インターネット・アクセスの増加以来、悪意のあるソフトウェアは、事実上適法なものでも（強制広告）罪になるものでも、利益を動機として設計されるようになっている。例えば、２００３年以来、蔓延したウイルスおよびワームの大部分は闇取引利用のためにユーザのコンピュータを制御するよう設計されている。感染した「ゾンビ・コンピュータ」は、スパム・メールを送信するため、禁止データをホストするため、または恐喝の一種として分散型サービス妨害攻撃に関与するために使用される。
【０００５】
マルウェアの完全に利益目的のもう１つのカテゴリが、例えばユーザのウェブ・ブラウジングの監視、未承諾広告の表示、またはスパイウェア作成者へのアフィリエイト・マーケティング収入のリダイレクトを行うよう設計されたプログラムなどのスパイウェアにおいて現れた。スパイウェア・プログラムは、ウイルスのようには広がらない。一般に、セキュリティ・ホールを悪用してインストールされるか、またはピア・ツー・ピア・アプリケーションなど、ユーザによりインストールされるソフトウェアとともにパッケージ化される。感染したマシンが使用できなくなり、攻撃の目的を無にするほど多くのプロセスを、スパイウェアおよび広告プログラムがインストールすることは珍しいことではない。
【０００６】
もっともよく知られたタイプのマルウェア、ウイルスおよびワームは、ほかのいかなる特定の性質よりも、その広がり方で知られている。コンピュータ・ウイルスという用語は、何らかの実行可能ソフトウェアに感染し、当該ソフトウェアに、実行時ほかの実行可能ソフトウェアへウイルスを広めさせるプログラムに対して使用される。ウイルスはさらに、そのほか悪意のあることが多いアクションを実行するペイロードを含むこともある。一方、ワームは、ほかのコンピュータに感染するようネットワーク上でそれ自体を積極的に伝達するプログラムである。ワームもペイロードを運ぶこともある。
【０００７】
１９８０年代および１９９０年代の間、悪意のあるプログラムは、荒らしまたは悪ふざけの一種として作成されるということが、通常は当然のことであった（一部のウイルスは、違法のソフトウェア交換をユーザにやめさせるためのみに広められたが）。最近では、より多くの割合の悪意のあるプログラムが、金銭または利益上の動機を念頭に置いて書かれている。これは、感染したシステムの制御を収益化する、つまりその制御を収入源に変えることを、マルウェアの作者が選択したと見なすことができる。
【０００８】
２００３年あたりから、回復に費やされる時間および資金の観点からもっとも犠牲の大きい形のマルウェアは、スパイウェアとして知られる広いカテゴリのものとなっている。スパイウェア・プログラムは、コンピュータ・ユーザについての情報を収集する目的、ユーザにポップアップ広告を表示する目的、またはスパイウェア作成者の金銭的利益のためにウェブ・ブラウザの挙動を変更する目的で利益のために生産される。例えば、一部のスパイウェア・プログラムは、検索エンジンの結果を有料広告にリダイレクトする。メディアに「スティールウェア（ｓｔｅａｌｗａｒｅ）」と呼ばれることの多いほかのスパイウェア・プログラムは、本来の受取人ではなくスパイウェア作成者に収入が行くようアフィリエイト・マーケティング・コードを上書きする。
【０００９】
攻撃者は、多数の感染コンピュータのアクティビティを統合するために、ボットネットとして知られる連携システムを使用してきた。ボットネットのシナリオでは、マルウェアまたは悪意のあるボット（ｍａｌｂｏｔ）がインターネット・リレー・チャットのチャネルまたはその他のチャット・システムにログインする。攻撃者はその結果、感染したシステムすべてに対し同時に命令することができる。ボットネットはさらに、アップグレードされたマルウェアを感染システムにプッシュし、アンチウイルス・ソフトウェアまたはその他のセキュリティ対策への耐性を保たせるためにも使用することができる。
【００１０】
マルウェア攻撃がより頻繁になるにつれて、ウイルスおよびスパイウェア保護からマルウェア保護へと注目が移り始め、明確にマルウェアに対抗するためのプログラムが開発されてきた。現在のアンチマルウェア・プログラムは、２つの方法でマルウェアに対抗することができる。第１に、アンチマルウェア・プログラムは、ユーザのコンピュータ上のマルウェア・ソフトウェアのインストールに対するリアルタイムの保護を提供することができる。このタイプのスパイウェア保護は、アンチマルウェア・ソフトウェアがマルウェア・ソフトウェアの着信してくるネットワーク・データをすべてスキャンし、遭遇するあらゆる脅威をブロックするという点において、アンチウイルス保護のものと同じ方法で機能する。第２に、アンチマルウェア・ソフトウェア・プログラムは、すでにユーザのコンピュータ上にインストールされているマルウェア・ソフトウェアの検出および除去のためのみに使用することも可能である。このタイプのマルウェア保護は通常、使用するのがはるかに容易であり、人気がより高い。このタイプのアンチマルウェア・ソフトウェアは、Ｗｉｎｄｏｗｓ（Ｒ）レジストリのコンテンツ、オペレーティング・システム・ファイル、およびコンピュータにインストールされているプログラムをスキャンし、発見されたあらゆる脅威のリストを提供して、ユーザが何を削除したいか、および何を保持したいかを選択すること、またはこのリストと既知のマルウェア・コンポーネントのリストとを比較して、一致するファイルを除去することができるようにする。
【００１１】
しかし、企業内の現代のマルウェア、およびその他の未承認ソフトウェア（ｕｎａｕｔｈｏｒｉｚｅｄ  ｓｏｆｔｗａｒｅ）は、コマンドおよび制御、またはピア・ツー・ピア・ネットワーク・アプリケーション（例えばＳｋｙｐｅ（Ｒ）、ファイル共有など）の分散ノードの識別に関し、典型的には暗号化通信に頼る。（Ｓｋｙｐｅは、米国、その他の国々、または両方における、Ｓｋｙｐｅ  Ｌｉｍｉｔｅｄまたはその他の関連会社の登録商標である。）暗号法において、暗号化は、情報（平文と呼ばれる）を、アルゴリズム（サイファと呼ばれる）を使用して変換し、通常は鍵と呼ばれる特別な情報を有する者以外は誰にも読めなくするプロセスである。このプロセスの結果は暗号化情報である（暗号法では暗号文と呼ばれる）。多くの文脈において、暗号化という語は、暗号化情報を再び読み取り可能にする（すなわち暗号化されていない状態にする）逆のプロセスである復号も暗に指す（例えば、「暗号化用ソフトウェア」は通常、復号も実行できる）。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
こうしたマルウェアおよびその他の未承認ソフトウェア通信は暗号化されるため、典型的には、伝達される実際のデータを調査することは可能ではない。したがって、こうしたプロトコルの中でデータの署名照合に焦点を合わせるマルウェア検出の現在の技術は、マルウェアが暗号化通信を利用する場合、保護の観点から不十分である。
【００１３】
したがって、マルウェアは、例えばコンピュータ・ユーザまたはサービス・プロバイダ、あるいはその両方にとって進行中の問題であり続けている。それ故、当該技術分野において、上文に記載した欠陥および制約を克服する必要がある。
【課題を解決するための手段】
【００１４】
本発明の第１の側面において、マルウェアまたは未承認ソフトウェア通信を識別する方法が、コンピュータ・インフラストラクチャ内に実装される。本方法は、暗号化通信を検出するステップと、暗号化通信の識別データを判断するステップとを含む。さらに、本方法は、検出された暗号化通信の比較であって、識別データを使用して、暗号化通信の承認済みアプリケーションのリストと、識別データを使用して、暗号化通信の承認済み宛先のリストと、のうちの少なくとも１つとの該比較を行うステップを含む。さらに本方法は、比較に基づき、検出された暗号化通信が、暗号化通信の承認済みアプリケーションのリスト上にない未承認アプリケーションからであること、および検出された暗号化通信が、承認済み宛先のリスト上にない未承認宛先に対するものであることのうちの少なくとも１つであることを判断するのに応答して、検出された暗号化通信を未承認暗号化通信（ｕｎａｕｔｈｏｒｉｚｅｄ  ｅｎｃｒｙｐｔｅｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）として識別するステップを含む。
【００１５】
本発明の別の側面において、コンピュータ・システムは、記憶装置、メモリおよび中央処理ユニットを含む。さらに、コンピュータ・システムは、暗号化通信を検出する第１のプログラム命令と、暗号化通信の識別データを判断する第２のプログラム命令とを含む。さらに、コンピュータ・システムは、暗号化通信と、暗号化通信の承認済みアプリケーションのリストおよび暗号化通信の承認済み宛先のリストのうちの少なくとも１つとを、識別データを使用して比較する第３のプログラム命令を含む。さらに、コンピュータ・システムは、暗号化通信が、暗号化通信と、暗号化通信の承認済みアプリケーションのリストとの比較に基づき、暗号化通信の承認済みアプリケーションのリスト上にない未承認アプリケーションからであること、暗号化通信と、暗号化通信の承認済み宛先のリストとの比較に基づき、暗号化通信の承認済み宛先のリスト上にない未承認宛先に対するものであることのうちの少なくとも１つであることを判断するのに応答して、暗号化通信を未承認暗号化通信として識別する第４のプログラム命令を含む。さらに、第１、第２、第３、および第４プログラム命令は、メモリを用いて中央処理ユニットにより実行されるよう、記憶装置内に記憶される。
【００１６】
本発明のさらなる側面は、可読プログラム・コードがコンピュータ使用可能記憶媒体内に具現化されているコンピュータ使用可能記憶媒体を含むコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、暗号化通信の承認済みアプリケーションのリストと、暗号化通信の承認済み宛先のリストとのうちの少なくとも１つを受信するよう動作可能な少なくとも１つのコンポーネントを含む。さらに、コンピュータ・インフラストラクチャは、暗号化通信の識別データを判断するよう動作可能である。さらに、コンピュータ・インフラストラクチャは、検出された暗号化通信と、暗号化通信の承認済みアプリケーションのリストおよび暗号化通信の承認済み宛先のリストのうちの少なくとも１つとを、識別データを使用して比較するよう動作可能である。さらにコンピュータ・インフラストラクチャは、検出された暗号化通信が、比較に基づき、暗号化通信の承認済みアプリケーションのリスト上にない未承認アプリケーションからであること、暗号化通信の承認済み宛先のリスト上にない未承認宛先に対するものであることのうちの少なくとも１つであることを判断するのに応答して、検出された暗号化通信を、未承認暗号化通信として識別して、検出された暗号化通信をブロックするよう動作可能である。さらに、コンピュータ・インフラストラクチャは、検出された暗号化通信が、比較に基づき、暗号化通信の承認済みアプリケーションのリスト上にある承認済みアプリケーションからであることと、比較に基づき、暗号化通信の承認済み宛先のリスト上にある承認済み宛先に対するものであることとを判断するのに応答して、検出された暗号化通信を承認済み暗号化通信（ａｕｔｈｏｒｉｚｅｄ  ｅｎｃｒｙｐｔｅｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）として識別して、検出された暗号化通信を許可するよう動作可能である。
【００１７】
本発明の例示の実施形態の非限定的な例として言及される複数の図面を参照して、本発明について次に続く詳細な説明において記載する。
【図面の簡単な説明】
【００１８】
【図１】本発明によるステップを実装する実例となる環境を示す。
【図２】本発明の各側面による、暗号化データ通信の識別による好ましくないソフトウェアまたは悪意のあるソフトウェアの分類の例示フローを示す。
【図３】本発明の各側面による、暗号化データ通信の識別による好ましくないソフトウェアまたは悪意のあるソフトウェアの分類の例示フローを示す。
【発明を実施するための形態】
【００１９】
本発明は、全般的に、悪意のあるアクティビティを識別することに関し、特に、暗号化データ通信を識別することによって好ましくないソフトウェアまたは悪意のあるソフトウェアを分類するシステムおよび方法に関する。企業内（例えばデスクトップ・レベルまたはサーバ・レベル、あるいはその両方）のマルウェアおよびその他の未承認ソフトウェアは、通常、コマンドおよび制御、またはピア・ツー・ピア・ネットワーク・アプリケーションの分散ノードの識別に関し、暗号化通信に頼る。すなわち、検出されずにいるために、マルウェアは暗号化を使用してその通信のコンテンツを隠す。こうした暗号化通信は、どのポート上でも、いつでも、さらにどのような時間の長さでも発生する可能性がある。
【００２０】
一方、実際に暗号化された形で通信する、企業内に展開されている承認済みアプリケーションは、一般に組織には既知である。すなわち、組織は、暗号化通信の承認済みアプリケーション、および例えば当該の承認済みアプリケーションが利用する暗号化通信のタイプ（例えば、ハッシュまたはＲＳＡ暗号化、あるいはその両方）、その通信が送受信されるソースおよび宛先ポート番号、または通信の発生元もしくは送信元であるインターネット・プロトコル（ＩＰ：ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレス、あるいはそのいずれかの組み合わせなどの暗号化通信の識別データを知っている。
【００２１】
本発明の各側面によれば、任意の暗号化通信を動的に識別して、当該暗号化通信と、既知のアプリケーションまたは承認済みアプリケーションとを関連付けることによって、マルウェアおよび未承認ソフトウェア展開に関連する好ましくない暗号化通信がブロックされるとよい。任意の暗号化通信が、既知または承認済みアプリケーションに関連付けされなければ、その結果本発明は、暗号化通信を、マルウェアまたは未承認ソフトウェア、あるいはその両方に関連すると識別するよう動作可能である。さらに、本発明は、暗号化通信を、マルウェアまたは未承認ソフトウェア、あるいはその両方に関連するものとしてブロックするよう動作可能である。
【００２２】
本発明を実装することによって、あらゆる暗号化通信を動的に識別し、当該の暗号化通信と、既知のアプリケーションまたは承認済みアプリケーションとを関連付けることにより、マルウェアおよび未承認ソフトウェア展開に関連する好ましくない暗号化通信をブロックすることが可能である。さらに、本発明を実装することによって、マルウェアまたは未承認ソフトウェア、あるいはその両方に、システムが感染しにくくなるとよい。本発明を実装することによってさらに、マルウェアまたは未承認ソフトウェア、あるいはその両方の展開に対する対処において、資源支出の削減が可能になる。
【００２３】
当業者であれば当然のことであるが、本発明は、システム、方法またはコンピュータ・プログラム製品として具現化されるとよい。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または本願明細書においてすべて概して「回路」、「モジュール」または「システム」と呼ばれるとよい、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとるとよい。さらに、本発明は、任意の有形の表現媒体に具現化されたコンピュータ使用可能プログラム・コードを有する該媒体において具現化されたコンピュータ・プログラム製品の形態をとることもできる。
【００２４】
１つ以上のコンピュータ使用可能またはコンピュータ可読媒体（単数または複数）の任意の組み合わせが利用され得る。コンピュータ使用可能またはコンピュータ可読媒体は、例えば、限定はされないが、電子、磁気、光学、電磁気、赤外線、または半導体システム、装置、デバイス、または伝播媒体とすることもできる。コンピュータ可読媒体のより具体的な例（包括的ではないリスト）には、次があると考えられる：
１つ以上のワイヤを有する電気的接続
ポータブル・コンピュータ・ディスケット
ハード・ディスク
ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）
読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）
消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）またはフラッシュ・メモリ）
光ファイバ
ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）
光学記憶デバイス
インターネットもしくはイントラネットをサポートするものなどの伝送媒体、または
磁気記憶デバイス、あるいはそのいずれかの組み合わせ。
【００２５】
この文書の文脈では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、または搬送することができる任意の媒体とするとよい。コンピュータ使用可能媒体は、ベースバンドに、または搬送波の一部として、伝播されるデータ信号により具現化されたコンピュータ使用可能プログラム・コードを備える、伝播データ信号を含み得る。コンピュータ使用可能プログラム・コードは、次に限定はされないが、無線、有線、光ファイバ・ケーブル、ＲＦなど、任意の適切な媒体を使用して伝送されるとよい。
【００２６】
本発明の動作を実行するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋または同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは同様のプログラミング言語などの従来の手続きプログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれるとよい。プログラム・コードは、スタンド・アロン・ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で実行されること、部分的にユーザのコンピュータ上で実行されること、または部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されること、または完全にリモート・コンピュータもしくはサーバ上で実行されることができる。後者のシナリオでは、リモート・コンピュータは、任意のタイプのネットワークを介してユーザのコンピュータに接続されるとよい。これは例えば、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）もしくは広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含むこともでき、または、接続は外部コンピュータに対するものであってもよい（例えばインターネット・サービス・プロバイダを使用しインターネットを介して）。
【００２７】
図１は、本発明に従いプロセスを管理する実例となる環境１０を示す。この点で、環境１０は、本願明細書に記載されたプロセスを実行することができるサーバまたはその他のコンピューティング・システム１２を含む。具体的には、サーバ１２はコンピューティング・デバイス１４を含む。コンピューティング・デバイス１４は、サード・パーティ・サービス・プロバイダのネットワーク・インフラストラクチャまたはコンピューティング・デバイス（そのいずれかが概して図１に表されている）にあるものとすることができる。
【００２８】
コンピューティング・デバイス１４は、暗号化通信検出（ＥＣＤ：ｅｎｃｒｙｐｔｅｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｄｅｔｅｃｔｉｏｎ）ツール３０を含む。ＥＣＤツール３０は、例えば本願明細書に記載されているプロセスなど、暗号化通信の承認済みアプリケーションのリストを受信すること、暗号化通信を検出すること、検出された暗号化通信と、暗号化通信の承認済みアプリケーションのリストとを比較すること、検出された暗号化通信が暗号化通信の承認済みアプリケーションのリスト上にあるかどうかを判断すること、検出された暗号化通信が暗号化通信の承認済みアプリケーションのリスト上にあれば、検出された暗号化通信を許可すること、および検出された暗号化通信が暗号化通信の承認済みアプリケーションのリスト上になければ、検出された暗号化通信をブロックすることを行うよう動作可能である。ＥＣＤツール３０は、別々または結合した複数モジュールとしてメモリ２２Ａに記憶される、プログラム制御４４内の１つ以上のプログラム・コードとして実装することができる。
【００２９】
コンピューティング・デバイス１４はさらに、プロセッサ２０、メモリ２２Ａ、Ｉ／Ｏインターフェース２４、およびバス２６を含む。メモリ２２Ａは、プログラム・コードを実際に実行する間に用いられるローカル・メモリ、大容量記憶装置、および、実行中にコードが大容量記憶装置から読み出されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的な記憶装置となるキャッシュ・メモリを含むことができる。さらに、コンピューティング・デバイスは、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、およびＣＰＵを含む。
【００３０】
コンピューティング・デバイス１４は、外部Ｉ／Ｏデバイス／リソース２８および記憶システム２２Ｂと通信している。例えば、Ｉ／Ｏデバイス２８は、個人がコンピューティング・デバイス１４と対話できるようにする任意のデバイス、またはコンピューティング・デバイス１４が任意のタイプの通信リンクを使用して１つ以上のほかのコンピューティング・デバイスと通信できるようにする任意のデバイスを含むことができる。外部Ｉ／Ｏデバイス／リソース２８は、例えばハンドヘルド・デバイス、ＰＤＡ、ハンドセット、キーボードなどとするとよい。
【００３１】
一般に、プロセッサ２０は、メモリ２２Ａまたは記憶システム２２Ｂあるいはその両方に記憶可能なコンピュータ・プログラム・コード（例えばプログラム制御４４）を実行する。さらに、本発明の各側面により、プログラム・コードを有するプログラム制御４４がＥＣＤツール３０を制御する。コンピュータ・プログラム・コードを実行している間、プロセッサ２０は、メモリ２２Ａ、記憶システム２２Ｂ、またはＩ／Ｏインターフェース２４、あるいはそのいずれかの組み合わせからのデータの読み出し、またはそれに対するデータの書き込み、あるいはその両方を行うことができる。プログラム・コードは、本発明のプロセスを実行する。バス２６は、コンピューティング・デバイス１４内の各コンポーネント間の通信リンクを提供する。
【００３２】
コンピューティング・デバイス１４は、任意の汎用コンピューティング製品上にインストールされたコンピュータ・プログラム・コードを実行できる任意の汎用コンピューティング製品を含むことができる（例えば、パーソナル・コンピュータ、サーバなど）。なお、当然のことながら、コンピューティング・デバイス１４は、本願明細書に記載されたプロセスを実行できる考えられる様々な等価なコンピューティング・デバイスを代表するのみである。この点で、各実施形態において、コンピューティング・デバイス１４により提供される機能性は、汎用または専用、あるいはその両方のハードウェアまたはコンピュータ・プログラム・コード、あるいはその両方の任意の組み合わせを含むコンピューティング製品によって実装されることができる。各実施形態において、プログラム・コードおよびハードウェアは、それぞれ標準のプログラミングおよびエンジニアリング技術を使用して作成することができる。
【００３３】
同じく、コンピューティング・インフラストラクチャ１２は、本発明を実装する様々なタイプのコンピュータ・インフラストラクチャの実例にすぎない。例えば、各実施形態において、サーバ１２は、本願明細書に記載されるプロセスを実行するために、ネットワーク、共有メモリ、または同様のものなどの任意のタイプの通信リンク上で通信する２つ以上のコンピューティング・デバイス（例えばサーバ・クラスタ）を含む。さらに、本願明細書に記載されるプロセスを実行する間、サーバ１２上の１つ以上のコンピューティング・デバイスが、任意のタイプの通信リンクを使用してサーバ１２の外部の１つ以上のほかのコンピューティング・デバイスと通信することができる。通信リンクは、有線または無線あるいはその両方のリンクの任意の組み合わせ、１つ以上のタイプのネットワークの任意の組み合わせ（例えば、インターネット、広域ネットワーク、ローカル・エリア・ネットワーク、仮想プライベート・ネットワークなど）を含むこと、または伝送技術およびプロトコルの任意の組み合わせを利用すること、あるいはその両方が可能である。
【００３４】
各実施形態において、ソリューション・インテグレータなどのサービス・プロバイダは、本願明細書に記載されるプロセスを実行することを提案することができるであろう。この場合、サービス・プロバイダは、本発明のプロセス・ステップを実行するコンピュータ・インフラストラクチャを、１以上の顧客に対して作成、保持、展開、サポートなどすることができる。こうした顧客は、例えば技術を使用する任意の企業とするとよい。見返りとして、サービス・プロバイダは、契約もしくは手数料の取り決めあるいはその両方に従って顧客（単数または複数）から支払いを受け取ること、または１つ以上のサード・パーティに対する広告コンテンツの販売からの支払いを受け取ること、あるいはその両方ができる。
【００３５】
所与の組織内で、例えばネットワーク管理者またはシステム管理者による定義通りに、規定のアプリケーションのみが（着信または発信する）通信を暗号化することを許可されているとよい。本発明の各側面によれば、暗号化通信検出（ＥＣＤ）ツール３０は、暗号化接続および通信を検出し、検出された暗号化通信と、（着信および発信する）通信を暗号化することを許可されている規定のアプリケーションのリストとを比較する。ＥＣＤツール３０が、規定のアプリケーションのリスト上にないアプリケーションの暗号化通信（すなわち未承認暗号化通信）を検出すると、ＥＣＤツール３０は、未承認暗号化通信を識別して、各実施形態において、未承認暗号化通信を許可しないよう、またはブロックするよう動作可能である。
【００３６】
当業者であれば当然のことであるが、本発明のさらなる側面によれば、ＥＣＤツール３０は、ネットワーク上でパケットが観測されるときにネットワーク通信が暗号化されているかどうかを識別するためのいくつかの数学的および分析的方法のうちの１つ以上を利用するとよい。数ある識別データの中でも特に、例えばソース、宛先、ならびに当該暗号化通信が生じているソースおよび宛先ポートの詳細などの識別データのカタログを作ることによって、ＥＣＤツール３０は、承認済み暗号化アプリケーション通信および信頼されているネットワークと、未知の未承認マルウェア・アプリケーション通信の可能性があるものとを区別するよう動作可能である。
【００３７】
例えば、ＥＣＤツール３０は、数ある識別データの中でも特に、例えば検出された通信の暗号化のタイプ（例えば数あるタイプの暗号化の中でも特にハッシュまたはＲＳＡ、あるいはその両方）、検出された通信が生じているポート番号（例えばソースおよび宛先ポート番号）、または宛先ホストの識別あるいはそのいずれかの組み合わせなどの識別データを識別するよう動作可能である。さらに、各実施形態において、アプリケーションは、例えば、特定のポート番号を介するセキュアＨＴＴＰＳ接続を開くこともあり、これが暗号化のタイプの検出を妨げることもある。したがって、各実施形態において本発明は、検出された通信が生じているポート番号（例えばソースおよび宛先ポート番号）または宛先ホストの識別、あるいはその両方を利用して、ＥＣＤツール３０が未承認暗号化通信を識別することを意図している。
【００３８】
各実施形態において、ＥＣＤツール３０は、例えば検出された暗号化通信の暗号化のタイプ、当該暗号化通信が生じているソースおよび宛先ポート、または宛先ホスト、あるいはそのいずれかの組み合わせのカタログに登録される詳細などの識別データを、例えば図１の記憶システム２２Ｂなどのデータベースに記憶するとよい。各実施形態において、このデータベースは、例えば最初にネットワーク管理者またはシステム管理者などからＥＣＤツール３０によって受信された、承認済み暗号化通信の、カタログに登録されている詳細を含む。さらに、データベースは、ＥＣＤツール３０により検出された、承認済み暗号化通信として識別される検出された各暗号化通信に関する、識別データ（カタログに登録される情報など）を含むとよい。
【００３９】
本発明の各側面によれば、ＥＣＤツール３０は、検出された暗号化通信と、例えば図１の記憶システム２２Ｂなどのデータベースに含まれている承認済み暗号化通信のリストとを、識別データを使用して比較するよう動作可能である。各実施形態において、検出された暗号化通信と、承認済み暗号化通信のリストとの比較を実行する間、ＥＣＤツール３０は、検出された暗号化タイプ、検出された暗号化通信のソースもしくは宛先あるいはその両方、検出された暗号化通信のソースもしくは宛先ポート番号あるいはその両方、または検出された宛先ホスト、あるいはそのいずれかの組み合わせを識別データとして利用するとよい。
【００４０】
暗号化された未承認アプリケーションの通信が観測されると、ＥＣＤツール３０は、未承認通信を識別し、各実施形態において、未承認暗号化通信を拒否するか、またはブロックする。さらに、各実施形態において、未承認暗号化通信を検出すると、未承認暗号化通信を自動的に拒否する代わりに、ＥＣＤツール３０はユーザに対する警告をトリガしてもよい（例えば、ネットワークもしくはサーバ管理者、またはデスクトップ・ユーザ、あるいはその両方に対して）。ユーザは次に、例えば、検出された未承認暗号化通信を拒否する、または検出された暗号化通信を送信しているアプリケーションを承認済みとして識別する（例えば、暗号化通信の承認済みアプリケーションのリストに対して、検出された暗号化通信を送信しているアプリケーションを追加）など、検出された未承認暗号化通信に対する適切な一連のアクションを判断するとよい。
【００４１】
さらに、各実施形態において、暗号化接続を許可することが既知ではないアプリケーションからの暗号化接続を拒否するかどうかを判断する間、ＥＣＤツール３０はさらに、アプリケーション（暗号化通信の承認された規定のアプリケーションのリスト上にない）が、例えば同じサブネットなどの信頼されているネットワーク上に位置するかどうかも考慮するとよい。すなわち、暗号化接続を許可することが既知ではないアプリケーションが、例えば同じサブネットなどの信頼されているネットワークに位置すれば、暗号化接続を許可することが既知でないアプリケーションが実際は正当な（例えばマルウェアでない）アプリケーションであることもある。したがって、各実施形態において、ＥＣＤツール３０はユーザ（例えばサービス・プロバイダまたはネットワーク管理者）に、アプリケーションがマルウェアであるかもしれないという指摘を提供し、ユーザが適切なアクションをとることができるようにするとよい（例えば、アプリケーションを拒否すること、または（着信または発信する）通信の暗号化を許可されている規定のアプリケーションのリスト上にアプリケーションがあるべきであると示すこと。さらに、さらなる実施形態では、暗号化接続を許可することが既知でないアプリケーションが信頼されているネットワークに位置すれば、ＥＣＤツール３０は自動的に、アプリケーションを暗号化通信の承認済みアプリケーションのリストに追加するとよい。
【００４２】
本発明のさらなる側面によれば、各実施形態において、ＥＣＤツール３０は、評価基準として暗号化トラフィックの宛先についての情報を利用するよう動作可能である。例えば、ＥＣＤツール３０が、トラフィックを暗号化されている（または恐らく暗号化されている）と識別し、ＥＣＤツール３０が、例えば組織が通常関係しない国外などのピア・ツー・ピア・ネットワークの一部であることが既知であるホストとして、トラフィックの宛先を識別すると、ＥＣＤツール３０は、未承認マルウェア・アプリケーション通信としてトラフィックを識別するよう動作可能である。
【００４３】
さらに、各実施形態において、ＥＣＤツール３０は、トラフィックの宛先と、好ましくない可能性がある、または未承認、あるいはその両方の宛先（例えば、ボットネット感染率が５０パーセントあることが既知であるトルコのインターネット・サービス・プロバイダ（ＩＳＰ：ｉｎｔｅｒｎｅｔ  ｓｅｒｖｉｃｅ  ｐｒｏｖｉｄｅｒ）に属するインターネット・プロトコル（ＩＰ）アドレスのネットブロック）のリストとを比較するよう動作可能であり、このリストは、例えば図１の記憶システム２２Ｂなどのデータベース内に記憶されるとよい。ＥＣＤツール３０が、トラフィックの特定された宛先が、好ましくない可能性がある宛先のリスト上にあると判断すると、ＥＣＤツール３０は、未承認マルウェア・アプリケーション通信としてそのトラフィックを識別するよう動作可能である。
【００４４】
本発明のさらなる側面によれば、暗号化通信の承認済みアプリケーションのリストと、好ましくない可能性がある宛先のリストとがデータベースに記憶されることに加えて、各実施形態において、ＥＣＤツール３０は、暗号化通信の未承認アプリケーションのリストと、好ましい可能性がある宛先のリストとを記憶するよう動作可能である。すなわち、各実施形態において、データベースは、暗号化通信の承認済みアプリケーションのリストを含むとよく、さらに、暗号化通信の未承認アプリケーションの別のリストも含むとよい。さらに、各実施形態において、データベースは、好ましくない可能性のある宛先のリストを含むとよく、さらに、好ましい可能性のある宛先のリストも含むとよい。したがって、この例示実施形態では、未承認暗号化通信（または未承認宛先）を検出すると、ＥＣＤツール３０は、未承認暗号化通信の識別データをデータベースに追加して、例えば未承認暗号化通信の検出を支援するよう動作可能である。
【００４５】
図２および３は、本発明の各側面を実行する例示フローを示す。図２および３のステップは、例えば図１の環境において実装されるとよい。各フロー図は、等しく本発明のハイレベル・ブロック図を表すことができる。図２および３のフローチャートまたはブロック図、あるいはその両方は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の考えられる実装のアーキテクチャ、機能性および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、規定の論理機能（単数または複数）を実装する１つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すとよい。なお、さらに、いくつかの代わりの実装では、ブロック内に示されている機能は図面に示されているのとは異なる順序で生じてもよい。例えば、関連する機能性次第で、連続して示されている２つのブロックが、実際には事実上同時に実行されてもよく、または各ブロックが時々逆順で実行されてもよい。各フローチャートの各ブロック、およびフローチャート図の組み合わせは、上記のように、規定の機能または動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令、もしくはソフトウェア、あるいはその両方の組み合わせにより実装することができる。さらに、フロー図の各ステップは、サーバから、クライアント／サーバ関係で実装および実行されてもよく、または、ユーザ・ワークステーションへ伝達された動作情報を用いてユーザ・ワークステーション上で実行されてもよい。実施形態において、ソフトウェア構成要素は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。
【００４６】
さらに本発明は、コンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとり、コンピュータまたは任意の命令実行システムにより、またはそれに関連して使用されるプログラム・コードを提供することができる。ソフトウェアまたはコンピュータ・プログラム製品、あるいはその両方は、図１の環境で実装可能である。本記載では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、または搬送することができる任意の装置とすることができる。媒体は、電子、磁気、光学、電磁気、赤外線、または半導体システム（もしくは装置もしくはデバイス）、または伝播媒体とすることができる。コンピュータ可読記憶媒体の例には、半導体または固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、剛体磁気ディスク、および光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｃ−ｒｅａｄ／ｗｒｉｔｅ）、およびＤＶＤが含まれる。
【００４７】
図２は、本発明の各側面を実行する例示フロー２００を示す。図２に示されているように、ステップ２０５にてＥＣＤツールは、例えばネットワーク管理者またはユーザなどから、暗号化通信の承認済みアプリケーションのリストを受信する。各実施形態において、ＥＣＤツールは、暗号化通信の承認済みアプリケーションのリストを、例えば図１の記憶システム２２Ｂなどのデータベースに記憶するとよい。
【００４８】
ステップ２１０にて、ＥＣＤツールは暗号化通信を検出する。上記のように、当業者であれば当然のことであるように、ＥＣＤツールは、ネットワーク上でパケットが観測されるときに、ネットワーク通信が暗号化されているかどうかを識別するためのいくつかの一般的な数学的および分析的方法のうちの１つ以上を利用して、暗号化通信を検出するとよい。
【００４９】
ステップ２１５にて、ＥＣＤツールは、検出された暗号化通信と、暗号化通信の承認済みアプリケーションのリストとを比較する。ステップ２２０にて、ＥＣＤツールは、検出された暗号化通信が、暗号化通信の承認済みアプリケーションのリスト上にあるかどうかを判断する。ステップ２２０にてＥＣＤツールが、検出された暗号化通信は暗号化通信の承認済みアプリケーションのリスト上にあると判断すると、その結果ステップ２２５にてＥＣＤツールは、検出された暗号化通信が進むことを許可する。任意選択のステップ２４５にてＥＣＤツールは、検出された暗号化通信の識別データを、例えば図１の記憶システムなどのデータベースに記憶する。
【００５０】
ステップ２２０にてＥＣＤツールが、検出された暗号化通信は暗号化通信の承認済みアプリケーションのリスト上にないと判断すると、その結果、プロセスは任意選択のステップ２３０に進む。
【００５１】
任意選択のステップ２３０にて、ＥＣＤツールは、検出された暗号化通信が信頼されているネットワーク上であるかどうかを判断する。ステップ２３０にてＥＣＤツールが、検出された暗号化通信は信頼されたネットワーク上であると判断すると、その結果任意選択のステップ２３５にてＥＣＤツールは、検出された暗号化通信に関連するアプリケーションを、暗号化通信の承認済みアプリケーションのリストに追加する。任意選択のステップ２３５の後、プロセスはステップ２２５へ進み、そこでＥＣＤツールが検出された暗号化通信を許可する。ステップ２３０にてＥＣＤツールが、検出された暗号化通信が信頼されているネットワーク上でないと判断すると、その結果ステップ２４０にてＥＣＤツールは、検出された暗号化通信をブロックする。任意選択のステップ２５０にてＥＣＤツールは、検出された暗号化通信の識別データを、例えば図１の記憶システムなどのデータベースに記憶する。
【００５２】
当然のことながら、ステップ２３０、２３５、２４５および２５０の点線は、各実施形態において、ステップ２３０、２３５、２４５および２５０が任意選択のステップであることを示す。さらに、当然のことながら、ＥＣＤツールが任意選択のステップ２３０および２３５を実行せず、ステップ２２０にてＥＣＤツールが、検出された暗号化通信が暗号化通信の承認済みアプリケーションのリスト上にないと判断する場合、プロセスは直接ステップ２４０へ進む。
【００５３】
さらに、図２には示されていないものの以下の図３には示されていることであるが、さらなる実施形態では、ＥＣＤツールが、ステップ２３０にて検出された暗号化通信が信頼されているネットワーク上であると判断すると、ＥＣＤツールはユーザ（例えばネットワーク管理者またはローカル・オペレータ）に、ステップ２３５を実行するオプションを提供するとよい。すなわち、ＥＣＤツールが自動的にステップ２３５を実行するのではなく、各実施形態において、ＥＣＤツールがユーザにステップ２３５を実行するオプションを提供してもよい。ＥＣＤツールがステップ２３５を実行しない指示を受信すると、次に、この例示実施形態では、プロセスはステップ２４０へ進み、そこでＥＣＤツールは検出された暗号化通信をブロックする。
【００５４】
図３は、本発明の各側面を実行する例示フロー３００を示す。図３に示されているように、ステップ３０５にて、例えばローカル・オペレータ、システム管理者、またはネットワーク管理者などのユーザが、暗号化通信の承認済みアプリケーションのリストをＥＣＤツールへ送信する。ステップ３１０にて、ユーザに暗号化通信が送信される。上記のように、ステップ３１５にてＥＣＤツールは、検出された暗号化通信が、暗号化通信の承認済みアプリケーションのリスト上にあるかどうかを判断する。ステップ３１５にて、検出された暗号化通信が許可されていれば、続いてステップ３３０にて、ユーザが暗号化通信を受信する。
【００５５】
ステップ３１５にて、検出された暗号化通信が許可されていなければ、次にステップ３２０にて、ＥＣＤツールは、検出された暗号化通信が信頼されているネットワーク上であるかどうかを判断する。ステップ３２０にてＥＣＤツールが、検出された暗号化通信は信頼されているネットワーク上でないと判断すると、その結果ステップ３４０にてユーザは、検出された暗号化通信を受信しない。ステップ３２０にてＥＣＤツールが、検出された暗号化通信は信頼されたネットワーク上であると判断すると、その結果ステップ３２５にてユーザは、検出された暗号化通信を、暗号化通信の承認済みアプリケーションのリストに追加するかどうかを判断する。
【００５６】
任意選択のステップ３２５にて、ユーザが、検出された暗号化通信を暗号化通信の承認済みアプリケーションのリストに追加すると判断すると、ステップ３２８にて、検出された暗号化通信が、暗号化通信の承認済みアプリケーションのリストに追加され、ステップ３３０にて、ユーザは検出された暗号化通信を受信する。任意選択のステップ３２５にてユーザが、検出された暗号化通信を暗号化通信の承認済みアプリケーションのリストに追加しないと判断すると、ステップ３４０にてユーザは、検出された暗号化通信を受信しない。
【００５７】
当然のことながら、ステップ３２５の点線は、各実施形態において、ステップ３２５が任意選択のステップであることを示す。さらに、当然のことながら、ユーザが任意選択のステップ３２５を実行せず、ステップ３２０にてＥＣＤツールが、検出された暗号化通信が信頼されているネットワーク上であると判断した場合、プロセスは直接ステップ３２８へ進む。
【００５８】
本願明細書で使用される専門用語は、特定の実施形態を説明するためのものでしかなく、本発明の限定となることは目的としていない。本願明細書で使用される、単数形「ａ」「ａｎ」および「ｔｈｅ」は、文脈によりそうでないことが明確に示されていない限り、複数形も含むものとする。さらに、当然のことながら、「含む（ｃｏｍｐｒｉｓｅｓ）」または「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」、あるいはその両方の用語は、本明細書で使用されるとき、記載された機能、整数、ステップ、動作、構成要素、またはコンポーネント、あるいはそのいずれかの組み合わせの存在を指定するが、１つ以上のほかの機能、整数、ステップ、動作、構成要素、コンポーネント、またはそのグループ、あるいはそのいずれかの組み合わせの存在または追加を除外するものではない。
【００５９】
特許請求の範囲のミーンズまたはステップ・プラス・ファンクション構成要素すべての対応する構造、材料、動作、および等価物は、該当する場合、明確に請求されているほかの請求される構成要素とともに機能を実行する任意の構造、材料、または動作を含むものとする。本発明の記載は、例証および説明のために示されたものであるが、包括的であることも、開示された形式の発明に限定されることも目的としていない。当業者には、本発明の範囲および意図から逸脱することのない、多数の変更および変形が明らかであろう。実施形態は、本発明の原理および実際の応用をもっともよく説明して、当業者が、意図される特定の用途に適する様々な変更を用いた様々な実施形態に関して、本発明を理解できるように選ばれ、記載された。したがって、本発明は各実施形態の観点から記載されたが、当業者には当然のことながら、本発明は、変更を加えて、添付の特許請求の範囲に記載の意図および範囲の中で実践されることが可能である。
【図１】
0005497060.tif 000002
【図２】
0005497060.tif 000003
【図３】
0005497060.tif 000004