应用服务器没有开 无服务器应用程序的12个最严重风险( 二 )
5.功能监控和日志记录不足
无服务器体系结构的一个关键方面是它们位于组织数据中心之外的云计算环境中。因此,“内部”或基于主机的安全控制作为一种可行的保护解决方案变得无关紧要。反过来,这意味着为安全事件监控和日志记录开发的任何流程、工具和程序都将过时。尽管许多无服务器架构供应商提供了极其强大的日志记录功能,但这些基本的/现成的日志配置并不总是适合于提供安全事件的完整审计跟踪。为了通过适当的审计跟踪实现足够的实时安全事件监控,无服务器开发人员和他们的开发团队需要将符合他们组织需求的日志逻辑拼接在一起。例如,他们必须从不同的无服务器功能和云计算服务中收集实时日志。这些日志被推送到远程安全信息和事件管理(SIEM)系统。这通常要求组织首先将日志存储在中间云存储服务中。
【应用服务器没有开 无服务器应用程序的12个最严重风险】6.不安全的第三方依赖
一般来说,无服务器函数应该是一小段执行单个离散任务的代码。函数通常依赖于第三方软件包和开源库,甚至消耗第三方远程Web服务通过API调用执行任务。然而,当从易受攻击的第三方依赖项导入代码时,即使最安全的无服务器功能也会变得易受攻击。
7.不安全应用程序的安全存储
与应用程序的机密存储相关的最常见错误之一是简单地将这些机密信息存储在纯文本配置文件中,该文件是软件项目的一部分。在这种情况下,任何对项目拥有“读取”权限的用户都可以访问这些机密。如果将项目存储在公共存储库中,情况会变得更糟。另一个常见的错误是将这些秘密以纯文本形式存储为环境变量。虽然环境变量是在无服务器函数执行中保存数据的有用方法,但在某些情况下,这样的环境变量可能会泄漏并落入坏人之手。
8.拒绝服务和耗尽财政资源
尽管无服务器架构带来了自动可扩展性和高可用性的希望,但它们也有需要注意的局限性和问题。如果应用程序未被设计为正确处理并发执行,攻击者最终可能会使应用程序达到并发限制,并拒绝来自系统其他用户或云计算帐户的服务。
9.无服务器业务逻辑操作
无服务器业务逻辑操作可以帮助攻击者破坏应用程序逻辑。使用这种技术,攻击者可以绕过访问控制,提升用户权限或发起DoS攻击。业务逻辑操作是许多类型的软件和无服务器架构中的常见问题。然而,无服务器应用程序是独特的,因为它们通常遵循微服务设计范式,并包含许多离散的功能。这些功能以特定的顺序链接在一起,从而实现整个应用逻辑。
在具有多个函数的系统中,每个函数都可以调用另一个函数,调用的顺序对于实现所需的逻辑可能至关重要。此外,设计可能假设某些函数仅在特定情况下被调用,并且仅由授权的调用方调用。
无服务器应用程序中的业务逻辑操作也可能发生在单个函数中,攻击者可能在函数执行过程中利用不良设计或注入恶意代码,例如,通过利用从不可信来源加载数据或损坏云计算资源的功能。
另一个多功能调用过程可能成为攻击者目标的相关场景是基于无服务器状态的。例子包括AWS Step函数、Azure逻辑应用程序、Azure持久函数或IBM云函数序列提供的函数。
10.异常和详细错误消息处理不当
无服务器应用程序的逐行调试选项比标准应用程序的调试功能更有限(也更复杂)。当无服务器功能利用本地调试代码不可用的基于云的服务时,尤其如此。因此,开发人员通常会使用详细的错误消息,启用调试环境变量,并最终在将代码移动到生产环境时忘记清理代码。
推荐阅读
- uzi韩服被辱骂,lele发文澄清:我没有喷uzi,误会了!
- 婆婆的面子,导致你们婚姻没有存在下去的意义
- 王者荣耀:一技能可以击杀龙王的3位辅助!低端局没有人用
- 《我的前半生》陈俊生背叛过妻子,为什么没有背叛凌玲呢?
- 如果一个女人嫁给了没有责任感的男人,那一定会不幸福
- 没有沟通的婚姻还能继续过下去吗?
- 没有核酸报告?先救人!
- 王者荣耀:最没用的英雄,阿古朵上榜,最后一个控制差没有伤害
- 王者荣耀出现最神秘账号,出的装备都没有见过,战绩一百连败?
- 人到四十,还没有一个窝,还喜欢四海为家的,后半生就要吃大苦了