JP2007241803A - セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法 - Google Patents

セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法 Download PDF

Info

Publication number
JP2007241803A
JP2007241803A JP2006065410A JP2006065410A JP2007241803A JP 2007241803 A JP2007241803 A JP 2007241803A JP 2006065410 A JP2006065410 A JP 2006065410A JP 2006065410 A JP2006065410 A JP 2006065410A JP 2007241803 A JP2007241803 A JP 2007241803A
Authority
JP
Japan
Prior art keywords
job
library
program
identification information
submission destination
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
JP2006065410A
Other languages
English (en)
Other versions
JP4722730B2 (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 JP2006065410A priority Critical patent/JP4722730B2/ja
Priority to US11/452,897 priority patent/US7680826B2/en
Publication of JP2007241803A publication Critical patent/JP2007241803A/ja
Application granted granted Critical
Publication of JP4722730B2 publication Critical patent/JP4722730B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】ライブラリのセキュリティホールが発覚したときに迅速に対処できるようにする。
【解決手段】ジョブプログラムを含むジョブ実行要求が入力されると、使用ライブラリ判断手段1dによりジョブプログラムが解析され、ジョブプログラム中で呼び出されるリンクライブラリが判断される。次に、ジョブ投入手段1eにより、投入先ノードに対してジョブプログラムが送信されジョブ実行要求に応じたジョブの実行が指示される。その後、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、投入先判別手段1gにより、脆弱ライブラリの識別情報に対応するジョブプログラムの識別情報と、取得したジョブプログラムの識別情報に対応する投入先ノードの識別情報とが取得される。そして、ジョブ強制停止手段1hにより、ジョブプログラムを実行するプロセスの停止が投入先ノードに対して指示される。
【選択図】図1

Description

本発明はジョブ実行時の安全性を確保するためのセキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法に関し、特に他の装置から投入されるジョブを実行する場合の安全性を確保するセキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法に関する。
多くの企業では、並列処理によって大量の計算を行うために、グリッドシステムが用いられている。グリッドシステムは、複数のノード(ジョブを実行するコンピュータ)をネットワークで接続し、実行すべき処理を各ノードに振り分けて並列に実行させるものである。
グリッドシステムでは、多数のコンピュータが互いにネットワークで接続されて動作する。そのため、1つのコンピュータがウィルス感染したり、セキュリティホールを突かれて外部からの不正進入を許したりすると、ネットワーク全体の安全が脅かされる。そこで、個々のコンピュータの安全性を確保する技術が必要となる。
複数のコンピュータの安全を確保する技術として、例えば、コンピュータ間に移動オブジェクトを巡回させ、その移動オブジェクトにコンピュータウィルスの感染検査を行わせる技術がある。この技術では、移動オブジェクトによりウィルス感染が検出された場合、感染したコンピュータと他のコンピュータとの間の通信を停止させることができる(例えば、特許文献1参照)。
特開2003−208325号公報
ところで、従来のグリッドシステムでは、多くの場合、使用者が先端研究者である。そのため、システムに投入されるプログラムは、ほとんどの部分が、本来の目的とする計算用途に合わせて特別に書かれたものである。一方で、グリッドシステムの普及により、プログラムのうち様々な計算目的で共通して使用される処理については、ライブラリとして提供されると予想される。ライブラリは、異なる業務の内容を記述した複数のプログラムにおいて、共通に行われる処理が記述されたプログラムである。例えば、分散行列演算、グリッドノード間通信処理、データベース操作処理などは、共通して利用可能な場合が多い。その場合、それらの処理をライブラリで提供することが可能である。
多くのプログラムでライブラリが使用される状況で、万一ライブラリにセキュリティホールが発見されると、プログラムが動作しているすべてのノードが危険にさらされる。そこで、セキュリティホールの除去を迅速に行う必要がある。
これまでは、グリッドシステムでのライブラリの使用が少なく、重大なセキュリティホールも発見されなかったので、この問題が顕在化していなかった。今後ライブラリが広く使われるようになると、予期しないセキュリティホールが発覚し攻撃の対象となる可能性がある。この場合、ライブラリをリンクしたプログラムが実行されているすべてのグリッドノードが危険にさらされることとなる。そのため、潜在的な脅威も増すことになる。
しかし、現在のグリッドシステムでは、これらの脅威に対して迅速かつ網羅的に対処することが考慮されていない。その結果、潜在的な脅威が存在したままになっている。なお、特許文献1の技術では、あるコンピュータがウィルスに感染した場合、巡回オブジェクトがそのコンピュータに巡回してくるまでウィルスを検出することができない。そのため、脅威に対する迅速性の点で不十分である。
本発明はこのような点に鑑みてなされたものであり、ライブラリのセキュリティホールが発覚したときに迅速に対処することができるセキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すようなセキュリティ管理プログラムが提供される。本発明に係るセキュリティ管理プログラムは、ネットワークを介して投入されたジョブのセキュリティ管理を行うために、図1に示す機能をコンピュータに実行させることができる。
使用ライブラリ管理データベース1aは、ジョブの処理内容が記述されたジョブプログラムと、ジョブプログラム中で呼び出されるリンクライブラリとの対応関係を記憶する。ジョブ投入先管理データベース1bは、ジョブプログラムと、ジョブの投入先のノードとの対応関係を記憶する。ジョブ実行要求取得手段1cは、ジョブプログラムを含むジョブ実行要求の入力を受け付ける。使用ライブラリ判断手段1dは、ジョブ実行要求取得手段1cで取得したジョブプログラムを解析し、ジョブプログラム中で呼び出されるリンクライブラリを判断し、ジョブプログラムの識別情報とリンクライブラリの識別情報との対応関係を使用ライブラリ管理データベース1aに登録する。ジョブ投入手段1eは、ジョブ実行要求取得手段1cで取得したジョブプログラムを実行させる投入先ノードを決定し、投入先ノードの識別情報とジョブプログラムの識別情報とを対応付けてジョブ投入先管理データベース1bに登録すると共に、投入先ノードに対してジョブプログラムを送信してジョブプログラムを実行させる。投入先判別手段1gは、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、使用ライブラリ管理データベース1aを参照し、脆弱ライブラリの識別情報に対応するジョブプログラムの識別情報を取得し、ジョブ投入先管理データベース1bを参照し、取得したジョブプログラムの識別情報に対応する投入先ノードの識別情報を取得する。ジョブ強制停止手段1hは、投入先判別手段1gで取得されたジョブプログラムの識別情報と投入先ノードの識別情報とに基づいて、ジョブプログラムを実行するプロセスの停止を投入先ノードに対して指示する。
このようなセキュリティ管理プログラムをコンピュータに実行させることで、ジョブプログラムを含むジョブ実行要求の入力が、ジョブ実行要求取得手段1cで受け付けられると、使用ライブラリ判断手段1dにより、ジョブ実行要求取得手段1cで取得したジョブプログラムが解析され、ジョブプログラム中で呼び出されるリンクライブラリが判断され、ジョブプログラムの識別情報とリンクライブラリの識別情報との対応関係が使用ライブラリ管理データベース1aに登録される。次に、ジョブ投入手段1eにより、ジョブ実行要求取得手段1cで取得したジョブプログラムを実行させる投入先ノードが決定され、投入先ノードの識別情報とジョブプログラムの識別情報とが対応付けられてジョブ投入先管理データベース1bに登録されると共に、投入先ノードに対してジョブプログラムが送信されジョブ実行要求に応じたジョブの実行が指示される。その後、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、投入先判別手段1gにより、使用ライブラリ管理データベース1aが参照され、脆弱ライブラリの識別情報に対応するジョブプログラムの識別情報が取得され、ジョブ投入先管理データベース1bが参照され、取得したジョブプログラムの識別情報に対応する投入先ノードの識別情報が取得される。そして、ジョブ強制停止手段1hにより、投入先判別手段1gで取得されたジョブプログラムの識別情報と投入先ノードの識別情報とに基づいて、ジョブプログラムを実行するプロセスの停止が投入先ノードに対して指示される。
また、上記課題を解決するために、ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理装置において、ジョブの処理内容が記述されたジョブプログラムと、前記ジョブプログラム中で呼び出されるリンクライブラリとの対応関係を記憶する使用ライブラリ管理データベースと、前記ジョブプログラムと、前記ジョブの投入先のノードとの対応関係を記憶するジョブ投入先管理データベースと、前記ジョブプログラムを含むジョブ実行要求の入力を受け付けるジョブ実行要求取得手段と、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを解析し、前記ジョブプログラム中で呼び出される前記リンクライブラリを判断し、前記ジョブプログラムの識別情報と前記リンクライブラリの識別情報との対応関係を前記使用ライブラリ管理データベースに登録する使用ライブラリ判断手段と、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを実行させる投入先ノードを決定し、前記投入先ノードの識別情報と前記ジョブプログラムの識別情報とを対応付けて前記ジョブ投入先管理データベースに登録すると共に、前記投入先ノードに対して前記ジョブプログラムを送信して前記ジョブプログラムを実行させるジョブ投入手段と、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、前記使用ライブラリ管理データベースを参照し、前記脆弱ライブラリの識別情報に対応する前記ジョブプログラムの識別情報を取得し、前記ジョブ投入先管理データベースを参照し、取得した前記ジョブプログラムの識別情報に対応する前記投入先ノードの識別情報を取得する投入先判別手段と、前記投入先判別手段で取得された前記ジョブプログラムの識別情報と前記投入先ノードの識別情報とに基づいて、前記ジョブプログラムを実行するプロセスの停止を前記投入先ノードに対して指示するジョブ強制停止手段と、を有することを特徴とするセキュリティ管理装置が提供される。
このようなセキュリティ管理装置によれば、ジョブ実行要求取得手段により、ジョブプログラムを含むジョブ実行要求の入力が受け付けられる。次に、使用ライブラリ判断手段により、ジョブ実行要求取得手段で取得したジョブプログラムが解析され、ジョブプログラム中で呼び出されるリンクライブラリが判断され、ジョブプログラムの識別情報とリンクライブラリの識別情報との対応関係が使用ライブラリ管理データベースに登録される。さらに、ジョブ投入手段により、ジョブ実行要求取得手段で取得したジョブプログラムを実行させる投入先ノードが決定され、投入先ノードの識別情報とジョブプログラムの識別情報とが対応付けられてジョブ投入先管理データベースに登録されると共に、投入先ノードに対してジョブプログラムが送信され、ジョブ実行要求に応じたジョブの実行指示が出される。その後、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、投入先判別手段により、使用ライブラリ管理データベースが参照され、脆弱ライブラリの識別情報に対応するジョブプログラムの識別情報が取得され、ジョブ投入先管理データベースが参照され、取得したジョブプログラムの識別情報に対応する投入先ノードの識別情報が取得される。そして、ジョブ強制停止手段により、投入先判別手段で取得されたジョブプログラムの識別情報と投入先ノードの識別情報とに基づいて、ジョブプログラムを実行するプロセスの停止が投入先ノードに対して指示される。
また、上記課題を解決するために、ネットワークを介して投入されたジョブのセキュリティ管理をコンピュータで行うためのセキュリティ管理方法において、ジョブ実行要求取得手段が、ジョブプログラムを含むジョブ実行要求の入力を受け付け、使用ライブラリ判断手段が、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを解析し、前記ジョブプログラム中で呼び出される前記リンクライブラリを判断し、前記ジョブプログラムの識別情報と前記リンクライブラリの識別情報との対応関係を使用ライブラリ管理データベースに登録し、ジョブ投入手段が、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを実行させる投入先ノードを決定し、前記投入先ノードの識別情報と前記ジョブプログラムの識別情報とを対応付けてジョブ投入先管理データベースに登録すると共に、前記投入先ノードに対して前記ジョブプログラムを送信して前記ジョブプログラムを実行させ、投入先判別手段が、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、前記使用ライブラリ管理データベースを参照し、前記脆弱ライブラリの識別情報に対応する前記ジョブプログラムの識別情報を取得し、前記ジョブ投入先管理データベースを参照し、取得した前記ジョブプログラムの識別情報に対応する前記投入先ノードの識別情報を取得し、ジョブ強制停止手段が、前記投入先判別手段で取得された前記ジョブプログラムの識別情報と前記投入先ノードの識別情報とに基づいて、前記ジョブプログラムを実行するプロセスの停止を前記投入先ノードに対して指示する、ことを特徴とするセキュリティ管理方法が提供される。
このようなセキュリティ管理方法によれば、ジョブ実行要求取得手段により、ジョブプログラムを含むジョブ実行要求の入力が受け付けられる。次に、使用ライブラリ判断手段により、ジョブ実行要求取得手段で取得したジョブプログラムが解析され、ジョブプログラム中で呼び出されるリンクライブラリが判断され、ジョブプログラムの識別情報とリンクライブラリの識別情報との対応関係が使用ライブラリ管理データベースに登録される。さらに、ジョブ投入手段により、ジョブ実行要求取得手段で取得したプログラムを実行させる投入先ノードが決定され、投入先ノードの識別情報とジョブプログラムの識別情報とが対応付けられてジョブ投入先管理データベースに登録されると共に、投入先ノードに対してジョブプログラムが送信され、ジョブ実行要求に応じたジョブの実行指示が出される。その後、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、投入先判別手段により、使用ライブラリ管理データベースが参照され、脆弱ライブラリの識別情報に対応するジョブプログラムの識別情報が取得され、ジョブ投入先管理データベースが参照され、取得したジョブプログラムの識別情報に対応する投入先ノードの識別情報が取得される。そして、ジョブ強制停止手段により、投入先判別手段で取得されたジョブプログラムの識別情報と投入先ノードの識別情報とに基づいて、ジョブプログラムを実行するプロセスの停止が投入先ノードに対して指示される。
本発明では、ジョブ投入時にジョブプログラム中で呼び出すライブラリの識別情報をデータベースに登録しておき、ライブラリに安全性上の欠陥が検出された場合、ジョブが投入されたノードに対して、ジョブプログラムを実行するプロセスの停止を指示するようにした。これにより、危険なライブラリが発見された際に、そのライブラリを使用するジョブプログラムが多数のノード上で実行されていても、即座にそのジョブプログラムの実行を緊急停止させることができる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本実施の形態の概略を示す図である。図1に示すように、ゲートウェイ1がクライアント2、セキュリティデータベース(DB)3、および複数のノード4〜6に接続されている。セキュリティDB3には、ライブラリに安全上の欠陥が発見される毎に、該当する脆弱ライブラリの識別情報が登録される。ゲートウェイ1は、クライアント2から入力されたジョブ実行要求に基づいて、ジョブをノード4〜6に投入する。また、セキュリティDB3に登録された危険性を有するライブラリ(脆弱ライブラリ)の情報に基づいて、そのライブラリを使用するジョブを強制的に停止する。
ゲートウェイ1は上記処理を実現するために、使用ライブラリ管理データベース(DB)1a、ジョブ投入先管理データベース(DB)1b、ジョブ実行要求取得手段1c、使用ライブラリ判断手段1d、ジョブ投入手段1e、脆弱ライブラリ情報取得手段1f、投入先判別手段1g、およびジョブ強制停止手段1hを有する。
使用ライブラリ管理データベース1aは、ジョブの処理内容が記述されたジョブプログラムと、ジョブプログラム中で呼び出されるリンクライブラリとの対応関係を記憶する。ジョブ投入先管理DB1bは、ジョブプログラムと、ジョブの投入先のノードとの対応関係を記憶する。
ジョブ実行要求取得手段1cは、クライアント2から送られるジョブ実行要求の入力を受け付ける。ジョブ実行要求には、ジョブプログラムが含まれている。
使用ライブラリ判断手段1dは、ジョブ実行要求取得手段1cで取得したジョブプログラムを解析し、ジョブプログラム中で呼び出されるリンクライブラリを判断する。そして、使用ライブラリ判断手段1dは、ジョブプログラムの識別情報とリンクライブラリの識別情報との対応関係を使用ライブラリ管理DB1aに登録する。
ジョブ投入手段1eは、ジョブ実行要求取得手段1cで取得したジョブプログラムを実行させる投入先ノード(図1の例では、ノード4〜6)を決定する。そして、ジョブ投入手段1eは、投入先ノードの識別情報とジョブプログラムの識別情報とを対応付けてジョブ投入先管理DB1bに登録する。さらに、ジョブ投入手段1eは、投入先ノードに対してジョブプログラムを送信してジョブプログラムを実行させる。
脆弱ライブラリ情報取得手段1fは、セキュリティDB3を定期的に検索し、脆弱ライブラリの識別情報を取得する。そして、脆弱ライブラリ情報取得手段1fは、取得した脆弱ライブラリの識別情報を投入先判別手段1gに対して出力する。
投入先判別手段1gは、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、使用ライブラリ管理DB1aを参照し、脆弱ライブラリの識別情報に対応するジョブプログラムの識別情報を取得する。そして、投入先判別手段1gは、ジョブ投入先管理DB1bを参照し、取得したジョブプログラムの識別情報に対応する投入先ノード(図1の例では、ノード4〜6)の識別情報を取得する。
ジョブ強制停止手段1hは、投入先判別手段1gで取得されたジョブプログラムの識別情報と投入先ノードの識別情報とに基づいて、ジョブプログラムを実行するプロセスの停止を投入先ノードに対して指示する。
ゲートウェイ1に対してクライアント2からジョブ実行要求が入力されると、そのジョブ実行要求がジョブ実行要求取得手段1cで受け付けられる。すると、使用ライブラリ判断手段1dにより、ジョブ実行要求取得手段1cで取得したジョブプログラムが解析され、ジョブプログラム中で呼び出されるリンクライブラリが判断される。そして、使用ライブラリ判断手段1dにより、ジョブプログラムの識別情報とリンクライブラリの識別情報との対応関係が使用ライブラリ管理DB1aに登録される。次に、ジョブ投入手段1eにより、ジョブ実行要求取得手段1cで取得したジョブプログラムを実行させる投入先ノードが決定される。すると、ジョブ投入手段1eにより、投入先ノードの識別情報とジョブプログラムの識別情報とが対応付けられてジョブ投入先管理DB1bに登録される。そして、ジョブ投入手段1eにより、投入先のノード4〜6に対してジョブプログラムが送信され、そのノード4〜6に対してジョブプログラムの実行が指示される。
すると、ノード4〜6それぞれにおいてジョブ実行用のプロセスが生成され、そのプロセスによってジョブプログラムが実行される。各ノード4〜6でジョブプログラムが実行されることで、それぞれのノード4〜6においてジョブ(ジョブプログラムに従った処理機能)が実施される。
その後、安全上の欠陥を有する脆弱ライブラリの識別情報がセキュリティDB3に登録されると、脆弱ライブラリ情報取得手段1fによって、脆弱ライブラリの識別情報が取得される。取得された脆弱ライブラリの識別情報は、投入先判別手段1gに入力される。すると、投入先判別手段1gにより、使用ライブラリ管理DB1aが参照され、脆弱ライブラリの識別情報に対応するジョブプログラムの識別情報が取得される。さらに、投入先判別手段1gにより、ジョブ投入先管理DB1bが参照され、取得したジョブプログラムの識別情報に対応する投入先ノードの識別情報が取得される。そして、ジョブ強制停止手段1hにより、投入先判別手段1gで取得されたジョブプログラムの識別情報と投入先のノード4〜6の識別情報とに基づいて、ジョブプログラムを実行するプロセスの停止の指示が投入先のノード4〜6に対して出される。
各ノード4〜6では、ゲートウェイ1からのプロセスの停止の指示に応答して、ジョブプログラムを実行しているプロセスが停止される。その結果、各ノード4〜6で動作していたジョブも強制的に停止されることとなる。
これにより、危険なライブラリが発見された際に、そのライブラリを使用するジョブプログラムが多数のノード上で実行されていても、即座にそのジョブプログラムの実行を緊急停止させることができる。その結果、ノード4〜6が危険な状態のまま放置される時間を最小限に抑えることができる。しかも、危険性を有するライブラリを実行するジョブプログラムの見落としがなくなり、危険なジョブを確実に停止させることが可能となる。
なお、投入先判別手段1gへの脆弱ライブラリの識別情報の入力は、キーボード等の入力装置を用いて管理者が操作入力することで行うこともできる。例えば、セキュリティDB3に登録された脆弱ライブラリの情報から、即座にジョブを停止すべきか否かを管理者が判断する場合がある。その場合、管理者がクライアント2を利用してセキュリティDB3内を参照する。そして、緊急度が高いと判断したら、管理者は、クライアント2を用いて、投入先判別手段1gに対して脆弱ライブラリの識別情報を入力する。
以下に、本発明の実施の形態を詳細に説明する。
[第1の実施の形態]
図2は、第1の実施の形態のシステム構成例を示す図である。クライアント31は、グリッドシステム100に配置されたゲートウェイ(GW)110に対してネットワーク21を介して接続されている。
グリッドシステム100は、ゲートウェイ110、複数のノード120a,120b,120c,・・・で構成されるCPU群120、ファイバーチャネル(FC)140、および複数の共有二次記憶装置131,132,133で構成される共有二次記憶装置群130を有している。
ゲートウェイ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に対して、データの格納または読み出しを行う。
ゲートウェイ110には、データベースサーバ200が接続されている。データベースサーバ200はセキュリティDB210を有しており、セキュリティDB210内の情報をゲートウェイ110等の各種装置に提供する。セキュリティDB210には、広く配布されているライブラリのセキュリティ情報が登録されている。
図3は、第1の実施の形態に用いるゲートウェイのハードウェア構成例を示す図である。ゲートウェイ110は、CPU(Central Processing Unit)110aによって装置全体が制御されている。CPU110aには、バス110hを介してRAM(Random Access Memory)110b、ハードディスクドライブ(HDD:Hard Disk Drive)110c、グラフィック処理装置110d、入力インタフェース110e、および通信インタフェース110f,110gが接続されている。
RAM110bには、CPU110aに実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM110bには、CPU110aによる処理に必要な各種データが格納される。HDD110cには、OSやアプリケーションプログラムが格納される。
グラフィック処理装置110dには、モニタ11が接続されている。グラフィック処理装置110dは、CPU110aからの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース110eには、キーボード12とマウス13とが接続されている。入力インタフェース110eは、キーボード12やマウス13から送られてくる信号を、バス110hを介してCPU110aに送信する。
通信インタフェース110fは、ネットワーク21に接続されている。通信インタフェース110fは、ネットワーク21を介して、クライアント31との間でデータの送受信を行う。
通信インタフェース110gは、ネットワーク22に接続されている。通信インタフェース110gは、ネットワーク22を介して、各ノード120a,120b,120c,・・・との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3にはゲートウェイ110のハードウェア構成を示したが、各ノード120a,120b,120c,・・・も同様のハードウェアで実現することができる。
次に、ゲートウェイ110とノードとの機能について説明する。
図4は、第1の実施の形態のゲートウェイとノードとの処理機能を示すブロック図である。なお、図4では代表としてノード120aの機能が示されているが、他のノードもノード120aと同様の機能を有している。
ゲートウェイ110は、使用ライブラリ管理DB111、ジョブ投入先管理DB112、ジョブ投入受け付け部113、証明書認証部114、使用ライブラリ判断部115、ジョブ振り分け部116、脆弱ライブラリ情報取得部117、投入先判別部118、およびジョブ強制停止部119を有する。
使用ライブラリ管理DB111は、投入されたプログラムのジョブを実行するプログラムで利用されるライブラリのリストが登録された記憶装置である。例えば、HDD110c内の一部の記憶領域が、使用ライブラリ管理DB111として利用される。
ジョブ投入先管理DB112は、ジョブが投入されたノードのリストが登録された記憶装置である。例えば、HDD110cの一部の記憶領域が、ジョブ投入先管理DB112として利用される。
ジョブ投入受け付け部113は、クライアント31からジョブの実行要求を受け付ける。具体的には、クライアント31からジョブの実行要求と共に証明書51付きのアーカイブ40が送信される。アーカイブ40には、ジョブの処理内容が記述されたプログラム41(ジョブプログラム)と、そのプログラム41の動作環境の設定情報等のプログラム41の実行に必要な情報が設定された付帯情報42とが含まれる。
アーカイブ40としては、例えば、ZAR(ゼロ・アドミニストレーション・アーカイブ)を利用することができる。ZARは、ZARで提供される情報(プログラムと付帯情報)のみによってジョブを実行可能なアーカイブである。すなわち、ZARの実行に際し、予め所定のライブラリ等の機能が各ノード120a,120b,120c,・・・に組み込まれている必要がない。
証明書51は、アーカイブ40の作成者を認証局を通して認証するためのデータである。この機能は、例えば、SSL(Secure Socket Layer)に既定されている。
ジョブ投入受け付け部113は、クライアント31から証明書51が添付されたアーカイブ40を受け取ると、証明書51を証明書認証部114に渡す。そして、ジョブ投入受け付け部113は、証明書認証部114から、正しく認証された旨の認証結果を受け取ると、アーカイブ40を使用ライブラリ判断部115に渡す。
証明書認証部114は、受け取った証明書51に基づいて、アーカイブ40の作成者が本人であることを認証する。認証処理は、例えば、図示していない認証局に対して認証を依頼することで実現される。証明書の認証は、例えば、GSI(Grid Security Infrastructure)機能を用いて行われる。証明書51が正しく認証された場合、証明書認証部114は、認証処理の結果をジョブ投入受け付け部113に対して出力する。
使用ライブラリ判断部115は、プログラム中で使用するライブラリを判断する。具体的には、使用ライブラリ判断部115は、ジョブ投入受け付け部113から渡されたアーカイブ40内のプログラムを解析し、プログラム内で利用しているライブラリの名称(ライブラリ名)を検出する。
そして、使用ライブラリ判断部115は、解析したプログラムのプログラム名と検出したライブラリ名とを関連づけて、使用ライブラリ管理DB111に登録する。その後、使用ライブラリ判断部115は、アーカイブ40をジョブ振り分け部116に渡す。
ジョブ振り分け部116は、投入されたジョブを複数のノードに実行させるために、ジョブを実行させるノードを決定する。例えば、各ノードの負荷を監視し、負荷の少ないノードにジョブを実行させる。ノードが決定すると、ジョブ振り分け部116は、ジョブを実行させるべきノードに対してジョブを投入する。具体的は、ジョブ振り分け部116は、ノードに対して、ジョブの実行要求と共にアーカイブ40を送信する。
脆弱ライブラリ情報取得部117は、定期的にセキュリティDB210の内容を参照し、脆弱性のあるライブラリの識別情報(ライブラリ名とバージョン)を取得する。そして、脆弱ライブラリ情報取得部117は、取得したライブラリの識別情報を投入先判別部118に渡す。
投入先判別部118は、脆弱ライブラリ情報取得部117から渡されたライブラリの識別情報に基づいて、そのライブラリを利用するプログラムを実行しているノードを特定する。具体的には、投入先判別部118は、使用ライブラリ管理DB111を参照し、脆弱ライブラリ情報取得部117から取得したライブラリの識別情報で示されるライブラリを利用するプログラムのプログラム名を抽出する。次に、投入先判別部118は、ジョブ投入先管理DB112を参照し、抽出したプログラム名のプログラムを含むジョブの投入先のノードの識別情報(例えば、IP(Internet Protocol)アドレス)を抽出する。そして、投入先判別部118は、抽出したノードの識別情報とプログラム名との組を、ジョブ強制停止部119に渡す。
ジョブ強制停止部119は、投入先判別部118から受け取ったノードの識別情報に対応するノードに対して、投入先判別部118から受け取ったプログラム名を指定したジョブの停止要求を送信する。
ノード120aは、ジョブ管理部121、OS122、プログラム記憶部123、およびライブラリ記憶部124を有している。
ジョブ管理部121は、ゲートウェイ110から渡されたアーカイブ40からプログラム41と付帯情報42とを分離する。そして、ジョブ管理部121は、プログラム41と付帯情報42との格納要求を、OS122のファイルシステムに対して出力する。その後、ジョブ管理部121は、ジョブを実施させるために、格納したプログラム41の起動要求をOS122に対して出力する。
また、ジョブ管理部121は、ゲートウェイ110から送られるプログラムの停止要求を取得すると、その停止要求で指定されたプログラム名に対応するプロセスの停止要求をOS122に対して出力する。具体的には、ジョブ管理部121は、停止要求を受け取ると、OS122を介して現在実行されているプロセスのリスト(プロセスリスト)を取得する。プロセスリストには、動作しているプロセスのプロセスIDとそのプロセスで実行しているプログラム名とを含むプロセス情報が示される。
ジョブ管理部121は、取得したプロセスリストから、停止要求で指定されたプログラム名のプログラムを実行しているプロセスのプロセスIDを抽出する。そして、ジョブ管理部121は、抽出したプロセスIDを指定して、該当するプロセスの停止要求をOS122に依頼する。
OS122は、ノード120a全体を制御する。OS122には、ファイルシステムが含まれており、ジョブ管理部121等のアプリケーションプログラムからの要求に応じて、HDD内へのファイルの書き込み等を行う。また、OS122は、プログラム41を指定した起動要求を受け取ると、そのプログラムを実行するためのジョブ実行プロセス125を起動する。そして、起動したジョブ実行プロセス125に、プログラム41に記述されている処理を実行させる。
また、OS122は、プロセスリストを作成する機能を有しており、プロセスリストの作成要求に応じて、その時点で動作しているプロセスに関するプロセスリストを作成する。さらに、OS122は、任意のプロセスの強制停止機能を有している。具体的には、OS122は、プロセスIDを指定した停止要求を受け取ると、該当するプロセスを強制的に停止する。
プログラム記憶部123は、アーカイブ40に含まれていたプログラム41や付帯情報42を記憶する記憶装置である。例えば、HDDの記憶領域の一部が、プログラム記憶部123として使用される。
ライブラリ記憶部124は、ライブラリ124a,124b,124cを記憶する記憶装置である。例えば、HDDの記憶領域の一部が、ライブラリ記憶部124として使用される。
次に、図4に示す各データベースのデータ構造例について説明する。
図5は、セキュリティDBのデータ構造例を示す図である。セキュリティDB210には、ライブラリ名、バージョン、および危険性の欄が設けられている。
ライブラリ名の欄には、セキュリティ上の欠陥が判明したライブラリの名称(ライブラリ名)が設定される。バージョンの欄には、セキュリティ上の欠陥が発見されたライブラリのバージョンが設定される。危険性の欄には、そのセキュリティ上の欠陥を放置したときの危険性が設定される。図5の例では、極めて危険な欠陥の場合「大」、中程度の危険性を有する欠陥の場合「中」、危険性の少ない欠陥の場合「小」が設定される。
ライブラリの危険性が「大」の場合、そのライブラリを利用しているプログラムを、即座に停止する必要がある。ライブラリの危険性が「中」の場合、そのライブラリを利用しているプログラムの処理が完了した後に、そのライブラリの欠陥を修復する必要がある。ライブラリの危険性が「小」の場合、そのライブラリの欠陥の修復は必須ではないが、修復するのが望ましい。なお、投入するジョブの処理内容が記述されたジョブプログラムで使用するライブラリの危険性が「大」または「中」の場合、そのジョブの投入は取りやめられる。
図6は、使用ライブラリ管理DBのデータ構造例を示す図である。使用ライブラリ管理DB111には、プログラム名、使用ライブラリ名、およびバージョンの欄が設けられている。
プログラム名の欄には、アーカイブ40に含まれていたプログラムの名称(プログラム名)が設定される。使用ライブラリ名の欄には、プログラムの実行時に使用されるライブラリの名称(ライブラリ名)が設定される。バージョンの欄には、プログラムの実行時に使用されるライブラリのバーションが設定される。
図7は、ジョブ投入先管理DBのデータ構造例を示す図である。ジョブ投入先管理DB112には、プログラム名、配布先ノード名、およびIPアドレスの欄が設けられている。
プログラム名の欄には、投入されたジョブの実行用のプログラムの名称(プログラム名)が設定される。配布先ノード名の欄には、プログラムがジョブの投入に伴って配布されたときの配布先ノードの名称(ノード名)が設定される。IPアドレスの欄には、各配布先ノードのIPアドレスが設定される。
以上のような構成に基づいて、ジョブの投入およびライブラリのセキュリティ管理が行われる。以下、本実施の形態の処理を、ジョブ投入時とセキュリティ上の欠陥検出時とに分けて説明する。
図8は、ジョブ投入時の処理を示す概念図である。図8には、グリッドシステム100内のゲートウェイ110とノード120a,120b,120c,・・・が示されている。グリッドシステム100を構成する各ノードでは、クライアントアプリケーション91b,92b,93bが実行されている。その状態で、いずれかのノード(図8の例では、ノード120a,120b,120c)にジョブ94b,95b,96bを実行させるものとする。
まず、クライアント31からジョブが投入される(ステップS11)。ジョブの投入時には、クライアント31からゲートウェイ110に、ジョブの実行要求と共に証明書51付きのアーカイブ40が送信される。アーカイブ40には、プログラム41と付帯情報42とが含まれる。
なお、プログラム41では、ライブラリ41a,41b,41cが利用される。すなわち、プログラム41内の処理記述として、ライブラリ41a,41b,41cを呼び出す記述(リンク)が含まれている。ライブラリ41a,41b,41cは、例えば、プログラム41内に埋め込まれている。また、プログラム41では、各ノードに事前に配布されているライブラリ124a,124b,124cの呼出記述のみが含まれている場合もある。
ゲートウェイ110では、証明書51付きのアーカイブ40を受け取ると、証明書51の認証および認可処理を行う(ステップS12)。証明書51が正しく認証されると、ゲートウェイ110は、プログラム41で利用するライブラリ41a,41b,41cを判定し、判定結果を記憶する(ステップS13)。さらに、ゲートウェイ110は、ジョブを分割する(ステップS14)。
そして、ゲートウェイ110は、分割したジョブを複数のノード120a,120b,120cに投入する(ステップS15)。この際、ゲートウェイ110は、ジョブの投入先(プログラムの配信先)のノードの情報を記憶する。
ノード120a,120b,120cに対するジョブの投入では、ジョブの処理要求と共に、アーカイブ40が各ノード120a,120b,120cに送信される。そして、ジョブが投入されたノード120a,120b,120cにおいて、アーカイブ40内のプログラム41と付帯情報42とが取り出され、ジョブ94b,94b,96bが実行される(ステップS16)。なお、ジョブ94b,94b,96bは、プログラム41に記述された内容に従ってノード120a,120b,120cがデータ処理を行うことで実行される。
次に、ジョブ投入時の処理をより詳細に説明する。
図9は、ジョブ実行手順を示すシーケンス図である。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS21]クライアント31において、ユーザからジョブ投入指示を受け付ける。
[ステップS22]クライアント31は、証明書51付きのアーカイブ40をゲートウェイ110に対して送信する。
[ステップS23]ゲートウェイ110のジョブ投入受け付け部113は、証明書51付きのアーカイブ40を受信する。すると、ジョブ投入受け付け部113は、証明書認証部114に対して証明書51を渡す。
[ステップS24]ゲートウェイ110の証明書認証部114は、証明書51の認証処理を行う。そして、証明書認証部114は、認証結果をジョブ投入受け付け部113に渡す。
[ステップS25]証明書51が正しく認証された場合、ジョブ投入受け付け部113は、アーカイブ40を使用ライブラリ判断部115に渡す。使用ライブラリ判断部115は、アーカイブ40に含まれるプログラム41を解析し、プログラム41内で利用しているライブラリ41a,41b,41cを判断する。具体的には、使用ライブラリ判断部115は、プログラム41の中からライブラリの呼出記述を抽出し、呼び出されるライブラリ名とバージョンとを判断する。
[ステップS26]使用ライブラリ判断部115は、ライブラリの危険度情報(危険度が「大」または「中」のライブラリのライブラリ名のバーション)を取得する。具体的には、使用ライブラリ判断部115は、脆弱ライブラリ情報取得部117に対して、セキュリティDB210の情報取得を要求する。脆弱ライブラリ情報取得部117は、使用ライブラリ判断部115からの要求に応答して、セキュリティDB210を参照し、危険度が「大」または「中」のライブラリのライブラリ名とバージョンとを取得する。そして、脆弱ライブラリ情報取得部117は、取得したライブラリ名とバージョンとのリストを、使用ライブラリ判断部115に渡す。
[ステップS27]使用ライブラリ判断部115は、プログラム41で使用するライブラリ41a,41b,41cの中に危険なライブラリがあるか否かを判断する。具体的には、使用ライブラリ判断部115は、ステップS25で判断したライブラリ名とバージョンとの組が、脆弱ライブラリ情報取得部117から受け取ったライブラリ名とバージョンとのリストに含まれるか否かを判断する。少なくとも1つでもリストに含まれていれば、使用ライブラリ判断部115は、危険なライブラリが含まれると判断し、処理をステップS28に進める。危険なライブラリが検出されなければ、処理がステップS29に進められる。
[ステップS28]使用ライブラリ判断部115は、ジョブの投入を中止し、アーカイブ40を破棄する。その後、処理が終了する。
[ステップS29]使用ライブラリ判断部115は、全てのライブラリの安全性が確認されると、プログラム41のプログラム名と、そのプログラム41で利用されるライブラリ41a,41b,41cのライブラリ名とバージョンとを関連づけて、使用ライブラリ管理DB111に登録する。
[ステップS30]使用ライブラリ判断部115は、アーカイブ40をジョブ振り分け部116に渡す。ジョブ振り分け部116は、ジョブを実行させる1つ以上のノードを決定する。そして、ジョブ振り分け部116は、アーカイブ40に含まれるプログラム41のプログラム名、アーカイブ40を送信した各ノードのノード名、およびそれらのノードのIPアドレスを関連づけ、ジョブ投入先管理DB112に登録する。
[ステップS31]ジョブ振り分け部116は、挿入先のノード120aに対してアーカイブ40を送信する。
[ステップS32]ノード120aのジョブ管理部121は、アーカイブ40を受信する。ジョブ管理部121は、受信したアーカイブ40からプログラム41と付帯情報42とを取り出し、それらの格納要求をOS122に対して出力する。すると、OS122は、プログラム41と付帯情報42とをプログラム記憶部123に格納する。
[ステップS33]ノード120aは、ジョブ実行プロセス125を起動し、受信したアーカイブ40に含まれるプログラム41を実行する。具体的には、ノード120aのジョブ管理部121は、プログラム41の起動要求をOS122に対して出力する。するとOS122は、プログラム41を実行するためのジョブ実行プロセス125を生成する。そして、OS122は、プログラム41を読み出し、ジョブ実行プロセス125に実行させる。
次に、ライブラリに対するセキュリティ上の欠陥検出時の処理を説明する。
図10は、欠陥検出時の処理を示す概念図である。まず、データベースサーバ200において、管理者からの操作入力により、セキュリティDB210に対して、セキュリティ上の欠陥を有するライブラリ(脆弱ライブラリ)の情報が登録される(ステップS41)。この例では、ライブラリ41bが危険度「大」であると登録されたものとする。
ゲートウェイ110では、データベースサーバ200に定期的にアクセスし、セキュリティDB210の更新情報を取得する。そして、新たな脆弱ライブラリが登録されたか否かを判断する(ステップS42)。
ライブラリ41bが危険度「大」として登録されたことを検出すると、ゲートウェイ110では、ライブラリ41bの投入先のノードを判断する(ステップS43)。例えば、「プログラムA」がライブラリ41a,41b,41cを利用しており、「プログラムA」によって実行されるジョブが、ノード名「Node#1」,「Node#2」,「Node#3」の各ノードに投入されているものとする。
この場合、ゲートウェイ110では、ライブラリ41bを使用するプログラム41が投入された各ノード120a,120b,120cに対して、該当するジョブの停止指示を出力する(ステップS44)。ジョブの停止指示を受けたノード120a,120b,120cでは、ジョブ94b,95b,96bが強制的に止められる(ステップS45)。
次に、ゲートウェイ110によるセキュリティDB210の監視、および欠陥検出時のジョブ停止処理をより詳細に説明する。
図11は、欠陥検出時の処理を示すシーケンス図である。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS51]ゲートウェイ110の脆弱ライブラリ情報取得部117は、セキュリティDB210を参照し、危険性「大」として登録されているライブラリのライブラリ名とバージョンとを取得する。そして、脆弱ライブラリ情報取得部117は、取得したライブラリ名とバージョンとのリストを投入先判別部118に渡す。
[ステップS52]投入先判別部118は、危険なライブラリがあるか否かを判断する。具体的には、投入先判別部118は、ステップS51で取得したライブラリ名とバージョンとのリストに含まれるライブラリ名とバージョンとの組が、使用ライブラリ管理DB111に登録されているか否かを判断する。ライブラリ名とバージョンとの組が少なくとも1つ登録されていれば、危険ライブラリ有りと判断される。危険ライブラリが有れば、処理がステップS54に進められる。危険ライブラリがなければ、処理がステップS53に進められる。
[ステップS53]脆弱ライブラリ情報取得部117は、所定時間待機する。その後、処理がステップS51に進められる。
[ステップS54]投入先判別部118は、危険ライブラリを実行するプログラムの投入先を判別する。具体的には、投入先判別部118は、使用ライブラリ管理DB111から、ステップS51で取得したライブラリ名とバージョンとに対応するプログラム名を取得する。次に、投入先判別部118は、ジョブ投入先管理DB112を参照し、取得したプログラム名に対応するプログラム名を検出する。
そして、投入先判別部118は、検出したプログラム名に対応するIPアドレスをジョブ投入先管理DB112から抽出する。さらに、投入先判別部118は、抽出したプログラム名とIPアドレスとの組をジョブ強制停止部119に渡す。
[ステップS55]ジョブ強制停止部119は、危険なライブラリを使用するプログラムが実行されているノードに対して、該当するプログラムに基づくジョブの停止指示を出す。該当ノードが複数有る場合、それぞれのノードに対してジョブの停止指示が出される。
具体的には、ジョブ強制停止部119は、投入先判別部118からプログラム名とIPアドレスとの組を受け取ると、IPアドレスをあて先として、プログラム名を指定したジョブ停止指示をネットワークを介して送信する。投入先判別部118から渡されたIPアドレスは、対応するプログラムを使用するジョブが投入されたノードのIPアドレスであるため、ジョブ停止指示は、そのジョブが投入されたノードに対して送信される。
[ステップS56]ノード120aでは、ジョブ管理部121がジョブ停止指示を受け付ける。
[ステップS57]ジョブ管理部121は、ジョブ停止指示で示されたプログラム名に対応するプロセスのプロセスIDを取得する。具体的には、ジョブ管理部121は、ジョブ停止指示を受け取ると、OS122に対して動作しているプロセスのリストを要求する。すると、OS122がプロセスリストをジョブ管理部121に渡す。プロセスリストには、その時点で動作しているプロセスのプロセスIDと、そのプロセスで実行されているプログラム名とが示されている。
ジョブ管理部121は、受け取ったプロセスリストの中から、ジョブ停止指示で指定されたプログラム名に対応するプログラムを実行しているプロセスを抽出する。そして、ジョブ管理部121は、抽出したプログラムのプロセスIDをプロセスリストから取得する。例えば、プログラム41で使用されるライブラリ41bが危険な場合、プログラム41を実行するジョブ実行プロセス125のプロセスIDが取得される。
[ステップS58]ジョブ管理部121は、ステップS57で取得したプロセスIDを指定して、OS122に対し、プロセスの停止要求を出力する。OS122は、停止要求に従って、指定されたプロセスIDに対応するプロセスを強制的に停止する。
このようにして、セキュリティに問題があるライブラリを使用するプログラムのノード上への配布と実行を未然に防止できる。しかも、管理者が危険を発見した際に問題のあるプログラムを実行中ノードすべてで、確実にプログラムを停止できる。これにより、大量の計算ノードが外部からの攻撃の危険にさらされるのを防止できる。
[第2の実施の形態]
次に第2の実施の形態について説明する。第2の実施の形態は、ジョブを停止した後に、ライブラリの欠陥を自動で修復し、ジョブを再開するものである。
図12は、第2の実施の形態のシステム構成例を示す図である。クライアント32は、グリッドシステム300に配置されたゲートウェイ(GW)310に対してネットワーク23を介して接続されている。
グリッドシステム300は、ゲートウェイ310、複数のノード320a,320b,320c,・・・で構成されるCPU群320、ファイバーチャネル(FC)340、および複数の共有二次記憶装置331,332,333で構成される共有二次記憶装置群330を有している。
ゲートウェイ310と各ノード320a,320b,320c,・・・とは、ネットワーク24で接続されている。また、各ノード320a,320b,320c,・・・と共有二次記憶装置331,332,333とは、ファイバーチャネル340を介して接続されている。
ゲートウェイ310は、クライアント32からのジョブの投入要求を受け付ける。その際、ゲートウェイ310は、入力されたジョブに付加された証明書の認証処理を行う。証明書が正しく認証された場合、ゲートウェイ310はジョブを分割し、CPU群320内のノードに分割されたジョブを投入する。
CPU群320を構成する各ノード320a,320b,320c,・・・は、ゲートウェイ310から投入されたジョブを実行する。その際、各ノード320a,320b,320c,・・・は、必要に応じて共有二次記憶装置331,332,333に対して、データの格納または読み出しを行う。
ゲートウェイ310は、データベースサーバ400が接続されている。データベースサーバ400はセキュリティDB410とライブラリDB420とを有している。これらのデータベース内の情報をゲートウェイ310や各ノード320a,320b,320c,・・・に提供する。セキュリティDB410には、広く配布されているライブラリのセキュリティ情報が登録されている。ライブラリDB420には、最新のバーションのライブラリ(安全上の欠陥が発見されていないライブラリ)が登録されている。
図13は、第2の実施の形態のゲートウェイとノードとの処理機能を示すブロック図である。ゲートウェイ310は、使用ライブラリ管理DB311、ジョブ投入先管理DB312、ジョブ投入受け付け部313、証明書認証部314、使用ライブラリ判断部315、ジョブ振り分け部316、脆弱ライブラリ情報取得部317、投入先判別部318、ジョブ強制停止部319、およびライブラリ更新指示部310aを有している。
ゲートウェイ310の構成要素のうち使用ライブラリ管理DB311、ジョブ投入先管理DB312、ジョブ投入受け付け部313、証明書認証部314、使用ライブラリ判断部315、ジョブ振り分け部316、および脆弱ライブラリ情報取得部317については、図4に示した第1の実施の形態のゲートウェイ110内の同名の要素と同じ機能を有している。投入先判別部318およびジョブ強制停止部319、およびライブラリ更新指示部310aについては、図4に示した第1の実施の形態のゲートウェイ110内の同名の要素と同じ機能に加えて、以下の機能を有している。
投入先判別部318は、使用ライブラリ投入先のノードを判別すると、抽出したノードの識別情報(IPアドレス)と脆弱性のあるライブラリの識別情報との組を、ライブラリ更新指示部310aに渡す。
ジョブ強制停止部319は、ジョブの停止要求を送信したノード320aから停止完了の応答を受け取ると、ライブラリの更新準備完了通知をライブラリ更新指示部310aに対して出力する。また、ジョブ強制停止部319は、ライブラリ更新指示部310aから危険性排除完了通知を受け取ると、ノード320aに対してジョブの再起動要求を送信する。
ライブラリ更新指示部310aは、ジョブ強制停止部319からライブラリの更新準備完了通知を受け取ると、脆弱性のあるライブラリを最新のライブラリに更新させるための更新指示を行う。具体的には、ライブラリ更新指示部310aは、投入先判別部318から受け取ったライブラリの識別情報によって更新対象のライブラリを判断する。そして、ライブラリ更新指示部310aは、投入先判別部318から受け取ったノードの識別情報に基づいて、ノード320aに対してライブラリの更新指示を行う。このとき、ライブラリ更新指示部310aは、更新指示において、更新対象のライブラリの識別情報を指定する。ノード320aからライブラリ更新完了の応答が返されると、ライブラリ更新指示部310aは、ジョブ強制停止部319に対して危険性排除完了通知を出力する。
ノード320aは、ジョブ管理部321、OS322、プログラム記憶部323、ライブラリ記憶部324、およびライブラリ更新部326を有している。OS322、プログラム記憶部323、およびライブラリ記憶部324については、図4に示した第1の実施の形態のノード120a内の同名の要素と同じ機能を有している。また、ジョブ管理部321は、図4に示した第1の実施の形態のノード120a内の同名の要素と同じ機能に加えて、以下の機能を有している。
ジョブ管理部321は、OS322に対してプロセスの停止要求を出力した後、プロセスが停止したことを確認する。例えば、ジョブ管理部321からOS322に対してプロセスリストの取得要求を出力し、OS322から返されるプロセスリストに強制停止対象のプロセスが含まれていないことを確認する。ジョブ管理部321は、プロセスが停止したことを確認すると、ゲートウェイ310に対して停止完了の応答を送信する。
また、ジョブ管理部321は、ゲートウェイ310からジョブの再起動要求を受け取ると、プロセスの強制停止によって停止していたジョブを再起動する。具体的には、ジョブ管理部321は、停止されたジョブ実行プロセス325で実行していたプログラム41の起動要求をOS322に対して出力する。これにより、OS322によってジョブ実行プロセス325が再度生成され、そのジョブ実行プロセス325によってプログラム41が実行される。
ライブラリ更新部326は、ゲートウェイ310からライブラリの更新指示を受け取ると、更新指示で示されたライブラリの識別情報に基づいて、同じライブラリ名の最新バージョンのライブラリをライブラリDB420から取得する。そして、ライブラリ更新部326は、取得したライブラリによって、更新対象のライブラリを最新バージョンに更新する。
ライブラリ更新部326は、更新対象がライブラリ記憶部324内のライブラリ324a,324b,324c内の1つであれば、該当ライブラリをライブラリDB420から取得したライブラリに置き換える。また、ライブラリ更新部326は、更新対象がプログラム41内に組み込まれていれば、プログラム41内の該当ライブラリの部分をライブラリDB420から取得したライブラリに置き換える。ライブラリ更新部326は、ライブラリの更新が終わると、ゲートウェイ310に対してライブラリ更新完了の応答を返す。
以上のような構成によって、危険性のあるライブラリの自動更新を行うことができる。以下、ライブラリの自動更新処理手順を説明する。
図14は、欠陥検出時のライブラリ更新処理を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS61]ゲートウェイ310の脆弱ライブラリ情報取得部317は、セキュリティDB410を参照し、危険性「大」として登録されているライブラリのライブラリ名とバージョンとを取得する。そして、脆弱ライブラリ情報取得部317は、取得したライブラリ名とバージョンとのリストを投入先判別部318に渡す。
[ステップS62]投入先判別部318は、危険なライブラリがあるか否かを判断する。具体的には、投入先判別部318は、ステップS61で取得したライブラリ名とバージョンとのリストに含まれるライブラリ名とバージョンとの組が、使用ライブラリ管理DB311に登録されているか否かを判断する。ライブラリ名とバージョンとの組が少なくとも1つ登録されていれば、危険ライブラリ有りと判断される。危険ライブラリが有れば、処理がステップS64に進められる。危険ライブラリがなければ、処理がステップS63に進められる。
[ステップS63]脆弱ライブラリ情報取得部317は、所定時間待機する。その後、処理がステップS61に進められる。
[ステップS64]投入先判別部318は、危険ライブラリを実行するプログラムの投入先を判別する。具体的には、投入先判別部318は、使用ライブラリ管理DB311から、ステップS61で取得したライブラリ名とバージョンとに対応するプログラム名を取得する。次に、投入先判別部318は、ジョブ投入先管理DB312を参照し、取得したプログラム名に対応するプログラム名を検出する。
そして、投入先判別部318は、検出したプログラム名に対応するIPアドレスをジョブ投入先管理DB312から抽出する。さらに、投入先判別部318は、抽出したプログラム名とIPアドレスとの組をジョブ強制停止部319とライブラリ更新指示部310aとに渡す。
[ステップS65]ジョブ強制停止部319は、危険なライブラリを使用するプログラムが実行されているノードに対して、該当するプログラムに基づくジョブの停止指示を出す。該当ノードが複数有る場合、それぞれのノードに対してジョブの停止指示が出される。
[ステップS66]ノード320aでは、ジョブ管理部321がジョブ停止指示を受け付ける。
[ステップS67]ジョブ管理部321は、ジョブ停止指示で示されたプログラム名に対応するプロセスのプロセスIDを取得する。
[ステップS68]ジョブ管理部321は、ステップS67で取得したプロセスIDを指定して、OS322に対し、プロセスの停止要求を出力する。OS322は、停止要求に従って、指定されたプロセスIDに対応するジョブ実行プロセス325を強制的に停止する。
[ステップS69]ジョブ管理部321は、プロセスが停止したことを確認すると、ゲートウェイ310に対して停止完了の応答を出力する。
[ステップS70]ゲートウェイ310のジョブ強制停止部319は、ノード320aからの停止完了応答を受け付けると、ライブラリの更新準備完了通知をライブラリ更新指示部310aに対して出力する。
[ステップS71]ライブラリ更新指示部310aは、ノード320aに対して、更新対象のライブラリの識別情報を指定したライブラリの更新指示を行う。
[ステップS72]ノード320aのライブラリ更新部326は、更新指示を受け取ると、ライブラリDB420から最新のライブラリを取得し、該当するライブラリを最新のバージョンに更新する。
[ステップS73]ライブラリ更新部326は、ライブラリの更新が完了すると、ゲートウェイ310に対してライブラリ更新完了の応答を返す。
[ステップS74]ゲートウェイ310のライブラリ更新指示部310aは、ライブラリ更新完了の応答を受け付ける。そして、ライブラリ更新指示部310aは、ジョブ強制停止部319に対して危険性排除完了通知を出力する。
[ステップS75]ジョブ強制停止部319は、ライブラリ更新指示部310aから危険性排除完了通知を受け取ると、ノード320aに対してジョブの再起動指示を送信する。
[ステップS76]ノード320aのジョブ管理部321は、ジョブの再起動を行う。すなわち、ジョブ管理部321は、プログラム41の起動要求をOS322に対して出力する。すると、ジョブ実行プロセス325が再生成され、ジョブ実行プロセス325によってプログラム41が実行される。
このようにして、危険性を有するライブラリを用いたジョブを実行しているジョブ実行プロセス325を強制的に緊急停止した場合、問題のないバージョンにライブラリを更新した後、ジョブを再開できる。これにより、ジョブの停止期間を短時間ですませることができる。その結果、危険性を有するライブラリが発見された場合のグリッドシステム全体としての処理効率の低下を少なく抑えることができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ゲートウェイや各ノードが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(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) 前記セキュリティデータベースには、前記脆弱ライブラリの危険性を示す危険度が設定されており、
前記脆弱ライブラリ情報取得手段は、所定の危険度よりも高い危険度を有する前記脆弱ライブラリの識別情報のみを前記投入先判別手段に対して出力することを特徴とする付記2記載のセキュリティ管理プログラム。
(付記4) 前記脆弱ライブラリ情報取得手段は、前記使用ライブラリ判断手段からの脆弱ライブラリ情報取得要求に応じて、前記脆弱ライブラリの識別情報が登録されるセキュリティデータベースを定期的に検索し、前記脆弱ライブラリの識別情報を取得し、前記使用ライブラリ判断手段に前記脆弱ライブラリの識別情報を渡し、
前記使用ライブラリ判断手段は、前記リンクライブラリを判断すると、前記脆弱ライブラリ情報取得手段に対して前記脆弱ライブラリ情報取得要求を出力し、前記脆弱ライブラリ情報取得手段から前記脆弱ライブラリの識別情報を受け取り、前記脆弱ライブラリの識別情報と合致する識別情報の前記リンクライブラリの有無を判断し、
前記ジョブ投入手段は、前記使用ライブラリ判断手段において、前記脆弱ライブラリの識別情報と合致する識別情報の前記リンクライブラリはないと判断された場合にのみ、前記投入先ノードに前記ジョブプログラムを実行させる、
ことを特徴とする付記2記載のセキュリティ管理プログラム。
(付記5) 前記セキュリティデータベースには、前記脆弱ライブラリの危険性を示す危険度が設定されており、
前記脆弱ライブラリ情報取得手段は、所定の第1の危険度よりも高い危険度が設定された前記脆弱ライブラリの識別情報のみを前記投入先判別手段に対して出力し、前記第1の危険性よりも低い所定の第2の危険度よりも高い危険度が設定された前記危険ライブラリの識別情報のみを前記使用ライブラリ判断手段に渡すことを特徴とする付記4記載のセキュリティ管理プログラム。
(付記6) 前記コンピュータを、さらに、
前記投入先ノードに対して、前記脆弱ライブラリを最新のバージョンに更新することを示すライブラリ更新指示を前記投入先ノードに対して送信するライブラリ更新指示手段として機能させることを特徴とする付記1記載のセキュリティ管理プログラム。
(付記7) 前記ジョブ強制停止手段は、前記投入先ノードにおける前記脆弱ライブラリの更新完了後、前記投入先ノードに対して前記ジョブプログラムを起動させることを特徴とする付記6記載のセキュリティ管理プログラム。
(付記8) 前記使用ライブラリ判断手段は、前記ジョブプログラムから他のファイルで用意されているライブラリを呼び出すための記述と、前記ジョブプログラム内に組み込まれたライブラリを呼び出す記述とを抽出し、それぞれの記述で呼び出されるライブラリを前記リンクライブラリとすることを特徴とする付記1記載のセキュリティ管理プログラム。
(付記9) 前記使用ライブラリ判断手段は、前記リンクライブラリの識別情報として、前記リンクライブラリのライブラリ名とバージョンとを前記使用ライブラリ管理データベースに登録し、
前記投入先判別手段は、前記脆弱ライブラリの識別情報として、前記脆弱ライブラリのライブラリ名とバージョンとを受け取ることを特徴とする付記1記載のセキュリティ管理プログラム。
(付記10) ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理装置において、
ジョブの処理内容が記述されたジョブプログラムと、前記ジョブプログラム中で呼び出されるリンクライブラリとの対応関係を記憶する使用ライブラリ管理データベースと、
前記ジョブプログラムと、前記ジョブの投入先のノードとの対応関係を記憶するジョブ投入先管理データベースと、
前記ジョブプログラムを含むジョブ実行要求の入力を受け付けるジョブ実行要求取得手段と、
前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを解析し、前記ジョブプログラム中で呼び出される前記リンクライブラリを判断し、前記ジョブプログラムの識別情報と前記リンクライブラリの識別情報との対応関係を前記使用ライブラリ管理データベースに登録する使用ライブラリ判断手段と、
前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを実行させる投入先ノードを決定し、前記投入先ノードの識別情報と前記ジョブプログラムの識別情報とを対応付けて前記ジョブ投入先管理データベースに登録すると共に、前記投入先ノードに対して前記ジョブプログラムを送信して前記ジョブプログラムを実行させるジョブ投入手段と、
安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、前記使用ライブラリ管理データベースを参照し、前記脆弱ライブラリの識別情報に対応する前記ジョブプログラムの識別情報を取得し、前記ジョブ投入先管理データベースを参照し、取得した前記ジョブプログラムの識別情報に対応する前記投入先ノードの識別情報を取得する投入先判別手段と、
前記投入先判別手段で取得された前記ジョブプログラムの識別情報と前記投入先ノードの識別情報とに基づいて、前記ジョブプログラムを実行するプロセスの停止を前記投入先ノードに対して指示するジョブ強制停止手段と、
を有することを特徴とするセキュリティ管理装置。
(付記11) ネットワークを介して投入されたジョブのセキュリティ管理をコンピュータで行うためのセキュリティ管理方法において、
ジョブ実行要求取得手段が、ジョブプログラムを含むジョブ実行要求の入力を受け付け、
使用ライブラリ判断手段が、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを解析し、前記ジョブプログラム中で呼び出される前記リンクライブラリを判断し、前記ジョブプログラムの識別情報と前記リンクライブラリの識別情報との対応関係を使用ライブラリ管理データベースに登録し、
ジョブ投入手段が、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを実行させる投入先ノードを決定し、前記投入先ノードの識別情報と前記ジョブプログラムの識別情報とを対応付けてジョブ投入先管理データベースに登録すると共に、前記投入先ノードに対して前記ジョブプログラムを送信して前記ジョブプログラムを実行させ、
投入先判別手段が、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、前記使用ライブラリ管理データベースを参照し、前記脆弱ライブラリの識別情報に対応する前記ジョブプログラムの識別情報を取得し、前記ジョブ投入先管理データベースを参照し、取得した前記ジョブプログラムの識別情報に対応する前記投入先ノードの識別情報を取得し、
ジョブ強制停止手段が、前記投入先判別手段で取得された前記ジョブプログラムの識別情報と前記投入先ノードの識別情報とに基づいて、前記ジョブプログラムを実行するプロセスの停止を前記投入先ノードに対して指示する、
ことを特徴とするセキュリティ管理方法。
本実施の形態の概略を示す図である。 第1の実施の形態のシステム構成例を示す図である。 第1の実施の形態に用いるゲートウェイのハードウェア構成例を示す図である。 第1の実施の形態のゲートウェイとノードとの処理機能を示すブロック図である。 セキュリティDBのデータ構造例を示す図である。 使用ライブラリ管理DBのデータ構造例を示す図である。 ジョブ投入先管理DBのデータ構造例を示す図である。 ジョブ投入時の処理を示す概念図である。 ジョブ実行手順を示すシーケンス図である。 欠陥検出時の処理を示す概念図である。 欠陥検出時の処理を示すシーケンス図である。 第2の実施の形態のシステム構成例を示す図である。 第2の実施の形態のゲートウェイとノードとの処理機能を示すブロック図である。 欠陥検出時のライブラリ更新処理を示すシーケンス図である。
符号の説明
1 ゲートウェイ
1a 使用ライブラリ管理DB
1b ジョブ投入先管理DB
1c ジョブ実行要求取得手段
1d 使用ライブラリ判断手段
1e ジョブ投入手段
1f 脆弱ライブラリ情報取得手段
1g 投入先判別手段
1h ジョブ強制停止手段
2 クライアント
3 セキュリティDB
4〜6 ノード

