(57)【要約】【課題】情報処理装置が不正なプログラムを保持している場合であっても、不正なプログラムの実行や転送を防止する。【解決手段】情報処理装置は、実行要求監視部と、ダウンロード要求監視部と、ユーザ名取得部と、ハッシュ値算出部と、実行制御部と、制御するダウンロード制御部と、実行制御ポリシーと、ダウンロード制御ポリシーとを備える。実行制御部およびダウンロード制御部は、プログラム名と、プログラムのハッシュ値と、ユーザ名とに関して規定された実行制御ポリシーおよびダウンロード制御ポリシーに基づいてプログラムの実行およびダウンロードを制御する。【選択図】　図２
2004013608.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が備えるプログラムの実行を制御するプログラム実行制御装置であって、
前記プログラムの実行要求の発行を監視するとともに、該プログラムのプログラム名を取得する実行要求監視部と、
前記プログラムのハッシュ値を算出する算出部と、
前記プログラム名および前記ハッシュ値に関し、前記実行要求を許可するか否かの判断基準を示す実行制御規則を保持する実行制御規則保持部と、
前記実行制御規則に基づいて、前記実行要求を許可するか否かを判断し、前記プログラムの実行を制御する実行制御部と、
を備えるプログラム実行制御装置。
【請求項２】
請求項１記載のプログラム実行制御装置であって、更に、
前記実行要求を発行したユーザのユーザ名を取得するユーザ名取得部を備え、前記実行制御規則保持部は、更に、前記ユーザ名に関し、前記実行制御規則を保持する、
プログラム実行制御装置。
【請求項３】
請求項１記載のプログラム実行制御装置であって、更に、
前記実行制御部の制御結果を記録する実行制御記録部を備える、
プログラム実行制御装置。
【請求項４】
情報処理装置が備えるプログラムの実行を制御するプログラム実行制御装置であって、
前記プログラムを実行するための第１の情報処理部と、
前記プログラムの実行に関与しない第２の情報処理部と、
前記第１の情報処理部と前記第２の情報処理部との間でのデータ通信を行うための通信処理部と、を備え、
前記第１の情報処理部は、
前記プログラムの実行要求の発行を監視する実行要求監視部を備えており、
前記第２の情報処理部は、
前記実行要求を許可するか否かの判断基準を示す実行制御規則を保持する実行制御規則保持部と、
前記実行制御規則に基づいて、前記実行要求を許可するか否かを判断し、前記プログラムの実行を制御する実行制御部と、を備える、
プログラム実行制御装置。
【請求項５】
請求項１または４記載のプログラム実行制御装置であって、更に、
所定のプログラムの取得に併せて、前記実行制御規則に追加すべき情報を、外部から取得するプログラム取得部と、
該情報に基づく前記実行制御規則を前記実行制御規則保持部に追加する実行制御規則補正部と、
を備えるプログラム実行制御装置。
【請求項６】
他の情報処理装置へのプログラムの転送を制御するプログラム転送制御装置であって、
前記プログラムの転送要求の発行を監視するとともに、該プログラムのプログラム名を取得する転送要求監視部と、
前記プログラムのハッシュ値を算出する算出部と、
前記プログラム名および前記ハッシュ値に関し、前記転送要求を許可するか否かの判断基準を示す転送制御規則を保持する転送制御規則保持部と、
前記転送制御規則に基づいて、前記転送要求を許可するか否かを判断し、前記プログラムの転送を制御する転送制御部と、
を備えるプログラム転送制御装置。
【請求項７】
請求項６記載のプログラム転送制御装置であって、更に、
前記転送要求を発行したユーザのユーザ名を取得するユーザ名取得部を備え、前記転送制御規則保持部は、更に、前記ユーザ名に関し、前記転送制御規則を保持する、
プログラム転送制御装置。
【請求項８】
請求項６記載のプログラム転送制御装置であって、更に、
前記転送制御部の制御結果を記録する転送制御記録部を備える、
プログラム転送制御装置。
【請求項９】
他の情報処理装置との間でのプログラムの転送を制御するプログラム転送制御装置であって、
前記他の情報処理装置との通信を司る第１の情報処理部と、
前記他の情報処理装置との通信に関与しない第２の情報処理部と、
前記第１の情報処理部と前記第２の情報処理部との間でのデータ通信を行うための通信処理部と、を備え、
前記第１の情報処理部は、
前記プログラムの転送要求の発行を監視する転送要求監視部を備えており、
前記第２の情報処理部は、
前記転送要求を許可するか否かの判断基準を示す転送制御規則を保持する転送制御規則保持部と、
前記転送制御規則に基づいて、前記転送要求を許可するか否かを判断し、前記プログラムの転送を制御する転送制御部と、
を備えるプログラム転送制御装置。
【請求項１０】
請求項６または９記載のプログラム転送制御装置であって、
前記他の情報処理装置は、前記プログラムの実行要求を許可するか否かを判断するための実行制御規則に基づいて前記プログラムの実行を制御可能であり、
前記転送制御部は、前記転送要求を許可すると判断したときに、前記プログラムの転送に併せて、前記実行制御規則に対応した情報を、前記他の情報処理装置に転送する、
プログラム転送制御装置。
【請求項１１】
請求項６または９記載のプログラム転送制御装置であって、
前記他の情報処理装置は、前記プログラムの転送要求を許可するか否かを判断するための転送制御規則に基づいて前記プログラムの転送を制御可能であり、
前記転送制御部は、前記転送要求を許可すると判断したときに、前記プログラムの転送に併せて、前記他の情報処理装置側の前記転送制御規則に対応した情報を、前記他の情報処理装置に転送する、
プログラム転送制御装置。
【請求項１２】
請求項６または９記載のプログラム転送制御装置であって、更に、
所定のプログラムの取得に併せて、前記転送制御規則に追加すべき情報を、外部から取得するプログラム取得部と、
該情報に基づく前記転送制御規則を前記転送制御規則保持部に追加する転送制御規則補正部と、
を備えるプログラム転送制御装置。
【請求項１３】
情報処理装置が備えるプログラムの実行を制御する制御方法であって、
（ａ）前記プログラムのプログラム名およびハッシュ値に関し、前記プログラムの実行要求を許可するか否かの判断基準を示す実行制御規則を準備する工程と、
（ｂ）前記プログラムの実行要求の発行を監視するとともに、該プログラムのプログラム名を取得する工程と、
（ｃ）前記ハッシュ値を算出する工程と、
（ｄ）前記実行制御規則に基づいて、前記実行要求を許可するか否かを判断し、前記プログラムの実行を制御する工程と、
を備える制御方法。
【請求項１４】
他の情報処理装置へのプログラムの転送を制御する制御方法であって、
（ａ）前記プログラムのプログラム名およびハッシュ値に関し、前記プログラムの転送要求を許可するか否かの判断基準を示す転送制御規則を準備する工程と、
（ｂ）前記プログラムの転送要求の発行を監視するとともに、該プログラムのプログラム名を取得する工程と、
（ｃ）前記ハッシュ値を算出する工程と、
（ｄ）前記転送制御規則に基づいて、前記転送要求を許可するか否かを判断し、前記プログラムの転送を制御する工程と、
を備える制御方法。
【請求項１５】
情報処理装置が備えるプログラムの実行を制御するためのコンピュータプログラムであって、
前記プログラムのプログラム名およびハッシュ値に関し、前記プログラムの実行要求を許可するか否かの判断基準を示す実行制御規則を記憶する機能と、
前記プログラムの実行要求の発行を監視するとともに、該プログラムのプログラム名を取得する機能と、
前記ハッシュ値を算出する機能と、
前記実行制御規則に基づいて、前記実行要求を許可するか否かを判断し、前記プログラムの実行を制御する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１６】
他の情報処理装置へのプログラムの転送を制御するためのコンピュータプログラムであって、
前記プログラムのプログラム名およびハッシュ値に関し、前記プログラムの転送要求を許可するか否かの判断基準を示す転送制御規則を記憶する機能と、
前記プログラムの転送要求の発行を監視するとともに、該プログラムのプログラム名を取得する機能と、
前記ハッシュ値を算出する機能と、
前記転送制御規則に基づいて、前記転送要求を許可するか否かを判断し、前記転送を制御する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
【請求項１７】
請求項１５または１６記載のコンピュータプログラムをコンピュータ読み取り可能に記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラムの実行および転送の制御に関する。
【０００２】
【従来の技術】
従来、コンピュータネットワーク技術が普及している。これに伴い、コンピュータウィルスが氾濫している。一般に、コンピュータウィルスのコンピュータへの感染を防止するために、いわゆるウィルス対策ソフトウェアが用いられる。しかし、ウィルス対策ソフトウェアでは、未知のコンピュータウィルスに対抗することができない。
【０００３】
近年では、実行を許可するプログラムのプログラム名を所定のポリシーファイルに予め登録しておき、プログラムの実行要求が発行されたときに、ポリシーファイルを参照して、許可されていないプログラムの実行を禁止する技術もある。
【０００４】
【発明が解決しようとする課題】
しかし、上記技術では、実行を許可されたプログラムが不正に改竄された場合には対抗することができなかった。また、ポリシーファイルが改竄された場合にも対抗することができなかった。また、コンピュータが不正なプログラムを保持している場合に、この不正なプログラムを、ネットワークを介して接続された他のコンピュータに転送してしまう場合もあった。
【０００５】
本発明は、上述の課題を解決するためになされたものであり、情報処理装置（コンピュータ）が不正なプログラムを保持している場合であっても、不正なプログラムの実行や転送を防止することを目的とする。
【０００６】
【課題を解決するための手段】
上述の課題の少なくとも一部を解決するため、本発明では、以下の構成を採用した。本発明の第１のプログラム実行制御装置は、実行要求監視部と、算出部と、実行制御規則保持部と、実行制御部とを備える。実行要求監視部は、情報処理装置が備えるプログラムの実行要求の発行を監視するとともに、実行要求が発行されたプログラムのプログラム名を取得する。算出部は、実行要求が発行されたプログラムのハッシュ値を算出する。実行制御規則保持部は、プログラム名およびハッシュ値に関し、プログラムの実行要求を許可するか否かの判断基準を示す実行制御規則を予め保持している。実行制御部は、実行制御規則に基づいて、発行されたプログラムの実行要求を許可するか否かを判断し、プログラムの実行を制御する。
【０００７】
プログラムが改竄された場合には、改竄の前後でプログラムのハッシュ値が変化する。本発明では、プログラム名以外にハッシュ値に関しても実行制御規則が規定されているので、これに基づいて不正なプログラムの実行を防止することができる。
【０００８】
本発明の第１のプログラム実行制御装置において、更に、実行要求を発行したユーザのユーザ名を取得するユーザ名取得部を備えるようにしてもよい。この場合、実行制御規則保持部は、更に、ユーザ名に関しての実行制御規則を保持するようにする。
【０００９】
こうすることによって、更に、プログラムの実行が許可されていない不正なユーザによるプログラムの不正な実行を防止することができる。
【００１０】
本発明の第１のプログラム実行制御装置において、更に、実行制御部の制御結果を記録する実行制御記録部を備えるようにしてもよい。
【００１１】
こうすることによって、情報処理装置のセキュリティ管理者が不正なプログラムの実行要求の有無を検査することができる。なお、制御結果の記録は、プログラムの全ての実行要求に対して行うようにしてもよいし、不正な実行要求に対してのみ行うようにしてもよい。プログラムの全ての実行要求に対して制御結果を記録するようにすれば、不適切な実行制御規則が規定されていないかを検査することができる。
【００１２】
本発明の第２のプログラム実行制御装置は、プログラムを実行するための第１の情報処理部と、プログラムの実行に直接関与しない第２の情報処理部と、第１の情報処理部と第２の情報処理部との間でのデータ通信を行うための通信処理部とを備える。つまり、第１の情報処理部と第２の情報処理部との間では、通信処理部を介さなければデータ通信を行うことができない。そして、第１の情報処理部は、プログラムの実行要求の発行を監視する実行要求監視部を備えており、第２の情報処理部は、実行要求を許可するか否かの判断基準を示す実行制御規則を保持する実行制御規則保持部と、実行制御規則に基づいて、実行要求を許可するか否かを判断し、プログラムの実行を制御する実行制御部とを備える。
【００１３】
ここで、「第１の情報処理部」および「第２の情報処理部」は、複数のオペレーションシステム、例えば、いわゆるサービス用のオペレーションシステム（サービス用ＯＳ）と、セキュリティ用のオペレーションシステム（セキュリティ用ＯＳ）とを備える情報処理装置の場合には、サービス用ＯＳが使用するメモリ領域が第１の情報処理部に相当し、セキュリティ用ＯＳが使用するメモリ領域が第２の情報処理部に相当する。また、単一のオペレーションシステムしか備えない情報処理装置の場合には、ユーザ・モードで使用するメモリ領域が第１の情報処理部に相当し、カーネル・モードで使用するメモリ領域が第２の情報処理部に相当する。
【００１４】
本発明では、第２の情報処理部が実行制御規則保持部を備えているので、第１の情報処理部側から実行制御規則が不正に改竄されることを抑制することができる。この結果、不正なプログラムの実行を防止することができる。
【００１５】
本発明の第１または第２のプログラム実行制御装置において、更に、所定のプログラムの取得に併せて、実行制御規則に追加すべき情報を、外部から取得するプログラム取得部と、この情報に基づく実行制御規則を実行制御規則保持部に追加する実行制御規則補正部とを備えるようにしてもよい。
【００１６】
ここで、「外部から取得する」とは、他の装置から通信によって取得することや、フレキシブルディスクなどの記録媒体から読み出して取得することなどを意味している。本発明によって、外部から取得したプログラムの実行を許可する実行制御規則を既存の実行制御規則に容易に追加、更新することができるので、情報処理装置のセキュリティ管理者等による実行制御規則の変更を待たずに、取得したプログラムを実行することができる。この結果、利便性を向上させることができる。
【００１７】
本発明は、他の情報処理装置へのプログラムの転送を制御するプログラム転送制御装置の発明として構成することもできる。即ち、本発明の第１のプログラム転送制御装置は、転送要求監視部と、算出部と、転送制御規則保持部と、転送制御部とを備える。転送要求監視部は、情報処理装置が備えるプログラムの転送要求の発行を監視するとともに、転送要求が発行されたプログラムのプログラム名を取得する。算出部は、転送要求が発行されたプログラムのハッシュ値を算出する。転送制御規則保持部は、プログラム名およびハッシュ値に関し、プログラムの転送要求を許可するか否かの判断基準を示す転送制御規則を予め保持している。転送制御部は、転送制御規則に基づいて、発行されたプログラムの転送要求を許可するか否かを判断し、プログラムの転送を制御する。
【００１８】
こうすることによって、いわゆるウィルスプログラムや、不正に改竄されたプログラムなど、不正なプログラムの転送を防止することができる。なお、本発明において、プログラムの転送要求は、他の情報処理装置で発行される場合と、当該情報処理装置で発行される場合のいずれであってもよい。例えば、クライアントサーバシステムでは、サーバはクライアントからの転送要求に応じてプログラムをダウンロードする。また、クライアントは、サーバにプログラムをアップロードする。前者が「他の情報処理装置で発行される場合」に相当し、後者が「当該情報処理装置で発行される場合」に相当する。後者の態様は、ウィルスプログラムが自己のコピーを他の情報処理装置に転送するように動作することを回避するのにも適用できる。
【００１９】
本発明の第１のプログラム転送制御装置において、更に、転送要求を発行したユーザのユーザ名を取得するユーザ名取得部を備えるようにしてもよい。この場合、転送制御規則保持部は、更に、ユーザ名に関しての転送制御規則を保持するようにする。
【００２０】
本発明の第１のプログラム転送制御装置において、更に、転送制御部の制御結果を記録する転送制御記録部を備えるようにしてもよい。
【００２１】
これらの構成により、それぞれ本発明のプログラム実行制御装置で説明したのと同様の効果を得ることができる。
【００２２】
また、本発明は、他の情報処理装置との間でのプログラムの転送を制御するプログラム転送制御装置の発明として構成することもできる。即ち、本発明の第２のプログラム転送制御装置は、他の情報処理装置との通信を司る第１の情報処理部と、他の情報処理装置との通信に直接関与しない第２の情報処理部と、第１の情報処理部と第２の情報処理部との間でのデータ通信を行うための通信処理部とを備える。つまり、第１の情報処理部と第２の情報処理部との間では、通信処理部を介さなければデータ通信を行うことができない。そして、第１の情報処理部は、プログラムの転送要求の発行を監視する転送要求監視部を備えており、第２の情報処理部は、転送要求を許可するか否かの判断基準を示す転送制御規則を保持する転送制御規則保持部と、転送制御規則に基づいて、転送要求を許可するか否かを判断し、プログラムの転送を制御する転送制御部とを備える。
【００２３】
本発明では、第２の情報処理部が転送制御規則保持部を備えているので、第１の情報処理部側から転送制御規則が不正に改竄されることを抑制することができる。この結果、不正なプログラムの転送を防止することができる。また、例えば、クライアントサーバシステムにおいて、サーバが本発明のプログラム転送制御装置を備える場合には、適当な転送制御規則を規定することによって、不正なクライアントへのプログラムの転送を防止することもできる。クライアントが本発明のプログラム転送制御装置を備える場合にも、適当な転送制御規則を規定することによって、不正なサーバからの、あるいは、不正なサーバへのプログラムの転送を防止することもできる。
【００２４】
本発明の第１または第２のプログラム転送制御装置において、他の情報処理装置は、プログラムの実行要求を許可するか否かを判断するための実行制御規則に基づいてプログラムの実行を制御可能であり、転送制御部は、発行された転送要求を許可すると判断したときに、プログラムの転送に併せて、実行制御規則に対応した情報を、他の情報処理装置に転送するようにしてもよい。
【００２５】
こうすることによって、他の情報処理装置は、当該プログラム転送制御装置から転送された情報に基づいて、自動的に実行制御規則を追加、更新することができる。この結果、利便性を向上させることができる。
【００２６】
また、本発明の第１または第２のプログラム転送制御装置において、他の情報処理装置は、プログラムの転送要求を許可するか否かを判断するための転送制御規則に基づいてプログラムの転送を制御可能であり、転送制御部は、発行された転送要求を許可すると判断したときに、プログラムの転送に併せて、他の情報処理装置側の転送制御規則に対応した情報を、他の情報処理装置に転送するようにしてもよい。
【００２７】
こうすることによって、他の情報処理装置は、当該プログラム転送制御装置から転送された情報に基づいて、自動的に転送制御規則を追加、更新することができる。この結果、利便性を向上させることができる。
【００２８】
本発明の第１または第２のプログラム転送制御装置において、更に、所定のプログラムの取得に併せて、転送制御規則に追加すべき情報を、外部から取得するプログラム取得部と、この情報に基づく転送制御規則を転送制御規則保持部に追加する転送制御規則補正部とを備えるようにしてもよい。
【００２９】
こうすることによって、外部から取得したプログラムの転送を許可する転送制御規則を既存の転送制御規則に容易に追加、更新することができるので、情報処理装置のセキュリティ管理者等による転送制御規則の変更を待たずに、取得したプログラムを他の情報処理装置に転送することができる。この結果、利便性を向上させることができる。
【００３０】
本発明は、上述のプログラム実行制御装置、プログラム転送制御装置としての構成の他、プログラムの実行、転送の制御方法の発明として構成することもできる。また、これらを実現するコンピュータプログラム、およびそのプログラムを記録した記録媒体、そのプログラムを含み搬送波内に具現化されたデータ信号など種々の態様で実現することが可能である。なお、それぞれの態様において、先に示した種々の付加的要素を適用することが可能である。
【００３１】
本発明をコンピュータプログラムまたはそのプログラムを記録した記録媒体等として構成する場合には、プログラム実行制御装置、プログラム転送制御装置を駆動するプログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【００３２】
【発明の実施の形態】
以下、本発明の実施の形態について、実施例に基づき以下の順で説明する。
Ａ．システム構成：
Ｂ．情報処理装置（第１実施例）
Ｃ．プログラム実行処理：
Ｄ．ダウンロード処理：
Ｅ．情報処理装置（第２実施例）
Ｆ．変形例：
【００３３】
Ａ．システム構成：
図１は、一実施例としてのクライアントサーバシステム１０００の概略構成を示す説明図である。サーバＳＶおよびクライアントＣＬ１，ＣＬ２は、ともに本発明のプログラム実行制御装置およびプログラム転送制御装置を備える情報処理装置として構成されている。以下、サーバＳＶをサーバ情報処理装置１００と呼び、クライアントＣＬ１，ＣＬ２をクライアント情報処理装置２００と呼ぶ。但し、両者におけるプログラム実行制御装置およびプログラム転送制御装置としての構成は同じである。本実施例では、サーバ情報処理装置１００とクライアント情報処理装置２００とは、ローカルエリアネットワーク（ＬＡＮ）を介して接続されているものとした。これらは、インターネット等、他のネットワークを介して接続されていてもよい。
【００３４】
サーバ情報処理装置１００およびクライアント情報処理装置２００は、ＣＰＵ、ＲＡＭ等を備える汎用のコンピュータである。各情報処理装置には、各種アプリケーションプログラム（以下、単にプログラムと呼ぶ。）がインストールされており、ユーザの実行要求に応じてプログラムを実行することができる。また、サーバ情報処理装置１００とクライアント情報処理装置２００との間では、ＬＡＮを介してプログラムのダウンロードやアップロードなど転送を行うことができる。但し、各情報処理装置で行われるプログラムの実行および転送は、後述するポリシーファイルに基づいて制限されている。
【００３５】
Ｂ．情報処理装置の構成（第１実施例）
図２は、第１実施例のサーバ情報処理装置１００の概略構成を示す説明図である。通信部１１１と、ポリシー設定部１１２と、実行要求監視部１１３と、ダウンロード要求監視部１１４と、ユーザ名取得部１１５と、ハッシュ値算出部１１６と、プログラム１６０は、サービス用ＯＳ１１０が管理するメモリ上で動作する。実行制御部１２２と、ダウンロード制御部１２４とは、セキュリティ用ＯＳ１２０が管理するメモリ上で動作する。また、ポリシーファイル１４０とログファイル１５０とは、セキュリティ用ＯＳ１２０が占有する。ポリシーファイル１４０には、後述する実行制御ポリシー１４２とダウンロード制御ポリシー１４４とが格納されている。ログファイル１５０には、後述する実行制御ログ１５２とダウンロード制御ログ１５４とが記録される。
【００３６】
マルチＯＳ制御部１３０は、サーバ情報処理装置１００上でサービス用ＯＳ１１０とセキュリティ用ＯＳが動作するための各種の制御を行う。マルチＯＳ制御部１３０は、マルチＯＳ間通信処理部１３２を備えている。マルチＯＳ間通信処理部１３２は、サービス用ＯＳ１１０とセキュリティ用ＯＳとの間でのデータ通信を行う。そして、サービス用ＯＳ１１０側からセキュリティ用ＯＳ１２０側へは直接アクセスできないように設計されている。先に説明したように、ポリシーファイル１４０は、セキュリティ用ＯＳ１２０によって占有されているので、サービス用ＯＳ１１０側からポリシーファイル１４０へは直接アクセスできない。こうすることによって、ポリシーファイル１４０内の実行制御ポリシー１４２およびダウンロード制御ポリシー１４４がサービス用ＯＳ１１０側から不正に改竄されることを抑制することができる。
【００３７】
本発明のプログラム実行制御装置としての機能に関係する主な機能ブロックは、実行要求制御部１１３と、ユーザ名取得部１１５と、ハッシュ値算出部１１６と、実行制御部１２２である。
【００３８】
実行要求監視部１１３は、プログラムの実行要求の発行を監視するとともに、実行要求が発行されたプログラムのプログラム名を取得する。ユーザ名取得部１１５は、プログラムの実行要求が発行されたときに、プログラムの実行要求を発行したユーザ名を取得する。ハッシュ値算出部１１６は、プログラムの実行要求が発行されたときに、実行要求が発行されたプログラムのハッシュ値を算出する。これらによって取得あるいは算出されたプログラム名と、ユーザ名と、ハッシュ値は、マルチＯＳ間通信処理部１３２を介して、実行制御部１２２に送られる。
【００３９】
実行制御部１２２は、実行要求監視部１１３と、ユーザ名取得部１１５と、ハッシュ値算出部１１６から送られたプログラム名と、ユーザ名と、ハッシュ値との組み合わせが後述する実行制御ポリシー１４２に規定されているか否かを参照することによって、発行されたプログラムの実行要求を許可するか否かを判断し、プログラムの実行を制御する。実行制御部１２２は、プログラムの実行要求を許可しない場合には、ログファイル１５０に制御結果としての実行制御ログ１５２を記録する。プログラムの実行要求を許可する場合にも、実行制御ログ１５２を記録するようにしてもよい。全ての実行要求に対して実行制御ログを記録するようにすれば、不適切な実行制御ポリシーが規定されていないかを検査することができる。
【００４０】
本発明のプログラム転送制御装置としての機能に関係する主な機能ブロックは、通信部１１１と、実行要求制御部１１３と、ユーザ名取得部１１５と、ハッシュ値算出部１１６と、実行制御部１２２である。
【００４１】
ダウンロード要求監視部１１４は、クライアント情報処理装置２００からのプログラムのダウンロード要求の発行を監視するとともに、ダウンロード要求が発行されたプログラムのプログラム名を取得する。ダウンロード要求監視部１１４は、本発明の転送要求監視部に相当する。ユーザ名取得部１１５は、プログラムのダウンロード要求が発行されたときに、プログラムのダウンロード要求を発行したユーザ名を取得する。ハッシュ値算出部１１６は、プログラムのダウンロード要求が発行されたときに、ダウンロード要求が発行されたプログラムのハッシュ値を算出する。これらによって取得あるいは算出されたプログラム名と、ユーザ名と、ハッシュ値は、マルチＯＳ間通信処理部１３２を介して、ダウンロード制御部１２４に送られる。
【００４２】
ダウンロード制御部１２４は、ダウンロード要求監視部１１４と、ユーザ名取得部１１５と、ハッシュ値算出部１１６から送られたプログラム名と、ユーザ名と、ハッシュ値との組み合わせが後述するダウンロード制御ポリシー１４４に規定されているか否かを参照することによって、発行されたプログラムのダウンロード要求を許可するか否かを判断し、プログラムのダウンロードを制御する。ダウンロード制御部１２４は、本発明の転送制御部に相当する。ダウンロード制御部１２４は、プログラムのダウンロード要求を許可しない場合には、ログファイル１５０に制御結果としてのダウンロード制御ログ１５４を記録する。プログラムのダウンロード要求を許可する場合にも、ダウンロード制御ログ１５４を記録するようにしてもよい。全てのダウンロード要求に対してダウンロード制御ログを記録するようにすれば、不適切なダウンロード制御ポリシーが規定されていないかを検査することができる。
【００４３】
通信部１１１は、他の機器との通信を行う。通信部１１１は、例えば、クライアント情報処理装置２００と間でプログラムのやり取りを行ったり、実行制御ポリシー１４２やダウンロード制御ポリシー１４４に追加すべき情報のやり取りを行ったりする。通信部１１１は、本発明のプログラム取得部に相当する。
【００４４】
ポリシー設定部１１２は、ポリシーファイル１４０内に格納されている実行制御ポリシー１４２およびダウンロード制御ポリシー１４４の内容を、サーバ情報処理装置１００のセキュリティ管理者の指示に応じて設定する。また、ポリシー設定部１１２は、通信部１１１がクライアント情報処理装置２００から実行制御ポリシー１４２やダウンロード制御ポリシー１４４に追加すべき情報を取得したときには、その内容を実行制御ポリシー１４２やダウンロード制御ポリシー１４４に自動的に追加する。こうすることによって、セキュリティ管理者の指示によらず、実行制御ポリシー１４２やダウンロード制御ポリシー１４４を更新することができるので、利便性を向上させることができる。
【００４５】
図３は、実行制御ポリシー１４２のデータ構造の一例を示す説明図である。図示するように、本実施例では、実行制御ポリシー１４２には、実行を許可するプログラム名と、そのプログラムのハッシュ値と、そのプログラムの実行を許可されたユーザ名との組み合わせが規定されている。実行制御部１２２は、実行要求監視部１１３と、ユーザ名取得部１１５と、ハッシュ値算出部１１６から送られたプログラム名と、ユーザ名と、ハッシュ値との組み合わせが、実行制御ポリシー１４２におけるパラメータの組み合わせと一致した場合にのみ、プログラムの実行を許可する。このように、厳密な実行制御ポリシー１４２を規定し、これに基づいてプログラムの実行を制御することによって、不正なプログラムの実行を防止することができる。
【００４６】
図４は、ダウンロード制御ポリシー１４４のデータ構造の一例を示す説明図である。図示するように、本実施例では、ダウンロード制御ポリシー１４４には、ダウンロードを許可するプログラム名と、そのプログラムのハッシュ値と、そのプログラムのダウンロードを許可されたユーザ名との組み合わせが規定されている。ダウンロード制御部１２４は、ダウンロード要求監視部１１４と、ユーザ名取得部１１５と、ハッシュ値算出部１１６から送られたプログラム名と、ユーザ名と、ハッシュ値との組み合わせが、ダウンロード制御ポリシー１４４におけるパラメータの組み合わせと一致した場合にのみ、プログラムのダウンロードを許可する。このように、厳密なダウンロード制御ポリシー１４４を規定し、これに基づいてプログラムのダウンロードを制御することによって、不正なプログラムのダウンロードを防止することができる。
【００４７】
なお、実行制御ポリシー１４２およびダウンロード制御ポリシー１４４は、それぞれ本発明の実行制御規則および転送制御規則に相当する。また、ポリシーファイル１４０は、本発明の実行制御規則保持部および転送制御規則保持部に相当する。
【００４８】
図５は、実行制御ログ１５２のデータ構造の一例を示す説明図である。実行制御ログ１５２は、先に説明したように、実行制御部１２２がプログラムの実行要求を許可しない場合に記録される。図示するように、本実施例では、実行制御ログ１５２には、実行要求が発行された日時と、実行要求を発行したユーザ名と、実行要求が発行されたプログラムのプログラム名とが記録される。このような実行制御ログ１５２を記録することによって、サーバ情報処理装置１００のセキュリティ管理者が不正なプログラムの実行要求の有無を検査することができる。
【００４９】
図６は、ダウンロード制御ログ１５４のデータ構造の一例を示す説明図である。ダウンロード制御ログ１５４は、先に説明したように、ダウンロード制御部１２４がプログラムのダウンロード要求を許可しない場合に記録される。図示するように、本実施例では、ダウンロード制御ログ１５４には、ダウンロード要求が発行された日時と、ダウンロード要求を発行したユーザ名と、ダウンロード要求が発行されたプログラムのプログラム名とが記録される。このようなダウンロード制御ログ１５４を記録することによって、サーバ情報処理装置１００のセキュリティ管理者が不正なプログラムのダウンロード要求の有無を検査することができる。
【００５０】
なお、実行制御ログ１５２とダウンロード制御ログ１５４とを記録するログファイル１５０は、本発明の実行制御記録部および転送制御記録部に相当する。
【００５１】
Ｃ．プログラム実行処理：
サーバ情報処理装置１００は、インストールされたいずれかのプログラムに対して実行要求が発行された場合に、プログラム実行処理を実行する。このプログラム実行処理は、ウィルスプログラムや、不正に改竄されたプログラムなど、不正なプログラムの実行を回避するための処理である。
【００５２】
図７は、プログラム実行処理の流れを示すフローチャートである。サーバ情報処理装置１００のＣＰＵが実行する処理である。この図において、一重線で囲ったステップは、サービス用ＯＳ１１０側で実行される処理であり、二重線で囲ったステップはセキュリティ用ＯＳ１２０側で実行される処理である。まず、サービス用ＯＳ１１０側でユーザによってプログラムの実行要求が発行されると（ステップＳ１００）、実行要求監視部１１３によって実行要求が発行されたプログラムのプログラム名を取得し（ステップＳ１１０）、ユーザ名取得部１１５によってプログラムの実行要求を発行したユーザ名を取得し（ステップＳ１２０）、ハッシュ値算出部１１６によって実行要求が発行されたプログラムのハッシュ値を算出する（ステップＳ１３０）。
【００５３】
このプログラム名と、ユーザ名と、ハッシュ値は、マルチＯＳ間通信処理部１３２を介してセキュリティＯＳ１２０側に転送される。そして、実行制御部１２２によって、このプログラム名と、ユーザ名と、ハッシュ値との組み合わせが実行制御ポリシー１４２に規定されているか否かを参照して（ステップＳ１４０）、この実行要求が許可されているか否かを判断する（ステップＳ１５０）。
【００５４】
発行された実行要求が許可されているものである場合には、マルチＯＳ間通信処理部１３２を介して、実行許可をサービス用ＯＳ１１０側に送り、サービス用ＯＳ１１０側でプログラムを実行する（ステップＳ１６０）。発行された実行要求が許可されていないものである場合には、ログファイル１５０に実行制御ログ１５２を記録し（ステップＳ１７０）、マルチＯＳ間通信処理部１３２を介して、エラー処理の指示をサービス用ＯＳ１１０側に送り、サービス用ＯＳ１１０側でエラー処理を行う（ステップＳ１８０）。エラー処理としては、例えば、実行が許可されていないプログラムである旨のエラーメッセージや、実行が許可されていないユーザである旨のエラーメッセージや、プログラムが改竄されている旨のエラーメッセージをモニタに表示させたり、プログラムを削除したりすることができる。
【００５５】
Ｄ．ダウンロード処理：
サーバ情報処理装置１００は、保持するいずれかのプログラムに対してダウンロード要求が発行された場合には、ダウンロード処理を実行する。このダウンロード処理は、ウィルスプログラムや、不正に改竄されたプログラムなど、不正なプログラムをダウンロードさせることを回避するための処理である。
【００５６】
図８は、ダウンロード処理の流れを示すフローチャートである。サーバ情報処理装置１００のＣＰＵが実行する処理である。この図において、一重線で囲ったステップは、サービス用ＯＳ１１０側で実行される処理であり、二重線で囲ったステップはセキュリティ用ＯＳ１２０側で実行される処理である。まず、サービス用ＯＳ１１０側で通信部１１１がクライアント情報処理装置２００のユーザによって発行されたプログラムのダウンロード要求を取得すると（ステップＳ２００）、ダウンロード要求監視部１１４によってダウンロード要求が発行されたプログラムのプログラム名を取得し（ステップＳ２１０）、ユーザ名取得部１１５によってプログラムのダウンロード要求を発行したユーザ名を取得し（ステップＳ２２０）、ハッシュ値算出部１１６によってダウンロード要求が発行されたプログラムのハッシュ値を算出する（ステップＳ２３０）。
【００５７】
このプログラム名と、ユーザ名と、ハッシュ値は、マルチＯＳ間通信処理部１３２を介してセキュリティＯＳ１２０側に転送される。そして、このプログラム名と、ユーザ名と、ハッシュ値との組み合わせがダウンロード制御ポリシー１４４に規定されているか否かを参照して（ステップＳ２４０）、このダウンロード要求が許可されているか否かを判断する（ステップＳ２５０）。
【００５８】
発行されたダウンロード要求が許可されているものである場合には、マルチＯＳ間通信処理部１３２を介して、転送許可をサービス用ＯＳ１１０側に送り、プログラムとともにクライアント情報処理装置２００側の実行制御ポリシーに追加すべき情報を送信する（ステップＳ２６０）。本実施例では、実行制御ポリシーに追加すべき情報として、ハッシュ値を送信するものとした。プログラム名およびユーザ名は、ダウンロード要求を発行したクライアント情報処理装置２００側では既知であるからである。プログラム名と、ハッシュ値と、ユーザ名とを送信するようにしてもよい。クライアント情報処理装置２００側では、サーバ情報処理装置１００から取得したハッシュ値と、既知のプログラム名、ユーザ名を実行制御ポリシーに自動的に追加する処理を行う。こうすることによって、クライアント情報処理装置２００では、セキュリティ管理者による実行制御ポリシーの変更を待たずに、ダウンロードしたプログラムを実行することができる。
【００５９】
ステップＳ２５０において、発行されたダウンロード要求が許可されていないものである場合には、ログファイル１５０にダウンロード制御ログ１５４を記録し（ステップＳ２７０）、マルチＯＳ間通信処理部１３２を介して、エラー処理の指示をサービス用ＯＳ１１０側に送り、サービス用ＯＳ１１０側でエラー処理を行う（ステップＳ２８０）。エラー処理としては、例えば、ダウンロードが許可されていないプログラムである旨のエラーメッセージや、ダウンロードが許可されていないユーザである旨のエラーメッセージや、プログラムが改竄されている旨のエラーメッセージをクライアント情報処理装置２００に送信したり、プログラムを削除したりすることができる。
【００６０】
以上説明した第１実施例のサーバ情報処理装置１００によれば、プログラム名と、プログラムのハッシュ値と、ユーザ名とに関しての厳密な実行制御ポリシー１４２およびダウンロード制御ポリシー１４４が規定されており、これに基づいてプログラムの実行および転送を制御するので、サーバ情報処理装置１００が不正なプログラムを保持している場合であっても、この不正なプログラムの実行および転送を防止することができる。また、先に説明したように、クライアント情報処理装置２００も本発明のプログラム実行制御装置およびプログラム転送制御装置の機能を備えているので、ウィルスプログラム等の不正なプログラムの実行および転送を防止することができる。
【００６１】
Ｅ．情報処理装置（第２実施例）
上述した第１実施例では、サーバ情報処理装置１００およびクライアント情報処理装置２００は、２つのＯＳ、即ち、サービス用ＯＳとセキュリティ用ＯＳとを備えるものとしたが、ＯＳは単一であってもよい。
【００６２】
図９は、第２実施例のサーバ情報処理装置１００Ａの概略構成を示す説明図である。図示した各部の機能は、第１実施例のサーバ情報処理装置１００における機能と同じである。また、プログラム実行処理やダウンロード処理の流れも第１実施例と同じである。通信部１１１Ａと、ポリシー設定部１１２Ａと、プログラム１６０Ａは、ユーザ・モードで動作する。実行要求監視部１１３Ａと、ダウンロード要求監視部１１４Ａと、ユーザ名取得部１１５Ａと、ハッシュ値算出部１１６Ａと、実行制御部１２２Ａと、ダウンロード制御部１２４Ａは、カーネル・モードで動作する。実行要求監視部１１３Ａと、ダウンロード要求監視部１１４Ａと、ユーザ名取得部１１５Ａと、ハッシュ値算出部１１６Ａは、ポリシーファイル１４０Ａに直接アクセスしないので、ユーザ・モードで動作させるようにしてもよい。
【００６３】
ポリシーファイル１４０Ａとログファイル１５０Ａとは、オペレーションシステム１１０Ａの管理下にある。従って、ユーザ・モードで動作するプログラムからは直接アクセスすることができない。こうすることによって、ポリシーファイル１４０Ａ内の実行制御ポリシー１４２Ａおよびダウンロード制御ポリシー１４４Ａが不正に改竄されることを抑制することができる。
【００６４】
以上説明した第２実施例のサーバ情報処理装置１００Ａによっても第１実施例のサーバ情報処理装置１００と同様に、不正なプログラムの実行および転送を防止することができる。
【００６５】
Ｆ．変形例：
以上、本発明のいくつかの実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲内において種々なる態様での実施が可能である。例えば、以下のような変形例が可能である。
【００６６】
Ｆ１．変形例１：
上記実施例では、実行制御ポリシーおよびダウンロード制御ポリシーは、プログラム名と、プログラムのハッシュ値と、ユーザ名とに関して規定されているが、これに限られない。各ポリシーは、不正なプログラムの実行および転送が防止されるように規定されていればよい。
【００６７】
Ｆ２．変形例２：
上記実施例では、サーバ情報処理装置およびクライアント情報処理装置は、プログラム実行制御装置としての機能とプログラム転送制御装置としての機能とを備えているが、両方を備えていなくてもよい。例えば、サーバ情報処理装置がプログラム転送制御装置としての機能を備え、クライアント情報処理装置がプログラム実行制御装置としての機能を備えるようにしてもよい。
【００６８】
Ｆ３．変形例３：
上記実施例では、プログラムの転送の態様として、サーバ情報処理装置１００からクライアント情報処理装置２００へプログラムをダウンロードさせる場合を例に説明したが、これに限られない。クライアント情報処理装置２００からサーバ情報処理装置１００へプログラムをアップロードする場合にも適用可能である。この場合、クライアント情報処理装置２００の転送制御ポリシー（アップロード制御ポリシー）を、例えば、特定のサーバ情報処理装置へのプログラムの転送を許可するように規定することによって、不正なサーバ情報処理装置へのプログラムの転送を防止することができる。
【００６９】
また、クライアント情報処理装置が、サーバ情報処理装置１００へのプログラムのアップロードに併せて、サーバ情報処理装置１００のダウンロード制御ポリシー１４４に追加すべき情報を転送するようにすることによって、サーバ情報処理装置２００は、自動的にダウンロード制御ポリシー１４４を追加するようにすることができる。
【００７０】
Ｆ４．変形例４：
上記実施例では、サーバ情報処理装置１００がダウンロード制御ポリシーを保持するものとしたが、更に、クライアント情報処理装置２００が特定のサーバ情報処理装置からのみプログラムのダウンロードを許可するポリシーを保持するようにしてもよい。このポリシーには、ダウンロードを許可するサーバ情報処理装置のアドレスやＵＲＬなどが規定される。本変形例では、クライアント情報処理装置２００は、ダウンロード要求が発行されたときに、図８に示したダウンロード処理と同様の処理を実行する。但し、ステップＳ２１０，Ｓ２２０，Ｓ２３０において取得するパラメータは、上述したサーバ情報処理装置に関するポリシーに対応したものとする。また、ステップＳ２６０においては、ダウンロード要求をサーバ情報処理装置に送信することとなる。このようにすることによって、クライアント情報処理装置２００が許可されていないサーバ情報処理装置からプログラムのダウンロードを行うことを防止することができる。
【００７１】
【発明の効果】
本発明によれば、情報処理装置が不正なプログラムを保持している場合であっても、不正なプログラムの実行や転送を防止することができる。
【図面の簡単な説明】
【図１】一実施例としてのクライアントサーバシステム１０００の概略構成を示す説明図である。
【図２】第１実施例のサーバ情報処理装置１００の概略構成を示す説明図である。
【図３】実行制御ポリシー１４２のデータ構造の一例を示す説明図である。
【図４】ダウンロード制御ポリシー１４４のデータ構造の一例を示す説明図である。
【図５】実行制御ログ１５２のデータ構造の一例を示す説明図である。
【図６】ダウンロード制御ログ１５４のデータ構造の一例を示す説明図である。
【図７】プログラム実行処理の流れを示すフローチャートである。
【図８】ダウンロード処理の流れを示すフローチャートである。
【図９】第２実施例のサーバ情報処理装置１００Ａの概略構成を示す説明図である。
【符号の説明】
１０００…クライアントサーバシステム
１００、１００Ａ…サーバ情報処理装置
１１０…サービス用ＯＳ
１１０Ａ…オペレーションシステム
１１１、１１１Ａ…通信部
１１２、１１２Ａ…ポリシー設定部
１１３、１１３Ａ…実行要求監視部
１１４、１１４Ａ…ダウンロード要求監視部
１１５、１１５Ａ…ユーザ名取得部
１１６、１１６Ａ…ハッシュ値算出部
１２０…セキュリティ用ＯＳ
１２２、１２２Ａ…実行制御部
１２４、１２４Ａ…ダウンロード制御部
１３０…マルチＯＳ制御部
１３２…マルチＯＳ間通信処理部
１４０、１４０Ａ…ポリシーファイル
１４２、１４２Ａ…実行制御ポリシー
１４４、１４４Ａ…ダウンロード制御ポリシー
１５０、１５０Ａ…ログファイル
１５２、１５２Ａ…実行制御ログ
１５４、１５４Ａ…ダウンロード制御ログ
１６０、１６０Ａ…プログラム
２００…クライアント情報処理装置
【図１】
2004013608.tif 000003
【図２】
2004013608.tif 000004
【図３】
2004013608.tif 000005
【図４】
2004013608.tif 000006
【図５】
2004013608.tif 000007
【図６】
2004013608.tif 000008
【図７】
2004013608.tif 000009
【図８】
2004013608.tif 000010
【図９】
2004013608.tif 000011