用于在计算机系统中管理服务器处理的方法和设备的制作方法

文档序号:7966264
专利名称:用于在计算机系统中管理服务器处理的方法和设备的制作方法
技术领域
本发明涉及用于在计算机系统中管理服务器处理的方法和设备。
背景技术
对计算机系统的攻击通常分为两种。在第一种情况中,攻击者获得对易受攻击的机器的访问,窃取信息然后放弃机器。第二种包含了侵占易受攻击的机器并在机器中放置称为后门的机制来提供进一步的非授权访问。然后,可以将泄密(compromised)计算机用于发动诸如拒绝服务(DOS)攻击之类的网络攻击,或者发送经常称为垃圾邮件的主动电子邮件。计算机的非授权用户还可以对计算机上的软件系统或数据做出不希望的修改。
具有对高速因特网连接的访问的高功能服务器正在吸引黑客的注意。这样的服务器能够应付诸如发送数百万个垃圾消息或参加DOS攻击之类的攻击所包含的数据量。经常在黑客间因为大量金钱而交易对这种泄密服务器的访问。用于计算机系统的当前的安全技术提供访问控制,并且还监视计算机的尝试性使用,以识别非授权或可疑的用户行为。然而,泄密机器的商业价值怂恿克服现有安全措施、获得访问和损害计算机系统的安全和完整的各种尝试。

发明内容
根据一些实施例,提供一种用于管理计算机系统中的服务器处理的方法,该方法包括步骤a)在第一机器上运行服务器处理的第一实例;b)路由从客户端处理到第一机器的通信;c)在第二机器上开始服务器处理的第二实例;和d)在由第一机器运行第一实例的周期后路由从客户端处理到第二机器的后续通信。
可以由虚拟应用程序服务器提供服务器处理的每个实例。
每个机器可以是虚拟机。每个机器可以包括一个或多个物理处理器。当预定的切换周期过去时可以触发步骤d)。可以随机地确定切换周期。可以监视服务器或所述第一和第二机器的非授权活动,并且可以通过检测到任何这样的活动来触发步骤d)。
可以在第三机器上开始服务器处理的第三实例,并且在由检测第一机器上的非授权活动所占用的时间所确定的周期后,重新路由从客户端处理到第三机器的后续通信。在步骤d)之后可以停止服务器处理的第一实例。还可以停止第一机器。一旦停止服务器处理或机器,可以分析其相关的数据和文件来检测非授权的活动。
在步骤d)后,可以允许服务器处理的第一实例来完成在停止处理之前存在的客户端通信。在步骤d)之后,可以允许服务器处理的第一实例来在切断周期内继续处理现存的客户端通信。可以预定切断周期。可以随机地确定切断周期的长度。可以从客户端通信的平均处理时间获得切断周期。
根据本发明的其它实施例,提供一种用于管理计算机系统中的服务器处理的设备,该设备包括第一机器,用于运行服务器处理的第一实例;控制器,操作来路由从客户端处理到第一机器的通信;第二机器,用于运行第一实例后的服务器处理的第二实例;和控制器还操作来在由第一机器运行第一实例的周期后路由从客户端处理到第二机器的后续通信。
根据进一步的实施例,提供一种运行服务器程序的方法,该方法包括步骤a)在第一虚拟机(VM)上运行服务器程序的第一实例,并且路由从客户端处理到第一VM的通信;和b)在第二VM上开始服务器程序的第二实例,并且在预定的周期后重新路由从客户端处理到第二VM的后续通信。
根据其它实施例,提供包含指令的计算机程序,当在计算机系统(101)上执行所述计算机程序时,所述指令执行用于管理服务器处理的方法,该方法包括步骤a)在第一机器上运行服务器处理的第一实例;b)路由从客户端处理到第一机器的通信;
c)在第二机器上开始服务器处理的第二实例;和d)在由第一机器运行第一实例的周期后路由从客户端处理到第二机器的后续通信。
根据一些实施例,提供包含指令的计算机程序,当在计算机系统(101)上执行所述计算机程序时,所述指令执行运行服务器程序的方法,该方法包括步骤a)在第一虚拟机(VM)上运行服务器程序的第一实例,并且路由从客户端处理到第一VM的通信;和b)在第二VM上开始服务器程序的第二实例,并且在预定的周期后重新路由从客户端处理到第二VM的后续通信。


