APP下载

IAST技术在DevOps开发模型下的实践研究

2021-12-08严敏佳陈中伟李琪瑶封靖川

信息安全研究 2021年12期

黎 曦 严敏佳 陈中伟 田 峥 李琪瑶 封靖川

(国网湖南省电力有限公司信息通信分公司 长沙 410007)

1 DevOps开发模型

软件开发模型可分为3类:瀑布式开发、敏捷开发和研发运维一体化(development operations, DevOps)[1].瀑布式开发为传统的开发模式,它把软件项目的开发分隔成不同的开发阶段,使用里程碑的方式,严格定义了各开发阶段的输入和输出,软件交付的周期较长.敏捷开发使用人们熟知的Gradle,Maven,Jenkins等工具进行自动化的代码编译、打包,大幅提升了业务的交付速度[2].

随着技术的发展,DevOps开发模型得到普遍采用.传统上,软件研发是一个孤岛,研发和运营团队在流程中独立工作,DevOps通过将研发运维一体化,消除了研发和运营团队之间的壁垒,创建了更成熟、更高效的工作环境.相较于传统的瀑布式开发模式,DevOps具有更短的交付周期、更稳定的交付质量[3].但即便在DevOps开发模式下,安全仍独立于整个流程之外,甚至与DevOps成为对立面,其主要原因有2个:

1)时间成本.由于安全独立于DevOps流程,导致安全想要介入研发流程只能打破持续运转的流水线,进行传统的漏洞扫描、人工渗透等费时费力的安全测试,如果遇到业务紧急的情况,安全不得不为业务让步,使得软件极有可能带“病”上线.

2)修复成本.DevOps流程外的安全测试在软件上线前进行,对于此时的软件而言,已经经过了完整的业务研发和功能验证测试.将上线前审查出的安全隐患反馈给研发团队进行整改后,又需要进行新一轮的功能验证.因此,安……

登录APP查看全文