JP2007220007A - セキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法 - Google Patents

セキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法 Download PDF

Info

Publication number
JP2007220007A
JP2007220007A JP2006042512A JP2006042512A JP2007220007A JP 2007220007 A JP2007220007 A JP 2007220007A JP 2006042512 A JP2006042512 A JP 2006042512A JP 2006042512 A JP2006042512 A JP 2006042512A JP 2007220007 A JP2007220007 A JP 2007220007A
Authority
JP
Japan
Prior art keywords
program
job
request
safety
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006042512A
Other languages
English (en)
Other versions
JP4745858B2 (ja
Inventor
Yuji Imai
祐二 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006042512A priority Critical patent/JP4745858B2/ja
Priority to US11/496,500 priority patent/US7904957B2/en
Publication of JP2007220007A publication Critical patent/JP2007220007A/ja
Application granted granted Critical
Publication of JP4745858B2 publication Critical patent/JP4745858B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Abstract

【課題】システムの安全性を保ったままジョブを実行するノードでのウィルスチェックを省略できるようにする。
【解決手段】プログラム5,7を含むジョブの実行要求が入力されると、送信元判断手段2aにより、ジョブの送信元の識別情報と信頼装置情報2aaとが比較され、プログラム5,7が信頼できる装置から送信されたか否かが判断される。次に、ジョブ管理手段2bにより、プログラム5,7を指定した起動要求が出力される。プログラム7が信頼できる装置以外から送信されたと判断された場合、安全性判断手段2cにより、ウィルスチェック要求が出力される。すると、ウィルスチェック手段2dにより、プログラム7のコードチェックが実行される。
【選択図】図1

Description

本発明はジョブ実行時の安全性を確保するためのセキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法に関し、特に他の装置から投入されるジョブを実行する場合の安全性を確保するセキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法に関する。
多くの企業では、並列処理によって大量の計算を行うために、グリッドシステムが用いられている。グリッドシステムは、多数のノード(ジョブを実行するコンピュータ)をネットワークで接続し、実行すべき処理を各ノードに振り分けて並列に実行させるものである。
企業クライアントPC(Personal Computer)をノードとして用いたグリッドシステムは、様々な条件下のPCそれぞれで、できる限り高い性能を引き出すことが求められる。そこで、通常は各ノードそれぞれで行われる処理の一部を他のコンピュータに代行させるシステムが考えられている。例えば、サーバからクライアントに対して送信される証明書が有効であることを中継装置で確認し、中継装置で有効性が確認された証明書に関しては、クライアントにおいてその証明書の有効性のチェックを省略する技術がある(例えば、特許文献1参照)。
特開2002−82907号公報
しかし、特許文献1の技術では、証明書の認証処理が中継サーバで代行され、証明書受け取り時の一時的な処理が軽減されるのみであり、それ以外の処理負荷を軽減することはできない。現在のグリッドシステムのノードの処理負荷の大きな要素として、ウィルスチェック処理がある。
例えば、企業のクライアントPCでは、プログラムに未知のセキュリティ上の欠陥がある場合に備えて、対ウィルス機能が、起動時のコードチェックを行うと共に、プログラム実行中のプロセスの挙動を実時間で監視する。実時間の監視とは、ユーザプロセスプログラムがOS(Operating System)を介して処理要求を出力する度に、その処理要求を奪い取り、セキュリティ上の問題が無いことを確認する処理である。セキュリティ上の問題が無いことが確認された場合、処理要求がOSに渡される。
このようなコードチェックや実時間監視は、計算性能劣化の大きな要因となる。特に計算性能が求められるグリッドジョブ(グリッドシステムで並列実行させるジョブ)の場合、コードチェックや実時間監視が全てのノードで実行され、全体としての計算性能の劣化が顕著となる。
本発明はこのような点に鑑みてなされたものであり、システムの安全性を保ったままジョブを実行するノードでのウィルスチェックを省略可能とするセキュリティ管理プログラム、ジョブ投入管理プログラム、およびセキュリティ管理方法を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すようなセキュリティ管理プログラムが提供される。本発明に係るセキュリティ管理プログラムは、ネットワークを介して投入されたジョブのセキュリティ管理を行うために、図1に示す機能をコンピュータに実行させる。
送信元判断手段2aは、信頼できる装置の識別情報を示す信頼装置情報2aaが予め設定されており、プログラム5,7を含むジョブの実行要求がネットワーク経由で入力されると、ジョブの送信元の識別情報を信頼装置情報2aaと比較し、プログラム5,7が信頼できる装置から送信されたか否かを判断する。ジョブ管理手段2bは、入力されたプログラム5,7を記憶装置に格納し、プログラム5,7を指定した起動要求を出力する。安全性判断手段2cは、ジョブ管理手段2bから出力された起動要求で指定されたプログラムが、送信元判断手段2aにおいて信頼できる装置から送信されたと判断された場合、起動要求をオペレーティングシステムに実行させ、起動要求で指定されたプログラムが、送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する。ウィルスチェック手段2dは、安全性判断手段2cからウィルスチェック要求が出力されると、起動要求で指定されたプログラムを記憶装置から読み出し、既知のウィルスに含まれるコード配列がプログラムに含まれていないことを確認するコードチェックを実行し、コード配列が含まれていない場合に起動要求をオペレーティングシステムに実行させる。
このようなセキュリティ管理プログラムをコンピュータに実行させることで、プログラム5,7を含むジョブの実行要求がネットワーク経由で入力されると、送信元判断手段2aにより、ジョブの送信元の識別情報と信頼装置情報2aaとが比較され、プログラム5,7が信頼できる装置から送信されたか否かが判断される。次に、ジョブ管理手段2bにより、入力されたプログラム5,7が記憶装置に格納され、プログラム5,7を指定した起動要求が出力される。ジョブ管理手段2bで出力された起動要求で指定されたプログラムが、送信元判断手段2aにおいて信頼できる装置から送信されたと判断された場合、起動要求がオペレーティングシステムで実行される。また、起動要求で指定されたプログラムが、送信元判断手段において信頼できる装置以外から送信されたと判断された場合、安全性判断手段2cにより、ウィルスチェック要求が出力される。すると、ウィルスチェック手段2dにより、起動要求で指定されたプログラムが記憶装置から読み出され、コードチェックが実行される。その結果、プログラムにウィルスのコード配列が含まれていなければ、起動要求がオペレーティングシステムで実行される。
また、上記課題を解決するために、クライアントからの要求に応じてジョブを複数のコンピュータに分散処理させるための振り分けを行うジョブ投入管理プログラムにおいて、コンピュータを、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証する証明書認証手段、前記証明書認証手段で前記証明書が正しく認証された場合、前記プログラムが安全であることを示す安全性情報を付加する安全性情報設定手段、ジョブの実行を依頼するノードを選択し、選択した前記ノードに対して、前記安全性情報設定手段によって前記安全性情報が付加された前記プログラムを含むジョブの実行要求を送信するジョブ振り分け手段、として機能させることを特徴とするジョブ投入管理プログラムが提供される。
このようなジョブ投入管理プログラムをコンピュータで実行させることで、証明書とプログラムとを含むジョブ投入要求が入力されると、証明書認証手段により、証明書の正当性が認証される。証明書認証手段で証明書が正しく認証された場合、安全性情報設定手段により、プログラムが安全であることを示す安全性情報が付加される。そして、ジョブ振り分け手段により、ジョブの実行を依頼するノードが選択され、選択されたノードに対して、安全性情報設定手段によって安全性情報が付加されたプログラムを含むジョブの実行要求が送信される。
また、本発明では上記課題を解決するために、ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理方法において、ジョブ管理装置の証明書認証手段が、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証し、前記ジョブ管理装置のジョブ振り分け手段が、前記証明書認証手段で前記証明書が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信し、前記ジョブ実行装置の送信元判断手段が、信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断し、前記ジョブ実行装置のジョブ管理手段が、入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力し、前記ジョブ実行装置の安全性判断手段が、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力し、前記ジョブ実行装置のウィルスチェック手段が、前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックを実行し、前記コード配列が含まれていない場合に前記起動要求をオペレーティングシステムに実行させる、ことを特徴とするセキュリティ管理方法が提供される。
このようなセキュリティ管理方法によれば、ジョブ管理装置に証明書とプログラムとを含むジョブ投入要求が入力されると、ジョブ管理装置の証明書認証手段により、前記証明書の正当性が認証される。前記証明書認証手段で前記証明書が正しく認証された場合、前記ジョブ管理装置のジョブ振り分け手段により、ジョブの実行を依頼するジョブ実行装置が選択され、選択された前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求が送信される。前記ジョブ実行装置にプログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブ実行装置の送信元判断手段により、前記ジョブの送信元の識別情報が前記信頼装置情報と比較され、前記プログラムが信頼できる装置から送信されたか否かが判断される。また、前記ジョブ実行装置のジョブ管理手段により、入力された前記プログラムが記憶装置に格納され、前記プログラムを指定した起動要求が出力される。前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求がオペレーティングシステムに実行される。前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、前記ジョブ実行装置の安全性判断手段により、ウィルスチェック要求が出力される。すると、前記ジョブ実行装置のウィルスチェック手段により、前記起動要求で指定された前記プログラムが前記記憶装置から読み出され、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックが実行され、前記コード配列が含まれていない場合に前記起動要求がオペレーティングシステムで実行される。
本発明では、ジョブの送信元が信頼できる装置か否かを判断し、信頼できる装置であれば、ジョブを実行時にプログラムのコードチェックを省略するようにした。これにより、ジョブ実行時の処理負荷が軽減される。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本実施の形態の概略を示す図である。図1の例では、クライアント3から投入されるジョブは、ジョブ管理装置1を経由して、ジョブ実行装置2に渡される。クライアント3は、ジョブの投入に際し、証明書6を付加したプログラム5をジョブ管理装置1に渡す。また、クライアント4から投入されるジョブは、ジョブ実行装置2に直接渡される。クライアント4は、ジョブの投入に際し、プログラム7をジョブ実行装置2に渡す。
なお、図1の例では、ジョブ管理装置1の識別情報は「GW#1」である。クライアント3の識別情報は「CL#1」である。クライアント4の識別情報は「CL#2」である。
ジョブ管理装置1は、投入されたジョブの振り分けを行う。そのために、ジョブ管理装置1は、証明書認証手段1aとジョブ振り分け手段1bとを有している。
証明書認証手段1aは、証明書6とプログラム5とを含むジョブ投入要求が入力されると、証明書の正当性を認証する。証明書6は、不正行為を働かないことが予め確認された作成者によって、プログラム5が作成されていることを証明する情報である。
ジョブ振り分け手段1bは、証明書認証手段1aで証明書6が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置2を選択する。そして、ジョブ振り分け手段1bは、選択したジョブ実行装置2に対して、プログラムを含むジョブの実行要求を送信する。
ジョブ実行装置2は、投入されたジョブをジョブ実行プロセス2e,2fにより実行する。その際、信頼できる装置から投入されたジョブについては、ウィルスチェックを省略する。そのために、ジョブ実行装置2は、送信元判断手段2a、ジョブ管理手段2b、安全性判断手段2c、ウィルスチェック手段2dを有している。
送信元判断手段2aは、信頼できる装置の識別情報を示す信頼装置情報2aaが予め設定されており、プログラム5,7を含むジョブの実行要求がネットワーク経由で入力されると、ジョブの送信元の識別情報を信頼装置情報と比較する。そして、送信元判断手段2aは、比較結果に基づいて、プログラム5,7が信頼できる装置から送信されたか否かを判断する。すなわち、ジョブの送信元の識別情報と信頼装置情報2aaに設定された識別情報とが一致すれば、送信元判断手段2aは、プログラム5,7が信頼できる装置から送信されたと判断する。また、ジョブの送信元の識別情報と信頼装置情報2aaに設定された識別情報とが一致しなければ、送信元判断手段2aは、プログラム5,7が信頼できる装置以外から送信されたと判断する。
ジョブ管理手段2bは、入力されたプログラム5,7を記憶装置に格納し、プログラム5,7を指定した起動要求を出力する。
安全性判断手段2cは、ジョブ管理手段2bから出力された起動要求で指定されたプログラム5,7が、送信元判断手段2aにおいて信頼できる装置から送信されたと判断された場合、起動要求をオペレーティングシステムに実行させる。また、安全性判断手段2cは、起動要求で指定されたプログラム5,7が、送信元判断手段2aにおいて信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する。
ウィルスチェック手段2dは、安全性判断手段2cからウィルスチェック要求が出力されると、起動要求で指定されたプログラム5,7を記憶装置から読み出し、コードチェック処理を実行する。コードチェック処理は、既知のウィルスに含まれるコード配列がプログラム7に含まれていないことを確認する処理である。コードチェック処理により、既知のウィルスに該当するコード配列が含まれていない場合、ウィルスチェック手段2dは、起動要求をオペレーティングシステムに実行させる。
オペレーティングシステムに起動要求が出されることで、オペレーティングシステムによってジョブ実行プロセス2e,2fが生成され、ジョブが実行される。
このようなセキュリティ管理プログラムをコンピュータに実行させることで、ジョブ管理装置1から投入されたジョブのウィルスチェックが省略される。例えば、クライアント3から投入されたジョブの場合、証明書6が付加されたプログラム5がジョブ管理装置1に入力される。すると、証明書認証手段1aにより証明書6の認証処理が行われる。証明書6が正しく認証されると、ジョブ振り分け手段1bにより、ジョブの振り分けが行われる。そして、ジョブ振り分け手段1bにより、ジョブの振り分け先として決定されたジョブ実行装置2に対して、プログラム5を含むジョブの実行要求が送信される。
プログラム5,7を含むジョブの実行要求がネットワーク経由でジョブ実行装置2に入力されると、送信元判断手段2aにより、ジョブの送信元の識別情報と信頼装置情報2aaとが比較され、プログラム5,7が信頼できる装置から送信されたか否かが判断される。信頼装置情報2aaに設定された識別情報は「GW#1」である。従って、ジョブ管理装置1から渡されたプログラム5については、送信元判断手段2aにおいて、信頼できる装置から送信されたものと判断される。また、クライアント4から渡されたプログラム7については、送信元判断手段2aにおいて、信頼できる装置以外から送信されたものと判断される。
次に、ジョブ管理手段2bにより、入力されたプログラム5,7が記憶装置に格納され、プログラム5,7を指定した起動要求が出力される。ここで、プログラム5は、送信元判断手段2aにおいて信頼できる装置から送信されたと判断されているため、ウィルスチェックを行うことなく、起動要求がオペレーティングシステムで実行される。すなわち、ジョブ実行プロセス2eが生成され、ジョブ実行プロセス2eによってプログラム5に記述された処理が実行される。
また、プログラム7は、送信元判断手段2aにおいて信頼できる装置以外から送信されたと判断されているため、安全性判断手段2cにより、ウィルスチェック要求が出力される。すると、ウィルスチェック手段2dにより、プログラム7が記憶装置から読み出され、コードチェック処理が実行される。コードチェック処理の結果、プログラム7にウィルスのコード配列が含まれていなければ、起動要求がオペレーティングシステムで実行される。すなわち、ジョブ実行プロセス2fが生成され、ジョブ実行プロセス2fによってプログラム7に記述された処理が実行される。
このようにして、ジョブ管理装置1においてプログラム5の安全性を保障することで、ジョブ実行装置2では、ジョブ管理装置1経由で入力されたプログラム5のウィルスチェックを省略することができる。その結果、ジョブ実行装置2におけるジョブ実行時の処理付加が軽減される。
なお、図1に示したシステムをグリッドシステムに適用することで、負荷軽減の効果がより高くなる。すなわち、グリッドシステムでは、ゲートウェイを介して、ジョブが複数のノードに分散投入される。その際、全てのノードでウィルスチェックを行ったのでは、全体としての処理効率が悪化する。そこで、ゲートウェイによってプログラムの安全性を保障し、ゲートウェイ経由で投入されたプログラムのウィルスチェックを省略することで、システム全体の安全性を保ちつつ、処理負荷の軽減を図ることができる。
そこで、本発明をグリッドシステムに提供した場合を例に採り、本発明の実施の形態の詳細を説明する。
[第1の実施の形態]
第1の実施形態は、信頼できるグリッド管理マネージャから投入されたジョブのプログラムはすべて安全であると信頼し、ウィルスチェックを省略するものである。なお、第1の実施の形態では、簡単のために、各種ウィルスチェック処理のうちコードチェック処理のみを省略する場合を想定して説明する。
図2は、本実施の形態のシステム構成例を示す図である。クライアント31は、グリッドシステム100に配置されたゲートウェイ(GW)110に対してネットワーク21を介して接続されている。
グリッドシステム100は、ゲートウェイ110、複数のノード120a,120b,120c,・・・で構成されるCPU、ファイバーチャネル(FC)140、および複数の共有二次記憶装置131,132,133を有している。
ゲートウェイ110と各ノード120a,120b,120c,・・・とは、ネットワーク22で接続されている。また、各ノード120a,120b,120c,・・・と共有二次記憶装置131,132,133とは、ファイバーチャネル140を介して接続されている。
ゲートウェイ110は、クライアント31からのジョブの投入要求を受け付ける。その際、ゲートウェイ110は、入力されたジョブに付加された証明書の認証処理を行う。証明書の認証は、例えば、GSI(Grid Security Infrastructure)機能を用いて行われる。証明書が正しく認証された場合、ゲートウェイ110はジョブを分割し、CPU群120内のノードに分割したジョブを投入する。
CPU群120を構成する各ノード120a,120b,120c,・・・は、ゲートウェイ110から投入されたジョブを実行する。その際、各ノード120a,120b,120c,・・・は、必要に応じて共有二次記憶装置131,132,133に対して、データの格納または読み出しを行う。
図3は、本実施の形態に用いるゲートウェイのハードウェア構成例を示す図である。ゲートウェイ110は、CPU(Central Processing Unit)111bによって装置全体が制御されている。CPU111には、バス111iを介してRAM(Random Access Memory)111c、ハードディスクドライブ(HDD:Hard Disk Drive)111d、グラフィック処理装置111e、入力インタフェース111f、および通信インタフェース111g,111hが接続されている。
RAM111cには、CPU111bに実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM111cには、CPU111bによる処理に必要な各種データが格納される。HDD111dには、OSやアプリケーションプログラムが格納される。
グラフィック処理装置111eには、モニタ11が接続されている。グラフィック処理装置111eは、CPU111bからの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース111fには、キーボード12とマウス13とが接続されている。入力インタフェース115は、キーボード12やマウス13から送られてくる信号を、バス111iを介してCPU111bに送信する。
通信インタフェース111gは、ネットワーク21に接続されている。通信インタフェース111gは、ネットワーク21を介して、クライアント31との間でデータの送受信を行う。
通信インタフェース111hは、ネットワーク22に接続されている。通信インタフェース111hは、ネットワーク22を介して、各ノード120a,120b,120c,・・・との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3にはゲートウェイ110のハードウェア構成を示したが、各ノード120a,120b,120c,・・・も同様のハードウェアで実現することができる。
図4は、第1の実施の形態における処理を示す概念図である。グリッドシステム100を構成する各ノードでは、クライアントアプリケーション91〜93が実行されている。その状態で、いずれかのノード(図4の例では、ノード120a,120b,120c)にジョブ94〜96を実行させるものとする。
まず、クライアント31からジョブが投入される(ステップS11)。ジョブの投入時には、クライアント31からゲートウェイ110に、ジョブの実行要求と共に証明書51付きのアーカイブ40が送信される。アーカイブ40は、プログラム41と付帯情報42とを1つのファイルにまとめたものである。プログラム41には、クライアント31から依頼されたジョブを実行するための処理手順が記述されている。付帯情報42には、ジョブの実行に必要な各環境情報(例えば、参照するデータベースの所在等)が設定されている。
アーカイブ40としては、例えば、ZAR(ゼロ・アドミニストレーション・アーカイブ)を利用することができる。ZARは、ZARで提供される情報(プログラムと付帯情報)のみによってジョブを実行可能なアーカイブである。すなわち、ZARの実行に際し、予め所定のライブラリ等の機能が各ノード120a,120b,120c,・・・に組み込まれている必要がない。
証明書51は、アーカイブ40の作成者を認証局を通して認証するためのデータである。この機能は、例えば、SSL(Secure Socket Layer)に既定されている。
ゲートウェイ110では、証明書51付きのアーカイブ40を受け取ると、証明書51の認証および認可処理を行う(ステップS12)。証明書の認証は、図示していない認証局を通して行うことができる。
証明書51が正しく認証されれば、ゲートウェイ110は、ジョブを分割する(ステップS13)。そして、ゲートウェイ110は、分割したジョブを複数のノード120a,120b,120cに投入する(ステップS14)。ノード120a,120b,120cに対するジョブの投入では、ジョブの処理要求と共に、アーカイブ40が各ノード120a,120b,120cに送信される。
そして、ジョブが投入されたノード120a,120b,120cにおいて、アーカイブ40内のプログラム41と付帯情報42が取り出され、プログラム41が実行される。この際、ジョブが投入されたノード120a,120b,120cでは、信頼できるグリッド管理マネージャ(本実施の形態ではゲートウェイ110内の機能)から投入されたジョブであることを確認し、ウィルスチェックを省略してプログラム41を実行する。
次に、図4に示した処理を実行するために必要なゲートウェイ110とノードとの機能について説明する。
図5は、第1の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。なお、図5では代表としてノード120aの機能が示されているが、他のノードもノード120aと同様の機能を有している。
ゲートウェイ110は、グリッドシステム100で実行するジョブを管理するためのグリッド管理マネージャ110aを有している。グリッド管理マネージャ110aは、ジョブ投入受け付け部111、証明書認証部112、およびジョブ振り分け部113で構成される。
ジョブ投入受け付け部111は、クライアント31から証明書51が添付されたアーカイブ40を受け取ると、証明書51を証明書認証部112に渡す。そして、ジョブ投入受け付け部111は、証明書認証部112から、正しく認証された旨の認証結果を受け取ると、アーカイブ40をジョブ振り分け部113に渡す。
証明書認証部112は、受け取った証明書51に基づいて、アーカイブ40の作成者が本人であることを認証する。認証処理は、例えば、図示していない認証局に対して認証を依頼することで実現される。証明書51が正しく認証された場合、証明書認証部112は、認証処理の結果をジョブ投入受け付け部111に対して出力する。
ジョブ振り分け部113は、投入されたジョブを複数のノードに実行させるために、ジョブを実行させるノートを決定する。例えば、各ノードの負荷を監視し、負荷の少ないノードにジョブを実行させる。ノードが決定すると、ジョブ振り分け部113は、ジョブを実行させるべきノードに対してジョブを投入する。具体的には、ジョブ振り分け部113は、ノードに対して、ジョブの実行要求と共にアーカイブ40を送信する。
ノード120aは、通信制御部121、ジョブ管理部122、OS123、プログラム記憶部124、ジョブ実行プロセス125、およびセキュリティ管理部126を有する。
通信制御部121は、ゲートウェイ110からアーカイブ40を受け取り、そのアーカイブ40をジョブ管理部122に渡す。その際、通信制御部121は、アーカイブ40を送信したゲートウェイ110のIPアドレスをセキュリティ管理部126の送信元判断部126aに渡す。
ジョブ管理部122は、アーカイブ40を受け取ると、アーカイブ40からプログラム41と付帯情報42を取り出す。そして、ジョブ管理部122は、プログラム41と付帯情報42とを、OS123のファイルシステム123aを介して、プログラム記憶部124に格納する。この際、ジョブ管理部122は、取り出したプログラム41のファイル名を、セキュリティ管理部126の送信元判断部126aに通知する。その後、ジョブ管理部122は、OS123に対して、プログラム41の起動要求を出力する。
OS123は、ノード120a全体の処理を管理する。例えば、ジョブ管理部122からプログラム41の起動要求が入力されると、OS123がジョブ実行プロセス125を起動し、そのジョブ実行プロセス125にプログラム41を実行させる。ファイル管理に関しては、OS123内のファイルシステム123aで行われる。
OS123内のファイルシステム123aは、プログラム記憶部124に入出力されるファイルを管理する。具体的には、ファイルシステム123aは、ジョブ管理部122からプログラム41と付帯情報42との格納要求を受け取ると、それらをプログラム記憶部124に書き込む。また、ファイルシステム123aは、ジョブ管理部122からOS123にプログラム41の起動要求が出されると、プログラム記憶部124からプログラム41を読み出し、ジョブ実行プロセス125の管理するメモリ領域に格納する。
プログラム記憶部124は、投入されたジョブを実行するためのプログラム41と付帯情報42とを記憶するための記憶領域である。
ジョブ実行プロセス125は、プログラム41に従った処理を実行する。また、ジョブ実行プロセス125は、プログラム記憶部124内の付帯情報を参照することで、プログラム41の実行に必要な環境情報を把握する。
セキュリティ管理部126は、クライアント31からの依頼によって実行するジョブのセキュリティを管理する。具体的には、セキュリティ管理部126は、ゲートウェイ110から投入されたジョブであれば、そのジョブを実行するためのプログラム41に対するウィルスチェックを省略する。ジョブのセキュリティ管理を行うために、セキュリティ管理部126は、送信元判断部126a、安全プログラムリスト126b、安全性判断部126c、およびウィルスチェック部126dを有する。
送信元判断部126aは、通信制御部121から、アーカイブ40の送信元のIPアドレスを取得する。送信元判断部126aは、ゲートウェイ110のIPアドレスを予め保持しており、IPアドレスを比較することにより、アーカイブ40の送信元がゲートウェイ110であることを確認する。アーカイブ40がゲートウェイ110から送られたことを確認した送信元判断部126aは、アーカイブ40に含まれていたプログラム41のファイル名をジョブ管理部122から受け取り、そのファイル名を安全プログラムリスト126bに登録する。
安全プログラムリスト126bには、信頼できるグリッド管理マネージャ110aから投入されたジョブを実行するためのプログラムのファイル名が登録される。
安全性判断部126cは、ジョブ管理部122からOS123に対して、プログラム41のファイル名を指定した起動要求が出されると、その起動要求で指定されたファイルの安全性を確認する。具体的には、安全性判断部126cは、起動要求で指定されたファイル名が、安全プログラムリスト126bに登録されているか否かを判断する。該当するファイル名が、安全プログラムリスト126bに登録されていれば、そのファイル名に対応するプログラム41が安全であると判断される。該当するファイル名が、安全プログラムリスト126bに登録されていなければ、そのファイル名に対応するプログラム41の安全性が保障できないと判断される。安全性判断部126cは、判断結果をウィルスチェック部126dに通知する。
ウィルスチェック部126dは、プログラムのウィルスチェックを、次のような手順で行う。ウィルスチェック部126dは、ジョブ管理部122からの起動要求に応じて、OS123によってプログラム41が読み出されると、そのプログラム41がジョブ実行プロセス125に渡される前にウィルスチェックの要否を判断する。具体的には、ウィルスチェック部126dは、安全性判断部126cから安全である旨の判断結果を受け取った場合、ウィルスチェック不要と判断する。また、ウィルスチェック部126dは、安全性判断部126cから安全性を保障できない旨の判断結果を受け取った場合、ウィルスチェック必要と判断する。
ウィルスチェック部126dは、ウィルスチェックが不要であれば、起動要求に応じてファイルシステム123aで読み出されたプログラム41に対して、ウィルスチェックを行わずにジョブ実行プロセス125に渡す。一方、ウィルスチェックが必要であれば、ウィルスチェック部126dは、起動要求に応じてファイルシステム123aで読み出されたプログラム41に対してウィルスチェックを実行する。そして、ウィルスチェック部126dは、ウィルスチェックの結果、問題が検出されなければ、プログラム41をジョブ実行プロセス125に渡す。
図6は、安全プログラムリストのデータ構造例を示す図である。安全プログラムリスト126bには、信頼できるグリッド管理マネージャ110aから配布されたことが確認されたプログラムのファイル名が登録されている。
以上のような構成によって、各ノードにおけるジョブ実行時のウィルスチェックを省略することができる。以下、ジョブ投入からジョブ実行までの処理手順を説明する。
図7は、第1の実施の形態におけるジョブ実行手順を示すシーケンス図である。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS21]クライアント31において、ユーザからジョブ投入指示を受け付ける。
[ステップS22]クライアント31は、証明書51付きのアーカイブ40をゲートウェイ110に対して送信する。
[ステップS23]ゲートウェイ110のジョブ投入受け付け部111は、証明書51付きのアーカイブ40を受信する。すると、ジョブ投入受け付け部111は、証明書認証部112に対して証明書51を渡す。
[ステップS24]ゲートウェイ110の証明書認証部112は、証明書51の認証処理を行う。そして、証明書認証部112は、認証結果をジョブ投入受け付け部111に渡す。
[ステップS25]証明書51が正しく認証された場合、ジョブ投入受け付け部111は、アーカイブ40をジョブ振り分け部113に渡す。ジョブ振り分け部113は、ジョブを実行させる1つ以上のノードを決定し、そのノードに対してアーカイブ40を送信する。この例では、ノード120aに対してアーカイブ40が送信されている。
[ステップS26]ノード120aは、アーカイブ40を受信する。
[ステップS27]ノード120aは、ジョブ実行プロセス125を起動し、受信したアーカイブ40に含まれるプログラム41を実行する。なお、ノード120aで実行される処理は、図8を参照して詳細に説明する。
図8は、ノードにおけるジョブ実行処理手順を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
[ステップS31]通信制御部121は、受信したアーカイブ40の送信元アドレスを取得する。そして、通信制御部121は、取得した送信元アドレスをセキュリティ管理部126の送信元判断部126aに渡す。
[ステップS32]送信元判断部126aは、アーカイブ40の送信元がゲートウェイ110か否かを判断する。具体的には、送信元判断部126aは、予め設定されているゲートウェイ110のIPアドレスと送信元アドレスとを比較し、同一か否かを判断する。アドレスが一致すれば、アーカイブ40の送信元がゲートウェイ110であると判断する。アーカイブ40の送信元がゲートウェイ110であれば、処理がステップS33に進められる。アーカイブ40の送信元がゲートウェイ110でなければ、処理がステップS35に進められる。
[ステップS33]ジョブ管理部122は、アーカイブ40内のファイルを分離し、プログラム41と付帯情報42を取り出す。この際、アーカイブ40が所定の圧縮形式で圧縮されている場合、ジョブ管理部122は、アーカイブ40の圧縮を解凍後、ファイルを分離する。また、ジョブ管理部122は、プログラム41のファイル名をセキュリティ管理部126の送信元判断部126aに通知する。
[ステップS34]送信元判断部126aは、プログラム41のファイル名を安全プログラムリスト126bに格納する。その後、処理がステップS36に進められる。
[ステップS35]ジョブ管理部122は、アーカイブ40内のファイルを分離し、プログラム41と付帯情報42とを取り出す。
[ステップS36]ジョブ管理部122は、アーカイブ40から取り出したプログラム41と付帯情報42とをプログラム記憶部124に格納する。
[ステップS37]ジョブ管理部122は、プログラム41の起動要求をOS123に対して出力する。
[ステップS38]セキュリティ管理部126の安全性判断部126cは、起動要求で指定されたプログラム41の安全性を判断する。具体的には、安全性判断部126cは安全プログラムリスト126bを参照し、プログラム41のファイル名が格納されていれば、信頼できる(安全である)と判断する。また、安全性判断部126cは、安全プログラムリスト126bにプログラム41のファイル名が格納されていなければ、信頼できない(安全が保障できない)と判断する。プログラム41が安全であれば、処理がステップS41に進められる。プログラム41の安全が保障できなければ、処理がステップS39に進められる。
[ステップS39]セキュリティ管理部126のウィルスチェック部126dは、安全性が保障されない場合、プログラム41のウィルスチェックを行う。
[ステップS40]ウィルスチェック部126dは、ウィルスチェックの結果、セキュリティ上の問題が検出されたか否かを判断する。問題がなければ、処理がステップS41に進められる。問題が検出された場合、ジョブ実行プロセス125が起動されることなく、処理が終了する。
[ステップS41]OS123は、起動要求に応じて、ジョブ実行プロセス125を生成する。さらに、OS123によってプログラム41がジョブ実行プロセス125に渡される。すると、ジョブ実行プロセス125が、プログラム41に応じてジョブを実行する。
以上のようにして、信頼できるグリッド管理マネージャから投入されたジョブのプログラムはすべて安全であると信頼し、ウィルスチェックを省略することができる。その結果、ジョブ投入者が注意深く作成し、責任が取れるプログラムに関しては、ノードでのセキュリティチェックによる性能劣化を防止できる。
[第2の実施の形態]
次に第2の実施の形態について説明する。第2の実施の形態では、ゲートウェイに配置されたグリッド管理マネージャがジョブ配布時にコードをチェックする。そして、各ノードでは、起動時のコードチェックを省略する。
図9は、第2の実施の形態の処理を示す概念図である。図9には、グリッドシステム200内のゲートウェイ210とノード220a,220b,220c,・・・とが示されている。グリッドシステム200を構成する各ノードでは、クライアントアプリケーション91a,92a,93aが実行されている。その状態で、いずれかのノード(図9の例では、ノード220a,220b,220c)にジョブ94a,95a,96aを実行させるものとする。
まず、クライアント31からジョブが投入される(ステップS51)。ジョブの投入時には、クライアント31からゲートウェイ210に、ジョブの実行要求と共に証明書52付きのアーカイブ60が送信される。アーカイブ60には、プログラム61と付帯情報62とが含まれる。
ゲートウェイ210では、証明書52付きのアーカイブ60を受け取ると、証明書52の認証および認可処理を行う(ステップS52)。さらに、ゲートウェイ210は、アーカイブ60に含まれるプログラム61のウィルスチェック(コードチェック)を行う(ステップS53)。証明書51が正しく認証され、かつコードチェックで問題が検出されなければ、ゲートウェイ210はジョブを分割する(ステップS54)。そして、ゲートウェイ210は、分割したジョブを複数のノード220a,220b,220cに投入する(ステップS55)。
ノード220a,220b,220cに対するジョブの投入では、ジョブの処理供給と共に、アーカイブ60が各ノード220a,220b,220cに送信される。そして、ジョブが投入されたノード220a,220b,220cにおいて、アーカイブ60内のプログラム61と付帯情報62が取り出され、プログラム61が実行される。この際、ジョブが投入されたノード220a,220b,220cでは、信頼できるグリッド管理マネージャ(第2の実施の形態ではゲートウェイ210内の機能)から投入されたジョブであることを確認し、コードチェックを省略してプログラム61を実行する(ステップS56)。
図10は、第2の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。なお、図10では代表としてノード220aの機能が示されているが、他のノードもノード220aと同様の機能を有している。
ゲートウェイ210は、グリッドシステム200で実行するジョブを管理するためのグリッド管理マネージャ210aを有している。グリッド管理マネージャ210aは、ジョブ投入受け付け部211、証明書認証部212、ジョブ振り分け部213、およびウィルスチェック部214で構成される。
ジョブ投入受け付け部211は、クライアント31から証明書52が添付されたアーカイブ60を受け取ると、アーカイブ60をウィルスチェック部214に渡し、証明書51を証明書認証部212に渡す。そして、ジョブ投入受け付け部211は、証明書認証部212から正しく認証された旨の認証結果を受け取り、かつウィルスチェック部214から問題が検出されなかった旨のチェック結果を受け取ると、アーカイブ60をジョブ振り分け部213に渡す。
証明書認証部212は、受け取った証明書52に基づいて、アーカイブ60の作成者が本人であることを認証する。認証処理は、例えば、図示していない認証局に対して認証を依頼することで実現される。証明書52が正しく認証された場合、証明書認証部212は、認証処理の結果をジョブ投入受け付け部211に対して出力する。
ウィルスチェック部214は、受け取ったアーカイブ60からプログラム61を取り出し、コードチェックを行う。具体的には、ウィルスチェック部214は、ウィルスに感染したファイル内で出現するコードの配列を示す複数のコード情報を有しており、プログラム61内に、ウィルスに相当するコード情報と同じ配列が出現するか否かを判断する。
ウィルスに相当するコード情報と同じ配列が見つからなければ、ウィルスチェック部214は、問題無い旨のチェック結果をジョブ投入受け付け部211に対して出力する。また、ウィルスに相当するコード情報と同じ配列が見つかった場合、ウィルスチェック部214は、ウィルスが検出された旨のチェック結果をジョブ投入受け付け部211に対して出力する。なお、ウィルスが検出された場合であっても、ウィルスチェック部214でそのウィルスを除去できる場合、プログラム61内のウィルスを除去した上で、問題無い旨のチェック結果をジョブ投入受け付け部211に対して出力してもよい。
ジョブ振り分け部213は、投入されたジョブを複数のノードに実行させるために、ジョブを実行させるノードを決定する。ノードが決定すると、ジョブ振り分け部213は、ジョブを実行させるべきノードに対してジョブを投入する。
ノード220aは、通信制御部221、ジョブ管理部222、OS223、プログラム記憶部224、ジョブ実行プロセス225、およびセキュリティ管理部226を有する。また、セキュリティ管理部226は、送信元判断部226a、安全プログラムリスト226b、安全性判断部226c、およびウィルスチェック部226dを有する。ノード220a内の各構成要素の機能は、図5に示した第1の実施の形態のノード120a内の同名の構成要素と同じである。そこで、ノード220a内の各構成要素の機能については説明を省略する。
以上のような構成によって、各ノードにおけるジョブ実行時のコードチェックを省略することができる。以下、ジョブ投入からジョブ実行までの処理手順を説明する。
図11は、第2の実施の形態におけるジョブ実行手順を示すシーケンス図である。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS71]クライアント31において、ユーザからジョブ投入指示を受け付ける。
[ステップS72]クライアント31は、証明書52付きのアーカイブ60をゲートウェイ210に対して送信する。
[ステップS73]ゲートウェイ210のジョブ投入受け付け部211は、証明書52付きのアーカイブ60を受信する。すると、ジョブ投入受け付け部211は、証明書認証部212に対して証明書52を渡す。
[ステップS74]ゲートウェイ210の証明書認証部212は、証明書52の認証処理を行う。そして、証明書認証部212は、認証結果をジョブ投入受け付け部211に渡す。
[ステップS75]ゲートウェイ210のウィルスチェック部214は、アーカイブ60内のプログラム61を取り出し、ウィルスチェック(コードチェック)を行う。
[ステップS76]証明書52が正しく認証され、コードチェックにより問題が検出されなかった場合、ジョブ投入受け付け部211は、アーカイブ60をジョブ振り分け部213に渡す。ジョブ振り分け部213は、ジョブを実行させる1つ以上のノードを決定し、そのノードに対してアーカイブ60を送信する。この例では、ノード221aに対してアーカイブ60が送信されている。
[ステップS77]ノード221aは、アーカイブ60を受信する。
[ステップS78]ノード221aは、ジョブ実行プロセス225を起動し、受信したアーカイブ60に含まれるプログラム61を実行する。なお、ノード221aで実行される処理の詳細は、図8に示した第1の実施の形態の処理と同様である。
以上のようにして、グリッド管理マネージャ210aでコードチェックを一旦行えば、各ノードでコードチェックを省略できる。その結果、各ノードで二重にコードチェックをする必要が無くなり、ノードでの処理の効率化が図れる。
[第3の実施の形態]
第3の実施の形態は、グリッド管理マネージャが、ジョブに対して「信頼できる。」「信頼できない。」の署名およびマーク(安全であることを示す情報)をつけ、これに応じてノードでのウィルスチェックの適用・非適用を制御するものである。また、信頼できる場合でも、信頼の度合いによって、マークを変更することで信頼度を定義する。この信頼度に応じて、ノードでのウィルスチェックの内容(実時間監視のみを行うのか、コードチェックと実時間監視とを行うのか)を変更する。
図12は、第3の実施の形態の処理を示す概念図である。図12には、グリッドシステム300内のゲートウェイ310とノード320a,320b,320c,・・・とが示されている。グリッドシステム300を構成する各ノードでは、クライアントアプリケーション91b,92b,93bが実行されている。その状態で、いずれかのノード(図9の例では、ノード320a,320b,320c)にジョブ94b,95b,96bを実行させるものとする。
まず、クライアント31からジョブが投入される(ステップS81)。ジョブの投入時には、クライアント31からゲートウェイ310に、ジョブの実行要求と共に証明書53付きのアーカイブ70が送信される。アーカイブ70には、プログラム71と付帯情報72とが含まれる。
ゲートウェイ310では、証明書53付きのアーカイブ70を受け取ると、証明書53の認証および認可処理を行う(ステップS82)。さらに、ゲートウェイ310は、クライアント31を識別し、クライアント31に応じた安全性を決定する(ステップS83)。次に、ゲートウェイ310はジョブを分割する(ステップS84)。そして、ゲートウェイ310は、分割したジョブを複数のノード320a,320b,320cに投入する(ステップS85)。この際、ジョブの実行要求と共に、安全性を示す安全性情報54を負荷したアーカイブ70が各ノード320a,320b,320cに送信される。
ノード320a,320b,320cに対するジョブの投入では、ジョブの処理供給と共に、アーカイブ70が各ノード320a,320b,320cに送信される。そして、ジョブが投入されたノード320a,320b,320cにおいて、アーカイブ70内のプログラム71と付帯情報72が取り出され、プログラム71が実行される。この際、ジョブが投入されたノード320a,320b,320cでは、安全性情報54に応じたセキュリティ管理が行われる(ステップS86)。
図13は、第3の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。なお、図13では代表としてノード320aの機能が示されているが、他のノードもノード320aと同様の機能を有している。
ゲートウェイ310は、グリッドシステム300で実行するジョブを管理するためのグリッド管理マネージャ310aを有している。グリッド管理マネージャ310aは、ジョブ投入受け付け部311、証明書認証部312、ジョブ振り分け部313、クライアント安全管理テーブル314、および安全性情報設定部315で構成される。
ジョブ投入受け付け部311は、クライアント31から証明書53が添付されたアーカイブ70を受け取ると、アーカイブ70の送信元を示す識別情報(例えばIPアドレス)を安全性情報設定部315に渡し、証明書53を証明書認証部312に渡す。そして、ジョブ投入受け付け部311は、証明書認証部312から正しく認証された旨の認証結果を受け取り、かつ安全性情報設定部315から安全性情報を受け取ると、安全性情報54付きのアーカイブ70をジョブ振り分け部313に渡す。
証明書認証部312は、受け取った証明書53に基づいて、アーカイブ70の作成者が本人であることを認証する。認証処理は、例えば、図示していない認証局に対して認証を依頼することで実現される。証明書53が正しく認証された場合、証明書認証部312は、認証処理の結果をジョブ投入受け付け部311に対して出力する。
クライアント安全管理テーブル314は、クライアント(図12に示すクライアント31および図示されていない他の多くのクライアント)の識別情報と、そのクライアントの信頼度とが関連づけて登録されている。クライアントの識別情報としては、例えばIPアドレスを利用するとことができる。
安全性情報設定部315は、アーカイブ70の送信元を示す識別情報をジョブ投入受け付け部311から受け取ると、クライアント安全管理テーブル314を参照し、識別情報に対応する信頼度を判断する。そして、安全性情報設定部315は、信頼度と署名とを設定した安全性情報54をジョブ投入受け付け部311に渡す。
ジョブ振り分け部313は、投入されたジョブを複数のノードに実行させるために、ジョブを実行させるノートを決定する。ノードが決定すると、ジョブ振り分け部313は、ジョブを実行させるべきノードに対してジョブを投入する。具体的には、ジョブ振り分け部313は、ジョブを実行させるべきノードそれぞれに、安全性情報54付きのアーカイブ70を送信する。
ノード320aは、通信制御部321、ジョブ管理部322、OS323、プログラム記憶部324、ジョブ実行プロセス325、およびセキュリティ管理部326を有する。ノード320a内の各構成要素の機能は、通信制御部321とセキュリティ管理部326とを除き、図5に示した第1の実施の形態のノード120a内の同名の構成要素と同じである。そこで、ノード320a内の通信制御部321とセキュリティ管理部326以外の各構成要素の機能については説明を省略する。
通信制御部321は、安全性情報54が付加されたアーカイブ70を受信すると、アーカイブ70をジョブ管理部322に渡し、安全性情報54をセキュリティ管理部326の送信元判断部326aに渡す。
セキュリティ管理部326は、投入されたジョブの実行に際し、安全性情報に応じたセキュリティ監視を行う。セキュリティ監視として、プログラム起動時のコードチェックと、プログラム実行時の実時間監視とが行われる。
実時間監視とは、プログラムを実行するプロセスがOS323に対して何らかの要求を出力した際に、その要求を奪い取り、不正な要求でないことを確認する処理である。不正な要求でない場合にのみ、その要求はOS323に渡される。ここで、不正な処理とは、例えば、OS323の重要なファイルの内容を操作する処理や、外部からのアクセスを容易にするような環境設定を行う処理などである。
セキュリティ管理部326は、このようなセキュリティ監視処理を行うために、送信元判断部326a、プログラム安全管理テーブル326b、安全性判断部326c、およびウィルスチェック部326dを有する。
送信元判断部326aは、通信制御部321から安全性情報54を取得する。そして、送信元判断部326aは、安全性情報54内の署名に基づいて、アーカイブ70の送信元がゲートウェイ310であることを確認する。
また、送信元判断部326aは、アーカイブ70に含まれていたプログラム71のファイル名をジョブ管理部322から受け取る。そして、送信元判断部326aは、取得したファイル名と安全性情報54に含まれる信頼度との組を、プログラム安全管理テーブル326bに格納する。
プログラム安全管理テーブル326bには、安全性情報54が付加されたアーカイブ70から抽出されたプログラムのプログラム名と、該当するプログラムの信頼度との組が登録される。
安全性判断部326cは、ジョブ管理部322からOS323に対して、プログラム41のファイル名を指定した起動要求が出されると、その起動要求で指定されたファイルの安全性を確認する。具体的には、安全性判断部326cは、起動要求で指定されたファイル名が、プログラム安全管理テーブル326bに登録されているか否かを判断する。該当するファイル名が、プログラム安全管理テーブル326bに登録されていれば、そのファイル名に対応する信頼度をプログラム安全管理テーブル326bから抽出する。そして、安全性判断部326cは、信頼度に基づいて、コードチェックの要否、および実時間監視の要否をウィルスチェック部326dに伝える。
ウィルスチェック部326dは、プログラムのウィルスチェックを行う。ウィルスチェック部326dは、ジョブ管理部322からの起動要求に応じて、OS323によってプログラム71が読み出されると、そのプログラム71がジョブ実行プロセス325に渡される前にコードチェックの要否の通知を安全性判断部326cから受け取る。
コードチェックが不要であれば、ウィルスチェック部326dは、起動要求に応じてファイルシステム323aで読み出されたプログラム71に対して、ウィルスチェックを行わずにジョブ実行プロセス325に渡す。一方、ウィルスチェックが必要であれば、ウィルスチェック部326dは、起動要求に応じてファイルシステム323aで読み出されたプログラム71に対してウィルスチェックを実行する。そして、ウィルスチェック部326dは、ウィルスチェックの結果、問題が検出されなければ、プログラム71をジョブ実行プロセス325に渡す。
また、ウィルスチェック部326dは、ジョブ実行プロセス325に関して実時間監視が必要か否かを、実時間監視プロセスリスト326eで管理する。実時間監視プロセスリスト326eには、ジョブ管理部322からの起動要求に応じて起動されたプロセスのプロセスIDに対応付けて、実時間監視の要否を示すフラグ(実時間監視フラグ)が設定されている。ウィルスチェック部326dは、実時間監視プロセスリスト326eに基づいて、ジョブ実行プロセス325が実時間監視の対象か否かを判断する。実時間監視の対象であれば、ウィルスチェック部326dは、ジョブ実行プロセス325からOS323に出される要求を奪い取り、不正な要求でないことを確認する。ウィルスチェック部326dは、要求が不正なものでなければ、その要求をOS323に渡す。また、ウィルスチェック部326dは、要求が不正なものであれば、その要求を破棄する。
図14は、クライアント安全管理テーブルのデータ構造例を示す図である。クライアント安全管理テーブル314には、識別情報と信頼度との欄が設けられている。識別情報の欄には、クライアントの識別情報が設定される。例えば、クライアントのIPアドレスが設定される。また、信頼度の欄には、対応するクライアントの信頼性を示す数値が設定される。
図14の例では、信頼度が3段階のレベルで示されている。最も信頼性の高いクライアントの信頼度を「Lv.3」、次に信頼性の高いクライアントの信頼度を「Lv.2」、最も信頼性の低いクライアントの信頼度を「Lv.1」である。
アーカイブ70の信頼度が「Lv.3」の場合、そのアーカイブ70に基づくジョブを実行する際に、コードチェックおよび実時間監視の両方を省略できる。アーカイブ70の信頼度が「Lv.2」の場合、そのアーカイブ70に基づくジョブを実行する際に、実時間監視を省略できる。アーカイブ70の信頼度が「Lv.1」の場合、そのアーカイブ70に基づくジョブを実行する際に、ウィルスチェックの省略はできない。
図15は、プログラム安全管理テーブルのデータ構造例を示す図である。プログラム安全管理テーブル326bには、ファイル名と信頼度との欄が設けられている。ファイル名の欄には、ジョブ投入によってアーカイブ70から取り出されたプログラム71のファイル名が設定される。信頼度の欄には、アーカイブ70に付加された安全性情報で示された信頼度が設定される。
図16は、実時間監視プロセスリストのデータ構造例を示す図である。実時間監視プロセスリスト326eには、プロセスIDと実時間監視フラグとの欄が設けられている。プロセスIDの欄には、ジョブ管理部322からの起動要求に応じてOSによって起動されたジョブ実行プロセスのプロセスIDが設定される。
以上のような構成によって、各ノードにおけるジョブ実行時のウィルスチェックまたは実時間監視を省略することができる。以下、ジョブ投入からジョブ実行までの処理手順を説明する。
図17は、第3の実施の形態におけるジョブ実行手順を示すシーケンス図である。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS91]クライアント31において、ユーザからジョブ投入指示を受け付ける。
[ステップS92]クライアント31は、証明書53付きのアーカイブ70をゲートウェイ310に対して送信する。
[ステップS93]ゲートウェイ310のジョブ投入受け付け部311は、証明書53付きのアーカイブ70を受信する。すると、ジョブ投入受け付け部311は、証明書認証部312に対して証明書53を渡す。また、ジョブ投入受け付け部311は、クライアント31の識別情報を安全性情報設定部315に渡す。
[ステップS94]ゲートウェイ310の証明書認証部312は、証明書53の認証処理を行う。そして、証明書認証部312は、認証結果をジョブ投入受け付け部311に渡す。
[ステップS95]安全性情報設定部315は、クライアント安全管理テーブル314を参照し、アーカイブ70の送信元であるクライアント31の識別情報に基づいて、信頼度を決定する。決定された信頼度は、ジョブ投入受け付け部311に渡される。
[ステップS96]証明書53が正しく認証された場合、ジョブ投入受け付け部311は、信頼度と署名とを含む安全性情報54を付加したアーカイブ70をジョブ振り分け部313に渡す。ジョブ振り分け部313は、ジョブを実行させる1つ以上のノードを決定し、そのノードに対してアーカイブ70を送信する。この例では、ノード320aに対してアーカイブ70が送信されている。
[ステップS97]ノード320aは、アーカイブ70を受信する。
[ステップS98]ノード320aは、ジョブ実行プロセス325を起動し、受信したアーカイブ70に含まれるプログラム71を実行する。なお、ノード320aで実行される処理は、図18を参照して詳細に説明する。
図18は、ノードにおけるジョブ実行処理手順を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS101]通信制御部321は、受信したアーカイブ70に付加された安全性情報54を取得し、セキュリティ管理部326の送信元判断部326aに渡す。また、通信制御部321は、アーカイブ70をジョブ管理部322に渡す。
[ステップS102]送信元判断部326aは、アーカイブ70の送信元がゲートウェイ310か否かを判断する。具体的には、送信元判断部326aは、安全性情報54に含まれる署名が、予め設定されているゲートウェイ310の署名と一致するか否かを判断する。署名が一致すれば、アーカイブ70の送信元がゲートウェイ310であると判断する。アーカイブ70の送信元がゲートウェイ310であれば、処理がステップS103に進められる。アーカイブ70の送信元がゲートウェイ310でなければ、処理がステップS105に進められる。
[ステップS103]ジョブ管理部322は、アーカイブ70内のファイルを分離し、プログラム71と付帯情報72を取り出す。また、ジョブ管理部322は、プログラム71のファイル名をセキュリティ管理部326の送信元判断部326aに通知する。
[ステップS104]送信元判断部326aは、プログラム安全管理テーブル326bを更新する。具体的には、送信元判断部326aは、通信制御部321から受け取った安全性情報54に基づいて、プログラム71の信頼度を取得する。そして、送信元判断部326aは、プログラム71のファイル名と信頼度との組を、プログラム安全管理テーブル326bに登録する。その後、処理がステップS106に進められる。
[ステップS105]ジョブ管理部322は、アーカイブ70内のファイルを分離し、プログラム71と付帯情報72を取り出す。
[ステップS106]ジョブ管理部322は、アーカイブ70から取り出したプログラム71と付帯情報72とをプログラム記憶部324に格納する。
[ステップS107]ジョブ管理部322は、プログラム71の起動要求をOS323に対して出力する。
[ステップS108]セキュリティ管理部326の安全性判断部326cは、起動要求で指定されたプログラム71の安全性を判断する。具体的には、安全性判断部326cはプログラム安全管理テーブル326bを参照し、プログラム71のファイル名に基づいて、そのプログラム71の信頼度を判断する。そして、安全性判断部326cは、信頼度が「Lv.2」以上であれば、処理がステップS111に進める。また、安全性判断部326cは、信頼度が「Lv.1」であれば、処理がステップS109に進められる。
[ステップS109]セキュリティ管理部326のウィルスチェック部326dは、安全性判断部326cにおいて信頼性が「Lv.1」と判断された場合、プログラム71のコードチェックを行う。
[ステップS110]ウィルスチェック部326dは、コードチェックの結果、セキュリティ上の問題が検出されたか否かを判断する。問題がなければ、処理がステップS111に進められる。問題が検出された場合、ジョブ実行プロセス325が起動されることなく、処理が終了する。
[ステップS111]安全性判断部326cは、起動要求で指定されたプログラム71の信頼度が「Lv.3」か否かを判断する。信頼度が「Lv.3」であれば、処理がステップS113に進められる。信頼度が「Lv.3」でなければ、処理がステップS112に進められる。
[ステップS112]OS323は、起動要求に応じて、ジョブ実行プロセス325を生成する。さらに、OS323によってプログラム71がジョブ実行プロセス325に渡される。すると、ジョブ実行プロセス325が、プログラム71に応じてジョブを実行する。
このとき、ウィルスチェック部326dは、OS323によって起動されたジョブ実行プロセス325のプロセスIDを、実時間監視プロセスリスト326eに実時間監視フラグ「1」として設定する。その後、ジョブ実行プロセス325がプログラム71に従った処理を実行する。ウィルスチェック部326dは、ジョブ実行プロセス325の動作を監視し、OS323に対する要求が出されると、その要求が不正な要求で無いことを確認する。不正な要求で無い場合のみ、その要求がOS323に渡される。
[ステップS113]OS323は、起動要求に応じて、ジョブ実行プロセス325を生成する。さらに、OS323によってプログラム71がジョブ実行プロセス325に渡される。すると、ジョブ実行プロセス325が、プログラム71に応じてジョブを実行する。
このとき、ウィルスチェック部326dは、OS323によって起動されたジョブ実行プロセス325のプロセスIDを、実時間監視プロセスリスト326eに実時間監視フラグ「0」として設定する。その後、ジョブ実行プロセス325は、ウィルスチェック部326dの実時間監視を受けることなく、プログラム71に従った処理を実行する。
このようにして、信頼できるクライアント31から投入されたジョブであれば、各ノードにおいて、コードチェックや実時間監視を省略することができる。また、クライアント31の信頼度に応じて、コードチェックのみを省略することも可能となる。
なお、上記の例では、安全性情報として3段階の信頼度を設定したが、安全であることを示すフラグ(安全マーク)を、安全性情報としてアーカイブ70に付加することもできる。その場合、各ノードは、安全マークが付いている場合には、コードチェックや実時間監視を省略する。また、各ノードは、安全マークが付いていない場合には、コードチェックや実時間監視を行う。
また、第3の実施の形態では、ゲートウェイ310においてウィルスチェック(コードチェック)を行っていないが、第2の実施の形態と同様にゲートウェイ310でウィルスチェックを行うこともできる。その際、ウィルスチェックを行ったプログラムの送信元の信頼度が「Lv.1」であれば、安全性情報54に設定する信頼度を「Lv.2」に変更してもよい。これにより、ゲートウェイ310でコードチェックを行ったプログラムに関しては、各ノードでのコードチェックを省略できる。
また、実時間監視処理については第3の実施の形態でのみ説明しているが、第1および第2の実施の形態においても、各ノードで実時処理を行う場合がある。その場合、信頼できる装置から送信されたプログラムを実行する際には、第3の実施の形態と同様に、実時間監視処理を省略することができる。
なお、上記の各実施の形態で示した処理機能は、コンピュータによって実現することができる。その場合、ゲートウェイや各ノードが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、受け取ったプログラムに従った処理を実行することもできる。
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理プログラムにおいて、
コンピュータに、
信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断する送信元判断手段、
入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力するジョブ管理手段、
前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する安全性判断手段、
前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させるウィルスチェック手段、
として機能させることを特徴とするセキュリティ管理プログラム。
(付記2) 前記ウィルスチェック手段は、前記安全性判断手段から前記ウィルスチェック要求が出力された場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記1記載のセキュリティ管理プログラム。
(付記3) 前記送信元判断手段は、信頼できる装置から送信されたと判断した前記プログラムのプログラム名を安全プログラムリストに設定し、
前記安全性判断手段は、前記安全プログラムリストを参照することで、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断されたか否かを認識することを特徴とする付記1記載のセキュリティ管理プログラム。
(付記4) 前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする付記1記載のセキュリティ管理プログラム。
(付記5) 前記安全性情報には、前記プログラムの安全性の高さを3段階のレベルで示す信頼度が設定されており、
前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から2番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から3番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記1記載のセキュリティ管理プログラム。
(付記6) クライアントからの要求に応じてジョブを複数のコンピュータに分散処理させるための振り分けを行うジョブ投入管理プログラムにおいて、
コンピュータを、
証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証する証明書認証手段、
前記証明書認証手段で前記証明書が正しく認証された場合、前記プログラムが安全であることを示す安全性情報を付加する安全性情報設定手段、
ジョブの実行を依頼するノードを選択し、選択した前記ノードに対して、前記安全性情報設定手段によって前記安全性情報が付加された前記プログラムを含むジョブの実行要求を送信するジョブ振り分け手段、
として機能させることを特徴とするジョブ投入管理プログラム。
(付記7) 前記安全性情報設定手段は、前記クライアントと、前記プログラムから入力される前記プログラムの安全性の高さを3段階のレベルで示す信頼度とが対応付けて登録されたクライアント安全管理テーブルを参照し、前記プログラムを含む前記ジョブ投入要求を送信した前記クライアントに対応する信頼度を前記安全性情報に設定することを特徴とする付記6記載のジョブ投入管理プログラム。
(付記8) ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理方法において、
ジョブ管理装置の証明書認証手段が、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証し、
前記ジョブ管理装置のジョブ振り分け手段が、前記証明書認証手段で前記証明書が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信し、
前記ジョブ実行装置の送信元判断手段が、信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断し、
前記ジョブ実行装置のジョブ管理手段が、入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力し、
前記ジョブ実行装置の安全性判断手段が、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力し、
前記ジョブ実行装置のウィルスチェック手段が、前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックを実行し、前記コード配列が含まれていない場合に前記起動要求をオペレーティングシステムに実行させる、
ことを特徴とするセキュリティ管理方法。
(付記9) 前記ウィルスチェック手段は、前記安全性判断手段から前記ウィルスチェック要求が出力された場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記8記載のセキュリティ管理方法。
(付記10) 前記ジョブ管理装置の前記証明書認証手段で前記証明書が正しく認証された場合には、前記ジョブ管理装置の安全性情報設定手段が、前記プログラムが安全であることを示す安全性情報を付加し、
前記ジョブ実行装置の前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする付記8記載のセキュリティ管理方法。
(付記11) 前記ジョブ管理装置の前記安全性情報設定手段は、前記クライアントと、前記プログラムから入力される前記プログラムの安全性の高さを3段階のレベルで示す信頼度とが対応付けて登録されたクライアント安全管理テーブルを参照し、前記プログラムを含む前記ジョブ投入要求を送信した前記クライアントに対応する信頼度を前記安全性情報に設定し、
前記ジョブ実行装置の前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から2番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から3番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
前記ジョブ実行装置の前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする付記10記載のセキュリティ管理方法。
(付記12) 証明書とプログラムとを含むジョブ投入要求が入力された際には、前記ジョブ管理装置のウィスル事前チェック手段が、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェック処理を実行し、
前記ジョブ管理装置の前記ジョブ振り分け手段は、前記証明書認証手段で前記証明書が正しく認証されると共に、前記ウィスル事前チェック手段における前記コードチェック処理において問題が検出されたかった場合に、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信することを特徴とする付記8記載のセキュリティ管理方法。
本実施の形態の概略を示す図である。 本実施の形態のシステム構成例を示す図である。 本実施の形態に用いるゲートウェイのハードウェア構成例を示す図である。 第1の実施の形態における処理を示す概念図である。 第1の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。 安全プログラムリストのデータ構造例を示す図である。 第1の実施の形態におけるジョブ実行手順を示すシーケンス図である。 ノードにおけるジョブ実行処理手順を示すフローチャートである。 第2の実施の形態の処理を示す概念図である。 第2の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。 第2の実施の形態におけるジョブ実行手順を示すシーケンス図である。 第3の実施の形態の処理を示す概念図である。 第3の実施の形態におけるゲートウェイとノードとの処理機能を示すブロック図である。 クライアント安全管理テーブルのデータ構造例を示す図である。 プログラム安全管理テーブルのデータ構造例を示す図である。 実時間監視プロセスリストのデータ構造例を示す図である。 第3の実施の形態におけるジョブ実行手順を示すシーケンス図である。 ノードにおけるジョブ実行処理手順を示すフローチャートである。
符号の説明
1 ジョブ管理装置
1a 証明書認証手段
1b ジョブ振り分け手段
2 ジョブ実行装置
2a 送信元判断手段
2aa 信頼装置情報
2b ジョブ管理手段
2c 安全性判断手段
2d ウィルスチェック手段
2e,2f ジョブ実行プロセス
3,4 クライアント
5,7 プログラム
6 証明書

