0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

科技云报到 来源:jf_60444065 作者:jf_60444065 2023-05-12 13:12 次阅读

科技云报道原创

随着云计算技术的进一步成熟,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媒体。获工信部权威认可,可信云、全球云计算大会官方指定传播媒体之一。深入原创报道云计算、大数据、人工智能区块链等领域。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    39

    文章

    7701

    浏览量

    137096
  • AI
    AI
    +关注

    关注

    87

    文章

    29780

    浏览量

    268061
  • serverless
    +关注

    关注

    0

    文章

    65

    浏览量

    4490
收藏 人收藏

    评论

    相关推荐

    计算安全性如何保障

    。无论是数据传输过程还是存储时,都应确保数据的机密性。 传输加密 :在数据传输过程服务提供商通常会采用传输层安全协议(TLS)等加密技术,以防止数据在传输中被截获或篡改。 存储
    的头像 发表于 10-24 09:14 155次阅读

    华为全域 Serverless 8 月更新盘点

    【摘要】 近年来,华为持续构筑全域 Serverless 服务,推出了一系列竞争力领先的 Serverless 产品,包括函数工作流 FunctionGraph、
    的头像 发表于 09-27 00:06 492次阅读
    华为<b class='flag-5'>云</b>全域 <b class='flag-5'>Serverless</b> 8 月更新盘点

    计算安全技术与信息安全技术之间的关系

    一、引言 随着信息技术的快速发展,计算已成为企业和个人存储、处理和分析数据的重要方式。然而,计算的普及也带来了一系列安全问题。本文旨在探讨计算
    的头像 发表于 07-02 09:30 579次阅读

    华为 618 营销季下一体化安全解决方案,打造高效、安全管理平台

    在全球智能化浪潮下,随着企业数字化转型的推进,企业面临的安全挑战会越来越多。如何守好“安全防线”,是企业创新发展亟需解决的问题。为此, 华为 618 营销季 带来了安全可靠的
    的头像 发表于 06-25 16:56 359次阅读

    华为 Serverless 应用中心:一键开启 AI 文生图新时代,引领行业创新浪潮

    随着数字化时代的快速发展,AI 技术已成为推动行业创新的关键动力。华为紧跟时代步伐,全新上线 Serverless 应用中心,为用户提供海量应用模板,实现一键部署函数和周边依赖资源,让您轻松拥抱
    的头像 发表于 03-19 22:57 421次阅读

    华为 Serverless 应用中心崭新上线,一键部署 AI 文生图应用引领创新潮流

    近日,华为再次展现其技术实力,全新推出了 Serverless 应用中心,为用户提供了海量的应用模板,让一键部署函数及关联资源成为现实,极大提升了应用的部署效率。无论是开发者还是运维工程师,都可以
    的头像 发表于 03-19 22:56 475次阅读
    华为<b class='flag-5'>云</b> <b class='flag-5'>Serverless</b> 应用中心崭新上线,一键部署 AI 文生图应用引领创新潮流

    鸿蒙DevEco Service开发准备与使用

    DevEco低代码是一个基于Serverless和ArkUI的端一体化低代码开发平台,可通过拖拽式开发,可视化配置构建元服务。打通HarmonyOS侧与端侧能力,轻松实现HMS Core和AGC
    发表于 02-23 15:40

    鸿蒙原生应用元服务实战-Serverless华为账户认证登录需尽快适配

    一、ArkTS\\\\API9,服务器端基于serverless开发的应用与元服务华为账号注册登录功能暂时是不支持的 二、3月1日后的审核要求 3月1日的时间是快到了。 三、会导致的结果
    发表于 02-20 10:14

    鸿蒙应用/元服务开发实战-Serverless存储没法创建处理方式

    新账户,Serverless存储没法创建 ,没法进行下一步。 解决方式 请按照这个方式修改一下就能正常创建了,浏览器打开控制台输入 window.top.cfpConfig.cloudStorageSwitch=‘off’
    发表于 02-19 11:21

    鸿蒙原生应用/元服务开发-Serverless账户验证码的问题

    在应用/元服务早期使用过程,-Serverless账户验证码的格式是[AGC][应用/元服务名称],如下图。 但是,在最近,[应用/元服务]名称直接变成了【default】,用户收到这种验证码后,心里存有疑虑的,这是哪里配置或者设置的问题吗?大家有遇到同样的问题吗?如何
    发表于 12-27 15:55

    过孔温度,没有我们想象那么高

    过孔温度,没有我们想象那么高
    的头像 发表于 12-07 16:55 469次阅读
    过孔温度,<b class='flag-5'>没有</b>我们<b class='flag-5'>想象</b>那么高

    鸿蒙原生应用/元服务开发-新版本端一体化模板体验反馈

    一、前言 云端一体化模板是基于Serverless服务构建的一套模板,提供了应用生态常见场景需求的代码实现,开发者可将所需能力快速部署和集成到自己的应用。 二、准备 体验最新的远端一体化模板,需要
    发表于 12-05 14:57

    为什么存储安全如此重要?

    存储安全现在非常流行。最近的一项调查显示,95%的IT专业人员正在使用存储。这不仅仅是一种科技时尚,而且将持续存在。预计这一数字将继续快速增长。全球存储市场预计将从2022年的8
    的头像 发表于 12-04 17:07 420次阅读

    科技报道:再现降价潮背后:厂商们的“焦虑”

    降价背后厂商的增长焦虑
    的头像 发表于 11-27 15:15 762次阅读

    华为全新上线 Serverless 应用中心,支持一键构建文生图应用

    近日,华为全新上线 Serverless 应用中心,提供大量应用模板,帮助用户实现一键部署函数和周边依赖资源,节省部署时间,快速上手将应用部署到华为函数工作流 FunctionGraph,并一键
    的头像 发表于 11-13 09:36 566次阅读
    华为<b class='flag-5'>云</b>全新上线 <b class='flag-5'>Serverless</b> 应用中心,支持一键构建文生图应用