(57)【要約】【課題】異常動作しているプロセスの隔離のためのシステム及び方法を提供する。【解決手段】コンピュータシステムプロセスは、実行している資源に対するプロセスに対して確立された規則に反して作用している場合、隔離場所に移動され、他のプロセスから隔離されて機能し続けることができる。隔離されている間、その隔離されたプロセスは検査され、たとえば修復、規則の変更又は終了等の適当な動作が実行される。分割された隔離された部分は、異常動作しているプロセスの各々のために使用される。【選択図】図１
2007293848.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサにおいてプロセス障害状態を隔離する方法（１０）であって、
前記プロセッサ内において隔離場所を作成すること（１０１）と、
特定のアクティブなプロセスで、あり得る障害状態が存在すると判断すること（１０４）と、
該判断時に、前記隔離場所内に前記特定のアクティブなプロセスを移動させること（１０５）と
を含む方法。
【請求項２】
前記移動させることは、
前記特定のプロセスをアクティブなまま維持すること
を含む
請求項１に記載の方法。
【請求項３】
前記プロセスが前記隔離場所内でアクティブであり続ける間に、前記あり得る障害状態を分析すること
をさらに含む請求項２に記載の方法。
【請求項４】
前記分析することが、前記特定のプロセスに関してあり得る障害状態がもはや存在しないと判断した場合、該特定のプロセスを前記隔離場所内から除去すること
をさらに含む請求項３に記載の方法。
【請求項５】
前記あり得る障害状態を確定するために使用される規則を変更すること
をさらに含む請求項３に記載の方法。
【請求項６】
前記変更することは、前記分析することに基づく
請求項５に記載の方法。
【請求項７】
前記隔離場所にプロセスが移動される時、前記プロセッサ内に第２の隔離場所を作成すること
をさらに含む請求項１に記載の方法。
【請求項８】
第２のアクティブなプロセスで、あり得る障害状態が存在すると判断することと、
該判断時に、前記第２の隔離場所に前記第２のアクティブなプロセスを移動させることと
をさらに含む請求項７に記載の方法。
【請求項９】
前記プロセッサは、少なくとも１つのオペレーティングシステム（ＯＳ）を有し、
前記隔離場所は、特定のＯＳの単一のインスタンス内に作成される
請求項１に記載の方法。
【請求項１０】
プロセッサ（２００）と、
該プロセッサにおいて実行している少なくとも１つのアプリケーション（プロセス１）と、
該アプリケーションに利用可能な、前記プロセッサにおいて実行している複数の資源（資源１）と、
前記資源のうちの任意のもの又は前記アプリケーションのうちの任意のものが不測の挙動で動作している時を判断する手段（１０）と、
不測の挙動で動作していると判断された任意の前記資源又は前記アプリケーションを別個の隔離場所（２０１）に隔離する手段（２１）と
を具備するコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムプロセス制御に関し、特に異常動作しているプロセスの隔離のためのシステム及び方法に関する。
【背景技術】
【０００２】
コンピュータアプリケーションプロセスは、異常動作する場合がある。これは、資源の突然の異常な消費、又は正常なパラメータを超える、資源若しくはファイルに対する不測のアクセス又は変更において明らかにされる可能性がある。コンピュータシステムで実行中の異常動作しているアプリケーションプロセスは、システムで実行している他のアプリケーションの正常な実行に悪影響を及ぼす可能性がある。通常、これは、異常動作していると確定される任意のプロセスを自動的にシャットダウンし、その後、攻撃された／危険に晒された可能性があるシステムを手動で分析し回復することによって処理される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
こうした手法には、プロセスが実際には正しく実行している場合、システムに障害を与える可能性があるという不都合がある。プロセスをオフにするさらなる不都合は、それにより、プロセスが異常動作していた理由を診断することがより困難になるということである。
【０００４】
プロセスの自動シャットダウンに代わる方法は手動シャットダウンである。これは一般に達成するのにはるかに時間がかかり、そのため或る期間システムが脆弱なままになる。
【課題を解決するための手段】
【０００５】
コンピュータシステムプロセスは、そのプロセスに対して（それが実行している資源に対して）確立された規則に反して作用している場合、隔離場所に移動され、他のプロセスから隔離されて機能し続けることができる。隔離されている間、その隔離されたプロセスは検査され、たとえば修復、規則の変更又は終了等の適当な動作が実行される。この文脈では、修復は、異常動作しているプロセスを、異常動作が不測であったとすると、将来その異常動作を停止するように再構成すること、又はアプリケーションの危険に晒されたコピーを危険にさらされていないコピーに置き換える（たとえばウィルス感染したバージョンを感染していないバージョンに置き換える）こと等、多くの形態をとることができる。異常動作しているプロセスの間の汚染を回避するために、異常動作しているプロセスの各々に対して複数の異なる隔離ゾーンが使用される。
【０００６】
本発明がより完全に理解されるために、ここで、添付図面に関連する以下の説明を参照する。
【発明を実施するための最良の形態】
【０００７】
図１は、システムの規則を侵害しているアプリケーションプロセスを識別し隔離する方法の一実施形態１０を示す。本実施形態では、プロセス１〜４等の他のプロセス及び資源１〜８等の他の資源がパーティション２００で実行している間に、１つの隔離場所２０１（図２）が常に事前に作成される。
【０００８】
図２に示すように、この時点では、必要以上にパーティション２００に影響を与えないように、隔離場所２０１には資源は割り当てられていない。未使用であり且つ資源の消費が最小限である隔離場所を事前に作成することにより、問題が検出された時に、未使用の隔離場所に対しシステムから過度の資源負荷がかかることなく、隔離性能を最大限にすることができる。単一のＣＰＵ、システム又はマシンを使用する別個の隔離場所を、オペレーティングシステム（ＯＳ）の複数の異なるインスタンスを作成することにより、且つ／又はＯＳの単一のインスタンスを使用してコンテナ又はパーティションを作成することによって作成することができる。
【０００９】
参照により本明細書に援用される、Dejan S. Milojicic、Fred Douglis、Yves Paindaveine、Richard Wheeler及びSongnian Zhouによる、ACM Computing Surveys, Column 32, No.3, September 2000, pages 241-299 (ISSN 0360-0300)に掲載された論文「Process Migration」は、たとえば、プロセスを過負荷ノードから負荷の少ないノードに移行することによる動的負荷分散、部分障害が発生した可能性のあるノードからプロセスを移行することによる障害許容力、シャットダウンされようとしているか又は他の方法で利用不能とされようとしているノードからプロセスを移行することによる改良されたシステム管理、及びプロセスを何らかのデータのソースのより近くに移行することによるデータアクセス局所性等、さまざまな目的のためのマシン間のプロセスの移行を論じている。
【００１０】
図１に戻ると、ブロック１０２は、たとえばブロック１２０によって維持されるようなプロセステーブルの第１のプロセスに対し規則レビューを設定する。ブロック１０３は、規則の最新バージョンを使用して第１の資源を監視するように、たとえばブロック１２１によって維持されるような規則を設定する。ブロック１０４は、プロセスが、検査されている規則を侵害するか否かを判断する。侵害しない場合、ブロック１０８は、それが規則リストの最後であるか否かを判断する。最後でない場合、ブロック１１０を介して次の規則が設定され、システムは、第１のアプリケーションプロセスに対する規則のすべてが検査されるまで、ブロック１０４、１０８及び１１０を介して反復し続ける。
【００１１】
第１のアプリケーションプロセスに対する規則のすべてが検査されると、ブロック１０９は、それがプロセスリストの最後であるか否かを判断する。最後でない場合、ブロック１１１は次のプロセスを設定し、ブロック１０３、１０４、１０８、１０９は再び、プロセスのすべてに対する規則のすべてが検査されるまで反復する。そして、ブロック１０９によってシステムは再びブロック１０２を介して繰り返す。
【００１２】
任意の時点において、ブロック１０４が、プロセス（たとえばプロセス３）が規則を侵害していると判断する場合、異常動作している（又は異常動作している可能性のある）プロセス３は、パーティション２０１（図３）等の専用パーティションに移動される。こうした目的のために任意の移行システム又は方法を使用することができ、こうした移行技法はほとんどの当業者に既知である。異常動作しているプロセス（又は障害状態）は、意図的である可能性も意図的でない可能性もあり、ウィルス、ワーム等を含む多くの要因によってもたらされる可能性があり、これらの要因は全て、規則によって規定されるようにプロセスを不適当に作動させる。
【００１３】
この時点で、プロセス（たとえばプロセス３）が資源を使用している場合、その資源はパーティション２０１に移行される。そして、これにより、プロセス３はアクティブであり続けることができ、それによりプロセスの観察後に回復処理を講じることができる。これを、管理者が手動で行うことができ、又は管理制御下で自動的に行うことができる。同時に、ブロック１０６は、管理者に対し適当な処置を講じるように通知する。
【００１４】
なお、本実施形態における隔離場所をパーティションで示すが、実際には、隔離場所は主システムから隔離されたセキュリティ及び資源であればよく、ＨＰ、ＩＢＭ等が使用する意味でのパーティションという用語は、単なるあり得るインプリメンテーションの一部である、ということに留意されたい。たとえば、隔離場所を、メインオペレーティングシステムで実行している仮想マシン内でインプリメントすることができる。
【００１５】
管理者は、プロセスが隔離されたことが通知されると、異常動作していると思われるプロセスに対してどう対処すべきかを決定するために、（手動で又は自動で）従来のシステム管理者ツールと同様にセキュリティツール（完全性チェッカ、侵入検出等）を使用して隔離されたプロセスを検査する。そして、管理者は、隔離されたプロセスが正常のプールに戻される場合であってもトリガしないように、資源規則を調整することができ、又は管理者は、フォレンジックを実行しプロセスをシャットダウンすることができ、又は管理者は任意の数の処置を講じることができる。講じることができる回復処置には、アンチウィルスソフトウェアを介するか又はアクティブデータをウィルス駆除されたプロセスに再インストールするとともに移行することによる等、上記プロセスに対しウィルス駆除すること、危険に晒されたコンピュータシステム全体を宣言し災害回復ウィルス駆除手続きを開始すること（コンピュータをクリアし、それを、バックアップメディアから復元され得る汚染されていないバックアップと置き換えること等）、及びプロセスが、プロセスに対し感染ウィルスの性質を確定するためにフォレンジックが実行される間（診断及びウィルス隔離）、外部アクセスを制限されるか又は外部アクセスなしで隔離場所において実行することができるようにすることが含まれる。管理者は多数の選択を有し、本明細書で説明するものは単に可能な選択肢のうちのいくつかである。システムは、システムを再起動することなく規則を更新し、適当な場合は、管理者が選択する場合、異常動作しているプロセスを主パーティションに戻すことができる。
【００１６】
ブロック１０７は、次に検出される異常動作している（又は異常動作している可能性のある）プロセスに備えて、隔離場所３０１（図３）等の代替隔離場所を作成する。異なる隔離場所を維持する理由は、プロセスを、そのプロセスが別のプロセスを感染させる（又は別のプロセスから感染する）危険なしに隔離することができるためである。このように、隔離されたプロセスの各々は、１つのプロセスが実際に異常動作しており、第２のプロセスが規則によって誤診断された場合の相互汚染を防止するために、別々の隔離場所に入れられる。隔離されたプロセスの各々が同じ隔離場所に入れられ、いずれかのプロセスが危険に晒されていることが分かった場合、隔離されたプロセスはすべて感染している可能性があるため、いずれも信頼することができない。単一の隔離場所を使用することにより隔離オーバヘッドが低減するが、最終的に保護が低下する。しかしながら、システムは、望ましい場合は１つの隔離場所のみで作用してもよい。
【００１７】
実施形態１０（図１）では、単一の規則に対してすべてのプロセスが検査されるのではなく、各プロセスに対してすべての資源規則が検査される（規則は内側ループであり、プロセスは外側ループである）。これは設計選択であるが、こうした手続きはプロセススケジューラがプロセスをいかに検査するかに最も自然に適合し、プロセススケジューラの責任においていくつかの別の手続きを追加することしか必要としないため、使用された。ステップの順序及びループのネスト化の変形は同じ発明の概念の一部であるということが理解されるべきである。
【図面の簡単な説明】
【００１８】
【図１】異常動作しているプロセスに対する隔離ゾーンを制御するプロセスの一実施形態を示す図である。
【図２】隔離ゾーンの実施形態を示す図である。
【図３】隔離ゾーンの実施形態を示す図である。
【符号の説明】
【００１９】
２１・・・コントローラ
２２・・・規則
２００・・・実行パーティション
２０１，３０１・・・隔離場所
【図１】
2007293848.tif 000003
【図２】
2007293848.tif 000004
【図３】
2007293848.tif 000005