Claims (10)

  1. ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理プログラムにおいて、
    コンピュータを、
    ジョブの処理内容が記述されたジョブプログラムと、前記ジョブプログラム中で読み出されるリンクライブラリとの対応関係を記憶する使用ライブラリ管理データベース、
    前記ジョブプログラムと、前記ジョブの投入先のノードとの対応関係を記憶するジョブ投入先管理データベース、
    前記ジョブプログラムを含むジョブ実行要求の入力を受け付けるジョブ実行要求取得手段、
    前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを解析し、前記ジョブプログラム中で呼び出される前記リンクライブラリを判断し、前記ジョブプログラムの識別情報と前記リンクライブラリの識別情報との対応関係を前記使用ライブラリ管理データベースに登録する使用ライブラリ判断手段、
    前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを実行させる投入先ノードを決定し、前記投入先ノードの識別情報と前記ジョブプログラムの識別情報とを対応付けて前記ジョブ投入先管理データベースに登録すると共に、前記投入先ノードに対して前記ジョブプログラムを送信して前記ジョブプログラムを実行させるジョブ投入手段、
    安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、前記使用ライブラリ管理データベースを参照し、前記脆弱ライブラリの識別情報に対応する前記ジョブプログラムの識別情報を取得し、前記ジョブ投入先管理データベースを参照し、取得した前記ジョブプログラムの識別情報に対応する前記投入先ノードの識別情報を取得する投入先判別手段、
    前記投入先判別手段で取得された前記ジョブプログラムの識別情報と前記投入先ノードの識別情報とに基づいて、前記ジョブプログラムを実行するプロセスの停止を前記投入先ノードに対して指示するジョブ強制停止手段、
    として機能させることを特徴とするセキュリティ管理プログラム。
  2. 前記コンピュータを、さらに、
    ライブラリに安全上の欠陥が発見される毎に前記脆弱ライブラリの識別情報が登録されるセキュリティデータベースを定期的に検索し、前記脆弱ライブラリの識別情報を取得し、取得した前記脆弱ライブラリの識別情報を前記投入先判別手段に対して出力する脆弱ライブラリ情報取得手段として機能させることを特徴とする請求項1記載のセキュリティ管理プログラム。
  3. 前記セキュリティデータベースには、前記脆弱ライブラリの危険性を示す危険度が設定されており、
    前記脆弱ライブラリ情報取得手段は、所定の危険度よりも高い危険度を有する前記脆弱ライブラリの識別情報のみを前記投入先判別手段に対して出力することを特徴とする請求項2記載のセキュリティ管理プログラム。
  4. 前記脆弱ライブラリ情報取得手段は、前記使用ライブラリ判断手段からの脆弱ライブラリ情報取得要求に応じて、前記脆弱ライブラリの識別情報が登録されているセキュリティデータベースを定期的に検索し、前記脆弱ライブラリの識別情報を取得し、前記使用ライブラリ判断手段に前記脆弱ライブラリの識別情報を渡し、
    前記使用ライブラリ判断手段は、前記リンクライブラリを判断すると、前記脆弱ライブラリ情報取得手段に対して前記脆弱ライブラリ情報取得要求を出力し、前記脆弱ライブラリ情報取得手段から前記脆弱ライブラリの識別情報を受け取り、前記脆弱ライブラリの識別情報と合致する識別情報の前記リンクライブラリの有無を判断し、
    前記ジョブ投入手段は、前記使用ライブラリ判断手段において、前記脆弱ライブラリの識別情報と合致する識別情報の前記リンクライブラリはないと判断された場合にのみ、前記投入先ノードに前記ジョブプログラムを実行させる、
    ことを特徴とする請求項2記載のセキュリティ管理プログラム。
  5. 前記セキュリティデータベースには、前記脆弱ライブラリの危険性を示す危険度が設定されており、
    前記脆弱ライブラリ情報取得手段は、所定の第1の危険度よりも高い危険度が設定された前記脆弱ライブラリの識別情報のみを前記投入先判別手段に対して出力し、前記第1の危険性よりも低い所定の第2の危険度よりも高い危険度が設定された前記危険ライブラリの識別情報のみを前記使用ライブラリ判断手段に渡すことを特徴とする請求項4記載のセキュリティ管理プログラム。
  6. 前記コンピュータを、さらに、
    前記投入先ノードに対して、前記脆弱ライブラリを最新のバージョンに更新することを示すライブラリ更新指示を前記投入先ノードに対して送信するライブラリ更新指示手段として機能させることを特徴とする請求項1記載のセキュリティ管理プログラム。
  7. 前記ジョブ強制停止手段は、前記投入先ノードにおける前記脆弱ライブラリの更新完了後、前記投入先ノードに対して前記ジョブプログラムを起動させることを特徴とする請求項6記載のセキュリティ管理プログラム。
  8. 前記使用ライブラリ判断手段は、前記ジョブプログラムから他のファイルで用意されているライブラリを呼び出すための記述と、前記ジョブプログラム内に組み込まれたライブラリを呼び出す記述とを抽出し、それぞれの記述で呼び出されるライブラリを前記リンクライブラリとすることを特徴とする請求項1記載のセキュリティ管理プログラム。
  9. ネットワークを介して投入されたジョブのセキュリティ管理を行うためのセキュリティ管理装置において、
    ジョブの処理内容が記述されたジョブプログラムと、前記ジョブプログラム中で呼び出されるリンクライブラリとの対応関係を記憶する使用ライブラリ管理データベースと、
    前記ジョブプログラムと、前記ジョブの投入先のノードとの対応関係を記憶するジョブ投入先管理データベースと、
    前記ジョブプログラムを含むジョブ実行要求の入力を受け付けるジョブ実行要求取得手段と、
    前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを解析し、前記ジョブプログラム中で呼び出される前記リンクライブラリを判断し、前記ジョブプログラムの識別情報と前記リンクライブラリの識別情報との対応関係を前記使用ライブラリ管理データベースに登録する使用ライブラリ判断手段と、
    前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを実行させる投入先ノードを決定し、前記投入先ノードの識別情報と前記ジョブプログラムの識別情報とを対応付けて前記ジョブ投入先管理データベースに登録すると共に、前記投入先ノードに対して前記ジョブプログラムを送信して前記ジョブプログラムを実行させるジョブ投入手段と、
    安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、前記使用ライブラリ管理データベースを参照し、前記脆弱ライブラリの識別情報に対応する前記ジョブプログラムの識別情報を取得し、前記ジョブ投入先管理データベースを参照し、取得した前記ジョブプログラムの識別情報に対応する前記投入先ノードの識別情報を取得する投入先判別手段と、
    前記投入先判別手段で取得された前記ジョブプログラムの識別情報と前記投入先ノードの識別情報とに基づいて、前記ジョブプログラムを実行するプロセスの停止を前記投入先ノードに対して指示するジョブ強制停止手段と、
    を有することを特徴とするセキュリティ管理装置。
  10. ネットワークを介して投入されたジョブのセキュリティ管理をコンピュータで行うためのセキュリティ管理方法において、
    ジョブ実行要求取得手段が、ジョブプログラムを含むジョブ実行要求の入力を受け付け、
    使用ライブラリ判断手段が、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを解析し、前記ジョブプログラム中で呼び出される前記リンクライブラリを判断し、前記ジョブプログラムの識別情報と前記リンクライブラリの識別情報との対応関係を使用ライブラリ管理データベースに登録し、
    ジョブ投入手段が、前記ジョブ実行要求取得手段で取得した前記ジョブプログラムを実行させる投入先ノードを決定し、前記投入先ノードの識別情報と前記ジョブプログラムの識別情報とを対応付けてジョブ投入先管理データベースに登録すると共に、前記投入先ノードに対して前記ジョブプログラムを送信して前記ジョブプログラムを実行させ、
    投入先判別手段が、安全上の欠陥を有する脆弱ライブラリの識別情報が入力されると、前記使用ライブラリ管理データベースを参照し、前記脆弱ライブラリの識別情報に対応する前記ジョブプログラムの識別情報を取得し、前記ジョブ投入先管理データベースを参照し、取得した前記ジョブプログラムの識別情報に対応する前記投入先ノードの識別情報を取得し、
    ジョブ強制停止手段が、前記投入先判別手段で取得された前記ジョブプログラムの識別情報と前記投入先ノードの識別情報とに基づいて、前記ジョブプログラムを実行するプロセスの停止を前記投入先ノードに対して指示する、
    ことを特徴とするセキュリティ管理方法。
