APP下载

SaaS环境下的安全问题

2013-05-09焦燕廷孙新召

网络安全技术与应用 2013年1期
关键词:虚拟化加密服务器

焦燕廷 孙新召

美亚柏科信息股份有限公司北京分公司 北京 100025

0 引言

云计算(Cloud Computing)是以网络技术、虚拟化技术、分布式计算技术为基础,以按需分配为业务模式,具备动态扩展、资源共享特点的新一代网络化计算模式。云计算中提及的“云”是网络、互联网的一种比喻说法。随着云计算的快速发展,云安全问题日渐突出并得到了广泛的关注。

云计算的服务模式包括基础设施即服务(Infrastructureas-a-Service,IaaS)、平台即服务(Platform-as-a-Service,PaaS)和软件即服务(Software-as-a-Service,SaaS)。SaaS是发展最快、应用最广泛的服务模式,它的特点为通过互联网存取应用服务,用户只需要向软件提供商租用这些应用,应用的升级和维护工作也由软件提供商全权负责。本文描述了SaaS环境下的安全问题,为SaaS应用的开发和使用提供了一定的安全参考。

1 SaaS的发展

SaaS的概念起源于1999年之前。“软件即服务”的常见用法和简称始于刊登在2001年2月的SIIA(Software &Information Industry Association:美国软件与信息产业协会)的白皮书“战略背景:软件即服务”。

1998年,第一个SaaS应用程序由亚特兰大的WebTransit公司开发。最早的SaaS应用是Salesforce.com将其提出的SaaS运用于CRM(Customer Relationship Management:客户关系管理)行业。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。

在中国,八百客于2006年2月推出了全球首个中文SaaS在线企业管理软件平台800APP(CRM),随后推出了全球首个中文应用软件协同开发平台800APP COMPOSITE,于2008年底再次融资成功,成为中国第一家获得海外投资的SaaS企业,是中国SaaS市场的技术领先者及最大的SaaS模式企业管理应用系统提供商和专业服务商,致力为于客户创造长期的价值和潜在的增长,助力中国企业快速有效实现管理自动化。

目前国内的主流 SaaS服务提供厂商有八百客、天天进账网、中企开源、CSIP、阿里软件、友商网、伟库网、金算盘、CDP、百会创造者、奥斯在线等。

2 SaaS应用服务体系架构

SaaS是软件级别的云计算服务,也是最成熟、最出名、应用最广泛的一种云计算服务,在这种服务模式下,用户通过互联网来使用安装在服务提供商那的软件。

在详细的描述SaaS环境下的云安全问题之前,本部分先给出SaaS应用服务体系架构。基于Philippe Kruchten提出“4+1”视图,该体系架构给出了应用开发、物理部署和用户使用这三个角度的视图,如图1所示。

图1 SaaS应用服务体系架构

用户使用视图:从用户的角度给出应用的使用过程。

物理部署视图:描述了软件如何映射到硬件。

应用开发视图:从程序开发的角度出发,给出业务逻辑。

3 SaaS环境下的云安全问题

下面基于SaaS应用服务体系架构(图1所示),描述SaaS环境下的云安全问题。

3.1 用户使用层

在用户通过浏览器登录SaaS云应用系统以及使用该系统的过程中,数据会在客户端和服务端之间不断的传输,传输过程中存在大量的数据的安全性问题。下面从浏览器、身份认证、数据加密三方面说明用户使用层的安全问题。

浏览器:浏览器普遍成为云服务应用的客户端,而所有的因特网浏览器毫无例外地存在软件漏洞,这些软件漏洞加大了终端用户被攻击的风险,从而影响了云应用的安全。换言之,数据传输通道未使用或未完全使用https,是导致云安全问题的一个因素。

身份认证:身份认证分为两种,一种是传统的“账号+密码”身份验证,一种是使用PKI(Public Key Infrastructure:公钥基础设施),PKI是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。传统的“账号+密码”身份验证方式中的密码为静态密码,是由用户设定的一串静态数据,而静态密码一旦设定,除非用户自己更改,否则保持不变。因此,会导致静态密码容易被偷看、猜测、字典攻击、暴力破解、窃取、监听、重放攻击、木马攻击等。采用PKI认证可以解决上述安全问题,但对于同一个SaaS平台上的应用,如果是每个应用的登录都要进行PKI认证,那么用户每天要登录很多系统请求服务,登录的次数越多,就越容易泄露密码,从而降低了整体的安全性,增加了密码被非法截获的可能性。

