软件供应链安全实践指南

软件供应链安全实践指南
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2024-08
版次: 1
ISBN: 9787121485732
定价: 112.00
装帧: 平装
开本: 其他
页数: 448页
  • 软件供应链是指在软件开发、测试、发布和维护的全生命周期中,涉及到软 件产品和服务的所有组成部分和相关方,包括软件开发人员、供应商、第三方组 件提供商、托管服务提供商、运维人员、安全审计机构等。软件在开发和运行过 程中, 涉及到的所有开源软件的上游社区、源码包、二进制包、第三方组件分发 市场、应用软件分发市场, 以及开发者和维护者、社区、基金会等, 按照依赖、 组合等形成的供应关系网络,这些组成部分和相关方在整个过程中相互协作,以 保证软件产品和服务的质量和安全性,同时保持生产效率和降低成本。随着软件 在现代社会中的作用越来越重要,软件的供应链也变得越来越复杂和庞大,其中 可能包含许多不同的组件、库和第三方工具。 目  录

    第1章  软件供应链安全概述 001

    1.1  背景 002

    1.1.1  什么是软件供应链安全 003

    1.1.2  软件供应链安全现状 004

    1.1.3  软件供应链安全政策法规及标准 007

    1.1.4  软件供应链安全市场 016

    1.2  软件供应链攻击特点 027

    1.2.1  攻击面广、攻击门槛低 027

    1.2.2  隐蔽性强、潜意识信任 028

    1.2.3  传播性强、伤害性大 028

    1.2.4  攻击手段新、攻击复杂化 028

    1.3  软件供应链面临的安全挑战 029

    1.3.1  供应商可信度难以评估 029

    1.3.2  供应链复杂度高 030

    1.3.3  软件供应链透明度低 030

    1.3.4  风险响应速度慢 031

    1.3.5  安全重视程度不足、人员意识薄弱 032

    1.3.6  软件供应链安全威胁 033

    第2章  软件供应链安全治理框架 034

    2.1  软件供应链安全治理整体框架 035

    2.2  软件供应链安全治理理念 036

    2.3  软件供应链安全组织与制度建设 037

    2.4  软件供应链安全研发体系 038

    2.5  软件供应链安全技术能力 039

    第3章  软件供应链安全管理机构与人员 040

    3.1  安全管理机构 041

    3.1.1  机构岗位设置 041

    3.1.2  授权和批准 042

    3.1.3  沟通与合作 043

    3.1.4  审计和检查 043

    3.1.5  实践示例 044

    3.2  安全管理人员 047

    3.2.1  人员招聘 048

    3.2.2  离岗人员 048

    3.2.3  安全意识教育和培训 049

    第4章  软件供应商安全治理 050

    4.1  基本定义 051

    4.1.1  软件供应商在供应链中所处位置 051

    4.1.2  软件供应商安全治理意义 052

    4.1.3  软件供应商治理环节 053

    4.2  明确软件供应商安全治理总体方针 054

    4.2.1  梳理业务核心需求 055

    4.2.2  以政策法规、领域指标为导向 055

    4.3  软件供应商风险评估 056

    4.3.1  供应商资质评估 057

    4.3.2  供应商安全评估 063

    4.3.3  软件产品安全评估 070

    4.4  供应商引入安全 078

    4.5  安全治理职能确立 079

    4.6  供应商风险监控 081

    4.7  供应商清退制度 082

    4.7.1  明确清退标准 083

    4.7.2  制定清退机制 083

    第5章  第三方软件管理 086

    5.1  第三方软件概述 087

    5.1.1  什么是第三方软件 087

    5.1.2  第三方软件风险 088

    5.1.3  安全管理的必要性 089

    5.2  商用采购软件安全管理 090

    5.2.1  商用采购软件介绍 090

    5.2.2  风险分析 091

    5.2.3  安全管理指南 092

    5.3  开源软件安全管理 095

    5.3.1  开源软件介绍 095

    5.3.2  风险分析 095

    5.3.3  安全管理指南 097

    5.4  外包软件安全管理 099

    5.4.1  外包软件介绍 099

    5.4.2  风险分析 100

    5.4.3  安全管理指南 102

    第6章  软件安全研发――需求设计阶段 105

    6.1  需求设计阶段的安全必要性 106

    6.2  威胁建模 107

    6.2.1  威胁建模介绍 107

    6.2.2  威胁建模协助安全需求与安全设计 108

    6.3  安全需求 109

    6.3.1  常用安全需求分析方法 110

    6.3.2  安全需求分析方法在实践中的应用 118

    6.3.3  借助威胁建模生成安全需求 120

    6.3.4  安全需求分析实践案例 123

    6.4  安全设计 127

    6.4.1  针对安全需求的安全设计 128

    6.4.2  安全架构分析 130

    6.4.3  设计有效性校验 134

    第7章  软件安全研发――开发阶段 136

    7.1  开发阶段风险分析 137

    7.2  安全开发标准与管理体系 138

    7.2.1  安全开发标准 138

    7.2.2  安全开发管理体系 140

    7.3  安全编码 142

    7.3.1  常见代码漏洞原理和修复方式 142

    7.3.2  软件安全编码规范 144

    7.4  引入组件的安全 147

    7.4.1  第三方组件风险 147

    7.4.2  组件选择 149

    7.4.3  引入流程 152

    7.4.4  组件修复 155

    7.4.5  组件的使用 157

    7.5  代码评审与代码审计 158

    7.5.1  代码评审 158

    7.5.2  代码审计 160

    7.6  安全成果验收 161

    第8章  软件安全研发――验证阶段 163

    8.1  软件安全验证框架 165

    8.2  安全需求验证 166

    8.3  主流漏洞验证 169

    8.3.1  主流漏洞类型 170

    8.3.2  主流漏洞测试方法 171

    8.3.3  主流漏洞修复示例 172

    8.4  开源组件漏洞验证 178

    8.4.1  开源组件风险类型 178

    8.4.2  开源组件风险测试方法 180

    8.4.3  开源组件修复示例 181

    8.5  业务逻辑漏洞验证 182

    8.5.1  业务逻辑漏洞类型 182

    8.5.2  业务逻辑漏洞测试方法 183

    8.5.3  业务逻辑漏洞修复示例 183

    8.6  API安全验证 185

    8.6.1  修复API漏洞涉及的内容 186

    8.6.2  常见的API漏洞修复示例 186

    8.7  App安全验证 187

    8.7.1  App漏洞类型 187

    8.7.2  App漏洞测试方法 188

    8.7.3  App漏洞修复示例 189

    8.8  数据安全验证 189

    8.8.1  数据安全漏洞类型 189

    8.8.2  数据安全测试方法 190

    8.8.3  数据安全漏洞风险及修复示例 191

    8.9  上线前安全评审 191

    8.9.1  上线前安全评审的重要性 192

    8.9.2  安全基线验证 192

    第9章  软件安全研发――发布和部署阶段 194

    9.1  发布和部署阶段的安全风险 196

    9.2  实用安全实践 197

    9.2.1  安全发布管理 197

    9.2.2  安全部署策略 203

    9.2.3  安全部署测试 206

    9.2.4  持续监控和事件响应 208

    9.3  基于生命周期的软件安全发布流程 209

    第10章  开发过程中的数据安全 212

    10.1  数据安全左移 213

    10.1.1  计划设计阶段 214

    10.1.2  开发阶段 216

    10.1.3  验证阶段 223

    10.2  软件供应链数据安全 223

    10.2.1  软件供应链数据概述 224

    10.2.2  软件供应链数据的风险与威胁 228

    10.2.3  软件供应链数据保护的基本原则和具体措施 234

    第11章  软件供应链环境安全 244

    11.1  开发环境安全 245

    11.1.1  软件开发环节 245

    11.1.2  开发环境风险 246

    11.1.3  开发环境安全指南 246

    11.2  交付环境安全 249

    11.2.1  分发市场安全 249

    11.2.2  软件部署安全 249

    11.3  使用环境安全 254

    11.3.1  一般计算环境安全 254

    11.3.2  云计算环境安全 255

    第12章  软件供应链安全运行管理 257

    12.1  安全运行管理概述 258

    12.1.1  安全运行时的软件供应链安全风险 258

    12.1.2  安全运行时的软件供应链安全管理环节 258

    12.2  风险基线 259

    12.2.1  事先设置风险基线的必要性 259

    12.2.2  风险基线的制定 260

    12.2.3  风险基线的使用 263

    12.3  安全防御 263

    12.3.1  运行时应用程序自我保护 264

    12.3.2  开源组件安全防御 266

    12.3.3  Web应用程序防火墙 266

    12.3.4  其他工具 268

    12.4  监控风险 269

    12.5  响应与处置 272

    12.5.1  应急响应团队 273

    12.5.2  应急响应过程 273

    12.5.3  沟通渠道 276

    第13章  软件供应链安全制度 278

    13.1  制定与修订 279

    13.1.1  安全策略 279

    13.1.2  目标 279

    13.1.3  制定和发布 279

    13.1.4  审查和修订 280

    13.2  参与人员管理 280

    13.2.1  安全责任书 280

    13.2.2  权限分配 280

    13.2.3  能力和资格评估 281

    13.2.4  背景核查 281

    13.2.5  技能培训和发展 281

    13.2.6  离职管理 281

    13.3  供应商管理 282

    13.3.1  供应商的选择 282

    13.3.2  风险评估 283

    13.3.3  合同要求 283

    13.3.4  供应商监控 283

    13.4  产品采购和使用管理 284

    13.4.1  遵守国家法规 284

    13.4.2  产品选择和评估 284

    13.4.3  安全责任划分 285

    13.4.4  关键部件的特殊测试 285

    13.4.5  持续监控和改进 285

    13.4.6  知识产权管理 286

    13.5  安全设计管理 286

    13.5.1  威胁建模 286

    13.5.2  安全需求设计 286

    13.5.3  安全架构设计 287

    13.6  安全开发管理 287

    13.6.1  内部软件开发管理 287

    13.6.2  外包软件开发管理 288

    13.6.3  外部组件管理 289

    13.7  软件代码库管理 289

    13.7.1  统一的软件产品和源代码库 290

    13.7.2  代码库分支 290

    13.7.3  安全漏洞检测 290

    13.7.4  代码和组件的可用性 290

    13.7.5  清洁和安全的软件代码 290

    13.8  安全检测管理 291

    13.8.1  安全检测方法 291

    13.8.2  第三方软件风险检测 291

    13.8.3  检测规划和执行 291

    13.8.4  检测结果分析和补救 292

    13.8.5  检测报告和文档 292

    13.8.6  持续改进 292

    13.9  风险与漏洞管理 292

    13.9.1  风险管理 292

    13.9.2  漏洞管理 293

    13.10  检测验收管理 294

    13.10.1  检测验收计划 294

    13.10.2  检测验收的执行 295

    13.10.3  检测验收报告 295

    13.10.4  部署前的安全测试 295

    13.10.5  交付清单和设备验证 295

    13.10.6  操作和维护人员的技能培训 295

    13.10.7  文件和记录的保存 296

    13.10.8  软件废止 296

    13.11  安全事件管理 296

    13.11.1  应急计划管理 296

    13.11.2  安全事件处理 297
  • 内容简介:
    软件供应链是指在软件开发、测试、发布和维护的全生命周期中,涉及到软 件产品和服务的所有组成部分和相关方,包括软件开发人员、供应商、第三方组 件提供商、托管服务提供商、运维人员、安全审计机构等。软件在开发和运行过 程中, 涉及到的所有开源软件的上游社区、源码包、二进制包、第三方组件分发 市场、应用软件分发市场, 以及开发者和维护者、社区、基金会等, 按照依赖、 组合等形成的供应关系网络,这些组成部分和相关方在整个过程中相互协作,以 保证软件产品和服务的质量和安全性,同时保持生产效率和降低成本。随着软件 在现代社会中的作用越来越重要,软件的供应链也变得越来越复杂和庞大,其中 可能包含许多不同的组件、库和第三方工具。
  • 目录:
    目  录

    第1章  软件供应链安全概述 001

    1.1  背景 002

    1.1.1  什么是软件供应链安全 003

    1.1.2  软件供应链安全现状 004

    1.1.3  软件供应链安全政策法规及标准 007

    1.1.4  软件供应链安全市场 016

    1.2  软件供应链攻击特点 027

    1.2.1  攻击面广、攻击门槛低 027

    1.2.2  隐蔽性强、潜意识信任 028

    1.2.3  传播性强、伤害性大 028

    1.2.4  攻击手段新、攻击复杂化 028

    1.3  软件供应链面临的安全挑战 029

    1.3.1  供应商可信度难以评估 029

    1.3.2  供应链复杂度高 030

    1.3.3  软件供应链透明度低 030

    1.3.4  风险响应速度慢 031

    1.3.5  安全重视程度不足、人员意识薄弱 032

    1.3.6  软件供应链安全威胁 033

    第2章  软件供应链安全治理框架 034

    2.1  软件供应链安全治理整体框架 035

    2.2  软件供应链安全治理理念 036

    2.3  软件供应链安全组织与制度建设 037

    2.4  软件供应链安全研发体系 038

    2.5  软件供应链安全技术能力 039

    第3章  软件供应链安全管理机构与人员 040

    3.1  安全管理机构 041

    3.1.1  机构岗位设置 041

    3.1.2  授权和批准 042

    3.1.3  沟通与合作 043

    3.1.4  审计和检查 043

    3.1.5  实践示例 044

    3.2  安全管理人员 047

    3.2.1  人员招聘 048

    3.2.2  离岗人员 048

    3.2.3  安全意识教育和培训 049

    第4章  软件供应商安全治理 050

    4.1  基本定义 051

    4.1.1  软件供应商在供应链中所处位置 051

    4.1.2  软件供应商安全治理意义 052

    4.1.3  软件供应商治理环节 053

    4.2  明确软件供应商安全治理总体方针 054

    4.2.1  梳理业务核心需求 055

    4.2.2  以政策法规、领域指标为导向 055

    4.3  软件供应商风险评估 056

    4.3.1  供应商资质评估 057

    4.3.2  供应商安全评估 063

    4.3.3  软件产品安全评估 070

    4.4  供应商引入安全 078

    4.5  安全治理职能确立 079

    4.6  供应商风险监控 081

    4.7  供应商清退制度 082

    4.7.1  明确清退标准 083

    4.7.2  制定清退机制 083

    第5章  第三方软件管理 086

    5.1  第三方软件概述 087

    5.1.1  什么是第三方软件 087

    5.1.2  第三方软件风险 088

    5.1.3  安全管理的必要性 089

    5.2  商用采购软件安全管理 090

    5.2.1  商用采购软件介绍 090

    5.2.2  风险分析 091

    5.2.3  安全管理指南 092

    5.3  开源软件安全管理 095

    5.3.1  开源软件介绍 095

    5.3.2  风险分析 095

    5.3.3  安全管理指南 097

    5.4  外包软件安全管理 099

    5.4.1  外包软件介绍 099

    5.4.2  风险分析 100

    5.4.3  安全管理指南 102

    第6章  软件安全研发――需求设计阶段 105

    6.1  需求设计阶段的安全必要性 106

    6.2  威胁建模 107

    6.2.1  威胁建模介绍 107

    6.2.2  威胁建模协助安全需求与安全设计 108

    6.3  安全需求 109

    6.3.1  常用安全需求分析方法 110

    6.3.2  安全需求分析方法在实践中的应用 118

    6.3.3  借助威胁建模生成安全需求 120

    6.3.4  安全需求分析实践案例 123

    6.4  安全设计 127

    6.4.1  针对安全需求的安全设计 128

    6.4.2  安全架构分析 130

    6.4.3  设计有效性校验 134

    第7章  软件安全研发――开发阶段 136

    7.1  开发阶段风险分析 137

    7.2  安全开发标准与管理体系 138

    7.2.1  安全开发标准 138

    7.2.2  安全开发管理体系 140

    7.3  安全编码 142

    7.3.1  常见代码漏洞原理和修复方式 142

    7.3.2  软件安全编码规范 144

    7.4  引入组件的安全 147

    7.4.1  第三方组件风险 147

    7.4.2  组件选择 149

    7.4.3  引入流程 152

    7.4.4  组件修复 155

    7.4.5  组件的使用 157

    7.5  代码评审与代码审计 158

    7.5.1  代码评审 158

    7.5.2  代码审计 160

    7.6  安全成果验收 161

    第8章  软件安全研发――验证阶段 163

    8.1  软件安全验证框架 165

    8.2  安全需求验证 166

    8.3  主流漏洞验证 169

    8.3.1  主流漏洞类型 170

    8.3.2  主流漏洞测试方法 171

    8.3.3  主流漏洞修复示例 172

    8.4  开源组件漏洞验证 178

    8.4.1  开源组件风险类型 178

    8.4.2  开源组件风险测试方法 180

    8.4.3  开源组件修复示例 181

    8.5  业务逻辑漏洞验证 182

    8.5.1  业务逻辑漏洞类型 182

    8.5.2  业务逻辑漏洞测试方法 183

    8.5.3  业务逻辑漏洞修复示例 183

    8.6  API安全验证 185

    8.6.1  修复API漏洞涉及的内容 186

    8.6.2  常见的API漏洞修复示例 186

    8.7  App安全验证 187

    8.7.1  App漏洞类型 187

    8.7.2  App漏洞测试方法 188

    8.7.3  App漏洞修复示例 189

    8.8  数据安全验证 189

    8.8.1  数据安全漏洞类型 189

    8.8.2  数据安全测试方法 190

    8.8.3  数据安全漏洞风险及修复示例 191

    8.9  上线前安全评审 191

    8.9.1  上线前安全评审的重要性 192

    8.9.2  安全基线验证 192

    第9章  软件安全研发――发布和部署阶段 194

    9.1  发布和部署阶段的安全风险 196

    9.2  实用安全实践 197

    9.2.1  安全发布管理 197

    9.2.2  安全部署策略 203

    9.2.3  安全部署测试 206

    9.2.4  持续监控和事件响应 208

    9.3  基于生命周期的软件安全发布流程 209

    第10章  开发过程中的数据安全 212

    10.1  数据安全左移 213

    10.1.1  计划设计阶段 214

    10.1.2  开发阶段 216

    10.1.3  验证阶段 223

    10.2  软件供应链数据安全 223

    10.2.1  软件供应链数据概述 224

    10.2.2  软件供应链数据的风险与威胁 228

    10.2.3  软件供应链数据保护的基本原则和具体措施 234

    第11章  软件供应链环境安全 244

    11.1  开发环境安全 245

    11.1.1  软件开发环节 245

    11.1.2  开发环境风险 246

    11.1.3  开发环境安全指南 246

    11.2  交付环境安全 249

    11.2.1  分发市场安全 249

    11.2.2  软件部署安全 249

    11.3  使用环境安全 254

    11.3.1  一般计算环境安全 254

    11.3.2  云计算环境安全 255

    第12章  软件供应链安全运行管理 257

    12.1  安全运行管理概述 258

    12.1.1  安全运行时的软件供应链安全风险 258

    12.1.2  安全运行时的软件供应链安全管理环节 258

    12.2  风险基线 259

    12.2.1  事先设置风险基线的必要性 259

    12.2.2  风险基线的制定 260

    12.2.3  风险基线的使用 263

    12.3  安全防御 263

    12.3.1  运行时应用程序自我保护 264

    12.3.2  开源组件安全防御 266

    12.3.3  Web应用程序防火墙 266

    12.3.4  其他工具 268

    12.4  监控风险 269

    12.5  响应与处置 272

    12.5.1  应急响应团队 273

    12.5.2  应急响应过程 273

    12.5.3  沟通渠道 276

    第13章  软件供应链安全制度 278

    13.1  制定与修订 279

    13.1.1  安全策略 279

    13.1.2  目标 279

    13.1.3  制定和发布 279

    13.1.4  审查和修订 280

    13.2  参与人员管理 280

    13.2.1  安全责任书 280

    13.2.2  权限分配 280

    13.2.3  能力和资格评估 281

    13.2.4  背景核查 281

    13.2.5  技能培训和发展 281

    13.2.6  离职管理 281

    13.3  供应商管理 282

    13.3.1  供应商的选择 282

    13.3.2  风险评估 283

    13.3.3  合同要求 283

    13.3.4  供应商监控 283

    13.4  产品采购和使用管理 284

    13.4.1  遵守国家法规 284

    13.4.2  产品选择和评估 284

    13.4.3  安全责任划分 285

    13.4.4  关键部件的特殊测试 285

    13.4.5  持续监控和改进 285

    13.4.6  知识产权管理 286

    13.5  安全设计管理 286

    13.5.1  威胁建模 286

    13.5.2  安全需求设计 286

    13.5.3  安全架构设计 287

    13.6  安全开发管理 287

    13.6.1  内部软件开发管理 287

    13.6.2  外包软件开发管理 288

    13.6.3  外部组件管理 289

    13.7  软件代码库管理 289

    13.7.1  统一的软件产品和源代码库 290

    13.7.2  代码库分支 290

    13.7.3  安全漏洞检测 290

    13.7.4  代码和组件的可用性 290

    13.7.5  清洁和安全的软件代码 290

    13.8  安全检测管理 291

    13.8.1  安全检测方法 291

    13.8.2  第三方软件风险检测 291

    13.8.3  检测规划和执行 291

    13.8.4  检测结果分析和补救 292

    13.8.5  检测报告和文档 292

    13.8.6  持续改进 292

    13.9  风险与漏洞管理 292

    13.9.1  风险管理 292

    13.9.2  漏洞管理 293

    13.10  检测验收管理 294

    13.10.1  检测验收计划 294

    13.10.2  检测验收的执行 295

    13.10.3  检测验收报告 295

    13.10.4  部署前的安全测试 295

    13.10.5  交付清单和设备验证 295

    13.10.6  操作和维护人员的技能培训 295

    13.10.7  文件和记录的保存 296

    13.10.8  软件废止 296

    13.11  安全事件管理 296

    13.11.1  应急计划管理 296

    13.11.2  安全事件处理 297
