安全|关于云原生应用,这些安全风险了解一下( 六 )
4.2 Serverless应用风险
Serverless应用属于云原生应用,其应用本身与传统应用基本是相同的,唯一区别是应用代码编写需要参照云厂商提供的特有代码模版,而传统应用通常没有这个限制。
Serverless应用属于云原生应用,云原生应用又源于传统应用,因而传统应用面临的风险几乎可以全面覆盖Serverless应用风险,关于风险分析部分可以参考之前传统应用风险的内容,更详细的内容可以参考OWASP组织在2017年发布的Serverless应用十大风险报告[4]。
4.3 Serverless平台风险
Serverless平台主要指FaaS平台,目前主流的FaaS平台分为两种类型,一种是面向公有云提供商的FaaS平台,常见的有AWS Lambda、Microsoft Azure Functions、Google Cloud Functions等,另一方面则是面向私有云的FaaS平台,此类以开源项目居多,且均支持在Kubernetes上进行部署,常见的有Apache OpenWhisk[7]、Kubeless[8]、OpenFaaS[9]、Fission[10]等。类似在IaaS平台上运行虚机、PaaS平台上运行操作系统和应用,FaaS平台较之上述平台的主要区别为其运行的是一个个Serverless函数。FaaS平台自身负责云环境地安全管理,主要包括数据、存储、网络、计算、操作系统等。
4.4 Serverless被滥用的风险
Serverless被滥用具体是指攻击者通过恶意构建Serverless函数并利用其充当整个攻击中的一环,这种方式可在一定程度上规避安全设备的检测。导致Serverless被滥用的原因主要包括以下几点:
1. 云厂商提供Serverless函数的免费试用
近些年,各大云厂商为了用户体验,均对用户提供免费的Serverless套餐,包括每月免费的函数调用额度,这种方式虽然吸引了更多的用户去使用Serverless函数, 但也使得攻击者的攻击成本大幅降低。
2. 用户部署Serverless函数的成本低
由于Serverless服务端托管云厂商的机制,故用户只需实现函数的核心逻辑,而无须关心函数是如何被部署及执行的,利用这些特点,攻击者可以编写对其有利的Serverless函数并能省去部署的成本。
3. Serverless函数访问域名可信
当用户部署完Serverless函数后,需要通过触发器去触发函数的执行,通常用户使用云厂商提供的API网关作为触发器,创建API网关触发器之后,云厂商会为用户提供一个公网的域名,用于访问用户编写的Serverless函数。需要注意的是,该公网域名通常是云厂商域名相关的子域名,因而是相对可信的,鉴于此,攻击者可以利用函数访问域名的可信去隐藏其攻击资产,躲避安全设备的检测。
五. 总结
本文详细分析了云原生应用面临的风险,可以看出,云原生应用相比传统应用面临的风险主要为应用架构变革及新的云计算模式带来的风险,而针对应用本身的风险并无较大变化,因而对云原生应用架构和无服务器计算模式的深度理解将会有助于了解整个云原生应用安全。
参考文献
[1] https://owasp.org/www-project-top-ten/
[2] https://owasp.org/www-project-api-security/
[3] https://netflixtechblog.com/starting-the-avalanche-640e69b14a06
[4] https://www.owasp.org/index.php/OWASP_Serverless_Top_10_Project
[5] https://github.com/apache/openwhisk
[6] https://github.com/kubeless/kubeless
[7 https://github.com/openfaas/faas
[8] https://github.com/fission/fission
- 厨房|刀可切菜灶可加热 儿童厨房玩具安全不能忽视
- 安全测试之渗透测试
- 华为|云计算的到来,在你身边有哪些相关联的。怎么看云计算呢(十九)
- 马云|马云自己\打脸\之前所说的,如今现身西班牙,开12亿游艇!
- 关于时间的12件事,比如为什么从三月份起要把你的钟表拨快些?
- 电子商务|关于电子商务
- 云厂商为什么都在冲这个KPI?
- 安全漏洞|又一新规发布:禁止美企向中企分享安全漏洞,鸿蒙迎来最佳发展机遇!
- 网络安全|数据安全的三大特性!重要性和意义!
- 云计算|云计算的到来,在你身边有哪些相关联的。怎么看云计算呢(十五)
