JP2007058862A - Method and apparatus for managing server process, and computer program (method or apparatus for managing server process in computer system) - Google Patents

Method and apparatus for managing server process, and computer program (method or apparatus for managing server process in computer system) Download PDF

Info

Publication number
JP2007058862A
JP2007058862A JP2006226045A JP2006226045A JP2007058862A JP 2007058862 A JP2007058862 A JP 2007058862A JP 2006226045 A JP2006226045 A JP 2006226045A JP 2006226045 A JP2006226045 A JP 2006226045A JP 2007058862 A JP2007058862 A JP 2007058862A
Authority
JP
Japan
Prior art keywords
machine
server
instance
period
client
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.)
Pending
Application number
JP2006226045A
Other languages
Japanese (ja)
Inventor
Ashish Garg
アシシュ・ガーゲ
Christpher Soghoian
クリストファー・ソゴイアン
Klaus Julisch
クラウス・ユーリッシュ
Axel Tanner
アクセル・タナー
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007058862A publication Critical patent/JP2007058862A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a computer system having a security means for reducing vulnerability against attacks to a computer system and preventing itself from becoming a risky computer attractive to a hacker. <P>SOLUTION: The controller 211 of a server computer 113 manages access to VM to ensure that at any given time, only one VM is active and a new client request is received. The active VM is referred to as a primary machine 203 and is only active for the switch-over period. Once this period has elapsed, the controller designates the current primary machine as a secondary machine and starts a new primary machine from the copy of software inside a master file system 213. Then, the controller routes a subsequent client request to the new primary machine. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、コンピュータ・システムでサーバ・プロセスを管理する方法または装置に関する。   The present invention relates to a method or apparatus for managing server processes in a computer system.

コンピュータ・システムに対する攻撃は、通常、2つの形態がある。第1の形態では、攻撃者が、脆弱なマシンへのアクセスを入手し、情報を盗み、その後、そのマシンを放棄する。第2の形態では、脆弱なマシンに侵入し、そのマシンに、バックドアと称する機構を置いて後にオーソライズされていないアクセスを行う。その後、危殆化されたコンピュータを使用して、サービス拒否(DOS)攻撃などのネットワーク攻撃を立ち上げるか、またはしばしばスパムと称する迷惑電子メールを送信することもある。コンピュータの許可されないユーザが、そのコンピュータのソフトウェア・システムまたはデータに対する望ましくない変更を行うこともある。   There are usually two forms of attacks on computer systems. In the first form, an attacker gains access to a vulnerable machine, steals information, and then abandons that machine. In the second form, a vulnerable machine is intruded, and a mechanism called a back door is placed on the machine to make unauthorized access later. The compromised computer may then be used to launch a network attack, such as a denial of service (DOS) attack, or to send junk email, often referred to as spam. Unauthorized users of a computer may make undesirable changes to the computer's software system or data.

高速インターネット接続へのアクセスを有する強力なサーバは、ハッカーに魅力的である。そのようなサーバは、数百万通のスパム・メッセージの送信またはDOS攻撃への参加などの攻撃に含まれる大量のデータを扱うことができる。そのような危殆化されたサーバへのアクセスは、しばしば、ハッカーの間でかなりの金額で取引される。コンピュータ・システムに対する最近のセキュリティ技法により、アクセス制御が提供され、また、許可されないユーザの挙動または疑わしいユーザの挙動を識別される等してコンピュータの使用が監視されている。それでも、上記の如く危殆化されたマシンに商業的価値があり、現在利用可能なセキュリティ手段を破り、アクセスを入手し、コンピュータ・システムのセキュリティおよび保全性を損ねる行為に拍車をかけている。   A powerful server with access to a high-speed Internet connection is attractive to hackers. Such servers can handle large amounts of data involved in attacks such as sending millions of spam messages or participating in DOS attacks. Access to such compromised servers is often traded between hackers for a significant amount. Recent security techniques for computer systems provide access control and monitor computer usage, such as identifying unauthorized or suspicious user behavior. Nonetheless, such compromised machines have commercial value, spurring actions that break the currently available security measures, gain access, and compromise the security and integrity of computer systems.

いくつかの実施形態によれば、
a)サーバ・プロセスの第1インスタンスを第1マシンで実行するステップと、
b)クライアント・プロセスからの通信を第1マシンにルーティングするステップと、
c)サーバ・プロセスの第2インスタンスを第2マシンで始動するステップと、
d)第1マシンによる第1インスタンスのある期間の実行の後に、クライアント・プロセスからの後続通信を第2マシンにルーティングするステップと
を含む、コンピュータ・システムでサーバ・プロセスを管理する方法が提供される。
According to some embodiments,
a) executing a first instance of a server process on a first machine;
b) routing communications from the client process to the first machine;
c) starting a second instance of the server process on the second machine;
d) after a period of execution of the first instance by the first machine, routing subsequent communications from the client process to the second machine, and a method of managing a server process in a computer system is provided. The

サーバ・プロセスの各インスタンスは、仮想アプリケーション・サーバによって提供されても良い。各マシンを、仮想マシンとしても良い。各マシンが、1つまたは複数の物理プロセッサを含んでも良い。ステップd)を、所定のスイッチオーバー期間が経過した時にトリガすることもできる。スイッチオーバー期間を、ランダムに決定することもできる。サーバまたは前記第1マシンおよび第2マシンを、許可されないアクティビティについて監視しても良く、ステップd)を、そのようなアクティビティの検出によってトリガしても良い。   Each instance of the server process may be provided by a virtual application server. Each machine may be a virtual machine. Each machine may include one or more physical processors. Step d) can also be triggered when a predetermined switchover period has elapsed. The switchover period can also be determined randomly. The server or the first machine and the second machine may be monitored for unauthorized activity, and step d) may be triggered by detection of such activity.

