安全|关于云原生应用,这些安全风险了解一下

安全|关于云原生应用,这些安全风险了解一下
文章插图

摘要:云原生应用究竟和传统应用有何不同,安全风险上有何变化?本文将从传统应用风险、应用架构变革带来的风险、云计算模式带来的风险三个维度进行介绍。
一. 概述
随着云计算技术的不断发展,上云已经不再是一种选择,而是一种共识,是企业数字化转型的必要条件。在相应实践过程中,传统应用存在升级缓慢、架构臃肿、无法弹性扩展及快速迭代等问题,于是近年来云原生的概念应运而生,凭借着云原生弹性、敏捷、资源池和服务化等特性,解决了业务在开发、集成、分发和运行等整个生命周期中遇到的问题。
云原生环境中,应用由传统的单体架构转向微服务架构,云计算模式也相应的从基础设施即服务(Infrastructure as a Service,IaaS)转向为容器即服务(Container as a Service,CaaS)和函数即服务(Function as a Service,FaaS)。应用架构和云计算模式的变革是否会导致进一步的风险,这些风险较之传统应用风险又有哪些区别?在讲述云原生应用具体风险前,首先列举以下三个观点,这些观点有助于大家更好地理解本文所讲述的内容。
观点一 云原生应用继承了传统应用的风险和API的风险
云原生应用源于传统应用,因而云原生应用风险也就继承了传统应用的风险。此外,由于云原生应用架构的变化进而导致应用API交互的增多,可以说云原生应用中大部分交互模式已从Web请求/响应转向各类API请求/响应 ,例如RESTful/HTTP、gRPC等,因而API风险也进一步提升。
观点二 应用架构变革将会带来新的风险
由于应用架构变革,云原生应用遵循面向微服务化的设计方式,从而导致功能组件化、服务数量激增、配置复杂等问题,进而为云原生应用和业务带来了新的风险。
观点三 计算模式变革将会带来新的风险
随着云计算的不断发展,企业在应用的微服务化后,会进一步聚焦于业务自身,并将功能函数化,因而出现了无服务器计算(Serverless Computing)这类新的云计算模式,进而引入了Serverless应用和Serverless平台的新风险。
综上所述,可以看出云原生应用带来的风险是不容小觑的。本文将从传统应用风险、应用架构变革带来的新风险、云计算模式变革带来的新风险三个维度分别进行介绍,希望可以引发大家更多的思考。
二. 传统应用面临的风险
云原生应用风险可以参考传统应用风险。传统应用风险以Web应用风险为主,主要包括注入、敏感数据泄露、跨站脚本、使用含有已知漏洞的组件、不足的日志记录和监控等风险。
此外,云原生环境中,应用的API交互模式逐渐由“人机交互”转变为“机机交互”,虽然API大量出现是云原生环境的一大特点,但本质上来说,API风险并无新的变化,因而其风险可以参考现有的API风险,主要包括安全性错误配置、注入、资产管理不当、资源缺失和速率限制等风险。
有关传统应用风险和API风险的更多细节可以分别参考OWASP组织在2017和2019年发布的应用十大风险报告[1]和API十大风险报告[2]。
三. 应用架构变革带来的新风险
3.1 云原生应用带来的新风险
云原生应用面临的新风险主要体现在:新应用架构的出现。新应用架构遵循微服务化的设计模式,通过应用的微服务化,我们能够构建容错性好、易于管理的松耦合系统,与此同时,新应用架构的出现也会引入新的风险,为了较为完整地对风险进行分析,本文将以信息系统安全等级三要素,即机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)作为导向介绍应用架构变化带来的新风险。