查看详情
相关图书 / 更多
软件供应链安全实践指南
软件工程实训案例指导
汪前进;施珺
软件供应链安全实践指南
软件测试技术与实践——面向分布式系统OpenHarmony
朱少民
软件供应链安全实践指南
软件简史(上下册)
张银奎
软件供应链安全实践指南
软件测试
李盛
软件供应链安全实践指南
软件和信息技术服务业IPO实务:探寻审核关注要点 解锁问题应对思路
天职国际会计师事务所(特殊普通 合伙)行业专家委员会 编著
软件供应链安全实践指南
软件架构指标:度量软件系统的性能和架构质量
[意]克里斯蒂安·西塞里
软件供应链安全实践指南
软件测试技术
赵恒;邹香玲;邹丽霞
软件供应链安全实践指南
软件工程理论与实践 大中专理科科技综合 廉龙颖 等 编 新华正版
作者
软件供应链安全实践指南
软件测试技术(信息工程类高职高专双高建设活页式教材)
于洋 编者;万国德;责编:张庆琼
软件供应链安全实践指南
软件测试:一个软件工艺师的方法(原书第5版) [美]保罗·C. 乔根森 [美]拜伦·德弗里斯
[美]拜伦·德弗里斯(ByronDeVries) 著;[美]保罗·C.乔根森(PaulC.Jorgensen)
软件供应链安全实践指南
软件测试
赵烽;卜令瑞
软件供应链安全实践指南
软件工程(第二版) 阎朝坤 编
黄炎