サーバ・プロセスの第3インスタンスを第3マシンで始動しても良く、第1マシンでの許可されないアクティビティの検出に要する時間によって決定される期間の後に、クライアント・プロセスからの後続通信を第3マシンに再ルーティングしても良い。ステップd)の後にサーバ・プロセスの第1インスタンスを停止しても良い。第1マシンを停止しても良い。サーバ・プロセスまたはマシンが停止された後に、それに関連するデータおよびファイルを、許可されないアクティビティを検出するために分析しても良い。   A third instance of the server process may be started on the third machine, and subsequent communication from the client process is passed to the third machine after a period determined by the time required to detect unauthorized activity on the first machine. You may reroute to. The first instance of the server process may be stopped after step d). The first machine may be stopped. After a server process or machine is stopped, its associated data and files may be analyzed to detect unauthorized activity.

ステップd)の後に、サーバ・プロセスの第1インスタンスが、処理を停止する前に既存のクライアント通信を完了することを許可しても良い。ステップd)の後に、サーバ・プロセスの第1インスタンスが、カットオフ期間の間に既存のクライアント通信の処理を継続することを許可しても良い。カットオフ期間を、事前に決定することができる。カットオフ期間の長さを、ランダムに決定しても良い。カットオフ期間を、クライアント通信の平均処理時間から導出しても良い。   After step d), the first instance of the server process may be allowed to complete existing client communication before stopping processing. After step d), the first instance of the server process may be allowed to continue processing existing client communications during the cutoff period. The cut-off period can be determined in advance. The length of the cutoff period may be determined randomly. The cut-off period may be derived from the average processing time of client communication.

他の実施形態によれば、
サーバ・プロセスの第1インスタンスを実行する第1マシンと、
クライアント・プロセスからの通信を第1マシンにルーティングするように動作可能なコントローラと、
第1インスタンスの後にサーバ・プロセスの第2インスタンスを実行する第2マシンと
を含み、コントローラが、さらに、第1マシンによる第1インスタンスのある期間の実行の後に、クライアント・プロセスからの後続通信を第2マシンにルーティングするように動作可能である
コンピュータ・システム内でサーバ・プロセスを管理する装置が提供される。
According to other embodiments,
A first machine executing a first instance of a server process;
A controller operable to route communication from the client process to the first machine;
A second machine that executes a second instance of the server process after the first instance, wherein the controller further communicates subsequent communication from the client process after a period of execution of the first instance by the first machine. An apparatus is provided for managing a server process within a computer system operable to route to a second machine.

さらなる実施形態によれば、
a)第1仮想マシン(VM)でサーバ・プログラムの第1インスタンスを動作させ、クライアント・プロセスからの通信を第1VMにルーティングするステップと、
b)第2VMでサーバ・プログラムの第2インスタンスを始動し、所定の期間の後に、クライアント・プロセスからの後続通信を第2VMに再ルーティングするステップと
を含む、サーバ・プログラムを動作させる方法が提供される。
According to a further embodiment,
a) running a first instance of a server program in a first virtual machine (VM) and routing communications from a client process to the first VM;
b) starting a second instance of the server program on the second VM and rerouting subsequent communications from the client process to the second VM after a predetermined period of time. Is done.

他の実施形態によれば、コンピュータ・システム(101)で実行される時に、サーバ・プロセスを管理する方法を実行する命令を含むコンピュータ・プログラムであって、方法が、
a)サーバ・プロセスの第1インスタンスを第1マシンで実行するステップと、
b)クライアント・プロセスからの通信を第1マシンにルーティングするステップと、
c)サーバ・プロセスの第2インスタンスを第2マシンで始動するステップと、
d)第1マシンによる第1インスタンスのある期間の実行の後に、クライアント・プロセスからの後続通信を第2マシンにルーティングするステップと
を含む、コンピュータ・プログラムが提供される。
According to another embodiment, a computer program comprising instructions for executing a method for managing a server process when executed on a computer system (101), the method comprising:
a) executing a first instance of a server process on a first machine;
b) routing communications from the client process to the first machine;
c) starting a second instance of the server process on the second machine;
d) after a period of execution of the first instance by the first machine, routing subsequent communications from the client process to the second machine.

いくつかの実施形態によれば、コンピュータ・システム(101)で実行される時に、サーバ・プログラムを動作させる方法を実行する命令を含むコンピュータ・プログラムであって、方法が、
a)第1仮想マシン(VM)でサーバ・プログラムの第1インスタンスを動作させ、クライアント・プロセスからの通信を第1VMにルーティングするステップと、
b)第2VMでサーバ・プログラムの第2インスタンスを始動し、所定の期間の後に、クライアント・プロセスからの後続通信を第2VMに再ルーティングするステップと
を含む、コンピュータ・プログラムが提供される。
According to some embodiments, a computer program comprising instructions for executing a method of operating a server program when executed on a computer system (101), the method comprising:
a) running a first instance of a server program in a first virtual machine (VM) and routing communications from a client process to the first VM;
b) starting a second instance of the server program in the second VM and rerouting subsequent communications from the client process to the second VM after a predetermined period of time.

本発明の実施形態を、例としてのみ、添付図面を参照してこれから説明する。   Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings.

