王林松, 刘德山, 郭 瑾, 王洪东
(辽宁师范大学 计算机与信息技术学院, 辽宁 大连 116081)
云计算是一种计算模式, 在这种模式中, 各类应用、 数据和IT资源以服务的方式通过网络提供给用户。大量的计算资源组成IT资源池, 用于动态创建高度虚拟化的资源, 供用户使用。提供这些计算能力的资源对用户是不可见的, 使用资源的用户无需关心如何部署和维护这些资源, 这些资源被比喻为“云”[1-3]。在云计算模式下, 计算工作由位于互联网中的计算资源完成, 得到授权的用户, 只需通过网络进行连接, 借助轻量级客户端如手机、 浏览器等即可使用这些资源。
在云计算生态链中, 各类角色可以简单地划分为3类[4]。
1) 私有云计算平台的使用者。这些用户会建设属于自己的基于云计算的私有数据中心, 并通过该IT平台支撑企业的业务应用, 面向内部用户和外部客户提供云计算服务。
2) 公共云计算服务的使用者。这些用户将自己的应用部署到第三方提供的云计算平台上, 或直接使用第三方提供的基于云计算的应用, 即SaaS(Software as a Service)方式。他们不需要关心如何建设云计算平台, 只要向云计算服务提供商订购服务即可。
3) 公共云计算服务的提供者。以Google、 Amazon为代表, 这些企业建设基于云计算的数据中心, 并将云计算中心管理的资源(包括虚拟机、 存储空间、 具体业务、 应用软件等)作为服务出租给最终用户。
无论是中小型企业还是大型企业, 都可以使用云计算服务。既可建设自己的私有云计算平台, 也可使用第三方提供的公共云计算服务, 甚至可以成为公共云服务的提供商, 为其他企业提供公共云服务。建设私有云对企业在资金、 技术、 人员等诸多方面要求较高, 中小企业通过租用方式使用第三方提供的公共云计算服务是个较好的选择。使用公共云计算服务可以帮助这些企业节省IT系统的投入, 通过租用方式替代购买硬件、 软件等固定资产。这样中小企业可以通过使用公共云计算服务, 以较小的投入获得稳定的IT平台。与传统基础架构模式相比, 企业选择公共云计算基础架构会带来节省成本、 资源利用率高、 设备管理简单、 应用部署简化等好处。
云计算节省成本、 提高IT基础架构效率、 应用部署简化等方面的优势已经得到用户一定程度上的认可。但公共云计算是否安全, 这是中小企业选择公共云计算服务必须要面对的问题, 公共云服务提供商为开展业务, 实现通过提供云计算服务盈利, 也必须保证云安全。笔者通过分析当前公共云面临的安全威胁, 设计公共云安全参考框架, 以应对公共云面临的安全威胁, 以期为云用户在选择云服务时提供安全方面的参考。
随着云计算的不断普及, 安全问题的重要性呈现逐步上升趋势, 已成为企业关注的焦点。IDC在2010对企业用户的调研显示, 用户对公共云计算服务的主要担忧就是安全性问题[4], 其中涉及云计算技术的安全风险以及数据监管方面的风险, 对这两方面的担忧远超过其他选项。近年来, Amazon、Google等公司的云计算服务相继爆发的各种安全事故更加剧了人们的担忧。2011年索尼公司从4月17日至6月3日, 先后遭遇数起不同黑客的攻击, 从其美国总部到全球的业务部门, 数据泄漏受影响的用户超过1亿人, 是迄今为止规模最大的用户数据外泄案。2011年5月花旗银行的系统被黑, 36万多个银行卡帐号被盗, 被盗信息包括用户的名字、 帐号密码及其他诸如邮箱地址等信息。要使企业和组织大规模应用云计算技术, 放心将自己的数据、 应用交付给云服务提供商管理, 就必须全面分析并着手解决云计算所面临的各种安全问题。
在传统数据中心中, 应用程序部署在机构的范围之内, 信任边界处于企业IT部门的监控之下, 几乎是静态的。信任边界包括网络、 系统和位于私有数据中心并由IT部门管理的应用程序。通过虚拟专用网络VPN(Virtual Private Network)、 防火墙、 入侵检测系统IDS(Instrusion Detection Systems)、 入侵防御系统IPS(Intrusion Prevent System)以及多因素身份认证等网络安全控制手段来保障数据中心安全。
采用公共云计算服务后, 机构的信任边界变成动态的, 并且迁移到企业IT部门管理和控制范围之外[5]。这种控制权的转移, 使安全责任转移到云服务提供商一端, 对已有的信任管理和控制模式形成了很大的挑战。同时云计算环境下新型服务模式以及虚拟化技术的引入不可避免地带来一系列新的安全问题。客户数据和应用分别存储、 运行在远端云中, 云服务提供商控制云计算数据中心基础架构, 数据是否安全、 云服务是否可靠都是选择公共云计算服务必须面对的问题。公共云服务最终用户主要安全目标有数据安全性和云计算服务可用性及性能。对数据安全性、 云计算服务可用性及性能构成安全威胁主要来源有3方面。
1) 用户数据安全与隐私保护。因为云计算平台, 特别是公共云计算平台的一个重要特征就是开放性, 各种应用整合在一个平台上, 各类软件运行的硬件平台是动态变化的, 没有固定不变的安全边界, 难以实现用户数据安全与隐私保护, 对数据泄漏和数据完整性的担心是云计算平台必须解决的问题。
2) 数据中心软硬件的安全性。由于资源共享, 如果云计算平台运行过程中软件出现错误或硬件发生故障, 将可能导致相关应用无法正常使用, 使存储的数据丢失或损坏, 会降低云计算平台的可用性。从技术层面讲, 云计算要保证不同用户、 不同应用的隔离性。这就需要采用可靠的系统监控、 灾难恢复机制以确保软硬件系统的安全运行。
3) 由于控制权的转移导致的安全问题。IT平台由企业内部控制转移到由云服务提供商管理进而会引发出许多安全问题。
公共云计算的安全管理不应仅局限于使用某种特定安全技术, 应该是覆盖整个云计算体系结构的整体安全策略。由于不同用户针对安全需求存在差异, 云计算平台应具备提供不同安全等级云服务的能力, 并且至少能提供一个最低安全控制列表, 使用户认为其提供的云服务对用户足够安全。简单来讲, 公共云计算平台的安全结构可以分为用户管理、 数据安全、 数据中心软硬件安全和控制权转移引发的安全问题4个层面, 为了保障云计算安全可靠也需要从这4个层面同时入手。公共云安全体系结构如图1所示。
图1 公共云安全体系结构
为确保仅让已知和授权的用户访问和使用云计算中心的计算资源及数据, 同时保护数据及计算资源不被非授权用户访问和使用, 必须对用户身份进行有效管理。用户管理应包括认证、 授权和审计3种基本功能[6]。
为实现用户应用在云端计算, 同时也为保证用户如同在一个可互操作的单一系统上一样访问所有相关云资源, 云服务提供商必须提供联合身份验证。联合是指多个独立资源(物理/虚拟硬件、 软件、 网络、 身份、 相关配置信息等)组合充当单一资源的能力。联合身份验证是使云计算成为可能的一个基本条件。认证是核实用户或系统身份的过程, 用户要使用云计算数据中心资源(包括硬件、 软件及数据)需取得相关信任凭证。信任是指双方能通过身份验证机构定义信任关系的能力。这一身份验证机构能交换凭证(通常是用户名/密码和X.509证书), 然后使用这些凭证确保消息安全, 创建署名安全令牌, 用户通过它们提交任务并接收响应信息。为确保账户安全, 这些信息还需要周期性更新, 比如周期性地修改密码, 并在不需要的时候取消账户登录系统的能力。
授权是确认用户或系统身份后授予使用计算资源和访问数据权限的过程。授权被用来确定用户或服务是否具有执行某项操作所需要的权限。用户的所有操作还应该被审计。审计是指查看和检查有关认证、 授权的记录和活动, 以确定系统控制的完备性、 核实与已有安全策略及过程的符合性, 检测安全服务中的违规事件, 并能给出相应的对策和整改意见。
相对于传统的计算模式将数据保存在自己可控的局域网环境中, 在公共云计算环境中, 用户数据保存在云中, 数据拥有和管理相分离。为实现用户数据安全, 保护云计算中心中的用户数据免遭破坏、 恶意修改或泄密, 在公共云环境中, 要切实保障数据的传输安全和存储安全。
2.2.1 数据传输安全
在非专用或分布式网络环境中, 用户对在网络中交换数据所使用的通信信道控制能力很弱, 通常没有。如果正在交换的数据没有安全地进行交换, 则在这种情况进行认证的意义不大。为保证数据在传输过程中的安全性, 通常采用的方法有两种: 一种通过传输层安全性实现, 通过使用加密网络通信信道, 如使用虚拟专用网络(VPN)在用户和数据中心节点之间提供安全通道, 从而确保传输的数据是安全的; 二是使用数据层的安全性, 不对通信信道进行加密, 而是对所交换的数据进行加密。在分布式系统中第二种方法效率更高, 很容易实现对公共网络上分发的数据进行加密。不管使用哪种方法, 作为云安全的一部分, 都应该确保加密机制是安全的, 这可能需要经常地修改密钥和密码, 利用公钥/私钥系统可以简化信息交换以及以后使用新的密钥更新信息的过程。同时也必须考虑信息安全要求和加密技术对网络运行负荷带来的负面影响, 如资源开销、 传输延迟等, 要寻找安全需要与代价间的平衡。
2.2.2 数据存储安全
用户把数据存储在云计算环境中, 数据的安全和隐私保护将是用户首要关心的问题。一方面, 网络黑客通过技术手段可能会对用户数据造成威胁; 另一方面, 云服务提供商内部管理人员拥有特权, 对用户数据安全和隐私保护存在潜在威胁, 必须采取有效措施预防拥有特权账户的管理人员对用户数据可能造成的破坏。用户在客户端针对敏感数据进行加密可大大降低数据泄密风险。2011年4月到6月索尼网站先后遭到多起黑客攻击, 黑客就是利用Sony Pictures站点网页的安全漏洞进行SQL注入攻击。
数据残留是数据在被以某种形式擦除后所残留的数据碎片, 这些碎片有可能被用来重建原始数据[7]。云服务提供商应保证, 在释放用户存储空间后并在重新分配给其他用户使用前将存储介质上保留信息完全清除。同时还要向用户提供完善的数据备份与灾难恢复功能[8], 这些在保证数据安全方面将发挥重要作用。访问控制方面, 必须灵活融合多类访问控制方法, 如基于属性和基于凭证的方法。
云计算数据中心为云用户提供数据存储、 云计算等服务, 是整个云计算体系结构的核心。为确保数据中心安全, 需要确保两方面的安全性: 一是抵挡来自外部的安全威胁; 二是确保数据中心软硬件平台安全平稳运行[7]。
在物理层面, 一方面要考虑厂房安全, 要极力避免因突发事件(如断电、 地震等)造成系统停止服务; 另一方面云服务提供商还必须对云计算数据中心进行严格管理, 其中包括对数据中心出入人员授权的管理, 保证只有授权人员才可以进入数据中心。针对拥有特权账户的管理人员加强管理(比如所有操作记日志), 防止数据在物理层面被窃取或破坏。同时还需要对云计算中心进行足够的监控, 配置相应的监控设备, 防止数据中心被非法侵入。
云计算服务提供商还需提供云存储的数据及云应用在服务器端的安全性管理, 包括对网络攻击的防护和对病毒的检测和清除, 保障云存储及各个应用的访问独立且互不影响。这类安全功能通常由安全软件提供。安全软件通过用户认证、 权限控制、 访问审计、 入侵检测、 攻击防护等一系列措施对数据中心内部的信息进行保护。其中, 对访问控制的审核、 足够细粒度的权限和加密密钥管管理是保护数据和应用的重要功能。通过身份认证、 安全审查、 数据加密、 系统冗余等技术及管理手段提高云计算平台的健壮性、 服务连续性和用户数据的安全性。
为保证云计算各类应用平稳正常运行, 系统必须对整个云计算平台基础架构进行全面的监控。让系统管理员能随时掌握整个架构的运行情况。监控通常是通过监控软件实现。监控对象包括系统硬件设备如服务器、 存储设备和网络等, 也包括软件如各类应用软件、 数据库、 中间件等。通过对重要系统资源的监控, 检测出系统瓶颈和潜在的问题, 能为运营商及时优化资源, 保证系统可用性及性能提供理论依据, 并能在出现严重问题的情况下进行自动恢复, 以支撑云计算平台的灵活性和高可用性。如监控系统必须监控CPU分配情况、 使用率和负载的实时变化情况, 这样才有可能在某一应用的工作负载发生变化时及时分配相应的资源。监控所产生的结果可以通过监控软件自动进行处理, 也可以提交给系统管理员。监控软件应该具备完整的监控流程管理功能, 能够进行性能阈值设定, 超过阈值后自动发出报警信息, 跟踪报警的原因, 并发出相应的管理指令, 采取相应的操作等一系列工作, 使系统监控处理可以自动完成。此外, 监控功能还需具备一定的预测能力, 通过历史数据分析云计算资源池中的资源消耗趋势、 预测和避免问题发生。
为保证服务质量(QoS: Quality of Service), 用户通常会和服务提供商签署服务水平协议(SLA: Service Level Agreement)。SLA通常是购买第三方服务或提供IT服务时最通用的制定服务标准的方式。首先用户根据自身业务特点提出相应的QoS要求, 为了能在使用相关服务的过程中始终满足用户需求, 云服务提供商需要对服务质量要求进行量化, 并且与用户协商制定相应的SLA; 最后根据SLA内容进行资源配置以达到QoS要求。SLA用于确定云计算服务商实际能够提供给用户的服务, 以及这些服务能达到的水平。当服务提供商提供的服务未达到SLA要求时, 用户将得到相应的补偿。能否按SLA提供云计算服务, 是衡量云服务提供商运营水平最重要标准。除了制定相应的服务水平协议之外, 由于云计算是个新兴产业, 国家还需要在相关领域制定相应的法律、 法规, 以来规范云服务提供商和用户双方的行为。
云计算是一个新兴产业, 商业运作模式还不成熟, 用户与云计算服务商之间在管理范围、 责任认定等问题可能存在分歧, 如何界定云服务是否安全? 制定行业相应的安全标准及其测评体系是解决上述分歧的根本方法[5]。明确定义安全目标, 保护范围及程度, 在账户安全、 数据安全及隐私保护、 数据中心安全和控制权转移引发的安全问题给出标准化测评方法。安全标准可为云用户制定安全目标提供参考依据, 出现安全事故可利用测评方法快速进行责任认定, 解决云用户和运营商之间分歧。
云计算具有很好的应用前景, 同时由于开放性使得云计算又面临着前所未有的安全挑战, 要想大规模应用必须解决安全问题。安全性又是个实时问题, 需要持续不断地进行审视, 因为不但环境会发生变化, 而且随着云计算技术大规模的应用, 需要和需求也可能会发生变化。
参考文献:
[1] IBM. 智慧的地球-IBM云计算2.0 [EB/OL]. (2010-03-01). [2012-04-01]. https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-CN_DP_SPSM&S_PKG=wp_cloud_computing.
IBM. “Smarter planet”-IBM cloud computing2.0 [EB/OL]. (2010-03-01). [2012-04-01]. https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-CN_DP_SPSM&S_PKG=wp_cloud_computing.
[2]罗军舟, 金嘉晖, 宋爱波, 等. 云计算: 体系架构与关键技术 [J]. 通信学报, 2011, 32(7): 3-21.
LUO Jun-zhou, JIN Jia-hui, SONG Ai-bo, et al. Cloud Computing: Architecture and Key Technologies [J]. Journal on Communications, 2011, 32(7): 3-21.
[3]陈康, 郑维民. 云计算: 系统实例与研究现状 [J]. 软件学报, 2009, 20(5): 1337-1348.
CHEN Kang, ZHENG Wei-Min. Cloud Computing: System Instances and Current Research [J]. Journal of Software, 2009, 20(5): 1337-1348.
[4]VICKI CUI, THOMAS ZHOU, FELIX LIU, 等. 白皮书: 中国云计算发展之道 [EB/OL]. (2010-01-01). [2012-04-01]. https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-CN_DP_SPSM&S_PKG=wp_cloud_comp.
VICKI CUI, THOMAS ZHOU, FELIX LIU, et al. White Paper: China’s Loud Computing Development of Road [EB/OL]. (2010-01-01).[2012-04-01]. https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-CN_DP_SPSM&S_PKG=wp_cloud_comp.
[5]冯登国, 张敏, 张妍, 等. 云计算安全研究 [J]. 软件学报, 2011, 22(1): 71-83.
FENG Deng-guo, ZHANG Min, ZHANG Yan, et al. Study on Cloud Computing Security [J]. Journal of Sofftware, 2011, 22(1): 71-83.
[6]房晶, 吴昊, 白松林. 云计算安全研究综述 [J]. 电信科学, 2011(4): 37-42.
FANG Jing, WU Hao, BAI Song-lin. Review of Cloud Computing Security [J]. Telecommunications Science, 2011(4): 37-42.
[7]黄瑛, 石文昌. 云基础设施安全性研究综述 [J]. 计算机科学, 2011, 38(7): 24-29.
HUANG Ying, SHI Wen-chang. Survey of Research on Cloud Infrastructure Security [J]. Computer Science, 2011, 38(7): 24-29.
[8]王德政, 申山宏, 周宁宁. 云计算环境下的数据存储 [J]. 计算机技术与发展, 2011, 21(4): 81-84.
WANG De-zheng, SHEN Shan-hong, ZHOU Ning-ning. Data Storage in Cloud Computing Environment [J]. Computer Technology and Development, 2011, 21(4): 81-84.