applications已成为我们日常生活的各个方面必不可少的。 举几个例子,它们使我们能够:
虽然这些变化起源于 COVID-19 之前,但这场疫情无疑加速了我们对应用的依赖。
混合团队或完全虚拟团队的出现彻底改变了我们的工作方式。 随着 Apple Pay、Venmo、PayPal 等非接触式支付技术的出现,我们的支付方式已经发生了改变。 此外,如今我们在许多国家获取服务(餐馆、飞机、电影院)的方式越来越需要我们携带某些可以(从象征意义上和字面上)打开大门的应用。 因此,应用正在蓬勃发展。
让我们花一点时间来量化。 2019年,全球已有10亿个应用投入使用。 到 2025 年,这一数字预计将增加五倍(IDC,工作负载预测,2021 年 10 月)。
随着我们越来越依赖应用,保护它们免受网络威胁和攻击已变得势在必行。 这是因为,即使是一次攻击或破坏也可能造成严重后果,给个人、组织和社会带来巨大损失。
您是否曾对某个应用感到沮丧,因为它的响应速度变慢,甚至超时,或完全没有响应? 您是否曾有过个人凭证被盗并被货币化的不幸经历?
最近的网络攻击案例已有详尽记录。 我们看到微软、Facebook、Walgreens、T-Mobile等全球品牌受到负面影响或遭到入侵,数百万客户受到影响。
不幸的是,随着应用的现代化,保护它们变得更加困难。 因此,了解应用的结构、它随着时间的推移如何演变以及为什么现代应用设计本质上扩大了攻击面非常重要。
那么,让我们共同踏上现代应用的旅程。
首先,回顾 25 年前,那时的应用都是大型、单片、单一的软件。 它们被安装在单个服务器(为应用程序提供功能的大型计算机)和操作系统(如 Windows NT)上。
多年后,虚拟化使得在单个硬件上安装和运行多个应用服务器并共享其资源成为可能。
接下来是云计算的广泛采用——它提供了按需、无限的计算基础设施,同时避免了在数据中心进行资本密集型的前期投资。
尽管取得了这些进步,应用程序开发人员仍然要求更高的灵活性和更精细的开发能力。 这导致了容器的诞生——虚拟化的下一个迭代。 容器提供了整体应用架构的一个小而轻量的部分来控制和模块化应用程序虚拟化。
让我们以典型的零售移动应用程序为例。 从应用程序开发人员的角度来看,开发可能分为不同的部分 - 例如登录和帐户信息、库存、订单以及报告和分析。 这有助于开发人员添加、交换或修改应用的某个部分,而无需对应用进行重大更改。
整个应用采用模块化设计,通过集群方式提供服务(通常称为微服务)。 此外,将这些应用程序组件(包括它们与第三方应用程序的连接)链接起来的是一个应用编程接口 (API),它促进了连接应用的服务到服务通信(有关此内容的更多信息,请参阅本系列的第四篇博客。)
然而,与此同时,随着技术和架构的发展,应用程序的开发和交付变得更加灵活,复杂性已经成为一个问题。
在过去的二十五年里,我们已经从绑定在服务器机房或数据中心单个硬件上的单体应用程序发展到可以在任何地方构建和部署的基于容器和微服务的现代应用——数据中心、多个云和边缘(使应用程序计算更靠近用户或数据源并最大限度地减少延迟)。
显然,采用周边安全方法已不再可行。 计算曾经只发生在单个服务器上,而现在几乎可以在任何地方进行。 虽然所有这些都需要安全性(显然),但对每个组件应用独特的安全工具同样不切实际。 这几乎类似于一家全球性公司授权每位员工购买自己的保险单(然后单独付款),而不是让员工可以选择加入灵活的团体保险单。
由此产生的难题是,保护应用程序和 API 的安全从未如此困难。 这在一定程度上解释了为什么如今普通公司在安全方面的投资是传统 IT 方面的两倍(IDC,工作负载预测,2021 年 10 月)。 此外,风险从未如此之高,因为违规行为可能对公司和客户造成毁灭性的影响。
观看下面的视频,了解 F5 如何为组织提供技术,确保您喜爱的应用程序受到保护并且您的数字体验始终安全。
在网络安全意识月四部分系列的下一部分中,我们将进一步探讨利用应用和 API 的攻击和攻击者方案,以及组织和应用程序用户如何保持受保护。