專利名稱:用于在計算機(jī)系統(tǒng)中管理服務(wù)器處理的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于在計算機(jī)系統(tǒng)中管理服務(wù)器處理的方法和設(shè)備。
背景技術(shù):
對計算機(jī)系統(tǒng)的攻擊通常分為兩種。在第一種情況中,攻擊者獲得對易受攻擊的機(jī)器的訪問,竊取信息然后放棄機(jī)器。第二種包含了侵占易受攻擊的機(jī)器并在機(jī)器中放置稱為后門的機(jī)制來提供進(jìn)一步的非授權(quán)訪問。然后,可以將泄密(compromised)計算機(jī)用于發(fā)動諸如拒絕服務(wù)(DOS)攻擊之類的網(wǎng)絡(luò)攻擊,或者發(fā)送經(jīng)常稱為垃圾郵件的主動電子郵件。計算機(jī)的非授權(quán)用戶還可以對計算機(jī)上的軟件系統(tǒng)或數(shù)據(jù)做出不希望的修改。
具有對高速因特網(wǎng)連接的訪問的高功能服務(wù)器正在吸引黑客的注意。這樣的服務(wù)器能夠應(yīng)付諸如發(fā)送數(shù)百萬個垃圾消息或參加DOS攻擊之類的攻擊所包含的數(shù)據(jù)量。經(jīng)常在黑客間因為大量金錢而交易對這種泄密服務(wù)器的訪問。用于計算機(jī)系統(tǒng)的當(dāng)前的安全技術(shù)提供訪問控制,并且還監(jiān)視計算機(jī)的嘗試性使用,以識別非授權(quán)或可疑的用戶行為。然而,泄密機(jī)器的商業(yè)價值慫恿克服現(xiàn)有安全措施、獲得訪問和損害計算機(jī)系統(tǒng)的安全和完整的各種嘗試。
發(fā)明內(nèi)容
根據(jù)一些實施例,提供一種用于管理計算機(jī)系統(tǒng)中的服務(wù)器處理的方法,該方法包括步驟a)在第一機(jī)器上運(yùn)行服務(wù)器處理的第一實例;b)路由從客戶端處理到第一機(jī)器的通信;c)在第二機(jī)器上開始服務(wù)器處理的第二實例;和d)在由第一機(jī)器運(yùn)行第一實例的周期后路由從客戶端處理到第二機(jī)器的后續(xù)通信。
可以由虛擬應(yīng)用程序服務(wù)器提供服務(wù)器處理的每個實例。
每個機(jī)器可以是虛擬機(jī)。每個機(jī)器可以包括一個或多個物理處理器。當(dāng)預(yù)定的切換周期過去時可以觸發(fā)步驟d)??梢噪S機(jī)地確定切換周期??梢员O(jiān)視服務(wù)器或所述第一和第二機(jī)器的非授權(quán)活動,并且可以通過檢測到任何這樣的活動來觸發(fā)步驟d)。
可以在第三機(jī)器上開始服務(wù)器處理的第三實例,并且在由檢測第一機(jī)器上的非授權(quán)活動所占用的時間所確定的周期后,重新路由從客戶端處理到第三機(jī)器的后續(xù)通信。在步驟d)之后可以停止服務(wù)器處理的第一實例。還可以停止第一機(jī)器。一旦停止服務(wù)器處理或機(jī)器,可以分析其相關(guān)的數(shù)據(jù)和文件來檢測非授權(quán)的活動。
在步驟d)后,可以允許服務(wù)器處理的第一實例來完成在停止處理之前存在的客戶端通信。在步驟d)之后,可以允許服務(wù)器處理的第一實例來在切斷周期內(nèi)繼續(xù)處理現(xiàn)存的客戶端通信??梢灶A(yù)定切斷周期??梢噪S機(jī)地確定切斷周期的長度。可以從客戶端通信的平均處理時間獲得切斷周期。
根據(jù)本發(fā)明的其它實施例,提供一種用于管理計算機(jī)系統(tǒng)中的服務(wù)器處理的設(shè)備,該設(shè)備包括第一機(jī)器,用于運(yùn)行服務(wù)器處理的第一實例;控制器,操作來路由從客戶端處理到第一機(jī)器的通信;第二機(jī)器,用于運(yùn)行第一實例后的服務(wù)器處理的第二實例;和控制器還操作來在由第一機(jī)器運(yùn)行第一實例的周期后路由從客戶端處理到第二機(jī)器的后續(xù)通信。
根據(jù)進(jìn)一步的實施例,提供一種運(yùn)行服務(wù)器程序的方法,該方法包括步驟a)在第一虛擬機(jī)(VM)上運(yùn)行服務(wù)器程序的第一實例,并且路由從客戶端處理到第一VM的通信;和b)在第二VM上開始服務(wù)器程序的第二實例,并且在預(yù)定的周期后重新路由從客戶端處理到第二VM的后續(xù)通信。
根據(jù)其它實施例,提供包含指令的計算機(jī)程序,當(dāng)在計算機(jī)系統(tǒng)(101)上執(zhí)行所述計算機(jī)程序時,所述指令執(zhí)行用于管理服務(wù)器處理的方法,該方法包括步驟a)在第一機(jī)器上運(yùn)行服務(wù)器處理的第一實例;b)路由從客戶端處理到第一機(jī)器的通信;
c)在第二機(jī)器上開始服務(wù)器處理的第二實例;和d)在由第一機(jī)器運(yùn)行第一實例的周期后路由從客戶端處理到第二機(jī)器的后續(xù)通信。
根據(jù)一些實施例,提供包含指令的計算機(jī)程序,當(dāng)在計算機(jī)系統(tǒng)(101)上執(zhí)行所述計算機(jī)程序時,所述指令執(zhí)行運(yùn)行服務(wù)器程序的方法,該方法包括步驟a)在第一虛擬機(jī)(VM)上運(yùn)行服務(wù)器程序的第一實例,并且路由從客戶端處理到第一VM的通信;和b)在第二VM上開始服務(wù)器程序的第二實例,并且在預(yù)定的周期后重新路由從客戶端處理到第二VM的后續(xù)通信。
將參照附圖通過示例的方式描述本發(fā)明的實施例,其中圖1是計算機(jī)系統(tǒng)示意圖;圖2是圖1的計算機(jī)系統(tǒng)中的計算機(jī)之一的功能塊的示意圖;和圖3是圖2的計算機(jī)中執(zhí)行的處理的流程圖。
具體實施例方式
參照圖1,計算機(jī)系統(tǒng)101包括由廣域網(wǎng)(WAN)105連接到一組服務(wù)器計算機(jī)107、109、111、113的一組客戶端計算機(jī)103??蛻舳擞嬎銠C(jī)103運(yùn)行諸如電子郵件客戶端或網(wǎng)絡(luò)瀏覽器之類的客戶端軟件,客戶端軟件能夠訪問服務(wù)器計算機(jī)經(jīng)由應(yīng)用服務(wù)器軟件提供的數(shù)據(jù)和服務(wù)。每個服務(wù)器計算機(jī)107、109、111、113運(yùn)行設(shè)計來將對它們的軟件和數(shù)據(jù)的訪問僅限制到授權(quán)的用戶的訪問控制軟件。每個客戶端計算機(jī)103可以經(jīng)由網(wǎng)絡(luò)105訪問服務(wù)器計算機(jī)107、109、111、113中的任意一個。然而,客戶端計算機(jī)103中的任意一個可以用于經(jīng)由黑客技術(shù)嘗試獲得對服務(wù)器計算機(jī)107、109、111、113中的任意一個的非授權(quán)訪問。任何成功的非授權(quán)訪問可能導(dǎo)致對泄密服務(wù)器或正在用作諸如發(fā)送垃圾郵件或執(zhí)行DOS攻擊之類的、進(jìn)一步攻擊的源的服務(wù)器上的軟件或數(shù)據(jù)進(jìn)行破壞。
參照圖2,服務(wù)器計算機(jī)113之一具有使用虛擬化軟件實現(xiàn)以便提供一組虛擬服務(wù)器的服務(wù)器軟件。每個虛擬服務(wù)器操作來以與標(biāo)準(zhǔn)服務(wù)器軟件相同的方式執(zhí)行,但是在任意時間點,在該組中只有一個虛擬服務(wù)器是激活的,并且從客戶端計算機(jī)103接收新的通信。在用戶定義的切換周期后,激活新的虛擬服務(wù)器,并且將現(xiàn)在為舊的、激活的服務(wù)器安排為關(guān)閉,由此消除黑客可能做出的任何修改。新的虛擬服務(wù)器替代舊的虛擬服務(wù)器來進(jìn)行服務(wù)器應(yīng)用的繼續(xù)提供。通過限制虛擬服務(wù)器的壽命,對于黑客來說它們的易受攻擊性和價值降低。虛擬服務(wù)器和它們的切換對使用服務(wù)器應(yīng)用的客戶端103是透明的。
服務(wù)器計算機(jī)113提供以用戶模式Linux(UML)的形式運(yùn)行虛擬化軟件201的硬件部件,其中用戶模式Linux在同一物理硬件上運(yùn)行多個分立的操作系統(tǒng)的實例。UML被安排來以每一個都執(zhí)行服務(wù)器應(yīng)用軟件的Linux服務(wù)器的形式產(chǎn)生并運(yùn)行虛擬服務(wù)器(VM)。在圖2中示出四個這樣的VM 203、205、207、209。服務(wù)器113還包括控制器211,它支配由客戶端計算機(jī)103對VM的訪問,并且控制切換周期。服務(wù)器113還包括保持產(chǎn)生VM所需的軟件的完整副本的主文件系統(tǒng)213,包括Linux操作系統(tǒng)和服務(wù)器應(yīng)用軟件的二進(jìn)制碼。
控制器211管理對VM的訪問來確保在任意給定的時間,只有一個VM是激活的,并且接收新的客戶端請求。激活的VM稱為主機(jī)203,并且僅在切換周期內(nèi)是激活的。一旦該周期過去,控制器將當(dāng)前主機(jī)指定為副機(jī),并且從主文件系統(tǒng)213中的該軟件副本啟動新主機(jī)。然后控制器將后續(xù)的客戶端請求路由到新的主機(jī)。副機(jī)205、207、209被安排來繼續(xù)處理在被指定為主機(jī)時還沒有完成的運(yùn)行時間長的客戶端請求。換句話說,在切換周期結(jié)束時還沒有完成請求。一旦副機(jī)已經(jīng)完成了其未完成的客戶端請求或在切斷周期后,由控制器211停止機(jī)器,并且釋放其資源。如果將切斷周期設(shè)置為長于切換周期,則如圖2所示可以有多個副機(jī)。如果將切斷周期設(shè)置為短于或等于切換周期,則不會存在多于一個的副機(jī)。
將進(jìn)一步參照圖3的流程圖描述由控制器211執(zhí)行的處理。在步驟301,控制器211從主文件系統(tǒng)213產(chǎn)生并啟動VM。該第一VM(還稱為第一機(jī)器)是主機(jī),并且控制器將所有客戶端請求路由到它。在該階段,沒有副VM處理運(yùn)行時間長的客戶端請求。然后處理移至步驟303,其中控制器將切換計時器啟動為30分鐘的預(yù)定時間。
一旦切換時間過去,處理移至步驟305,在其中控制器從主文件系統(tǒng)產(chǎn)生并啟動額外的、還稱為第二機(jī)器的VM,并且將所有后續(xù)的新客戶端請求路由到該節(jié)點。換句話說,新的或第二VM稱為主機(jī),并且先前的主機(jī)(第一機(jī)器)被指定為副機(jī)。然后新主機(jī)(由于它在第一機(jī)器后啟動,并且接替第一機(jī)器作為主機(jī),因此還稱為第二機(jī)器)的處理返回到步驟303并繼續(xù)上述步驟。然后新副機(jī)的處理移至步驟307。
步驟301和303建立服務(wù)器處理的第一實例,并且步驟305和303建立服務(wù)器處理的第二實例。
在步驟307,控制器將新的副節(jié)點的切斷定時器設(shè)置為90分鐘。只要它處理來自運(yùn)行時間長的客戶的請求,或者直到切斷定時器中設(shè)置的周期過去之前,副機(jī)繼續(xù)運(yùn)行,并且處理前進(jìn)到步驟309。在步驟309,控制器停止第二機(jī)器并將其資源釋放回系統(tǒng)。如圖3中的處理步驟311所示,可以在任意給定時間運(yùn)行多個副機(jī)。如上所述,切換和切斷周期的相對長度支配在任意給定時間運(yùn)行的副機(jī)的最大數(shù)量。
如果黑客設(shè)法獲得對主機(jī)的非授權(quán)訪問,則一旦切換周期過去,控制器處理將主機(jī)轉(zhuǎn)為副機(jī),并且從主文件系統(tǒng)產(chǎn)生新的主機(jī)。在該切換步驟中產(chǎn)生的副機(jī)至多在切斷周期中運(yùn)行,然后停止并最終被摧毀。該機(jī)制(mechanism)消除黑客可能已經(jīng)放在VM上的任何損壞的網(wǎng)頁、黑客工具、后門、盜版軟件或不期望的材料。由于從主文件系統(tǒng)啟動新的主機(jī),因此新的主機(jī)是干凈的和安全的,所以不會泄密。因此,對于某些黑客,經(jīng)常地重新訪問服務(wù)器和以期望方式(即,使用所有后門,盜版軟件等)建立訪問所需的工作將變得不值得。VM的切換和它們的應(yīng)用程序的提供對于應(yīng)用程序的客戶端來說是透明的。此外,可以由VM運(yùn)行的任意程序或服務(wù)可以利用上述的技術(shù),并且當(dāng)受到攻擊時更加堅固。
在一些實施例中,對已經(jīng)由控制器停止的每個副節(jié)點的數(shù)據(jù)和程序執(zhí)行辯論(forensics)過程。安排辯論過程來檢測VM的完整性和安全的任何侵害。該過程的結(jié)果可以用于修改VM的主映象,以便移除任何檢測到的易受攻擊性。辯論過程可以運(yùn)行入侵檢測程序(諸如TripwireTM)來檢測密鑰系統(tǒng)、配置或應(yīng)用文件是否已經(jīng)被修改;測試是否已經(jīng)產(chǎn)生了新帳戶或是否已經(jīng)修改了基于主機(jī)的防火墻規(guī)則;確定副機(jī)是否存儲不熟悉的文件或程序;或調(diào)查日志文件來確定對于第二機(jī)器是否存在非法網(wǎng)絡(luò)連接。
在其它實施例中,每個機(jī)器被安排來保存所有執(zhí)行的二進(jìn)制碼的注冊。這通過在執(zhí)行它們之前散列(hash)所有的二進(jìn)制碼并存儲這些散列碼來實現(xiàn)。使用該附加的功能,辯論過程可以檢查是否已經(jīng)執(zhí)行了指示機(jī)器已經(jīng)被侵害的非授權(quán)二進(jìn)制碼(即,其散列碼不被安全策略承認(rèn)的二進(jìn)制碼)。
在一些實施例中,如果已經(jīng)檢測到侵害,則安排辯論過程來收集辯論證據(jù)(包括所有可用的日志文件、配置文件和存儲器轉(zhuǎn)儲(dump))。可以由人類專家使用該證據(jù)來分析侵害并開發(fā)用于該潛在的易受攻擊性的補(bǔ)丁。
在另一實施例中,如果辯論過程確定已經(jīng)被以惡意方式修改了特定文件或基于主機(jī)的防火墻系統(tǒng),則從干凈的副本更新主文件系統(tǒng)以便保護(hù)不會對新機(jī)器進(jìn)行這樣的修改??梢宰詣訄?zhí)行這樣的步驟,或者人也可以進(jìn)行干預(yù)。相同地,可以安排系統(tǒng)來檢查可用的安全補(bǔ)丁,并且自動地將它們應(yīng)用到主文件系統(tǒng)。
在一些實施例中,控制器和/或每個VM包括入侵檢測系統(tǒng),并且如果檢測到入侵則立即終止切換周期。例如可以在TripwireTM系統(tǒng)已經(jīng)檢測到對文件的非授權(quán)修改之后觸發(fā)切換。另外,可以在基于主機(jī)的防火墻報告與防火墻的防火墻策略相悖的新輸出連接之后觸發(fā)切換。
在其它實施例中,在考慮過去的泄密的情況下動態(tài)地設(shè)置切換周期。設(shè)ti為當(dāng)前切換周期,設(shè)a為大于1的常數(shù),tmin和tmax(0≤tmin<tmax)為最小和最大切換周期(tmax=∞是可能的)。則根據(jù)下面的算法計算ti+1IF(上次辯論處理運(yùn)行時檢測到侵害)Then ti+1=max(ti/a,tmin);Else ti+1=min(ti*a,tmax)。
在進(jìn)一步的實施例中,根據(jù)正在運(yùn)行的應(yīng)用服務(wù)器的類型改變切斷周期。例如,網(wǎng)絡(luò)服務(wù)器大多數(shù)運(yùn)行短請求,因此可以將切斷周期設(shè)置為諸如5分鐘之類的小常數(shù)值。
在其它的實施例中,諸如那些用于數(shù)據(jù)庫和交易處理的服務(wù)器中,請求的運(yùn)行時間可能不好預(yù)測。因此動態(tài)地設(shè)置切斷時間,例如設(shè)置到平均請求處理時間+三個標(biāo)準(zhǔn)偏差。
在一些實施例中,在控制器或合作控制器組的整體控制下,多個物理機(jī)器或處理器用于運(yùn)行服務(wù)器應(yīng)用程序的每個實例。
本領(lǐng)域技術(shù)人員將理解的是實施本發(fā)明的一部分或全體的設(shè)置可以是具有安排來提供本發(fā)明實施例的一部分或全體的軟件的通用目的裝置。該裝置可以是單一的裝置或裝置組,并且軟件可以是單一的程序或程序組。此外,用于實現(xiàn)本發(fā)明的任意或所有軟件可以經(jīng)由諸如計算機(jī)網(wǎng)絡(luò)或存儲裝置之類的各種發(fā)送或存儲裝置進(jìn)行通信,使得可以將軟件裝載到一個或多個裝置。
雖然已經(jīng)通過本發(fā)明實施例的描述說明了本發(fā)明,并且非常詳細(xì)地描述的實施例,但是不應(yīng)將申請人的發(fā)明或所附權(quán)利要求限制到該細(xì)節(jié)。本領(lǐng)域技術(shù)人員可以很容易做出額外的優(yōu)點和修改。因此,本發(fā)明在其更廣的方面不限于代表設(shè)備和方法以及所示和描述的示例性實例的特定細(xì)節(jié)。因此,可以背離該細(xì)節(jié)但是不背離申請人的總體發(fā)明構(gòu)思的宗旨和范圍。
權(quán)利要求
1.一種用于管理計算機(jī)系統(tǒng)(101)中的服務(wù)器處理的方法,所述方法包括步驟a)在第一機(jī)器(203/301)上運(yùn)行服務(wù)器處理的第一實例(301,303);b)路由從所述客戶端處理到所述第一機(jī)器(203/301)的通信;c)在第二機(jī)器(203/305)上開始所述服務(wù)器處理的第二實例(305,303);和d)在由所述第一機(jī)器(203/301)運(yùn)行所述第一實例(301,303)的周期后路由從客戶端處理到所述第二機(jī)器(203/305)的后續(xù)通信。
2.如權(quán)利要求1所述的方法,其中由虛擬應(yīng)用程序服務(wù)器(113)提供所述服務(wù)器處理的每個所述實例。
3.如前面任意一個權(quán)利要求所述的方法,其中每個所述機(jī)器是虛擬機(jī)(203/301,305)。
4.如權(quán)利要求1或2所述的方法,其中每個所述機(jī)器包括一個或多個物理處理器。
5.如前面任意一個權(quán)利要求所述的方法,其中當(dāng)預(yù)定的切換周期過去時觸發(fā)步驟d)。
6.如權(quán)利要求5所述的方法,其中隨機(jī)地確定所述切換周期。
7.如前面任意一個權(quán)利要求所述的方法,其中監(jiān)視所述服務(wù)器(113)或所述第一和第二機(jī)器(203/301,305)的非授權(quán)活動,并且通過檢測到任何這樣的活動來觸發(fā)步驟d)。
8.如權(quán)利要求7所述的方法,還包括步驟c)在第三機(jī)器上開始所述服務(wù)器處理的第三實例;和d)在由所述檢測到所述第一機(jī)器上的非授權(quán)活動所占用的時間所確定的周期后,重新路由從客戶端處理到所述第三機(jī)器的后續(xù)通信。
9.如前面任意一個權(quán)利要求所述的方法,還包括在步驟d)之后停止所述服務(wù)器處理的所述第一實例(301,303)。
10.如權(quán)利要求9所述的方法,其中還停止所述第一機(jī)器(203/301)。
11.如權(quán)利要求9到10中任意一個所述的方法,其中一旦停止服務(wù)器處理或機(jī)器,則分析其相關(guān)數(shù)據(jù)和文件來檢測非授權(quán)的活動。
12.如前面任意一個權(quán)利要求所述的方法,其中在步驟d)后,允許所述服務(wù)器處理的所述第一實例(301、303、307、309)來在完成終止處理之前存在的客戶端通信。
13.如前面任意一個權(quán)利要求所述的方法,其中在步驟d)之后,允許所述服務(wù)器處理的所述第一實例(301、303、307、309)來在切斷周期內(nèi)繼續(xù)處理現(xiàn)存的客戶端通信。
14.如權(quán)利要求13所述的方法,其中預(yù)定所述切斷周期。
15.如權(quán)利要求13所述的方法,其中隨機(jī)地確定所述切斷周期的長度。
16.如權(quán)利要求13所述的方法,其中從客戶端通信的平均處理時間獲得切斷周期。
17.一種運(yùn)行服務(wù)器程序的方法,所述方法包括步驟a)在第一虛擬機(jī)(VM)(203/301)上運(yùn)行服務(wù)器程序的第一實例(301,303),并且路由從客戶端處理到所述第一VM(203/301)的通信;和b)在第二VM(203/305)上開始所述服務(wù)器處理的第二實例(305,303),并且在預(yù)定的周期后重新路由從客戶端處理到所述第二VM(203/305)的后續(xù)通信。
18.一種用于管理計算機(jī)系統(tǒng)(101)中的服務(wù)器處理的設(shè)備,該設(shè)備包括第一機(jī)器(203/301),用于運(yùn)行服務(wù)器處理的第一實例(301,303);控制器(211),操作來路由從客戶端處理到所述第一機(jī)器(203/301)的通信;和第二機(jī)器(203/305),用于運(yùn)行所述第一實例后(301,303)的所述服務(wù)器處理的第二實例(305,303),其中所述控制器還操作來在由所述第一機(jī)器(203/301)運(yùn)行所述第一實例(301,303)的周期后路由從客戶端處理到所述第二機(jī)器(203/305)的后續(xù)通信。
19.一種包括指令的計算機(jī)程序,當(dāng)在計算機(jī)系統(tǒng)(101)上執(zhí)行所述計算機(jī)程序時,所述指令執(zhí)行根據(jù)權(quán)利要求1到17中的任意一個的方法。
全文摘要
公開了用于運(yùn)行服務(wù)器程序的方法和設(shè)備,其中在第一機(jī)器(203/301)上運(yùn)行服務(wù)器處理的第一實例(301,303),并且路由從客戶端處理到該第一機(jī)器(203/301)的通信,然后在第二機(jī)器(203/305)上開始服務(wù)器處理的第二實例(305,303),并且在預(yù)定周期后重新路由從客戶端處理到第二機(jī)器(203/305)的通信。
文檔編號H04L12/24GK1921474SQ20061011076
公開日2007年2月28日 申請日期2006年8月11日 優(yōu)先權(quán)日2005年8月25日
發(fā)明者阿西什·加格, 克里斯托弗·索格霍伊安, 克勞斯·朱利施, 艾克塞爾·坦納 申請人:國際商業(yè)機(jī)器公司