云中的应用程序攻击面真的与本地不同吗?

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前, 星球 内第2个项目《仿小红书(微服务架构)》正在更新中。第1个项目:全栈前后端分离博客项目已经完结,演示地址:http://116.62.199.48/。采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 255 小节,累计 39w+ 字,讲解图:1716 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 1300+ 小伙伴加入,欢迎点击围观

不。

还在?好吧,让我进一步解释。整件事的起因是前几天我在上网时偶然发现了这样一个说法:“云应用程序的攻击面与高度受控的数据中心截然不同”。

这让我很沮丧,因为这根本不是真的。

部署在云中的应用程序的攻击面与部署在本地的应用程序相同。我们谈论的是 SaaS 还是 IaaS 并不重要。应用程序的攻击面总是相同的。

应用程序可能会在应用程序层、平台层以及有时*在操作系统层受到攻击。

在过去 15 年中,绝大多数针对应用程序的威胁都针对平台(应用程序或 Web 服务器)或应用程序本身(SQLi、XSS、CSRF、 ETC…)。无论应用程序部署在何处,应用程序堆栈的这两层都是相同的。

云应用程序的 攻击面 保持不变。假设您在云中有一个易受 SQLi 攻击的应用程序。这不应该太过分,因为今天有很多应用程序。只是说。

假设您决定在本地移动该应用程序。在那个“高度控制的数据中心”。

SQLi 漏洞消失了吗?

当然不是。它仍然存在,并且仍然可以被利用。我们可以逆转该过程并猜测是什么,无论该应用程序是“在云中”还是“本地”,它都容易受到攻击(并且可被利用)。

如果它在本地容易受到 Heartbleed 或 Shellshock 或 Apache Killer 的攻击,它在云中仍然容易受到攻击。反之亦然。应用程序的攻击面 不会随着其部署位置而改变。

当您从本地迁移到云端时,发生的变化是您负责保护的内容。

例如,对于 SaaS,您真正可以控制(并最终负责管理)的唯一事情是谁有权访问。这就是 ID 联合变得如此重要的原因;这是我们必须提供的最佳技术解决方案,可以提供对 SaaS 应用程序访问的公司治理级别。

在 IaaS 中,您的责任深入到堆栈中——一直到客户操作系统。您可能还 记得 AWS 全球安全计划负责人 Bill Murray 的以下声明

“客户有责任保护一切,从他们在 AWS 上运行的来宾操作系统到他们正在运行的应用程序,”他告诉 El Reg 。我们负责主机操作系统和虚拟机,以及数据中心地板的一切。”

这意味着应用程序堆栈的操作系统、平台和应用程序层是您在 IaaS 中的责任。有趣的是,它们也是您在数据中心的责任。当您将应用程序放入云端时,这些层——那些攻击面——不会神奇地消失。

当您开始评估在云中为您可能正在“部署”的应用程序需要哪些服务时,请记住这一点很重要。拒绝服务攻击。 WAF。防止数据泄露。访问控制。这些都是应用程序安全服务,它们在云中和在本地数据中心中一样重要——因为应用程序的攻击面不会随着其部署位置而改变。

* 我说有时是因为虽然恶意软件/特洛伊木马在容量攻击期间沉积的速度正在增加,但事实是沉积通常是通过应用程序层发生的。它们并不直接针对操作系统层。