DevSecOps敏捷安全
上QQ阅读APP看书,第一时间看更新

前言

为什么要写这本书

数字经济时代,万物可编程,软件逐渐成为支撑社会正常运转的最基本元素之一,是新一代信息技术的灵魂。随着开源应用软件开发方式的使用度越来越高,开源组件事实上逐渐成为软件开发的核心基础设施,混源软件开发也已成为现代应用的主要开发交付方式,开源软件的安全问题也已被提升到关键基础设施安全和国家安全的高度来对待。

软件供应链开源化使得各个环节不可避免地受到开源应用的影响。尤其是开源应用的安全性,将直接影响软件供应链的安全性。除开源应用开发者在开发过程中引入安全缺陷之外,也可能会存在开发者有目的性地预留的安全缺陷,甚至存在攻击者将含有隐藏性恶意功能的异常行为代码上传到上游开源代码托管平台,以便实施定向软件供应链攻击的安全风险。上述开源应用中存在的众多安全问题,都将导致软件供应链安全隐患大大增加,使得安全形势更加严峻。早在春秋战国时期,我国军事家孙武就曾在《孙子兵法·虚实篇》中提出这样的军事思想:“故兵无常势,水无常形,能因敌变化而取胜者,谓之神。”面对复杂的攻防对抗局面,因应变化、拥抱变化也是敏捷安全建设的基石。

随着云计算、微服务和容器技术的快速普及,不仅IT基础架构发生了巨大变化,IT组织的业务交付模式也迎来巨大变革——从传统瀑布式开发和一次性全量交付逐渐趋向DevOps敏捷开发和持续性交付。在业务交付规模不断扩大、交付效率要求不断提高、研发及运营场景走向一体化的大环境下,如何在保证快速交付节奏的前提下保障业务安全性是安全部门最大的难题。DevSecOps敏捷安全应运而生,它通过一套全新的方法论及配套工具链将安全能力完整嵌入整个DevOps体系,在保证业务研发效能的同时能够实现敏捷安全内生和自成长。

除了现实业务安全需求的推动以外,DevSecOps体系的持续进化还受益于国际学术界和产业界的持续探索和实践输出。2017年,DevSecOps敏捷安全理念被首次引入RSA大会(简称RSAC)——大会甚至为其设置专项技术研讨会。2021年,RSAC首次采用网络虚拟会议的形式举办,以“韧性”(Resilience)为本次大会的主题。大会上提出在构筑具有“韧性”的网络时,共同的核心目标是尽量避免攻击、减少攻击损失,以及攻击后快速恢复。在具体的应用实践中,业务应用本身及配套的安全系统应具备出厂免疫及预警功能,以做到规避攻击,借助风险管控将损失最小化,并提供及时的响应联动,帮助应用快速恢复。RSA创新沙盒有着“全球网络安全风向标”之称,而入选RSA创新沙盒十强的近半数厂商均聚焦在应用安全领域。其中,来自以色列的DevSecOps初创厂商Apiiro凭借创新的代码风险可视化管理技术斩获RSAC 2021创新沙盒全球总冠军,使得软件供应链与开发安全进一步受到国内外产业界与学术界的高度关注。

DevSecOps敏捷安全的起源、演进和广泛应用,标志着保障软件供应链安全开始进入一个全新的时代。将安全作为IT管理对象的一种属性,并将安全管理覆盖整个软件开发全生命周期,这将彻底改变企业和机构在软件供应链和开发基础设施方面的安全现状。

作为国内DevSecOps的主要推动力量之一,从2016年年初开始,我和悬镜创始团队就一直希望能有机会结合自身在前沿技术创新研究和行业应用中的实践,对DevSecOps敏捷安全体系的演进做一个系统性梳理,分享我们这些年在不同典型用户场景探索的落地经验。

“学到的就要教人,得到的就要给人。”研究生求学期间,导师曾这样要求过我们:“如果把人类现有的认知比作一个圈,那么当博士毕业时,我们的研究实践成果至少可以将现有认知向外再踏出一步。”这个要求至今对我和悬镜团队都有着巨大的影响。我们希望在这个新的前沿技术领域,凭借长期的技术积累来推动中国的安全产业向新的未知空间做更深层次的探索。

本书是一本DevSecOps软件供应链安全领域的专业书籍。我希望借助书中的理论阐述、体系构筑、技术研究、实践沉淀及技术演进预测,推动更多行业用户、技术爱好人员、专家学者及产业智库,结合自身业务和组织特点,去尝试了解、对比学习甚至着手采纳业内领先的DevSecOps敏捷安全体系及落地实践经验,从源头追踪软件在开发、测试、部署、运营等环节面临的应用安全风险与未知外部威胁,帮助企业和机构逐步构筑一套适应自身业务弹性发展、面向敏捷业务交付并能够引领未来架构演进的内生敏捷安全体系。同时,希望本书不仅能够成为新一代敏捷安全体系建设的指南,也能鼓励更多不同类型的技术力量与DevSecOps行业开展新的对话。

