亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種PaaS平臺的安全運行方法和PaaS平臺的制作方法

文檔序號:6397823閱讀:220來源:國知局
專利名稱:一種PaaS平臺的安全運行方法和PaaS平臺的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機應用技術(shù)領(lǐng)域,特別是涉及一種PaaS平臺的安全運行方法和PaaS平臺。
背景技術(shù)
隨著IT技術(shù)的迅猛發(fā)展,云計算技術(shù)及理念的深入應用,云安全越來越成為安全業(yè)界關(guān)注的重點。一方面,云計算應用的無邊界性和流動性等特點引發(fā)了很多新的安全問題,另一方面,云計算技術(shù)及理念也對傳統(tǒng)安全技術(shù)及應用產(chǎn)生了深遠的影響。按照服務類型的不同,云計算技術(shù)分為SaaS(Soft as a Service,軟件即服務)、PaaS(Platform as a Service,平臺即服務)和 IaaS(Infrastructure as aService,基礎(chǔ)設(shè)施即服務)。其中,Paas就是云計算中的應用基礎(chǔ)設(shè)施服務,由于PaaS平臺在云架構(gòu)中位于中間層,其上層是SaaS平臺,其下層是IaaS平臺,因此,PaaS也可以稱為中間件即服務。與其它類型的平臺相比,PaaS平臺對應用程序安全性的要求比IaaS平臺和SaaS平臺要高。Java開發(fā)工具自身已經(jīng)提供了具備各種安全功能的Java安全沙箱,這種Java安全沙箱主要是從應用角度分析應用程序的生命周期,在生命周期的每個階段提供對應的安全功能。具體地,Java提供了以下幾個方面的安全功能類裝載器、字節(jié)碼文件校驗、虛擬機的安全限制、安全管理器和API等。類裝載器為應用程序的開始階段提供安全功能,字節(jié)碼文件校驗位應用程序的開始和運行階段提供安全功能,虛擬機內(nèi)置安全為應用程序的運行和結(jié)束階段提供安全功能。但是,在PaaS平臺的應用場景中,需要由客戶端將應用程序上傳到PaaS平臺的應用程序節(jié)點中運行。應用程序節(jié)點即為真實的服務器主機或者IaaS層提供的虛擬主機。對于PaaS平臺而言,PaaS平臺的應用程序節(jié)點通常是多租戶形式的,也就是說,PaaS平臺的應用程序節(jié)點會接收到來自于各種各樣的客戶端上傳的應用程序,這些上傳的應用程序不僅有可能對PaaS平臺上運行這些應用程序的應用程序節(jié)點造成安全問題,而且還會對部署在應用程序節(jié)點上的其它應用程序造成安全問題,甚至于,在一些情況下,這些上傳的應用程序可能通過該應用程序節(jié)點對PaaS平臺內(nèi)的其它應用程序節(jié)點造成安全問題,相當于,在一個PaaS云平臺中,安全問題從一個應用程序節(jié)點向外滲透到了其它應用程序節(jié)點,即,引起一系列的安全問題。但是,現(xiàn)有的Java安全沙箱僅能從語言本身保證應用程序的安全性,卻無法避免PaaS平臺中的上述安全問題。

