如何在DevSecOps道路上快速、安全地抵达终点

该调查结果无不标志着安全责任正从原来的安全运维团队逐渐扩大至软件开发团队内的每个成员身上,开发人员和运维团队之间的界限越来越模糊,即将Sec深深融入DevOps骨髓之中。

近年来,移动互联网的迅猛发展给人们带去不少便利,在软件安全领域内,一种名为敏捷开发的模式正悄然流行,而可打破业务隔离、提高效率的DevOps(开发运维)也受到了广泛欢迎。DevOps是开发(Development)与运维(Operations)相结合的称呼。在DevOps理念下,软件开发人员和运维人员紧密合作,以促进软件及应用更有效率的进行快速迭代。

然而,软件开发周期的缩短也带来了一些弊端。相比拥有更长开发周期,为确保软件稳定性与安全性提供充足时间的传统开发模式,敏捷开发模式由于软件版本频繁迭代,开发周期被压缩,出现安全漏洞的可能性也就更大。

DevSecOps,将安全植入开发运维骨髓

据国家互联网应急中心发布的《2019中国互联网网络安全报告》称,国家信息安全漏洞共享平台(CNVD)收录的安全漏洞数量创下了历史新高,同比上年增长14%,其中应用程序漏洞(56.2%)、Web应用漏洞(23.3%)和操作系统漏洞(10.3%)占比前三。

图1: 2019年CNVD收录的安全漏洞占比按影响对象类型分类统计(来源:CNCERT/CC)

数据背后,无数教训已让众多开发团队和企业意识到了安全的重要性,以及安全问题所引发的灾难性后果。一种全新的开发理念DevSecOps(开发安全运维),就这样应运而生。开发团队需要在软件开发的整个生命周期内将Sec,即安全(Security)融入DevOps实践。要在DevOps里严格地执行安全理念和活动,除了展开定期的安全培训以外,还需要安全团队进行攻防演练等。

要将DevSecOps这种新的组合工作模式付诸实践,首先需要所有的团队及成员都具备严谨的安全思维。然而DevSecOps在企业内部的落地往往会遇到阻力,一是高层领导不给予足够的重视和支持,业务负责人也不鼓励加强安全措施,二是DevOps实践的初衷是加速开发流程,而加入安全监督环节则被认为与DevOps所追求的高速开发背道而驰。

如果将软件产品开发生命周期比作一段道路,起点是需求分析,终点是产品交付。人们步行抵达终点,犹如采用传统的软件开发模式。而采用DevOps的敏捷模式,利用辅助工具产品及平台,就好比坐上了一辆车,可以开车快速地抵达终点。但若车开太快且车速不可控,则很容易发生安全事故。我们需要的应当是具备精良速度控制机制和刹车系统的,安全可靠的载具。

AST,多行业应用安全漏洞检测不可或缺

为了帮助企业提升产品研发效率和质量,同时实现DevOps和Sec两个目标,可在软件开发的初期便进行介入和预防,借助工具提升代码安全检测的效率。因此AST(应用程序安全漏洞测试)软件成为了首要选择。AST领域包含SAST(静态测试)、DAST(动态测试)和IAST(交互式测试)这三类测试方法。

如果开发者能在左移测试(Shift-Left Testing),即在开发生命周期的初期使用SAST工具,则可以有效地提升代码检测的准确性和效率,极大地降低时间、资金、人力等资源的消耗。而市场对于SAST工具的核心要求便是扫描效率高、速度快、准确率高。鉴释目前提供的SAST核心产品就可以有效融入软件开发生命周期(SDLC)中,为DevSecOps实践提供最大的帮助,鉴释IAST产品的开发也正在快速进行中。

目前除了IT行业,许多传统行业,例如金融、能源、工业、教育、医疗等都有软件安全的需求, 此时AST类的工具就该上场了。但面对多场景的应用,安全团队不应该一味照搬公式,而是应该像给软件和代码做诊断的医生一般详细地了解、分析应用的行业背景、需求、痛点以及未来计划等。缺乏细致、持续沟通的解决方案只能解决一时之急,鉴释立足于目前核心的SAST产品,细心打磨自主解决方案,提供更快速、高效、持续的响应,已经帮助多行业的开发团队安全、快速的走完开发周期。

除了工具提供的辅助外,团队上下对安全的重视程度也相当重要。Gitlab今年发布的第四次全球DevSecOps年度报告称,安全团队不再是“局外人”,开发和运维人员的跨团队紧密合作达到了前所未有的程度。“安全”,则变成了团队每个成员都应该秉持的理念。该报告数据显示,近30%的受访者认为团队内的每个人都应当将软件安全视作己任,而20%的受访者认为开发人员也应挑起软件安全的大梁,而不是只拘泥于开发。

图2:Gitlab对于团队内部安全责任分担问题的调查结果

该调查结果无不标志着安全责任正从原来的安全运维团队逐渐扩大至软件开发团队内的每个成员身上,开发人员和运维团队之间的界限越来越模糊,即将Sec深深融入DevOps骨髓之中。

作者简介

吴翔,上海鉴释科技公司产品开发总监,主要负责内部DevOps流程管理、产品测试及客户售后的技术支持和服务。

来源:业界供稿

0赞

好文章,需要你的鼓励

2020

11/23

16:12

分享

点赞

邮件订阅
白皮书