CN103065081B - 一种PaaS平台的安全运行方法和PaaS平台 - Google Patents

一种PaaS平台的安全运行方法和PaaS平台 Download PDF

Info

Publication number
CN103065081B
CN103065081B CN201310012275.2A CN201310012275A CN103065081B CN 103065081 B CN103065081 B CN 103065081B CN 201310012275 A CN201310012275 A CN 201310012275A CN 103065081 B CN103065081 B CN 103065081B
Authority
CN
China
Prior art keywords
application program
code
program node
described application
java
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.)
Expired - Fee Related
Application number
CN201310012275.2A
Other languages
English (en)
Other versions
CN103065081A (zh
Inventor
刘冲
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.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology Co 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 Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201310012275.2A priority Critical patent/CN103065081B/zh
Publication of CN103065081A publication Critical patent/CN103065081A/zh
Application granted granted Critical
Publication of CN103065081B publication Critical patent/CN103065081B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种PaaS平台的安全运行方法和PaaS平台。其中,方法包括:管理服务器获取应用程序代码;管理服务器为应用程序代码调度分配应用程序节点和逻辑隔离方式;应用程序节点从管理服务器下载应用程序代码和逻辑隔离方式;应用程序节点在Java代码进入Java虚拟机时,通过Java Instrumentation拦截Java代码;应用程序节点通过Java类加载器将Java代码中包含的应用程序代码和服务程序代码进行相互隔离;应用程序节点通过字节码增强,将隔离出的应用程序代码按照逻辑隔离方式进行的限制和屏蔽。根据本发明实施例,可以避免客户端上传的应用个程序对PaaS云平台造成的安全问题。

Description

一种PaaS平台的安全运行方法和PaaS平台
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种PaaS平台的安全运行方法和PaaS平台。
背景技术
随着IT技术的迅猛发展,云计算技术及理念的深入应用,云安全越来越成为安全业界关注的重点。一方面,云计算应用的无边界性和流动性等特点引发了很多新的安全问题,另一方面,云计算技术及理念也对传统安全技术及应用产生了深远的影响。
按照服务类型的不同,云计算技术分为SaaS(Soft as a Service,软件即服务)、PaaS(Platform as a Service,平台即服务)和IaaS(Infrastructure as aService,基础设施即服务)。其中,Paas就是云计算中的应用基础设施服务,由于PaaS平台在云架构中位于中间层,其上层是SaaS平台,其下层是IaaS平台,因此,PaaS也可以称为中间件即服务。与其它类型的平台相比,PaaS平台对应用程序安全性的要求比IaaS平台和SaaS平台要高。
Java开发工具自身已经提供了具备各种安全功能的Java安全沙箱,这种Java安全沙箱主要是从应用角度分析应用程序的生命周期,在生命周期的每个阶段提供对应的安全功能。具体地,Java提供了以下几个方面的安全功能:类装载器、字节码文件校验、虚拟机的安全限制、安全管理器和API等。类装载器为应用程序的开始阶段提供安全功能,字节码文件校验位应用程序的开始和运行阶段提供安全功能,虚拟机内置安全为应用程序的运行和结束阶段提供安全功能。
但是,在PaaS平台的应用场景中,需要由客户端将应用程序上传到PaaS平台的应用程序节点中运行。应用程序节点即为真实的服务器主机或者IaaS层提供的虚拟主机。对于PaaS平台而言,PaaS平台的应用程序节点通常是多租户形式的,也就是说,PaaS平台的应用程序节点会接收到来自于各种各样的客户端上传的应用程序,这些上传的应用程序不仅有可能对PaaS平台上运行这些应用程序的应用程序节点造成安全问题,而且还会对部署在应用程序节点上的其它应用程序造成安全问题,甚至于,在一些情况下,这些上传的应用程序可能通过该应用程序节点对PaaS平台内的其它应用程序节点造成安全问题,相当于,在一个PaaS云平台中,安全问题从一个应用程序节点向外渗透到了其它应用程序节点,即,引起一系列的安全问题。但是,现有的Java安全沙箱仅能从语言本身保证应用程序的安全性,却无法避免PaaS平台中的上述安全问题。
发明内容
为了解决上述技术问题,本发明实施例提供了一种PaaS平台的安全运行方法和PaaS平台,以避免客户端上传的应用个程序对PaaS云平台造成的安全问题。
本发明实施例公开了如下技术方案:
一种PaaS平台的安全运行方法,包括:
管理服务器获取应用程序代码;
所述管理服务器为所述应用程序代码调度分配应用程序节点和逻辑隔离方式;
所述应用程序节点从所述管理服务器下载所述应用程序代码和逻辑隔离方式;
所述应用程序节点在Java代码进入Java虚拟机时,通过JavaInstrumentation拦截所述Java代码,所述Java代码中包含所述应用程序代码和用于运行所述应用程序代码的服务程序代码;
所述应用程序节点通过Java类加载器将所述Java代码中包含的所述应用程序代码和所述服务程序代码进行相互隔离;
所述应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行的限制和屏蔽。
一种PaaS平台,包括:一个管理服务器和至少一个应用程序节点,其中,所述管理服务器包括获取模块、调度分配模块,所述应用程序节点包括下载模块、拦截模块、隔离模块和限制屏蔽模块,
获取模块,用于获取应用程序代码;
调度分配模块,用于为所述应用程序代码调度分配应用程序节点和逻辑隔离方式;
下载模块,用于从所述管理服务器下载所述应用程序代码和逻辑隔离方式;
拦截模块,用于在Java代码进入Java虚拟机时,通过Java Instrumentation拦截所述Java代码,所述Java代码中包含所述应用程序代码和用于运行所述应用程序代码的服务程序代码;
隔离模块,用于通过Java类加载器将所述Java代码中包含的所述应用程序代码和所述服务程序代码进行相互隔离;
限制屏蔽模块,用于通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行的限制和屏蔽。
由上述实施例可以看出,采用对应用程序节点中运行的各个应用程序代码进行逻辑隔离的方式实现安全运行,即,将单个应用程序节点中运行的应用程序代码与用于运行该应用程序代码的服务程序代码进行完全隔离,并将隔离后的应用程序代码进行各种类型的屏蔽和限制,这种逻辑隔离的方式保证了单个应用程序节点中的各个应用程序只能访问自身的资源,不能干扰危害其它的应用程序和该应用程序节点,进而也就不会干扰危害PaaS平台内的其它的应用程序节点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一揭示的一种PaaS平台的安全运行方法的流程图;
图2为本发明实施例二揭示的一种PaaS平台的安全运行方法的流程图;
图3为本发明一种物理隔离的示意图;
图4为本发明实施例三揭示的一种PaaS平台的结构图;
图5为本发明一种调度分配模块的结构图;
图6为本发明实施例三揭示的另一种PaaS平台的结构图。
具体实施方式
本发明实施例提供了一种PaaS平台的安全运行方法和PaaS平台。采用对应用程序节点中运行的各个应用程序代码进行逻辑隔离的方式实现安全运行,即,将单个应用程序节点中运行的应用程序代码与用于运行该应用程序代码的服务程序代码进行完全隔离,并将隔离后的应用程序代码进行各种类型的屏蔽和限制,这种逻辑隔离的方式保证了单个应用程序节点中的各个应用程序只能访问自身的资源,不能干扰危害其它的应用程序和该应用程序节点,进而也就不会干扰危害PaaS平台内的其它的应用程序节点。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
实施例一
请参阅图1,其为本发明实施例一揭示的一种PaaS平台的安全运行方法的流程图,该方法包括以下步骤:
步骤101:管理服务器获取应用程序代码;
例如,客户端可以直接将应用程序代码上传给管理服务器,也可以将应用程序代码提交到代码版本控制库,再由管理服务器从代码版本控制库中获得应用程序代码。管理服务器获取的这些应用程序代码在PaaS平台中基本上是完全不可信的,有可能是黑客上传的恶意代码,并攻击PaaS平台,给PaaS平台带来各种安全隐患。
步骤102:管理服务器为所述应用程序代码调度分配应用程序节点和逻辑隔离方式;
管理服务器获取应用程序代码后,从PaaS平台上的所有应用程序节点中调度分配至少一个应用程序节点来运行该应用程序。在本发明实施例中,管理服务器可以采用现有技术中的任何一种方式为该应用程序调度分配应用程序节点。应用程序节点即为真实的服务器主机或者IaaS层提供的虚拟主机。
所述管理服务器为所述应用程序代码分配的逻辑隔离方式包括以下任意一种或任意多种组合:
网络层面的隔离、文件IO层面的隔离、Java JDKAPI层面的隔离、进程和线程层面的隔离和应用程序节点主机操作系统层面的隔离。
例如,PaaS平台的运行维护人员登录管理服务器后,对应用程序节点进行物理分组,并设置各种逻辑隔离方式。
步骤103:应用程序节点从所述管理服务器下载所述应用程序代码和逻辑隔离方式;
步骤104:应用程序节点在Java代码进入Java虚拟机时,通过JavaInstrumentation拦截所述Java代码,所述Java代码中包含所述应用程序代码和用于运行所述应用程序代码的服务程序代码;
Java Instrumentation也称为Java Agent,其实现原理如下:
每个Agent的实现类必须实现ClassFileTransformer接口,这个接口提供了以下一个方法:
public byte[]transform(
ClassLoader loader,
String className,
Class cBR,
java.security.ProtectionDomain pD,
byte[]classfileBuffer)throws IllegalClassFormatException
通过这个方法,Agent可以得到虚拟机载入的类的字节码(通过该方法中的classfileBuffer参数实现)。Agent的各种功能一般是通过操作这一串字节码得以实现的,同时还需要提供一个公共的静态方法:
public static void premain(String agentArgs,Instrumentation inst)
一般会在这个方法中创建一个代理对象,通过参数inst的addTransformer()方法,将创建的代理对象再传递给虚拟机。
通过Java Instrumentation,在Java代码进入Java虚拟机时,应用程序节点可以拦截Java代码,在Java代码中包含有应用程序节点下载的应用程序代码和运行该应用程序代码的服务程序代码,后续在Agent中可以对Java代码中的应用程序代码进行字节码操作。
步骤105:应用程序节点通过Java类加载器将所述Java代码中包含的所述应用程序代码和所述服务程序代码进行相互隔离;
步骤106:应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行的限制和屏蔽。
需要说明的是,目前有关字节码的第三方工具很多,比如:ASM、cglib、BCEL等。在本实施例中可以采用ASM进行字节码的各项操作,实现限制和屏蔽作用。当然,也可以采用其它类型的工具,本发明对此并不限定。
其中,
当逻辑隔离方式为网络层面隔离时,按照网络层面隔离进行的限制和屏蔽为:限制所述应用程序代码的网络访问,屏蔽访问的非法IP地址。
当逻辑隔离方式为文件IO层面的隔离时,按照文件IO层面的隔离进行的限制和屏蔽为:限制所述应用程序代码的文件读写操作和网络IO操作。
当逻辑隔离方式为Java JDK API层面的隔离时,按照Java JDK API层面的隔离进行的限制和屏蔽为:屏蔽JDK的黑名单类和函数、限制或屏蔽JDK的危险API调用、限制或屏蔽访问系统属性和环境变量,以及限制JDK反射机制的操作范围。
当逻辑隔离方式为进程和线程层面的隔离时,按照进程和线程层面的隔离进行的限制和屏蔽为:限制或屏蔽所述应用程序代码的进程和线程操作。
当逻辑隔离方式为应用程序节点主机操作系统层面的隔离时,按照应用程序节点主机操作系统层面的隔离进行的限制和屏蔽为:限制或屏蔽访问系统属性和环境变量。
另外,在所述应用程序节点从所述管理服务器下载所述应用程序代码之后,该方法还进一步包括:
应用程序节点判断所述应用程序代码的文件格式是否合法;如果是,在Java代码进入Java虚拟机运行时,通过Java Instrumentation拦截所述Java代码;否则,屏蔽非法格式文件,并记录日志。
或者,应用程序节点判断所述应用程序代码是否存在可疑文件;如果是,屏蔽可疑文件,并记录日志;否则,在Java代码进入Java虚拟机运行时,通过Java Instrumentation拦截所述Java代码。
由上述实施例可以看出,采用对应用程序节点中运行的各个应用程序代码进行逻辑隔离的方式实现安全运行,即,将单个应用程序节点中运行的应用程序代码与用于运行该应用程序代码的服务程序代码进行完全隔离,并将隔离后的应用程序代码进行各种类型的屏蔽和限制,这种逻辑隔离的方式保证了单个应用程序节点中的各个应用程序只能访问自身的资源,不能干扰危害其它的应用程序和该应用程序节点,进而也就不会干扰危害PaaS平台内的其它的应用程序节点。
实施例二
请参阅图2,其为本发明实施例二揭示的一种PaaS平台的安全运行方法的流程图,在本实施例中对应用程序节点进一步进行物理隔离,该方法包括以下步骤:
步骤201:管理服务器预先将PaaS平台中的所有应用程序节点划分为多个物理分组,其中,每个物理分组包括多个应用程序节点,每个应用程序节点用于运行至少一个应用程序;
通过上述方式,如图3所示,椭圆形圈内的多个应用程序节点(即图3中的AppNode)形成一个物理分组,管理服务器只能在这个物理分组内为该应用程序调度分配应用程序节点,即,该应用程序代码只能在这个物理分组内进行部署、调度和迁移等。这样,物理分组与物理分组之间在应用程序节点层面形成了一个物理隔离,保证应用的高安全性。需要说明的是,在本发明实施例中,可以采用任何一种拆分方式划分物理分组,本发明对此并不限定。
步骤202:管理服务器获取应用程序代码;
步骤203管理服务器从多个物理分组中选择一个物理分组,在选择出的物理分组中为所述应用程序代码调度分配应用程序节点。
步骤204:管理服务器为所述应用程序代码分配逻辑隔离方式;
步骤205:应用程序节点从所述管理服务器下载所述应用程序代码和逻辑隔离方式;
步骤206:应用程序节点在Java代码进入Java虚拟机时,通过JavaInstrumentation拦截所述Java代码,所述Java代码中包含所述应用程序代码和用于运行所述应用程序代码的服务程序代码;
步骤207:应用程序节点通过Java类加载器将所述Java代码中包含的所述应用程序代码和所述服务程序代码进行相互隔离;
步骤208:应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行的限制和屏蔽。
上述步骤202,以及204-208的具体执行过程可以参见实施例一中的步骤101-106,由于已经在实施例一中进行了详细地说明,故此处不摘赘述。
由上述实施例可以看出,除了具有实施例一中的有益效果之外,物理分组与物理分组之间在应用程序节点层面形成了一个物理隔离,保证应用的高安全性。
实施例三
与上述一种PaaS平台的安全运行方法相对应,本发明实施例还提供了一种PaaS平台。请参阅图4,其为本发明实施例三揭示的一种PaaS平台的结构图,该PaaS平台包括一个管理服务器401和至少一个应用程序节点402(图4中仅示出了一个应用程序节点),其中,管理服务器401包括获取模块4011、调度分配模块4022,应用程序节点402包括下载模块4021、拦截模块4022、隔离模块4023和限制屏蔽模块4024。下面结合该平台的工作原理进一步介绍其内部结构以及连接关系。
获取模块4011,用于获取应用程序代码;
调度分配模块4012,用于为所述应用程序代码调度分配应用程序节点和逻辑隔离方式;
下载模块4021,用于从所述管理服务器下载所述应用程序代码和逻辑隔离方式;
拦截模块4022,用于在Java代码进入Java虚拟机时,通过JavaInstrumentation拦截所述Java代码,所述Java代码中包含所述应用程序代码和用于运行所述应用程序代码的服务程序代码;
隔离模块4023,用于通过Java类加载器将所述Java代码中包含的所述应用程序代码和所述服务程序代码进行相互隔离;
限制屏蔽模块4024,用于通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行的限制和屏蔽。
优选的,如图5所示,上述调度分配模块4012包括:
配置管理子模块501,用于预先将PaaS平台中的所有应用程序节点划分为多个物理分组,其中,每个物理分组包括多个应用程序节点,每个应用程序节点用于运行至少一个应用程序;
运行调度子模块502,用于从多个物理分组中选择一个物理分组,在选择出物理分组中调度分配所述应用程序节点。
优选的,所述逻辑隔离方式包括以下任意一种或任意多种组合:
网络层面的隔离、文件IO层面的隔离、Java JDK API层面的隔离、进程和线程层面的隔离和应用程序节点主机操作系统层面的隔离。
其中,
当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块4024具体为第一限制屏蔽子模块,用于限制所述应用程序代码的网络访问,屏蔽访问的非法IP地址。
当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块4024具体为第二限制屏蔽子模块,用于限制所述应用程序代码的文件读写操作和网络IO操作。
当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块4024具体为第三限制屏蔽子模块,用于屏蔽JDK的黑名单类和函数、限制或屏蔽JDK的危险API调用、限制或屏蔽访问系统属性和环境变量,以及限制JDK反射机制的操作范围。
当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块4024具体为第四限制屏蔽子模块,用于限制或屏蔽所述应用程序代码的进程和线程操作。
当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块4024具体为第五限制屏蔽子模块,用于限制或屏蔽访问系统属性和环境变量。
如图6所示,除了图4所示的结构外,应用程序节点402还进一步包括:第一安全扫描模块4025,用于判断所述应用程序的文件格式是否合法,如果是,触发拦截模块4022,否则,屏蔽非法格式文件,并记录日志。
或者,将上述第一安全扫描模块4025替换为第二安全扫描模块,用于判断所述应用程序是否存在可疑文件,如果是,屏蔽可疑文件,并记录日志,否则,触发所述拦截模块。
由上述实施例可以看出,采用对应用程序节点中运行的各个应用程序代码进行逻辑隔离的方式实现安全运行,即,将单个应用程序节点中运行的应用程序代码与用于运行该应用程序代码的服务程序代码进行完全隔离,并将隔离后的应用程序代码进行各种类型的屏蔽和限制,这种逻辑隔离的方式保证了单个应用程序节点中的各个应用程序只能访问自身的资源,不能干扰危害其它的应用程序和该应用程序节点,进而也就不会干扰危害PaaS平台内的其它的应用程序节点。
并且,物理分组与物理分组之间在应用程序节点层面形成了一个物理隔离,保证应用的高安全性。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明所提供的一种PaaS平台的安全运行方法和PaaS平台进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (20)

1.一种PaaS平台的安全运行方法,其特征在于,包括:
管理服务器获取应用程序代码;
所述管理服务器为所述应用程序代码调度分配PaaS平台上的应用程序节点和逻辑隔离方式;
所述应用程序节点从所述管理服务器下载所述应用程序代码和逻辑隔离方式;
所述应用程序节点在Java代码进入Java虚拟机时,通过JavaInstrumentation拦截所述Java代码,所述Java代码中包含所述应用程序代码和用于运行所述应用程序代码的服务程序代码;
所述应用程序节点通过Java类加载器将所述Java代码中包含的所述应用程序代码和所述服务程序代码进行相互隔离;
所述应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行的限制和屏蔽,以使所述应用程序只访问自身的资源。
2.根据权利要求1所述的方法,其特征在于,所述管理服务器为所述应用程序调度分配应用程序节点包括:
管理服务器预先将PaaS平台中的所有应用程序节点划分为多个物理分组,其中,每个物理分组包括多个应用程序节点,每个应用程序节点用于运行至少一个应用程序;
管理服务器从多个物理分组中选择一个物理分组,在选择出的物理分组中调度分配所述应用程序节点。
3.根据权利要求1所述的方法,其特征在于,所述管理服务器为所述应用程序代码分配的逻辑隔离方式包括以下任意一种或任意多种组合:
网络层面的隔离、文件IO层面的隔离、Java JDK API层面的隔离、进程和线程层面的隔离和应用程序节点主机操作系统层面的隔离。
4.根据权利要求3所述的方法,其特征在于,当所述逻辑隔离方式为网络层面隔离时,所述应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行限制和屏蔽包括:
所述应用程序节点限制所述应用程序代码的网络访问,屏蔽访问的非法IP地址。
5.根据权利要求3所述的方法,其特征在于,当所述逻辑隔离方式为文件IO层面的隔离时,所述应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行限制和屏蔽包括:
所述应用程序节点限制所述应用程序代码的文件读写操作和网络IO操作。
6.根据权利要求3所述的方法,其特征在于,当所述逻辑隔离方式为JavaJDK API层面的隔离时,所述应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行限制和屏蔽包括:
所述应用程序节点屏蔽JDK的黑名单类和函数、限制或屏蔽JDK的危险API调用、限制或屏蔽访问系统属性和环境变量,以及限制JDK反射机制的操作范围。
7.根据权利要求3所述的方法,其特征在于,当逻辑隔离方式为进程和线程层面的隔离时,所述应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行限制和屏蔽包括:
所述应用程序节点限制或屏蔽所述应用程序代码的进程和线程操作。
8.根据权利要求3所述的方法,其特征在于,当逻辑隔离方式为应用程序节点主机操作系统层面的隔离时,所述应用程序节点通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行限制和屏蔽包括:
所述应用程序节点限制或屏蔽访问系统属性和环境变量。
9.根据权利要求1~8中任意一项所述的方法,其特征在于,在所述应用程序节点从所述管理服务器下载所述应用程序代码之后,所述方法还包括:
所述应用程序节点判断所述应用程序代码的文件格式是否合法;
如果是,在Java代码进入Java虚拟机运行时,通过Java Instrumentation拦截所述Java代码;
否则,屏蔽非法格式文件,并记录日志。
10.根据权利要求1~8中任意一项所述的方法,其特征在于,在所述应用程序节点从所述管理服务器下载所述应用程序代码之后,所述方法还包括
所述应用程序节点判断所述应用程序代码是否存在可疑文件;
如果是,屏蔽可疑文件,并记录日志;
否则,在Java代码进入Java虚拟机运行时,通过Java Instrumentation拦截所述Java代码。
11.一种PaaS平台的安全运行装置,其特征在于,包括:一个管理服务器和至少一个应用程序节点,其中,所述管理服务器包括获取模块、调度分配模块,所述应用程序节点包括下载模块、拦截模块、隔离模块和限制屏蔽模块,
获取模块,用于获取应用程序代码;
调度分配模块,用于为所述应用程序代码调度分配PaaS平台上的应用程序节点和逻辑隔离方式;
下载模块,用于从所述管理服务器下载所述应用程序代码和逻辑隔离方式;
拦截模块,用于在Java代码进入Java虚拟机时,通过Java Instrumentation拦截所述Java代码,所述Java代码中包含所述应用程序代码和用于运行所述应用程序代码的服务程序代码;
隔离模块,用于通过Java类加载器将所述Java代码中包含的所述应用程序代码和所述服务程序代码进行相互隔离;
限制屏蔽模块,用于通过字节码增强,将隔离出的所述应用程序代码按照所述逻辑隔离方式进行的限制和屏蔽,以使所述应用程序只访问自身的资源。
12.根据权利要求11所述的装置,其特征在于,所述调度分配模块包括:
配置管理子模块,用于预先将PaaS平台中的所有应用程序节点划分为多个物理分组,其中,每个物理分组包括多个应用程序节点,每个应用程序节点用于运行至少一个应用程序;
运行调度子模块,用于从多个物理分组中选择一个物理分组,在选择出物理分组中调度分配所述应用程序节点。
13.根据权利要求11所述的装置,其特征在于,所述逻辑隔离方式包括以下任意一种或任意多种组合:
网络层面的隔离、文件IO层面的隔离、Java JDK API层面的隔离、进程和线程层面的隔离和应用程序节点主机操作系统层面的隔离。
14.根据权利要求13所述的装置,其特征在于,当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块具体为第一限制屏蔽子模块,
第一限制屏蔽子模块,用于限制所述应用程序代码的网络访问,屏蔽访问的非法IP地址。
15.根据权利要求13所述的装置,其特征在于,当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块具体为第二限制屏蔽子模块,
第二限制屏蔽子模块,用于限制所述应用程序代码的文件读写操作和网络IO操作。
16.根据权利要求13所述的装置,其特征在于,当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块具体为第三限制屏蔽子模块,
第三限制屏蔽子模块,用于屏蔽JDK的黑名单类和函数、限制或屏蔽JDK的危险API调用、限制或屏蔽访问系统属性和环境变量,以及限制JDK反射机制的操作范围。
17.根据权利要求13所述的装置,其特征在于,当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块具体为第四限制屏蔽子模块,
第三限制屏蔽子模块,用于限制或屏蔽所述应用程序代码的进程和线程操作。
18.根据权利要求13所述的装置,其特征在于,当所述逻辑隔离方式为网络层面隔离时,所述限制屏蔽模块具体为第五限制屏蔽子模块,
第五限制屏蔽子模块,用于限制或屏蔽访问系统属性和环境变量。
19.根据权利要求11~18中任意一项所述的装置,其特征在于,所述应用程序节点还包括:
第一安全扫描模块,用于判断所述应用程序的文件格式是否合法,如果是,触发所述拦截模块,否则,屏蔽非法格式文件,并记录日志。
20.根据权利要求11~18中任意一项所述的装置,其特征在于,所述应用程序节点还包括:
第二安全扫描模块,用于判断所述应用程序是否存在可疑文件,如果是,屏蔽可疑文件,并记录日志,否则,触发所述拦截模块。
CN201310012275.2A 2013-01-11 2013-01-11 一种PaaS平台的安全运行方法和PaaS平台 Expired - Fee Related CN103065081B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310012275.2A CN103065081B (zh) 2013-01-11 2013-01-11 一种PaaS平台的安全运行方法和PaaS平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310012275.2A CN103065081B (zh) 2013-01-11 2013-01-11 一种PaaS平台的安全运行方法和PaaS平台

Publications (2)

Publication Number Publication Date
CN103065081A CN103065081A (zh) 2013-04-24
CN103065081B true CN103065081B (zh) 2015-10-21

Family

ID=48107709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310012275.2A Expired - Fee Related CN103065081B (zh) 2013-01-11 2013-01-11 一种PaaS平台的安全运行方法和PaaS平台

Country Status (1)

Country Link
CN (1) CN103065081B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572243B (zh) * 2013-10-25 2017-09-29 国际商业机器公司 用于共享Java虚拟机的方法和系统
CN105159668B (zh) * 2015-08-11 2019-01-18 新浪网技术(中国)有限公司 PaaS系统中的类加载实现方法及装置
CN108540453B (zh) * 2018-03-15 2021-06-18 新智数字科技有限公司 一种应用于PaaS的网络隔离方法、装置以及设备
CN108566432B (zh) * 2018-04-26 2021-02-09 Oppo广东移动通信有限公司 PaaS平台的应用部署方法、装置、服务器及存储介质
CN109726052A (zh) * 2018-12-29 2019-05-07 北京金山安全软件有限公司 服务器热修复的实现方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639770A (zh) * 2008-07-30 2010-02-03 国际商业机器公司 用于在jvm中支持多租户隔离/多租户定制的系统和方法
CN102043932A (zh) * 2010-12-31 2011-05-04 中国航空工业集团公司第六三一研究所 一种防止Java程序被反编译的方法
CN102163206A (zh) * 2011-01-30 2011-08-24 青岛海信传媒网络技术有限公司 页面加载方法及系统
CN102609299A (zh) * 2012-01-13 2012-07-25 深圳市深信服电子科技有限公司 虚拟化系统及其创建方法、装置
CN102696015A (zh) * 2009-12-11 2012-09-26 国际商业机器公司 决定是否在多个候选环境的一中安装第一应用的方法、系统及计算机程序

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639770A (zh) * 2008-07-30 2010-02-03 国际商业机器公司 用于在jvm中支持多租户隔离/多租户定制的系统和方法
CN102696015A (zh) * 2009-12-11 2012-09-26 国际商业机器公司 决定是否在多个候选环境的一中安装第一应用的方法、系统及计算机程序
CN102043932A (zh) * 2010-12-31 2011-05-04 中国航空工业集团公司第六三一研究所 一种防止Java程序被反编译的方法
CN102163206A (zh) * 2011-01-30 2011-08-24 青岛海信传媒网络技术有限公司 页面加载方法及系统
CN102609299A (zh) * 2012-01-13 2012-07-25 深圳市深信服电子科技有限公司 虚拟化系统及其创建方法、装置

Also Published As

Publication number Publication date
CN103065081A (zh) 2013-04-24

Similar Documents

Publication Publication Date Title
US20230089995A1 (en) Methods and apparatus to manage monitoring agents
CN103065081B (zh) 一种PaaS平台的安全运行方法和PaaS平台
US20180039507A1 (en) System and method for management of a virtual machine environment
US9509553B2 (en) System and methods for management virtualization
CN102314373B (zh) 一种基于虚拟化技术实现安全工作环境的方法
CN103379481B (zh) 一种实现安全防护的方法
CN109240197A (zh) 一种软件定义plc的监控和重构方法和装置
WO2014075875A1 (en) Automatic template creation based on new feeds
CN104700026A (zh) 基于java字节码插桩和java方法挂钩检测java沙箱逃逸攻击
US9971582B2 (en) Selecting application wrapper logic components based on features of a mobile application to be wrapped
CN108365994B (zh) 一种针对云计算安全统一管理的云安全管理平台
CN102981888B (zh) 用于Power服务器的虚拟化实现方法
JP2017146966A (ja) パッケージファイルに対する機能拡張方法およびシステム
WO2021062303A1 (en) Methods and apparatus to identify and report cloud-based security vulnerabilities
US11436131B2 (en) Systems and methods for software testing using a disposable code
JP4848430B2 (ja) 仮想役割
Kirschnick et al. Towards an architecture for deploying elastic services in the cloud
US11609985B1 (en) Analyzing scripts to create and enforce security policies in dynamic development pipelines
CN104462943A (zh) 业务系统中非侵入式性能监控装置和方法
CN105303102A (zh) 一种虚拟机的安全访问方法及虚拟机系统
CN111124615A (zh) 一种虚拟机迁移方法、装置、设备及计算机可读存储介质
US9021479B2 (en) Enforcing machine deployment zoning rules in an automatic provisioning environment
Tang et al. Application centric lifecycle framework in cloud
CN106802805B (zh) 一种适用服务器管理的应用服务管理方法及装置
EP4276665A1 (en) Analyzing scripts to create and enforce security policies in dynamic development pipelines

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP02 Change in the address of a patent holder

Address after: 100086 12, 1201, 3 building, 2 South Road, Haidian District Academy of Sciences, Beijing.

Patentee after: BEIJING SOHU NEW MEDIA INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital 9 building Sohu cyber Building 8 floor 802 room.

Patentee before: BEIJING SOHU NEW MEDIA INFORMATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151021

CF01 Termination of patent right due to non-payment of annual fee