図1を参照すると、コンピュータ・システム101に、広域ネットワーク(WAN)105によって1組のサーバ・コンピュータ107、109、111、および113に接続された1組のクライアント・コンピュータ103が含まれる。クライアント・コンピュータ103は、電子メール・クライアントまたはウェブ・ブラウザなど、サーバ・コンピュータによってアプリケーション・サーバ・ソフトウェアを介して供給されるデータおよびサービスへのアクセスを可能にするクライアント・ソフトウェアを実行する。各サーバ・コンピュータ107、109、111、および113は、これらのソフトウェアおよびデータへのアクセスを、許可されたユーザだけに制限するように設計されたアクセス制御ソフトウェアを実行する。各クライアント・コンピュータ103は、広域ネットワーク105を介してサーバ・コンピュータ107、109、111、および113のどれにでもアクセスすることができる。しかし、クライアント・コンピュータ103のうちのどれであっても、ハッキング技法を介してサーバ・コンピュータ107、109、111、および113のいずれかへの許可されないアクセスを得ることを試みるのに使用することができる。許可されないアクセスが成功した場合には、危殆化されたサーバ上のソフトウェアまたはデータに対する損傷、あるいはそのサーバがスパム送信またはDOS攻撃の実行などのさらなる攻撃の源として使用される可能性がある。   Referring to FIG. 1, a computer system 101 includes a set of client computers 103 connected to a set of server computers 107, 109, 111, and 113 by a wide area network (WAN) 105. The client computer 103 executes client software that allows access to data and services provided by the server computer via application server software, such as an email client or web browser. Each server computer 107, 109, 111, and 113 executes access control software designed to limit access to these software and data to only authorized users. Each client computer 103 can access any of the server computers 107, 109, 111, and 113 via the wide area network 105. However, any of the client computers 103 can be used to attempt to gain unauthorized access to any of the server computers 107, 109, 111, and 113 via hacking techniques. it can. If unauthorized access is successful, damage to the software or data on the compromised server or the server could be used as a source of further attacks, such as sending spam or performing a DOS attack.

図2を参照すると、1つのサーバ・コンピュータ113は、仮想サーバの組を提供するために仮想化ソフトウェア(virtualization software)を使用して実装されるサーバ・ソフトウェアを有する。各仮想サーバは、標準サーバ・ソフトウェアと同一の形で実行するように動作可能であるが、どの時点でも、組のうちの1つの仮想サーバだけが、アクティブであり、クライアント・コンピュータ103から新しい通信を受信する。ユーザ定義のスイッチオーバー(switch−over)期間の後に、新しい仮想サーバが、アクティブ化され、もとのアクティブ・サーバは、シャット・ダウンするように配置され、これによって、ハッカーが行った可能性のあるすべての変更が除去される。新しい仮想サーバは、もとの仮想サーバに代わって、サーバ・アプリケーションの継続的提供を可能にする。仮想サーバの寿命を制限することによって、その脆弱性およびハッカーに対する価値が減る。仮想サーバおよびその切替えは、サーバ・アプリケーションを使用するクライアント・コンピュータ103に透過的である。   Referring to FIG. 2, one server computer 113 has server software that is implemented using virtualization software to provide a set of virtual servers. Each virtual server is operable to run in the same manner as standard server software, but only one virtual server in the set is active at any point in time and new communications from the client computer 103 Receive. After a user-defined switch-over period, a new virtual server is activated and the original active server is placed to shut down, which may have been done by a hacker. All changes are removed. The new virtual server enables continuous provisioning of server applications in place of the original virtual server. By limiting the lifetime of a virtual server, its vulnerabilities and hackers are less valuable. Virtual servers and their switching are transparent to the client computer 103 that uses the server application.

サーバ・コンピュータ113は、User Mode Linux(UML)の形で仮想化ソフトウェア201を実行するハードウェア・コンポーネントを提供し、このUMLが、同一の物理ハードウェア上でオペレーティング・システムの複数の別々のインスタンスを実行する。UMLは、それぞれがサーバ・アプリケーション・ソフトウェアを実行するLinux(R)サーバの形の仮想マシン(VM)を作成し、実行するように配置される。4つのそのようなVMすなわち主マシン203と副マシン205、207、および209が図2に示されている。サーバ・コンピュータ113には、クライアント・コンピュータ103によるVMへのアクセスを制御し、スイッチオーバー期間を制御する、コントローラ211も含まれる。サーバ・コンピュータ113に、さらに、マスタ・ファイル・システム213が含まれ、このマスタ・ファイル・システム213は、Linuxオペレーティング・システムおよびサーバ・アプリケーション・ソフトウェアのバイナリを含む、VMを作成するのに必要なソフトウェアの完全なコピーを保持する。   Server computer 113 provides hardware components that execute virtualization software 201 in the form of User Mode Linux (UML), which is a plurality of separate instances of the operating system on the same physical hardware. Execute. UML is arranged to create and run virtual machines (VMs) in the form of Linux (R) servers, each running server application software. Four such VMs, a primary machine 203 and secondary machines 205, 207, and 209 are shown in FIG. The server computer 113 also includes a controller 211 that controls access to the VM by the client computer 103 and controls a switchover period. The server computer 113 further includes a master file system 213, which is necessary to create a VM that includes the Linux operating system and server application software binaries. Keep a complete copy of the software.

