猜你喜欢
DevSecOps鏁忔嵎瀹夊叏

DevSecOps鏁忔嵎瀹夊叏

书籍作者:瀛愯娊
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:1236
创建日期:2023-04-13 发布日期:2023-04-13
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

这是一本体系化讲解DevSecOps敏捷安全的实战性著作,为企业应对软件开发方式敏态化与软件供应链开源化带来的安全挑战提供了解决之道,它能有效指导企业快速将安全能力完整嵌入整个DevOps体系,在保证业务研发效能的同时实现敏捷安全内生和自成长。

本书由国内软件供应链安全领域领军企业悬镜安全创始人子芽出品,得到了企业界和学术界10位权威安全技术专家的联袂推荐。主要的内容及其特色如下:

体系创新:不仅对业界已有的DevSecOps理论和方法进行了系统梳理,而且还分享了DevSecOps敏捷安全架构、DevSecOps敏捷安全技术金字塔等大量来自悬镜安全的创新理论和技术,全面讲解了DevSecOps敏捷安全的核心内涵、架构设计、体系建设、技术原理、度量方法、落地实践;

注重实战:包含大量实践原则、参考和落地方法,以及来自银行、券商、运营商、互联网、政府机构等领域的一线落地实践案例;

全球视野:立足于全球,对美国国防部、Netflix、Salesforce等机构和企业的DevSecOps实践进行了逐一分析和解读;

前瞻性强:不仅讲解了DevSecOps敏捷安全在云原生安全、软件供应链安全等热点领域的落地实践,而且展望了DevSecOps敏捷安全的发展趋势和技术演进方向。

作者简介

子芽

悬镜安全创始人兼CEO,OpenSCA开源社区创始人,资深安全技术专家,拥有10年以上前沿安全技术研究实践经验,具有国际视野和工程综合创新能力的高端科技领军人才。

长期从事AI深度学习算法在持续威胁评估领域的研究,拥有多项原创发明专利授权,曾承担国家重大网络安全项目和科研项目,首创的“DevSecOps智适应威胁管理体系”已演进至第三代,在产业界影响颇深。

中国信通院软件供应链安全社区首席安全专家,DSO敏捷安全大会出品人,北京大学国家奖学金、优秀科研奖和光华奖学金获得者。

悬镜安全

起源于北京大学网络安全技术研究团队“XMIRROR”,创始人子芽。作为DevSecOps敏捷安全领域的领导者,始终专注于以代码疫苗技术为核心,先后获得红杉资本、腾讯产业生态投资、源码资本和GGV纪源资本的持续加持,并通过原创专利级“全流程软件供应链安全赋能平台+敏捷安全工具链”的第三代DevSecOps智适应威胁管理体系,持续帮助金融、车联网、泛互联网、能源等行业数千家企业构筑起适应自身业务弹性发展、面向敏捷业务交付的下一代积极防御体系。

编辑推荐
适读人群 :CTO/CIO/CSO/CEO 应用安全管理人员 应用安全工程师 应用安全架构师 开发、测试和运营人员 研发效能工程师 敏捷和研发效能教练 网络安全和计算机专业的学生和教师 对敏捷安全和研发效能感兴趣的其他人员

体系创新:不仅对业界已有的DevSecOps敏捷安全的理论和方法进行了系统梳理,而且分享了DevSecOps敏捷安全架构、DevSecOps敏捷安全技术金字塔等大量来自悬镜安全的创新理论和技术,全面讲解了DevSecOps敏捷安全的核心内涵、架构设计、体系建设、技术原理、度量方法、落地实践;

注重实战:包含大量实践原则、参考和落地方法,以及来自银行、券商、运营商、互联网、政府机构等领域的一线落地实践案例;

全球视野:立足于全球,对美国国防部、Netflix、Salesforce等机构和企业的DevSecOps实践进行了分析和解读;