發(fā)明內(nèi)容
為了解決上述技術(shù)問題,本發(fā)明實施例提供了一種PaaS平臺的安全運行方法和PaaS平臺,以避免客戶端上傳的應用個程序?qū)aaS云平臺造成的安全問題。本發(fā)明實施例公開了如下技術(shù)方案一種PaaS平臺的安全運行方法,包括
管理服務器獲取應用程序代碼;所述管理服務器為所述應用程序代碼調(diào)度分配應用程序節(jié)點和邏輯隔離方式;所述應用程序節(jié)點從所述管理服務器下載所述應用程序代碼和邏輯隔離方式;所述應用程序節(jié)點在Java代碼進入Java虛擬機時,通過JavaInstrumentation攔截所述Java代碼,所述Java代碼中包含所述應用程序代碼和用于運行所述應用程序代碼的服務程序代碼;所述應用程序節(jié)點通過Java類加載器將所述Java代碼中包含的所述應用程序代碼和所述服務程序代碼進行相互隔離;所述應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行的限制和屏蔽。一種PaaS平臺,包括一個管理服務器和至少一個應用程序節(jié)點,其中,所述管理服務器包括獲取模塊、調(diào)度分配模塊,所述應用程序節(jié)點包括下載模塊、攔截模塊、隔離模塊和限制屏蔽模塊,獲取模塊,用于獲取應用程序代碼;調(diào)度分配模塊,用于為所述應用程序代碼調(diào)度分配應用程序節(jié)點和邏輯隔離方式;下載模塊,用于從所述管理服務器下載所述應用程序代碼和邏輯隔離方式;攔截模塊,用于在Java代碼進入Java虛擬機時,通過Java Instrumentation攔截所述Java代碼,所述Java代碼中包含所述應用程序代碼和用于運行所述應用程序代碼的服務程序代碼;隔離模塊,用于通過Java類加載器將所述Java代碼中包含的所述應用程序代碼和所述服務程序代碼進行相互隔離;限制屏蔽模塊,用于通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行的限制和屏蔽。由上述實施例可以看出,采用對應用程序節(jié)點中運行的各個應用程序代碼進行邏輯隔離的方式實現(xiàn)安全運行,即,將單個應用程序節(jié)點中運行的應用程序代碼與用于運行該應用程序代碼的服務程序代碼進行完全隔離,并將隔離后的應用程序代碼進行各種類型的屏蔽和限制,這種邏輯隔離的方式保證了單個應用程序節(jié)點中的各個應用程序只能訪問自身的資源,不能干擾危害其它的應用程序和該應用程序節(jié)點,進而也就不會干擾危害PaaS平臺內(nèi)的其它的應用程序節(jié)點。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例一揭示的一種PaaS平臺的安全運行方法的流程圖;圖2為本發(fā)明實施例二揭示的一種PaaS平臺的安全運行方法的流程圖;圖3為本發(fā)明一種物理隔離的示意圖4為本發(fā)明實施例三揭示的一種PaaS平臺的結(jié)構(gòu)圖;圖5為本發(fā)明一種調(diào)度分配模塊的結(jié)構(gòu)圖;圖6為本發(fā)明實施例三揭示的另一種PaaS平臺的結(jié)構(gòu)圖。
具體實施例方式本發(fā)明實施例提供了一種PaaS平臺的安全運行方法和PaaS平臺。采用對應用程序節(jié)點中運行的各個應用程序代碼進行邏輯隔離的方式實現(xiàn)安全運行,即,將單個應用程序節(jié)點中運行的應用程序代碼與用于運行該應用程序代碼的服務程序代碼進行完全隔離,并將隔離后的應用程序代碼進行各種類型的屏蔽和限制,這種邏輯隔離的方式保證了單個應用程序節(jié)點中的各個應用程序只能訪問自身的資源,不能干擾危害其它的應用程序和該應用程序節(jié)點,進而也就不會干擾危害PaaS平臺內(nèi)的其它的應用程序節(jié)點。為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實施例進行詳細描述。實施例一請參閱圖1,其為本發(fā)明實施例一揭示的一種PaaS平臺的安全運行方法的流程圖,該方法包括以下步驟步驟101 :管理服務器獲取應用程序代碼;例如,客戶端可以直接將應用程序代碼上傳給管理服務器,也可以將應用程序代碼提交到代碼版本控制庫,再由管理服務器從代碼版本控制庫中獲得應用程序代碼。管理服務器獲取的這些應用程序代碼在PaaS平臺中基本上是完全不可信的,有可能是黑客上傳的惡意代碼,并攻擊PaaS平臺,給PaaS平臺帶來各種安全隱患。步驟102 :管理服務器為所述應用程序代碼調(diào)度分配應用程序節(jié)點和邏輯隔離方式;管理服務器獲取應用程序代碼后,從PaaS平臺上的所有應用程序節(jié)點中調(diào)度分配至少一個應用程序節(jié)點來運行該應用程序。在本發(fā)明實施例中,管理服務器可以采用現(xiàn)有技術(shù)中的任何一種方式為該應用程序調(diào)度分配應用程序節(jié)點。應用程序節(jié)點即為真實的服務器主機或者IaaS層提供的虛擬主機。所述管理服務器為所述應用程序代碼分配的邏輯隔離方式包括以下任意一種或任意多種組合網(wǎng)絡層面的隔離、文件IO層面的隔離、Java JDKAPI層面的隔離、進程和線程層面的隔離和應用程序節(jié)點主機操作系統(tǒng)層面的隔離。例如,PaaS平臺的運行維護人員登錄管理服務器后,對應用程序節(jié)點進行物理分組,并設(shè)置各種邏輯隔離方式。步驟103 :應用程序節(jié)點從所述管理服務器下載所述應用程序代碼和邏輯隔離方式;步驟104 :應用程序節(jié)點在Java代碼進入Java虛擬機時,通過JavaInstrumentation攔截所述Java代碼,所述Java代碼中包含所述應用程序代碼和用于運行所述應用程序代碼的服務程序代碼;Java Instrumentation 也稱為 Java Agent,其實現(xiàn)原理如下
每個Agent的實現(xiàn)類必須實現(xiàn)ClassFileTransformer接口,這個接口提供了以下一個方法public byte[]transform(ClassLoader loader,String className,Class cBR,java. security. ProtectionDomain pD,byte[]classfileBuffer)throws IllegalClassFormatException通過這個方法,Agent可以得到虛擬機載入的類的字節(jié)碼(通過該方法中的classfileBuffer參數(shù)實現(xiàn))。Agent的各種功能一般是通過操作這一串字節(jié)碼得以實現(xiàn)的,同時還需要提供一個公共的靜態(tài)方法public static void premain(String agentArgs, Instrumentation inst)一般會在這個方法中創(chuàng)建一個代理對象,通過參數(shù)inst的addTransformer O方法,將創(chuàng)建的代理對象再傳遞給虛擬機。通過Java Instrumentation,在Java代碼進入Java虛擬機時,應用程序節(jié)點可以攔截Java代碼,在Java代碼中包含有應用程序節(jié)點下載的應用程序代碼和運行該應用程序代碼的服務程序代碼,后續(xù)在Agent中可以對Java代碼中的應用程序代碼進行字節(jié)碼操作。步驟105 :應用程序節(jié)點通過Java類加載器將所述Java代碼中包含的所述應用程序代碼和所述服務程序代碼進行相互隔離;步驟106 :應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行的限制和屏蔽。需要說明的是,目前有關(guān)字節(jié)碼的第三方工具很多,比如ASM、cglib、BCEL等。在本實施例中可以采用ASM進行字節(jié)碼的各項操作,實現(xiàn)限制和屏蔽作用。當然,也可以采用其它類型的工具,本發(fā)明對此并不限定。其中,當邏輯隔離方式為網(wǎng)絡層面隔離時,按照網(wǎng)絡層面隔離進行的限制和屏蔽為限制所述應用程序代碼的網(wǎng)絡訪問,屏蔽訪問的非法IP地址。當邏輯隔離方式為文件10層面的隔離時,按照文件10層面的隔離進行的限制和屏蔽為限制所述應用程序代碼的文件讀寫操作和網(wǎng)絡10操作。當邏輯隔離方式為Java JDK API層面的隔離時,按照Java JDK API層面的隔離進行的限制和屏蔽為屏蔽JDK的黑名單類和函數(shù)、限制或屏蔽JDK的危險API調(diào)用、限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量,以及限制JDK反射機制的操作范圍。當邏輯隔離方式為進程和線程層面的隔離時,按照進程和線程層面的隔離進行的限制和屏蔽為限制或屏蔽所述應用程序代碼的進程和線程操作。當邏輯隔離方式為應用程序節(jié)點主機操作系統(tǒng)層面的隔離時,按照應用程序節(jié)點主機操作系統(tǒng)層面的隔離進行的限制和屏蔽為限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量。另外,在所述應用程序節(jié)點從所述管理服務器下載所述應用程序代碼之后,該方法還進一步包括
應用程序節(jié)點判斷所述應用程序代碼的文件格式是否合法;如果是,在Java代碼進入Java虛擬機運行時,通過Java Instrumentation攔截所述Java代碼;否則,屏蔽非法格式文件,并記錄日志?;蛘?,應用程序節(jié)點判斷所述應用程序代碼是否存在可疑文件;如果是,屏蔽可疑文件,并記錄日志;否則,在Java代碼進入Java虛擬機運行時,通過Java Instrumentation攔截所述Java代碼。由上述實施例可以看出,采用對應用程序節(jié)點中運行的各個應用程序代碼進行邏輯隔離的方式實現(xiàn)安全運行,即,將單個應用程序節(jié)點中運行的應用程序代碼與用于運行該應用程序代碼的服務程序代碼進行完全隔離,并將隔離后的應用程序代碼進行各種類型的屏蔽和限制,這種邏輯隔離的方式保證了單個應用程序節(jié)點中的各個應用程序只能訪問自身的資源,不能干擾危害其它的應用程序和該應用程序節(jié)點,進而也就不會干擾危害PaaS平臺內(nèi)的其它的應用程序節(jié)點。實施例二請參閱圖2,其為本發(fā)明實施例二揭示的一種PaaS平臺的安全運行方法的流程圖,在本實施例中對應用程序節(jié)點進一步進行物理隔離,該方法包括以下步驟步驟201 :管理服務器預先將PaaS平臺中的所有應用程序節(jié)點劃分為多個物理分組,其中,每個物理分組包括多個應用程序節(jié)點,每個應用程序節(jié)點用于運行至少一個應用程序;通過上述方式,如圖3所示,橢圓形圈內(nèi)的多個應用程序節(jié)點(即圖3中的AppNode)形成一個物理分組,管理服務器只能在這個物理分組內(nèi)為該應用程序調(diào)度分配應用程序節(jié)點,即,該應用程序代碼只能在這個物理分組內(nèi)進行部署、調(diào)度和遷移等。這樣,物理分組與物理分組之間在應用程序節(jié)點層面形成了一個物理隔離,保證應用的高安全性。需要說明的是,在本發(fā)明實施例中,可以采用任何一種拆分方式劃分物理分組,本發(fā)明對此并不限定。步驟202 :管理服務器獲取應用程序代碼;步驟203管理服務器從多個物理分組中選擇一個物理分組,在選擇出的物理分組中為所述應用程序代碼調(diào)度分配應用程序節(jié)點。步驟204 :管理服務器為所述應用程序代碼分配邏輯隔離方式;步驟205 :應用程序節(jié)點從所述管理服務器下載所述應用程序代碼和邏輯隔離方式;步驟206 :應用程序節(jié)點在Java代碼進入Java虛擬機時,通過JavaInstrumentation攔截所述Java代碼,所述Java代碼中包含所述應用程序代碼和用于運行所述應用程序代碼的服務程序代碼;步驟207 :應用程序節(jié)點通過Java類加載器將所述Java代碼中包含的所述應用程序代碼和所述服務程序代碼進行相互隔離;步驟208 :應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行的限制和屏蔽。上述步驟202,以及204-208的具體執(zhí)行過程可以參見實施例一中的步驟101-106,由于已經(jīng)在實施例一中進行了詳細地說明,故此處不摘贅述。
由上述實施例可以看出,除了具有實施例一中的有益效果之外,物理分組與物理分組之間在應用程序節(jié)點層面形成了一個物理隔離,保證應用的高安全性。實施例三與上述一種PaaS平臺的安全運行方法相對應,本發(fā)明實施例還提供了一種PaaS平臺。請參閱圖4,其為本發(fā)明實施例三揭示的一種PaaS平臺的結(jié)構(gòu)圖,該PaaS平臺包括一個管理服務器401和至少一個應用程序節(jié)點402(圖4中僅示出了一個應用程序節(jié)點),其中,管理服務器401包括獲取模塊4011、調(diào)度分配模塊4022,應用程序節(jié)點402包括下載模塊4021、攔截模塊4022、隔離模塊4023和限制屏蔽模塊4024。下面結(jié)合該平臺的工作原理進一步介紹其內(nèi)部結(jié)構(gòu)以及連接關(guān)系。獲取模塊4011,用于獲取應用程序代碼;調(diào)度分配模塊4012,用于為所述應用程序代碼調(diào)度分配應用程序節(jié)點和邏輯隔離方式;下載模塊4021,用于從所述管理服務器下載所述應用程序代碼和邏輯隔離方式;攔截模塊4022,用于在Java代碼進入Java虛擬機時,通過JavaInstrumentation攔截所述Java代碼,所述Java代碼中包含所述應用程序代碼和用于運行所述應用程序代碼的服務程序代碼;隔離模塊4023,用于通過Java類加載器將所述Java代碼中包含的所述應用程序代碼和所述服務程序代碼進行相互隔離;限制屏蔽模塊4024,用于通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行的限制和屏蔽。優(yōu)選的,如圖5所示,上述調(diào)度分配模塊4012包括配置管理子模塊501,用于預先將PaaS平臺中的所有應用程序節(jié)點劃分為多個物理分組,其中,每個物理分組包括多個應用程序節(jié)點,每個應用程序節(jié)點用于運行至少一個應用程序;運行調(diào)度子模塊502,用于從多個物理分組中選擇一個物理分組,在選擇出物理分組中調(diào)度分配所述應用程序節(jié)點。優(yōu)選的,所述邏輯隔離方式包括以下任意一種或任意多種組合網(wǎng)絡層面的隔離、文件IO層面的隔離、Java JDK API層面的隔離、進程和線程層面的隔離和應用程序節(jié)點主機操作系統(tǒng)層面的隔離。其中,當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊4024具體為第一限制屏蔽子模塊,用于限制所述應用程序代碼的網(wǎng)絡訪問,屏蔽訪問的非法IP地址。當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊4024具體為第二限制屏蔽子模塊,用于限制所述應用程序代碼的文件讀寫操作和網(wǎng)絡IO操作。當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊4024具體為第三限制屏蔽子模塊,用于屏蔽JDK的黑名單類和函數(shù)、限制或屏蔽JDK的危險API調(diào)用、限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量,以及限制JDK反射機制的操作范圍。當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊4024具體為第四限制屏蔽子模塊,用于限制或屏蔽所述應用程序代碼的進程和線程操作。
當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊4024具體為第五限制屏蔽子模塊,用于限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量。如圖6所示,除了圖4所示的結(jié)構(gòu)外,應用程序節(jié)點402還進一步包括第一安全掃描模塊4025,用于判斷所述應用程序的文件格式是否合法,如果是,觸發(fā)攔截模塊4022,否則,屏蔽非法格式文件,并記錄日志?;蛘?,將上述第一安全掃描模塊4025替換為第二安全掃描模塊,用于判斷所述應用程序是否存在可疑文件,如果是,屏蔽可疑文件,并記錄日志,否則,觸發(fā)所述攔截模塊。由上述實施例可以看出,采用對應用程序節(jié)點中運行的各個應用程序代碼進行邏輯隔離的方式實現(xiàn)安全運行,即,將單個應用程序節(jié)點中運行的應用程序代碼與用于運行該應用程序代碼的服務程序代碼進行完全隔離,并將隔離后的應用程序代碼進行各種類型的屏蔽和限制,這種邏輯隔離的方式保證了單個應用程序節(jié)點中的各個應用程序只能訪問自身的資源,不能干擾危害其它的應用程序和該應用程序節(jié)點,進而也就不會干擾危害PaaS平臺內(nèi)的其它的應用程序節(jié)點。并且,物理分組與物理分組之間在應用程序節(jié)點層面形成了一個物理隔離,保證應用的高安全性。需要說明的是,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。以上對本發(fā)明所提供的一種PaaS平臺的安全運行方法和PaaS平臺進行了詳細介紹,本文中應用了具體實施例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應理解為對本發(fā)明的限制。
權(quán)利要求
1.一種PaaS平臺的安全運行方法,其特征在于,包括 管理服務器獲取應用程序代碼; 所述管理服務器為所述應用程序代碼調(diào)度分配應用程序節(jié)點和邏輯隔離方式; 所述應用程序節(jié)點從所述管理服務器下載所述應用程序代碼和邏輯隔離方式; 所述應用程序節(jié)點在Java代碼進入Java虛擬機時,通過JavaInstrumentation攔截所述Java代碼,所述Java代碼中包含所述應用程序代碼和用于運行所述應用程序代碼的服務程序代碼; 所述應用程序節(jié)點通過Java類加載器將所述Java代碼中包含的所述應用程序代碼和所述服務程序代碼進行相互隔離; 所述應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行的限制和屏蔽。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述管理服務器為所述應用程序調(diào)度分配應用程序節(jié)點包括 管理服務器預先將PaaS平臺中的所有應用程序節(jié)點劃分為多個物理分組,其中,每個物理分組包括多個應用程序節(jié)點,每個應用程序節(jié)點用于運行至少一個應用程序; 管理服務器從多個物理分組中選擇一個物理分組,在選擇出的物理分組中調(diào)度分配所述應用程序節(jié)點。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述管理服務器為所述應用程序代碼分配的邏輯隔離方式包括以下任意一種或任意多種組合 網(wǎng)絡層面的隔離、文件IO層面的隔離、Java JDKAPI層面的隔離、進程和線程層面的隔離和應用程序節(jié)點主機操作系統(tǒng)層面的隔離。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行限制和屏蔽包括 所述應用程序節(jié)點限制所述應用程序代碼的網(wǎng)絡訪問,屏蔽訪問的非法IP地址。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,當所述邏輯隔離方式為文件IO層面的隔離時,所述應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行限制和屏蔽包括 所述應用程序節(jié)點限制所述應用程序代碼的文件讀寫操作和網(wǎng)絡IO操作。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,當所述邏輯隔離方式為JavaJDKAPI層面的隔離時,所述應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行限制和屏蔽包括 所述應用程序節(jié)點屏蔽JDK的黑名單類和函數(shù)、限制或屏蔽JDK的危險API調(diào)用、限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量,以及限制JDK反射機制的操作范圍。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,當邏輯隔離方式為進程和線程層面的隔離時,所述應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行限制和屏蔽包括 所述應用程序節(jié)點限制或屏蔽所述應用程序代碼的進程和線程操作。
8.根據(jù)權(quán)利要求3所述的方法,其特征在于,當邏輯隔離方式為應用程序節(jié)點主機操作系統(tǒng)層面的隔離時,所述應用程序節(jié)點通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行限制和屏蔽包括 所述應用程序節(jié)點限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量。
9.根據(jù)權(quán)利要求1 8中任意一項所述的方法,其特征在于,在所述應用程序節(jié)點從所述管理服務器下載所述應用程序代碼之后,所述方法還包括 所述應用程序節(jié)點判斷所述應用程序代碼的文件格式是否合法; 如果是,在Java代碼進入Java虛擬機運行時,通過Java Instrumentation攔截所述Java代碼; 否則,屏蔽非法格式文件,并記錄日志。
10.根據(jù)權(quán)利要求1 8中任意一項所述的方法,其特征在于,在所述應用程序節(jié)點從所述管理服務器下載所述應用程序代碼之后,所述方法還包括 所述應用程序節(jié)點判斷所述應用程序代碼是否存在可疑文件; 如果是,屏蔽可疑文件,并記錄日志; 否則,在Java代碼進入Java虛擬機運行時,通過Java Instrumentation攔截所述Java代碼。
11.一種PaaS平臺,其特征在于,包括一個管理服務器和至少一個應用程序節(jié)點,其中,所述管理服務器包括獲取模塊、調(diào)度分配模塊,所述應用程序節(jié)點包括下載模塊、攔截模塊、隔離模塊和限制屏蔽模塊, 獲取模塊,用于獲取應用程序代碼; 調(diào)度分配模塊,用于為所述應用程序代碼調(diào)度分配應用程序節(jié)點和邏輯隔離方式; 下載模塊,用于從所述管理服務器下載所述應用程序代碼和邏輯隔離方式; 攔截模塊,用于在Java代碼進入Java虛擬機時,通過Java Instrumentation攔截所述Java代碼,所述Java代碼中包含所述應用程序代碼和用于運行所述應用程序代碼的服務程序代碼; 隔離模塊,用于通過Java類加載器將所述Java代碼中包含的所述應用程序代碼和所述服務程序代碼進行相互隔離; 限制屏蔽模塊,用于通過字節(jié)碼增強,將隔離出的所述應用程序代碼按照所述邏輯隔離方式進行的限制和屏蔽。
12.根據(jù)權(quán)利要求11所述的平臺,其特征在于,所述調(diào)度分配模塊包括 配置管理子模塊,用于預先將PaaS平臺中的所有應用程序節(jié)點劃分為多個物理分組,其中,每個物理分組包括多個應用程序節(jié)點,每個應用程序節(jié)點用于運行至少一個應用程序; 運行調(diào)度子模塊,用于從多個物理分組中選擇一個物理分組,在選擇出物理分組中調(diào)度分配所述應用程序節(jié)點。
13.根據(jù)權(quán)利要求11所述的平臺,其特征在于,所述邏輯隔離方式包括以下任意一種或任意多種組合 網(wǎng)絡層面的隔離、文件IO層面的隔離、Java JDKAPI層面的隔離、進程和線程層面的隔離和應用程序節(jié)點主機操作系統(tǒng)層面的隔離。
14.根據(jù)權(quán)利要求13所述的平臺,其特征在于,當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊具體為第一限制屏蔽子模塊, 第一限制屏蔽子模塊,用于限制所述應用程序代碼的網(wǎng)絡訪問,屏蔽訪問的非法IP地址。
15.根據(jù)權(quán)利要求13所述的平臺,其特征在于,當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊具體為第二限制屏蔽子模塊, 第二限制屏蔽子模塊,用于限制所述應用程序代碼的文件讀寫操作和網(wǎng)絡IO操作。
16.根據(jù)權(quán)利要求13所述的平臺,其特征在于,當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊具體為第三限制屏蔽子模塊, 第三限制屏蔽子模塊,用于屏蔽JDK的黑名單類和函數(shù)、限制或屏蔽JDK的危險API調(diào)用、限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量,以及限制JDK反射機制的操作范圍。
17.根據(jù)權(quán)利要求13所述的平臺,其特征在于,當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊具體為第四限制屏蔽子模塊, 第三限制屏蔽子模塊,用于限制或屏蔽所述應用程序代碼的進程和線程操作。
18.根據(jù)權(quán)利要求13所述的平臺,其特征在于,當所述邏輯隔離方式為網(wǎng)絡層面隔離時,所述限制屏蔽模塊具體為第五限制屏蔽子模塊, 第五限制屏蔽子模塊,用于限制或屏蔽訪問系統(tǒng)屬性和環(huán)境變量。
19.根據(jù)權(quán)利要求11 18中任意一項所述的平臺,其特征在于,所述應用程序節(jié)點還包括 第一安全掃描模塊,用于判斷所述應用程序的文件格式是否合法,如果是,觸發(fā)所述攔截模塊,否則,屏蔽非法格式文件,并記錄日志。
20.根據(jù)權(quán)利要求11 18中任意一項所述的平臺,其特征在于,所述應用程序節(jié)點還包括 第二安全掃描模塊,用于判斷所述應用程序是否存在可疑文件,如果是,屏蔽可疑文件,并記錄日志,否則,觸發(fā)所述攔截模塊。
全文摘要
本發(fā)明實施例公開了一種PaaS平臺的安全運行方法和PaaS平臺。其中,方法包括管理服務器獲取應用程序代碼;管理服務器為應用程序代碼調(diào)度分配應用程序節(jié)點和邏輯隔離方式;應用程序節(jié)點從管理服務器下載應用程序代碼和邏輯隔離方式;應用程序節(jié)點在Java代碼進入Java虛擬機時,通過Java Instrumentation攔截Java代碼;應用程序節(jié)點通過Java類加載器將Java代碼中包含的應用程序代碼和服務程序代碼進行相互隔離;應用程序節(jié)點通過字節(jié)碼增強,將隔離出的應用程序代碼按照邏輯隔離方式進行的限制和屏蔽。根據(jù)本發(fā)明實施例,可以避免客戶端上傳的應用個程序?qū)aaS云平臺造成的安全問題。
文檔編號G06F21/51GK103065081SQ20131001227
公開日2013年4月24日 申請日期2013年1月11日 優(yōu)先權(quán)日2013年1月11日
發(fā)明者劉沖 申請人:北京搜狐新媒體信息技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1