コントローラ211は、VMへのアクセスを管理して、どの時点においても、1つのVMだけがアクティブであり、新しいクライアント要求が受信されるようにする。アクティブVMは、主マシン203と呼ばれ、スイッチオーバー期間の間だけアクティブである。この期間が経過したならば、コントローラは、現在の主マシンを副マシンとして指定し、マスタ・ファイル・システム213内のソフトウェアのコピーから新しい主マシンを始動する。次に、コントローラは、後続のクライアント要求を新しい主マシンにルーティングする。副マシン205、207、および209は、主マシンとして指定されていた間に完了しなかった、長時間動作するクライアント要求の処理を継続するように構成される。言い換えると、これらの要求は、スイッチオーバー期間の終了時には完了していないことになる。副マシンが、その未解決のクライアント要求を完了した後、またはカットオフ期間の後に、そのマシンが、コントローラ211によって停止され、そのリソースが、解放される。カットオフ期間が、スイッチオーバー期間より長くセットされている場合に、図2に示されているように、複数の副マシンがある場合がある。カットオフ期間が、スイッチオーバー期間より短いかまたはこれと等しくセットされると、複数の副マシンが存在することはない。   The controller 211 manages access to the VM so that only one VM is active and a new client request is received at any given time. The active VM is called the main machine 203 and is active only during the switchover period. If this period has elapsed, the controller designates the current primary machine as a secondary machine and starts a new primary machine from a copy of the software in the master file system 213. The controller then routes subsequent client requests to the new primary machine. Secondary machines 205, 207, and 209 are configured to continue processing long running client requests that were not completed while designated as primary machines. In other words, these requests are not completed at the end of the switchover period. After the secondary machine completes its outstanding client request, or after a cutoff period, the machine is stopped by the controller 211 and its resources are released. When the cut-off period is set longer than the switchover period, there may be a plurality of sub machines as shown in FIG. If the cut-off period is set shorter than or equal to the switchover period, there will be no more than one submachine.

コントローラ211によって実行される処理を、これから、図3の流れ図を参照してさらに説明する。ステップ301で、コントローラ211が、マスタ・ファイル・システム213のイメージからVMを作成し、ブートする。この最初のVMは、第1マシンとも称するが、主マシンであり、コントローラは、すべてのクライアント要求をこれにルーティングする。この段階で、長時間動作するクライアント要求を処理している副VMはない。次に、処理はステップ303に移り、コントローラが、30分の所定の時間までのスイッチオーバー・タイマを始動する。   The processing performed by the controller 211 will now be further described with reference to the flowchart of FIG. In step 301, the controller 211 creates a VM from the image of the master file system 213 and boots it. This first VM, also referred to as the first machine, is the main machine and the controller routes all client requests to it. At this stage, there is no secondary VM that is processing a long-running client request. The process then moves to step 303 where the controller starts a switchover timer up to a predetermined time of 30 minutes.

スイッチオーバー期間が経過したならば、処理は、ステップ305に移り、コントローラが、副マシンとも称する追加のVMをマスタ・ファイル・システム・イメージから作成し、ブートし、すべての後続の新しいクライアント要求をそのノードにルーティングする。言い換えると、新しいVMまたは副VMが、主マシンになり、以前の主マシン(第1マシン)が、副マシンとして指定される。新しい主マシン(第1マシンの後に始動され、主マシンとして第1マシンの後釜になるので、副マシンとも称する)の処理が、ステップ303に戻り、上で説明したように継続する。新しい副マシンの処理は、ステップ307に移る。   If the switchover period has elapsed, processing moves to step 305 where the controller creates an additional VM, also referred to as a secondary machine, from the master file system image, boots, and all subsequent new client requests. Route to that node. In other words, the new VM or secondary VM becomes the primary machine, and the previous primary machine (first machine) is designated as the secondary machine. Processing of the new main machine (started after the first machine and also called the secondary machine because it becomes the back machine of the first machine as the main machine) returns to step 303 and continues as described above. The processing of the new secondary machine moves to step 307.

ステップ301および303は、サーバ・プロセスの最初のインスタンスを確立し、ステップ305および303は、サーバ・プロセスの第2のインスタンスを確立する。   Steps 301 and 303 establish the first instance of the server process, and steps 305 and 303 establish the second instance of the server process.

ステップ307で、コントローラが、新しい副ノードの、90分のカットオフ・タイマをセットする。副マシンは、長く動作するクライアントからの要求を処理する限り、またはカットオフ・タイマでセットされた期間が経過するまで、実行を継続し、処理は、ステップ309に移る。ステップ309で、コントローラが、副マシンを停止し、そのリソースをシステムに解放する。図3で処理ステップ311によって示されているように、複数の副マシンが、任意の所与の時に動作している場合がある。上で注記したように、スイッチオーバー期間およびカットオフ期間の相対的な長さが、任意の所与の時に動作している副ノードの最大個数を左右する。   In step 307, the controller sets a 90 minute cutoff timer for the new secondary node. The secondary machine continues execution as long as it processes a request from a long-running client, or until the period set by the cutoff timer elapses, and the process moves to step 309. In step 309, the controller stops the secondary machine and releases its resources to the system. As indicated by processing step 311 in FIG. 3, multiple secondary machines may be operating at any given time. As noted above, the relative lengths of the switchover period and cut-off period dictate the maximum number of secondary nodes operating at any given time.