读者对象

·CTO/CIO/CSO/CEO

·应用安全管理人员

·应用安全工程师

·应用安全架构师

·开发、测试和运营人员

·研发效能工程师

·敏捷和研发效能教练

·网络安全和计算机专业的学生和教师

·对敏捷安全和研发效能感兴趣的其他人员

本书特色

本书是网络安全领域的进阶书籍,是我们实践新一代积极防御技术的重要参考,是我们践行DevSecOps敏捷安全体系的综合指导。本书在业界首次体系化地论述了DevSecOps敏捷安全,并将相关理论与实践相结合,为应对软件开发方式敏态化与软件供应链开源化带来的安全挑战提出了解决之道。本书创造性地提出DevSecOps敏捷安全体系架构,并由此展开,深度阐述了敏捷安全实践思想、理念、关键特性、框架以及典型应用场景,全面解读了新一代网络安全框架体系实现方法,汇聚悬镜安全多年来在DevSecOps、软件供应链安全和云原生安全等领域研究的重要技术成果和建设的重要实践经验,并结合国内外优秀案例详细介绍了DevSecOps在银行、券商、运营商、泛互联网、政府等行业的最佳实践,具有重要的学习参考价值。

本书观点鲜明、体系完备,融合了金融、教育和泛互联网领域应用安全与研发效能方面的实践,详细介绍了DevSecOps如何在软件开发流程的各个阶段融入安全,如何更高效地实现软件供应链源头风险治理,为企业实现DevOps转型之后的下一阶段进阶赋能。

如何阅读本书

本书分为五大部分。

第一部分(第1~2章):开发安全入门

第1章(初识开发安全)重点围绕SDLC(软件生命周期)展开论述。首先对SDLC几个主要阶段的安全活动做了逐一分析,并重点就SDLC、SDL、S-SDLC等容易混淆的重要概念做了对比分析,让读者对开发安全涉及的相关知识有一个初步了解,最后对开发安全实践中需要关注的重点进行了梳理和总结。

第2章(全面认识SDL)承接第1章安全左移在SDLC中的意义,对常见的安全开发模型和框架进行逐一分析,系统梳理了企业在实施SDL体系建设过程中可能会遇到的各种技术挑战,指导企业在不同的发展阶段进行适合自身的SDL安全体系建设。

第二部分(第3~7章):DevSecOps敏捷安全进阶

第3章(敏捷开发与DevOps)围绕DevOps敏态开发的演进展开论述,重点介绍了敏捷开发方法论和DevOps实践方法论,并对敏捷开发与DevOps进行了对比分析,最后梳理了当前敏捷开发及DevOps面临的安全挑战,为后续DevSecOps敏捷安全的引入打下基础。

第4章(DevSecOps敏捷安全内涵)作为本书非常重要的体系构筑和引领章节,于业界首次提出DevSecOps敏捷安全架构,包括敏捷安全核心内涵、敏捷安全框架和典型应用场景三大子系统,重点介绍了数字化时代下国内外网络安全监管新趋势,并进一步揭示出DevSecOps之于数字化时代网络安全的现实意义。

第5章(DevSecOps敏捷安全体系)继承了第4章DevSecOps敏捷安全内涵的要义,围绕当前业界DevSecOps的建设现状和主要痛点,并就文化、流程、技术和度量四大核心要素展开,叙述其在DevSecOps实际落地过程中的支柱性作用,最后结合悬镜DevSecOps工具链实践经验提出了一套DevSecOps体系设计参考和实践清单,围绕软件生命周期10个阶段完整地阐述了DevSecOps体系建设的主体内容,并介绍了国际上优秀的DevSecOps建设经验,为企业和机构用户更好地落地DevSecOps提供参考。

第6章(DevSecOps敏捷安全技术)重点围绕积极防御技术栈展开论述,首先对IAST、RASP、SCA等应用免疫层的关键技术做逐一分析,详细阐述了敏捷安全体系下的关键技术原理、应用场景和落地实践,随后围绕基础设施层的API安全、容器和Kubernetes安全技术做了一一阐述,最后以常态化运营为主要视角,重点介绍了新一代BAS(持续威胁模拟与安全度量)技术,进而构筑了一套相对完善并具有弹性扩展特性的积极防御技术体系。

第7章(DevSecOps敏捷安全度量)作为整个DevSecOps敏捷安全体系的重要部分,首先引领大家认识DevSecOps度量实践的目标,再对业界常见的6种软件安全成熟度模型进行逐一介绍和对比分析,并在此基础上对企业如何基于BSIMM12开展DevSecOps度量体系建设进行了详细叙述,随后正式提出了敏捷安全度量实践框架,指引企业结合自身业务情况,综合运用度量数据、度量指标、度量模型,持续运营和迭代,形成适用于自身的度量体系。