数据加密:传输过程中数据没有加密,则数据被截获后,隐私非常容易外泄。

3.2 物理部署层

物理部署层的主要组件为路由器、入侵检测、防火墙、交换机、物理服务器和虚拟化环境,每个组件都会存在安全性问题。

路由器:路由器的加密等级不够,则会导致网络不安全,从而进一步致使隐私信息不安全。

入侵检测:入侵检测是防火墙之后的第二道安全闸门,若不使用入侵检测系统,则为黑客的攻击提供了方便,也不能实时监控网络传输以及分析内外部网络的入侵信号,不能及时的实施补救措施。

防火墙:防火墙能根据网络系统的安全策略有效地控制出入网络的信息流,且本身具有较强的抗攻击能力,是否启用防火墙,一定程度上决定着内部网络的信息安全。

交换机:同路由器一样,交换机的加密等级也直接影响到网络信息的安全。

物理服务器:首先是物理环境,服务器运行的物理安全环境非常重要,主要是指服务器机房的设施状况,包括通风系统、电源系统、防雷防火系统以及机房的温度、湿度条件等,这些因素会影响到服务器的寿命和所有数据的安全。其次是服务器是否加密,存放数据的磁盘是否加密,这些将直接影响服务器存储的数据以及其上应用的安全性。再次,服务器是否加固直接影响服务器的安全性。服务器前端是否部署了负载均衡设备,以实现多台服务器之间的负载均衡和高可用性。

虚拟化环境:虚拟化技术(Virtualization Techniques)是在软、硬件之间引入虚拟层,为应用提供独立的运行环境,屏蔽硬件平台的动态性、分布性、差异性等,支持硬件资源的共享与复用,并为每个用户提供相互独立、隔离的计算机环境,同时方便整个系统的软硬件资源的高效、动态管理与维护。虚拟化技术是云计算的三大核心技术之一,其应用的安全性问题是因为云安全研究的重点。虚拟化环境如图2所示。

图2 虚拟化环境

在虚拟化环境中,虚拟化安全问题体现在虚拟机层、虚拟化平台层和虚拟化环境三方面:

(1)虚拟机层

虚拟机层安全问题分为数据存储和虚拟机两方面,而虚拟机的安全问题体现在虚拟镜像文件和操作系统内核上。

数据存储:“一种数据是不能丢,但是可以泄露,可以放在云端;另一种是绝对不能泄露,不能放在云端”,数据存储安全问题指的就是数据泄露问题,有以下六点:

①上面提及的路由器、入侵检测、防火墙、交换机和物理服务器是否做好安全措施,是能否保证数据存储安全的一部分原因。

②文件和数据库信息是否加密,也影响存储数据的安全性。文件加密:只对涉及到安全信息的文件进行加密,并且根据文件长度和秘密等级选择合适的加密算法。数据库加密:因为对数据库的所有信息都加密,将会导致索引检索等功能不能实现,所以可只对敏感的数据字段加密。

③用户数据隔离存储。首先,一个用户一个数据库,用户数据隔离级别最高,安全性最好,若出现故障,数据比较容易恢复,但成本很高。其次,用户数据只是逻辑上隔离的话,如果出现故障,数据恢复比较困难,因为恢复数据库将牵扯到其他用户的数据。

④密钥保护:在对文件等进行对称加密算法后,对该对称算法的密钥(如图3所示)是否使用非对称加密算法加密,例如RSA(公钥加密算法,1977年由Ron Rivest、Adi Shamirh和Len Adleman在美国麻省理工学院开发的)算法是一种非对称加密算法,直接影响数据的存储安全。

图3 密钥

⑤服务提供商内部窃取用户数据,非常影响数据的存储安全性,大多时候,数据信息的泄露是由人为故意导致。