ハッカーが、主マシンへの許可されないアクセスをどうにかして得た場合に、スイッチオーバー期間が経過したならば、コントローラ・プロセスは、主マシンを副マシンに変え、マスタ・ファイル・システム・イメージから新しい主マシンを作成する。このスイッチオーバー・ステップで作成される副マシンは、長くともカットオフ期間の間だけ動作し、その後、停止され、最終的に破棄される。この機構は、すべての損なわれたウェブ・ページ、ハッキング・ツール、バックドア、海賊ソフトウェア、またはハッカーがVMに置いた可能性がある望ましくない材料を消去する。新しい主マシンは、マスタ・ファイル・システム・イメージからブートされ、したがって危殆化されていないので、クリーンであり、使用するのに安全である。したがって、一部のハッカーにとって、常にサーバに再アクセスし、望みの形で(すなわち、すべてのバックドア、海賊ソフトウェアなどを用いて)そのサーバをセット・アップするのに必要な作業は、より価値がなくなる。VMおよびそれによるアプリケーション・プログラムの提供の切替えは、アプリケーション・プログラムのクライアントには透過的である。さらに、VMによって実行できるすべてのプログラムまたはサービスが、上で説明した技法を利用でき、攻撃された時により堅牢にされることができる。   If the hacker managed to gain unauthorized access to the primary machine and the switchover period has elapsed, the controller process turns the primary machine into a secondary machine and creates a new one from the master file system image. Create the main machine. The secondary machine created in this switchover step operates at most for the cut-off period, and then is stopped and eventually discarded. This mechanism erases all damaged web pages, hacking tools, backdoors, pirated software, or unwanted material that hackers may have placed on the VM. The new primary machine is booted from the master file system image and is therefore not compromised, so it is clean and safe to use. Thus, for some hackers, the work required to always re-access the server and set it up in the way it wants (ie with all backdoors, pirated software, etc.) is more valuable. Disappears. Switching between VMs and thereby providing application programs is transparent to application program clients. In addition, any program or service that can be executed by a VM can utilize the techniques described above and can be made more robust when attacked.

いくつかの実施形態で、フォレンシック手順が、コントローラによって停止された各副ノードのデータおよびプログラムに対して実行される。フォレンシック手順は、VMの保全性またはセキュリティの危殆化をすべて検出するように配置される。この手順の結果を使用して、検出されたすべての脆弱性を除去するためにVMのマスタ・イメージを変更することができる。フォレンシック手順は、Tripwire(商標)などの侵入検出プログラムを実行して、重要なシステム・ファイル、コンフィギュレーション・ファイル、またはアプリケーション・ファイルが変更されたかどうかを判定し、新しいアカウントが作成されたかもしくはホストベース・ファイヤウォール・ルールが変更されたかどうかをテストし、副マシンに馴染みのないファイルまたはプログラムが保管されているかどうかを判定し、あるいは副マシンについて不正なネットワーク接続が存在したかどうかを判定するためにログ・ファイルを調査することができる。   In some embodiments, a forensic procedure is performed on the data and programs of each secondary node stopped by the controller. Forensic procedures are arranged to detect any VM integrity or security compromise. The result of this procedure can be used to modify the VM's master image to remove all detected vulnerabilities. Forensic procedures run an intrusion detection program such as Tripwire ™ to determine if important system, configuration, or application files have changed, and a new account has been created or host Test whether the base firewall rules have changed, determine if files or programs that are unfamiliar to the secondary machine are stored, or determine if there is an incorrect network connection for the secondary machine You can examine the log file for

他の実施形態では、各マシンが、すべての実行されたバイナリのレジストリを保存するように配置される。これは、実行の前にすべてのバイナリのハッシュをとり、これらのハッシュを保管することによって実装される。この追加の機能性を用いると、フォレンシック手順が、許可されないバイナリ(すなわち、ハッシュがセキュリティ・ポリシによって承認されないバイナリ)が実行されたかどうかを検査することができ、これによって、マシンが危殆化されたかどうかが示される。   In other embodiments, each machine is arranged to store a registry of all executed binaries. This is implemented by taking all binary hashes and storing these hashes before execution. With this additional functionality, the forensic procedure can check whether an unauthorized binary (ie, a binary whose hash is not approved by the security policy) has been executed, thereby compromising the machine. It will be shown.

いくつかの実施形態で、危殆化が検出された場合に、フォレンシック手順は、フォレンシック証拠(すべての使用可能なログ・ファイル、コンフィギュレーション・ファイル、およびメモリ・ダンプを含む)を収集するように配置される。この証拠は、人間の専門家が、危殆化を分析し、基礎になる脆弱性に関するパッチを開発するのに使用することができる。   In some embodiments, the forensic procedure is arranged to collect forensic evidence (including all available log files, configuration files, and memory dumps) if a compromise is detected Is done. This evidence can be used by human experts to analyze compromises and develop patches for underlying vulnerabilities.

もう1つの実施形態で、フォレンシック手順が、特定のファイルまたはホストベース・ファイヤウォール・システムが悪意のある形で変更されたと判定する場合に、新しいマシンをそのような変更から保護するために、マスタ・ファイル・システム・イメージが、クリーン・コピーから更新される。そのようなステップは、自動的に実行するか、人間の介入を伴うのいずれかとすることができる。同様に、入手可能なセキュリティ・パッチを調べ、マスタ・ファイル・システム・イメージに自動的に適用するようにシステムを配置することができる。   In another embodiment, if the forensic procedure determines that a particular file or host-based firewall system has been modified in a malicious manner, to protect the new machine from such changes, the master The file system image is updated from the clean copy. Such a step can either be performed automatically or involve human intervention. Similarly, the system can be arranged to check for available security patches and automatically apply to the master file system image.