Claims (10)

  1. ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理プログラムにおいて、
    コンピュータに、
    信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断する送信元判断手段、
    入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力するジョブ管理手段、
    前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力する安全性判断手段、
    前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させるウィルスチェック手段、
    として機能させることを特徴とするセキュリティ管理プログラム。
  2. 前記ウィルスチェック手段は、前記安全性判断手段から前記ウィルスチェック要求が出力された場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする請求項1記載のセキュリティ管理プログラム。
  3. 前記送信元判断手段は、信頼できる装置から送信されたと判断した前記プログラムのプログラム名を安全プログラムリストに設定し、
    前記安全性判断手段は、前記安全プログラムリストを参照することで、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断されたか否かを認識することを特徴とする請求項1記載のセキュリティ管理プログラム。
  4. 前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
    前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする請求項1記載のセキュリティ管理プログラム。
  5. 前記安全性情報には、前記プログラムの安全性の高さを3段階のレベルで示す信頼度が設定されており、
    前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
    前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から2番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から3番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
    前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする請求項1記載のセキュリティ管理プログラム。
  6. クライアントからの要求に応じてジョブを複数のコンピュータに分散処理させるための振り分けを行うジョブ投入管理プログラムにおいて、
    コンピュータを、
    証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証する証明書認証手段、
    前記証明書認証手段で前記証明書が正しく認証された場合、前記プログラムが安全であることを示す安全性情報を付加する安全性情報設定手段、
    ジョブの実行を依頼するノードを選択し、選択した前記ノードに対して、前記安全性情報設定手段によって前記安全性情報が付加された前記プログラムを含むジョブの実行要求を送信するジョブ振り分け手段、
    として機能させることを特徴とするジョブ投入管理プログラム。
  7. 前記安全性情報設定手段は、前記クライアントと、前記プログラムから入力される前記プログラムの安全性の高さを3段階のレベルで示す信頼度とが対応付けて登録されたクライアント安全管理テーブルを参照し、前記プログラムを含む前記ジョブ投入要求を送信した前記クライアントに対応する信頼度を前記安全性情報に設定することを特徴とする請求項6記載のジョブ投入管理プログラム。
  8. ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理方法において、
    ジョブ管理装置の証明書認証手段が、証明書とプログラムとを含むジョブ投入要求が入力されると、前記証明書の正当性を認証し、
    前記ジョブ管理装置のジョブ振り分け手段が、前記証明書認証手段で前記証明書が正しく認証された場合、ジョブの実行を依頼するジョブ実行装置を選択し、選択した前記ジョブ実行装置に対して、前記プログラムを含むジョブの実行要求を送信し、
    前記ジョブ実行装置の送信元判断手段が、信頼できる装置の識別情報を示す信頼装置情報が予め設定されており、プログラムを含むジョブの実行要求が前記ネットワーク経由で入力されると、前記ジョブの送信元の識別情報を前記信頼装置情報と比較し、前記プログラムが信頼できる装置から送信されたか否かを判断し、
    前記ジョブ実行装置のジョブ管理手段が、入力された前記プログラムを記憶装置に格納し、前記プログラムを指定した起動要求を出力し、
    前記ジョブ実行装置の安全性判断手段が、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合、前記起動要求をオペレーティングシステムに実行させ、前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置以外から送信されたと判断された場合、ウィルスチェック要求を出力し、
    前記ジョブ実行装置のウィルスチェック手段が、前記安全性判断手段から前記ウィルスチェック要求が出力されると、前記起動要求で指定された前記プログラムを前記記憶装置から読み出し、既知のウィルスに含まれるコード配列が前記プログラムに含まれていないことを確認するコードチェックを実行し、前記コード配列が含まれていない場合に前記起動要求をオペレーティングシステムに実行させる、
    ことを特徴とするセキュリティ管理方法。
  9. 前記ジョブ管理装置の前記証明書認証手段で前記証明書が正しく認証された場合には、前記ジョブ管理装置の安全性情報設定手段が、前記プログラムが安全であることを示す安全性情報を付加し、
    前記ジョブ実行装置の前記送信元判断手段は、前記プログラムの安全性を示す安全性情報が前記プログラムに付加されていた場合、前記安全性情報を取得し、
    前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムが、前記送信元判断手段において信頼できる装置から送信されたと判断された場合において、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていれば、前記起動要求をオペレーティングシステムに実行させ、前記送信元判断手段が取得した前記安全性情報において前記プログラムが安全であることが示されていなければ、前記ウィルスチェック要求を出力することを特徴とする請求項8記載のセキュリティ管理方法。
  10. 前記ジョブ管理装置の前記安全性情報設定手段は、前記クライアントと、前記プログラムから入力される前記プログラムの安全性の高さを3段階のレベルで示す信頼度とが対応付けて登録されたクライアント安全管理テーブルを参照し、前記プログラムを含む前記ジョブ投入要求を送信した前記クライアントに対応する信頼度を前記安全性情報に設定し、
    前記ジョブ実行装置の前記送信元判断手段は、前記プログラムのファイル名と前記信頼度とを対応付けてプログラム安全管理テーブルに設定し、
    前記ジョブ実行装置の前記安全性判断手段は、前記ジョブ管理手段で出力された前記起動要求で指定された前記プログラムの前記信頼度が最上位のレベルの場合、前記起動要求をオペレーティングシステムに実行させ、前記信頼度が上位から2番目のレベルの場合、コードチェックを指定したウィルスチェック要求を出力し、前記信頼度が上位から3番目のレベルの場合、前記コードチェックと実時間監視とを指定したウィルスチェック要求を出力し、
    前記ジョブ実行装置の前記ウィルスチェック手段は、前記安全性判断手段から出力された前記ウィルスチェック要求において前記コードチェックが指定されていた場合、前記コードチェック処理を実行し、前記コード配列が含まれていない場合に前記起動要求を前記オペレーティングシステムに実行させ、前記ウィルスチェック要求において前記実時間監視が指定されていた場合、前記プログラムを実行するプロセスを監視し、前記プロセスから前記オペレーティングシステムに対して要求が出力されると、出力された前記要求が不正な処理要求でないことを確認する実時間監視処理を実行することを特徴とする請求項9記載のセキュリティ管理方法。