前瞻性强:不仅讲解了DevSecOps在云原生安全、软件供应链安全等热点领域的落地实践,而且展望了DevSecOps敏捷安全的发展趋势和技术演进方向。


前言

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


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


随着云计算、微服务和容器技术的快速普及,不仅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行业开展新的对话。


目录

目 录 Contents

推荐语

推荐序一

推荐序二

前言

第一部分 开发安全入门

第1章 初识开发安全2

1.1 软件开发与SDLC2

1.1.1 软件开发方式的革新与SDLC2

1.1.2 SDLC典型阶段3

1.1.3 SDLC中的安全挑战4

1.2 SDLC中的阶段性安全活动5

1.2.1 准备阶段的安全活动6

1.2.2 开发阶段的安全活动7

1.2.3 部署阶段的安全活动8

1.2.4 运营阶段的安全活动9

1.2.5 废弃阶段的安全活动9

1.3 开发安全现状分析9

1.3.1 开发安全概述9

1.3.2 国内外开发安全研究现状11

1.3.3 开发安全关注点12

1.4 安全左移在SDLC中的意义13

1.5 总结14

第2章 全面认识SDL15

2.1 SDL概述15

2.2 常见的SDL模型和框架16

2.2.1 政府组织—NIST SSDF16

2.2.2 企业实践—微软SDL模型17

2.2.3 开放组织—OWASP CLASP模型18

2.2.4 个人贡献—McGraw BSI模型19

2.2.5 安全开发模型和框架对比分析21

2.3 SDL体系建设22

2.3.1 安全开发团队建设22

2.3.2 安全开发管理体系建设23

2.3.3 安全开发工具建设25

2.3.4 SDL体系建设实施技巧30

2.4 SDL体系建设面临的挑战32

2.4.1 威胁建模方面32

2.4.2 开源威胁治理方面33

2.4.3 全流程漏洞管控方面34

2.4.4 敏捷开发的安全挑战35

2.5 总结36

第二部分 DevSecOps敏捷安全进阶

第3章 敏捷开发与DevOps38

3.1 开发模式的演进38

3.1.1 传统的瀑布式开发38

3.1.2 敏捷开发40

3.1.3 DevOps41

3.2 敏捷开发42

3.2.1 敏捷开发的发展历史42

3.2.2 敏捷开发的基本要义42

3.2.3 敏捷开发方法论43

3.3 DevOps49

3.3.1 DevOps的发展历史49

3.3.2 DevOps的核心要素49

3.3.3 DevOps实践方法论50

3.3.4 DevOps的发展趋势 52

3.4 DevOps与敏捷开发的对比53

3.5 DevOps面临的安全挑战55

3.6 总结55

第4章 DevSecOps敏捷安全内涵56

4.1 DevSecOps敏捷安全起源56

4.2 从RSAC看DevSecOps进化57

4.2.1 RSAC 2017定义DevSecOps57

4.2.2 RSAC 2018首次引入Golden Pipeline概念58

4.2.3 RSAC 2019聚焦文化融合与实践效果度量60

4.2.4 RSAC 2020关注组织内部DevSecOps转型61

4.2.5 RSAC 2021重视软件供应链安全62

4.3 DevSecOps敏捷安全核心内涵63

4.3.1 DevSecOps敏捷安全的理念63

4.3.2 DevSecOps敏捷安全的关键特性65

4.3.3 DevSecOps敏捷安全的优势66

4.4 DevSecOps敏捷安全架构67

4.4.1 DevSecOps敏捷安全实践思想68

4.4.2 新一代积极防御技术69

4.5 DevSecOps敏捷安全现实意义70

4.5.1 国际监管70

4.5.2 国内监管74

4.6 总结79

第5章 DevSecOps敏捷安全体系80

5.1 DevSecOps敏捷安全体系目标80

5.2 DevSecOps敏捷安全体系建设难点80

5.2.1 DevSecOps建设现状80