いくつかの実施形態で、コントローラまたは各VMあるいはその両方に、侵入検出システムが含まれ、侵入が検出された場合に、スイッチオーバー期間が即座に終了する。たとえば、Tripwire(商標)システムがファイルへの許可されない変更を検出した後に、スイッチオーバーをトリガすることができる。代替案では、ホストベース・ファイヤウォールが、そのファイヤウォールのファイヤウォール・ポリシに反する、新しい進行中の接続を報告した後に、スイッチオーバーをトリガすることができる。   In some embodiments, the controller and / or each VM includes an intrusion detection system and the switchover period ends immediately if an intrusion is detected. For example, a switchover can be triggered after the Tripwire ™ system detects an unauthorized change to a file. Alternatively, a host-based firewall can trigger a switchover after reporting a new ongoing connection that violates the firewall policy of that firewall.

他の実施形態で、過去の危殆化を考慮に入れるために、スイッチオーバー期間が動的にセットされる。tiが現在のスイッチオーバー期間であり、aが1より大きい定数であり、0≦tmin<tmaxであるtminおよびtmaxが、最小スイッチオーバー期間および最大スイッチオーバー期間(tmax=∞が可能である)であるものとする。次に、次のアルゴリズムに従ってti+1を計算する
IF (フォレンシック・プロセスが最後に実行された時に危殆化が検出された)
THEN ti+1 := max(ti/a,tmin);
ELSE ti+1 := min(ti*a,tmax)
In other embodiments, the switchover period is dynamically set to take into account past compromises. ti is the current switchover period, a is a constant larger than 1, and tmin and tmax where 0 ≦ tmin <tmax are the minimum switchover period and the maximum switchover period (tmax = ∞ is possible). It shall be. Next, calculate ti + 1 according to the following algorithm IF (compromised was detected when the forensic process was last run)
THEN ti + 1: = max (ti / a, tmin);
ELSE ti + 1: = min (ti * a, tmax)

さらなる実施形態では、カットオフ期間が、実行されるアプリケーション・サーバのタイプに従って変更される。たとえば、ウェブ・サーバは、ほとんどの場合に短い要求を実行し、したがって、カットオフ期間に、5分などの小さい定数値をセットすることができる。   In a further embodiment, the cutoff period is changed according to the type of application server being executed. For example, a web server can make short requests in most cases and thus set a small constant value, such as 5 minutes, in the cutoff period.

データベース・サーバおよびトランザクション処理サーバに関するものなどの他の実施形態では、要求のランタイムが、より予測困難である場合がある。したがって、カットオフ期間に、動的に、たとえば平均要求処理時間+3標準偏差をセットする。   In other embodiments, such as those related to database servers and transaction processing servers, the runtime of the request may be more difficult to predict. Therefore, for example, the average required processing time + 3 standard deviation is dynamically set in the cutoff period.

いくつかの実施形態で、複数の物理マシンまたは物理プロセッサが、コントローラまたは協力するコントローラのグループの全体的な制御の下で、サーバ・アプリケーション・プログラムの各インスタンスを実行するのに使用される。   In some embodiments, multiple physical machines or physical processors are used to execute each instance of a server application program under the overall control of a controller or group of cooperating controllers.

本発明の一部またはすべてを実施する装置を、本発明の実施形態の一部またはすべてを提供するように配置されたソフトウェアを有する汎用デバイスとすることができることを、当業者は理解するであろう。このデバイスは、単一のデバイスまたはデバイスのグループとすることができ、このソフトウェアは、単一のプログラムまたはプログラムの組とすることができる。さらに、本発明を実装するのに使用されるソフトウェアのいずれかまたはすべてを、コンピュータ・ネットワークまたは記憶デバイスなどのさまざまな伝送手段または記憶手段を介して通信することができ、その結果、ソフトウェアを1つまたは複数のデバイスにロードできるようになる。   Those skilled in the art will appreciate that an apparatus that implements some or all of the present invention can be a general purpose device having software arranged to provide some or all of the embodiments of the present invention. Let's go. The device can be a single device or a group of devices, and the software can be a single program or a set of programs. Further, any or all of the software used to implement the invention can be communicated via various transmission or storage means such as a computer network or storage device, so that the software can be Can be loaded on one or more devices.

本発明を、その実施形態の説明によって例示し、実施形態を、かなり詳細に説明したが、いかなる形であれ、添付請求項の範囲をそのような詳細に制限することは、本出願人の意図ではない。追加の利益および変更を、当業者はたやすく思い浮かべるであろう。したがって、本発明は、その最も広義の態様において、図示され説明された特定の詳細、代表的な装置および方法、ならびに例示的な例に制限されない。したがって、本出願人の全般的な発明的概念の趣旨または範囲から外れずに、そのような詳細の変更を行うことができる。   Although the invention has been illustrated by way of description of embodiments thereof and the embodiments have been described in considerable detail, it is Applicants' intention to limit the scope of the appended claims to such details in any way. is not. Additional benefits and modifications will readily occur to those skilled in the art. The invention in its broadest aspects is therefore not limited to the specific details, representative apparatus and methods, and illustrative examples shown and described. Accordingly, changes in such details may be made without departing from the spirit or scope of the applicant's general inventive concept.

コンピュータ・システムを示す概略図である。1 is a schematic diagram illustrating a computer system. 図1のコンピュータ・システム内のコンピュータのうちの1つの機能ブロックを示す概略図である。FIG. 2 is a schematic diagram illustrating a functional block of one of the computers in the computer system of FIG. 1. 図2のコンピュータで実行される処理を示す流れ図である。It is a flowchart which shows the process performed with the computer of FIG.

符号の説明Explanation of symbols

