科技云报道:Serverless或许没有你想象中的安全

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: Serverless安全性的最佳实践

科技云报道原创。

随着云计算技术的进一步成熟,Serverless已成为引领云计算下一个十年的技术热点。

Serverless能够帮助开发者无需关注服务器、按照实际使用付费且可以享受服务自动弹性伸缩,将更多的精力放到业务逻辑本身。据Gartner预测,2025年将有50%以上的全球企业采用Serverless架构。

尽管采用Serverless已成为大势所趋,但Serverless框架是否真的安全?有人认为,使用Serverless云服务相当于把基础架构托管给了云服务商,一切云服务安全都由云服务商来负责,采用Serverless甚至会比现有的基础云服务更安全。

事实真的如此吗?

Serverless面临的安全风险

Serverless面临的主要挑战是云服务商只负责云的安全性,而不是云中的安全性。这意味着Serverless应用程序不仅仍然面临传统应用程序面临的风险和漏洞,例如:跨站点脚本、访问控制中断、数据库注入、敏感数据泄露、不安全的反序列化等,而且还面临着Serverless架构特有的安全挑战。

风险一:增加攻击面

Serverless函数使用来自各种事件源的输入数据,包括 HTTP API、云存储、IoT设备连接和队列。这大大增加了攻击面,因为其中一些部分可能包含不受信任的消息格式,标准应用程序层保护可能无法正确检查这些格式。如果暴露了用于获取输入数据(例如协议、向量和函数)的连接链接,则可以将其用作攻击点。

风险二:安全配置错误

由于云服务提供商提供的设置和功能配置不安全,Serverless应用程序容易受到网络攻击。

例如,DoS攻击经常发生在Serverless应用程序中,这是由于函数和主机之间的超时设置配置错误,其中低并发限制用作对应用程序的攻击点。攻击者还可以通过插入函数调用来利用函数链接,其中他们延长函数事件的执行时间比预期更长,从而允许DoW攻击并增加Serverless函数的成本。

此外,使用公共存储库(如GitHub和S3存储桶)中未受保护的功能也会由于敏感数据泄露而造成DoW攻击。这是因为攻击者利用公开的函数,其中包含代码中硬编码的未受保护的机密和密钥。

风险三:身份验证中断

Serverless应用程序是无状态的,在其体系结构中使用微服务会使独立函数的移动部分面临身份验证失败的风险。

例如,如果在具有数百个Serverless函数的应用程序中仅对一个函数的身份验证处理不当,则会影响应用程序的其余部分。攻击者可以专注于一个功能,通过不同的方法访问系统,如自动暴力破解等。

风险四:特权过大功能的威胁

Serverless生态系统依赖于许多独立的函数,每个函数都有自己的角色和权限。职能之间的大量交互有时可能导致职能在其权利上享有过多的特权。例如,不断访问数据库并更新其他函数的功能可能是一个巨大的风险,因为它对参与者可见。

风险五:使用已知漏洞的组件

Serverless应用程序通常使用JavaScript(或TypeScript)或Python语言。Python或 JavaScript的开发人员通常使用大量第三方组件来完成不同的任务。这些组件可能存在漏洞,使用它们会使Serverless应用程序容易受到攻击。

保护Serverless安全性的最佳实践

当然,面对Serverless面临的安全风险,企业可以采用多种Serverless应用程序安全最佳实践,其中包括:

不要仅仅依赖WAF保护

拥有WAF很重要,但它不应该是保护Serverless应用程序的唯一防线。如果仅依靠WAF保护,安全性可能会有很大的漏洞。

