探索云安全不为人知的12个黑暗面
- 来源:中国信息化周报 smarty:if $article.tag?>
- 关键字:客户,标准发行版,软件层 smarty:/if?>
- 发布时间:2020-10-16 14:18
云本质上是一个计算能力的黑池,而这种神秘性往往让我们陷入一种谜之自信。如果我们不知道自己的芯片在哪里,那么攻击者也不知道。
云本质上是计算能力的黑池(dark pool),而其神秘性也常常让我们掉以轻心,忽略了其鲜为人知的阴暗面。
云计算的发展前景不可阻挡。作为一种通过Internet云服务平台按需提供计算能力、数据库存储、应用程序和其他 IT 资源的服务模式。无论是在运行拥有数百万移动用户的照片共享应用程序,还是要为业务的关键运营提供支持,云服务平台都让使用者可以快速访问IT资源。
通过云计算,使用者无需先期花费巨资投入硬件并用大量时间维护和管理这些硬件。相反地,可以精准配置所需适当类型和规模的计算资源,帮助运作IT部门。使用者可以根据需要实时访问任意资源,而且只需按实际用量付费。
但是,技术的发展往往会伴随双面效应。随着云计算的日益普及,恶意行为者也盯上了这块“大蛋糕”,试图利用云计算漏洞实施攻击活动。
最初,鉴于一些基本原因(包括有关安全性和隐私性的问题),企业对于将数据和工作负载迁移至云端持警惕和怀疑态度。
尽管目前,这种早期的顾忌和恐慌,已经转变成了信任和依赖,但是随着企业对云服务的依赖日趋严重,以及近年来国内外云安全事件频发,企业也开始重新审视云安全问题。
以下是企业在云中开展业务的12个阴暗面,希望可以帮助企业树立正确的安全观,最大限度地发挥云计算的效益。
相同的安全漏洞仍然存在
云实例与台式机或独立服务器其实运行着相同的操作系统。如果Ubuntu 14中有一个后门,可以让攻击者闯入已加固的服务器机房中的机器,几乎可以肯定,同一个后门也会让攻击者闯入在云中运行的服务器版本。我们钟爱的云实例旨在与我们的私有硬件互换,遗憾的是,同样的漏洞也会被替换到云端。
你无法确定自己得到了什么
当启动云设备时,你单击了Ubuntu 18.04或FreeBSD按钮。但是,你确定自己正在运行标准发行版吗?一位在共享硬件托管中心工作的朋友声称,其公司在其发行版中插入了秘密账户,然后干预了ps和top的标准UNIX例程,以确保其活动不可见。他说,存在后门的版本是在考虑客户的情况下创建的,一切都是为了提高客户服务和系统调试的效率。但是,不可否认的是,这种做法也可能会被用于恶意目的。
客户对云计算服务商的信任是无条件的,我们必须坚信他们的廉洁和公正。但是,我们却很难相信其所有员工也都是毫无二心的。
不可控的额外层
云实例通常在操作系统下附带一个额外的软件层,其完全在使用者控制范围之外。使用者可能具有对操作系统的root访问权限,但却不会知道其内部发生了什么。这个大多数情况下都无文档记录可循的层,可以用来对客户数据流执行任何操作。
員工并非为你工作
云服务提供商喜欢吹嘘自己能够为其云实例的安全性和稳定性提供额外的支持和安全团队。而大多数公司的规模不足以支持这样的团队,因此云计算公司很容易解决小公司无法解决的问题。
但有一个问题需要注意,该团队并不是为你工作的。他们不会向你报告安全问题,他们的职业前景与你的企业发展规划没有任何关系。使用者可能不会知道他们的名字,并且唯一的交流方式也是通过不露面的故障单,前提还是如果他们有回信的话。也许这就是你所需要的一切,或者,你也可以双手合十祈祷。
你不知道谁在你的服务器上
云计算的巨大经济优势在于,使用者可以与其他人分摊运维和物理维护的成本。但是代价是,使用者同时也将失去对硬件的完全控制能力。你将不会知道正在与谁共享同一台机器——可能是一些心地善良的教堂修女正在维护一个教区居民的数据库,也可能是一名精神病患者。更糟糕的是,他还可能是一个试图窃取你的秘密或资金的窃贼。
规模经济是柄双刃剑
云计算的绝对优势在于,云计算公司拥有大量的机架和硬件,规模经济意味着成本很低。这有助于降低成本,但同时也会导致单一化,使攻击活动变得更简单。在一个实例中发现的一个漏洞足以快速覆盖成千上万个类似实例。
安全性权衡会导致成本增加
云计算公司已经陷入了困境。他们可以通过关闭分支预测来抵御针对分支预测类的攻击,但这会导致一切运行变慢。那么,他们愿意妥协来降低性能吗?客户愿意接受这样的服务吗?结果是否定的。在云中,较慢的机器没有价格优势。
不同公司有不同安全需求
有些客户可能需要进行数十亿美元的银行业务。但并不是每个客户都需要在云中开展同样的业务,或者具备同等的规模。事实上,一个规模并不适用于所有安全业务,但云计算公司属于大宗商品业务。他们是否具备很高的目标并致力于支持关键应用程序?还是偷工减料为非关键应用程序提供低价套餐?这个问题没有正确的决定,因为每个客户都是不同的,而且实际上,客户也有不同的需求,甚至每个应用程序内的每个微服务都是不同的。
一切都是不透明的
云本质上是一个计算能力的黑池,而这种神秘性往往让我们陷入一种谜之自信。如果我们不知道自己的芯片在哪里,那么攻击者也不知道。但是,我们只是十指交叉地祈祷并假设攻击者无法找到共享我们机器的方法,因为我们自己也不知道机器的分配方式。如果有可以利用的模式怎么办?如果存在一些秘密漏洞可以用来极大地改变这种可能性呢?
攻击者有能力控制资源
云计算的一个关键特性是,它可以自动升级扩容来匹配需求。如果访问请求数量激增,云计算可以启动新的实例来保证性能。
麻烦的是,创造虚假需求非常容易。攻击者可以触发云计算中的某个应用,通过数千次快速访问来启动新实例。如果云计算公司在需求激增时启动新硬件怎么办?如果所有新实例都卡在这个新启动的硬件上怎么办?攻击者可以在触发云扩展后立即请求新实例,这样一来,每个人共享相同内存空间的可能性要大得多。
克隆太多导致攻击面激增
很多云架构师喜欢使用许多小型机器的模块,这些机器可以随着需求的上升和下降而启动和停止。大量克隆的小机器同时也意味着私密数据会被不断克隆。如果有用于签名文档或登录数据库的私钥,那么所有克隆的实例都将拥有该信息。这也就意味着,攻击者有了N个目标,从而大大增加了攻击者瞄准相同物理硬件的可能性。
我们的赢面也许没想象中大
虽然实践起来可能没有那么容易,但针对云计算的攻击已不再是仅存于假设中的事情。云安全的最大优势在于,它是计算能力的一个巨大黑池。攻击者如何才能拨开重重阻碍直击目标?他们闯入同一个内存空间的几率是多少?攻击者能否找到我们?云计算所带来的神秘感使我们内心虚假的安全感逐渐膨胀。事情真的有我们想象的美好吗?可能未必如此。