与陌生人共享内存和磁盘空间,让软件来强化安全性——还有什么可能会出错呢?虽然安全专业人士正在不断地考虑这些问题,但是当在平台即服务与云安全这个环境中进行考虑时它们之间的相关性变得更高了。云继续吸引大量人气并受到多次审查,这使得现在成为了检查PaaS安全性的一次良机。
虚拟机管理程序仍然是攻击云(包括PaaS和IaaS)最直接和最有效的载体。所以,黑客们仍然致力于破解管理程序或劫持之。把攻击矛头针对管理程序的原因是云计算中的虚拟机管理程序相当于通用操作系统中的root或admin。
就目前而言,一旦管理程序所使用的硬件和固件被破解,那么攻击者不仅能够轻松地对它们进行访问,而且检查问题的能力也变得更加困难。一个被破解的管理程序是很难被检查出的,其部分原因是在这一层缺乏可用的监控软件。这里有一个更明显的检测问题,能够破解管理程序的黑客自然也能够轻松地禁用日志记录以及其他监控服务,或者更糟糕的是,它会向监控系统发送虚假信息。
在平台即服务(PaaS)中所使用的虚拟环境需要防御针对物理和虚拟环境的攻击。针对物理环境中诸多库的标准漏洞在虚拟环境中仍然可被攻击者利用。毕竟,虚拟环境只是物理环境的另一个简单实例。此外,诸如专为虚拟环境而开发的恶意软件这样的漏洞也是一个不幸的事实存在,正如2012年那次事件中所表现的那样。
在PaaS环境的下层中另外受到关注的是存储器映射。当虚拟环境被创建时,会分配若干内存和磁盘空间资源以供使用。程序员开发出向内存写数据的软件,而对象通常作为拆卸过程的一部分被释放,这是不能得到保证的。如果一个被正确部署的持久对象被部署在正确的存储器位置上,那么这个持久对象就可以充当排序的rootkit,并且可以在每一个实例中持续影响环境。
跨租户黑客则是另一个带来安全性问题的来源。其中,配置错误在PaaS安全问题中占据了很大一部分比例。错误配置可能会无意中通过跨租户黑客或授权用户权限提升而造成数据丢失。
虽然我们对于hyperjacking攻击还是束手无策,但是还是有些步骤可以帮助我们最大限度降低或至少量化这些以及其他PaaS攻击所造成的损害。当在PaaS云环境中运行时,还是可以使用一些简单规则的。虽然这些规则不是针对每一个攻击载体的,但是它们至少能够让风险是易于管理的。
PaaS安全规则1:为数据分配数值。在进入云之前,甚至在与供应商达成协议之前,应确定用户将在云存储数据的数值。简单来说,就是一些数据并不适合做共享环境中存储。即便数据已经过加密处理,这一点依然适用,因为当进行密钥交换时,一些攻击载体表现为中间人(MITM)攻击。还要考虑其他数据的数值,例如通常不会考虑雇员数据。
PaaS安全规则2: 对数据进行加密处理。虽然加密处理不能保证安全性,但是它确实能够保证隐私性。但请记住,所部署的机制确实限制了访问。对那些针对管理程序的攻击进行识别能够抵消通过MITM攻击的这种控制。原因可参考规则1。
PaaS安全规则3:强制执行最小权限规则。所有的用户都应被授予确保系统正常运行的最低权限。这是重复的,因为在历史上当软件开发人员在进行内部软件开发时,开发人员已经被授予在隔离主机上的特权访问。当云模式创建和销毁一个临时环境时,发生错误、出现漏洞以及创建永久对象的潜力都为限制访问提供了足够的理由。未能确保隔离将导致用户需要理解规则1。
PaaS安全规则4: 阅读、理解SLA并与供应商讨价还价。服务水平协议(SLA)的内容范畴超出了可用性和性能,它直接与数据数值相关。如果数据丢失或受损,那么SLA规定了具体的赔偿条款。为了进一步提高SLA的有效性,云服务供应商(CSP)必须拥有足够的资产来支付与规则1中数据相关的支出。
云服务供应商们必须证明他们已经对云环境的安全性进行了尽职尽责的检查。问题是安全性审查没有办法检查出复杂的零日漏洞攻击;相反,审查只会检查出已知漏洞。如果用户的站点安全性状态比CSP的更严格,那么可再次考虑规则1。
了解用户的特定威胁环境可以为企业提供在云使用上一般决策的必要周边条件,尤其是PaaS安全性。在某些情况下,迁移至云可为企业用户提供一个保持或者甚至提高企业安全态势的机会。在其他情况下,云迁移会带来新的问题。无论是哪种情况,首先确定数据的数值并使用这一信息将有助于确定前进方向。