显而易见地,软件即服务(SaaS)正在持续成长中,也持续被企业和家庭用户所接受。跟据Gartner在2011年7月所公布的消息,SaaS的营收规模在2010年达到100亿美元,而且还在成长中。事实上,Gartner公司预估在2011年会成长20%以上,来到121亿美元。
根据Gartner对SaaS的定义,软件“被一个或多个供应商所拥有、提供和远端管理。供应商透过通用的程序代码和数据设定来提供应用程序,而且采取一对多的模式来提供给签约客户随时取用。可以采取使用量计费,或者其他多种套餐订阅模式”。而几乎每个相关主题的文章或演讲会举的例子都是Salesforce.com,虽然他们是SaaS领域里主要的供应商,但是要知道,SaaS有多种不同的类型。客户关系管理、人力资源管理、云端备份、协作平台、会计审核平台、服务支持中心管理、托管服务和网页/电子邮件过滤等等,不胜枚举。
对于供应商和客户来说,可以明显的看出经济效益,用户使用SaaS的成本,和自己购买软件加上布署的成本比起来是吸引的多。因为集中化的特质,SaaS供应商可以更迅速和容易地去更新以及管理软件和服务,可以直接观察客户使用模式来改善应用程序。而它的可扩展性和以量计价模式对于客户和供应商来说都极具吸引力。另外,它也提供更有弹性的整合能力和开放界面,许多SaaS供应商开始提供社群媒体模式的协作功能或开放界面(APIs)。
虽然SaaS能够提供灵活和具有成本效益的应用使用环境来取代传统模式,但它并非没有风险。因为转移到托管平台,而不是留在自己内部,企业必然会牺牲许多对于营运环境的控制。特别是在SaaS里,你几乎只能选择要上传或不上传某些数据,而剩下的就不是你能掌控了。但是你还是得为自己的数据保护负起法律和监管责任。
SaaS环境下的风险有许多种,而且大多数都和它所提供的好处相关。正如前面提到的,你的供应商透过某些网络分析来了解你对服务平台的使用状况,他们也能够存取你所有的数据,这会产生未经授权存取或被内部员工监控的风险。
系统的集中化特质和多租户(Multi-tenanted)环境底下的单一设定模式意味着,如果有一个漏洞影响到一个客户,那么很有可能会让其他客户也都受到相同的影响。EPSILON数据外泄事件就是一个最近的例子,而它也影响了许多使用同一个SaaS供应商的Fortune 500大公司。弱点攻击可能牵涉的范围很广。如果没有正确地设计,开发和设定的话,多数SaaS供应商会使用的常见协定和软件堆叠,例如HTTP、XML / SOAP、JSON、CSS和JavaScript,都有现成并且常常会被利用的漏洞。如果服务平台提供更大的弹性来允许客制化和外部整合(一个SaaS厂商的重要卖点),就越有机会让一些客户产生出漏洞,而让其他厂商也承受被攻击的后果。这是多租户环境下的必然后果。
五个关键的安全问题要问你的SaaS供应商:
1 - 渗透测试 - 如何以及多常进行整个环境的渗透测试,是否有能力自己独立对部分环境进行渗透测试?如果没有常常进行深入的渗透测试,你就不能得知当前安全状况的全貌。
2 - 数据安全 - 在使用资源共享的SaaS供应商数据中心时,如何对储存和传输中的数据进行加密?谁可以拿到加密金钥?是否有做权责区分(separation of duties),并将加密金钥和数据维护分开负责?供应商是否能提供你SAS 70报告?
3 - 多租户 - 是否有提供单一租户托管的选项?还要确认单一租户是否只包括应用程序,还是也包括数据储存的部份?
4 - 灾难复原 - 当发生灾难性故障、受到外部入侵或数据遗失时,有准备备份和回复的程序吗?备份的数据储存在哪里(再次提醒,需要加密)以及如何有效地回复?
5 - 用户验证 - SaaS应用程序的登入程序为何?是否使用多因子认证?是否可以和客户正在使用中的认证机制做整合?