(58)【調査した分野】(Int.Cl.,DB名)
複数個の暗号化技法上安全なチャネルを設定するステップであって、各チャネルが1つのモニタする装置と複数個のモニタされる装置のうちの1つのモニタされる装置との間にあり、前記複数個のモニタされる装置のうちの各モニタされる装置が一意的なアドレスに関連付けられている、前記設定するステップと、
前記モニタする装置から、前記複数個のモニタされる装置のうちの第1のモニタされる装置に、前記複数個の安全なチャネルのうちの、前記第1のモニタされる装置に対応する第1の安全なチャネルを介して、第1のハートビートを送るステップと、
前記第1のハートビートに対する応答が受信され、且つ、当該応答が正しくない応答であることに応じて、スプーフィング検知スキームを実行するステップであって、前記スプーフィング検知スキームを実行するステップは、
第2のモニタされる装置に関連付けられたアドレスを介して前記第1のモニタされる装置に第2のハートビートを送るステップと、
前記第2のハートビートに対する応答を受信するステップと、
前記第2のハートビートに対する応答が受信されたことに応じてスプーフィング・アタックが生じたと判断するステップと
を含む、前記実行するステップと
を含む、方法。
前記暗号化技法上安全なチャネルは、インターネット・キー交換/インターネット・プロトコル・セキュリティ(IKE/IPSet)カプセル化パケット(ESP)プロトコルに基づいている、請求項1〜6のいずれか一項に記載の方法。
コンピューティング・システムに結合されたハイパーバイザによって複数個の暗号化技術的に安全なチャネルを設定するステップであって、各チャネルが1つのモニタする装置と複数個のモニタされる装置のうちの1つのモニタされる装置との間にあり、各モニタされる装置が一意的なアドレスに関連付けられている、前記設定するステップと、
前記モニタする装置から、前記複数個のモニタされる装置のうちの第1のモニタされる装置に、前記複数個の安全なチャネルのうちの、前記第1のモニタされる装置に対応する第1の安全なチャネルを介して、第1のハートビートを送るステップと、
前記第1のハートビートに対する応答が受信され、且つ、当該応答が正しくない応答であることに応じて、スプーフィング検知スキームを実行するステップであって、前記スプーフィング検知スキームを実行するステップは、
第2のモニタされる装置に関連付けられたアドレスを介して前記第1のモニタされる装置に第2のハートビートを送るステップと、
前記第2のハートビートに対する応答を受信するステップと、
前記第2のハートビートに対する応答が受信されたことに応じてスプーフィング・アタックが生じたと判断するステップと
を含む、前記実行するステップと
を含む、方法。
前記暗号化技法上安全なチャネルは、インターネット・キー交換/インターネット・プロトコル・セキュリティ(IKE/IPSet)カプセル化パケット(ESP)プロトコルに基づいている、請求項8〜13のいずれか一項に記載の方法。
【背景技術】
【0002】
処理要求が増加するにつれて、コンピューティング・システムは、益々複雑化され且つ相互に接続されたものになっている。例えば、特定のコンピューティング装置は、論理パーティション、即ち、「LPAR」にパーティション化され得るし、その各々は、独立したコンピュータとして仮想化されたコンピューティング装置の資源のサブセットを含む。更に、コンピューティング・システムは、ローカル・エリア・ネットワーク(LAN)及びインターネットのような様々なタイプのネットワークを介して益々相互接続されるようになっている。この複雑性及び相互接続性は、コンピュータ・セキュリティに関連した多くの問題点を生じている。
【0003】
米国特許第7,386,698号は、論理的にパーティション化された(LPAR)コンピュータ・システムにおいてハードウェア資源及びソフトウェア資源を自動的に定義し、展開させ、及び管理する方法、並びにターゲット・コンピュータ・システムを管理するために使用されるソリューション・プロファイルを開示している。米国特許第7,188,198号は、LPARインプリメンテーション及びLAPRアドレスを用いて動的仮想レーン・バッファの再構築を具現化するための方法を開示している。米国特許第6,226,744号は、アクセス・コード及びLPAKインプリメンテーションを用いて、スマート・カードを使用するネットワーク上のユーザを認証するための方法を開示している。
【0004】
「データ品質の改善:一貫性及び精度(Improving Data Quality:Consistency and Accuracy)」(Cong.G 他;2007)及び「遅延関数型プログラミングを使用する自然言語インターフェースの実現(Realization of Natural LanguageInterfaces Using Lazy Functional Programming)」(Frost RA 他;2006)は、LPAR虚偽表示及びそれの検出(Cong 他)、並びに種々の環境におけるLPARの実践(Frost)を開示している。
【発明を実施するための形態】
【0013】
当業者には明らかなように、本発明の態様は、システム、方法、又はコンピュータ・プログラムとして具体化され得る。従って、本発明の態様は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例(ファームウェア、駐在ソフトウェア、マイクロコード等を含む)、又は、本明細書では一般的に「回路」、「モジュール」、もしくは「システム」と呼ばれるソフトウェア態様及びハードウェア態様を結合した実施例の形体を取り得る。更に、本発明の態様は、コンピュータ可読プログラム・コードを具体化して1つ又は複数個のコンピュータ可読媒体において具現化されたコンピュータ・プログラムの形体を取り得る。
【0014】
1つの実施例は、「特許請求の範囲」に記載の主題に従って、論理パーティションを使用するシステムにおけるアタックを検知するためのプログラムされた方法に関する。なお、「プログラムされた方法」という用語は、本明細書おいて使用されるように、現在遂行されつつある1つまたは複数個のプロセス・ステップを意味するものとして定義されるか、或いは、それとは別に、将来の或る時点で遂行されることを可能にされる1つ又は複数個のプロセス・ステップを意味するものとして定義される。「プログラムされた方法」という用語は3つの代替形式が予想される。 第1に、プログラムされた方法は、やがて行なわれるプロセス・ステップを含む。第2に、プログラムされた方法は、コンピュータによって実行されるとき、1つ又は複数個のプロセス・ステップを遂行するコンピュータ命令を具体化するコンピュータ可読媒体を含む。最後に、プログラムされた方法は、1つ又は複数個のプロセス・ステップを遂行するためにソフトウェア、ハードウェア、ファームウェア、又はそれらの任意の組み合わせによってプログラムされたコンピュータ・システムを含む。「プログラムされた方法」という用語は、同時に複数個の代替形式を有するものとしては解釈されず、任意の所与の時点では複数個の代替形式の1つだけ存在するという代替形式の真の意味で解釈されることも当然である。
【0015】
1つ又は複数個のコンピュータ可読媒体の任意の組み合わせが利用可能である。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってもよい。例えば、コンピュータ可読記憶媒体は、例えば、電子的、磁気的、光学的、電磁気的、赤外線、もしくは半導体システム、装置、又はデバイス、或いは上記のものの任意の適切な組み合わせであってもよいが、それらに限定されない。コンピュータ可読記憶媒体の更に特殊な例(非網羅的なリスト)は、1つ又は複数個のワイヤを有する電気的接続体、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、光学的記憶装置、磁気記憶装置、又は上記のものの任意の適切な組み合わせを含むであろう。本明細書との関連で、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによる使用のために、或いはそれらと関連した使用のために、プログラムを格納し得る任意の具体的な媒体であってもよい。
【0016】
コンピュータ可読信号媒体は、伝播されたデータ信号を、そこに具体化されたコンピュータ可読プログラム・コードと共に、例えば、ベースバンドにおいて或いは搬送波の一部として含み得る。そのような伝播された信号は、電磁的、光学的、又はそれの任意の適切な組み合わせを含むが、それに限定されない種々の形式のいずれかを取り得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによる使用或いはそれらに関連した使用のためにプログラムを伝送、伝播、又は搬送することができる任意のコンピュータ可読媒体であってもよい。
【0017】
コンピュータ可読媒体上に具体化されたプログラム・コードは、無線通信、有線通信、光通信ケーブル、RF等、又はそれらの任意の適切な組み合わせを含むがそれらに限定されない任意の適切な媒体を使用して送信され得る。
【0018】
本発明の実施態様に関するオペレーションを実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++等を含むオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続的なプログラミング言語、の任意の組み合わせで書かれてもよい。プログラム・コードは、ユーザのコンピュータ上で全体的に、ユーザのコンピュータ上で独立型のパッケージ・ソフトとして部分的に、及びリモート・コンピュータ上で部分的に又はリモート・コンピュータもしくはサーバ上で全体的に実行可能である。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続され得るし、或いは外部コンピュータへの接続は、(例えば、インターネット・サービス・プロバイダを利用してインターネットを介して)行われ得る。
【0019】
本発明の実施態様は、本発明の実施例に従って、方法、装置(システム)、及びコンピュータ・プログラムのフローチャート及び/又はブロック図を参照して以下で説明される。フローチャート実例及び/又はブロック図の各ブロック、並びにフローチャート及び/又はブロック図におけるブロックの組み合わせがコンピュータ・プログラム命令によって具体化され得るということは明らかであろう。これらのコンピュータ・プログラム命令は、コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図のブロックにおいて指定された機能/行為を具現化するための手段を作成するようなマシンを製造するために汎用コンピュータ、特殊目的コンピュータ、又は他のプログラム可能なデータ処理装置のプロセッサに提供され得る。これらのコンピュータ・プログラム命令はコンピュータ可読媒体にも格納され得るし、コンピュータ可読媒体に格納された命令がフローチャート及び/又はブロック図のブロックにおいて指定された機能/行為を具現化する命令を含む製造物を作り出すというような特定の態様で機能するように、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスを指示し得る。
【0020】
コンピュータ・プログラム命令は、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスにロードされ、コンピュータ又は他のプログラム可能な装置上で実行される命令がフローチャート及び/又はブロック図のブロックにおいて指定された機能/行為を具現化するためのプロセスを提供するというようなコンピュータ利用のプロセスを生じさせるために、コンピュータ、他のプログラム可能なデータ処理装置、又は他のデバイスにおいて一連の動作ステップを遂行させ得る。
【0021】
詐称者又はスプーフィングLPARを検知するために、仮想入出力サーバ(VIOS)がターゲットLPARを用いて暗号化技法上安全な信号を設定することを可能にする技術が提供される。安全な信号、即ち「ハートビート」は、インターネット・キー交換/インターネット・プロトコル・セキュリティ(IKE/IPSec)カプセル化パケット(ESP)の接続又はトンネルとして構成され得る。そのトンネル内では、VIOSは各ターゲットLPARをピングし、ハートビートが中断される場合、VIOSは、トンネルが機能しなくなっているかどうか、対応するLPARがダウンするか、又は媒体アクセス制御(MAC)スプーフィング・アタックが生じつつあるかどうかに関して決定を行う。
【0022】
次に、図面を参照すると、
図1は、「特許請求の範囲」の主題を具現化し得るコンピューティング・アーキテクチャ100の一例のブロック図である。コンピューティング・アーキテクチャ100はコンピューティング・システム102を含み、そのシステム102は、一般に、プロセッサ、メモリ、データ・バスを含み、それらのいずれも図示されていないが、それらはコンピューティング分野の当業者には周知であろう。コンピューティング・システム102に関連する処理空間は、論理パーティション(LPAR)に編成され、この例のために、LPAR130及びLPAR140を含む。「発明の概要」の項で説明したように、LPARは、個別のコンピューティング・システムとして仮想化されたコンピュータの資源のサブセットである。仮想入出力サーバ(VIOS)120は、ハイパーバイザ110と連動して、LPAR130及び140が協調的に作業することを可能にする。
【0023】
ハイパーバイザ110は、ネットワーク150を介してアクセス可能であるハイパーバイザ管理コンソール(HMC)104を介してアクセスされる。HMC104はスイッチ106に結合され、スイッチ106は、フレキシブル・サービス・プロセッサ(FSP)108を介してハイパーバイザ110に結合される。図示されてないが、HMC104は、一般に、少なくともモニタ、キーボード及びポインティング・デバイス、又は「マウス」を含み、ヒューマン・インタラクションを可能にしている。HMC104は、一般に、メモリ及びプロセッサも含む。ハイパーバイザ110は、多くの仮想ローカル・エリア・ネットワーク(VLAN)112、114、及び116を介して、VIOS120、LPAR130及び140のようなコンピューティング・システム102の他のコンポーネントにコミュニケーション可能に結合される。特に、この例では、VLAN112は、VIOS120に関連した仮想イーサネット(VEN)123に、及びLPAR130に関連したVEN132に結合される。VLAN114は、LPAR130に関連したVEN133に、及びLPAR140に関連したVEN142に結合される。VLAN116は、VIOS120に関連したVEN122に、及びLPAR140に関連したVEN143に結合される。
【0024】
VIOS120のVEN122及び123は、実イーサネット(REN)124への接続を行うブリッジ126にも結合される。LPAR140は、ネットワーク152に結合されるREN144も含む。VLAN112、114、及び116、VEN122、123、132、133、142、及び143、REN124及び144、並びにブリッジ126は、「特許請求の範囲」の主題を具現化し得るアーキテクチャ100及びコンピューティング・システム102のコンポーネントの仕様全体にわたって単に例として使用されることは明らかであろう。換言すれば、コンピューティング及びコミュニケーション分野における当業者には明らかなように、アーキテクチャ100、コンピューティング・システム102、並びにコンポーネント112、114、116、122、123、124、126、132、133、143、及び144は、種々のコンポーネントが、ユーザ及び他のコンピューティング装置と相互に及びネットワーク150及び152を介してコミュニケーションを行うために、大きなフレキシビリティを提供する。
【0025】
VIOS120は、ハートビート生成及びモニタ(HBGM)コンポーネント128も含む。HBGM128は、「特許請求の範囲」に記載の主題の実施態様に対してメモリ及びロジックを提供する。HBGM128は、
図2乃至
図6に関連して以下で更に詳しく説明される。
【0026】
図2は、
図1に関連して紹介されたHBGM128のブロック図であり、「特許請求の範囲」に記載された発明の主題を具現化するために使用され得る。HBGM128は、入出力(I/O)モジュール162、データ・モジュール164、ハートビート(HB)生成モジュール166、HB分析モジュール168、暗号化モジュール170、及び グラフィカル・ユーザ・インターフェース(GUI)モジュール172を含む。下記の例のために、HBGM128は、コンピューティング・システム102(
図1)に関連したプロセッサにおいて実行され、コンピューティング・システム102に関連したデータ記憶装置(図示されてない)に格納されるものと仮定する。「特許請求の範囲」に記載の本発明の主題は、多くのタイプのコンピューティング・システム及びデータ記憶装置において具現化され得るが、単純にするために、コンピューティング・システム102及びシステム・アーキテクチャ100(
図1)に関してのみ説明されることを承知されたい。更に、
図2におけるHBGM128の表記は論理モデルである。換言すれば、コンポーネント162、164、166、168、170、及び172は、同じファイルまたは個別のファイルに格納され得るし、任意の利用可能なプロセス間コミュニケーション(IPC)技法によって相互作用する単一のシステムとして又は個々のプロセスとしてコンピューティング・システム102内にロードされ、及び/又は実行され得る。
【0027】
I/Oモジュール162は、HB生成モジュール166によって生成されたハートビートの送信を含む、HBGM128とコンピューティング・システム102の他のコンポーネントとの間のすべてのコミュニケーションを処理する。データ・モジュール164は、HBGM128が通常の動作中に必要とするパラメータ、設定値、及びリストを含む情報のためのデータ・リポジトリである。データ・モジュール164に格納される情報のタイプの例は、HBGMコンフィギュレーション・データ182、システム・コンフィギュレーション・データ184、データ・キー186の安全なリスト、及びデータ・キャッシュ188を含む。HBGMコンフィギュレーション・データ182は、HBGM128のオペレーション(
図3のブロック204参照)を制御するためにユーザ又はシステム管理者によってセットされ得るパラメータを格納する。実施例は、アクションが取られる前に多くの無視されたハートビートを決定するパラメータ及び承認されたユーザに関する情報を含むが、それに限定されない。システム・コンフィギュレーション・データ184は、HBGM128がオペレーション中に利用する種々のコンポーネントを含むコンピューティング・システム102に関連する情報を格納する(
図3のブロック206参照)。データ・キー186は、HBGM128と、LPAR130及び140を含むコンピューティング・システム102の他のコンポーネントとの間の安全なコミュニケーションを可能にするセッション・キーを格納する暗号化技法上安全な領域である。データ・キャッシュ188は、HBGM128によって実行された処理の中間結果もすべて格納する。
【0028】
HB生成モジュール166は、HBGM128及びVIOS120(
図1)並びにLPAR130及び140から送られたハートビートを生成するためのロジックを実行する(
図4のブロック234参照)。HB分析モジュール168は、モジュール166により生成されたハートビートに対する応答を分析し、異常ハートビート又は欠落ハートビートに応答してアクションを開始することを含む(
図4のブロック238及び240参照)。暗号化モジュール170は、データ・キー186に格納されたセッション・キーを使用することによりHBGM128とコンピューティング・システム102の他のコンポーネントとの間のコミュニケーションを暗号化及び暗号解読する。GUIコンポーネント172は、HBGM128の管理者及び他のユーザがHBGM128の希望の機能と相互作用すること及びそれを定義することを可能にする。代替実施例では、HBGM128との対話のためのGUIがHMC104(
図1)に組み込まれることもあり得る。コンポーネント162、164、166、168、170、172、182、184、186、及び188は、
図3乃至
図5に関連して更に詳しく後述される。
【0029】
図3は、
図1及び
図2のHBGM128に対応するHBGMセットアップ・プロセス200のフローチャートである。この例では、プロセス200に関連するロジックが、HBGM128(
図1及び
図2)の一部としてコンピューティング・システム102(
図1)に格納及び実行される。プロセス200は、「HBGMセットアップを始める」というブロック202を開始し、直ちに、「HBGMデータを検索する」というブロック204に進む。ブロック204において、プロセス200は、HBGM128のオペレーションを制御する(
図4のブロック230参照)コンフィギュレーション・データ(
図2のブロック182参照)を検索する。
図2関連して上述したように、コンフィギュレーション・データの例は、アクションが取られる前に(
図4及び
図5参照)多くの無視されたハートビートを決定するパラメータ及び承認されたユーザに関する情報を含むが、それらに限定されない。
【0030】
「システム・データを検索する」というブロック206において、プロセス200は、HBGM128がインストールされ及びモニタすることを求められているシステムに関する情報(
図2のブロック184参照)を検索する。その情報は、HBGM128が各モニタされる装置とのコミュニケーション・チャネルを設定することを可能にする情報を含む。この情報は、一般に、その設定されたチャネルを保護する暗号化情報(
図2のブロック186参照)を含む。
【0031】
「接続を設定する」というブロック208において、HBGM128は、ブロック204及び206の期間に検索された情報を使用することにより、LPAR130及び140(
図1)のような各モニタされる装置を用いて安全なコミュニケーション・チャネルを設定する。本明細書の残りにおいて説明の目的で使用される適切な安全な接続の一例は、インターネット・キー交換/インターネット・プロトコル・セキュリティ(IKE/IPSec)カプセル化パケット(ESP)接続/トンネルであるが、コンピューティング技術又は通信技術における当業者は他の適切な技術を知っているであろう。IKEプロトコルは各接続に独特のセッション・キーを設定するので、各モニタされるLPAR130及び140は同じIKEキーを共用し得る。各LPAR130及び140並びにVIOS120(
図1)の間で、独特の事前共用キーを使用することも可能である。1つの実施例では、コミュニケーションを保護するために、初期ハンドシェイクがディフィー・ヘルマン・キー交換(Diffie-Helman)を使用する。
【0032】
「セットアップの問題点があるか」というブロック210において、プロセス200は、ブロック208のチャネル設定活動が成功裡に完了したかどうかを判断する。生じ得るコミュニケーション問題の多くの可能な例の1つは、特定の装置との安全な接続をもたらすことができないことである。問題点の設定が検知される場合、プロセス200は「問題点を解決する」というブロック212に進み、そのブロックにおいて、問題点がプログラム的アクションによって、又はアクションを取るシステム管理者の通知によって、或いはそれら2つの組み合わせによって、対処される。
【0033】
一旦ブロック212においてセットアップの問題点がすべて解決されてしまうと、又はブロック210において問題点が検知されなかったということをプロセス200が判断する場合、制御は、操作プロセス(
図4のプロセス230参照)が実行される「操作プロセスを生成する」というブロック214に進む。一旦操作プロセスが起動されると、この情報の通知が、「HMCに通知する」というブロック216においてHMC104(
図1)に、及びシステム管理者、ログ・ファイル、又はその両方に送られる。最後に、プロセス200は、「HBGMセットアップを終了する」というブロック219に進み、そこでプロセス200は完了する。
【0034】
図4は、
図1及び
図2のHBGM128に対応するHBGM操作プロセス230のフローチャートである。プロセス200(
図3)と同様に、プロセス230に関連するロジックが格納され、HBGM128(
図1及び
図2)の一部としてコンピューティング・システム102(
図1)において実行される。プロセス230は、「HBGM操作を始める」というブロック232において開始し、直ちに「LPARをポーリングする」というブロック234に進む。ブロック234において、プロセス230は、この例では、特定のLPARに対して設定されたIKE/IPsec ESPトンネルを介して信号又は「ハートビート」を送ることにより、LPAR130又は140(
図1)のようなLPARをポーリングする。「応答を待つ」というブロック236において、プロセス230は、ブロック234において送られた信号からの応答を待つ。一般に、ハートビートの送信からの3つの起こり得る結果、即ち、(1)タイムアウト、(2)正しいLPARが応答したことを表わす正しい応答、又は(3)疑わしい応答、がある。
【0035】
ブロック238の「タイムアウトか」において、プロセス230は、ブロック234において送られたハートビートに対する応答がないまま十分な時間が経過したかどうかを判断する。LPAR130又は140のような1つのLPARが他のLPAへの伝送を遮る場合、一般的に、いずれのLPARもハートビートに応答しない。タイムアウトが生じたということをプロセス230が判断する場合、
図5に関連して詳しく後述される転移点「A」に制御が移る。タイムアウトが検知されない場合、制御は「正しい応答か」というブロック240に移り、そのブロック240において、プロセス230は、受信されたハートビートが意図された特定のLPAR130又は140にとって適切であるかどうかを判断する。スプーフィングが生じる場合、例えば、LPAR130が、LPAR140に対して意図されたコミュニケーションを遮る場合、スプーフィングが生じたLPAR140の必要な独特のセッション・キーをスプーフィングLPARが持たないので、LPAR130はハートビートに対して適切に応答することができない。
【0036】
プロセス230が、ブロック234において送られたハートビートに対する正しくない応答又は不適切な応答を検知する場合、制御は、
図6に関連して詳しく後述される転移点「B」に進む。正しいハートビートが受信されたということをプロセス230がブロック240において判断する場合、又は、転移点A及びBに関連した後続の処理が転移点Cを介して完了した場合、プロセス230は「カウントをリセットする」というブロック242に移り、そのブロックにおいて、プロセス230は、ハートビートが送られたLPARに関連するカウント(
図5参照)をリセットする。「次のLPARに進む」というブロック244において、プロセス230は別のLPARを選択し、ブロック234に戻り、処理は上記のように継続する。次のLPARの選択はラウンド・ロビン・スキーム又は別のスキームに基づき得る。例えば、選択は、優先順位スキームに依存し得るし、又は特定のLPARを用いて生じ得る問題点の検知に基づき得る。
【0037】
最後に、プロセス230は、「HBGM操作を終わらせる」というブロック249に制御を渡す非同期割り込み248によって停止させられ、そのブロック249においてプロセス230は完了する。割り込み248は、一般に、プロセス230を一部分とするOS、VIOS、又はHBGMが、システム管理者によって又は電源遮断の状況のために明示的に自己停止させられる。名目上のオペレーションにおいて、プロセス230は、ブロック234、236、238、240、242、及び244を通して連続的にループし、保護された各装置にハートビートを送る。
【0038】
図5は、
図4のHBGM操作プロセス230に関連した例外処理コード250の一例のフローチャートである。処理コード250は転移点A(
図4)において開始し、直ちに「カウントをインクリメントする」というブロック252に進む。ブロック252において、プロセス・コード250は、ハートビートが送られたLPARに関連するカウント・パラメータをインクリメントする。「カウント>閾値か」という ブロック264において、プロセス・コード250は、カウントがプリセットされたパラメータ(
図2のブロック182を参照)を超えたか否かを判断する。パラメータの値は、1つのハートビート欠落の検知時にアクションが取られる必要があるということを表わす「1」に、又はシステムの希望の感度次第で更に大きな値にセットされ得る。カウントが許容し得るカウントを超える場合、制御は、
図6に関連して詳しく後述される転移点B(
図4)に移る。カウントが閾値を越えない場合、制御は転移点C(
図4)に移り、制御はプロセス230(
図4)に戻る。
【0039】
図6は、
図4のHBGM操作プロセス230に関連した例外処理コード260の第2の例に関するフローチャートである。処理コード260は転移点B(
図4)において開始し、直ちに「ハイパーバイザ管理コンソール(HMC)に通知する」というブロック262に進む。ブロック262において、プロセス・コード260は、異常事態が生じたという表示と共にHMC104(
図1)に通知を送る。この時点で、システム管理者は調査することを決定し得る。自動的応答が、「IPsec/ESPハートビート(HB)を準備する」というブロック264において実行を始める。ブロック264において、VIOS120(
図1)がターゲット・システムのためにIPSec/ESPハートビートを準備する。しかし、媒体アクセス制御(MAC)アドレスが、スプーフィングの疑いのある装置のMACアドレスにセットされる。そのMACアドレスはIPSet/ESPパケットの一部ではないので、スプーフィング装置はハートビートに応答することができるであろうが、オリジナル・ターゲットは応答し得ないであろう。換言すれば、送られたハートビートは、そのハートビートがスプーフィング装置によって受信されない場合には機能しないように設計される。勿論、スプーフィング装置はこの決定を行なうことができないであろうし、従って、ハートビートに応答し、アタックを示すであろう。
【0040】
「確認を受信したか」というブロック266において、プロセス・コード260は、ハートビートの確認が受信されたか否かを判断する。その結果が肯定的である場合、制御は、「スプーフィングを通知する」というブロック268に進み、そのブロックにおいて、HMC104は、ブロック262において警告をされたHMC104のスプーフィング・アタックが生じたとして設定されたということをHBGM128(
図1及び
図2)によって通知される。ブロック266の結果が否定的である場合、「スプーフィングがないことを通知する」というブロック270において、HMC104は、ブロック262において送られた警告が解決されたということを通知される。最後に、プロセス・コード260は転移点C(
図4)に進み、制御はプロセス230に戻る。
【0041】
本明細書において使用された用語は、単に特定の実施例を説明するためのものであり、本発明を限定することを意図するものではない。本明細書において使用されるように、単数形の用語は、その文脈が複数形のものでないことを明瞭に表わしていない場合、複数形のものを含むことを意図される。更に、本明細書において使用される「含む」という用語は、述べられた特徴、整数、ステップ、オペレーション、要素、及び/又はコンポーネントの存在を表わすが、1つ又は複数個の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント、及び/又はそれのグループの存在及び追加を妨げるものではない。
【0042】
「特許請求の範囲」に記載されたすべての手段、材料、行為、及び機能に対応する構造体、材料、行為、及び均等物は、そこに記載された要素とは別の要素と結合してその機能を遂行するための任意の構造体、材料、又は行為を含むことを意図される。本発明の記述は、説明を目的として示されているが、開示された形式の発明に尽きること又は限定されることを意図するものではない。本発明の技術的範囲から逸脱することのない多くの修正及び変更が当業者には明らかであろう。実施例は、本発明の原理及び実用的な応用例を最適に説明するために、及び期待される特定の用途に適する様々な修正を伴う様々な実施例に関して当業者が本発明を理解すること可能にするために、選定及び記述された。
【0043】
図面におけるフローチャート及びブロック図は、本発明の様々な実施例に従って、システム、方法、及びコンピュータ・プログラムの可能な実施態様のアーキテクチャ、機能、及びオペレーションを表わす。この点に関して、フローチャート又はブロック図における各ブロックは、指定された論理的機能を具現化するための1つ又は複数個の実行可能な命令を含むモジュール、セグメント、又はコードの部分を表わし得る。或る代替の実施態様では、ブロックに示された機能が図における順序から外れて生じ得るということも留意されたい。例えば、連続して示された2つのブロックが実際にはほぼ同時に実行され得るし、それらのブロックが、関与する機能に依存して逆の順序で実行されることもある。更に、ブロック図及び/又はフローチャートの各ブロック、並びにブロック図及び/又はフローチャートにおけるブロックの組み合わせが、指定された機能又は行為を遂行する特殊目的のハードウェア・ベースのシステムによって、或いは特殊目的のハードウェア及びコンピュータ命令の組み合わせによって具現化され得るということにも留意されたい。