软件开发既要敏捷又要安全?来看看DevSecOps吧|年度行业研究
编者按:
阔别波澜壮阔的2020年,我们即将迎来充满希望与未知的激荡新十年。科技与资本的双重推动,是这个十年的时代主旋律,也很可能成为下个十年的创新主推力。因此,临近2020年年底,我们推出了“年度行业研究”这个系列,选择了当下最受关注的领域进行系统梳理。这些行业,或正在改写当下新经济格局,或有可能重塑未来商业甚至国际格局,或是36氪读者感兴趣,或是正产生巨大的社会影响。我们也希望用这样的方式,和我氪的读者一起“无限拓展边界”,一起“更先看到未来”。
本文是这个系列的一篇。我们选取了DevSecOps,这一在IT界逐步普及的理念。从云计算到云原生再到DevOps,我们看到,每一次IT理念的变化都意味着开发流程的迭代,这使得企业业务的敏捷化诉求有了基础的技术支撑。而安全,作为业务合规避险的基石,必然也将加入这一次变革——这也是DevSecOps的意义。
降本增效还是合规避险?
过去,企业为快速在市场中占据一席之地,前者的重要性或许更甚。但随着监管环境日趋严格、竞争维度愈发多样,降本增效或合规避险已不是一道单选题。
不过落在实处,二者的融合总有博弈。比如,“安全”作为合规避险的基础,就长期处于如此境地——几乎所有甲方企业在采购/上线安全产品或功能时,都希望安全可以和业务和谐共处,至少不影响业务进展,这也是安全厂商和客户达成合作的重要前提。
找到安全和业务开展适配的节奏,也成为一个值得讨论的话题。
DevSecOps就是这样一种理念。它是DevOps的衍生概念,即将安全(security)嵌入DevOps流程中。其核心为安全前置,强调安全需要贯穿从开发到运营整个软件生命周期的每个关键环节。
DevSecOps自2012年由Gartner 提出后,正逐步吸引业界的目光。国外的一个例子是,在被称作“全球网络安全风向标”的RSA大会上,2020年的10强中有三家企业和DevSecOps相关。而在国内,围绕DevSecOps的讨论也在增多,当前已经出现十余家围绕此理念创业的安全公司,大多数聚焦开发安全层面。
从投融资角度,近一年此领域公司也在不断获得融资,比如「默安科技」于今年11月被披露完成深信服和宁德上汽的增资;「开源网安」在今年10月宣布完成由松禾资本、匠一基金投资的数千万元融资;「悬镜安全」于今年6月宣布完成由红杉中国种子基金独家领投的数千万元融资。
但站在更宽广的维度,作为DevOps的延伸理念,DevSecOps的认知度还不及前者。本文将从DevSecOps的发展历史、促进这一理念发展的驱动力,相关厂商的机遇与挑战入手,以期为读者提供参考价值。
一、开发模式的转变:从“敏捷”到“敏捷 安全”
要对DevSecOps溯源,不得不提近年来IT理念的多次迭代。敏捷,正是企业IT架构支持前台业务的重要考量因素。这一理念贯穿云计算、云原生、敏捷开发、DevOps以及本文的主题——DevSecOps。
进入移动互联网时代后,各类软件应用在各行各业渗透,业务高速发展,用户量激增。面对这种情况,企业要把更多的人力、物力、精力放在业务逻辑的建设上,而非基础设施。换言之,以尽量敏捷、可靠、成本低的方式应对业务需求是它们的诉求。
云计算的出现是一个解法。它改变了IT基础设施和应用实施模式,使得存储、计算等信息服务像水电气等公共设施一样,可以通过网络灵活按需使用。它的最终目标是,在理想状态下,企业后续的IT系统开发完全只需关心业务功能和逻辑实现,其余围绕IT基础设施的内容都不再关心,由云平台提供能力。所以,云计算在带来节省成本的优势之外,也带来效率和速度的提升。
再进一步,要实现彻底的敏捷,不仅需要基础设施上云,业务(应用)“云化”才能真正将“云”的价值发挥出来,而这也正是云原生的核心理念。36氪此前曾对云原生做过深度分析,简言之,云原生应用的兴起让一切组件和相关的服务都在云端解决,这进一步提升了IT在后端对前端业务的支持效率。
在理念落地时,需要IT部门的角色、流程进行相应转换。所以,IT部门的软件开发流程也出现了从瀑布式到敏捷开发,再到DevOps的迭代。
在过去,企业的软件开发过程是传统的瀑布式,即通过制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等6个流程将整个软件生命周期衔接起来。这6个流程有着严格的先后次序之分,只有当前面的流程结束之后,下一个流程才能开始运转。这种开发方式好似瀑布的下落,由此命名为瀑布模型。
但这种开发模式迭代速度慢,会造成人力的阶段性浪费。于是,敏捷开发出现了。
敏捷开发采用“迭代开发”,将软件项目需求分成多个迭代,且每个迭代成果在完成开发、测试、反馈等环节后都可以进行交付。这种模式提高了软件开发的速度,但它注重的是软件的开发阶段,并未兼顾到运维。
所以,DevOps应运而生。它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例,希望使构建、测试、发布软件更加敏捷、频繁和可靠。随着云原生的日渐普及,与之配套的devops理念也被大范围接受。
不过可以看出,DevOps所涵盖的员工角色包括开发人员和运维人员,并不包括安全人员。安全,作为软件开发的保障性因素,仍然被排除在外。DevSecOps由此出现。
传统的安全方式难以满足敏捷的前提,这是因为,在传统安全(渗透测试或人工方式等)的方式下,敏捷会影响研发交付,这是企业所不能接受的。而DevSecOps的理念在将安全融入敏捷过程中,即通过设计一系列可集成的控制措施,增大监测、跟踪和分析的力度,优化安全实践,集成到开发和运营的各项工作中,并将安全能力赋给各个团队,同时保持“敏捷”和 “协作”的初衷。在这一理念中,企业的整个IT团队目标统一,即在保障敏捷开发的基础上,共同背负起安全的责任。
“从2017年起,国际上专注DevSecOps的厂商逐渐多了起来,国内也有越来越多的甲方和厂商开始重视开发安全。它的核心是解决在DevOps敏捷开发模式下,如何柔和地将安全嵌入进来实现安全前置的问题。”国内DevSecOps敏捷安全公司「悬镜安全」创始人子芽曾向36氪介绍。
二、需要流程,也需要工具
安全的本质是为保证业务的连续性和可靠性。DevSecOps在敏捷的前提下诞生,最终目的仍是保障应用的可靠。要达成这一目的既需要体系的规范化,也需要工具的支持——在体系上,要通过流程的设计、项目的管理明确责任,将安全前置;在工具上则围绕软件全生命周期的安全,从代码层面保证软件质量。二者是互为支撑的关系。
体系将安全纳入开发过程中,那么工具对DevSecOps的意义是什么?
Gartner认为,DevSecOps需要注重以下几点:风险和威胁建模、自定义代码扫描、开源软件扫描和追踪、考虑供应链安全问题、整合预防性安全控制到共享源代码库和共享服务中、版本控制和安全测试的自动化部署、系统配置漏洞扫描、工作负载和服务的持续监控等。
DevSecOps框架图
根据云计算开源产业联盟的解读,安全工具自动化以及平台化是DevSecOps的特点,其重点是在体系中嵌入自动化的安全工具,实现DevOps的体系安全。
更深一层解释,这类安全工具是将DevSecOps落地的抓手。在传统的研发过程中,研发与安全割裂,主要是因为安全影响研发效率,但自动化的安全工具可以适用当前的敏捷开发需求。
而且,工具的出现也有助企业在组织结构上将DevSecOps落地。这是由于,IT部门里安全人员的配比常有些失衡。一个说法是,目前大部分企业中开发、运营和安全的比例是100:10:1,安全人员仅占开发人员的1/100。而且,安全人员人才荒的问题早已是业内共识。根据360和猎聘发布的《2019年网络安全行业人才发展研究报告》,近年来国内人才市场上网络安全求职者数量增长缓慢,与人才需求的高速增长极端不匹配,造成了人才缺口不断扩大。有专家预测,2020年网络安全人才缺口将达到140万。所以,通过增大安全人员的配比来实现DevSecOps并不现实,最重要的是让每个研发人员和运维人员都具备安全方面的意识,同时了解安全的工具,尽可能自己成为安全方面的专家,
所以,需要什么样的工具?
答案很简单,正是保证软件安全开发的工具。随着信息化发展,软件应用服务正渗透到各行业和领域,软件应用自身的安全问题也成为焦点。当前全球安全事件频发,代码程序漏洞是关键诱因之一。程序的安全漏洞需要尽早被发现,如果运行中的系统被曝出漏洞,企业会付出比安全前置更高的修复代价。根据美国国家标准与技术研究所(NIST)的统计,在发布后执行代码修复,其修复成本相当于在设计阶段执行修复的30倍。
当前主流的工具类型包括静态应用程序安全测试(SAST)、动态应用程序安全测试(DAST)、交互式应用程序安全测试(IAST),软件组成分析、运行时应用自保护等。静态、动态、交互应用程序安全测试产品,以及软件组成分析都可以让软件得以在上线前发现可能的安全风险,达成安全前置的目的。运行时应用自保护,是在软件上线后实时保证软件安全。
目前,应用程序的安全测试工具市场已经比较成熟,也出现了多种技术分支。不过,静态应用程序安全测试(SAST)、动态应用程序安全测试(DAST)、交互式应用程序安全测试(IAST),虽然名称类似、目的一致,却也不是完全互相取代的关系。
从技术角度,SAST是指不运行被测程序本身,仅通过分析或者检查源代码或二进制文件的语法、结构、过程、接口等来检查程序的正确性。DAST指的是在测试或运行阶段,分析应用程序的动态运行状态。它主要是模拟黑客行为对应用程序进行动态攻击,通过分析应用程序的反应,确定该应用是否易受攻击。IAST是一种较新的技术,由Gartner在2012年提出。这种方式通过代理和在服务端部署的 Agent 程序,收集、监控 Web 应用程序运行时请求数据、函数执行,并与扫描器端进行实时交互,从而识别安全漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。
三种不同的技术路线,也意味着这三类产品在效果以及适用场景上都存在差异。
在效果上,DAST准确率高,但无法访问代码细节,漏报率较高。SAST对应用程序的源代码或二进制文件进行分析,这种方式相比前者更全面,但代码在被检测时并没有运行,所以误报率较高。IAST的方式,基本不会出现误报,精度非常高,但目前对开发语言的覆盖并不全面。当前,IAST由于规避了前两者产品的弊端,在业内关注度较高。
三类产品各有利弊,或许将各类产品放在合适场景下进行结合,能够更全面地满足软件开发的安全需求。比如,SAST比较适用于研发阶段的代码检测,DAST和IAST比较适合QA环节。
三、国内玩家的机会与挑战
当前我们关注到的,围绕DevSecOps理念创业的安全公司也多在提供工具型产品,以及相应的解决方案。再加上此类工具大多在避免应用程序中存在安全问题,这一行业的市场广义涵盖在应用安全中,狭义上属于开发安全。
根据Gartner2020年6月发布的统计数据,全球2019年各项安全类支出总计 1209.34 亿美元,预计2020年将达到1238.18亿美元,其中应用安全市场规模2019年为30.95亿美元,预计2020年将达到32.87亿美元,年增长率达到6.2%,明显高于整体信息安全市场的2.4%年增长率。中国的应用安全市场增速高于全球,市场规模占全球比例达到近三分之一。根据中国云计算开源产业联盟的报告,2019年国内应用安全市场规模达到8.48亿美元,市场规模占全球应用安全市场规模比例达到近三分之一,预计2020年市场规模将达到9.45亿美元,年增长率达到11.5%,高于全球6.2%的增长率。
这其中,上文重点介绍的AST市场增速最快。市场规模占比超过应用安全总体市场规模的三分之一。Gartner 2019年4月发布的报告调查数据显示,应用安全测试市场预计将以10%的复合年增长率增长,这仍是信息安全领域中快速增长的部分。到2019年底,AST的市场规模估计达到 11.5亿美元,市场规模占比超过应用安全总体市场规模的三分之一。我们目前关注到的,主打DevSecOps理念的安全公司也多以AST为基础开展业务。
36氪此前通过和「航行资本」等关注安全的业内人士,以及「开源网安」等安全企业交流了解到,在中国促使该行业增长的原因可能有以下几点:
-
首先是安全事件驱动下的意识提升。最近的例子是在实战攻防演练中,许多系统显露出薄弱性,从代码层保证软件安全是一种解决方式;
第二,以往一些在国内普及的软件安全开发产品有退出国内市场趋势,这会给国内公司更多空间;
第三,现在大型基础软件的自主开发正在进程中,这其中也会产生新的开发安全需求。
不过独立安全公司需要面对的挑战也不得不提。首先,仅仅提供单品类产品是不够的,客户的高阶需求是对软件开发的全生命周期进行管理,建立可清晰度量的安全开发体系。所以对第三方厂商而言,当前不仅需要提供产品,也需要提供可以将新、老产品集成起来的平台,还需要提供服务甚至培训。当前也有一些厂商针对此诉求提供全方位的方案。
另外在客户端,一些技术实力较强的公司会采取自主研发的手段。比如大型互联网公司乃至云厂商会自主研发工具解决内生需求,并尽可能提供给自己的客户。在这种情况下,安全公司需要根据此类客户自身的情况,为其补足能力。整体来看,目前聚焦于此的公司,客户主要分布在金融、能源、政府等领域,如果客户对此类产品较熟悉,那么企业可提供轻量服务。但如果客户需要较全面的贴身服务,则如何通过提升产品力降低人力成本,也成为厂商的挑战之一。
四、参与者概览
当前我们关注到国内在此领域的创业公司有十余家,在此将它们的业务概况稍作展示(排名不分先后)。
悬镜安全
悬镜安全由北京大学网络安全技术研究团队“XMIRROR”主导创立。成立于2014年9月,专注DevSecOps软件供应链持续威胁一体化检测防御,旗下原创悬镜DevSecOps智适应威胁管理体系主要覆盖从威胁建模、威胁发现、威胁模拟到检测响应等关键环节的开发运营一体化敏捷安全产品及以实战攻防对抗为特色的政企安全服务。
默安科技
默安科技成立于2016年,是一家云计算时代的新兴网络安全公司。公司推出贯穿完整业务生命周期的左移开发安全DevSecOps与智慧运营安全AISecOps的下一代企业安全体系。据介绍,公司落地了欺骗防御理念,推出“平台 工具 服务”的全流程安全开发方案以及集南北向和东西向流量监测于一体的云平台运营安全解决方案,希望帮助客户实现安全业务的前置化、体系化、实战化、精准化与智能化。
开源网安
开源网安成立于2013年,致力于让企业交付更安全的软件,为软件安全开发提供全方位的服务,包括咨询、培训、解决方案、专业工具及安全服务等。公司当前为客户提供软件安全开发生命周期 (S-SDLC™) 解决方案、DevSecOps™解决方案、拥有“自主知识产权”的软件安全开发工具链(IAST、SAST、SCA、FUZZ、RASP™)和软件安全开发人才培养课程体系CWASP™。
酷德啄木鸟
酷德啄木鸟成立于2014年,是一家专注软件源代码信息安全业务的科技企业。据公司介绍,其自主研发的CodePecker源代码缺陷分析系统,为国内第一款完全自主知识产权的商用源代码检测产品。
孝道科技
杭州孝道科技成立于2014年,公司专注为用户提供DevSecOps与下一代应用安全解决方案。产品包括IAST、ASTP、代码安全合规检测系统、移动应用安全测试系统、综合漏扫与安全合规检测系统。
海云安
海云安成立于2015年,致力于“可信应用,主动防御”系列应用安全产品研发推广。
其产品分为有四类,首先移动应用安全检测产品,以及安全加固和监管系列产品;第二源码安全分析平台和白盒、灰盒、黑盒安全产品;第三面向安全管理中心,研发的主动安全防御系统和可信应用安全产品;第四应用级系统灾备方案。
爱加密
爱加密成立于2013年,目前拥有移动安全咨询、移动安全培训、移动安全检测、移动安全加固、移动安全感知、移动安全管理等产品体系,可为用户提供基于企业移动信息安全的一体化综合解决方案。这些解决方案贯穿了应用设计评估、安全开发测试、应用优化、应用安全发布及应用上线运营阶段的整个生命周期。
棱镜七彩
棱镜七彩成立于2016年。据介绍,公司建立了国内首家全球开源项目知识库(近1000万个项目,100TB 容量数据),可检测出软件源代码构成、来源、漏洞、自主率、安全协议等信息,提供软件信息安全、科技含量与工作量信息及知识产权评估评测。
中科天齐
中科天齐是中科院计算技术研究所软件安全领域的产业化平台。公司以软件源代码漏洞检测安全智能诊断工具(Wukong)作为核心产品,希望提供覆盖不同开发语言的漏洞检测技术能力,帮助软件提升安全能力。为国内外政府、金融、电信、科技等行业客户提供专业全面的软件源代码漏洞检测解决方案,帮助客户在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞和逻辑漏洞,帮助客户以低成本控制应用程序安全风险。
库博
北大软件CoBOT(库博)团队由北京大学软件工程国家工程研究中心提供研发力量,北京北大软件工程股份有限公司提供商业化运作模式,目的是共同将CoBOT推向更广的市场。公司介绍,目前CoBOT是中国唯一一个通过美国CWE认证的安全产品,技术上属于国内领先、国际先进水平并且程序分析也属于软件工程领域最具技术含量的领域之一。
九州安域
九州安域是网络安全产品及解决方案提供商,其目标是为客户构建安全、稳定、可持续发展的业务系统。提供业务系统端到端安全,在业务系统设计、开发、测试、运维的全生命周期提供安全咨询、代码安全、安全测试、安全评估、渗透测试等服务。
中科微澜
中科微澜科技有限公司是由中国科学院软件研究所入股成立的高科技型信息安全企业。其拥有安全漏洞管理与分析解决方案,通过智能漏洞管理引擎帮助客户了解自身主机安全环境、源代码安全状况及知识产权许可证的合规性情况。据公司介绍,其深耕人工智能技术,研制出独特领先的漏洞挖掘技术,使得软件开发人员、软件经销商、系统集成商和安全测试机构可以很轻松的在软件开发中、软件交付前、主机运行时环境等各阶段中采取合适的预防措施。
鉴释
鉴释成立于2018年,其研发的「爱科识」是基于静态代码扫描(SAST)的下一代源代码分析工具。它使用深层的编译器级别技术来检查数据流,分析软件应用程序,从而提高了缺陷检测的准确性。其可在软件开发生命周期(SDLC)的早期识别代码缺陷。
熠势
上海熠势信息技术有限公司是一家从事软件应用安全行业的公司,产品和方案可以覆盖软件开发的整个流程,致力于将安全性集成到软件开发生命周期(SDLC)中。公司希望和客户一起,在软件开发生命周期(SDLC)早期采用DevOps,缩短反馈回路并且降低复杂性,从而使工程师能够更快、更轻松地检测和修复安全性和合规性问题,快速向DevSecOps 迈进。目前公司业务范围覆盖金融,汽车,IT/互联网等多个行业。
————————————————
相关阅读:
被搅动的万亿5G市场:亿级用户的连接重构与产业互联网的诞生|年度行业研究
全球量子竞赛再加速:百亿美元市场背后,角力量子霸权 | 年度行业研究
36氪新风向 | 大厂紧抓不放,创业者纷纷入局,「云原生」到底有什么魔力?