⑥数据存放在物理服务器和虚拟机系统中。在服务器灾备管理不完善导致服务中断、服务提供商倒闭使得服务无法继续提供等情况下,若服务没有数据的备份及恢复功能,数据就会随着服务的关闭或中断而丢失。

虚拟机镜像:在虚拟化环境里,一个虚拟机镜像会被大量复制,将会造成大量服务器都存在相同漏洞。

操作系统内核:虚拟主机是病毒、木马的重要攻击对象,因此操作系统内核是否采用加固技术,计算/存储节点、虚拟主机等是否得到保护,也是数据存储安全的一个保证点。

(2)虚拟化平台层

虚拟化平台的核心是虚拟机监控器(VMM:Virtual Machine Monitor),负责监控和管理其上的各个虚拟机(VM:Virtual Machine)。虚拟化平台承载了大量虚拟机,须重点防护和管控。多个虚拟机运行于同一个虚拟化平台,若虚拟化平台未做好网路隔离,恶意攻击者可轻易对其它虚拟机发动攻击。

(3)虚拟化环境

在一个虚拟机系统中,由同一管理员负责管理数据中心、服务器和网络等,失去了“1+1>2”的分管机制特征。

由于云的动态调度性,虚拟机可以从一个虚拟化平台迁移到另一个虚拟化平台。对有着不同安全级别及防护需求的虚拟化环境,传统的安全防护机制不易将安全策略套用到对应的虚拟机,造成安全管理上极大的复杂性。

在虚拟化环境中,管理员很容易添加或启动一个非法的虚拟机。此外,虚拟机镜像是以文件的形式存在,可随意复制与散播,不但内部员工更容易监守自盗,攻击者入侵后更可轻易地复制一个完全相同的运行环境。

3.3 应用开发层

应用开发层分为页面展示、配置管理、接口控制、业务逻辑和数据访问五部分,主要的安全问题如下。

(1)页面展示层是否有辅助性的安全设置,比如密码控件、图片验证码、手机确认码等。

(2)若未对用户输入的合法性进行判断,容易发生注入问题,例如SQL注入,SQL注入是指通过把SQL命令插入到Web表单递交,或者是输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通过SQL注入可以获取数据库信息,导致隐私泄露。

(3)权限配置是否完整,即功能权限或者数据权限是否清晰正确,将会导致用户数据是否泄露给其它用户,从而引发数据安全问题。

(4)数据库中数据是否隔离以及隔离的级别等影响了数据的安全性,隔离级别越高,越不容易泄露用户信息给其它用户。

4 结论

本文从SaaS应用服务体系架构的用户使用、物理部署和应用开发三个层面出发,分别分析了SaaS应用存在的安全问题,说明SaaS应用需要注意的安全问题非常多。本文只给出了安全问题,下一步工作是通过分析问题,结合实际应用,提出问题的解决方案。

[1]王鹏.走进云计算[M].北京:人民邮电出版社.2009.

[2]冯登国,张敏,张妍,徐震.云计算安全研究[J].软件学报.2011.

[3]余娟娟.浅析“云安全”技术[J].计算机安全.2011.

[4]田维珍,郭欢欢,王连清.SaaS安全技术研究[J].计算机安全.2010.

[5]http://www.zdnet.com.cn/wiki-Cloud_Service.

[6]Philippe Kruchten.The 4+1 View Model of Architecture[J].IEEE Software.1995.

[7]方晶.云计算的虚拟化安全和单点登录研究[D].北京交通大学.2011.

[8]http://www.soft6.com/news/201109/30/202048.html.

[9]刘国萍,谭国权,杨明川.基于云存储的在线备份安全技术研究[J].电信科学.2010.

[10]陈兰,许力.云存储服务中可证明数据持有及恢复技术研究[J].计算机研究与发展.2012.

猜你喜欢

虚拟化加密服务器
一种新型离散忆阻混沌系统及其图像加密应用
通信控制服务器(CCS)维护终端的设计与实现
一种基于熵的混沌加密小波变换水印算法
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
加密与解密
中国服务器市场份额出炉
H3C CAS 云计算管理平台上虚拟化安全防护的实现
得形忘意的服务器标准
计算机网络安全服务器入侵与防御