从历史的角度来看,应用安全一度在应用交付中被忽视。这是因为将高标准的安全性整合到应用的各个环节中,需要大量时间去测试和迭代,这会大大降低应用的开发速度和增加成本预算。
Radware注意到,随着企业不断优化和加速应用开发周期,越来越多的应用在公共云中交付,安全性就成了公有云应用不得不正视的巨大挑战。公有云上的应用通常在新架构中运行,这些新架构可以提供前所未有的效率、灵活性和成本效益。开发工具的流行,进一步加快了应用的开发和部署步伐, DevOps越来越多地在应用交付中发挥积极作用。自动化平台、强大的业务流程框架、开源工具包和可视方案等越来越多地在公有云环境中均扮演重要角色,这也为公有云引入新的安全风险。例如DevSecOps作为DevOps的安全组件,虽然将安全尽职调查纳入驱动速度、敏捷性和持续交付的流程中,但是如果DevSecOps缺乏自动化和可视化,对应用的保护能力就会较差,进而不能对连续交付流程提供有保障的安全性。
云生态环境:容器、微服务和服务网格
越来越多的容器、微服务和服务网格出现在了公有云环境中。Radware注意到,从单片架构过渡到微服务架构,使得企业更频繁地部署应用,以更可靠的方式独立交付不同的微服务。容器技术与微服务完美匹配。每个微服务都可以跨越多个容器部署,以实现快速弹性部署,既提高了应用质量又缩短上线时间。
服务网格在微服务体系结构中处理服务间通信的层级。其目的是通过负载平衡、遥测、流量路由、运行状况检查等提供弹性,以降低微服务体系结构的复杂性。
向微服务架构过渡的诸多挑战中有一些挑战与提供对象的规模有关。在单片时代,很少有单片Web实例需要负载平衡。而如今,成千上万个自动生成的容器需要负载均衡。
云上应用的安全挑战
Radware的安全专家指出,微服务架构和服务网格基础架构提供了所有功能,却无法化解应用和数据安全挑战。云上的应用除了面临与过去相同的安全挑战之外,还要面临微服务应用的分布式特点导致的延迟、拓扑结构改变以及并行管理多个微服务的挑战。
开放式Web应用安全(OWASP)为专业人员提供了主要的Web应用安全风险提示。而注入、身份验证被破坏、跨站点脚本(XSS)和敏感数据泄漏只是与公有云以及公有云应用相关的几个风险示例,并不是全部。
当前的Web应用大量使用API,如物联网(IoT)应用,机器对机器通信、事件驱动的Web应用,Web框架中的自动操作,功能即服务(FaaS)应用,移动应用等都会涉及API。所有这些用例均指南北通信,即客户端到应用的流量。这些用例的大多数API带有JSON主体(REST-JSON)的REST API。一小部分API是基于XML结构化数据格式的简单对象访问协议(SOAP)。
由于这些API在HTTP协议之上运行,大多数Web应用的安全风险与其他应用相同。只是由于API可以单独提供,因此围绕授权和访问控制,API带来了额外的安全挑战。
随着API的采用日益广泛,OWASP组织制定了API安全项目,并发布了OWASP API Security十大版本。提及的API安全风险的示例:包括级别授权、过多的数据暴露、缺乏资源和速率限制以及恶意代码注入,所有这些风险都可能导致数据被盗窃或服务被中断。