5.2.2 企业DevSecOps体系建设痛点83

5.3 DevSecOps敏捷安全体系设计84

5.3.1 DevSecOps体系概述84

5.3.2 DevSecOps三大要素85

5.3.3 DevSecOps持续进阶96

5.4 DevSecOps敏捷安全体系建设97

5.4.1 计划阶段99

5.4.2 创建阶段104

5.4.3 验证阶段105

5.4.4 预发布阶段107

5.4.5 发布阶段109

5.4.6 预防阶段109

5.4.7 检测阶段110

5.4.8 响应阶段112

5.4.9 预测阶段113

5.4.10 改进阶段113

5.5 DevSecOps敏捷安全体系建设参考114

5.5.1 GSA的DevSecOps指南114

5.5.2 DoD的DevSecOps设计参考116

5.5.3 NIST的DevSecOps项目116

5.6 总结118

第6章 DevSecOps敏捷安全技术119

6.1 敏捷安全技术概述119

6.1.1 应用安全风险面119

6.1.2 敏捷安全技术的构成要件120

6.1.3 适合的敏捷安全技术122

6.1.4 敏捷技术和安全管理123

6.2 IAST技术解析124

6.2.1 多语言支持的必要性124

6.2.2 IAST全场景多核驱动131

6.2.3 IAST高可用和高并发支持135

6.2.4 IAST DevOps全流程生态支持141

6.3 RASP技术解析144

6.3.1 RASP技术概述144

6.3.2 RASP在DevOps中的应用153

6.4 SCA技术解析156

6.4.1 SCA技术简介156

6.4.2 SCA技术原理分析157

6.4.3 SCA技术应用实践164

6.4.4 DevSecOps下的SCA落地实践165

6.4.5 SCA与软件供应链安全168

6.5 BAS技术解析169

6.5.1 背景介绍169

6.5.2 BAS技术简介169

6.5.3 BAS原理分析171

6.5.4 BAS工作方式172

6.5.5 BAS与传统攻防技术的区别174

6.5.6 DevSecOps下的BAS落地实践174

6.5.7 BAS方案总结176

6.6 API安全技术解析177

6.6.1 API介绍177

6.6.2 API安全技术原理178

6.6.3 API安全技术实践180

6.6.4 DevOps与API安全181

6.6.5 API安全技术价值183

6.6.6 多维度API风险管理183

6.7 容器和Kubernetes安全解析184

6.7.1 容器与Kubernetes 184

6.7.2 容器与云原生184

6.7.3 威胁矩阵185

6.7.4 容器生命周期的安全问题186

6.7.5 容器安全技术实践188

6.8 总结199

第7章 DevSecOps敏捷安全度量201

7.1 DevSecOps度量实践的目标201

7.1.1 敏捷安全度量的必要性和复杂性201

7.1.2 安全度量与安全成熟度模型202

7.2 常见软件安全成熟度模型202

7.2.1 可信研发及运营安全能力成熟度模型203

7.2.2 研发运营一体化(DevOps)能力成熟度模型205

7.2.3 OWASP DevSecOps成熟度模型207

7.2.4 软件安全构建成熟度模型(BSIMM)208

7.2.5 系统安全工程能力成熟度模型(SSE-CMM)210

7.2.6 软件保证成熟度模型(SAMM)213

7.3 成熟度模型对比分析215

7.4 基于BSIMM12的DevSecOps度量模型设计参考217

7.4.1 BSIMM12的安全活动和分级217

7.4.2 基于BSIMM12的分阶段度量模型设计参考221

7.5 敏捷安全度量实践框架223

7.6 总结224

第三部分 DevSecOps落地实践

第8章 DevSecOps设计参考与建设指导226

8.1 DevSecOps落地挑战226

8.1.1 组织文化227

8.1.2 流程管控228

8.1.3 技术工具228

8.2 DevSecOps设计参考229

8.2.1 安全组织和文化230

