(57)【要約】  セキュア監査システムは、複数の端末（１）と端末管理サーバ（５）とを備える。端末（１）は、プログラムメモリ（２０２）と、その一部のプログラムのリストである実行許可リスト記憶部（３０１）と、実行指示プログラムが実行許可リスト内のプログラムであるか否かを判断するプログラム特定部（３１１）と、プログラムが実行許可リスト内の場合に、端末１内で、プログラムのファイルから作成されたハッシュ値を用いて照合を行うハッシュ値照合部（３１３）とを備え、また、プログラムが実行許可リスト以外の場合に、管理サーバとの間で、プログラムのファイルから作成されたハッシュ値を用いて照合を行う照合部（３１５，５０１，５１１）と、ハッシュ値の照合結果から当該プログラムの実行の許否を指示する実行許否部（３１４）とを備えた。
2011030455.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、操作部からの指示に従って所与のプログラムが実行可能にされた複数の端末と、前記ネットワークに接続され、前記各端末における前記プログラムの実行の許否に関する監査を行う管理サーバとを備え、
前記端末は、
前記所与のプログラムが更新的に記憶されるプログラム記憶部と、
前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶する実行許可リスト作成手段と、
前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断する判断手段と、
前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断する第１の照合手段と、
前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信する照合情報作成手段と、
前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示する実行許否手段とを備え、
前記管理サーバは、
前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶される照合元情報記憶部と、
前記端末から受信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信する第２の照合手段とを備えたことを特徴とするセキュア監査システム。
【請求項２】
前記第１の照合用情報は、前記各プログラムのファイルから生成されるハッシュ値を含むことを特徴とする請求項１に記載のセキュア監査システム。
【請求項３】
前記第２の照合用情報及び前記照合元情報は、プログラムのファイルから生成されるハッシュ値及び当該プログラムのファイルのヘッダー領域に記憶されているヘッダー情報に対応するヘッダー関連情報を含むことを特徴とする請求項１又は２に記載のセキュア監査システム。
【請求項４】
前記端末は、前記第２の照合手段による照合の結果が不一致であった場合、前記所与のプログラムを前記プログラム記憶部から読み出して前記管理サーバに送信する第１の転送手段を備え、
前記管理サーバは、前記転送手段から送信された前記所与のプログラムのウイルス感染の有無をチェックし、ウイルス感染している場合には、前記実行許否手段に当該所与のプログラムの実行を不許可にするべく信号を返送するウイルスチェック手段を備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項５】
前記端末は、
前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、
前記操作部からの指示を受けて前記マクロのプログラムを前記プログラム記憶部にインストールする前に、前記管理サーバに送信する第２の転送手段とを備え、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
当該端末の固有証明情報を前記受信したマクロのプログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、
前記端末は、さらに、
前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項６】
前記端末は、
前記操作部を介してプログラムを作成するプログラム作成手段と、
前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、
前記操作部からの指示を受けて前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムを前記管理サーバに送信する第２の転送手段とを備え、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
当該端末の固有証明情報を前記受信した新規プログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、
前記端末は、さらに、
前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項７】
前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することを特徴とする請求項５又は６に記載のセキュア監査システム。
【請求項８】
前記端末は、
前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段を備え、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、
前記端末は、さらに、
前記操作部からの指示を受けて、前記マクロのプログラムを前記プログラム記憶部にインストールする前に、当該マクロのプログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、
前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項９】
前記端末は、
前記操作部を介してプログラムを作成するプログラム作成手段と、
前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、
前記端末は、さらに、
前記操作部からの指示を受けて、前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、
前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項１０】
前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することを特徴とする請求項８又は９に記載のセキュア監査システム。
【請求項１１】
前記端末は、前記実行許可リストに含まれるリストに対応するプログラムの不実行状態が所定期間を超えたか否かを監視する監視手段と、
前記不実行状態が前記所定期間を超えたプログラムのリストを前記実行許可リストから削除するリスト削除手段とを備えたことを特徴とする請求項１〜１０のいずれかに記載のセキュア監査システム。
【請求項１２】
ネットワークに接続された個々の端末によるプログラムの実行の許否を制御するセキュア監査方法において、
前記端末のプログラム記憶部に、前記所与のプログラムが更新的に記憶されており、
前記端末の実行許可リスト作成手段が、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶し、
前記端末の判断手段が、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断し、
前記端末の第１の照合手段が、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断し、
前記端末の照合情報作成手段が、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信し、
前記ネットワークに接続された前記管理サーバの照合元情報記憶部に、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶されており、
前記管理サーバの第２の照合手段が、前記端末から受信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信し、
前記端末の実行許否手段が、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示することを特徴とするセキュア監査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続され、所与のプログラムが実行可能な端末のセキュリティに関する監査を行う技術に関する。
【背景技術】
【０００２】
従来、インターネット上での各種ウイルスによる被害は多様化、拡大化しており、電子社会（ネット社会）を構築するに当たって、ウイルス対策は喫緊の課題となっている。現状、コンピュータに対しては、ＯＳ（Operating System）や脆弱性を有するアプリケーションに対するセキュリティパッチの適用、ウイルス定義ファイルの更新、及びウイルスチェックの実行による対策が採られている。しかしながら、対策が全てのコンピュータに行き亘るまでに時間を要し、その間にウイルス感染する虞が高く、効果にも一定の限界がある。【０００３】
そこで、他の対策として、ウイルスに感染したファイルの実行を未然に阻止する技術も種々提案されている。特許文献１には、簡単かつ効果的にウイルスファイルの実行を防ぐ情報処理装置が記載されている。この情報処理装置は、サーバに設けられたグローバルデータベースに格納されている複数のファイルのうち、端末を介してのユーザからの指示により実行対象とされたファイルの名前が、所定の命名規則に合致するか否かを判別する判別部と、命名規則に合致しなければ、実行対象ファイルはウイルスに対して安全なファイルであるとして実行を許可し、前記命名規則に合致したときには、実行対象ファイルはウイルスに対して危険なファイルの可能性があるとしてユーザに警告する実行処理部とを有する。そして、前記実行処理部は、警告後、ユーザによって再度実行が指示されたときには、命名規則に合致したファイルの実行を許可する一方、ユーザによって実行の取り消しが指示されたときには、ファイルの実行を取り消すようにしている。このように、再度実行が指示されたファイルは、安全に実行できるとされるファイルを示す安全ファイルリストを保持する安全ファイルリスト保持部に登録するようにしている。一方、特許文献１には、実行を禁止すべきファイルを示す禁止ファイルリストを保持する禁止ファイルリスト保持部を備え、命名規則に合致しないファイルであっても、禁止ファイルリストに登録されていれば、そのファイルの実行を許可しないようにしたことが記載されている。このように、安全ファイルリスト、危険ファイルリストを活用することで簡単かつ効果的にウイルスファイルの実行を防ぐようにしている。【０００４】
しかしながら、特許文献１は、ウイルス感染の可能性（危険度）の高低に関わらず、警告表示のみで、あくまでユーザの最終的な意志に依存してファイルの実行の許否を決定しているため、ウイルス感染ファイルを実行する虞が高いという問題がある。【０００５】
また、特許文献２には、複数の端末装置が接続されたネットワーク上に監視装置を配置して各端末装置の特徴情報を取得可能にし、取得した特徴情報から、脆弱性のあるソフトウエアを持つ端末装置、又はマルウェアに感染した端末装置を効率的に検出して、的確な対策を講じることができるソフトウエアの監視システムが記載されている。しかしながら、特許文献２に記載のシステムは、端末装置のセキュリティレベルを知る上で好適であるとしても、例えばハッシュ値の変化を検知してからウイルス対策を講じる等（特許文献２の段落番号００１９〜００２０）、依然として無視しがたいタイムラグが存在している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１４８８０５号公報
【特許文献２】特開２００６−０４０１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、端末にインストールされているプログラムのファイルに対してウイルス感染の危険性をチェックし、未感染のファイルに対してプログラムの実行を許可することでウイルスを起動させないセキュア監査方法及びそのシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るセキュア監査システムは、ネットワークに接続され、操作部からの指示に従って所与のプログラムが実行可能にされた複数の端末と、前記ネットワークに接続され、前記各端末における前記プログラムの実行の許否に関する監査を行う管理サーバとを備え、前記端末は、前記所与のプログラムが更新的に記憶されるプログラム記憶部と、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶する実行許可リスト作成手段と、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断する判断手段と、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断する第１の照合手段と、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信する照合情報作成手段と、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示する実行許否手段とを備え、前記管理サーバは、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶される照合元情報記憶部と、前記端末から受信された前記第２の照合用情報と、前記照合元情報記憶部に記憶されている前記照合元情報との照合し、その結果を前記返信信号として当該端末に返信する第２の照合手段とを備えたことを特徴とするものである。【０００９】
また、本発明に係るセキュア監査方法は、ネットワークに接続された個々の端末によるプログラムの実行の許否を制御するセキュア監査方法において、前記端末のプログラム記憶部に、前記所与のプログラムが更新的に記憶されており、前記端末の実行許可リスト作成手段が、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶し、前記端末の判断手段が、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断し、前記端末の第１の照合手段が、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断し、前記端末の照合情報作成手段が、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信し、前記ネットワークに接続された前記管理サーバの照合元情報記憶部に、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶されており、前記管理サーバの第２の照合手段が、前記端末から受信された前記第２の照合用情報と、前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信し、前記端末の実行許否手段が、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示することを特徴とするものである。【００１０】
これらの発明によれば、ネットワークに接続された個々の端末によるプログラムの実行の許否がセキュア監査に基づいて制御される。すなわち、前記端末のプログラム記憶部に、前記所与のプログラムが更新的に記憶されており、前記端末の実行許可リスト作成手段によって、前記所与のプログラムのうちの所定のプログラムについてリストが作成され、実行許可リスト記憶部に更新的に記憶される。そして、前記端末の判断手段によって、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かが判断され、前記端末の第１の照合手段によって、前記判断手段による判断が肯定された場合に、当該所与のプログラムが前記プログラム記憶部から読み出されて第１の照合用情報が作成され、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同が判断される。前記端末の照合情報作成手段によって、前記判断手段による判断が否定された場合に、前記所与のプログラムが前記プログラム記憶部から読み出されて第２の照合用情報が作成され、前記管理サーバに送信される。管理サーバでは、照合元情報記憶部に、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶されている。そして、前記管理サーバの第２の照合手段によって、前記端末から受信された前記第２の照合用情報と、前記照合元情報記憶部に記憶されている前記照合元情報とが照合され、その結果が前記返信信号として当該端末に返信される。そこで、前記端末の実行許否手段によって、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否が指示されることになる。【００１１】
従って、実行許可リストに含まれるリストに対応するプログラムであっても、端末側での自己診断によって改竄やウイルス感染等のチェックを行い、しかも、実行許可リストに含まれないプログラムについては、管理サーバとの間でセキュリティ監査を行って、セキュアなプログラムのみを実効可能にしたので、仮に、後にファイル内にウイルスが侵入して感染したとしても、起動されることがない。
【発明の効果】
【００１２】
本発明によれば、ウイルス未感染のファイルに対してプログラムの実行を許可することによってウイルスを起動させないようにして、端末をセキュア状態に維持することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係るセキュア監査システムが適用されるネットワークシステムの概略構成図である。
【図２】プログラムのファイルのハッシュ値を利用して実行の許否を判定する処理を説明する図面である。
【図３】端末１毎の正常動作が不審なプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。
【図４】自己の端末１で作成したプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。
【図５】不正動作パターンの実行を禁止する処理を説明する図面である。
【図６】図２に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。
【図７】図２、図３、図４に示すシステムの端末管理サーバ５側のウイルス監視処理を示すフローチャートである。
【図８】図３に示すシステムの端末１側でのマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。
【図９】図３に示すシステムの端末管理サーバ５側のマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。
【図１０】図３、図４に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。
【図１１】図３、図４に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。
【図１２】図５に示すシステムの端末１側での不正動作パターン検知処理を示すフローチャートである。
【図１３】図５に示すシステムの端末１側での不正動作パターンリスト更新処理を示すフローチャートである。
【図１４】図５に示すシステムの端末１側での検査中リストの更新処理を示すフローチャートである。
【図１５】図５に示すシステムの端末１側での実行プログラム監視処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
図１は、本発明に係るセキュア監査システムが適用されるネットワークシステムの概略構成図である。図１に示すネットワークシステムは、例えば、会員である、消費者や商店乃至は企業等、更には決済を行う１又は複数の金融機関に配置される端末１と、これらの各端末１及び端末１間での情報の管理及び保管を統括的に行う管理機関に配設された会員情報サーバ４と、端末１のセキュリティ管理を行う端末管理サーバ５を備える。
【００１５】
端末１は、一般的にはＣＰＵ（Central Processing Unit）を内蔵するパーソナルコンピュータ等で構成されている。端末１内には、一般的な文書や図形の作成ソフトウエアを利用しての情報の作成、加工、記憶、更に通信用のソフトウエアを利用しての情報の送受信等の一般的な各処理を実行する端末処理部２と、後述するプログラムの監査処理を実行するプログラム監視部３とを備える。より具体的には、消費者、商店及び企業等の端末１には、端末処理部２として、商品やサービスの売買、見積もり乃至は請求、入出金に関する各書類の作成と通信とを行うソフトウエアがインストールされる。すなわち、端末１は、一般的な商取引における決済、例えば業者店舗からの請求書の発行、受領や、購買者側から請求書発行元の契約金融機関の口座への入金（すなわち支払い）指示書、その受領書の発行の他、電子決済の如何を問わず種々の電子書面での送受信処理を可能とするものである。端末１は、各種書類をテキスト形式の、またバイナリー形式の電子ファイルとして作成可能である。電子ファイルは、例えば会員情報サーバ４を中継して端末１間で授受される。各金融機関の端末１には、消費者や企業の端末１からの金融的な決済書面に従った決済指示処理（金融機関間での決済処理の指令等）を行うソフトウエアもインストールされている。
【００１６】
会員情報サーバ４は、必要に応じて会員に関する適宜な情報、例えば会員の氏名、名称、メールアドレス、住所等の会員情報を記憶するものである。また、会員情報サーバ４は、さらに、各会員のファイル送受信履歴やそのファイル類等を管理用に記憶する記憶部を備えてもよい。端末管理サーバ５は、端末１のセキュリティを管理するためのソフトウエアの作成、及び配布を行う主体である所定のシステム監査団体が運営する。
【００１７】
また、本システムは、他の適用例として、秘密情報を作成、保管管理する、例えば公的機関である団体組織内のＬＡＮに接続された複数の端末１間での情報通信、さらに団体組織外にある端末との間における情報通信・管理体制に適用する例を挙げることができる。なお、団体組織内の端末１及びＬＡＮに対してプログラム監視部３、会員情報サーバ４及びプログラム証明部５を適用する場合、このＬＡＮが本発明に係るネットワークとして位置づけられる。
【００１８】
本システムは、ハードウエア的にはインターネットのネットワークを用いる。すなわち端末１はインターネットに接続される一方、後述するようにインターネットとの間ではソフトウエア的に端末１及び端末１間でのセキュリティを確保するようにしている。本発明によってソフトウエア的にセキュリティが確保され、端末１が接続されるネットワークという観点で、インターネットとは異なる専用ネットワークとして扱い得る。これにより、新たなインフラを必要としないシステムの構築が可能で、かつ各端末１は必要に応じてインターネットを経由して他のパーソナルコンピュータとの間で通常の情報通信及びインターネット上のＷｅｂサイトの検索、閲覧及び情報の取得が可能である。
【００１９】
図１において、端末１はプロバイダ（ＩＳＰ）６を介してネットワーク７に接続されている。ＩＳＰ６には、複数の端末１が接続されている。なお、図１には示されていないが、ＩＳＰ６には、各種の情報を提供するＷｅｂサイトを有するサーバが、適宜の数だけ接続されている。また、ＩＳＰ６に接続される端末１には、プログラム監視部３がインストールされている端末１と、プログラム監視部３がインストールされていない通常の端末１’とが存在する。プログラム監視部３は、後述するように端末１で実行されるプログラムのファイルがウイルスに感染しているか否かを事前にチェックし、ウイルスに感染していないプログラムのファイルのみを実行させ、すなわちウイルスに感染している可能性のあるプログラムのファイルの実行を禁止するためのソフトウエア及び監査に必要なデータベースを含むものである。
【００２０】
端末管理サーバ５は、ネットワーク７に接続されている端末の内、プログラム監視部３であるソフトウエアをインストールした端末１に対して、後述するウイルス対策を行うプログラム証明部５０を備える。すなわち、端末１で実行されるプログラムのファイルに対し、その実行前にウイルスに感染していないことを証明する。
【００２１】
図２〜図５は、端末１の端末処理部２、プログラム監視部３及びプログラム証明部５０の有する機能をそれぞれブロック化した構成図を示すものである。図２〜図５は、説明及び作図の便宜上、各機能を適宜に分けて表している。図２は、プログラムのファイルのハッシュ値を利用して実行の許否を判定する処理を説明する図面である。図３は、端末１毎の正常動作が不審なプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。図４は、自己の端末１で作成したプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。図５は、不正動作パターンの実行を禁止する処理を説明する図面である。
【００２２】
図２において、端末１の端末処理部２は、記憶部２００と制御部２１０とを備えている。制御部２１０は、指示されたプログラムを実行させるプログラム実行処理部２１１を備えている。また、端末処理部２は、情報の表示や情報処理（すなわち、対応するプログラムの実行）の指示等を行うためのマウスやキーボードからなる操作部２１や入力情報や処理結果の表示を行う表示部２２を備えている。記憶部２００は、ＯＳ（Operating System）やＢＩＯＳ（Basic Input/Output System）等を記憶するＲＯＭ（Read Only Memory）２０１と、ＲＡＭ（Random Access Memory）からなる。ＲＡＭは、所与の処理に必要な各種のアプリケーションプログラムのファイルを記憶するプログラムメモリ部２０２と、外部との入出力部に設けられ、受信情報を一時的に記憶するバッファメモリ部２０３とを備えている。なお、ＲＡＭは、処理途中の情報を一時的に記憶するワークメモリ領域も有する。
【００２３】
プログラム監視部３は、プログラムのファイルを監視するためのソフトウエアが端末１に個別にインストールされた結果得られた、プログラムのファイルの監視に必要な情報を記憶する記憶部３００と監視プログラムを実行するための制御部３１０とを有する。記憶部３００は、本実施形態では、端末処理部２の記憶部２００の一部領域を利用するのが好ましい。記憶部３００は、図２に示すように、実行許可リスト記憶部３０１を有する。実行許可リストとは、端末１毎に作成されるリストであって、当該端末１においてウイルスに感染していないとして端末管理サーバ５によって実行が許可されたプログラムのファイルを識別するためのリスト用情報である。実行許可リストの各リスト用情報には、プログラムのファイルから得られる（一意の）ハッシュ値を少なくとも含んでいる。バイナリーコードで構成されたプログラムのファイルから当該プログラムのハッシュ値を作成する方法は種々存在し、いずれの方法も採用可能である。例えば、プログラムのファイルの全体あるいは予め定めた範囲の所定ビット分を取り出して２分割し、次に、この２分割された各コード群の所定の論理処理、例えば論理積を施して新たなコード情報を作成し、新たなコード情報を更に２分割し、論理処理を施すといった処理を、所定ビット数に達する（減る）まで繰り返すものである。そして、プログラムメモリ部２０２への登録時にプログラムのファイルから得られた所定ビットのコード情報を得、これをハッシュ値として扱えばよい。また、ハッシュ値の他、プログラムのベンダー情報、プロダクト情報を備えていてもよく、さらにはバージョン情報を備えてもよい。
【００２４】
なお、プログラムのファイルの監視のためのソフトウエアは、外部記録媒体９、例えばハードディスク、光ディスク、フレキシブルディスク、ＣＤ、ＤＶＤ、ＵＳＢメモリ、半導体メモリ等に書き込まれており、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等の公知のドライバを介して読み取り可能にされて、端末１の記憶部２００の適所領域（ＲＡＭ領域）に取り込まれる（インストール）される。または、会員の端末１から、管理団体のコンピュータ（会員情報サーバ４又は端末管理サーバ５等）に対して所定の発行要求を送信することで、当該ソフトウエアを受信し、インストールする態様としてもよい。あるいは、当該プログラムが搭載された拡張ボードを組み込む態様でもよい。そして、ソフトウエアをインストールするに際して、会員登録のための情報入力を、例えば表示部２２を介して求められ、必要な情報を入力することで、会員情報サーバ４に登録されるようにすればよい。
【００２５】
制御部３１０は、プログラムのファイルの監視のためのインストールされたソフトウエアが記憶部２００の適所領域から読み出されて端末処理部２のＣＰＵで実行されることで、操作部２１によって指定された処理を実行するためのプログラムのファイルを特定する実行プログラム特定部３１１と、指定されたプログラムのファイルが実行許可リスト記憶部３０１に含まれている場合に、当該プログラムのファイルのハッシュ値（第１の照合用情報）を作成するハッシュ値作成部３１２、作成したハッシュ値と実行許可リスト記憶部３０１内の当該プログラムのファイルのリスト用情報に含まれるハッシュ値との異同を判断するハッシュ値照合部（第１の照合手段）３１３と、ハッシュ値が一致した場合に、当該プログラムの実行を許可する指示信号を、また、不一致の場合に当該プログラムの実行を禁止する指示信号を生成し、プログラム実行処理部２１１に出力する実行許否部３１４と、指定されたプログラムのファイルが実行許可リスト記憶部３０１に含まれていない場合に、当該プログラムのファイルにおける照合用情報（第２の照合用情報）を作成する照合情報作成部３１５と、指定されたプログラムのファイルをプログラムメモリ部２０２から読み出してウイルス検査対象として端末管理サーバ５に転送する転送部３１６と、検査対象のプログラムのファイルがウイルスに感染していないと判断した場合に、当該プログラムのファイルのプログラム識別情報（リスト用情報）を作成し、前記実行許可リスト記憶部３０１に追加することで、前記実行許可リスト記憶部３０１の内容を更新する更新部３１７として機能する。また、更新部３１７は、ハッシュ値照合部３１３での結果が不一致の場合に当該プログラムのリスト用情報を実行許可リスト記憶部３０１から削除する処理を行う。
【００２６】
プログラム特定部３１１は、操作部２１で指定された処理を実行するプログラムを特定し、特定されたプログラムが実行許可リスト記憶部３０１に含まれるリストに対応するプログラムであるか否かを判断し、判断結果が含まれることとなった場合には、その情報に基づいて読出指示信号を生成し、実行許可リスト記憶部３０１及びプログラムメモリ部２０２に送信するものである。この読出指示信号は、プログラムメモリ部２０２から対応するプログラムのファイルをハッシュ値作成部３１２に読み出すと共に、実行許可リスト記憶部３０１から対応するプログラムのリスト用情報内のハッシュ値をハッシュ値照合部３１３に読み出す。また、プログラム特定部３１１は、前記判断が含まれないこととなった場合には、照合情報作成部３１５に照合情報を作成する指示信号を生成するものである。なお、実行可能なプログラムファイルには、ＯＳが判断するためのヘッダー情報としてのＭＺ及びＰＥ（Portable Executable Header）ヘッダーが存在しているため、例えば、これらのヘッダー情報の有無を利用して、読み込むプログラムファイルを特定することが可能である。
【００２７】
ハッシュ値作成部３１２は、入力されたプログラムのファイルから予め設定される（実行許可リスト記憶部３０１のリスト用情報のハッシュ値の作成ルールと同一の）ルールを用いてハッシュ値を算出するものである。ハッシュ値照合部３１３は、ハッシュ値作成部３１２で作成されたハッシュ値と実行許可リスト記憶部３０１内の当該プログラムのファイルのハッシュ値との異同を照合するもので、照合結果である一致、不一致のいずれかの信号を実行許否部３１４に出力するものである。ハッシュ値が一致すれば、両プログラムのファイルは一致したと見なすことができ、不一致であれば、両プログラムのファイルは異なると見なすことができる。一律にハッシュ値を照合することで、実行許可リスト記憶部３０１に含まれるリストのプログラムのファイルであっても、インストール後に、一部が改竄されて別バージョンとされたり、ウイルスに感染したりした場合に、かかる改竄等を見落とすことなく検知し得るようにしたものである。好ましくは、プログラムのファイルの略全体を用いてハッシュ値を算出する方法を採用することで、改竄を検出することが可能となる。
【００２８】
実行許否部３１４は、端末１内からの、すなわちハッシュ値照合部３１３からの照合結果の信号を受けて、また、後述するように、実行予定のプログラムが実行許可リストに含まれているプログラムでない場合における端末管理サーバ５からの許否信号を受けて、プログラムを実行を指示（許可）する信号、実行の禁止を指示（不許可）する信号を生成するものである。
【００２９】
端末管理サーバ５は、プログラム証明部５０及び操作部５１を有し、管理者のために必要に応じて表示部を有する。プログラム証明部５０は、所要の情報を記憶する領域及び処理途中の情報を一時的に記憶するワークエリアを有する記憶部５００と接続されている。プログラム証明部５０は、ＣＰＵを有するコンピュータで構成された制御部５１０を備えている。記憶部５００は、端末１毎の照合元情報データベース５０１を有する。照合元情報データベース５０１は、各端末１においてプログラムのファイルから作成される照合用情報との照合を行うための、端末１毎の照合元情報として記憶するものである。照合元情報データベース５０１内の照合元情報は、当該プログラムのファイルが最初に当該端末１のプログラムメモリ２０２にインストールされる際に作成され、格納されるようにしている。照合情報作成部３１５で作成される照合用情報に対応するものである。照合用情報及び照合元情報は、前述したハッシュ値の他、プログラムのベンダー情報、プロダクト情報を備え、さらにバージョン情報を備えたものとするのが、信頼性の点で好ましい。
【００３０】
制御部５１０は、証明プログラムをＣＰＵに読み出して実行することによって、実行許否判定部（第２の照合手段）５１１、ウイルスチェック部５１２及び実行許否信号作成部５１３として機能する。
【００３１】
実行許否判定部５１１は、実行予定のプログラムが実行許可リストに含まれるリストに対応するプログラムにない場合に、前述の照合用情報と照合元情報との照合処理を実行し、その異同を判断し、実行許否信号を生成するものである。ウイルスチェック部５１２は、実行予定のプログラムのファイルに対してウイルススキャンを実行し、公知のパターンマッチング手法等によってウイルス感染の有無を検知し、その結果から実行許否信号（実行許可信号、事項不許可信号）を出力するものである。ウイルスチェック部５１２は、継続的に入手する各ウイルスのパターンが更新的に記憶されたウイルスパターン記憶部５０２を用いて、パターンマッチングでチェックを行う。
【００３２】
実行許否信号作成部５１３は、実行許否判定部５１１及びウイルスチェック部５１２以外の態様で、操作部５１からの操作に従って、前述と同様の実行許否信号を生成するものである。実行許否信号作成部５１３は、照合及びウイルスチェックによっても不正が発見出来ない場合に、管理者により、あるいはより高度な外部専門家（アンチウイルス等のソフトウエア含む）によるチェックを経ての不正の有無の結論を受けて操作部５１からの実行許否に対する指示によって許否信号を作成する。また、操作部５１の上記指示により、併せて、当該照合用情報を新たな照合元情報として照合元情報データベース５０１に更新記憶する。
【００３３】
図６は、図２に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。図７は、図２に示すシステムの端末管理サーバ５側のウイルス監視処理を示すフローチャートである。
【００３４】
まず、図６において、操作部２１からプログラム実行指令が入力されたか否かが判断され（ステップＳ１）、指令が入力されていなければ、本フローを抜ける。一方、指令が入力されたのであれば、この指令によって実行対象となったプログラムのファイルが特定され（ステップＳ３）、次いで、この実行対象のプログラムの実行が、監視処理のために一旦保留され（ステップＳ５）、さらに、この実行対象のプログラムが実行許可リスト記憶部３０１に含まれるリストに対応するプログラムに含まれるか否かが判断される（ステップＳ７）。この判断が肯定されると、かかる実行対象のプログラムのファイルのハッシュ値が実行許可リスト記憶部３０１からハッシュ値照合部３１３に読み出される（ステップＳ９）。続いて、かかる実行予定のプログラムのファイルがプログラムメモリ部２０２からハッシュ値作成部３１２に読み出されて、所定のルールに従ってハッシュ値が作成される（ステップＳ１１）。そして、両ハッシュ値が照合され（ステップＳ１３）、一致したかどうかが判定される（ステップＳ１５）。照合結果が一致であれば、実行許可信号が作成されてプログラム実行処理部２１１に出力される（ステップＳ１７）。この結果、プログラム実行処理部２１１によって実行対象のプログラムの実行が開始（すなわち、実行対象プログラムが起動）される（ステップＳ１９）。一方、ステップＳ１５で、照合結果が不一致であれば、当該プログラムに対応するリスト用情報が実行許可リスト記憶部３０１から削除され、かつ当該プログラムがプログラムメモリ部２０２から削除される（ステップＳ２１）。すなわち、当該プログラムの実行が禁止されることと同義となる。
【００３５】
一方、ステップＳ７での判断が否定されると、実行対象プログラムのファイルが読み出され、照合情報作成部３１５によって照合用情報が作成される（ステップＳ２３）。そして、作成された照合用情報は端末管理サーバ５のプログラム証明部５０に送信される（ステップＳ２５）。
【００３６】
次いで、端末管理サーバ５から許否信号の受信の有無が判断される（ステップＳ２７）。許否信号が受信されたのであれば、その受信信号が実行許可信号か否かが判断される（ステップＳ２９）。受信信号が実行許可信号であれば、実行許否部３１４で実行を許可する所定の指示信号に変換され、この変換された実行許可信号によって実行許可リスト記憶部３０１へのリスト更新処理の開始が指示され（ステップＳ３１）、続いて、ステップＳ１９に進んで、実行対象のプログラムの実行が開始される。一方、ステップＳ２９で、受信信号が実行許可信号でなければ、すなわち実行不許可信号であれば、実行対象のプログラムのプログラムメモリ２０２からの削除が行われる（ステップＳ３５）。ステップＳ３１におけるリスト更新処理とは、実行が許可されたプログラムは、ウイルス感染がないと判断して、更新部３１７によって実行許可リスト記憶部３０１のリスト用情報と同一フォーマットで、ハッシュ値、その他の所与の情報が作成されて、追加される。
【００３７】
また、ステップＳ２７における許否信号の未受信状態が、所定期間継続されると（ステップＳ３３でＹＥＳ）、プログラムの実行は一時保留状態から実行禁止へと変更される（ステップＳ３７）。ステップＳ３７は、ウイルス検査その他、不正の有無の検査に時間を要する場合のあることを想定したものである。検査結果が得られた場合に、当該検査対象中のプログラムに対して処分が行われる。処分とは、端末管理サーバ５からの指示に基づく、例えばプログラムメモリ部２０２からの削除処理である。なお、所定期間とは、操作部２１で指定後、通常実行開始されるまでの時間より多少長い時間であって、例えば、数秒乃至１０秒程度をいう。その間、あるいは所定時間を超えた段階で、例えば表示部２２にウイルス監査中を示唆する報知を行ってもよい。報知は表示の他、スピーカが装着されている場合、音声で行う態様でもよい。
【００３８】
次に、図７において、照合用情報が受信されたか否かが判断される（ステップ＃１）。照合用情報が受信されていなければ、本フローを抜ける。一方、照合用情報が受信されたのであれば、受信した照合用情報と照合元情報データベース５０１内の照合元情報との照合が行われる（ステップ＃３）。両信号が一致したのであれば（ステップ＃５でＹＥＳ）、実行許可信号が作成され、照合用情報の送信元である端末１に返信される（ステップ＃７）。
【００３９】
一方、ステップ＃５で、両信号が不一致であれば、ウイルスチェック処理が実行される（ステップ＃９）。ウイルスチェック処理は、照合情報の送信元である端末１の転送部３１６に対して、実行対象のプログラムのファイルの転送を要求し、転送された当該実行対象のプログラムのファイルに対して、例えばパターンマッチング手法でチェックされる。ウイルス感染が認められれば（ステップ＃１１でＹＥＳ）、実行不許可信号が生成されて、実行対象プログラムのファイルの送信元である端末１に返信される（ステップ＃１３）。
【００４０】
逆に、ステップ＃１１で、ウイルス感染が認められなければ、操作部５１からの不正か否かを示す信号の入力の有無が判断される（ステップ＃１５）。信号入力が不正信号であれば（ステップ＃１７でＹＥＳ）、ステップ＃１３に進み、不正を示す信号でなければ、当該照合用情報が照合元情報データベース５０１へ登録（すなわち先の照合元情報が更新）されて（ステップ＃１９）、ステップ＃７に進む。
【００４１】
なお、所定期間、信号入力がなければ（ステップ＃２１）、保留継続の処理がなされて（ステップ＃２３）、ステップ＃１３に進む。なお、所定期間とは、図６のステップＳ３３の期間である。また、保留継続の処理とは、実行対象のプログラムのファイルに対して、ウイルス感染がなかった場合に、管理者によってあるいは外部専門家によって更なるチェックを行うことが考えられ、かかる場合に、プログラムの実行を一旦禁止する一方で、後刻に、前記管理者等によるチェックの結果をプログラム証明部５０及び該当端末１の所要のメモリ部のデータ更新を可能にするための処理である。具体的には、保留情報の一覧リストの記憶部を設け、前記チェック後に、チェック結果が反映可能なように、該当する保留情報を読み出して、更新処理を可能にする。
【００４２】
次に、図３において、記憶部３００は、さらに正常動作不審リスト記憶部３０２を有する。正常動作不審リストとは、実行許可リストに含まれるプログラム以外のプログラムのリストである。正常動作不審リストとは、実行が許可されたプログラムが使用する、マクロを含むファイルやアドインファイル等（サブプログラムという）を、グレーリストとして端末１毎に、そのプログラムメモリ部２０２に更新的に記憶するものである。プログラムは、端末１毎に、そのプログラムメモリ部２０２に更新的に記憶される。なお、マクロとは、文書作成ソフトや表計算ソフト等の所定のプログラムについて、特定の操作手順を更にプログラムとして予め作成し、そのファイルを登録しておくことで、かかる特定の操作手順を自動的に実行する機能をいう。また、アドインファイルとは、所定のプログラムについて、拡張した機能が追加装備されたファイル（プログラム）をいう。これらのプログラムは本体プログラムのファイルに対し、拡張子を用いた追加形式のファイルとして示されており、それぞれ識別可能である。なお、図３では、マクロのファイルやアドインファイルは外部から取得することを想定しているが、自端末１で作成してもよい。
【００４３】
制御部３１０の更新部３１７は、後述するように、実行許否判定結果や使用実績判定結果から、実行許可リスト記憶部３０１と正常動作不審リスト記憶部３０２との間でリストの入れ替えを行う。更新部３１７は、図３（後述する図４も同様）においては、外部から取得したプログラムや自端末１で作成したプログラムを、操作部２１からの指示に基づいてプログラムメモリ部２０２へ登録する処理も実行する。なお、登録に際して、マクロを含むファイルとアドインファイルとは、拡張子等を参照することで識別される。
【００４４】
制御部３１０は、さらにスタンプ有無判断部３１８、使用実績監視部３１９を備える。プログラム証明部５０の記憶部５００は、さらに端末証明スタンプ記憶部５０３を備える。また、制御部５１０は、さらに端末証明スタンプ付与部５１４を備える。
【００４５】
まず、端末証明スタンプ記憶部５０３について説明する。端末証明スタンプ記憶部５０３に記憶されるスタンプは、端末１がプログラム監視部３であるソフトウエアをインストールした際に、当該端末１の所有者（占有的使用者を含む）やＩＰアドレス、メールアドレスその他の情報を用いて、あるいは当該端末１の所有者の希望に基づいて作成される端末固有の情報である。従って、端末証明スタンプ記憶部５０３には、端末１毎のスタンプが記憶される。スタンプとは、デジタル文書の正当性を保証するために付けられる署名情報であって、文字や記号、マークなどを電子的に表現したものである。本実施形態では、所定数分の記号をバイナリーコードで表現したものを、スタンプとして採用している。
【００４６】
端末証明スタンプ付与部５１４は、ある端末１から送信されてきた、スタンプ付与を要求するプログラムのファイルに、送信元である端末１を認識し、当該端末１に対応したスタンプを電子的に付与する、例えば埋め込む処理を行うものである。電子的な付与の一形態である電子的な埋め込み処理の場合、スタンプを記述するバイナリーコードを所定のルールに従ってプログラムのファイル内に埋め込むことで行われる。所定のルールとは、ファイルの所定の位置に一括で埋め込む方法、あるいはスタンプのバイナリーコードを所与数に分割してファイル内の予め定めた複数箇所に分散して埋め込む方法、その他種々の公知の方法が採用可能である。例えば、実行可能なプログラムファイルの場合、ＭＺヘッダーにプログラムの実行には使用されない空き領域が存在するため、この空き領域にスタンプを埋め込むようにしてもよい。
【００４７】
本実施形態では、プログラム監視部３であるソフトウエアをインストールした端末１の正常動作不審リスト記憶部３０２に登録されたプログラムの内、主にマクロのプログラムのファイルについてスタンプの付与処理、ここでは埋め込み処理が行われる。マクロのプログラムのファイルは、プログラム自体が変更されなくても、データ（例えば数値データ）が変更されることで、別のハッシュ値を持つことになる。そうすると、当該マクロのプログラムを実行する毎に、端末管理サーバ５に当該マクロのプログラムのファイルを送信し、検査を受ける作業が必要となる。これは、送信処理の負担増大、処理の低速化及びネット上での情報漏洩機会の増大を招き、好ましくない。そこで、各端末１にて実行許可リストに含まれるプログラムが使用するべく、作成されたマクロのプログラム等のファイルに対しては、端末を指定して正当性を証明（保証）するために、端末証明スタンプを埋め込むようにしている。
【００４８】
スタンプ有無判断部３１８は、正常動作不審リスト記憶部３０２内のリストに対応するプログラムが実行対象となった場合に、まず、スタンプの有無を判断し、その判断結果を実行許否部３１４に出力するようにしている。実行許否部３１４は、スタンプが付与されているファイルのプログラムに対しては、プログラム実行処理部２１１に実行許可信号を出力する。スタンプ有無判断部３１８は、対象のプログラムのファイルにスタンプが付与されていなかった場合、照合情報作成部３１５に照合情報を作成させ、プログラム証明部５０に送信させる指示信号を出力する。
【００４９】
使用実績監視部３１９は、実行許可リスト記憶部３０１に登録されている対応するプログラムの各使用履歴を監視し、所定期間、不使用状態が継続すると、そのようなプログラムを、実行許可リスト記憶部３０１から削除し、正常動作不審リスト記憶部３０２に追加するという、すなわちウイルス感染の可能性の点から格下げ処理を施すものである。すなわち、不使用期間がある程度を超えると、適正なプログラムのファイルであっても改竄機会を与えることとなって、前述のハッシュ値が不一致となる可能性がアップする。そこで、そのような場合には、前以って、格下げしておくことで、ハッシュ値の照合及び照合情報の照合を行うことなく、後述するように１回のウイルスチェック処理で判定が可能となる。そして、ウイルスチェックによって、ウイルス感染していないと認定されれば、再度、実行許可リストに格上げする（戻す）ようにすればよい。
【００５０】
照合情報作成部３１５は、正常動作不審リスト記憶部３０２内のリストに対応するプログラムが実行対象となった場合であって、スタンプ有無判断部３１８によってスタンプが付与されていないと判断された場合、当該プログラムのファイルの照合用情報を作成して、実行許否判定部５１１に送信するものである。
【００５１】
転送部３１６は、新たに作成されたマクロのプログラムのファイルを端末証明スタンプ付与部５１４に送信し、スタンプ付与後のプログラムのファイルをプログラムメモリ部２０２に記憶するものである。なお、マクロのプログラムのファイルを端末管理サーバ５に送信する場合、このファイルはＴＣＰ／ＩＰのパケットデータとして送信されるが、マクロのプログラム以外に使用者が入力したデータが含まれる可能性がある。そこで、ＴＣＰ／ＩＰのデータ部を暗号化して送信することが好ましい。また、この暗号が解読されることを避けるため、好ましくは暗号の方法が通信する都度変更される態様とすることが、さらに好ましい。しかも、スタンプ付与後のマクロのプログラムのファイルを端末管理サーバ５が送信元の端末１に返信する場合も同様とすることが好ましい。
【００５２】
図８は、図３に示すシステムの端末１側でのマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。図９は、図３に示すシステムの端末管理サーバ５側のマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。図１０、図１１は、図３に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。なお、図７は、図３に示すシステムの端末管理サーバ５側のウイルス監視処理を示すフローチャートとしても作用する。
【００５３】
まず、図８において、実行許可リスト記憶部３０１に含まれるリストに対応するプログラムのファイルを本体としたマクロやアドインのプログラムのファイルが取得されて、操作部２１から登録指示があると（ステップＳ４１でＹＥＳ）、当該プログラムがマクロのプログラムか否かが判断され、（ステップＳ４１）、マクロのプログラムであれば、取得したプログラムのファイルにスタンプ付与要求の信号が添付されて、端末管理サーバ５に転送される（ステップＳ４５）。次いで、返送の有無が判断され（ステップＳ４７）、返送があると、返送されてきたプログラムのファイルがプログラムメモリ２０２に記憶され（ステップＳ４９）、さらに、対応するリスト用情報が作成されて、正常動作不審リスト記憶部３０２に追加される（ステップＳ５１）。一方、ステップＳ４１で、マクロのプログラムでないと判断されると、取得したプログラムのファイルから、前述したような所定のルールに従って照合情報が作成され、登録要求の信号が添付されて端末管理サーバ５に転送される（ステップＳ５３）。
【００５４】
図９において、スタンプ付与要求か登録要求の信号が受信されると（ステップ＃４１）、まず、スタンプ付与要求の有無が判断される（ステップ＃４３）。スタンプ付与要求信号でなければ、登録要求なので、受信したファイルの照合情報が照合元情報として照合元情報データベース５０１に書き込まれる（ステップ＃４５）。
【００５５】
一方、ステップ＃４３で、スタンプ付与要求信号であれば、前述したルールに従ってスタンプ付与処理が実行される（ステップ＃４７）。次いで、照合元情報が作成されて、照合元情報データベース５０１に書き込まれる（ステップ＃４９）、最後に、スタンプが付与されたプログラムのファイルが当該端末１に返送される（ステップ＃５１）。
【００５６】
図１０、図１１において、まず、実行プログラムの特定が行われる（ステップＳ６１）。次いで、実行許可リスト内のリストに対応するプログラムか否かが判断される（ステップＳ６３）。実行許可リスト内のリストに対応するプログラムであれば、図６に示すフローチャートのステップＳ５に進み（ステップＳ６５）、端末１内でのハッシュ値の照合処理から開始される。
【００５７】
一方、実行許可リスト内のリストに対応するプログラムでなければ、当該プログラムのファイルに自端末証明スタンプが付与されているか否かが判断される（ステップＳ６７）。スタンプが付与されていれば、実行許可信号が出力され（ステップＳ６９）、次いでプログラムの実行が開始される（ステップＳ７１）。逆に、ステップＳ６７で、スタンプが付与されていなければ、当該プログラムのファイルから照合用情報が作成され（ステップＳ７３）、プログラム証明部５０に送信される（ステップＳ７５）。
【００５８】
次いで、許否信号の受信の有無が判断され（ステップＳ７７）、受信された信号が実行許可信号であれば（ステップＳ７９）、当該プログラムの実行が開始される（ステップＳ８１）。次いで、当該プログラムがマクロのプログラムか否かが判断され（ステップＳ８３）。マクロのプログラムでなければ、当該プログラムのリスト用情報が正常動作不審リストから実行許可リストへ移転される（ステップＳ８５）。一方、ステップＳ８３で、マクロのプログラムであれば、当該プログラムのファイルにスタンプ付与要求の信号を添付祖手端末管理サーバ５に転送される（ステップＳ８７）。次いで、スタンプが付与されたプログラムのファイルの返送の有無が判断され（ステップＳ８９）、返送があると、返送されてきたプログラムのファイルがプログラムメモリ部２０２に記憶（スタン付与前のプログラムのファイルが更新）されて（ステップＳ９１）、本フローを終了する。
【００５９】
逆に、ステップＳ７９で、実行許可信号でなければ、実行は禁止される（ステップＳ９５）。なお、ステップＳ７７の判断処理が所定期間を経過すると（ステップＳ９３でＹＥＳ）、実行が禁止されて（ステップＳ９５）、本フローを抜ける。
【００６０】
そして、図７に示すように、端末管理サーバ５側で、照合用情報の照合及びウイルスチェックが実行される。
【００６１】
なお、端末１における通常の処理として、他の端末１で作成されたマクロのプログラム（作成された端末１のスタンプが付与されている）の取り込みの場合には、取り込み先の端末１で新たにスタンプの付与は行わないようにしている。これにより、マクロのプログラムがいずれの端末１で作成されたのかの出展元情報を残すことが可能となる。なお、マクロのプログラムを実行する場合には、制御部３１０側で（あるいはプログラム実行処理部２１１で）、前述した所定のルールを逆に実行してマクロのプログラムのファイルからスタンプのコード情報を取り除いて、実行させればよい。例えば、図９において、プログラムのファイルに既にスタンプが付与されているか否かの判断ステップを追加し、スタンプが付与されていなければ、図９の処理が実行され、スタンプが既に付与されている場合には、図９のステップ＃４７をスキップするようにすればよい。
【００６２】
次に、図４において、記憶部２００は、さらにＲＡＭ（ワークメモリ）２０４を有する。また、端末１の制御部２１０は、さらにプログラム作成処理部２１２を備える。プログラム作成処理部２１２は、操作部２１を利用して自端末１で新規な、マクロやその他のプログラムを作成する場合に実行されるもので、プログラムの記述乃至登録指示処理を実行する。ワークメモリ２０４は、プログラム作成処理部２１２でプログラムを作成する場合の処理途中の情報を一時的に記憶する領域として用いるものである。そして、プログラム作成処理部２１２は、ＯＳによってプログラムメモリ部２０２に書き込まれるファイルが新規であることを検知し、これによって、書き込みファイルが、端末１で新たに作成されたファイルであることを認識するようになっている。
【００６３】
なお、自端末１で作成したプログラムのプログラムメモリ部２０２内への登録及び正常動作不審リスト記憶部３０２へのリスト追加のための処理は、前述の図８，図９と略同様の処理手順にて行われる。なお、図４の態様では、図８のステップＳ４１は不要となり、一律にステップＳ４５に進む。すなわち、自端末１で新規に作成されたプログラムのファイルの登録とし、ステップＳ４５では、作成されたプログラムのファイルにスタンプ要求信号を添付して端末管理サーバ５へ転送するものとする。また、図９のステップ＃４１は、全てスタンプ付与要求の信号の受信となり、＃４３，＃４５は不要となる。
【００６４】
制御部３１０は、さらに端末証明スタンプ照合部３２０を備える。端末証明スタンプ照合部３２０は、プログラム作成処理部２１２で作成されたプログラムであって、作成時に自端末１を証明するスタンプを付与されてプログラムメモリ部２０２に記憶されたプログラムのファイルが、後に実行対象となった場合に、プログラムメモリ部２０２内の該当するプログラムのファイルからスタンプ情報を抜き出すと共に、記憶部５００の端末証明スタンプ記憶部５０３の該当する端末のスタンプの情報を読み出して、両スタンプを照合するものである。両スタンプが一致した場合、実行許否部３１４で実行許可信号が生成される。両スタンプが不一致の場合、プログラムメモリ部２０２に記憶されていたプログラムが改竄され、あるいはウイルスに感染した等、実行には不適なプログラムとなっていることから、使用が禁止される。なお、図３に示す実施形態において、スタンプ有無判断部３１８に代えて、端末証明スタンプ照合部３２０を用いてもよい。これにより、マクロのプログラムに対しても、取り込み後の実行の都度、スタンプの照合が図れ、信頼度がアップする。また、逆に、図４において、端末証明スタンプ照合部３２０に代えてスタンプ有無判断部３１８を用いてもよい。この場合、端末１側でのチェックが可能となる。
【００６５】
そして、作成されたプログラムのファイルの登録は、ワークメモリ２０４から端末証明スタンプ付与部５１４に転送され、ここでスタンプが付与された後、プログラムメモリ２０２に戻されて書き込まれる。
【００６６】
また、図４に示すシステムの端末１側のウイルス監視処理及び端末管理サーバ５側のウイルス監視処理は、前述の図１０、図１１、図７と略同様の処理手順にて行われる。
【００６７】
但し、図４においては、図１０〜図１１のステップＳ６７でＹＥＳの後に、端末証明スタンプ照合部３２０による、前述したスタンプの照合処理が行われる。そして、スタンプ照合の結果、一致であれば、ステップＳ６９に示す実行許可信号が出力される。逆に、スタンプ照合の結果、不一致であれば、ステップＳ７３に移行することになる。なお、図３の態様においても、図４と同様に、端末証明スタンプ照合部３２０を採用することが好ましい。
【００６８】
図５において、記憶部３００は、さらに不正動作パターンリスト記憶部３０３及び検査中リスト記憶部３０４を有する。不正動作パターンリストとは、プログラムが実行するパターンのうち、定型的な不正動作のパターンあるいはそれに類似したパターンをリストアップしたものである。あるいは、人間による操作を要する場合に操作速度が異常に速いような異常状態や、意味のない情報処理等も含む。この不正動作パターンリストは、プログラム監視部３というソフトウエアをインストールした端末１全てに対して、典型的には、端末管理サーバ５から配信される。例えば、不正動作パターンリストは、ＣＰＵに対して命令可能な命令コードのファイルをリスト化したものである。後述の不正動作パターン検知部３２２により不正動作パターンの検知が行われる時は、全リストの命令コードが並行して実行されることで、検査対象のプログラムとの照合（チェック）処理が同時的に実行されることで、不正動作パターンの有無及び不正動作パターンの特定が可能にされている。
【００６９】
検査中リスト記憶部３０４は、不正動作パターン及び当該パターンを発生させたプログラムのファイルが端末管理サーバ５側での検査（解析）中である場合に、当該プログラム及び不正動作パターンのリストを記憶するものである。不正動作パターンの発生毎に追加され、解析が終了する毎に削除される。検査中リスト記憶部３０４は、端末１毎に個別のリスト情報が記憶される。
【００７０】
制御部３１０は、さらに不正動作パターンリスト更新部３２１、不正動作パターン検知部３２２及び実行プログラム監視部３２３を備える。端末管理サーバ５の制御部５１０は、不正動作パターン作成部５１５及び不正動作パターン検査部５１６を備える。不正動作パターン作成部５１５は、不正動作パターンを作成し、プログラム監視部３のソフトウエアをインストールしている全ての端末１へ送信（配信）するものである。新たな不正動作パターンが確認される毎に追加的に端末１の全部に送信するようにしている。不正動作パターンリスト更新部３２１は、不正動作パターン作成部５１５から送信された不正動作パターンを不正動作パターンリスト記憶部３０３に更新的に記憶させるものである。
【００７１】
不正動作パターン検知部３２２は、操作部２１からの指令に基づいて実行されるプログラムについて、当該プログラムの実行中における不正動作パターンの発生の有無を監視する。そして、不正動作パターン検知部３２２は、不正動作パターンが発生すると、当該プログラムを識別する情報、当該不正動作パターンを識別する情報及び当該プログラム中の当該不正動作パターンの発生箇所の情報を対応付けて検査中リスト記憶部３０４に追加記憶すると共に、転送部３１６に対して当該プログラム及び当該不正動作パターンを端末管理サーバ５へ転送する指示を行う。不正動作パターンとは、例えば表示部２２画面上に、ある特定のウインドウを、あるいは不規則的にウインドウを開く動作とか、操作部２１のキーボードのうちの例えば特定のキーを、あるいは不特定のキーを高速で繰り返し押下操作する時の指示信号と同様な信号が作成される場合等が考えられる。
【００７２】
転送部３１６は、指示されたプログラムのファイルをプログラムメモリ部２０２から読み出して、不正動作パターン検知部３２２で検知された不正動作パターン及び不正箇所の情報と共に端末管理サーバ５へ転送する。
【００７３】
不正動作パターン検査部５１６は、転送部３１６から転送されてきたプログラムのファイル、不正動作パターン及び不正箇所の情報に基づいて、所定の手順に従って原因の分析、解析を行うものである。例えば、改竄の有無の解析処理、ウイルスチェック処理等によって内容を解析する。解析の結果、セキュリティ上、問題があるプログラムに関しては、使用禁止処理が施される。具体的には、実行許可リスト記憶部３０１、正常動作不審リスト記憶部３０２から削除される。また、解析終了を受けて、検査中リスト記憶部３０４に対して、当該検査中のリスト情報は削除される。
【００７４】
実行プログラム監視部３２３は、検査中にあるプログラムに対して操作部２１によって実行指令が出された場合、検知された不正動作パターンの部分のプロセスをスキップ等させることで、その実行を禁止するものである。なお、通信用のプログラムであって、通信状態に移行すると、途中でプログラムの停止が不可な場合、ＩＳＰ６へ繋がる出力ポートをＯＳをコントロールする等して閉塞して、不測の情報流出を禁止（すなわちプロセスの結果を無効に）するようにしてもよい。
【００７５】
図１２は、図５に示すシステムの端末１側での不正動作パターン検知処理を示すフローチャートである。図１３は、図５に示すシステムの端末１側での不正動作パターンリスト更新処理を示すフローチャートである。図１４は、図５に示すシステムの端末１側での検査中リストの更新処理を示すフローチャートである。図１５は、図５に示すシステムの端末１側での実行プログラム監視処理を示すフローチャートである。
【００７６】
まず、図１２において、プログラムが実行中か否かが判断され（ステップＳ１０１）、実行中でなければ、本フローを抜ける。実行中であれば、不正動作パターンが検知されたか否かが判断される（ステップＳ１０３）。不正動作パターンが検知されなければ、プログラムが終了するまで、検知動作が継続される（ステップＳ１０５でＮＯ）。一方、不正動作パターンが検知されると、当該プログラムのファイルを識別する情報、不正動作パターンを識別する情報及び当該プログラムの不正動作パターンの発生箇所の情報の転送指示及び記憶処理が実行されて（ステップＳ１０７）、ステップＳ１０３に戻る。
【００７７】
図１３において、不正動作パターンリストへの追加要求の有無が判断され（ステップＳ１１１）、要求がなければ、本フローを抜ける。一方、要求があれば、受信した不正動作パターンの情報が当該パターンを識別するための情報と共に不正動作パターンリスト記憶部３０３に追加的に記憶される（ステップＳ１１３）。
【００７８】
図１４において、検査中リストの更新要求の有無が判断され（ステップＳ１２１）、更新要求がなければ、本フローを抜ける。一方、更新要求があれば、検査中リストの追加か否かが判断され（ステップＳ１２３）、更新要求が検査中リストの追加であれば、リスト用情報の書き込みが実行され（ステップＳ１２５）、逆に、更新要求が検査中リストの削除であれば、指定されたリスト用情報の削除が実行される（ステップＳ１２７）。
【００７９】
図１５において、まず、操作部２１によって指示された実行予定のプログラムが検査中リストに含まれているプログラムか否かが判断される（ステップＳ１３１）。実行予定のプログラムが検査中リストに含まれていないプログラムである場合、本フローを抜ける。一方、実行予定のプログラムが検査中リストに含まれているプログラムである場合、プログラムの実行開始が判断され（ステップＳ１３３）、不正動作パターンの発生の有無が監視される（ステップＳ１３５）。実行中のプログラムのプロセスが不正動作パターンの発生箇所であれば（ステップＳ１３７）、当該プロセスがスキップさせられ、あるいはＯＳをコントロールしてプロセス実行の結果が無効とされる処理が実行される（ステップＳ１３９）。なお、いずれが実行されるかについては、プロセスがスキップ可能なプログラムであれば、そのようにし、プロセスの修正が不可なプログラムであれば、プロセス実行の結果が無効となる処理をＯＳをコントロールして行わせるように、予め設定されている。
【００８０】
次いで、プログラムの実行が終了したか否かが判断され（ステップＳ１４１）、終了していなければ、ステップＳ１３５に戻って監視が継続され、一方、終了したのであれば、本フローが終了する。
【００８１】
なお、本発明は、以下の対象が採用可能である。
【００８２】
（１）本実施形態では、会員間で、端末１を介して電子的な決済に関連する処理を行うようにした。従って、企業や団体等のようにＬＡＮ（Local Area Network）に複数の端末が接続された態様においても、それぞれ個々の端末１として対応することが可能である。一方、図１に示すように、本発明は、多数の端末がＬＡＮ８に接続された企業や団体の場合、以下の態様で適用可能である。すなわち、端末管理サーバ５のプログラム証明部５０に相当するプログラム証明サーバ８１をＬＡＮ８上に設け、ＬＡＮ８上の各端末１を管理するようにしてもよい。そして、ＬＡＮ８上の端末１は、このプログラム証明サーバ８１で前述した機能のうちの一部、例えば自社開発プログラムに対するプログラム証明機能を担当させるようにするのが好ましい。
【００８３】
（２）実行許可リストに対応するプログラム、証明スタンプが付与されたプログラム以外の、ウイルス感染の可能性の高いプログラムのファイルを定期的乃至は所定数溜まった時点で、あるいは所望の時点で、プログラムメモリ部２０２から削除するようにすることが好ましい。
【００８４】
（３）なお、端末管理サーバ５で、一旦、ウイルス感染等のファイルとして判断されたプログラムのファイルを、端末１側で不正ファイルリスト（ブラックリスト）として扱い、すなわち他のプログラムと区別して、起動指令毎に、端末管理サーバ５からの確認を受ける処理を行うことなく、直ちに実行不可とする処理を行ってもよい。あるいは、かかるプログラムのファイルに対して、前述の端末証明スタンプに対応するような、実行不可スタンプを付与（埋め込む）するようにしてもよい。このようにすることで、端末管理サーバ５との通信を省略することが可能となる。
【００８５】
（４）また、本実施形態では、端末証明スタンプ付与部５１４を端末管理サーバ５側に設けたが、本発明は、これに限定されず、プログラム監視部３のソフトウエアに含まれる態様で、各端末１側に設置されるようにしてもよい。このようにすれば、端末証明スタンプの付与処理の都度、対象となるプログラムをスタンプ付与前後にネットワークで往復させる必要がない。具体的には、端末管理サーバ５は、端末証明スタンプ記憶部５０１を有し、各端末１のスタンプを原本として記憶しており、所望時点で又はスタンプ付与が必要な時点で、各端末１から送信されてくるスタンプ送信要求信号に応じて、要求された１又は所要数の当該端末１の固有のスタンプを発行するスタンプ発行部５２０（図３参照）を備える。端末１側は、発行されたスタンプを受信して記憶部２００に一時的に記憶し、さらに、端末証明スタンプ付与部５１４に相当する機能部を端末１側に備える。この端末１側に備える新たな端末証明スタンプ付与部３３０（図３参照）は、前述したような、サブプログラムのファイルや、自端末で作成したプログラムのファイルに対して、スタンプの記憶部２００からスタンプを読み出して付与する（埋め込む）処理を実行する。なお、端末管理サーバ５から発行され、スタンプ記憶部に保管されるスタンプは、例えば識別情報（例えば連番）が付される等することで複製を抑制している。
【００８６】
（５）本実施形態では、照合元情報として、プログラムのファイルのハッシュ値その他の情報を用いたが、ハッシュ値とヘッダー関連情報とを用いたものとしてもよい。プログラムのファイルは、先頭領域にヘッダー情報を有し、次のセクションに、プログラムのためのテキストデータ、実行ファイルデータが書き込まれている。ヘッダー情報には、これらそれぞれのエントリーポイント、サイズデータが記録される。従って、実行ファイルデータ領域に何らかの変化（代表的にはウイルス感染）があれば、エントリーポイント、サイズデータの少なくとも一方に変化が表れることになる。そこで、ヘッダー情報をそのまま、又はそれから算出したハッシュ値、あるいはエントリーポイント及びサイズデータをヘッダー関連情報として採用する態様としてもよい。
【００８７】
以上のとおり、本発明は、ネットワークに接続され、操作部からの指示に従って所与のプログラムが実行可能にされた複数の端末と、前記ネットワークに接続され、前記各端末における前記プログラムの実行の許否に関する監査を行う管理サーバとを備え、前記端末は、前記所与のプログラムが更新的に記憶されるプログラム記憶部と、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶する実行許可リスト作成手段と、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断する判断手段と、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断する第１の照合手段と、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信する照合情報作成手段と、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示する実行許否手段とを備え、前記管理サーバは、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶される照合元情報記憶部と、前記端末から受信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報との照合し、その結果を前記返信信号として当該端末に返信する第２の照合手段とを備えたことを特徴とするセキュア監査システムである。この構成によれば、実行許可リストに含まれるリストに対応するプログラムであっても、端末側での自己診断によって改竄やウイルス感染等のチェックを行い、しかも、実行許可リストに含まれないプログラムについては、管理サーバとの間でセキュリティ監査を行って、セキュアなプログラムのみを実効可能にしたので、仮に、後にファイル内にウイルスが侵入して感染したとしても、起動されることがない。
【００８８】
また、前記第１の照合用情報は、前記各プログラムのファイルから生成されるハッシュ値を含むことが好ましい。この構成によれば、プログラムのファイルから生成されるハッシュ値は少ない所定ビットで、かつ改竄やウイルス感染の有無等のプログラム毎に一意の情報であることから、照合用として的確である。
【００８９】
また、前記第２の照合用情報及び前記照合元情報は、前記第２の照合用情報及び前記照合元情報は、プログラムのファイルから生成されるハッシュ値及び当該プログラムのファイルのヘッダー領域に記憶されているヘッダー情報に対応するヘッダー関連情報を含むことが好ましい。この構成によれば、ハッシュ値以外に実行ファイル領域の変化を検知することが可能となり、判断の信頼度の向上が図れる。
【００９０】
また、前記端末は、前記第２の照合手段による照合の結果が不一致であった場合、前記所与のプログラムを前記プログラム記憶部から読み出して前記管理サーバに送信する第１の転送手段を備え、前記管理サーバは、前記転送手段から送信された前記所与のプログラムのウイルス感染の有無をチェックし、ウイルス感染している場合には、前記実行許否手段に当該所与のプログラムの実行を不許可にするべく信号を返送するウイルスチェック手段を備えることが好ましい。この構成によれば、まず照合情報の一致の有無を判断し、不一致の場合にウイルスチェックを行うようにしたので、毎回ウイルスチェックをする必要がなくなる。
【００９１】
また、前記端末は、前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、前記操作部からの指示を受けて前記マクロのプログラムを前記プログラム記憶部にインストールする前に、前記管理サーバに送信する第２の転送手段とを備え、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、当該端末の固有証明情報を前記受信したマクロのプログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、前記端末は、さらに、前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムは正常動作不審リストに対応するものとされる一方、このマクロのプログラムのファイルに、端末に固有の固有証明情報が付与（例えば、埋め込み）されてプログラム記憶部にインストールされる。そして、後に、このマクロのプログラムについて実行指示があったとき、当該マクロのプログラムのファイルに付与された固有証明情報と、管理サーバに保管されている、いわば原本と見なされる固有証明情報との照合が行われるので、マクロの数値データが変わっても、不正な改竄やウイルス感染がチェックできる。
【００９２】
また、前記端末は、前記操作部を介してプログラムを作成するプログラム作成手段と、前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、前記操作部からの指示を受けて前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムを前記管理サーバに送信する第２の転送手段とを備え、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、当該端末の固有証明情報を前記受信した新規プログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、前記端末は、さらに、前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、自端末で作成された新規プログラムは正常動作不審リストに対応するものとされる一方、この新規プログラムのファイルに、端末に固有の固有証明情報が付与（例えば、埋め込み）されてプログラム記憶部にインストールされる。そして、後に、この新規プログラムについて実行指示があったとき、当該新規プログラムのファイルに付与された固有証明情報と、管理サーバに保管されている、いわば原本と見なされる固有証明情報との照合が行われるので、不正な改竄やウイルス感染がチェックできる。
【００９３】
また、前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することが好ましい。この構成によれば、固有証明情報の照合結果が不一致である場合、照合情報の照合を行うので、信頼度の高精度が測れる。
【００９４】
また、前記端末は、前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段を備え、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、前記端末は、さらに、前記操作部からの指示を受けて、前記マクロのプログラムを前記プログラム記憶部にインストールする前に、当該マクロのプログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、予め固有証明情報の発行を予め受けておくことが可能となる。そして、必要時に固有証明情報をマクロのプログラムのファイルに添付することが可能となる。
【００９５】
また、前記端末は、前記操作部を介してプログラムを作成するプログラム作成手段と、前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、前記端末は、さらに、前記操作部からの指示を受けて、前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、予め固有証明情報の発行を予め受けておくことが可能となる。そして、必要時に固有証明情報を新規プログラムのファイルに添付することが可能となる。
【００９６】
また、前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することが好ましい。この構成によれば、固有証明情報の照合結果が不一致である場合、照合情報の照合を行うので、信頼度の高精度が測れる。
【００９７】
また、前記端末は、前記実行許可リストに含まれるリストに対応するプログラムの不実行状態が所定期間を超えたか否かを監視する監視手段と、前記不実行状態が前記所定期間を超えたプログラムのリストを前記実行許可リストから削除するリスト削除手段とを備えることが好ましい。この構成によれば、実行許可リストに含まれるリストに対応するプログラムであっても、所定期間不実行であれば、その間に換算やウイルス感染機会も増えることから、一旦、実行許可リストから削除し、セキュリティの信頼性の低下したプログラムについては、格下げを行うものとした。
【符号の説明】
【００９８】
１  端末
２  端末処理部
２１  操作部
３  プログラム監視部
５  端末管理サーバ
７  ネットワーク
２０２  プログラムメモリ（プログラム記憶部）
２１１プログラム実行処理部
２１２  プログラム作成処理部（プログラム作成手段）
３０１  実行許可リスト記憶部
３０２  正常動作不審リスト記憶部
３０３  不正動作パターンリスト記憶部
３０４  検査中リスト記憶部
３１１  プログラム特定部（判断手段）
３１２  ハッシュ値作成部（第１の照合手段）
３１３  ハッシュ値照合部（第１の照合手段）
３１４  実行許否部（実行許否手段）
３１５  照合情報作成部（照合情報作成手段）
３１６  転送部（転送手段）
３１７  更新部（実行許可リスト作成手段、正常動作不審リスト作成手段、リスト削除手段、インストール処理手段）
３１８  スタンプ有無判断部
３１９  使用実績監視部（監視手段）
３２０  端末証明スタンプ照合部（固有証明情報照合手段）
３２１  不正動作パターン更新部
３２２  不正動作パターン検知部
３２３  実行プログラム監視部
３３０  端末証明スタンプ付与部（固有証明情報付与手段）
５０１  照合元情報データベース（照合元情報記憶部）
５０２  ウイルスパターン記憶部
５０３  端末証明スタンプ記憶部（固有証明情報記憶部）
５１１  実行許否判断部（第２の照合手段）
５１２  ウイルスチェック部
５１３  実行許否信号作成部
５１４  端末証明スタンプ付与部（固有証明情報付与手段）
５１５  不正動作パターン作成部
５１６  不正動作パターン検査部（インストール処理手段）
５２０  スタンプ発行部（発行手段）
【図１】
2011030455.tif 000003
【図２】
2011030455.tif 000004
【図３】
2011030455.tif 000005
【図４】
2011030455.tif 000006
【図５】
2011030455.tif 000007
【図６】
2011030455.tif 000008
【図７】
2011030455.tif 000009
【図８】
2011030455.tif 000010
【図９】
2011030455.tif 000011
【図１０】
2011030455.tif 000012
【図１１】
2011030455.tif 000013
【図１２】
2011030455.tif 000014
【図１３】
2011030455.tif 000015
【図１４】
2011030455.tif 000016
【図１５】
2011030455.tif 000017
【手続補正書】
【提出日】平成24年7月9日(2012.7.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続され、所与のプログラムが実行可能な端末のセキュリティに関する監査を行う技術に関する。
【背景技術】
【０００２】
従来、インターネット上での各種ウイルスによる被害は多様化、拡大化しており、電子社会（ネット社会）を構築するに当たって、ウイルス対策は喫緊の課題となっている。現状、コンピュータに対しては、ＯＳ（Operating System）や脆弱性を有するアプリケーションに対するセキュリティパッチの適用、ウイルス定義ファイルの更新、及びウイルスチェックの実行による対策が採られている。しかしながら、対策が全てのコンピュータに行き亘るまでに時間を要し、その間にウイルス感染する虞が高く、効果にも一定の限界がある。
【０００３】
そこで、他の対策として、ウイルスに感染したファイルの実行を未然に阻止する技術も種々提案されている。特許文献１には、簡単かつ効果的にウイルスファイルの実行を防ぐ情報処理装置が記載されている。この情報処理装置は、サーバに設けられたグローバルデータベースに格納されている複数のファイルのうち、端末を介してのユーザからの指示により実行対象とされたファイルの名前が、所定の命名規則に合致するか否かを判別する判別部と、命名規則に合致しなければ、実行対象ファイルはウイルスに対して安全なファイルであるとして実行を許可し、前記命名規則に合致したときには、実行対象ファイルはウイルスに対して危険なファイルの可能性があるとしてユーザに警告する実行処理部とを有する。そして、前記実行処理部は、警告後、ユーザによって再度実行が指示されたときには、命名規則に合致したファイルの実行を許可する一方、ユーザによって実行の取り消しが指示されたときには、ファイルの実行を取り消すようにしている。このように、再度実行が指示されたファイルは、安全に実行できるとされるファイルを示す安全ファイルリストを保持する安全ファイルリスト保持部に登録するようにしている。一方、特許文献１には、実行を禁止すべきファイルを示す禁止ファイルリストを保持する禁止ファイルリスト保持部を備え、命名規則に合致しないファイルであっても、禁止ファイルリストに登録されていれば、そのファイルの実行を許可しないようにしたことが記載されている。このように、安全ファイルリスト、危険ファイルリストを活用することで簡単かつ効果的にウイルスファイルの実行を防ぐようにしている。
【０００４】
しかしながら、特許文献１は、ウイルス感染の可能性（危険度）の高低に関わらず、警告表示のみで、あくまでユーザの最終的な意志に依存してファイルの実行の許否を決定しているため、ウイルス感染ファイルを実行する虞が高いという問題がある。
【０００５】
また、特許文献２には、複数の端末装置が接続されたネットワーク上に監視装置を配置して各端末装置の特徴情報を取得可能にし、取得した特徴情報から、脆弱性のあるソフトウエアを持つ端末装置、又はマルウェアに感染した端末装置を効率的に検出して、的確な対策を講じることができるソフトウエアの監視システムが記載されている。しかしながら、特許文献２に記載のシステムは、端末装置のセキュリティレベルを知る上で好適であるとしても、例えばハッシュ値の変化を検知してからウイルス対策を講じる等（特許文献２の段落番号００１９〜００２０）、依然として無視しがたいタイムラグが存在している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１４８８０５号公報
【特許文献２】特開２００６−０４０１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、端末にインストールされているプログラムのファイルに対してウイルス感染の危険性をチェックし、未感染のファイルに対してプログラムの実行を許可することでウイルスを起動させないセキュア監査方法及びそのシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明に係るセキュア監査システムは、ネットワークに接続され、操作部からの指示に従って所与のプログラムが実行可能にされた複数の端末と、前記ネットワークに接続され、前記各端末における前記プログラムの実行の許否に関する監査を行う管理サーバとを備え、前記端末は、前記所与のプログラムが更新的に記憶されるプログラム記憶部と、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶する実行許可リスト作成手段と、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断する判断手段と、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断する第１の照合手段と、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信する照合情報作成手段と、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示する実行許否手段とを備え、前記管理サーバは、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶される照合元情報記憶部と、前記端末から受信された前記第２の照合用情報と、前記照合元情報記憶部に記憶されている前記照合元情報との照合し、その結果を前記返信信号として当該端末に返信する第２の照合手段とを備えたことを特徴とするものである。
【０００９】
また、本発明に係るセキュア監査方法は、ネットワークに接続された個々の端末によるプログラムの実行の許否を制御するセキュア監査方法において、前記端末のプログラム記憶部に、前記所与のプログラムが更新的に記憶されており、前記端末の実行許可リスト作成手段が、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶し、前記端末の判断手段が、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断し、前記端末の第１の照合手段が、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断し、前記端末の照合情報作成手段が、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信し、前記ネットワークに接続された前記管理サーバの照合元情報記憶部に、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶されており、前記管理サーバの第２の照合手段が、前記端末から受信された前記第２の照合用情報と、前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信し、前記端末の実行許否手段が、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示することを特徴とするものである。
【００１０】
これらの発明によれば、ネットワークに接続された個々の端末によるプログラムの実行の許否がセキュア監査に基づいて制御される。すなわち、前記端末のプログラム記憶部に、前記所与のプログラムが更新的に記憶されており、前記端末の実行許可リスト作成手段によって、前記所与のプログラムのうちの所定のプログラムについてリストが作成され、実行許可リスト記憶部に更新的に記憶される。そして、前記端末の判断手段によって、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かが判断され、前記端末の第１の照合手段によって、前記判断手段による判断が肯定された場合に、当該所与のプログラムが前記プログラム記憶部から読み出されて第１の照合用情報が作成され、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同が判断される。前記端末の照合情報作成手段によって、前記判断手段による判断が否定された場合に、前記所与のプログラムが前記プログラム記憶部から読み出されて第２の照合用情報が作成され、前記管理サーバに送信される。管理サーバでは、照合元情報記憶部に、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶されている。そして、前記管理サーバの第２の照合手段によって、前記端末から受信された前記第２の照合用情報と、前記照合元情報記憶部に記憶されている前記照合元情報とが照合され、その結果が前記返信信号として当該端末に返信される。そこで、前記端末の実行許否手段によって、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否が指示されることになる。
【００１１】
従って、実行許可リストに含まれるリストに対応するプログラムであっても、端末側での自己診断によって改竄やウイルス感染等のチェックを行い、しかも、実行許可リストに含まれないプログラムについては、管理サーバとの間でセキュリティ監査を行って、セキュアなプログラムのみを実効可能にしたので、仮に、後にファイル内にウイルスが侵入して感染したとしても、起動されることがない。
【発明の効果】
【００１２】
本発明によれば、ウイルス未感染のファイルに対してプログラムの実行を許可することによってウイルスを起動させないようにして、端末をセキュア状態に維持することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明に係るセキュア監査システムが適用されるネットワークシステムの概略構成図である。
【図２】プログラムのファイルのハッシュ値を利用して実行の許否を判定する処理を説明する図面である。
【図３】端末１毎の正常動作が不審なプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。
【図４】自己の端末１で作成したプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。
【図５】不正動作パターンの実行を禁止する処理を説明する図面である。
【図６】図２に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。
【図７】図２、図３、図４に示すシステムの端末管理サーバ５側のウイルス監視処理を示すフローチャートである。
【図８】図３に示すシステムの端末１側でのマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。
【図９】図３に示すシステムの端末管理サーバ５側のマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。
【図１０】図３、図４に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。
【図１１】図３、図４に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。
【図１２】図５に示すシステムの端末１側での不正動作パターン検知処理を示すフローチャートである。
【図１３】図５に示すシステムの端末１側での不正動作パターンリスト更新処理を示すフローチャートである。
【図１４】図５に示すシステムの端末１側での検査中リストの更新処理を示すフローチャートである。
【図１５】図５に示すシステムの端末１側での実行プログラム監視処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
図１は、本発明に係るセキュア監査システムが適用されるネットワークシステムの概略構成図である。図１に示すネットワークシステムは、例えば、会員である、消費者や商店乃至は企業等、更には決済を行う１又は複数の金融機関に配置される端末１と、これらの各端末１及び端末１間での情報の管理及び保管を統括的に行う管理機関に配設された会員情報サーバ４と、端末１のセキュリティ管理を行う端末管理サーバ５を備える。
【００１５】
端末１は、一般的にはＣＰＵ（Central Processing Unit）を内蔵するパーソナルコンピュータ等で構成されている。端末１内には、一般的な文書や図形の作成ソフトウエアを利用しての情報の作成、加工、記憶、更に通信用のソフトウエアを利用しての情報の送受信等の一般的な各処理を実行する端末処理部２と、後述するプログラムの監査処理を実行するプログラム監視部３とを備える。より具体的には、消費者、商店及び企業等の端末１には、端末処理部２として、商品やサービスの売買、見積もり乃至は請求、入出金に関する各書類の作成と通信とを行うソフトウエアがインストールされる。すなわち、端末１は、一般的な商取引における決済、例えば業者店舗からの請求書の発行、受領や、購買者側から請求書発行元の契約金融機関の口座への入金（すなわち支払い）指示書、その受領書の発行の他、電子決済の如何を問わず種々の電子書面での送受信処理を可能とするものである。端末１は、各種書類をテキスト形式の、またバイナリー形式の電子ファイルとして作成可能である。電子ファイルは、例えば会員情報サーバ４を中継して端末１間で授受される。各金融機関の端末１には、消費者や企業の端末１からの金融的な決済書面に従った決済指示処理（金融機関間での決済処理の指令等）を行うソフトウエアもインストールされている。
【００１６】
会員情報サーバ４は、必要に応じて会員に関する適宜な情報、例えば会員の氏名、名称、メールアドレス、住所等の会員情報を記憶するものである。また、会員情報サーバ４は、さらに、各会員のファイル送受信履歴やそのファイル類等を管理用に記憶する記憶部を備えてもよい。端末管理サーバ５は、端末１のセキュリティを管理するためのソフトウエアの作成、及び配布を行う主体である所定のシステム監査団体が運営する。
【００１７】
また、本システムは、他の適用例として、秘密情報を作成、保管管理する、例えば公的機関である団体組織内のＬＡＮに接続された複数の端末１間での情報通信、さらに団体組織外にある端末との間における情報通信・管理体制に適用する例を挙げることができる。なお、団体組織内の端末１及びＬＡＮに対してプログラム監視部３、会員情報サーバ４及びプログラム証明部５を適用する場合、このＬＡＮが本発明に係るネットワークとして位置づけられる。
【００１８】
本システムは、ハードウエア的にはインターネットのネットワークを用いる。すなわち端末１はインターネットに接続される一方、後述するようにインターネットとの間ではソフトウエア的に端末１及び端末１間でのセキュリティを確保するようにしている。本発明によってソフトウエア的にセキュリティが確保され、端末１が接続されるネットワークという観点で、インターネットとは異なる専用ネットワークとして扱い得る。これにより、新たなインフラを必要としないシステムの構築が可能で、かつ各端末１は必要に応じてインターネットを経由して他のパーソナルコンピュータとの間で通常の情報通信及びインターネット上のＷｅｂサイトの検索、閲覧及び情報の取得が可能である。
【００１９】
図１において、端末１はプロバイダ（ＩＳＰ）６を介してネットワーク７に接続されている。ＩＳＰ６には、複数の端末１が接続されている。なお、図１には示されていないが、ＩＳＰ６には、各種の情報を提供するＷｅｂサイトを有するサーバが、適宜の数だけ接続されている。また、ＩＳＰ６に接続される端末１には、プログラム監視部３がインストールされている端末１と、プログラム監視部３がインストールされていない通常の端末１’とが存在する。プログラム監視部３は、後述するように端末１で実行されるプログラムのファイルがウイルスに感染しているか否かを事前にチェックし、ウイルスに感染していないプログラムのファイルのみを実行させ、すなわちウイルスに感染している可能性のあるプログラムのファイルの実行を禁止するためのソフトウエア及び監査に必要なデータベースを含むものである。
【００２０】
端末管理サーバ５は、ネットワーク７に接続されている端末の内、プログラム監視部３であるソフトウエアをインストールした端末１に対して、後述するウイルス対策を行うプログラム証明部５０を備える。すなわち、端末１で実行されるプログラムのファイルに対し、その実行前にウイルスに感染していないことを証明する。
【００２１】
図２〜図５は、端末１の端末処理部２、プログラム監視部３及びプログラム証明部５０の有する機能をそれぞれブロック化した構成図を示すものである。図２〜図５は、説明及び作図の便宜上、各機能を適宜に分けて表している。図２は、プログラムのファイルのハッシュ値を利用して実行の許否を判定する処理を説明する図面である。図３は、端末１毎の正常動作が不審なプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。図４は、自己の端末１で作成したプログラムのファイルについて端末証明スタンプ（固有証明情報）の埋め込みに関する処理を説明する図面である。図５は、不正動作パターンの実行を禁止する処理を説明する図面である。
【００２２】
図２において、端末１の端末処理部２は、記憶部２００と制御部２１０とを備えている。制御部２１０は、指示されたプログラムを実行させるプログラム実行処理部２１１を備えている。また、端末処理部２は、情報の表示や情報処理（すなわち、対応するプログラムの実行）の指示等を行うためのマウスやキーボードからなる操作部２１や入力情報や処理結果の表示を行う表示部２２を備えている。記憶部２００は、ＯＳ（Operating System）やＢＩＯＳ（Basic
Input/Output System）等を記憶するＲＯＭ（Read Only Memory）２０１と、ＲＡＭ（Random Access Memory）からなる。ＲＡＭは、所与の処理に必要な各種のアプリケーションプログラムのファイルを記憶するプログラムメモリ部２０２と、外部との入出力部に設けられ、受信情報を一時的に記憶するバッファメモリ部２０３とを備えている。なお、ＲＡＭは、処理途中の情報を一時的に記憶するワークメモリ領域も有する。
【００２３】
プログラム監視部３は、プログラムのファイルを監視するためのソフトウエアが端末１に個別にインストールされた結果得られた、プログラムのファイルの監視に必要な情報を記憶する記憶部３００と監視プログラムを実行するための制御部３１０とを有する。記憶部３００は、本実施形態では、端末処理部２の記憶部２００の一部領域を利用するのが好ましい。記憶部３００は、図２に示すように、実行許可リスト記憶部３０１を有する。実行許可リストとは、端末１毎に作成されるリストであって、当該端末１においてウイルスに感染していないとして端末管理サーバ５によって実行が許可されたプログラムのファイルを識別するためのリスト用情報である。実行許可リストの各リスト用情報には、プログラムのファイルから得られる（一意の）ハッシュ値を少なくとも含んでいる。バイナリーコードで構成されたプログラムのファイルから当該プログラムのハッシュ値を作成する方法は種々存在し、いずれの方法も採用可能である。例えば、プログラムのファイルの全体あるいは予め定めた範囲の所定ビット分を取り出して２分割し、次に、この２分割された各コード群の所定の論理処理、例えば論理積を施して新たなコード情報を作成し、新たなコード情報を更に２分割し、論理処理を施すといった処理を、所定ビット数に達する（減る）まで繰り返すものである。そして、プログラムメモリ部２０２への登録時にプログラムのファイルから得られた所定ビットのコード情報を得、これをハッシュ値として扱えばよい。また、ハッシュ値の他、プログラムのベンダー情報、プロダクト情報を備えていてもよく、さらにはバージョン情報を備えてもよい。
【００２４】
なお、プログラムのファイルの監視のためのソフトウエアは、外部記録媒体９、例えばハードディスク、光ディスク、フレキシブルディスク、ＣＤ、ＤＶＤ、ＵＳＢメモリ、半導体メモリ等に書き込まれており、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等の公知のドライバを介して読み取り可能にされて、端末１の記憶部２００の適所領域（ＲＡＭ領域）に取り込まれる（インストール）される。または、会員の端末１から、管理団体のコンピュータ（会員情報サーバ４又は端末管理サーバ５等）に対して所定の発行要求を送信することで、当該ソフトウエアを受信し、インストールする態様としてもよい。あるいは、当該プログラムが搭載された拡張ボードを組み込む態様でもよい。そして、ソフトウエアをインストールするに際して、会員登録のための情報入力を、例えば表示部２２を介して求められ、必要な情報を入力することで、会員情報サーバ４に登録されるようにすればよい。
【００２５】
制御部３１０は、プログラムのファイルの監視のためのインストールされたソフトウエアが記憶部２００の適所領域から読み出されて端末処理部２のＣＰＵで実行されることで、操作部２１によって指定された処理を実行するためのプログラムのファイルを特定する実行プログラム特定部３１１と、指定されたプログラムのファイルが実行許可リスト記憶部３０１に含まれている場合に、当該プログラムのファイルのハッシュ値（第１の照合用情報）を作成するハッシュ値作成部３１２、作成したハッシュ値と実行許可リスト記憶部３０１内の当該プログラムのファイルのリスト用情報に含まれるハッシュ値との異同を判断するハッシュ値照合部（第１の照合手段）３１３と、ハッシュ値が一致した場合に、当該プログラムの実行を許可する指示信号を、また、不一致の場合に当該プログラムの実行を禁止する指示信号を生成し、プログラム実行処理部２１１に出力する実行許否部３１４と、指定されたプログラムのファイルが実行許可リスト記憶部３０１に含まれていない場合に、当該プログラムのファイルにおける照合用情報（第２の照合用情報）を作成する照合情報作成部３１５と、指定されたプログラムのファイルをプログラムメモリ部２０２から読み出してウイルス検査対象として端末管理サーバ５に転送する転送部３１６と、検査対象のプログラムのファイルがウイルスに感染していないと判断した場合に、当該プログラムのファイルのプログラム識別情報（リスト用情報）を作成し、前記実行許可リスト記憶部３０１に追加することで、前記実行許可リスト記憶部３０１の内容を更新する更新部３１７として機能する。また、更新部３１７は、ハッシュ値照合部３１３での結果が不一致の場合に当該プログラムのリスト用情報を実行許可リスト記憶部３０１から削除する処理を行う。
【００２６】
プログラム特定部３１１は、操作部２１で指定された処理を実行するプログラムを特定し、特定されたプログラムが実行許可リスト記憶部３０１に含まれるリストに対応するプログラムであるか否かを判断し、判断結果が含まれることとなった場合には、その情報に基づいて読出指示信号を生成し、実行許可リスト記憶部３０１及びプログラムメモリ部２０２に送信するものである。この読出指示信号は、プログラムメモリ部２０２から対応するプログラムのファイルをハッシュ値作成部３１２に読み出すと共に、実行許可リスト記憶部３０１から対応するプログラムのリスト用情報内のハッシュ値をハッシュ値照合部３１３に読み出す。また、プログラム特定部３１１は、前記判断が含まれないこととなった場合には、照合情報作成部３１５に照合情報を作成する指示信号を生成するものである。なお、実行可能なプログラムファイルには、ＯＳが判断するためのヘッダー情報としてのＭＺ及びＰＥ（Portable Executable Header）ヘッダーが存在しているため、例えば、これらのヘッダー情報の有無を利用して、読み込むプログラムファイルを特定することが可能である。
【００２７】
ハッシュ値作成部３１２は、入力されたプログラムのファイルから予め設定される（実行許可リスト記憶部３０１のリスト用情報のハッシュ値の作成ルールと同一の）ルールを用いてハッシュ値を算出するものである。ハッシュ値照合部３１３は、ハッシュ値作成部３１２で作成されたハッシュ値と実行許可リスト記憶部３０１内の当該プログラムのファイルのハッシュ値との異同を照合するもので、照合結果である一致、不一致のいずれかの信号を実行許否部３１４に出力するものである。ハッシュ値が一致すれば、両プログラムのファイルは一致したと見なすことができ、不一致であれば、両プログラムのファイルは異なると見なすことができる。一律にハッシュ値を照合することで、実行許可リスト記憶部３０１に含まれるリストのプログラムのファイルであっても、インストール後に、一部が改竄されて別バージョンとされたり、ウイルスに感染したりした場合に、かかる改竄等を見落とすことなく検知し得るようにしたものである。好ましくは、プログラムのファイルの略全体を用いてハッシュ値を算出する方法を採用することで、改竄を検出することが可能となる。
【００２８】
実行許否部３１４は、端末１内からの、すなわちハッシュ値照合部３１３からの照合結果の信号を受けて、また、後述するように、実行予定のプログラムが実行許可リストに含まれているプログラムでない場合における端末管理サーバ５からの許否信号を受けて、プログラムを実行を指示（許可）する信号、実行の禁止を指示（不許可）する信号を生成するものである。
【００２９】
端末管理サーバ５は、プログラム証明部５０及び操作部５１を有し、管理者のために必要に応じて表示部を有する。プログラム証明部５０は、所要の情報を記憶する領域及び処理途中の情報を一時的に記憶するワークエリアを有する記憶部５００と接続されている。プログラム証明部５０は、ＣＰＵを有するコンピュータで構成された制御部５１０を備えている。記憶部５００は、端末１毎の照合元情報データベース５０１を有する。照合元情報データベース５０１は、各端末１においてプログラムのファイルから作成される照合用情報との照合を行うための、端末１毎の照合元情報として記憶するものである。照合元情報データベース５０１内の照合元情報は、当該プログラムのファイルが最初に当該端末１のプログラムメモリ２０２にインストールされる際に作成され、格納されるようにしている。照合情報作成部３１５で作成される照合用情報に対応するものである。照合用情報及び照合元情報は、前述したハッシュ値の他、プログラムのベンダー情報、プロダクト情報を備え、さらにバージョン情報を備えたものとするのが、信頼性の点で好ましい。
【００３０】
制御部５１０は、証明プログラムをＣＰＵに読み出して実行することによって、実行許否判定部（第２の照合手段）５１１、ウイルスチェック部５１２及び実行許否信号作成部５１３として機能する。
【００３１】
実行許否判定部５１１は、実行予定のプログラムが実行許可リストに含まれるリストに対応するプログラムにない場合に、前述の照合用情報と照合元情報との照合処理を実行し、その異同を判断し、実行許否信号を生成するものである。ウイルスチェック部５１２は、実行予定のプログラムのファイルに対してウイルススキャンを実行し、公知のパターンマッチング手法等によってウイルス感染の有無を検知し、その結果から実行許否信号（実行許可信号、事項不許可信号）を出力するものである。ウイルスチェック部５１２は、継続的に入手する各ウイルスのパターンが更新的に記憶されたウイルスパターン記憶部５０２を用いて、パターンマッチングでチェックを行う。
【００３２】
実行許否信号作成部５１３は、実行許否判定部５１１及びウイルスチェック部５１２以外の態様で、操作部５１からの操作に従って、前述と同様の実行許否信号を生成するものである。実行許否信号作成部５１３は、照合及びウイルスチェックによっても不正が発見出来ない場合に、管理者により、あるいはより高度な外部専門家（アンチウイルス等のソフトウエア含む）によるチェックを経ての不正の有無の結論を受けて操作部５１からの実行許否に対する指示によって許否信号を作成する。また、操作部５１の上記指示により、併せて、当該照合用情報を新たな照合元情報として照合元情報データベース５０１に更新記憶する。
【００３３】
図６は、図２に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。図７は、図２に示すシステムの端末管理サーバ５側のウイルス監視処理を示すフローチャートである。
【００３４】
まず、図６において、操作部２１からプログラム実行指令が入力されたか否かが判断され（ステップＳ１）、指令が入力されていなければ、本フローを抜ける。一方、指令が入力されたのであれば、この指令によって実行対象となったプログラムのファイルが特定され（ステップＳ３）、次いで、この実行対象のプログラムの実行が、監視処理のために一旦保留され（ステップＳ５）、さらに、この実行対象のプログラムが実行許可リスト記憶部３０１に含まれるリストに対応するプログラムに含まれるか否かが判断される（ステップＳ７）。この判断が肯定されると、かかる実行対象のプログラムのファイルのハッシュ値が実行許可リスト記憶部３０１からハッシュ値照合部３１３に読み出される（ステップＳ９）。続いて、かかる実行予定のプログラムのファイルがプログラムメモリ部２０２からハッシュ値作成部３１２に読み出されて、所定のルールに従ってハッシュ値が作成される（ステップＳ１１）。そして、両ハッシュ値が照合され（ステップＳ１３）、一致したかどうかが判定される（ステップＳ１５）。照合結果が一致であれば、実行許可信号が作成されてプログラム実行処理部２１１に出力される（ステップＳ１７）。この結果、プログラム実行処理部２１１によって実行対象のプログラムの実行が開始（すなわち、実行対象プログラムが起動）される（ステップＳ１９）。一方、ステップＳ１５で、照合結果が不一致であれば、当該プログラムに対応するリスト用情報が実行許可リスト記憶部３０１から削除され、かつ当該プログラムがプログラムメモリ部２０２から削除される（ステップＳ２１）。すなわち、当該プログラムの実行が禁止されることと同義となる。
【００３５】
一方、ステップＳ７での判断が否定されると、実行対象プログラムのファイルが読み出され、照合情報作成部３１５によって照合用情報が作成される（ステップＳ２３）。そして、作成された照合用情報は端末管理サーバ５のプログラム証明部５０に送信される（ステップＳ２５）。
【００３６】
次いで、端末管理サーバ５から許否信号の受信の有無が判断される（ステップＳ２７）。許否信号が受信されたのであれば、その受信信号が実行許可信号か否かが判断される（ステップＳ２９）。受信信号が実行許可信号であれば、実行許否部３１４で実行を許可する所定の指示信号に変換され、この変換された実行許可信号によって実行許可リスト記憶部３０１へのリスト更新処理の開始が指示され（ステップＳ３１）、続いて、ステップＳ１９に進んで、実行対象のプログラムの実行が開始される。一方、ステップＳ２９で、受信信号が実行許可信号でなければ、すなわち実行不許可信号であれば、実行対象のプログラムのプログラムメモリ２０２からの削除が行われる（ステップＳ３５）。ステップＳ３１におけるリスト更新処理とは、実行が許可されたプログラムは、ウイルス感染がないと判断して、更新部３１７によって実行許可リスト記憶部３０１のリスト用情報と同一フォーマットで、ハッシュ値、その他の所与の情報が作成されて、追加される。
【００３７】
また、ステップＳ２７における許否信号の未受信状態が、所定期間継続されると（ステップＳ３３でＹＥＳ）、プログラムの実行は一時保留状態から実行禁止へと変更される（ステップＳ３７）。ステップＳ３７は、ウイルス検査その他、不正の有無の検査に時間を要する場合のあることを想定したものである。検査結果が得られた場合に、当該検査対象中のプログラムに対して処分が行われる。処分とは、端末管理サーバ５からの指示に基づく、例えばプログラムメモリ部２０２からの削除処理である。なお、所定期間とは、操作部２１で指定後、通常実行開始されるまでの時間より多少長い時間であって、例えば、数秒乃至１０秒程度をいう。その間、あるいは所定時間を超えた段階で、例えば表示部２２にウイルス監査中を示唆する報知を行ってもよい。報知は表示の他、スピーカが装着されている場合、音声で行う態様でもよい。
【００３８】
次に、図７において、照合用情報が受信されたか否かが判断される（ステップ＃１）。照合用情報が受信されていなければ、本フローを抜ける。一方、照合用情報が受信されたのであれば、受信した照合用情報と照合元情報データベース５０１内の照合元情報との照合が行われる（ステップ＃３）。両信号が一致したのであれば（ステップ＃５でＹＥＳ）、実行許可信号が作成され、照合用情報の送信元である端末１に返信される（ステップ＃７）。
【００３９】
一方、ステップ＃５で、両信号が不一致であれば、ウイルスチェック処理が実行される（ステップ＃９）。ウイルスチェック処理は、照合情報の送信元である端末１の転送部３１６に対して、実行対象のプログラムのファイルの転送を要求し、転送された当該実行対象のプログラムのファイルに対して、例えばパターンマッチング手法でチェックされる。ウイルス感染が認められれば（ステップ＃１１でＹＥＳ）、実行不許可信号が生成されて、実行対象プログラムのファイルの送信元である端末１に返信される（ステップ＃１３）。
【００４０】
逆に、ステップ＃１１で、ウイルス感染が認められなければ、操作部５１からの不正か否かを示す信号の入力の有無が判断される（ステップ＃１５）。信号入力が不正信号であれば（ステップ＃１７でＹＥＳ）、ステップ＃１３に進み、不正を示す信号でなければ、当該照合用情報が照合元情報データベース５０１へ登録（すなわち先の照合元情報が更新）されて（ステップ＃１９）、ステップ＃７に進む。
【００４１】
なお、所定期間、信号入力がなければ（ステップ＃２１）、保留継続の処理がなされて（ステップ＃２３）、ステップ＃１３に進む。なお、所定期間とは、図６のステップＳ３３の期間である。また、保留継続の処理とは、実行対象のプログラムのファイルに対して、ウイルス感染がなかった場合に、管理者によってあるいは外部専門家によって更なるチェックを行うことが考えられ、かかる場合に、プログラムの実行を一旦禁止する一方で、後刻に、前記管理者等によるチェックの結果をプログラム証明部５０及び該当端末１の所要のメモリ部のデータ更新を可能にするための処理である。具体的には、保留情報の一覧リストの記憶部を設け、前記チェック後に、チェック結果が反映可能なように、該当する保留情報を読み出して、更新処理を可能にする。
【００４２】
次に、図３において、記憶部３００は、さらに正常動作不審リスト記憶部３０２を有する。正常動作不審リストとは、実行許可リストに含まれるプログラム以外のプログラムのリストである。正常動作不審リストとは、実行が許可されたプログラムが使用する、マクロを含むファイルやアドインファイル等（サブプログラムという）を、グレーリストとして端末１毎に、そのプログラムメモリ部２０２に更新的に記憶するものである。プログラムは、端末１毎に、そのプログラムメモリ部２０２に更新的に記憶される。なお、マクロとは、文書作成ソフトや表計算ソフト等の所定のプログラムについて、特定の操作手順を更にプログラムとして予め作成し、そのファイルを登録しておくことで、かかる特定の操作手順を自動的に実行する機能をいう。また、アドインファイルとは、所定のプログラムについて、拡張した機能が追加装備されたファイル（プログラム）をいう。これらのプログラムは本体プログラムのファイルに対し、拡張子を用いた追加形式のファイルとして示されており、それぞれ識別可能である。なお、図３では、マクロのファイルやアドインファイルは外部から取得することを想定しているが、自端末１で作成してもよい。
【００４３】
制御部３１０の更新部３１７は、後述するように、実行許否判定結果や使用実績判定結果から、実行許可リスト記憶部３０１と正常動作不審リスト記憶部３０２との間でリストの入れ替えを行う。更新部３１７は、図３（後述する図４も同様）においては、外部から取得したプログラムや自端末１で作成したプログラムを、操作部２１からの指示に基づいてプログラムメモリ部２０２へ登録する処理も実行する。なお、登録に際して、マクロを含むファイルとアドインファイルとは、拡張子等を参照することで識別される。
【００４４】
制御部３１０は、さらにスタンプ有無判断部３１８、使用実績監視部３１９を備える。プログラム証明部５０の記憶部５００は、さらに端末証明スタンプ記憶部５０３を備える。また、制御部５１０は、さらに端末証明スタンプ付与部５１４を備える。
【００４５】
まず、端末証明スタンプ記憶部５０３について説明する。端末証明スタンプ記憶部５０３に記憶されるスタンプは、端末１がプログラム監視部３であるソフトウエアをインストールした際に、当該端末１の所有者（占有的使用者を含む）やＩＰアドレス、メールアドレスその他の情報を用いて、あるいは当該端末１の所有者の希望に基づいて作成される端末固有の情報である。従って、端末証明スタンプ記憶部５０３には、端末１毎のスタンプが記憶される。スタンプとは、デジタル文書の正当性を保証するために付けられる署名情報であって、文字や記号、マークなどを電子的に表現したものである。本実施形態では、所定数分の記号をバイナリーコードで表現したものを、スタンプとして採用している。
【００４６】
端末証明スタンプ付与部５１４は、ある端末１から送信されてきた、スタンプ付与を要求するプログラムのファイルに、送信元である端末１を認識し、当該端末１に対応したスタンプを電子的に付与する、例えば埋め込む処理を行うものである。電子的な付与の一形態である電子的な埋め込み処理の場合、スタンプを記述するバイナリーコードを所定のルールに従ってプログラムのファイル内に埋め込むことで行われる。所定のルールとは、ファイルの所定の位置に一括で埋め込む方法、あるいはスタンプのバイナリーコードを所与数に分割してファイル内の予め定めた複数箇所に分散して埋め込む方法、その他種々の公知の方法が採用可能である。例えば、実行可能なプログラムファイルの場合、ＭＺヘッダーにプログラムの実行には使用されない空き領域が存在するため、この空き領域にスタンプを埋め込むようにしてもよい。
【００４７】
本実施形態では、プログラム監視部３であるソフトウエアをインストールした端末１の正常動作不審リスト記憶部３０２に登録されたプログラムの内、主にマクロのプログラムのファイルについてスタンプの付与処理、ここでは埋め込み処理が行われる。マクロのプログラムのファイルは、プログラム自体が変更されなくても、データ（例えば数値データ）が変更されることで、別のハッシュ値を持つことになる。そうすると、当該マクロのプログラムを実行する毎に、端末管理サーバ５に当該マクロのプログラムのファイルを送信し、検査を受ける作業が必要となる。これは、送信処理の負担増大、処理の低速化及びネット上での情報漏洩機会の増大を招き、好ましくない。そこで、各端末１にて実行許可リストに含まれるプログラムが使用するべく、作成されたマクロのプログラム等のファイルに対しては、端末を指定して正当性を証明（保証）するために、端末証明スタンプを埋め込むようにしている。
【００４８】
スタンプ有無判断部３１８は、正常動作不審リスト記憶部３０２内のリストに対応するプログラムが実行対象となった場合に、まず、スタンプの有無を判断し、その判断結果を実行許否部３１４に出力するようにしている。実行許否部３１４は、スタンプが付与されているファイルのプログラムに対しては、プログラム実行処理部２１１に実行許可信号を出力する。スタンプ有無判断部３１８は、対象のプログラムのファイルにスタンプが付与されていなかった場合、照合情報作成部３１５に照合情報を作成させ、プログラム証明部５０に送信させる指示信号を出力する。
【００４９】
使用実績監視部３１９は、実行許可リスト記憶部３０１に登録されている対応するプログラムの各使用履歴を監視し、所定期間、不使用状態が継続すると、そのようなプログラムを、実行許可リスト記憶部３０１から削除し、正常動作不審リスト記憶部３０２に追加するという、すなわちウイルス感染の可能性の点から格下げ処理を施すものである。すなわち、不使用期間がある程度を超えると、適正なプログラムのファイルであっても改竄機会を与えることとなって、前述のハッシュ値が不一致となる可能性がアップする。そこで、そのような場合には、前以って、格下げしておくことで、ハッシュ値の照合及び照合情報の照合を行うことなく、後述するように１回のウイルスチェック処理で判定が可能となる。そして、ウイルスチェックによって、ウイルス感染していないと認定されれば、再度、実行許可リストに格上げする（戻す）ようにすればよい。
【００５０】
照合情報作成部３１５は、正常動作不審リスト記憶部３０２内のリストに対応するプログラムが実行対象となった場合であって、スタンプ有無判断部３１８によってスタンプが付与されていないと判断された場合、当該プログラムのファイルの照合用情報を作成して、実行許否判定部５１１に送信するものである。
【００５１】
転送部３１６は、新たに作成されたマクロのプログラムのファイルを端末証明スタンプ付与部５１４に送信し、スタンプ付与後のプログラムのファイルをプログラムメモリ部２０２に記憶するものである。なお、マクロのプログラムのファイルを端末管理サーバ５に送信する場合、このファイルはＴＣＰ／ＩＰのパケットデータとして送信されるが、マクロのプログラム以外に使用者が入力したデータが含まれる可能性がある。そこで、ＴＣＰ／ＩＰのデータ部を暗号化して送信することが好ましい。また、この暗号が解読されることを避けるため、好ましくは暗号の方法が通信する都度変更される態様とすることが、さらに好ましい。しかも、スタンプ付与後のマクロのプログラムのファイルを端末管理サーバ５が送信元の端末１に返信する場合も同様とすることが好ましい。
【００５２】
図８は、図３に示すシステムの端末１側でのマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。図９は、図３に示すシステムの端末管理サーバ５側のマクロ等のプログラム等のファイルの登録処理を示すフローチャートである。図１０、図１１は、図３に示すシステムの端末１側のウイルス監視処理を示すフローチャートである。なお、図７は、図３に示すシステムの端末管理サーバ５側のウイルス監視処理を示すフローチャートとしても作用する。
【００５３】
まず、図８において、実行許可リスト記憶部３０１に含まれるリストに対応するプログラムのファイルを本体としたマクロやアドインのプログラムのファイルが取得されて、操作部２１から登録指示があると（ステップＳ４１でＹＥＳ）、当該プログラムがマクロのプログラムか否かが判断され、（ステップＳ４１）、マクロのプログラムであれば、取得したプログラムのファイルにスタンプ付与要求の信号が添付されて、端末管理サーバ５に転送される（ステップＳ４５）。次いで、返送の有無が判断され（ステップＳ４７）、返送があると、返送されてきたプログラムのファイルがプログラムメモリ２０２に記憶され（ステップＳ４９）、さらに、対応するリスト用情報が作成されて、正常動作不審リスト記憶部３０２に追加される（ステップＳ５１）。一方、ステップＳ４１で、マクロのプログラムでないと判断されると、取得したプログラムのファイルから、前述したような所定のルールに従って照合情報が作成され、登録要求の信号が添付されて端末管理サーバ５に転送される（ステップＳ５３）。
【００５４】
図９において、スタンプ付与要求か登録要求の信号が受信されると（ステップ＃４１）、まず、スタンプ付与要求の有無が判断される（ステップ＃４３）。スタンプ付与要求信号でなければ、登録要求なので、受信したファイルの照合情報が照合元情報として照合元情報データベース５０１に書き込まれる（ステップ＃４５）。
【００５５】
一方、ステップ＃４３で、スタンプ付与要求信号であれば、前述したルールに従ってスタンプ付与処理が実行される（ステップ＃４７）。次いで、照合元情報が作成されて、照合元情報データベース５０１に書き込まれる（ステップ＃４９）、最後に、スタンプが付与されたプログラムのファイルが当該端末１に返送される（ステップ＃５１）。
【００５６】
図１０、図１１において、まず、実行プログラムの特定が行われる（ステップＳ６１）。次いで、実行許可リスト内のリストに対応するプログラムか否かが判断される（ステップＳ６３）。実行許可リスト内のリストに対応するプログラムであれば、図６に示すフローチャートのステップＳ５に進み（ステップＳ６５）、端末１内でのハッシュ値の照合処理から開始される。
【００５７】
一方、実行許可リスト内のリストに対応するプログラムでなければ、当該プログラムのファイルに自端末証明スタンプが付与されているか否かが判断される（ステップＳ６７）。スタンプが付与されていれば、実行許可信号が出力され（ステップＳ６９）、次いでプログラムの実行が開始される（ステップＳ７１）。逆に、ステップＳ６７で、スタンプが付与されていなければ、当該プログラムのファイルから照合用情報が作成され（ステップＳ７３）、プログラム証明部５０に送信される（ステップＳ７５）。
【００５８】
次いで、許否信号の受信の有無が判断され（ステップＳ７７）、受信された信号が実行許可信号であれば（ステップＳ７９）、当該プログラムの実行が開始される（ステップＳ８１）。次いで、当該プログラムがマクロのプログラムか否かが判断され（ステップＳ８３）。マクロのプログラムでなければ、当該プログラムのリスト用情報が正常動作不審リストから実行許可リストへ移転される（ステップＳ８５）。一方、ステップＳ８３で、マクロのプログラムであれば、当該プログラムのファイルにスタンプ付与要求の信号を添付祖手端末管理サーバ５に転送される（ステップＳ８７）。次いで、スタンプが付与されたプログラムのファイルの返送の有無が判断され（ステップＳ８９）、返送があると、返送されてきたプログラムのファイルがプログラムメモリ部２０２に記憶（スタン付与前のプログラムのファイルが更新）されて（ステップＳ９１）、本フローを終了する。
【００５９】
逆に、ステップＳ７９で、実行許可信号でなければ、実行は禁止される（ステップＳ９５）。なお、ステップＳ７７の判断処理が所定期間を経過すると（ステップＳ９３でＹＥＳ）、実行が禁止されて（ステップＳ９５）、本フローを抜ける。
【００６０】
そして、図７に示すように、端末管理サーバ５側で、照合用情報の照合及びウイルスチェックが実行される。
【００６１】
なお、端末１における通常の処理として、他の端末１で作成されたマクロのプログラム（作成された端末１のスタンプが付与されている）の取り込みの場合には、取り込み先の端末１で新たにスタンプの付与は行わないようにしている。これにより、マクロのプログラムがいずれの端末１で作成されたのかの出展元情報を残すことが可能となる。なお、マクロのプログラムを実行する場合には、制御部３１０側で（あるいはプログラム実行処理部２１１で）、前述した所定のルールを逆に実行してマクロのプログラムのファイルからスタンプのコード情報を取り除いて、実行させればよい。例えば、図９において、プログラムのファイルに既にスタンプが付与されているか否かの判断ステップを追加し、スタンプが付与されていなければ、図９の処理が実行され、スタンプが既に付与されている場合には、図９のステップ＃４７をスキップするようにすればよい。
【００６２】
次に、図４において、記憶部２００は、さらにＲＡＭ（ワークメモリ）２０４を有する。また、端末１の制御部２１０は、さらにプログラム作成処理部２１２を備える。プログラム作成処理部２１２は、操作部２１を利用して自端末１で新規な、マクロやその他のプログラムを作成する場合に実行されるもので、プログラムの記述乃至登録指示処理を実行する。ワークメモリ２０４は、プログラム作成処理部２１２でプログラムを作成する場合の処理途中の情報を一時的に記憶する領域として用いるものである。そして、プログラム作成処理部２１２は、ＯＳによってプログラムメモリ部２０２に書き込まれるファイルが新規であることを検知し、これによって、書き込みファイルが、端末１で新たに作成されたファイルであることを認識するようになっている。
【００６３】
なお、自端末１で作成したプログラムのプログラムメモリ部２０２内への登録及び正常動作不審リスト記憶部３０２へのリスト追加のための処理は、前述の図８，図９と略同様の処理手順にて行われる。なお、図４の態様では、図８のステップＳ４１は不要となり、一律にステップＳ４５に進む。すなわち、自端末１で新規に作成されたプログラムのファイルの登録とし、ステップＳ４５では、作成されたプログラムのファイルにスタンプ要求信号を添付して端末管理サーバ５へ転送するものとする。また、図９のステップ＃４１は、全てスタンプ付与要求の信号の受信となり、＃４３，＃４５は不要となる。
【００６４】
制御部３１０は、さらに端末証明スタンプ照合部３２０を備える。端末証明スタンプ照合部３２０は、プログラム作成処理部２１２で作成されたプログラムであって、作成時に自端末１を証明するスタンプを付与されてプログラムメモリ部２０２に記憶されたプログラムのファイルが、後に実行対象となった場合に、プログラムメモリ部２０２内の該当するプログラムのファイルからスタンプ情報を抜き出すと共に、記憶部５００の端末証明スタンプ記憶部５０３の該当する端末のスタンプの情報を読み出して、両スタンプを照合するものである。両スタンプが一致した場合、実行許否部３１４で実行許可信号が生成される。両スタンプが不一致の場合、プログラムメモリ部２０２に記憶されていたプログラムが改竄され、あるいはウイルスに感染した等、実行には不適なプログラムとなっていることから、使用が禁止される。なお、図３に示す実施形態において、スタンプ有無判断部３１８に代えて、端末証明スタンプ照合部３２０を用いてもよい。これにより、マクロのプログラムに対しても、取り込み後の実行の都度、スタンプの照合が図れ、信頼度がアップする。また、逆に、図４において、端末証明スタンプ照合部３２０に代えてスタンプ有無判断部３１８を用いてもよい。この場合、端末１側でのチェックが可能となる。
【００６５】
そして、作成されたプログラムのファイルの登録は、ワークメモリ２０４から端末証明スタンプ付与部５１４に転送され、ここでスタンプが付与された後、プログラムメモリ２０２に戻されて書き込まれる。
【００６６】
また、図４に示すシステムの端末１側のウイルス監視処理及び端末管理サーバ５側のウイルス監視処理は、前述の図１０、図１１、図７と略同様の処理手順にて行われる。
【００６７】
但し、図４においては、図１０〜図１１のステップＳ６７でＹＥＳの後に、端末証明スタンプ照合部３２０による、前述したスタンプの照合処理が行われる。そして、スタンプ照合の結果、一致であれば、ステップＳ６９に示す実行許可信号が出力される。逆に、スタンプ照合の結果、不一致であれば、ステップＳ７３に移行することになる。なお、図３の態様においても、図４と同様に、端末証明スタンプ照合部３２０を採用することが好ましい。
【００６８】
図５において、記憶部３００は、さらに不正動作パターンリスト記憶部３０３及び検査中リスト記憶部３０４を有する。不正動作パターンリストとは、プログラムが実行するパターンのうち、定型的な不正動作のパターンあるいはそれに類似したパターンをリストアップしたものである。あるいは、人間による操作を要する場合に操作速度が異常に速いような異常状態や、意味のない情報処理等も含む。この不正動作パターンリストは、プログラム監視部３というソフトウエアをインストールした端末１全てに対して、典型的には、端末管理サーバ５から配信される。例えば、不正動作パターンリストは、ＣＰＵに対して命令可能な命令コードのファイルをリスト化したものである。後述の不正動作パターン検知部３２２により不正動作パターンの検知が行われる時は、全リストの命令コードが並行して実行されることで、検査対象のプログラムとの照合（チェック）処理が同時的に実行されることで、不正動作パターンの有無及び不正動作パターンの特定が可能にされている。
【００６９】
検査中リスト記憶部３０４は、不正動作パターン及び当該パターンを発生させたプログラムのファイルが端末管理サーバ５側での検査（解析）中である場合に、当該プログラム及び不正動作パターンのリストを記憶するものである。不正動作パターンの発生毎に追加され、解析が終了する毎に削除される。検査中リスト記憶部３０４は、端末１毎に個別のリスト情報が記憶される。
【００７０】
制御部３１０は、さらに不正動作パターンリスト更新部３２１、不正動作パターン検知部３２２及び実行プログラム監視部３２３を備える。端末管理サーバ５の制御部５１０は、不正動作パターン作成部５１５及び不正動作パターン検査部５１６を備える。不正動作パターン作成部５１５は、不正動作パターンを作成し、プログラム監視部３のソフトウエアをインストールしている全ての端末１へ送信（配信）するものである。新たな不正動作パターンが確認される毎に追加的に端末１の全部に送信するようにしている。不正動作パターンリスト更新部３２１は、不正動作パターン作成部５１５から送信された不正動作パターンを不正動作パターンリスト記憶部３０３に更新的に記憶させるものである。
【００７１】
不正動作パターン検知部３２２は、操作部２１からの指令に基づいて実行されるプログラムについて、当該プログラムの実行中における不正動作パターンの発生の有無を監視する。そして、不正動作パターン検知部３２２は、不正動作パターンが発生すると、当該プログラムを識別する情報、当該不正動作パターンを識別する情報及び当該プログラム中の当該不正動作パターンの発生箇所の情報を対応付けて検査中リスト記憶部３０４に追加記憶すると共に、転送部３１６に対して当該プログラム及び当該不正動作パターンを端末管理サーバ５へ転送する指示を行う。不正動作パターンとは、例えば表示部２２画面上に、ある特定のウインドウを、あるいは不規則的にウインドウを開く動作とか、操作部２１のキーボードのうちの例えば特定のキーを、あるいは不特定のキーを高速で繰り返し押下操作する時の指示信号と同様な信号が作成される場合等が考えられる。
【００７２】
転送部３１６は、指示されたプログラムのファイルをプログラムメモリ部２０２から読み出して、不正動作パターン検知部３２２で検知された不正動作パターン及び不正箇所の情報と共に端末管理サーバ５へ転送する。
【００７３】
不正動作パターン検査部５１６は、転送部３１６から転送されてきたプログラムのファイル、不正動作パターン及び不正箇所の情報に基づいて、所定の手順に従って原因の分析、解析を行うものである。例えば、改竄の有無の解析処理、ウイルスチェック処理等によって内容を解析する。解析の結果、セキュリティ上、問題があるプログラムに関しては、使用禁止処理が施される。具体的には、実行許可リスト記憶部３０１、正常動作不審リスト記憶部３０２から削除される。また、解析終了を受けて、検査中リスト記憶部３０４に対して、当該検査中のリスト情報は削除される。
【００７４】
実行プログラム監視部３２３は、検査中にあるプログラムに対して操作部２１によって実行指令が出された場合、検知された不正動作パターンの部分のプロセスをスキップ等させることで、その実行を禁止するものである。なお、通信用のプログラムであって、通信状態に移行すると、途中でプログラムの停止が不可な場合、ＩＳＰ６へ繋がる出力ポートをＯＳをコントロールする等して閉塞して、不測の情報流出を禁止（すなわちプロセスの結果を無効に）するようにしてもよい。
【００７５】
図１２は、図５に示すシステムの端末１側での不正動作パターン検知処理を示すフローチャートである。図１３は、図５に示すシステムの端末１側での不正動作パターンリスト更新処理を示すフローチャートである。図１４は、図５に示すシステムの端末１側での検査中リストの更新処理を示すフローチャートである。図１５は、図５に示すシステムの端末１側での実行プログラム監視処理を示すフローチャートである。
【００７６】
まず、図１２において、プログラムが実行中か否かが判断され（ステップＳ１０１）、実行中でなければ、本フローを抜ける。実行中であれば、不正動作パターンが検知されたか否かが判断される（ステップＳ１０３）。不正動作パターンが検知されなければ、プログラムが終了するまで、検知動作が継続される（ステップＳ１０５でＮＯ）。一方、不正動作パターンが検知されると、当該プログラムのファイルを識別する情報、不正動作パターンを識別する情報及び当該プログラムの不正動作パターンの発生箇所の情報の転送指示及び記憶処理が実行されて（ステップＳ１０７）、ステップＳ１０３に戻る。
【００７７】
図１３において、不正動作パターンリストへの追加要求の有無が判断され（ステップＳ１１１）、要求がなければ、本フローを抜ける。一方、要求があれば、受信した不正動作パターンの情報が当該パターンを識別するための情報と共に不正動作パターンリスト記憶部３０３に追加的に記憶される（ステップＳ１１３）。
【００７８】
図１４において、検査中リストの更新要求の有無が判断され（ステップＳ１２１）、更新要求がなければ、本フローを抜ける。一方、更新要求があれば、検査中リストの追加か否かが判断され（ステップＳ１２３）、更新要求が検査中リストの追加であれば、リスト用情報の書き込みが実行され（ステップＳ１２５）、逆に、更新要求が検査中リストの削除であれば、指定されたリスト用情報の削除が実行される（ステップＳ１２７）。
【００７９】
図１５において、まず、操作部２１によって指示された実行予定のプログラムが検査中リストに含まれているプログラムか否かが判断される（ステップＳ１３１）。実行予定のプログラムが検査中リストに含まれていないプログラムである場合、本フローを抜ける。一方、実行予定のプログラムが検査中リストに含まれているプログラムである場合、プログラムの実行開始が判断され（ステップＳ１３３）、不正動作パターンの発生の有無が監視される（ステップＳ１３５）。実行中のプログラムのプロセスが不正動作パターンの発生箇所であれば（ステップＳ１３７）、当該プロセスがスキップさせられ、あるいはＯＳをコントロールしてプロセス実行の結果が無効とされる処理が実行される（ステップＳ１３９）。なお、いずれが実行されるかについては、プロセスがスキップ可能なプログラムであれば、そのようにし、プロセスの修正が不可なプログラムであれば、プロセス実行の結果が無効となる処理をＯＳをコントロールして行わせるように、予め設定されている。
【００８０】
次いで、プログラムの実行が終了したか否かが判断され（ステップＳ１４１）、終了していなければ、ステップＳ１３５に戻って監視が継続され、一方、終了したのであれば、本フローが終了する。
【００８１】
なお、本発明は、以下の対象が採用可能である。
【００８２】
（１）本実施形態では、会員間で、端末１を介して電子的な決済に関連する処理を行うようにした。従って、企業や団体等のようにＬＡＮ（Local Area Network）に複数の端末が接続された態様においても、それぞれ個々の端末１として対応することが可能である。一方、図１に示すように、本発明は、多数の端末がＬＡＮ８に接続された企業や団体の場合、以下の態様で適用可能である。すなわち、端末管理サーバ５のプログラム証明部５０に相当するプログラム証明サーバ８１をＬＡＮ８上に設け、ＬＡＮ８上の各端末１を管理するようにしてもよい。そして、ＬＡＮ８上の端末１は、このプログラム証明サーバ８１で前述した機能のうちの一部、例えば自社開発プログラムに対するプログラム証明機能を担当させるようにするのが好ましい。
【００８３】
（２）実行許可リストに対応するプログラム、証明スタンプが付与されたプログラム以外の、ウイルス感染の可能性の高いプログラムのファイルを定期的乃至は所定数溜まった時点で、あるいは所望の時点で、プログラムメモリ部２０２から削除するようにすることが好ましい。
【００８４】
（３）なお、端末管理サーバ５で、一旦、ウイルス感染等のファイルとして判断されたプログラムのファイルを、端末１側で不正ファイルリスト（ブラックリスト）として扱い、すなわち他のプログラムと区別して、起動指令毎に、端末管理サーバ５からの確認を受ける処理を行うことなく、直ちに実行不可とする処理を行ってもよい。あるいは、かかるプログラムのファイルに対して、前述の端末証明スタンプに対応するような、実行不可スタンプを付与（埋め込む）するようにしてもよい。このようにすることで、端末管理サーバ５との通信を省略することが可能となる。
【００８５】
（４）また、本実施形態では、端末証明スタンプ付与部５１４を端末管理サーバ５側に設けたが、本発明は、これに限定されず、プログラム監視部３のソフトウエアに含まれる態様で、各端末１側に設置されるようにしてもよい。このようにすれば、端末証明スタンプの付与処理の都度、対象となるプログラムをスタンプ付与前後にネットワークで往復させる必要がない。具体的には、端末管理サーバ５は、端末証明スタンプ記憶部５０１を有し、各端末１のスタンプを原本として記憶しており、所望時点で又はスタンプ付与が必要な時点で、各端末１から送信されてくるスタンプ送信要求信号に応じて、要求された１又は所要数の当該端末１の固有のスタンプを発行するスタンプ発行部５２０（図３参照）を備える。端末１側は、発行されたスタンプを受信して記憶部２００に一時的に記憶し、さらに、端末証明スタンプ付与部５１４に相当する機能部を端末１側に備える。この端末１側に備える新たな端末証明スタンプ付与部３３０（図３参照）は、前述したような、サブプログラムのファイルや、自端末で作成したプログラムのファイルに対して、スタンプの記憶部２００からスタンプを読み出して付与する（埋め込む）処理を実行する。なお、端末管理サーバ５から発行され、スタンプ記憶部に保管されるスタンプは、例えば識別情報（例えば連番）が付される等することで複製を抑制している。
【００８６】
（５）本実施形態では、照合元情報として、プログラムのファイルのハッシュ値その他の情報を用いたが、ハッシュ値とヘッダー関連情報とを用いたものとしてもよい。プログラムのファイルは、先頭領域にヘッダー情報を有し、次のセクションに、プログラムのためのテキストデータ、実行ファイルデータが書き込まれている。ヘッダー情報には、これらそれぞれのエントリーポイント、サイズデータが記録される。従って、実行ファイルデータ領域に何らかの変化（代表的にはウイルス感染）があれば、エントリーポイント、サイズデータの少なくとも一方に変化が表れることになる。そこで、ヘッダー情報をそのまま、又はそれから算出したハッシュ値、あるいはエントリーポイント及びサイズデータをヘッダー関連情報として採用する態様としてもよい。
【００８７】
以上のとおり、本発明は、ネットワークに接続され、操作部からの指示に従って所与のプログラムが実行可能にされた複数の端末と、前記ネットワークに接続され、前記各端末における前記プログラムの実行の許否に関する監査を行う管理サーバとを備え、前記端末は、前記所与のプログラムが更新的に記憶されるプログラム記憶部と、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶する実行許可リスト作成手段と、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断する判断手段と、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断する第１の照合手段と、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信する照合情報作成手段と、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示する実行許否手段とを備え、前記管理サーバは、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶される照合元情報記憶部と、前記端末から受信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報との照合し、その結果を前記返信信号として当該端末に返信する第２の照合手段とを備えたことを特徴とするセキュア監査システムである。この構成によれば、実行許可リストに含まれるリストに対応するプログラムであっても、端末側での自己診断によって改竄やウイルス感染等のチェックを行い、しかも、実行許可リストに含まれないプログラムについては、管理サーバとの間でセキュリティ監査を行って、セキュアなプログラムのみを実効可能にしたので、仮に、後にファイル内にウイルスが侵入して感染したとしても、起動されることがない。
【００８８】
また、前記第１の照合用情報は、前記各プログラムのファイルから生成されるハッシュ値を含むことが好ましい。この構成によれば、プログラムのファイルから生成されるハッシュ値は少ない所定ビットで、かつ改竄やウイルス感染の有無等のプログラム毎に一意の情報であることから、照合用として的確である。
【００８９】
また、前記第２の照合用情報及び前記照合元情報は、前記第２の照合用情報及び前記照合元情報は、プログラムのファイルから生成されるハッシュ値及び当該プログラムのファイルのヘッダー領域に記憶されているヘッダー情報に対応するヘッダー関連情報を含むことが好ましい。この構成によれば、ハッシュ値以外に実行ファイル領域の変化を検知することが可能となり、判断の信頼度の向上が図れる。
【００９０】
また、前記端末は、前記第２の照合手段による照合の結果が不一致であった場合、前記所与のプログラムを前記プログラム記憶部から読み出して前記管理サーバに送信する第１の転送手段を備え、前記管理サーバは、前記第１の転送手段から送信された前記所与のプログラムのウイルス感染の有無をチェックし、ウイルス感染している場合には、前記実行許否手段に当該所与のプログラムの実行を不許可にするべく信号を返送するウイルスチェック手段を備えることが好ましい。この構成によれば、まず照合情報の一致の有無を判断し、不一致の場合にウイルスチェックを行うようにしたので、毎回ウイルスチェックをする必要がなくなる。
【００９１】
また、前記端末は、前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、前記操作部からの指示を受けて前記マクロのプログラムを前記プログラム記憶部にインストールする前に、前記管理サーバに送信する第２の転送手段とを備え、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、当該端末の固有証明情報を前記受信したマクロのプログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、前記端末は、さらに、前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムは正常動作不審リストに対応するものとされる一方、このマクロのプログラムのファイルに、端末に固有の固有証明情報が付与（例えば、埋め込み）されてプログラム記憶部にインストールされる。そして、後に、このマクロのプログラムについて実行指示があったとき、当該マクロのプログラムのファイルに付与された固有証明情報と、管理サーバに保管されている、いわば原本と見なされる固有証明情報との照合が行われるので、マクロの数値データが変わっても、不正な改竄やウイルス感染がチェックできる。
【００９２】
また、前記端末は、前記操作部を介してプログラムを作成するプログラム作成手段と、前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、前記操作部からの指示を受けて前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムを前記管理サーバに送信する第２の転送手段とを備え、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、当該端末の固有証明情報を前記受信した新規プログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、前記端末は、さらに、前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、自端末で作成された新規プログラムは正常動作不審リストに対応するものとされる一方、この新規プログラムのファイルに、端末に固有の固有証明情報が付与（例えば、埋め込み）されてプログラム記憶部にインストールされる。そして、後に、この新規プログラムについて実行指示があったとき、当該新規プログラムのファイルに付与された固有証明情報と、管理サーバに保管されている、いわば原本と見なされる固有証明情報との照合が行われるので、不正な改竄やウイルス感染がチェックできる。
【００９３】
また、前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することが好ましい。この構成によれば、固有証明情報の照合結果が不一致である場合、照合情報の照合を行うので、信頼度の高精度が測れる。
【００９４】
また、前記端末は、前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段を備え、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、前記端末は、さらに、前記操作部からの指示を受けて、前記マクロのプログラムを前記プログラム記憶部にインストールする前に、当該マクロのプログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、予め固有証明情報の発行を予め受けておくことが可能となる。そして、必要時に固有証明情報をマクロのプログラムのファイルに添付することが可能となる。
【００９５】
また、前記端末は、前記操作部を介してプログラムを作成するプログラム作成手段と、前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、前記管理サーバは、前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、前記端末は、さらに、前記操作部からの指示を受けて、前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えることが好ましい。この構成によれば、予め固有証明情報の発行を予め受けておくことが可能となる。そして、必要時に固有証明情報を新規プログラムのファイルに添付することが可能となる。
【００９６】
また、前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することが好ましい。この構成によれば、固有証明情報の照合結果が不一致である場合、照合情報の照合を行うので、信頼度の高精度が測れる。
【００９７】
また、前記端末は、前記実行許可リストに含まれるリストに対応するプログラムの不実行状態が所定期間を超えたか否かを監視する監視手段と、前記不実行状態が前記所定期間を超えたプログラムのリストを前記実行許可リストから削除するリスト削除手段とを備えることが好ましい。この構成によれば、実行許可リストに含まれるリストに対応するプログラムであっても、所定期間不実行であれば、その間に換算やウイルス感染機会も増えることから、一旦、実行許可リストから削除し、セキュリティの信頼性の低下したプログラムについては、格下げを行うものとした。
【符号の説明】
【００９８】
１  端末
２  端末処理部
２１  操作部
３  プログラム監視部
５  端末管理サーバ
７  ネットワーク
２０２  プログラムメモリ（プログラム記憶部）
２１１プログラム実行処理部
２１２  プログラム作成処理部（プログラム作成手段）
３０１  実行許可リスト記憶部
３０２  正常動作不審リスト記憶部
３０３  不正動作パターンリスト記憶部
３０４  検査中リスト記憶部
３１１  プログラム特定部（判断手段）
３１２  ハッシュ値作成部（第１の照合手段）
３１３  ハッシュ値照合部（第１の照合手段）
３１４  実行許否部（実行許否手段）
３１５  照合情報作成部（照合情報作成手段）
３１６  転送部（転送手段）
３１７  更新部（実行許可リスト作成手段、正常動作不審リスト作成手段、リスト削除手段、インストール処理手段）
３１８  スタンプ有無判断部
３１９  使用実績監視部（監視手段）
３２０  端末証明スタンプ照合部（固有証明情報照合手段）
３２１  不正動作パターン更新部
３２２  不正動作パターン検知部
３２３  実行プログラム監視部
３３０  端末証明スタンプ付与部（固有証明情報付与手段）
５０１  照合元情報データベース（照合元情報記憶部）
５０２  ウイルスパターン記憶部
５０３  端末証明スタンプ記憶部（固有証明情報記憶部）
５１１  実行許否判断部（第２の照合手段）
５１２  ウイルスチェック部
５１３  実行許否信号作成部
５１４  端末証明スタンプ付与部（固有証明情報付与手段）
５１５  不正動作パターン作成部
５１６  不正動作パターン検査部（インストール処理手段）
５２０  スタンプ発行部（発行手段）
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークに接続され、操作部からの指示に従って所与のプログラムが実行可能にされた複数の端末と、前記ネットワークに接続され、前記各端末における前記プログラムの実行の許否に関する監査を行う管理サーバとを備え、
前記端末は、
前記所与のプログラムが更新的に記憶されるプログラム記憶部と、
前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶する実行許可リスト作成手段と、
前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断する判断手段と、
前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断する第１の照合手段と、
前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信する照合情報作成手段と、
前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示する実行許否手段とを備え、
前記管理サーバは、
前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶される照合元情報記憶部と、
前記端末から受信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信する第２の照合手段とを備えたことを特徴とするセキュア監査システム。
【請求項２】
前記第１の照合用情報は、前記各プログラムのファイルから生成されるハッシュ値を含むことを特徴とする請求項１に記載のセキュア監査システム。
【請求項３】
前記第２の照合用情報及び前記照合元情報は、プログラムのファイルから生成されるハッシュ値及び当該プログラムのファイルのヘッダー領域に記憶されているヘッダー情報に対応するヘッダー関連情報を含むことを特徴とする請求項１又は２に記載のセキュア監査システム。
【請求項４】
前記端末は、前記第２の照合手段による照合の結果が不一致であった場合、前記所与のプログラムを前記プログラム記憶部から読み出して前記管理サーバに送信する第１の転送手段を備え、
前記管理サーバは、前記第１の転送手段から送信された前記所与のプログラムのウイルス感染の有無をチェックし、ウイルス感染している場合には、前記実行許否手段に当該所与のプログラムの実行を不許可にするべく信号を返送するウイルスチェック手段を備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項５】
前記端末は、
前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、
前記操作部からの指示を受けて前記マクロのプログラムを前記プログラム記憶部にインストールする前に、前記管理サーバに送信する第２の転送手段とを備え、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
当該端末の固有証明情報を前記受信したマクロのプログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、
前記端末は、さらに、
前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項６】
前記端末は、
前記操作部を介してプログラムを作成するプログラム作成手段と、
前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、
前記操作部からの指示を受けて前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムを前記管理サーバに送信する第２の転送手段とを備え、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
当該端末の固有証明情報を前記受信した新規プログラムのファイルに付与して当該端末に返信する固有証明情報付与手段とを備え、
前記端末は、さらに、
前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項７】
前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することを特徴とする請求項５又は６に記載のセキュア監査システム。
【請求項８】
前記端末は、
前記実行許可リストに含まれるリストに対応するプログラムを本体とするマクロのプログラムのリストを前記実行許可リストとは異なる正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段を備え、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、
前記端末は、さらに、
前記操作部からの指示を受けて、前記マクロのプログラムを前記プログラム記憶部にインストールする前に、当該マクロのプログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、
前記固有証明情報が付与されたマクロのプログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記マクロのプログラムについて実行指示があったとき、当該マクロのプログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該マクロのプログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項９】
前記端末は、
前記操作部を介してプログラムを作成するプログラム作成手段と、
前記プログラム作成手段によって作成された新規プログラムのリストを前記正常動作不審リスト記憶部に更新的に記憶する正常動作不審リスト作成手段と、
前記管理サーバは、
前記端末毎の固有証明情報を記憶する固有証明情報記憶部と、
端末からの要求に応じて当該端末に固有証明情報を発行する発行部とを備え、
前記端末は、さらに、
前記操作部からの指示を受けて、前記新規プログラムを前記プログラム記憶部にインストールする前に、当該新規プログラムのファイルに前記発行された前記固有証明情報を付与する固有証明情報付与手段と、
前記固有証明情報が付与された新規プログラムのファイルを前記プログラム記憶部にインストールするインストール処理手段と、
前記操作部からの前記新規プログラムについて実行指示があったとき、当該新規プログラムに付与された前記固有証明情報が前記固有証明情報記憶部に当該新規プログラムの固有証明情報として記憶されている情報と一致すると判断した場合に、前記実行許否手段に実行を許可する旨の信号を出力する固有証明情報照合手段とを備えたことを特徴とする請求項１〜３のいずれかに記載のセキュア監査システム。
【請求項１０】
前記照合情報作成手段は、前記固有証明情報照合手段による照合の結果が不一致である場合、前記第２の照合用情報を作成して前記管理サーバに送信し、前記第２の照合手段は、前記端末から送信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信することを特徴とする請求項８又は９に記載のセキュア監査システム。
【請求項１１】
前記端末は、前記実行許可リストに含まれるリストに対応するプログラムの不実行状態が所定期間を超えたか否かを監視する監視手段と、
前記不実行状態が前記所定期間を超えたプログラムのリストを前記実行許可リストから削除するリスト削除手段とを備えたことを特徴とする請求項１〜１０のいずれかに記載のセキュア監査システム。
【請求項１２】
ネットワークに接続された個々の端末によるプログラムの実行の許否を制御するセキュア監査方法において、
前記端末のプログラム記憶部に、前記所与のプログラムが更新的に記憶されており、
前記端末の実行許可リスト作成手段が、前記所与のプログラムのうちの所定のプログラムについてリストを作成し、実行許可リスト記憶部に更新的に記憶し、
前記端末の判断手段が、前記操作部からの前記所与のプログラムのいずれかの実行指示があったとき、当該所与のプログラムが前記実行許可リスト記憶部に記憶されているリストに対応するプログラムであるか否かを判断し、
前記端末の第１の照合手段が、前記判断手段による判断が肯定された場合に、当該所与のプログラムを前記プログラム記憶部から読み出して第１の照合用情報を作成し、前記実行許可リスト記憶部の前記実行指示のプログラムに対応するリストの情報との異同を判断し、
前記端末の照合情報作成手段が、前記判断手段による判断が否定された場合に、前記所与のプログラムを前記プログラム記憶部から読み出して第２の照合用情報を作成し、前記管理サーバに送信し、
前記ネットワークに接続された前記管理サーバの照合元情報記憶部に、前記プログラム記憶部への前記所与のプログラムの書き込みに応じて、当該プログラムの前記第２の照合用情報に対応する照合元情報が記憶されており、
前記管理サーバの第２の照合手段が、前記端末から受信された前記第２の照合用情報と前記照合元情報記憶部に記憶されている前記照合元情報とを照合し、その結果を前記返信信号として当該端末に返信し、
前記端末の実行許否手段が、前記照合情報作成手段による前記第２の照合用情報の前記管理サーバへの送信に対応する前記管理サーバからの返信信号、及び前記第１の照合手段からの前記異同を判断した結果に基づいて当該プログラムの実行の許否を指示することを特徴とするセキュア監査方法。
【国際調査報告】
2011030455.tif 000018
2011030455.tif 000019