JP2006042512A 2006-02-20 2006-02-20 セキュリティ管理プログラム、およびセキュリティ管理方法 Expired - Fee Related JP4745858B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006042512A JP4745858B2 (ja) 2006-02-20 2006-02-20 セキュリティ管理プログラム、およびセキュリティ管理方法
US11/496,500 US7904957B2 (en) 2006-02-20 2006-08-01 Computer-readable recording medium recording a security management program, computer-readable recording medium recording a job submission management program, and security management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006042512A JP4745858B2 (ja) 2006-02-20 2006-02-20 セキュリティ管理プログラム、およびセキュリティ管理方法

Publications (2)

Publication Number Publication Date
JP2007220007A true JP2007220007A (ja) 2007-08-30
JP4745858B2 JP4745858B2 (ja) 2011-08-10

Family

ID=38427875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006042512A Expired - Fee Related JP4745858B2 (ja) 2006-02-20 2006-02-20 セキュリティ管理プログラム、およびセキュリティ管理方法

Country Status (2)

Country Link
US (1) US7904957B2 (ja)
JP (1) JP4745858B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064414A (ja) * 2007-09-07 2009-03-26 Korea Electronics Telecommun 非正常プロセスの探知方法及び装置
JP2010079901A (ja) * 2008-09-25 2010-04-08 Symantec Corp アプリケーションの評判に応じて段階的に制限を実施する方法およびそのコンピュータプログラム
JP2010092469A (ja) * 2008-09-25 2010-04-22 Symantec Corp ソフトウェアの信頼性を測定する方法及び装置
JP2011039599A (ja) * 2009-08-06 2011-02-24 Konica Minolta Business Technologies Inc ジョブ処理システムおよび画像処理装置
JP2013507722A (ja) * 2009-10-26 2013-03-04 シマンテック コーポレーション 挙動に基づいた発見的方法の攻撃性の通知へのファイルの普及度の使用
JP2019160078A (ja) * 2018-03-15 2019-09-19 コニカミノルタ株式会社 情報処理システム、情報処理装置、データ処理方法およびデータ処理プログラム
JP2019168764A (ja) * 2018-03-22 2019-10-03 コニカミノルタ株式会社 画像処理装置及びプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8316439B2 (en) * 2006-05-19 2012-11-20 Iyuko Services L.L.C. Anti-virus and firewall system
WO2012155963A2 (de) * 2011-05-17 2012-11-22 Siemens Aktiengesellschaft Host-system
US8978094B2 (en) * 2012-02-03 2015-03-10 Apple Inc. Centralized operation management
CN112380101B (zh) * 2020-12-02 2023-08-01 广州数园网络有限公司 一种基于进程监控和数据网关的仪器设备监控系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147159A (ja) * 1994-11-16 1996-06-07 Hitachi Ltd 情報処理装置
JP2002082907A (ja) * 2000-09-11 2002-03-22 Nec Corp データ通信におけるセキュリティ機能代理方法、セキュリティ機能代理システム、及び、記録媒体
JP2004178559A (ja) * 2002-11-11 2004-06-24 Canon Inc コンピュータ周辺装置およびその制御方法
JP2006178748A (ja) * 2004-12-22 2006-07-06 Fuji Xerox Co Ltd ウィルスチェック方法、ネットワークシステム、情報処理方法、情報処理プログラム及び情報処理装置
JP2007531093A (ja) * 2004-03-25 2007-11-01 インターナショナル・ビジネス・マシーンズ・コーポレーション プロキシ証明書の生成によるグリッド相互認証

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050213768A1 (en) * 2004-03-24 2005-09-29 Durham David M Shared cryptographic key in networks with an embedded agent
US10764264B2 (en) * 2005-07-11 2020-09-01 Avaya Inc. Technique for authenticating network users

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147159A (ja) * 1994-11-16 1996-06-07 Hitachi Ltd 情報処理装置
JP2002082907A (ja) * 2000-09-11 2002-03-22 Nec Corp データ通信におけるセキュリティ機能代理方法、セキュリティ機能代理システム、及び、記録媒体
JP2004178559A (ja) * 2002-11-11 2004-06-24 Canon Inc コンピュータ周辺装置およびその制御方法
JP2007531093A (ja) * 2004-03-25 2007-11-01 インターナショナル・ビジネス・マシーンズ・コーポレーション プロキシ証明書の生成によるグリッド相互認証
JP2006178748A (ja) * 2004-12-22 2006-07-06 Fuji Xerox Co Ltd ウィルスチェック方法、ネットワークシステム、情報処理方法、情報処理プログラム及び情報処理装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009064414A (ja) * 2007-09-07 2009-03-26 Korea Electronics Telecommun 非正常プロセスの探知方法及び装置
US8091133B2 (en) 2007-09-07 2012-01-03 Electronics And Telecommunications Research Institute Apparatus and method for detecting malicious process
JP2010079901A (ja) * 2008-09-25 2010-04-08 Symantec Corp アプリケーションの評判に応じて段階的に制限を実施する方法およびそのコンピュータプログラム
JP2010092469A (ja) * 2008-09-25 2010-04-22 Symantec Corp ソフトウェアの信頼性を測定する方法及び装置
US9495538B2 (en) 2008-09-25 2016-11-15 Symantec Corporation Graduated enforcement of restrictions according to an application's reputation
JP2011039599A (ja) * 2009-08-06 2011-02-24 Konica Minolta Business Technologies Inc ジョブ処理システムおよび画像処理装置
US8248634B2 (en) 2009-08-06 2012-08-21 Konica Minolta Business Technologies, Inc. Job processing system and image processing apparatus
JP2013507722A (ja) * 2009-10-26 2013-03-04 シマンテック コーポレーション 挙動に基づいた発見的方法の攻撃性の通知へのファイルの普及度の使用
JP2019160078A (ja) * 2018-03-15 2019-09-19 コニカミノルタ株式会社 情報処理システム、情報処理装置、データ処理方法およびデータ処理プログラム
JP2019168764A (ja) * 2018-03-22 2019-10-03 コニカミノルタ株式会社 画像処理装置及びプログラム

