云服务器知识

无服务器安全风险的十二要素

  

近几年无服务器计算的发展带动着新解决方案生态系统的繁荣,这些新的解决方案提供了可见性、实时跟踪、部署框架和应用安全。但是无服务器安全风险意识也逐步上升了,一些愤世嫉俗的人又开始一些老套的“恐惧、不确定和怀疑(FUD)”论调,拿着可能会引发的新的安全问题来说事。

但是,技术发展的过程中必然的都会存在着安全风险,我们不能因为这些风险就固步自封,面对问题解决问题才是最理想、最明智的做法。所以宵云建议大家首先要了解无服务器应用的风险类型有哪些:

1.功能事件

无服务器功能可以消费来源于不同类型事件源的输入,但每个事件源都有属于其独特的消息格式和编码体系。正因为他们的独特性,所以事件消息的各个部分都有可能包含着攻击者控制的输入或者不可信输入,每个部分都需要仔细检查。

2.验证出错

无服务器的模式一惯提倡的是面向微服务的系统设计。其应用中可能包含了数十乃至数百个功能函数,一旦在执行中发生失误,很容易导致在验证的应用上出错。

3.不安全的无服务器部署配置

为了用户的操作简易性,云提供商常常会提供多套配置设置,用户可根据特定需求调整服务。但现今越来越多的公司企业将业务迁移到云端,云配置的漏洞也变得越发普遍,所以现成的设置不一定都是安全的。

4.功能权限和角色权限过高

因为开发人员的“惰性”,导致应用的“通用”权限模型是一种很常见的情况。但是这种情况也是公司企业想要将应用部署到云端面临的最困难的问题。

5.功能监视与日志记录不足

相信绝大多数的云供应商都可以提供非常强大的日志功能,但是在应用层想要执行全面的安全事件审计跟踪时,这些日志却未必都是适用的。

6.不安全第三方库

不安全的第三方库应该不是无服务器所特有的问题,但因为无法应用网络和行为的安全控制,使得在无服务器的环境中检测恶意包变得更为复杂。

7.应用秘密存储

应用秘密存储方面的错误可以说是最常见错误之一。如将秘密简单地存储在明文配置文件中;或是将秘密存成了明文的环境变量等。

8.拒绝服务和金融资源耗尽

无服务器架构趋向于自动化和高可用性发展,然而,没有应用最佳的实践和良好的设计是无法突破瓶颈的。

9.业务逻辑篡改

在很多软件中都会出现业务逻辑篡的问题,不过,无服务器应用比较特别。因为其遵从着微服务设计,包含了太多链接在一起来实现整体逻辑的功能函数。如果没有正确合理的执行,就可能会给予攻击者篡改既定逻辑的机会。

10.异常处理和详细错误信息

与其他标准应用的调试功能来看,无服务器应用的逐行调试更加复杂,选项也非常有限。所以开发人员常常会使用详细的错误信息,加大了泄露敏感数据的概率。

11.遗留/未使用功能&云资源

如果当出现过时的无服务器功能和相关云资源时,应该停止使用。移除过时的组件不仅是为了减少不必要的开支,也是为了消除掉可避免的攻击界面。而过时的无服务器应用组件中可能会包含有老版本功能函数、不必要的事件源、未使用的云资源等等。

12.跨执行数据保留

无服务器平台会为应用的开发者提供本地磁盘存储、环境变量和内存,以便其执行任务。