第三部分(第8~10章):DevSecOps落地实践

第8章(DevSecOps设计参考与建设指导)作为整个DevSecOps敏捷安全体系的重要实践环节,引领大家从文化、流程、技术、度量4个维度来学习DevSecOps的设计原则,并给出企业DevSecOps建设从入门到进阶的全过程指导,以便企业进行DevSecOps规划设计、建设实践和运营优化。除此之外,还介绍了DevSecOps落地过程中面临的一些挑战。

第9章(云原生应用场景敏捷安全探索)讨论的云原生是DevSecOps敏捷安全体系的三大典型应用场景之一,首先引领大家快速学习云原生的由来、核心技术以及云原生安全相关模型,进而引出与云原生安全息息相关的DevSecOps敏捷安全实践,随后通过云原生安全与DevSecOps的比较,以及云原生下敏捷安全实践的分析,帮助企业更好地理解云原生安全解决方案的实际价值和建设思路。

第10章(DevSecOps落地实践案例)作为整个DevSecOps敏捷安全体系的重要实践落地环节,先引领大家分别从国内和国际两个视角洞察DevSecOps的落地实践经验,接着从不同行业的背景、面临的挑战、建设方案及建设特点进行分析,最后通过对实践案例的深入分析,说明DevSecOps的落地实践不能照抄照搬,必须因地制宜,结合企业自己的安全文化特点、人员能力、技术成熟度等现状建设适合自己的DevSecOps体系。

第四部分(第11~13章):DevSecOps与软件供应链安全

第11章(软件供应链安全)讨论的软件供应链也是DevSecOps敏捷安全体系的三大典型应用场景之一,首先重点分析了国内外软件供应链安全监管现状以及面临的安全挑战,并以安全事件为驱动将软件供应链攻击分成开发、分发和使用三大环节,同时列举了每个环节可能出现的攻击类型,然后介绍了软件供应链风险治理,最后分析了软件供应链安全的最新趋势及如何加强软件供应链安全管理。

第12章(开源安全治理落地实践)作为软件供应链安全的重要部分被重点阐述,首先分析了开源软件面临的安全风险,随后重点对几种主流的开源许可证进行逐一分析,进而引出开源治理的难点、目标和实践说明,并结合DevSecOps体系及相关开源治理技术做进一步阐述,最后重点分享了某企业开源治理的落地实践,详细分析了其在安全建设过程中是如何解决实际痛点的。

第13章(典型供应链漏洞及开源风险分析)以在业界已产生重要影响的3个典型事件为例进行相应解析,重点分享了今后如何从技术(包括IAST、RASP、SCA)角度来对软件供应链安全相关的风险进行积极防御。

第五部分(第14章):趋势与思考

第14章(DevSecOps敏捷安全趋势)作为本书的最后一章,从引领整个行业和相关技术发展的高度来思考DevSecOps敏捷安全体系的未来演进方向。首先,引领大家学习软件供应链攻击趋势、相关治理的出路和趋势,随后预测了基于底层基础设施升级和现代攻防对抗技术演进的新一代积极防御技术走向,最后正式介绍了“敏捷安全技术金字塔V2.0”。

勘误和支持

由于作者的水平有限,书中难免会出现错误或者表述不够准确的地方,恳请读者批评指正。如有你有更多的宝贵建议,欢迎通过邮箱research@anpro-tech.com与我联系。期待能够得到你们的真挚反馈。

致谢

曾读到这样一句话:人生只有两次生命,第一次是出生,第二次是当我们意识到人生只有一次时。时光荏苒,所有经历,于我都是礼物;所有相遇,于我都是宝藏;所有清晨日落,于我都是醉人的欢喜。

首先,感谢在本书编写期间给予帮助的小伙伴们,包括宁戈、董毅、周雅飞、周幸、李浩、张弛、凌云、杜玉洁、刘美平、李珍珍、刘恩炙、蔡智强、张荣香、陈超、夏营、王利芳、王金花、刘苗苗、刘姿辰、武立朋、王越、高晓丽、李彦、李敏、侯力阳、周杰明、李伟、韩枫、蔡仲、许卓烁、唐超、王璐。

其次,感谢陈钟教授和文伟平教授,两位老师长期以导师和朋友的身份为我的学术研究和图书编著工作提供指导。他们治学严谨,学识渊博,在我的学习和研究上给予了悉心的指导。

同时,感谢我的太太和女儿,她们为了让本书更好地呈现,在幕后默默地付出了很多。

此外,感谢我的父亲和母亲,感谢他们将我培养成人,感谢他们教会我无论如何都要热爱生活。

最后,谨以此书献给众多热爱DevSecOps、软件供应链安全、云原生安全以及积极防御等前沿安全技术的朋友们!