101 コンピュータ・システム
103 クライアント・コンピュータ
105 広域ネットワーク(WAN)
107 サーバ・コンピュータ
109 サーバ・コンピュータ
111 サーバ・コンピュータ
113 サーバ・コンピュータ
201 仮想化ソフトウェア
203 主マシン
205 副マシン
207 副マシン
209 副マシン
211 コントローラ
213 マスタ・ファイル・システム


101 Computer System 103 Client Computer 105 Wide Area Network (WAN)
107 Server Computer 109 Server Computer 111 Server Computer 113 Server Computer 201 Virtualization Software 203 Primary Machine 205 Secondary Machine 207 Secondary Machine 209 Secondary Machine 211 Controller 213 Master File System


Claims (19)

a)サーバ・プロセスの第1インスタンスを第1マシン(203/301)で実行する(301、303)ステップと、
b)クライアント・プロセスからの通信を前記第1マシン(203/301)にルーティングするステップと、
c)前記サーバ・プロセスの第2インスタンスを第2マシン(203/305)で始動する(305、303)ステップと、
d)前記第1マシン(203/301)による前記第1インスタンスのある期間の実行(301、303)の後に、クライアント・プロセスからの後続通信を前記第2マシン(203/305)にルーティングするステップと
を含む、コンピュータ・システム(101)でサーバ・プロセスを管理する方法。
a) executing (301, 303) the first instance of the server process on the first machine (203/301);
b) routing communications from client processes to the first machine (203/301);
c) starting (305, 303) a second instance of the server process on a second machine (203/305);
d) after subsequent execution (301, 303) of the first instance by the first machine (203/301), routing subsequent communications from the client process to the second machine (203/305) A method for managing server processes in a computer system (101), comprising:
前記サーバ・プロセスの各前記インスタンスが、仮想アプリケーション・サーバ(113)によって提供される、請求項1に記載の方法。   The method of claim 1, wherein each instance of the server process is provided by a virtual application server (113). 各前記マシンが、仮想マシンである(203/301、305)、請求項1または2のいずれかに記載の方法。   3. A method according to claim 1 or 2, wherein each said machine is a virtual machine (203/301, 305). 各前記マシンが、1つまたは複数の物理プロセッサを含む、請求項1または2のいずれかに記載の方法。   The method according to claim 1 or 2, wherein each said machine comprises one or more physical processors. ステップd)が、所定のスイッチオーバー期間が経過した時にトリガされる、請求項1ないし4のいずれかに記載の方法。   The method according to any of claims 1 to 4, wherein step d) is triggered when a predetermined switchover period has elapsed. 前記スイッチオーバー期間が、ランダムに決定される、請求項5に記載の方法。   The method of claim 5, wherein the switchover period is determined randomly. 前記サーバ(113)または前記第1マシンおよび前記第2マシン(203/301、305)が、許可されないアクティビティについて監視され、ステップd)が、そのようなアクティビティの検出によってトリガされる、請求項1ないし6のいずれかに記載の方法。   The server (113) or the first machine and the second machine (203/301, 305) are monitored for unauthorized activity and step d) is triggered by detection of such activity. 7. The method according to any one of 6 to 6. c)前記サーバ・プロセスの第3インスタンスを第3マシンで始動するステップと、
d)前記第1マシンでの許可されないアクティビティの前記検出に要する時間によって決定される期間の後に、クライアント・プロセスからの後続通信を前記第3マシンに再ルーティングするステップと
をさらに含む、請求項7に記載の方法。
c) starting a third instance of the server process on a third machine;
d) rerouting subsequent communications from a client process to the third machine after a period determined by the time required for the detection of unauthorized activity on the first machine. The method described in 1.
ステップd)の後に前記サーバ・プロセスの前記第1インスタンスを停止する(301、303)ステップ
をさらに含む、請求項1ないし8のいずれかに記載の方法。
The method according to any of the preceding claims, further comprising the step of (301, 303) stopping the first instance of the server process after step d).
前記第1マシン(203/301)も停止される、請求項9に記載の方法。   Method according to claim 9, wherein the first machine (203/301) is also stopped. サーバ・プロセスまたはマシンが停止された後に、それに関連するデータおよびファイルが、許可されないアクティビティを検出するために分析される、請求項9または10のいずれかに記載の方法。   11. A method according to any of claims 9 or 10, wherein after a server process or machine is stopped, its associated data and files are analyzed to detect unauthorized activity. ステップd)の後に、前記サーバ・プロセスの前記第1インスタンス(301、303、307、309)が、処理を停止する前に既存のクライアント通信を完了することを許可される、請求項1ないし11のいずれかに記載の方法。   12. After step d), the first instance (301, 303, 307, 309) of the server process is allowed to complete an existing client communication before stopping processing. The method in any one of. ステップd)の後に、前記サーバ・プロセスの前記第1インスタンス(301、303、307、309)が、カットオフ期間の間に既存のクライアント通信の処理を継続することを許可される、請求項1ないし12のいずれかに記載の方法。   2. After step d), the first instance (301, 303, 307, 309) of the server process is allowed to continue processing existing client communications during the cutoff period. The method in any one of thru | or 12. 前記カットオフ期間が、事前に決定される、請求項13に記載の方法。   The method of claim 13, wherein the cutoff period is predetermined. 前記カットオフ期間の長さが、ランダムに決定される、請求項13に記載の方法。   The method of claim 13, wherein a length of the cutoff period is determined randomly. 前記カットオフ期間が、クライアント通信の平均処理時間から導出される、請求項13に記載の方法。   The method of claim 13, wherein the cutoff period is derived from an average processing time for client communications. a)第1仮想マシン(VM)(203/301)でサーバ・プログラムの第1インスタンスを動作させ(301、303)、クライアント・プロセスからの通信を前記第1VM(203/301)にルーティングするステップと、
b)第2VM(203/305)で前記サーバ・プログラムの第2インスタンスを始動し(305、303)、所定の期間の後に、クライアント・プロセスからの後続通信を前記第2VM(203/305)に再ルーティングするステップと
を含む、サーバ・プログラムを動作させる方法。
a) Operating a first instance of a server program on a first virtual machine (VM) (203/301) (301, 303) and routing communication from a client process to the first VM (203/301) When,
b) Start a second instance of the server program on a second VM (203/305) (305, 303), and after a predetermined period of time, subsequent communication from a client process to the second VM (203/305) A method of operating a server program, comprising rerouting.
サーバ・プロセスの第1インスタンスを実行する(301、303)第1マシン(203/301)と、
クライアント・プロセスからの通信を前記第1マシン(203/301)にルーティングするように動作可能なコントローラ(211)と、
前記第1インスタンス(301、303)の後に前記サーバ・プロセスの第2インスタンスを実行する(305、303)第2マシン(203/305)と
を含み、前記コントローラ(211)が、さらに、前記第1マシン(203/301)による前記第1インスタンスのある期間の実行(301、303)の後に、クライアント・プロセスからの後続通信を前記第2マシン(203/305)にルーティングするように動作可能である
コンピュータ・システム(101)内でサーバ・プロセスを管理する装置。
Executing a first instance of a server process (301, 303); a first machine (203/301);
A controller (211) operable to route communication from a client process to the first machine (203/301);
A second machine (203/305) that executes (305, 303) a second instance of the server process after the first instance (301, 303), the controller (211) further comprising After a period of execution (301, 303) of the first instance by one machine (203/301), it is operable to route subsequent communications from the client process to the second machine (203/305). An apparatus for managing server processes in a computer system (101).
コンピュータ・システム(101)で実行される時に、請求項1ないし17のいずれか一項に記載の方法を実行する命令を含むコンピュータ・プログラム。   Computer program comprising instructions for performing the method according to any of the preceding claims when executed on a computer system (101).
JP2006226045A 2005-08-25 2006-08-23 Method and apparatus for managing server process, and computer program (method or apparatus for managing server process in computer system) Pending JP2007058862A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP05405493 2005-08-25