将参照附图通过示例的方式描述本发明的实施例,其中图1是计算机系统示意图;图2是图1的计算机系统中的计算机之一的功能块的示意图;和图3是图2的计算机中执行的处理的流程图。
具体实施例方式
参照图1,计算机系统101包括由广域网(WAN)105连接到一组服务器计算机107、109、111、113的一组客户端计算机103。客户端计算机103运行诸如电子邮件客户端或网络浏览器之类的客户端软件,客户端软件能够访问服务器计算机经由应用服务器软件提供的数据和服务。每个服务器计算机107、109、111、113运行设计来将对它们的软件和数据的访问仅限制到授权的用户的访问控制软件。每个客户端计算机103可以经由网络105访问服务器计算机107、109、111、113中的任意一个。然而,客户端计算机103中的任意一个可以用于经由黑客技术尝试获得对服务器计算机107、109、111、113中的任意一个的非授权访问。任何成功的非授权访问可能导致对泄密服务器或正在用作诸如发送垃圾邮件或执行DOS攻击之类的、进一步攻击的源的服务器上的软件或数据进行破坏。
参照图2,服务器计算机113之一具有使用虚拟化软件实现以便提供一组虚拟服务器的服务器软件。每个虚拟服务器操作来以与标准服务器软件相同的方式执行,但是在任意时间点,在该组中只有一个虚拟服务器是激活的,并且从客户端计算机103接收新的通信。在用户定义的切换周期后,激活新的虚拟服务器,并且将现在为旧的、激活的服务器安排为关闭,由此消除黑客可能做出的任何修改。新的虚拟服务器替代旧的虚拟服务器来进行服务器应用的继续提供。通过限制虚拟服务器的寿命,对于黑客来说它们的易受攻击性和价值降低。虚拟服务器和它们的切换对使用服务器应用的客户端103是透明的。
服务器计算机113提供以用户模式Linux(UML)的形式运行虚拟化软件201的硬件部件,其中用户模式Linux在同一物理硬件上运行多个分立的操作系统的实例。UML被安排来以每一个都执行服务器应用软件的Linux服务器的形式产生并运行虚拟服务器(VM)。在图2中示出四个这样的VM 203、205、207、209。服务器113还包括控制器211,它支配由客户端计算机103对VM的访问,并且控制切换周期。服务器113还包括保持产生VM所需的软件的完整副本的主文件系统213,包括Linux操作系统和服务器应用软件的二进制码。
控制器211管理对VM的访问来确保在任意给定的时间,只有一个VM是激活的,并且接收新的客户端请求。激活的VM称为主机203,并且仅在切换周期内是激活的。一旦该周期过去,控制器将当前主机指定为副机,并且从主文件系统213中的该软件副本启动新主机。然后控制器将后续的客户端请求路由到新的主机。副机205、207、209被安排来继续处理在被指定为主机时还没有完成的运行时间长的客户端请求。换句话说,在切换周期结束时还没有完成请求。一旦副机已经完成了其未完成的客户端请求或在切断周期后,由控制器211停止机器,并且释放其资源。如果将切断周期设置为长于切换周期,则如图2所示可以有多个副机。如果将切断周期设置为短于或等于切换周期,则不会存在多于一个的副机。
将进一步参照图3的流程图描述由控制器211执行的处理。在步骤301,控制器211从主文件系统213产生并启动VM。该第一VM(还称为第一机器)是主机,并且控制器将所有客户端请求路由到它。在该阶段,没有副VM处理运行时间长的客户端请求。然后处理移至步骤303,其中控制器将切换计时器启动为30分钟的预定时间。
一旦切换时间过去,处理移至步骤305,在其中控制器从主文件系统产生并启动额外的、还称为第二机器的VM,并且将所有后续的新客户端请求路由到该节点。换句话说,新的或第二VM称为主机,并且先前的主机(第一机器)被指定为副机。然后新主机(由于它在第一机器后启动,并且接替第一机器作为主机,因此还称为第二机器)的处理返回到步骤303并继续上述步骤。然后新副机的处理移至步骤307。
步骤301和303建立服务器处理的第一实例,并且步骤305和303建立服务器处理的第二实例。
在步骤307,控制器将新的副节点的切断定时器设置为90分钟。只要它处理来自运行时间长的客户的请求,或者直到切断定时器中设置的周期过去之前,副机继续运行,并且处理前进到步骤309。在步骤309,控制器停止第二机器并将其资源释放回系统。如图3中的处理步骤311所示,可以在任意给定时间运行多个副机。如上所述,切换和切断周期的相对长度支配在任意给定时间运行的副机的最大数量。
如果黑客设法获得对主机的非授权访问,则一旦切换周期过去,控制器处理将主机转为副机,并且从主文件系统产生新的主机。在该切换步骤中产生的副机至多在切断周期中运行,然后停止并最终被摧毁。该机制(mechanism)消除黑客可能已经放在VM上的任何损坏的网页、黑客工具、后门、盗版软件或不期望的材料。由于从主文件系统启动新的主机,因此新的主机是干净的和安全的,所以不会泄密。因此,对于某些黑客,经常地重新访问服务器和以期望方式(即,使用所有后门,盗版软件等)建立访问所需的工作将变得不值得。VM的切换和它们的应用程序的提供对于应用程序的客户端来说是透明的。此外,可以由VM运行的任意程序或服务可以利用上述的技术,并且当受到攻击时更加坚固。
在一些实施例中,对已经由控制器停止的每个副节点的数据和程序执行辩论(forensics)过程。安排辩论过程来检测VM的完整性和安全的任何侵害。该过程的结果可以用于修改VM的主映象,以便移除任何检测到的易受攻击性。辩论过程可以运行入侵检测程序(诸如TripwireTM)来检测密钥系统、配置或应用文件是否已经被修改;测试是否已经产生了新帐户或是否已经修改了基于主机的防火墙规则;确定副机是否存储不熟悉的文件或程序;或调查日志文件来确定对于第二机器是否存在非法网络连接。
在其它实施例中,每个机器被安排来保存所有执行的二进制码的注册。这通过在执行它们之前散列(hash)所有的二进制码并存储这些散列码来实现。使用该附加的功能,辩论过程可以检查是否已经执行了指示机器已经被侵害的非授权二进制码(即,其散列码不被安全策略承认的二进制码)。
在一些实施例中,如果已经检测到侵害,则安排辩论过程来收集辩论证据(包括所有可用的日志文件、配置文件和存储器转储(dump))。可以由人类专家使用该证据来分析侵害并开发用于该潜在的易受攻击性的补丁。
在另一实施例中,如果辩论过程确定已经被以恶意方式修改了特定文件或基于主机的防火墙系统,则从干净的副本更新主文件系统以便保护不会对新机器进行这样的修改。可以自动执行这样的步骤,或者人也可以进行干预。相同地,可以安排系统来检查可用的安全补丁,并且自动地将它们应用到主文件系统。
在一些实施例中,控制器和/或每个VM包括入侵检测系统,并且如果检测到入侵则立即终止切换周期。例如可以在TripwireTM系统已经检测到对文件的非授权修改之后触发切换。另外,可以在基于主机的防火墙报告与防火墙的防火墙策略相悖的新输出连接之后触发切换。
在其它实施例中,在考虑过去的泄密的情况下动态地设置切换周期。设ti为当前切换周期,设a为大于1的常数,tmin和tmax(0≤tmin<tmax)为最小和最大切换周期(tmax=∞是可能的)。则根据下面的算法计算ti+1IF(上次辩论处理运行时检测到侵害)Then ti+1=max(ti/a,tmin);Else ti+1=min(ti*a,tmax)。
在进一步的实施例中,根据正在运行的应用服务器的类型改变切断周期。例如,网络服务器大多数运行短请求,因此可以将切断周期设置为诸如5分钟之类的小常数值。
在其它的实施例中,诸如那些用于数据库和交易处理的服务器中,请求的运行时间可能不好预测。因此动态地设置切断时间,例如设置到平均请求处理时间+三个标准偏差。
在一些实施例中,在控制器或合作控制器组的整体控制下,多个物理机器或处理器用于运行服务器应用程序的每个实例。
本领域技术人员将理解的是实施本发明的一部分或全体的设置可以是具有安排来提供本发明实施例的一部分或全体的软件的通用目的装置。该装置可以是单一的装置或装置组,并且软件可以是单一的程序或程序组。此外,用于实现本发明的任意或所有软件可以经由诸如计算机网络或存储装置之类的各种发送或存储装置进行通信,使得可以将软件装载到一个或多个装置。
虽然已经通过本发明实施例的描述说明了本发明,并且非常详细地描述的实施例,但是不应将申请人的发明或所附权利要求限制到该细节。本领域技术人员可以很容易做出额外的优点和修改。因此,本发明在其更广的方面不限于代表设备和方法以及所示和描述的示例性实例的特定细节。因此,可以背离该细节但是不背离申请人的总体发明构思的宗旨和范围。
权利要求
1.一种用于管理计算机系统(101)中的服务器处理的方法,所述方法包括步骤a)在第一机器(203/301)上运行服务器处理的第一实例(301,303);b)路由从所述客户端处理到所述第一机器(203/301)的通信;c)在第二机器(203/305)上开始所述服务器处理的第二实例(305,303);和d)在由所述第一机器(203/301)运行所述第一实例(301,303)的周期后路由从客户端处理到所述第二机器(203/305)的后续通信。
2.如权利要求1所述的方法,其中由虚拟应用程序服务器(113)提供所述服务器处理的每个所述实例。
3.如前面任意一个权利要求所述的方法,其中每个所述机器是虚拟机(203/301,305)。
4.如权利要求1或2所述的方法,其中每个所述机器包括一个或多个物理处理器。
5.如前面任意一个权利要求所述的方法,其中当预定的切换周期过去时触发步骤d)。
6.如权利要求5所述的方法,其中随机地确定所述切换周期。
7.如前面任意一个权利要求所述的方法,其中监视所述服务器(113)或所述第一和第二机器(203/301,305)的非授权活动,并且通过检测到任何这样的活动来触发步骤d)。
8.如权利要求7所述的方法,还包括步骤c)在第三机器上开始所述服务器处理的第三实例;和d)在由所述检测到所述第一机器上的非授权活动所占用的时间所确定的周期后,重新路由从客户端处理到所述第三机器的后续通信。
9.如前面任意一个权利要求所述的方法,还包括在步骤d)之后停止所述服务器处理的所述第一实例(301,303)。
10.如权利要求9所述的方法,其中还停止所述第一机器(203/301)。
11.如权利要求9到10中任意一个所述的方法,其中一旦停止服务器处理或机器,则分析其相关数据和文件来检测非授权的活动。
12.如前面任意一个权利要求所述的方法,其中在步骤d)后,允许所述服务器处理的所述第一实例(301、303、307、309)来在完成终止处理之前存在的客户端通信。
13.如前面任意一个权利要求所述的方法,其中在步骤d)之后,允许所述服务器处理的所述第一实例(301、303、307、309)来在切断周期内继续处理现存的客户端通信。
14.如权利要求13所述的方法,其中预定所述切断周期。
15.如权利要求13所述的方法,其中随机地确定所述切断周期的长度。
16.如权利要求13所述的方法,其中从客户端通信的平均处理时间获得切断周期。
17.一种运行服务器程序的方法,所述方法包括步骤a)在第一虚拟机(VM)(203/301)上运行服务器程序的第一实例(301,303),并且路由从客户端处理到所述第一VM(203/301)的通信;和b)在第二VM(203/305)上开始所述服务器处理的第二实例(305,303),并且在预定的周期后重新路由从客户端处理到所述第二VM(203/305)的后续通信。
18.一种用于管理计算机系统(101)中的服务器处理的设备,该设备包括第一机器(203/301),用于运行服务器处理的第一实例(301,303);控制器(211),操作来路由从客户端处理到所述第一机器(203/301)的通信;和第二机器(203/305),用于运行所述第一实例后(301,303)的所述服务器处理的第二实例(305,303),其中所述控制器还操作来在由所述第一机器(203/301)运行所述第一实例(301,303)的周期后路由从客户端处理到所述第二机器(203/305)的后续通信。
19.一种包括指令的计算机程序,当在计算机系统(101)上执行所述计算机程序时,所述指令执行根据权利要求1到17中的任意一个的方法。
全文摘要
公开了用于运行服务器程序的方法和设备,其中在第一机器(203/301)上运行服务器处理的第一实例(301,303),并且路由从客户端处理到该第一机器(203/301)的通信,然后在第二机器(203/305)上开始服务器处理的第二实例(305,303),并且在预定周期后重新路由从客户端处理到第二机器(203/305)的通信。
文档编号H04L12/24GK1921474SQ20061011076
公开日2007年2月28日 申请日期2006年8月11日 优先权日2005年8月25日
发明者阿西什·加格, 克里斯托弗·索格霍伊安, 克劳斯·朱利施, 艾克塞尔·坦纳 申请人:国际商业机器公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1