8.2.2 安全流程231

8.2.3 安全技术和工具232

8.2.4 安全度量和持续改进233

8.3 DevSecOps建设指导236

8.3.1 现状评估236

8.3.2 找寻支持伙伴237

8.3.3 考量建设尺度237

8.3.4  制订建设计划240

8.4 SDL向DevSecOps的转型240

8.4.1 SDL与DevSecOps关系的误读240

8.4.2 DevSecOps与SDL的关系240

8.4.3 安全开发方法论的选择241

8.4.4 转型期的选择242

8.5 其他安全挑战243

8.5.1 CI/CD平台安全243

8.5.2 IaC安全244

8.5.3 代码托管平台安全247

8.5.4 项目管理平台安全247

8.5.5 容器运行安全247

8.5.6 Kubernetes平台安全248

8.5.7 代码审计工具安全248

8.6 建议及思考249

8.7 总结249

第9章 云原生应用场景敏捷安全探索250

9.1 云原生概述250

9.1.1 何为云原生250

9.1.2 云原生的核心技术252

9.2 云原生安全255

9.2.1 云原生安全防护模型255

9.2.2 云原生安全4C模型262

9.3 云原生安全与DevSecOps266

9.3.1 相同点266

9.3.2 不同点267

9.3.3 对比分析267

9.4 云原生下的敏捷安全落地实践268

9.4.1 云原生下的敏捷安全实践架构268

9.4.2 云原生下的敏捷安全实践方案268

9.5 总结269

第10章 DevSecOps落地实践案例271

10.1 国内行业头部企业实践271

10.1.1 某国有银行DevSecOps实践271

10.1.2 某券商DevSecOps实践275

10.1.3 某运营商DevSecOps实践279

10.1.4 某互联网头部企业DevSecOps实践283

10.1.5 某车联网企业DevSecOps实践286

10.2 国际大型组织创新实践289

10.2.1 美国国防部DevSecOps实践289

10.2.2 Netflix DevSecOps实践294

10.2.3 Salesforce DevSecOps实践298

10.3 总结304

第四部分 DevSecOps与软件供应链安全

第11章 软件供应链安全306

11.1 软件供应链生态系统306

11.2 软件供应链安全现状及挑战307

11.2.1 安全现状分析307

11.2.2 面临的挑战309

11.3 软件供应链攻击风险311

11.3.1 软件供应链的风险面311

11.3.2 软件供应链攻击环节312

11.3.3 软件供应链的攻击类型315

11.4 软件供应链风险治理319

11.4.1 体系构建319

11.4.2 SDLC供应链风险治理319

11.4.3 软件分发过程供应链风险治理326

11.5 软件供应链安全最新趋势329

11.5.1 Google软件供应链安全框架SLSA329

11.5.2 云安全共享责任模型330

11.5.3 Grafeas开源计划331

11.6 总结332

第12章 开源安全治理落地实践333

12.1 开源软件333

12.1.1 开源软件由来333

12.1.2 开源软件现状335

12.1.3 开源软件优缺点335

12.2 开源软件安全337

12.2.1 开源软件风险分析337

12.2.2 EAR对开源软件的规定339

12.3 开源许可证分析339

12.3.1 开源许可证概述339

12.3.2 开源许可证分类340

12.3.3 常见开源许可证340

12.4 开源治理343

12.4.1 开源治理难点343

12.4.2 开源治理目标344

12.4.3 开源治理实践说明344

12.4.4 DevSecOps下的开源治理346

12.4.5 开源治理技术348

12.5 开源治理落地实践案例355

12.5.1 企业痛点355

12.5.2 解决方案思路355

12.5.3 建设内容357

12.5.4 实施效益360

12.6 总结361

第13章 典型供应链漏洞及开源风险分析362

13.1 Log4j 2.x远程代码执行漏洞362

13.1.1 漏洞概述362

13.1.2 漏洞利用原理362