JP2006065410A 2006-03-10 2006-03-10 セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法 Expired - Fee Related JP4722730B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006065410A JP4722730B2 (ja) 2006-03-10 2006-03-10 セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法
US11/452,897 US7680826B2 (en) 2006-03-10 2006-06-15 Computer-readable recording medium storing security management program, security management system, and method of security management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006065410A JP4722730B2 (ja) 2006-03-10 2006-03-10 セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法

Publications (2)

Publication Number Publication Date
JP2007241803A true JP2007241803A (ja) 2007-09-20
JP4722730B2 JP4722730B2 (ja) 2011-07-13

Family

ID=38534834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006065410A Expired - Fee Related JP4722730B2 (ja) 2006-03-10 2006-03-10 セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法

Country Status (2)

Country Link
US (1) US7680826B2 (ja)
JP (1) JP4722730B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142095A1 (ja) * 2010-05-13 2011-11-17 パナソニック株式会社 情報処理装置および情報処理方法
JP2012048342A (ja) * 2010-08-25 2012-03-08 Nec Corp ライブラリ実行管理システム、ライブラリ実行管理方法およびプログラム
US9507933B2 (en) 2012-08-01 2016-11-29 Mitsubishi Electric Corporation Program execution apparatus and program analysis apparatus
JP2020048008A (ja) * 2018-09-18 2020-03-26 株式会社東芝 情報処理システム、及び情報処理装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100870714B1 (ko) * 2008-06-19 2008-11-27 (주)휴모션 객체속성 접근엔진에 의한 실시간 유해사이트 차단방법
US9501251B1 (en) * 2015-03-31 2016-11-22 Symantec Corporation Techniques for print monitoring
US9578066B1 (en) * 2016-09-14 2017-02-21 Hytrust, Inc. Systems and method for assuring security governance in managed computer systems
US10678513B2 (en) 2017-09-12 2020-06-09 Devfactory Fz-Llc Library upgrade method, apparatus, and system
US20200074084A1 (en) * 2018-08-29 2020-03-05 Microsoft Technology Licensing, Llc Privacy-preserving component vulnerability detection and handling
US11481498B2 (en) * 2019-01-28 2022-10-25 Visa International Service Association Continuous vulnerability management for modern applications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185707A (ja) * 1997-09-04 1999-03-30 Hitachi Ltd 並列計算機におけるジョブ投入計算機の選択方法及び装置
JP2003529254A (ja) * 2000-03-27 2003-09-30 ネットワーク セキュリティー システムズ, インコーポレーテッド 遠隔装置から顧客のセキュリティを検査するためのインターネット/ネットワーク・セキュリティ方法およびシステム
JP2005167589A (ja) * 2003-12-02 2005-06-23 Internatl Business Mach Corp <Ibm> 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
JP2006518080A (ja) * 2003-02-14 2006-08-03 プリベンシス,インコーポレイティド ネットワーク監査及びポリシー保証システム
JP2007531093A (ja) * 2004-03-25 2007-11-01 インターナショナル・ビジネス・マシーンズ・コーポレーション プロキシ証明書の生成によるグリッド相互認証

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043634B2 (en) * 2001-05-15 2006-05-09 Mcafee, Inc. Detecting malicious alteration of stored computer files
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
US20040221176A1 (en) * 2003-04-29 2004-11-04 Cole Eric B. Methodology, system and computer readable medium for rating computer system vulnerabilities
US7475427B2 (en) * 2003-12-12 2009-01-06 International Business Machines Corporation Apparatus, methods and computer programs for identifying or managing vulnerabilities within a data processing network
US8561190B2 (en) * 2005-05-16 2013-10-15 Microsoft Corporation System and method of opportunistically protecting a computer from malware
US8225392B2 (en) * 2005-07-15 2012-07-17 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
US7805752B2 (en) * 2005-11-09 2010-09-28 Symantec Corporation Dynamic endpoint compliance policy configuration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185707A (ja) * 1997-09-04 1999-03-30 Hitachi Ltd 並列計算機におけるジョブ投入計算機の選択方法及び装置
JP2003529254A (ja) * 2000-03-27 2003-09-30 ネットワーク セキュリティー システムズ, インコーポレーテッド 遠隔装置から顧客のセキュリティを検査するためのインターネット/ネットワーク・セキュリティ方法およびシステム
JP2006518080A (ja) * 2003-02-14 2006-08-03 プリベンシス,インコーポレイティド ネットワーク監査及びポリシー保証システム
JP2005167589A (ja) * 2003-12-02 2005-06-23 Internatl Business Mach Corp <Ibm> 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
JP2007531093A (ja) * 2004-03-25 2007-11-01 インターナショナル・ビジネス・マシーンズ・コーポレーション プロキシ証明書の生成によるグリッド相互認証

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142095A1 (ja) * 2010-05-13 2011-11-17 パナソニック株式会社 情報処理装置および情報処理方法
US8522356B2 (en) 2010-05-13 2013-08-27 Panasonic Corporation Information processing apparatus and information processing method
JP5740573B2 (ja) * 2010-05-13 2015-06-24 パナソニックIpマネジメント株式会社 情報処理装置および情報処理方法
JP2012048342A (ja) * 2010-08-25 2012-03-08 Nec Corp ライブラリ実行管理システム、ライブラリ実行管理方法およびプログラム
US9507933B2 (en) 2012-08-01 2016-11-29 Mitsubishi Electric Corporation Program execution apparatus and program analysis apparatus
JP2020048008A (ja) * 2018-09-18 2020-03-26 株式会社東芝 情報処理システム、及び情報処理装置
JP7170477B2 (ja) 2018-09-18 2022-11-14 株式会社東芝 情報処理システム

