(57)【要約】【課題】セキュリティ管理支援方法により、分散システムにおける計算機環境のウィルス対策やセキュリティホール対策を自動的に行う。【解決手段】サーバエージェントは、新しいウィルスデータ（または、セキュリティホールデータ）が一つ更新される度に、対処するエージェントを一つ生成する。また、サーバエージェントは、更新サービスから提供されたウィルス情報やセキュリティホール情報を用いて、被害が大きそうな計算機から優先的にエージェントを送る。各計算機では、各エージェントが、ウィルス情報やセキュリティホール情報をもとに優先度を計算を行い、その結果を他のエージェントに通知し、優先度の高いエージェントから処理を実行する。それにより、被害をできるだけ低く抑える。【選択図】  図１
2004178033.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いたセキュリティ管理支援方法であって、
前記コンピュータは、他のコンピュータから、少なくともウイルス管理情報とセキュリテイ管理情報のいずれかを含む情報を受信し、
前記受信した情報にもとづいて、他のコンピュータから受信した複数のエージェントプログラムの実行優先度を決定し、
決定した前記エージェントプログラムの実行優先度にもとづいて、受信した複数の前記エージェントプログラムのうちのいずれかを実行することを特徴とするセキュリティ管理支援方法。
【請求項２】
セキュリティ管理支援プログラムであって、
他のコンピュータから、少なくともウイルス管理情報とセキュリテイ管理情報のいずれか１つを含む情報を受信し、
前記受信した情報にもとづいて、他のコンピュータから受信した複数のエージェントプログラムの適用優先度を決定し、
決定した前記エージェントプログラムの適用優先度にもとづいて、受信した複数の前記エージェントプログラムのうちのいずれかを実行させることを特徴とするセキュリティ管理支援プログラム。
【請求項３】
クライアントコンピュータとサーバコンピュータが接続されたシステムにおけるセキュリティ管理支援方法であって、
前記クライアントコンピュータは、予め記憶装置にインベントリ情報を格納し、
前記サーバコンピュータから、ウィルス情報リスト、セキュリティホール情報リスト、ウィルス駆除プログラムとウィルス予防プログラム、セキュリティパッチのいずれかを含むデータを受信し前記記憶装置に格納し、
格納された前記インベントリ情報にもとづいて、受信した前記データに含まれるウィルス駆除プログラム又はウィルス予防プログラム又はセキュリティパッチのうちいずれかを適用するための優先度を求め、
前記求めた優先度にもとづいて、ウィルス駆除プログラム、ウィルス予防プログラム、セキュリティパッチのいずれかを前記クライアントコンピュータで適用することを特徴とするセキュリティ管理支援方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エージェントを用いたセキュリティ管理支援方法に関するものである。
【０００２】
【従来の技術】
従来、分散システムにおいて、セキュリティホール対策を行うためには、システム管理者が、必要な情報をＷｅｂやベンダから入手し、それをもとに分析し、判断を行い、システム全体の計算機に対して、対策を行っていた。このため、システム管理者にとって、セキュリティホール対策は大きな負担となっていた。
【０００３】
また、ある装置がウィルスに感染していることを検出したときに、感染が検出された装置だけでなく、システム内の他の装置にも自動的にウィルス駆除プログラムを実行させ、システムを感染から守るものもあった（例えば、特許文献１参照）。
【０００４】
しかし、このような従来のシステムは、ウィルスのみを対象としており、セキュリティホール対策も同時に行ってはいなかった。また、被害が大きいと予想されるウィルスやセキュリティホールから早急に対策を行ってはいなかった。このため、ウィルス感染やセキュリティホールにより多額の損害を被る可能性があった。
【０００５】
【特許文献１】
特開平１１−１６１５１７号公報（第２−３頁、第１図）
【０００６】
【発明が解決しようとする課題】
システム管理者にとって、セキュリティホール対策やウィルス対策を行うために必要な情報を分析・判断を行う作業は、負担が大きい。システム管理者やユーザがウィルスやセキュリティホールなどの一つ一つの技術情報を理解して対策方法を考えなくても、エージェントを使って、被害が大きくなりそうな計算機から優先的に対策を行い、被害をできるだけ抑える。
【０００７】
【課題を解決するための手段】
本発明におけるコンピュータを用いたセキュリティ管理支援方法であって、前記コンピュータは、他のコンピュータから、少なくともウイルス管理情報とセキュリテイ管理情報のいずれか１つを含む情報を受信し、前記受信した情報にもとづいて、他のコンピュータから受信した複数のエージェントプログラムの適用優先度を決定し、決定した前記エージェントプログラムの適用優先度にもとづいて、受信した複数の前記エージェントプログラムのうちのいずれかを実行する。
【０００８】
また、本発明は、クライアントにインベントリ情報を持ち、サーバにウィルス情報リストとセキュリティホール情報リストとウィルス駆除プログラムとウィルス予防プログラムとセキュリティパッチを持ち、クライアントのインベントリ情報をもとに、ウィルス駆除プログラムやウィルス予防プログラムやセキュリティパッチを適用するための優先度を求め、ウィルス駆除プログラムやウィルス予防プログラムやセキュリティパッチをクライアントに適用することにより分散システムにおけるセキュリティ管理を行う。
【０００９】
【発明の実施の形態】
本発明の実施の形態を、図面を用いて詳細に説明する。
図１は全体の構成図である。
図１において、データベース１０３、１０９と更新サービス１００と管理サーバ１０４と複数の計算機１１０、１１２、１１３はネットワーク１１５を介して、接続されている。
【００１０】
更新サービス１００は情報提供プログラム１０１とデータベース更新プログラム１０２を含む。また、更新サービス１００のデータベース１０３は、更新サービスから送られるウィルス名登録リスト（詳細を図１０に示す）と更新サービスから送られるセキュリティホールリスト名登録リスト（詳細を図１３に示す）とウィルス検出プログラムとウィルス駆除プログラムとウィルス予防プログラムとセキュリティ検出プログラムとセキュリティパッチを格納している。更新サービス１００は管理サーバ１０４に一定時間おきにデータベース１０３の差分情報を提供する。
【００１１】
管理サーバ１０４は、サーバエージェント１０５と情報受信プログラム１０６とウィルス対策エージェント１０７とセキュリティホール対策エージェント１０８を含んでいる。
【００１２】
データベース１０９は、ウィルス感染リスト（詳細を図３に示す）とウィルス情報リストと更新サービスから送られるウィルス名登録リストとセキュリティホール検出リスト（詳細を図４に示す）とセキュリティホール情報リストと更新サービスから送られるセキュリティホールリスト名登録リストとウィルス検出プログラムとウィルス駆除プログラムとウィルス予防プログラムとセキュリティ検出プログラムとセキュリティパッチと分散システム内のウィルス感染件数リスト（詳細を図５に示す）と分散システム内のセキュリティホール検出件数リスト（詳細を図６に示す）とエージェント別対策済みの計算機チェックリスト（詳細を図１５に示す）を格納している。データベース１０９の全ての情報は、更新サービスから送られてきた差分情報が送られてくる度に更新される。
【００１３】
計算機１１０は、ウィルス対策エージェント１０７とセキュリティホール対策エージェント１０８が移動してきていることを示している。ウィルス対策エージェント１０７は、ウィルス情報リストとウィルス検出プログラム、ウィルス駆除プログラム、ウィルス予防プログラムを運んできていることを示している。セキュリティホール対策エージェント１０８は、セキュリティホール情報リストとセキュリティホール検出プログラム、セキュリティパッチを運んできていることを示している。
【００１４】
また、計算機１１２は、セキュリティホール対策エージェント１０８のクローンエージェントが移動してきていることを示している。
【００１５】
また、計算機１１３は、ウィルス対策エージェント１０７のクローンエージェントが移動してきていることを示している。
また、各計算機のデータ領域にはエージェント実行優先度リスト１１６が格納されている。
【００１６】
図２はウィルス対策エージェント１０７とセキュリティホール対策エージェント１０８とサーバエージェント１０５の構成図である。ウィルス対策エージェント１０７はエージェント優先度情報管理部２００とウィルス情報管理部２０１から構成される。エージェント優先度情報管理部２００は、エージェント別対策済み計算機チェックリスト（詳細を図１５に示す）を管理している。ウィルス情報管理部２０１は、ウィルス情報リストとウィルス診断履歴リスト（詳細を図１１に示す）とウィルス検出プログラムとウィルス駆除プログラムとウィルス予防プログラムとウィルス感染リストを管理している。
【００１７】
セキュリティホール対策エージェント１０８はエージェント優先度情報管理部２０２とセキュリティホール情報管理部２０３から構成される。エージェント優先度情報管理部２０２は、エージェント別対策済み計算機チェックリストを管理している。セキュリティホール情報管理部２０３は、更新サービスから送られるセキュリティホール情報リストとセキュリティホール検出リストとパッチ適用診断履歴リストとセキュリティホール検出プログラムとセキュリティパッチを管理し、最新の情報を一定時間おきに提供している。
【００１８】
サーバエージェント１０５は、エージェント管理部２０４を持つ。エージェント管理部２０４でウィルス対策エージェント１０７、セキュリティホール対策エージェント１０８を生成するプログラムである。更新サービス１００から新しい情報が届く度に、管理サーバにおいてサーバエージェント１０５が新しく作成される。エージェント管理部２０４は、最新のウィルス名登録リストを参照し、新しいウィルスデータが１つ登録される度に、ウィルス対策エージェント１０７を１つ生成する。次に、最新のセキュリティホール名登録リストを参照し、新しいセキュリティホールデータが１つ登録される度に、セキュリティホール対策エージェント１０８を１つ生成する。サーバエージェント１０５は、エージェント管理部２０４でウィルス対策エージェント１０７やセキュリティホール対策エージェント１０８を生成する際に、データベース１０９から各エージェントが必要なプログラムを取得し、エージェントに持たせる。エージェント管理部２０４は、ウィルス対策エージェント１０７やセキュリティホール対策エージェント１０８を送信する。
【００１９】
図３のウィルス感染リストでは、分散システム内の各計算機が各ウィルスに対して感染しているか否かの情報を管理している。
【００２０】
図４のセキュリティホール検出リストは、分散システム内の各計算機において、各セキュリティホールが検出されたか否かの情報を管理している。
【００２１】
図５の分散システム内のウィルス感染件数リストは、各ウィルスに感染している分散システム内の計算機数の情報を管理している。このリストは、ウィルス対策エージェント１０７が分散システム内の計算機に移動し、ウィルス検出プログラムを使った結果を集計したものである。各ウィルス対策エージェント１０７の親エージェントが登録する。
【００２２】
図６の分散システム内のセキュリティホール検出件数リストは、各セキュリティホールが検出された分散システム内の計算機数の情報を管理している。このリストは、セキュリティホール対策エージェント１０８が分散システム内の計算機に移動し、セキュリティホール検出プログラムを使った結果を集計したものである。各セキュリティホール対策エージェント１０８の親エージェントが登録する。
【００２３】
図７のエージェント実行優先度リストは、エージェントＩＤと、エージェントの優先度を管理している。エージェント実行優先度リストは、各計算機がデータ格納領域に所持している。エージェントが移動先の計算機において処理を行う際に、他のクローンエージェントから優先度通知があった場合、相手のエージェントＩＤと優先度をエージェント実行優先度リストに登録する。
エージェントＩＤは、エージェントが作成されたときにつけられる。
【００２４】
図８は、エージェントが他のエージェントに優先度を通知する際のパケット情報を示している。パケット情報として、エージェントＩＤと優先度を持っている。
【００２５】
図９のウィルス情報リストは、作成日付、更新日付、ウィルスの危険度情報、世の中で報告されたウィルス感染の被害件数、検出プログラム名、駆除プログラム名、予防プログラム名が載っている。ウィルス情報リストには、更新サービスから送られるウィルス名登録リスト（詳細を図１０に示す）の差分情報を登録する。サーバエージェント１０５が、ウィルス対策エージェント１０７を生成する際に参照する。
【００２６】
図１０の更新サービスから送られるウィルス名登録リストには、日付とウィルス名が登録された情報を管理している。更新サービスから送られてくるウィルス名登録リストは、一定時間おきに更新サービスから送られる。
【００２７】
図１１のウィルス診断履歴リストは、計算機名とウィルス名と日付を管理している。ウィルス診断履歴リストは、各計算機でいつ、どのウィルスを診断したかという情報を載せており、ウィルス対策エージェントが処理を終えた後に登録する。
【００２８】
図１２のセキュリティホール情報リストは、作成日付、更新日時、セキュリティホール名、危険度、検出プログラム名、セキュリティパッチ名、包含パッチ名、前提パッチ名を管理している。セキュリティホール情報リストには、更新サービスから送られるセキュリティホール名登録リスト（詳細を図１３に示す）の差分情報を登録する。サーバエージェントが、セキュリティホール対策エージェントを生成する際に参照する。
【００２９】
図１３の更新サービスから送られるセキュリティホール名登録リストには、日付とセキュリティホール名、危険度、検出プログラム名、セキュリティパッチ名、包含パッチ名、前提パッチ名が登録されている。更新サービスから送られてくるセキュリティホール名登録リストは、一定時間おきに更新サービスから管理サーバに送られる。
【００３０】
図１４のパッチ適用診断診断履歴リストは、計算機名と日付とセキュリティパッチ名を管理している。パッチ適用診断履歴リストは、各計算機でいつ、どのセキュリティパッチを当てたかという情報を載せており、セキュリティホール対策エージェントが処理を終えた後に登録する。
【００３１】
図１５のエージェント別対策済み計算機チェックリストには、エージェントＩＤと計算機名とシステム種別とチェックの有無が管理されている。エージェント別対策済み計算機チェックリストは各エージェントが分散システム内の各計算機を対処したかどうかをチェックする。
【００３２】
図１６は、ウィルス対策エージェント１０７またはセキュリティホール対策エージェント１０８がクローンエージェントを作成し、エージェント優先度を計算するフローである。サーバエージェント１０５は、最新のウィルス名登録リスト、または最新のセキュリティホール名登録リストが更新サービスによって更新されるたびに新しいウィルスにつき一つ、または、新しいセキュリティホールにつき一つ親エージェントを生成する（ステップ１６００）。次に、親エージェントに起動通知を出す（ステップ１６０１）。
【００３３】
次に親エージェントはクローンエージェントの作成を行う（ステップ１６０２）（詳細を、図２９に示す）。次に親エージェントは、各クローンエージェントに移動通知を出す（ステップ１６０２）。次に各クローンエージェントは、自分の担当する計算機に移動する（ステップ１６０３）。移動後、クローンエージェントは、ウィルス検出処理（親エージェントがウィルス対策エージェントの場合）、または、セキュリティホール検出処理（親エージェントが、セキュリティホール対策エージェントの場合）を行う（ステップ１６０５）。次に、クローンエージェントは、ウィルス検索処理結果（親エージェントがウィルス対策エージェントの場合）または、セキュリティホール検出処理結果（親エージェントがウィルス対策エージェントの場合）を親エージェントに通知する（ステップ１６０６）。
【００３４】
親エージェントがウィルス対策エージェントの場合は、分散システム内のウィルス感染件数リストにウィルス感染件数を登録する。同様に、セキュリティホール対策エージェントの場合の親エージェントは、分散システム内のセキュリティホール感染件数リストにセキュリティホール検出件数を登録する。次に親エージェントは、エージェント優先度計算（ステップ１６０７）を行う。
【００３５】
（ウィルス対策エージェントの場合の一例）
ウィルス対策エージェントの危険度をＤ１とする（ウィルス情報リストの危険度参照）。危険度は５段階である。数字が大きいほど危険度は高い。また、分散システム内の計算機においてウィルスに感染した計算機の数をＣ１とする（分散システム内のウィルス感染件数リストの感染件数参照）。また、分散システム内の全計算機の数をＡとする。
【００３６】
親エージェントは、Ｄ１、Ｃ１、Ａの値を優先度算出式（数１）に代入し、優先度Ｐを計算する。
【００３７】
【数１】
Ｐ  ＝  Ｄ１×｛１＋（Ｃ１）／Ａ｝
Ｐ：  優先度
Ｄ１：  危険度
Ｃ１：  ウィルス感染した計算機の数
Ａ：  全計算機の数
（セキュリティホール対策エージェントの場合の一例）
セキュリティホール対策エージェントの危険度をＤ２とする（セキュリティホール情報リストの危険度参照）。危険度は５段階である。数字が大きいほど危険度も高い。また、分散システム内の計算機においてセキュリティホールが検出された計算機の数をＣ２とする（分散システム内のセキュリティホール検出件数リストの検出件数参照）。また、分散システム内の全計算機の数をＡとする。
【００３８】
親エージェントは、Ｄ２、Ｃ２、Ａの値を優先度算出式（数２）に代入し、優先度Ｐを計算する。優先度は数字が大きいほど優先度が高い。
【００３９】
【数２】
Ｐ  ＝  Ｄ２×｛１＋（Ｃ２）／Ａ｝
Ｐ：  優先度
Ｄ２：  危険度
Ｃ２：  セキュリティホールが検出された計算機の数
Ａ：  全計算機の数
親エージェントは、エージェント優先度計算の結果を、各クローンエージェントに通知する（ステップ１６０８）。その後、クローンエージェントは、処理１（ウィルス対策エージェントの場合）または、処理２（セキュリティホール対策エージェントの場合）を行う。
【００４０】
図１７は、各計算機に送られたクローンエージェント（図１７の説明において、エージェントと略す）がウィルス対策または、セキュリティホール対策を行う際に、他のエージェントによってエージェント優先度を通知された場合のフローを示している。ある計算機にエージェント１（１７００）、エージェント２（１７０１）、エージェント３（１７０２）という順番で到着した例である。エージェント１は到着（ステップ１７０３）後、自分のエージェントＩＤと優先度を他のエージェントに通知する（ステップ１７１５）。
【００４１】
しかし、この例では、他にエージェントがいないので、他エージェントからの通知がこない。エージェント１の優先度は１．３６２とする。通知後、処理を始める（ステップ１７１６）。エージェントは、優先度に応じて処理を進めることができる方式をとる。優先度が高ければ、早く進めることができるし、優先度が低ければ、処理を進めるのは遅くなる。これを実現するためには、一例としてタイマー処理を使う。優先度に応じて優先度が高いほど、処理の間に入る一定時間おきのスリープ処理が短いものとする。
【００４２】
次にエージェント２が到着する（ステップ１７０４）。到着後、他のエージェントに自分のエージェントＩＤと優先度を他のエージェントに通知する（ステップ１７０５）。エージェント２の優先度は０．０４２とする。通知後、エージェント２は処理を始める（ステップ１７０６）。エージェント１は、エージェント実行優先度リストにエージェント２のエージェントＩＤと優先度を登録する。そして、優先度を比較する。しかし、エージェント１の優先度が高かったのでエージェント２に処理の中断通知を出す（ステップ１７０７）。
【００４３】
次にエージェント３が、到着する（ステップ１７０８）。到着後、他のエージェントに自分のエージェントＩＤと優先度を他のエージェントに通知する（ステップ１７０９、１７１０）。エージェント３の優先度は０．０９７とする。通知後、エージェント３は処理を始める（ステップ１７１１）。エージェント１とエージェント２は、エージェント実行優先度リストにエージェント３のエージェントＩＤと優先度を登録する。そして、優先度を比較する。しかし、エージェント１の優先度が高かったのでエージェント３に処理の中断通知を出す（ステップ１７１２）。
【００４４】
エージェント１が処理を終了すると、エージェント実行優先度リストを参照し、自分の次に優先度の高いエージェント３に実行通知を出す（ステップ１７１３）。エージェント３は、処理を再開する（ステップ１７１４）。
【００４５】
優先度は、更新サービスからウィルス名登録リストまたは、セキュリティホール名登録リストが届く度に変わる。これは、更新サービスから情報を受け取ったサーバエージェントが親エージェントに通知し、親エージェントは各クローンエージェントに通知され、ウィルス情報リストや更新サービスから送られるウィルス名登録リストの情報が更新されるからである。更新される度に、各エージェントは、優先度を再度計算し、他のエージェントに通知し、処理を中断していたエージェントも処理を再開する。その後の処理は、上述と同様である。
【００４６】
このように、受信したウイルス名登録リストやセキュリティホール名登録リストの内容と受信したタイミングに応じて優先度を変更することにより、コンピュータの環境およびネットワークの状況などに応じたセキュリティ対策が可能となる。
【００４７】
図１８は更新サービスによりウィルス情報リストまたはセキュリティホール情報リストが更新されたとき、クローンエージェントを作成する前までのフローである。
【００４８】
まず、更新サービスから、最新のウィルス名登録リストまたはセキュリティホールリスト名登録リストが更新される（ステップ１８００）。次に更新されたリストは、ウィルス名登録リストまたは、セキュリティホールリスト名登録リストのどちらかを判定する（ステップ１８０１）。
【００４９】
もしウィルス名登録リストのデータが更新されていたら、クローンエージェントを作成する（ステップ１８０２）（詳細を図２９に示す）。次に処理１（詳細を図１９に示す）に続く。また、セキュリティホールリスト名登録リストが更新された（ステップ１８０１）場合も同様に、クローンエージェントを生成（ステップ１８０３）し、処理２（詳細を図２４に示す）に続く。
【００５０】
図１９はクローンエージェントによるウィルス対策のフローである。クローンエージェントが移動する（ステップ１９００）。次にエージェント実行優先度リストにエージェントＩＤと優先度を登録する（ステップ１９０１）。実行順番がくるのを待つ（ステップ１９０２）。次にウィルス検出プログラムを実行する（ステップ１９０３）。次にウィルス検索結果を親エージェントに通知する（ステップ１９０４）。通知結果から対象計算機がウィルスに感染しているか否かを判別し（ステップ１９０５）、もし、ウィルスに感染していないなら処理３（詳細を図２０に示す）に行く。
【００５１】
もし、対象計算機が、ウィルスに感染しているなら、親エージェントは、エージェント優先度を計算し、各クローンエージェントに通知する（ステップ１９０６）。次に、クローンエージェントは、ウィルス情報リストを検索し、必要なウィルス駆除プログラムを自分が所持しているかどうかを調べる（ステップ１９０７）。次にウィルス駆除プログラムがあるかないかを判別する（ステップ１９０８）。もしない場合なら処理５（詳細を図２２に示す）へ行き、もしある場合は処理６（詳細を図２３に示す）へ行く。
【００５２】
図２０はウィルス予防プログラム実行のフローである。まず、ウィルス情報リストを検索し、ウィルス予防プログラムを所持しているかどうかを調べる（ステップ２０００）。もし、ウィルス予防プログラムを所持している場合は、処理６（詳細を図２３に示す）に行く。所持していない場合は、スリープする（ステップ２００１）。親エージェントが更新サーバからウィルス駆除プログラムを取得すると（ステップ２００２）、クローンエージェントを新しく生成し（ステップ２００３）、対象ホストに送信する（ステップ２００４）。
【００５３】
親エージェントは、古いクローンエージェントに消滅通知を出す（ステップ２００５）。消滅通知を受け取った古いクローンエージェントは、消滅通知を受け取る直前まで行っていた処理情報を計算機上のデータ格納部に残しておく。次に処理６（図２３）へ行く。
【００５４】
図２１は、他のエージェントにより、優先度の通知があった場合の処理を示すフローである。まず、自分の優先度と他のエージェントの優先度を比較し、同じであるか判定する（ステップ２１００）。同じであれば処理１１（詳細を図３０に示す）にいく。次に、同じでない場合は、自分の優先度と他のエージェントの優先度を再度比較する（ステップ２１０１）。もし自分の優先度が他のエージェントの優先度より高ければ、通知してきたエージェントに処理の中断するよう通知を出す（ステップ２１０２）。次に処理が終了しているかを調べる（ステップ２１０３）。
【００５５】
もし、終了しているならば、エージェント実行優先度リストから自分のエージェントＩＤを削除する（ステップ２１０４）。次にエージェント実行優先度リストから最も高いエージェントを探し、実行通知を出す（ステップ２１０５）。また、ステップ２１０１において自分の優先度の方が低いと判定されたとき、処理を中断する（ステップ２１０６）。次に実行通知があるか判定する（ステップ２１０７）。実行通知がなければこの判定処理を反復する。実行通知があれば中断していた処理を再開する（ステップ２１０８）。次に他のエージェントによる通知がないか判定する（ステップ２１０９）。通知があればステップ２１００に行く。通知がなければステップ２１０３に行く。
【００５６】
またステップ２１０３の処理終了判定において、処理が終了してなければ、ステップ２１０９に行く。
【００５７】
図２２は、ウィルス駆除対策をした後、分散システム内に、まだウィルス駆除対策を行っていない計算機がある場合の処理のフローである。最初、クローンエージェントはスリープ状態である（ステップ２２００）。親エージェントが更新サーバからウィルス駆除プログラムを取得すると（ステップ２２０１）、クローンエージェントを新しく、生成し（ステップ２２０２）、対象ホストに送信する（ステップ２２０３）。親エージェントは、古いクローンエージェントに消滅通知を出す（ステップ２２０４）。消滅通知を受け取った古いクローンエージェントは、消滅通知を受け取る直前まで行っていた処理情報を計算機上のデータ格納部に残しておく。次に処理６（図２３）へ行く。
【００５８】
図２３は、クローンエージェントがウィルス駆除処理またはウィルス予防処理がまだ行われていない計算機に移動するか消滅するフローである。まず実行順序が回ってきたら（ステップ２３００）、適用するプログラムを実行する（ステップ２３０１）。このとき、古いクローンエージェントが以前に存在していた場合は、古いクローンエージェントが残した処理情報を先に計算機上のデータ格納部から取り出し、それを参照して処理を行う。次に他のクローンエージェントによるエージェント優先度の通知の有無を判定する（ステップ２３０２）。エージェント優先度の通知がある場合は、処理４へ行く（詳細を図２１に示す）。通知がない場合は、処理を続け、終了する（ステップ２３０３）。
【００５９】
次に、クローンエージェントは親エージェントに処理終了通知を出す（ステップ２３０４）。次に親エージェントによりウィルス対策がまだ行われていない計算機があるかどうかをエージェント別対策済み計算機チェックリストを検索し（ステップ２３０５）、なければ消滅（ステップ２３０６）する。ある場合は、親エージェントに未対処計算機を指定してもらい、移動する（ステップ２３０７）。
【００６０】
図２４は、セキュリティホール対策のフローである。まずクローンエージェントは、対象計算機に移動する（ステップ２４００）。次にエージェント実行優先度リストにエージェントＩＤと優先度を登録する（ステップ２４０１）。次に、セキュリティホール検出プログラムを実行する（ステップ２４０２）。次にセキュリティホール検出結果を親エージェントに通知する（ステップ２４０３）。次に、セキュリティホールが検出されたかどうかを判別する（ステップ２４０４）。セキュリティホールが検出された場合、親エージェントはクローンエージェントにエージェント優先度結果を通知する（ステップ２４０５）。
【００６１】
次に必要なセキュリティパッチを所持しているか調べる（ステップ２４０６）。セキュリティパッチを所持しているかどうかを判別し（ステップ２４０７）、もしセキュリティパッチがなければ、処理７（詳細を図２５に示す）へ行く。セキュリティパッチがあれば処理８（詳細を図２６に示す）に行く。また、他の親エージェントによるエージェント優先度通知があれば処理４（図２１）にいく。また、セキュリティホールが検出されなかった場合、クローンエージェントは、親エージェントに対して処理終了通知を出す（ステップ２４０８）。
【００６２】
次にまだ対策していない計算機があるか否かを確認する（ステップ２４０９）。もしあれば、その計算機に移動する（ステップ２４１１）。もしなければ、消滅してもよいし（ステップ２４１０）、スリープ状態に入ってもよい。
【００６３】
図２５は、セキュリティホール対策エージェントのクローンエージェントがセキュリティパッチを所持していないときのフローである。最初、クローンエージェントは、スリープ状態である（ステップ２５００）。親エージェントが、セキュリティパッチを取得したら（ステップ２５０１）、それが新規パッチであるか（ステップ２５０２）を判別する。セキュリティパッチが無いときは、スリープし続ける。
【００６４】
新規パッチではない場合、処理９（詳細を図２７に示す）に行く。新規パッチである場合は、処理１０（詳細は図２８に示す）に行く。処理９または処理１０が終了後、親エージェントは、クローンエージェントを生成する（ステップ２５０３）。次に、生成したクローンエージェントを対象計算機に送信する（ステップ２５０４）。次に親エージェントは、古いクローンエージェントに消滅通知を行う（ステップ２５０５）。実行順序が回ってくると（ステップ２５０６）、古いクローンエージェントが残した情報データを参照し、パッチ適用処理を実行する（ステップ２５０７）。他のクローンエージェントからのエージェント優先度通知の有無を調べる（ステップ２５０８）。
【００６５】
もしエージェント優先度通知があれば、処理４（詳細を図２１に示す）に行く。もしなければ、セキュリティホール情報リストにあるパッチ適用情報のパッチ実行形式に従って、パッチ適用処理を行う。次に、パッチ適用処理が成功したかどうかを調査する（ステップ２５０９）。もし成功していれば、クローンエージェントは、親エージェントに対して終了通知を行う（ステップ２５１０）。
【００６６】
次にエージェントは、分散システム内に未対処計算機があるかどうかを確認し（ステップ２５１１）、あれば移動する（ステップ２５１２）。未対処計算機がなければ消滅する。また、パッチ適用処理が失敗した場合、ロールバック処理を行う（２５１３）。次にパッチ適用処理が失敗し、ロールバックを行ったことをセキュリティホール情報リストに登録し、ユーザにダイアログで通知する（ステップ２６１４）。最後にクローンエージェントは消滅する（ステップ２６１５）。
【００６７】
図２６はセキュリティホール対策エージェントのクローンエージェントがセキュリティパッチを所持している場合の処理フローである。まずセキュリティパッチが新規パッチであるかどうかを確認する（ステップ２６００）。新規パッチである場合は処理１０（詳細を図２８に示す）に行く。従来パッチであるときは、処理９（詳細を図２７に示す）に行く。処理９または処理１０が終了後、セキュリティホール情報リストにある包含パッチ情報や前提パッチ情報（以下、パッチ適用情報と称す）に従って、パッチ適用処理を行う（ステップ２６０１）。
【００６８】
次に、パッチ適用処理が成功したかどうかを調べる（ステップ２６０２）。もし成功していれば、クローンエージェントは、親エージェントに対して終了通知を行う（ステップ２６０３）。次にエージェントは、分散システム内にまだ対策していない計算機があるかどうかを確認し（ステップ２６０４）、あれば移動する（ステップ２６０５）。まだ対策していない計算機がなければ消滅する。また、パッチ適用処理が失敗したならば、ロールバック処理（ステップ２６０６）を行う。次にパッチ適用処理が失敗し、ロールバックを行ったことをセキュリティホール情報リストに登録し、ユーザにダイアログで通知する（ステップ２６０７）。最後にクローンエージェントは消滅する（ステップ２６０８）。
【００６９】
図２７は、既存のセキュリティパッチを適用するフローである。まず、セキュリティーホール情報リストのパッチ適用情報（包含パッチ、前提パッチ）を検索する（ステップ２７００）。次に、パッチ適用情報にあるかどうかを確認する（ステップ２７０１）。もしあれば終了である。パッチ適用情報に登録済みでなければ登録する（ステップ２７０２）。次にパッチ適用情報の排他条件を検索する（ステップ２７０３）。
【００７０】
次に、パッチが適用可能であるかどうかを確認する（ステップ２７０４）。もしパッチ適用が可能でないときは、終了する。もしパッチ適用が可能なとき（ステップ２７０４）は、包含関係検索処理を行う（ステップ２７０５）。包含関係検索処理は、公知例を用いる。包含関係検索処理が終了後、前後関係検索処理（ステップ２７０６）を行う。前後関係検索処理は公知例を用いる。
【００７１】
図２８は、新規のセキュリティパッチを適用するフローである。まず、計算機内のインベントリ情報を調べ（ステップ２８００）、パッチ適用が可能かどうかを調べる（ステップ２８０１）。可能でなければ終了し、可能であればパッチ適用情報をセキュリティホール情報リストの包含パッチ名または、前提パッチ名に登録（ステップ２８０２）する。次に前後関係を検索する（ステップ２８０４）。最後に未適用の前提パッチおよび事後パッチを反映したパッチ適用情報をセキュリティホール情報リストのパッチ適用情報に登録する（ステップ２８０４）。
【００７２】
図２９はクローンエージェントの作成のフローである。まず、親エージェントはサーバエージェントから起動通知を受ける。（ステップ２９００）。次に分散システム内の計算機の数が何台あるか調べる（ステップ２９０１）。分散システム内にある計算機の数分だけ、エージェントを作成する（ステップ２９０２）。
【００７３】
図３０は、エージェントの優先度比較処理のフローである。まず、自分が、ウィルス対策エージェントであるかを判定する（ステップ３０００）。もし、ウィルス対策エージェントであった場合、通信相手がウィルス対策エージェントであるかどうかを判定する（ステップ３００１）。もし、自分がセキュリティホール対策エージェントであった場合、図２１の処理４−１へいく。
もし、相手がウィルス対策エージェントであったとき、通信相手にウィルス感染件数の増加率を問合せる（ステップ３００２）。
【００７４】
ウィルス感染件数の増加率は、前回取得分のウィルス情報リストの感染件数と今回取得分のウィルス情報リストの感染件数から計算する。同様に、自分のウィルス感染件数の増加率を計算する（ステップ３００３）。次に通信相手のウィルス感染件数の増加率と自分のウィルス感染件数の増加率を比較する（ステップ３００４）。
【００７５】
次にウィルス感染件数の増加率は等しいかどうかを判定する（ステップ３００５）。もし等しければ図２１の処理４−１にいく。
もし等しくなければ増加率は自分の方が大きいかどうかを判定する（ステップ３００６）。もし大きければ、図２１の処理４−１にいく。もし小さければ、図２１の処理４−２にいく。また、ステップ３００１において相手がセキュリティホール対策エージェントであった場合、図２１の処理４−２にいく。
【００７６】
この例では、セキュリティホール対策エージェントを優先しているが、ウィルス対策エージェントを優先する方法も考えられる。また、システム管理者が、ウィルス対策エージェントを優先したいのであれば、ウィルス対策エージェントの優先度を高くするよう設定できる方法も考えられる。
【００７７】
このように、本発明によれば、システム管理者が、セキュリティホール対策やウィルス対策を行うために必要な情報を入手・分析・判断を行う負担が少なくなり、セキュリティホール対策やウィルス対策が疎かになることがなくなる。また、システム管理者が被害の出そうな計算機を探して、急いで修復する必要がなくなる。
【００７８】
また、本発明は、セキュリティホールなどひとつひとつの技術的対策を、エージェントを使って自動的に行い、セキュリティ管理支援をするものである。また、エージェントが自律的にウィルスの流行の兆候を検知して比較的被害が大きくなるであろうものを優先的にセキュリティ対策をするものである。これにより、コンピュータやネットワークの環境整備のためにかかる労力や時間を節約することができる。
【００７９】
【発明の効果】
本発明の方法を用いてセキュリティホール対策やウィルス対策を行うことにより、システム管理者がコンピュータやネットワークの環境の整備のために必要な情報を入手するための手間を減らし、分析や判断を行うための労力を軽減することができる。
【図面の簡単な説明】
【図１】本発明における一実施例である。セキュリティ管理支援方法の全体構成を示すものである。
【図２】対策エージェントとセキュリティホール対策エージェントとサーバエージェントの構成を示すものである。
【図３】ウィルス情報リストのデータの一例である。
【図４】セキュリティホール検出リストのデータの一例である。
【図５】分散システム内のウィルス感染件数リストのデータの一例である。
【図６】分散システム内のセキュリティホール検出件数リストのデータの一例である。
【図７】エージェント実行優先度リストのデータの一例である。
【図８】エージェントが他のエージェントに優先度を通知する際のパケット情報である。
【図９】ウィルス情報リストのデータの一例である。
【図１０】更新サービスから送られるウィルス名登録リストのデータの一例である。
【図１１】ウィルス診断履歴リストのデータの一例である。
【図１２】セキュリティホール情報リストの一例である。
【図１３】最新のセキュリティホール名登録リストのデータの一例である。
【図１４】パッチ適用診断履歴リストの一例である。
【図１５】エージェント別対策済み計算機チェックリストのデータの一例である。
【図１６】ウィルス対策エージェント１０７またはセキュリティホール対策エージェント１０８がクローンエージェントを作成し、エージェント優先度を計算するフローである。
【図１７】クローンエージェントがウィルス対策または、セキュリティホール対策を行う際に、他のエージェントによってエージェント優先度を通知された場合のフローである。
【図１８】更新サービスによりウィルス情報リストまたはセキュリティホール情報リストが更新されたとき、クローンエージェントを作成する前までのフローである。
【図１９】クローンエージェントによるウィルス対策のフローである。
【図２０】ウィルス予防プログラム実行のフローである。
【図２１】他のエージェントにより、優先度の通知があった場合の処理を示すフローである。
【図２２】ウィルス駆除対策をした後、分散システム内に、まだウィルス駆除対策を行っていない計算機がある場合の処理のフローである
【図２３】クローンエージェントが消滅するかウィルス駆除処理がまだ行われていない計算機に移動するフローである。
【図２４】セキュリティホール対策のフローである。
【図２５】セキュリティホール対策エージェントのクローンエージェントがセキュリティパッチを所持していないときのフローである。
【図２６】セキュリティホール対策エージェントのクローンエージェントがセキュリティパッチを所持している場合の処理フローである。
【図２７】既存のセキュリティパッチを適用するフローである。
【図２８】新規のセキュリティパッチを適用するフローである。
【図２９】クローンエージェントの作成のフローである。
【図３０】エージェントの優先度比較処理のフローである。
【符号の説明】
１００  計算機（更新サービス）
１０１  情報提供プログラム
１０２  データベース更新プログラム
１０３  データベース
１０４  計算機（管理サーバ）
１０５  サーバエージェント
１０６  情報受信プログラム
１０７  ウィルス対策エージェント
１０８  セキュリティホール対策エージェント
１０９  データベース
１１０  計算機（クライアント）
１１１  ウィルス対策エージェントの管理するプログラムまたはリスト
１１２  計算機（クライアント）
１１３  計算機（クライアント）
１１４  セキュリティ対策エージェントの管理するプログラムまたはリスト
１１５  ネットワーク
１１６  エージェント実行優先度リスト
２００  エージェント優先度情報管理部
２０１  ウィルス情報管理部
２０２  エージェント優先度情報管理部
２０３  セキュリティホール情報管理部
２０４  エージェント管理部
【図１】
2004178033.tif 000003
【図２】
2004178033.tif 000004
【図３】
2004178033.tif 000005
【図４】
2004178033.tif 000006
【図５】
2004178033.tif 000007
【図６】
2004178033.tif 000008
【図７】
2004178033.tif 000009
【図８】
2004178033.tif 000010
【図９】
2004178033.tif 000011
【図１０】
2004178033.tif 000012
【図１１】
2004178033.tif 000013
【図１２】
2004178033.tif 000014
【図１３】
2004178033.tif 000015
【図１４】
2004178033.tif 000016
【図１５】
2004178033.tif 000017
【図１６】
2004178033.tif 000018
【図１７】
2004178033.tif 000019
【図１８】
2004178033.tif 000020
【図１９】
2004178033.tif 000021
【図２０】
2004178033.tif 000022
【図２１】
2004178033.tif 000023
【図２２】
2004178033.tif 000024
【図２３】
2004178033.tif 000025
【図２４】
2004178033.tif 000026
【図２５】
2004178033.tif 000027
【図２６】
2004178033.tif 000028
【図２７】
2004178033.tif 000029
【図２８】
2004178033.tif 000030
【図２９】
2004178033.tif 000031
【図３０】
2004178033.tif 000032