DevOps敏捷开发模式已被业界普遍认可并被广泛应用,同时伴随云原生技术的兴起,青睐采用容器编排解决方案来构建和管理应用的企业不胜枚举。但是,应用程序安全测试依赖运行时探针,采用容器编排方案同时也意味着可能存在百万甚至千万个节点,而这个量级的节点无疑为IAST后台探针承载量带来了巨大挑战。因此,IAST检测平台是否支持多种架构部署模式,能否确保每个应用程序能在上线前发现并解决漏洞问题,将成为决定 IAST 检测平台在 DevSecOps 下顺利落地的关键。
1、背景介绍
1.1 何为高可用、高并发
高可用HA(High Availability)是在分布式系统架构设计中,通过设计减少系统不能提供服务的时间,保障业务连续性。举例来说,以时间单位进行统计,系统每运行100个时间单位,如有1个时间单位无法提供服务,那么系统的可用性就是99%。
高并发HC(High Concurrency)是在分布式系统架构设计中,通过设计保证系统能够同时并行处理大量请求。它所涉及的指标有:响应时间(Response Time)、吞吐量(Throughput)、每秒查询率QPS(Query Per Second)、并发用户数等。
1.2 IAST为企业带来的价值
实践发现,单机部署IAST满足小规模应用日常测试没有问题,但是对于大部分IT建设程度完善、应用规模庞大的企业,则需要支持企业级分布式高可用架构,才能确保满足客户的正常测试需求。原因如下:
1)IAST探针技术是伴随应用进程启动的,为保证测试覆盖率,需要尽可能实现每个应用进程都加载探针。
2)CI/CD流水线借助容器发布,在敏捷开发模式下,如果每个子应用每天会发布10-20个迭代版本,那么对于1000个子应用规模的企业,探针至少需要同时支持3000-5000个子应用迭代版本的检测。如果再考虑子应用实际运行的进程实例,还需要支持更多探针同时在线。
3)IAST本身价值在于将安全测试前置到开发测试阶段,并且有个重要前提是,绝不能干扰开发测试过程。当开发测试过程出现意外情况时,难以要求开发测试重复流程,因此需要至少能保证每一个迭代版本的安全测试结果无丢失。
DevSec