因为WAF只能检查HTTP流量,这意味着WAF只会保护API网关触发的函数,它不会针对其他事件触发器类型提供保护。如果函数从不同的事件源触发,比如:通知(物联网、短信和电子邮件;代码修改;数据库更改;流数据处理;云存储事件等,则WAF无济于事。

使用自定义函数权限

事实上,Serverless应用程序中超过90%的权限已被过度许可。尽管在考虑Serverless应用功能级别时,设置权限可能会令人望而生畏,但不应使用一刀切的方法。一个常见的Serverless安全错误是设置更宽松且功能更大的策略,未能最小化单个权限和功能角色会使攻击面大于应有的范围。

DevSecOps团队必须与编写函数的开发人员坐下来,查看每个函数的用途并创建适当的函数级别权限。确定每个函数的用途后,可以为每个函数创建合适的权限策略和唯一角色。庆幸的是,整个过程可以使用各种自动化工具来助力。

进行代码审核

Black Duck Software调查了企业中常用的1000个应用程序,发现其中96%都使用了开源软件。研究人员还发现,60%的软件都包含安全漏洞,其中一些漏洞已经存在了四年以上。这使得代码所有权和真实性成为一项严重的安全风险。

随着开源软件的盛行,单个Serverless函数可能包含来自不同外部源的数千行代码。因此,想要提高Serverless的安全性,执行代码安全审计至关重要。

保持对CI/CD的控制

代码漏洞可以通过严格的CI/CD来缓解,即使它听起来很难。

攻击者可能会通过各种方式溜进来,甚至会在不被发现的情况下潜入企业内部造成严重破坏。若要确保不会发生这种情况,必须创建一个策略和策略,以便在生成期间执行代码分析,然后再上线,并确保每个函数都已通CI/CD。

通过AI密切关注所有攻击指标

每天只有几百个函数都可以在日志中生成数十亿个事件,因此很难确定哪些事件是重要的。即使熟悉Serverless应用特有的攻击模式,也不可能扫描所有攻击模式,这就是为什么必须使用AI工具来增加Serverless的安全性、效率和可见性。

使函数超时

所有函数都应具有严格的运行时配置文件,但通常不直观地创建适当的Serverless函数超时。函数的最长持续时间可以特定于该函数。DevSecOps 团队需要考虑配置的超时与实际超时。大多数开发人员将超时设置为允许的最大值,因为未使用的时间不会产生额外的费用。

但是,这种方法可能会产生巨大的安全风险,因为如果攻击者成功注入代码,他们就有更多的时间来造成损害。较短的超时意味着它们可以更频繁地攻击,这被称为“土拨鼠日”攻击,但它也使攻击更加明显。因此,作为Serverless安全性最佳做法,是必须使函数超时。

减少对第三方的依赖

开发人员通常从第三方派生组件,最好检查其来源是否可靠以及它们所引用的链接是否安全,采取此预防措施可避免意外漏洞,务必检查开源平台中使用的组件的最新版本。

大多数开发人员更喜欢在现代应用中使用开源组件,这使得检测任何问题或跟踪代码中的漏洞变得更加困难。最好使用最新版本并及时获得更新,并提前做好准备。

为此,可以定期检查开发论坛上的更新,使用自动依赖项工具,并避免使用依赖项过多的第三方软件。

处理凭证

建议将敏感数据存储在安全的位置,并使其可访问性极其有限,必须特别注意API密钥等凭据。同时,应将环境变量设置为运行时间评估设置,然后在配置文件中部署时间。

最好的方法是定期轮换密钥,即使被黑客入侵,可以确保切断对黑客的访问。每个组件、开发人员和项目都必须具有单独的密钥,并加密敏感数据和环境变量。

保护软件开发生命周期

软件开发生命周期定义了构建应用程序、在整个生命周期中对其进行管理以及简化开发过程。但是,不安全的应用程序可能会带来巨大的业务风险。易受攻击的应用程序可能会导致个人数据丢失,并对企业业务声誉造成无法弥补的损害。

在开发阶段集成安全性可确保授权并确保Serverless应用程序的正常工作,它还涉及不断审查弱点条件,并确保应用程序与安全实践集成。

地理考虑

开发人员应记住,在部署应用模块时,某些地理注意事项可能会对Serverless安全性产生负面影响。从不同地理位置部署的代码可能会产生与代码相关的问题。例如,纽约的开发人员将使用US-East-1时区,而来自亚洲的开发人员将在部署设置中使用完全不同的时区。
**
结语**

毫无疑问,新机遇伴随着独特的挑战。Serverless架构引入了一种新的应用程序开发范例,但是企业在处理应用程序基础结构时,也必须承担额外的安全责任。

因此,在采用Serverless时,需要更谨慎和明智地尝试安全应用程序最佳实践。

【关于科技云报道】

专注于原创的企业级内容行家——科技云报道。成立于2015年,是前沿企业级IT领域Top10媒体。获工信部权威认可,可信云、全球云计算大会官方指定传播媒体之一。深入原创报道云计算、大数据、人工智能、区块链等领域。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
消息中间件 运维 安全
云消息队列 ApsaraMQ Serverless 演进:高弹性低成本、更稳定更安全、智能化免运维
在 2024 年云栖大会上,阿里云智能集团产品专家刘尧全面介绍了云消息队列 ApsaraMQ Serverless 的落地成果和产品进展。此外,我们还邀请到杭州优行科技有限公司中间件消息研发负责人王智洋,分享了 ApsaraMQ for Kafka Serverless 助力曹操出行实现成本优化和效率提升的实践经验。
154 8
|
2月前
|
云安全 安全 Serverless
Serverless 安全新杀器:云安全中心护航容器安全
Serverless 安全防护能力除了支持目前既定的等保合规(漏洞扫描、入侵检测、基线检测等)、安全隔离的能力外还支持 WAF 防火墙、支持通信加密、操作审计、权限管控等能力,也正是有了这些能力的加持,SAE 才能很好的服务了金融、政企、医疗等行业的客户;Serverless(SAE)未来还计划规划更多安全能力为企业保驾护航,包括:代码安全扫描、加密、堡垒机、最小权限、身份与访问管理、以及更多的攻击防护等能力的建设。
|
3月前
|
关系型数据库 Serverless 分布式数据库
揭秘PolarDB Serverless:大促洪峰秒级应对,无感伸缩见证科技魔法!一探云数据库管理的颠覆性革新,强一致性的守护神来了!
【8月更文挑战第13天】在云计算背景下,阿里巴巴的云原生数据库PolarDB Serverless针对弹性伸缩与高性能一致性提供了出色解决方案。本文通过一个电商平台大促活动的真实案例全面测评PolarDB Serverless的表现。面对激增流量,PolarDB Serverless能秒级自动扩展资源,如通过调用`pd_add_reader`快速增加读节点分摊压力;其无感伸缩确保服务平滑运行,不因扩展中断;强一致性模型则保障了数据准确性,即便在高并发写操作下也确保库存等数据的同步一致性。PolarDB Serverless简化了数据库管理,提升了系统效能,是追求高效云数据库管理企业的理想选择。
100 7
|
6月前
|
弹性计算 运维 Serverless
阿里云Elasticsearch Serverless帮助某视觉科技公司平稳应对流量激增
某视觉科技公司借助阿里云Elasticsearch Serverless应对创意资源平台的流量激增,通过服务自动扩缩容,确保流量高峰时的快速响应,降低至少50%的成本。同时,它提供弹性数据容量支持,简化运维,提升开发效率,并保证高精确度的搜索体验。
675 1
|
6月前
|
存储 弹性计算 运维
阿里云Elasticsearch Serverless助力医疗科技企业实现业务提效和加速创新
通过采用阿里云Elasticsearch Serverless服务,某医疗科技企业解决了大规模智能床垫数据存储和分析的挑战。Serverless架构帮助客户降低50%以上的成本,实现资源弹性伸缩,免去运维负担,提高业务弹性和稳定性,企业能更专注于产品创新和用户体验优化。
508 1
|
5月前
|
NoSQL 关系型数据库 Serverless
Serverless 应用引擎产品使用合集之连接RDS、Redis等数据库时,是否需要通过安全组来控制访问权限
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
126 2
|
6月前
|
机器学习/深度学习 运维 安全
阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台
阿里云 ACK One Serverless Argo 助力深势科技构建高效任务平台
101489 8
|
6月前
|
机器学习/深度学习 弹性计算 Serverless
引领未来科技发展的无服务器架构(Serverless)
无服务器架构(Serverless)是一种革命性的云计算模式,它将开发者从传统服务器管理的繁琐中解放出来,提供了更高效、灵活和可扩展的应用开发和部署方式。本文将介绍无服务器架构的概念、原理及其在各个领域的应用,并展望其对未来科技发展的巨大影响。
|
6月前
|
前端开发 JavaScript 小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
亚马逊云科技 Build On -Serverless低代码平台初体验-快速完成vue前端订单小程序
90 0

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    无影云桌面