Publications (1)

Publication Number Publication Date
JP2007058862A true JP2007058862A (en) 2007-03-08

Family

ID=37779048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006226045A Pending JP2007058862A (en) 2005-08-25 2006-08-23 Method and apparatus for managing server process, and computer program (method or apparatus for managing server process in computer system)

Country Status (2)

Country Link
JP (1) JP2007058862A (en)
CN (1) CN1921474A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015109070A (en) * 2013-10-22 2015-06-11 キヤノン電子株式会社 Web system, server switching device, server switching method, and program
JP2019519056A (en) * 2016-06-16 2019-07-04 ヴァーセック システムズ,インコーポレイテッド System and method for repairing memory corruption in computer applications

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110012038A (en) * 2019-05-29 2019-07-12 中国人民解放军战略支援部队信息工程大学 A kind of network attack defence method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015109070A (en) * 2013-10-22 2015-06-11 キヤノン電子株式会社 Web system, server switching device, server switching method, and program
JP2019519056A (en) * 2016-06-16 2019-07-04 ヴァーセック システムズ,インコーポレイテッド System and method for repairing memory corruption in computer applications

Also Published As

Publication number Publication date
CN1921474A (en) 2007-02-28

Similar Documents

Publication Publication Date Title
US11379582B2 (en) Methods and apparatus for malware threat research
CA3006003C (en) Dual memory introspection for securing multiple network endpoints
US10956184B2 (en) On-demand disposable virtual work system
JP6949951B2 (en) Systems and methods for repairing memory corruption in computer applications
US8474032B2 (en) Firewall+ storage apparatus, method and system
Kovah et al. New results for timing-based attestation
US9413742B2 (en) Systems, methods and apparatus to apply permissions to applications
RU2568295C2 (en) System and method for temporary protection of operating system of hardware and software from vulnerable applications
JP6055574B2 (en) Context-based switching to a secure operating system environment
JP2006146891A (en) Method and system for distributing security policy
JP2017508220A (en) Guaranteed integrity and rebootless updates during runtime
WO2014031100A1 (en) Detection and mitigation of side-channel attacks
US20160269443A1 (en) Exploit detection based on heap spray detection
US20180026986A1 (en) Data loss prevention system and data loss prevention method
US20110214186A1 (en) Trusted operating environment for malware detection
JP6403803B2 (en) Routing method for transferring task instructions between computer systems, computer network infrastructure, and computer program
CN110505246B (en) Client network communication detection method, device and storage medium
EP1758021A2 (en) Method or apparatus for managing a server process in a computer system
JP2007058862A (en) Method and apparatus for managing server process, and computer program (method or apparatus for managing server process in computer system)
Kaur et al. An empirical analysis of crypto-ransomware behavior
Kumar et al. Debugging using MD5 process firewall
US11240268B1 (en) Dynamic honeypots for computer program execution environments
RU2583709C2 (en) System and method for elimination of consequences of infection of virtual machines
Ginter An analysis of Whitelisting security solutions and their applicability in control systems
JP2015082191A (en) Information processing device and information processing method