Also Published As

Publication number Publication date
US7904957B2 (en) 2011-03-08
US20070195358A1 (en) 2007-08-23
JP4745858B2 (ja) 2011-08-10

Similar Documents

Publication Publication Date Title
JP4745858B2 (ja) セキュリティ管理プログラム、およびセキュリティ管理方法
US11036773B2 (en) System and method for detecting and integrating with native applications enabled for web-based storage
US11128467B2 (en) Systems and methods for digital identity management and permission controls within distributed network nodes
US8621223B2 (en) Data security method and system
KR100991061B1 (ko) 컴팩트 하드웨어 id 생성 방법, 소프트웨어 제품의 사용가능성 결정 방법, 및 그를 위한 컴퓨팅 시스템 및 컴퓨터 판독 가능 기록 매체
US7496576B2 (en) Isolated access to named resources
US9600661B2 (en) System and method to secure a computer system by selective control of write access to a data storage medium
US20120167169A1 (en) Method, system, and computer-readable storage medium for authenticating a computing device
JP4844102B2 (ja) サブプログラム及びそのサブプログラムを実行する情報処理装置
JP2005122474A (ja) 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置
US20080147662A1 (en) Information processing apparatus and information processing method
JP2004005647A (ja) アクセス制御を提供する方法、記録媒体及びアクセスを制御するシステム
US7680826B2 (en) Computer-readable recording medium storing security management program, security management system, and method of security management
US20090158164A1 (en) Managing icon integrity
US7421579B2 (en) Multiplexing a secure counter to implement second level secure counters
WO2011121927A1 (ja) デジタルコンテンツ管理システム、装置、プログラムおよび方法
JP4126705B2 (ja) ソフトウェア・パッケージを再構成する方法、装置、プログラム
JP4299635B2 (ja) 個人認証方法および書き込み制御方法
JP4342326B2 (ja) データベース制御装置
JP2009206626A (ja) 名前解決方法、dnsサーバ、クライアント端末、通信システムおよび名前解決プログラム
JP2009020744A (ja) 携帯型情報処理装置、電子装置、操作制御方法、及び操作制御プログラム
US20220309145A1 (en) Information processing apparatus, verification method of program, computer readable medium and image processing apparatus
JP2007094749A (ja) 監査ログの出力方法及びサーバクライアントシステム
JP2007324994A (ja) 電子署名検証システム
JP4898299B2 (ja) 認証情報統合システム、認証情報統合方法及び認証情報統合プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110510

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110512

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees