0简介2020年RSA大会于2月24-28日在美国旧金山如期召开。今年大会的主题是“人的因素”。安全发展的最深远主题。基于与会者的热情,RSAC发布了2020年网络安全行业十大趋势,DevSecOps再次成为大家关注的焦点之一。其中,被誉为“全球网络安全风向标”的RSAInnovationSandbox,前十大安全厂商中近半数专注于应用安全领域。BluBracket和ForAllSecure是今年DevSecOps领域创新厂商的代表。作为国内DevSecOps的主要推动力之一,在此系统回顾近年来DevSecOps战略框架的发展,并分享我们在过去几年探索出的切实可行的解决方案。1什么是DevSecOps?1.1DevSecOps的定义DevSecOps(DevelopmentSecurityOperations的缩写),是一种基于DevOps体系的新型IT安全实践战略框架,由Gartner咨询公司研究员DavidCearley于2012年首次提出,它结合了一种新的安全管理模式的制定、安全运营理念。2016年9月,Gartner发布报告《DevSecOps: How to Seamlessly Integrate Security into DevOps》,对模型及配套解决方案进行了详细分析。其核心理念是:“安全是整个IT团队(包括开发、测试、运维、安全团队)所有成员的责任,需要贯穿于整个业务生命周期的每一个环节。1.2DevSecOps的意义随着云计算、微服务和容器技术的快速普及,不仅IT基础设施发生了翻天覆地的变化,政企组织的业务交付模式也迎来了翻天覆地的变化,传统的SDLC开发模式正在向DevOps敏捷开发和持续交付模式在业务应用交付规模不断扩大、交付速度不断提升、开发运营场景融合的大环境下,如何保障业务安全成为安全部门面临的一项相对艰巨的任务。大问题,DevSecOps就是为了这个目的应运而生的。通过全新的方法论和配套工具链,将安全能力嵌入到整个DevOps体系中,在保障业务快速发展的同时,实现安全内生自生。DevSecOps的广泛应用,将标志着软件供应链的安全保障进入新时代。将安全作为管理对象的一个??属性,从软件供应链开发初期就开始全生命周期的安全管理,将彻底提高企业和企业的安全性。组织在软件和IT基础设施方面的当前安全状态。1.3DevSecOps实践的关键作用如前所述,如何将安全无缝、软的集成到敏捷和DevOps开发中,是DevSecOps的重点。总的来说,文化、技术和流程的协作在DevSecOps的实施中起着重要作用。◆文化:协作共识传统文化:业务发展是重中之重,安全是后事,会阻碍业务发展。DevSecOps文化:安全是每个人的事。每一个DevSecOps项目都不是单纯安全部门的事,而是涉及安全和产品、研发、测试、运维等部门的项目,安全人人有责。◆技术:DevSecOps持续自动化背后的理念是安全前端,从开发源头进行威胁管控,相关工具链技术不仅可以实现需求设计阶段的威胁建模,开发测试阶段的威胁发现,还支持JenkinsPipeline等CI/CD,支持DevOps敏捷开发和快速部署。◆流程:软低侵入软低侵入是指配套工具链技术的实施对原有业务流程的影响尽可能小。一个好的实践方案是尽可能依托企业原有的开发测试平台,如安全工具接入码管理、项目管理和第三方单点登录系统等平台,做到透明化尽可能为政府和企业用户提供自动化服务。2从RSAC看DevSecOps的演进2.1RSAC2017◆明确DevSecOps实践的主要内容,并提出安全向左转移的思路2017年DevSecOps被引入RSAC,大会还专门为其设置了研讨会.DecSecOpsAgency总监ShannonLietz在本次研讨会上分享了一个专题。她认为DevSecOps是一种系统的方法论,由战略驱动,产品是通过最初的创造和基于真实有效的反馈的持续改进而实现的。价值、运维、安全等方面需求的实践,通过开发、运维和安全团队的共同努力,将安全和合规作为属性嵌入到全流程中,并通过配套工具链进行支撑。图2.1RSAC2017DevSecOps组织总监ShannonLietz对“DevSecOps”的定义政府和企业组织的破坏性影响。?安全工作阵线(左移)。通过在软件开发的早期阶段集成安全环节,降低解决问题的成本。早期介入的内容主要包括对开发测试人员的安全意识培训、对coder进行安全开发规范培训、前期引入安全需求(非功能需求)、开发及时的源代码审计工作、上线前安全审查等。运行阶段增加的内容主要集中在验证新的安全需求的实现和软件的整体安全评估。虽然在DevSecOps模式下,安全工作环节有所增加,但从整个软件生命周期的开发和维护成本来看,及早发现问题将大大降低安全成本。?软嵌入现有开发流程体系。为了避免安全工作成为应用开发和交付的障碍,DevSecOps采用快速迭代的开发方式。安全技术的实现与现有的开发平台无缝对接,将安全工作引入现有的开发流程和工具,包括安全需求导入统一的需求管理流程和工具,安全测试工作与CI/CD(持续集成)对接/部署),安全测试结果被导入缺陷管理工具,以及许多其他环节。通过RSAC2017的DevSecOps研讨会不难发现,DevSecOps此时在国际上还处于起步阶段。DevSecOps目前还没有通用的标准或者实践指南,但是对于DevSecOps实践的主要内容已经有了比较统一的业界共识。2.2RSAC2018首先提到了“GoldenPipeline”的概念,强调了支持RSAC2018的自动化工具链,一个新的概念“GoldenPipeline”,译为“黄金管道”,具体指的是一套稳定的、可实施的、安全的方法CI/CD软件流水线系统的自动化应用,其中工具链的自动化支持程度是降低调度成本、实现快速迭代的关键,为DevSecOps提供了一种易于理解和实现的方法。其中,DevSecOps开发安全涉及以下四大关键安全活动:“Golden-Gate”、AST应用安全测试、SCA第三方组件组件分析、RASP运行时应用自我保护。综上所述,要真正实现DevSecOps黄金流水线的有效实施,关键在于如何降低调度成本,提高自动化效率,而这又取决于流水线中工具链的自动化支持程度.图2.2DevSecOpsGoldenPipeline开发流程体系?Golden-Gate安全门同行代码审查,由2名以上经验丰富的工程师进行代码审查,经过反馈和讨论,如果结果通过,代码将通过“Golden-Gate”进入真正的Golden”Pipeline,这个过程被形象地称为Golden-Gate,象征着通过这座桥正式进入高度自动化的GoldenPipeline。?AST应用安全测试AST(ApplicationSecurityTesting)包括传统SAST白盒静态应用安全测试、黑盒DAST动态应用安全测试和新一代IAST交互式应用安全测试技术。SAST的优势在于CI阶段引入的代码安全审查辅助,并且可以支持多种语言。缺点是对执行流程不可见,误报率太高。传统商业SAST工具的误报率甚至高达40%。人员造成了严重的维修和调查负担,实际着陆效果一般。DAST主要依靠网络爬虫技术,可以实现应用平台无关性,更好地支持人工测试和调试,但其缺点也很明显,检测覆盖率低,对SPA框架等现代复杂应用的支持较差,执行力低效率。等,更适合上线后进行资产安全扫描。与传统的SAST和DAST相比,IAST技术是Gartner提出的新一代交互式应用程序安全测试技术。它通过运行时检测、流量代理/VPN或绕过流量镜像等技术手段收集和监控Web应用程序数据。利用流量并与检测分析引擎实时交互,高效准确地识别安全漏洞和漏洞,同时准确定位漏洞所在的代码文件、行号、函数和参数。目前业界有争议的是IAST技术是否仅限于运行时检测?笔者认为,应该从更广阔的角度来看待这个问题,从发展的角度来评估这项新技术的引入对政企发展用户CI/的影响。CD链路业务安全测试能力提升带来的巨大价值。从IAST最初的定义和引入这项技术的初衷来看,代理/VPN、绕过流量镜像、主机流量嗅探等技术也是交互测试的手段之一。用户复杂的应用开发场景,真正做到了IAST对CD流程的软低侵入,避免了单一应用插桩技术局限于特定开发语言平台而影响业务性能的缺点。?SCA第三方组件组成分析SCA第三方组件组成分析(SoftwareCompositionAnalysis)技术主要针对开源软件(OSS)和第三方商业软件中涉及的各种源代码、模块、框架和库进行识别清查开源软件(OSS)组件及其组成和依赖关系,识别已知的安全漏洞或潜在的许可授权问题,并在应用系统上线前排查这些风险,也适用于应用业务过程中的诊断分析手术。当CI阶段结束后,将进行定期的冒烟测试和单元测试。由于已关联开源代码库,平台可通过现阶段任务调度自动引入第三方组件分析与缺陷检测(SCA),并自动关联权威漏洞库(美国国家漏洞库NVD和中国国家信息安全研究院)安全漏洞库CNNVD)。大多数情况下,企业在功能测试的同时,会选择在上线前进行IAST灰盒应用安全测试,以充分发现应用和业务交互中的潜在威胁。?RASP运行时应用自我保护2014年,Gartner提出了“运行时应用自我保护”的概念,简称RASP。是一种新型的应用安全保护技术。它将保护程序像疫苗一样注入到应用程序中(运行时的检测),与应用程序集成在一起,可以实时检测和阻断安全攻击,使应用程序具有自我保护能力。防护能力,当应用遭受实际攻击破坏时,可自动防御,无需人工干预。不同于传统的WAF,RASP可以完全掌握应用程序的输入输出,因为运行时检测可以获取应用程序上下文信息,因此可以根据具体的数据流定制合适的保护机制,从而达到非常准确的真实-time攻击识别和拦截。说到RASP,就不得不提与之相关的主动式IAST技术。两者的技术原理非常相似。它们都通过应用检测获取测试流和上下文信息,动态分析应用的安全性。主要区别在于主动IAST侧重于测试,不会通过CI/CD集成阻止访问;而RASP专注于在线生产操作,可以进行阻塞操作,在大多数场景下可以用来替代WAF解决方案。2.3RSAC2019注重文化融合与实效衡量作为第三个“DevSecOpsday”,RSAC2019的主题是“DevOpsConnect”,强调文化融合在DevSecOps实施过程中的重要性,期待通过CI/CDpipeline助力通过有效的衡量机制提高效率。文化冲突与融合成为本届会议的重点议题之一,如红队文化与开发人员的冲突、技术人员与非技术人员的冲突、管理者与被管理人员的冲突等。以红队与开发者的冲突场景为例:红队习惯于制造“惊喜”(发现问题但不提供解决方案),获取“机密”(以红队为幌子获取私有数据),而这些非常重要。难以被开发者和组织所接受。为了试图解决DevSecOps具体实施过程中带来的文化冲突,重要手段之一就是文化变革。为此,安全专家LarryMaccherone在会上提出了DevSecOps宣言:?构建安全,而不是仅仅依赖安全;?依靠授权的工程团队,而不仅仅是安全专家;?安全实现功能,而不仅仅是安全功能;?持续学习,而不是闭门造车;?采用一些专用或常用的最佳实践,而不是“伪”综合措施;?基于文化变革,而不是仅仅依靠法规;培训宣传、会议沟通等手段也需要对组织进行重新设计,比如建立一个“麻花”式的开放组织,将安全人员整合到每个开发团队中,而不是建立封闭的部门。这样,具备安全能力的人员就可以深入到业务、开发、运维等各个领域,让DevSecOps真正创造价值,避免成为效率瓶颈。作为减少组织间不信任或冲突的有效途径之一,评估(度量)机制在本届会议上得到广泛传播。其优势在于将效率提升的具体效果量化,用数字说话。为此,LarryMaccherone还提出了DevSecOps的9个关键实践点和文化融合的7个阶段:图2.3DevSecOps的9个关键实践点。在九个关键实践点中,安全意识、同行评审、评估和团队合作协议等,都对应着企业组织对DevSecOps理念的修正和文化的整合。图2.4DevSecOps文化融合的七个阶段通过对七个阶段对应的九个关键实践点的测量和标记,用不同的颜色直观展示组织对DecSecOps的实践和接受程度,让政企组织能够评估他们的安全开发能力,并对开发现状的全貌有更直接的了解,为打破DevSecOps理念与传统文化的壁垒提供指导,为后续持续深入的改进打下坚实的基础。2.4RSAC2020◆关注组织内DevSecOps的转型,强调人为因素RSAC2020于2月24日至28日在旧金山如期举行。本届RSAC组委会通过对全球网络安全专家提交的2400个演讲主题进行汇总分析,发布了2020年网络安全行业十大趋势。判断,其中,“人为因素”被认为是影响未来网络安全发展影响最深远的话题,涉及安全战线的发展安全话题一直被重点讨论。?人为因素:人的行为自始至终都与数据、威胁、风险、隐私和管理等因素交织在一起。在今年的议题中,有很多内容是从以人为本的角度,平衡IT架构,总结风险管理策略,减少新威胁带来的隐患,建立以安全为中心的新技术文化。?DevSecOps:今年的DevSecOps有一些有趣的新话题,比如将风险管理、合规和治理融入DevSecOps的实践探索。此外,还重点关注从业者如何在组织内向DevSecOps进行调整和转型,详细分析组织面临的阻碍其进步的问题类型,并讨论如何获得公司各层级的支持和帮助。同时,如何招募和培养DevSecOps人才和团队也成为关注的问题。?产品开发和维护的安全性:由于大量语音应用关注产品安全开发,今年RSAC新增了“产品安全与开源工具”的论坛。主题包括保护开发生命周期和框架、互联产品和设备的安全性、开源代码安全性等。?安全意识和培训:谈到人对安全的影响,安全意识一定是重点关注的领域之一。今年的安全意识专题从多个方面展开,其中“安全拓展训练”、“网络安全靶场”、“道德安全意识普及”等专题被频繁提及。自2017年RSAC设立DevSecOps日以来,DevSecOps体系日趋成熟,相关方法论、技术和实践经验得到显着提升,配套的工具链技术也日趋完善。这多少要归功于一些国际科技创新力量的贡献。这里简单总结一下历届RSAC会议上出现的一些创新厂商。他们的创新技术解决方案为年度DevSecOps行业探索提供了一定的指导方针。图2.5历届RSACDevSecOps涉及的创新力3挂镜思考与实践3.1开发安全的一些思考◆安全是一门平衡的艺术随着数字化转型的浪潮,国内网络安全的重要性被提升到更高的层次级状态。业务的发展离不开安全系统的保驾护航。其中,安全是一门动态平衡的艺术,有两层含义:?拥抱变化是安全建设的基石。不同阶段的政企组织面临不同的安全需求和紧迫性,并且阶段性动态变化。小微企业的大部分精力都在为生存而奔波,业务安全合规是他们目前能满足的主要诉求;中大型企业组织更注重阶段性安全建设,基础安全防御和面向服务的安全能力(即插即用)是他们当前的主要需求,如开发安全、攻防等方面急需的灰盒安全测试工具作战安全等防御演练服务;行业顶级客户更注重中长期安全体系建设,内生安全是他们的战略目标。集成适应业务场景的高级威胁检测和防御能力是他们长期的需求,比如基于DevSecOps或SDL的开发和安全体系建设。?安全的本质是风险与信任的平衡。数字时代的业务安全目标更加强调风险和信任的评估和分析。这个分析的过程是一个动态平衡的过程。告别以往传统的安全门式权限/区块处置方式,旨在通过态势分析对业务进行评估。风险,放弃对绝对安全的追求,不要求零风险,不要求100%的信任,在0和1之间寻求风险和信任的平衡。比如CD/中的IAST灰盒安全测试CD管道,我们的目标是重点解决90%以上的中高危安全漏洞。在大多数情况下,允许低风险漏洞流向在线操作。◆人是安全之本。人和团队文化对整个安全体系的建设有着巨大的影响。我们的行为自始至终都与数据、威胁、风险、隐私、管理等因素交织在一起。它也是整个DevSecOps实践框架的一部分。最不稳定的因素。为此,RSAC2020的主题特地定为“人的元素”。构建完善的发展保障体系,不仅要全程考虑人为因素和技术因素,更要从源头抓起。早期的安全意识培训和需求阶段的威胁建模都是必要的安全活动。根据NIST(美国国家标准与技术研究院)调查,近92%的已知安全漏洞发生在应用程序中,软件应用程序中每1000行代码至少存在一个业务逻辑缺陷。可见,程序员的安全素养水平对业务安全有着直接的影响。DevSecOps的左移安全前端实践对于及早发现和解决问题是非常必要的。◆攻防对抗是安全的脉搏。《孙子兵法》中说:“用兵之道,不以不来,以待有;无以不攻,以兵不攻。”不能攻击你拥有的东西。”攻防对抗是网络安全建设过程中的永恒主题,是检验现有安全体系防御未知威胁有效性的最直接方式。RSCA2018黄金管道中涉及的BUG赏金,本质上是鼓励主动建立攻防对抗体系,比如持续进行安全公测,不定期进行攻防演练,辅以配套的检测和响应手段。3.2挂镜实现微软在2003年实现的SDL(SecurityDevelopmentLifecycle)安全开发理论框架已有十多年的历史。主要还是停留在互联网大甲方的定制化场景,几乎没有通用的SDL实施方案和乙方厂商来做。为什么?因为SDL系统本身过于场景化,导致大甲方在SDL建设方面经验不足。很有可能会直接复制过来。如果没有适合实施的配套技术,强行SDL将对政府和企业组织的现有流程和文化构成比较大的挑战。这也是RSAC从2017年开始制定DevSecOps战略框架的原因,并在2018年首次提出DevSecOps黄金管道的概念,强调CI/CD的自动化工具链技术。国内金融、能源、交通等行业的顶级用户虽然没有像美国康卡斯特那样对DevSecOps进行深度改造,但大部分还是使用现有的SDL系统,但这并不妨碍他们积极拥抱DevSecOps和黄金管道的概念。五项重点活动。正是这些关键活动所涉及的新兴技术的逐渐成熟和DevSecOps新理念的普及,推动了国内SDL安全开发体系的逐步落地。关键标志之一是像玄境这样专注于DevSecOps的创新安全厂商的出现。其通用技术方案已被越来越多的行业领先用户所采用,逐步为甲方分阶段建立了逐步完善的安全开发体系。结合多年DevSecOps实践经验,玄镜探索出DevSecOps智能自适应威胁管理体系。作为DevSecOps全流程安全使能平台,从建设之初就专注于软、低侵入的技术实现,驱动DevSecOpsCI/CD流水线。从几个持续运营的关键实践点入手,通过威胁建模、威胁发现、威胁模拟、检测响应等关键技术创新赋能政企机构现有人员,帮助甲方建立更高效、更完善的安全发展体系和安全操作系统。图3.1悬空镜像DevSecOps智能自适应威胁管理系统总结:近三年随着DevSecOps战略框架的完善和RSAC的普及,国内相关领域的建设也迅速展开,但并非各方都适合对于直接应用DevSecOps的实践经验,还可以根据自身的组织发展目标、文化特征和业务场景进行进一步论证。传统的SDL概念并没有过时,可以进一步融入到近几年DevSecOps实践的一些发展成果,以及IT中一些成熟的新兴工具链技术(如IAST、SCA、自动化渗透测试等)体系,长期安全规划与分阶段实施相结合,逐步探索甲方自身安全能力体系。4参考文献[1]ErnestMueller.WhatIsDevOps?[EB/OL].https://theagileadmin.com/what-is-devops/,2010-08-02.[2]ShannonLietz.什么是DevSecOps?[EB/OL].https://www.devsecops.org/blog/2015/2/15/what-is-devsecops,2015-06-01.[3]IanHead,NeilMacDonald.DevSecOps:如何将安全性无缝集成到DevOps[EB/OL]。https://www.gartner.com/en/documents/3463417/devsecops-how-to-seamlessly-integrate-security-into-devo,2016-09-30.[4]SamOlyaei、PeterFirstbrook、BrianReed、PrateekBhajanka、NeilMacDonald,2019年十大安全项目[R]。Gartner,2019。[5]KaseyPanetta,Gartner2019年七大安全和风险趋势[R].Gartner,2019[6]NeilMacDonald,采用aCARTA战略方法的七个必要条件[R].Gartner,2018。