Also Published As

Publication number Publication date
US7680826B2 (en) 2010-03-16
JP4722730B2 (ja) 2011-07-13
US20070226256A1 (en) 2007-09-27

Similar Documents

Publication Publication Date Title
JP4722730B2 (ja) セキュリティ管理プログラム、セキュリティ管理装置、およびセキュリティ管理方法
US7697520B2 (en) System for identifying the presence of Peer-to-Peer network software applications
JP4891722B2 (ja) 検疫システムおよび検疫方法
RU2444056C1 (ru) Система и способ ускорения решения проблем за счет накопления статистической информации
US6931550B2 (en) Mobile application security system and method
JP5241319B2 (ja) ネットワーク上に配置された構成要素についての情報を検出するためのパスワードを管理するコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20060248525A1 (en) System and method for detecting peer-to-peer network software
JP2004258777A (ja) セキュリティ管理装置、セキュリティ管理システム、セキュリティ管理方法、セキュリティ管理プログラム
JPH086840A (ja) サーバ回復のためのディレクトリ操作の完了を判定する機構
JP4745858B2 (ja) セキュリティ管理プログラム、およびセキュリティ管理方法
US7685174B2 (en) Automatic regeneration of computer files
JP2010524069A (ja) ファイアウォールを構成する方法、システム、およびコンピュータ・プログラム
CN103428212A (zh) 一种恶意代码检测及防御的方法
US8959182B1 (en) Systems and methods for computer data recovery and destruction
US8640209B2 (en) Authentication information change facility
JP2006040196A (ja) ソフトウェア監視システムおよび監視方法
JP2003108252A (ja) ライセンス管理方法,ライセンス管理サーバ,ライセンス管理プログラム及び記録媒体
US9552491B1 (en) Systems and methods for securing data
JP2003006027A (ja) アクセス制御ポリシーの自動設定方法およびそのシステム
JP2008226177A (ja) 分散処理プログラム、システムおよび方法
JP2007317028A (ja) 情報処理装置、データベース管理システム、情報処理装置の制御方法及びプログラム
JP4328637B2 (ja) コンピュータウィルス検疫方法
JP6911723B2 (ja) ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム
JP2009206626A (ja) 名前解決方法、dnsサーバ、クライアント端末、通信システムおよび名前解決プログラム
JP6010672B2 (ja) セキュリティ設定システム、セキュリティ設定方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110330

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: 20110405

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: 20110406

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

Free format text: PAYMENT UNTIL: 20140415

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