开源软件供应链

开源软件供应链
作 者: 武延军
出版社: 机械工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  现任中科院软件所副所长、总工程师、学术委员会副主任,研究员、博士生导师。致力于开源软件发展,担任openEuler委员会副主席,OpenHarmony项目技术指导委员会(TSC)委员,开放原子开源基金会开源安全委员会主席,中国开放指令集(RISC-V)联盟开源软件工作组组长。主持多项基础软件领域国家级重大任务。当前主要研究方向是开源软件供应链与RISC-V基础软件。

内容简介

开源软件供应链是指开源软件在开发和运行过程中涉及的所有开源软件的上游社区、源码包、二进制包、第三方组件分发市场、应用软件分发市场,以及开发者和维护者、社区、基金会等,按照依赖、组合等形成的供应关系网络。相较于传统软件供应链,开源软件供应链随着供应层级不断加深,其规模不断扩大,导致针对上游的攻击将更难被发现、影响范围更广。本书从开源软件供应链的定义开始,逐步讲解开源供应链模型、开源供应链评估体系、关键节点识别与维护等开源软件供应链的关键内容。开源软件供应链是指开源软件在开发和运行过程中涉及的所有开源软件的上游社区、源码包、二进制包、第三方组件分发市场、应用软件分发市场,以及开发者和维护者、社区、基金会等,按照依赖、组合等形成的供应关系网络。相较于传统软件供应链,开源软件供应链随着供应层级不断加深,其规模不断扩大,导致针对上游的攻击将更难被发现、影响范围更广。本书从开源软件供应链的定义开始,逐步讲解开源供应链模型、开源供应链评估体系、关键节点识别与维护等开源软件供应链的关键内容。本书可以作为开源软件供应链领域的研究人员或者工程技术人员的参考用书,也可以作为开源爱好者的入门书籍。

图书目录

前言

第1章 什么是开源软件供应链  / 1

1.1 关注开源软件供应链的原因  / 1

1.2 开源软件供应链的基础知识  / 8

1.2.1 开源软件供应链的定义  / 8

1.2.2 开源软件供应链的特征  / 10

1.2.3 开源软件供应链面临的风险  / 16

1.2.4 开源软件供应链的法律政策  / 25

1.3 本书的组织框架  / 28

1.4 本章小结  / 29

第2章 开源软件供应链的国际形势  / 30

2.1 具有影响力的开放组织  / 30

2.1.1 OpenSSF  / 30

2.1.2 OWASP  / 35

2.1.3 SPDX  / 36

2.1.4 OpenChain  / 37

2.1.5 Openwall  / 37

2.1.6 中国计算机学会开源发展委员会  / 38

2.1.7 开放原子基金会开源安全委员会  / 38

2.2 关注开源软件供应链安全的企业  / 39

2.2.1 Sonatype  / 39

2.2.2 Synopsys  / 40

2.2.3 科技巨头  / 41

2.3 各国对开源软件供应链安全的态度  / 41

2.3.1 国外  / 41

2.3.2 国内  / 45

2.4 本章小结  / 46

第3章 开源软件供应链的研究基础  / 47

3.1 供应链的相关研究  / 47

3.1.1 供应链定义及管理研究概述  / 47

3.1.2 供应链网络研究概述  / 50

3.2 软件供应链的相关研究  / 53

3.2.1 传统软件供应链研究概述  / 53

3.2.2 开源软件供应链研究概述  / 54

3.2.3 供应链中关键软件识别研究概述  / 57

3.3 软件供应链建模的相关研究  / 59

3.3.1 软件仓库挖掘研究概述  / 59

3.3.2 软件工程领域的知识图谱研究概述  / 62

3.4 本章小结  / 64

第4章 开源软件供应链模型  / 65

4.1 面向主要环节的供应链模型  / 65

4.2 开源软件供应链的形式化模型  / 67

4.2.1 自动机构建  / 68

4.2.2 自动机验证  / 73

4.3 开源软件供应链的知识化模型  / 77

4.3.1 本体设计  / 77

4.3.2 知识抽取  / 83

4.3.3 知识融合  / 88

4.3.4 知识更新  / 89

4.4 工业界常用的供应链模型——软件物料清单  / 90

4.4.1 背景  / 90

4.4.2 技术组成  / 91

4.4.3 已有的产品及分类  / 95

4.4.4 技术应用现状  / 97

4.4.5 挑战  / 100

4.5 本章小结  / 102

第5章 开源软件供应链的风险评估体系  / 103

5.1 面向供应链主要环节的风险防控体系  / 103

5.1.1 风险模型  / 104

5.1.2 开源软件供应链中第三方组件的风险识别  / 105

5.1.3 开源软件供应链视角下的应用软件风险识别  / 117

5.1.4 协作开发的风险识别  / 127

5.1.5 下载更新过程的风险识别  / 130

5.1.6 风险应对策略  / 131

5.2 基于知识化模型的风险防控体系  / 141

5.2.1 风险模型  / 143

5.2.2 面向安全性风险的管控方法  / 144

5.2.3 面向合规性风险的管控方法  / 146

5.2.4 面向维护性风险的管控方法  / 149

5.2.5 风险应对策略  / 154

5.3 本章小结  / 156

第6章 开源软件供应链的关键节点识别与维护  / 157

6.1 开源软件供应链的关键节点  / 157

6.2 关键节点识别方法  / 159

6.2.1 Criticality score  / 159

6.2.2 Gitee指数  / 161

6.2.3 CriticalityRank  / 164

6.3 本章小结  / 173

第7章 供应链软件评估和筛选  / 174

7.1 供应链软件  / 174

7.2 供应链软件评估需要解决的问题  / 176

7.3 供应链软件评估指标体系  / 177

7.3.1 评估属性定义  / 178

7.3.2 评估属性度量  / 180

7.4 供应链软件评估方案  / 182

7.4.1 指标权重设计  / 183

7.4.2 评估结果计算  / 185

7.5 供应链软件评估模型评价  / 189

7.6 面临的问题与挑战  / 191

7.6.1 研究难点与挑战  / 191

7.6.2 未来研究方向  / 193

7.7 本章小结  / 198

第8章 开源软件供应链基础设施的建设  / 199

8.1 需求分析  / 199

8.1.1 开源软件供应链基础设施的功能性需求  / 200

8.1.2 开源软件供应链基础设施的非功能性需求  / 202

8.1.3 开源软件供应链基础设施的目标用户  / 203

8.2 基础设施设计  / 205

8.2.1 总体设计  / 206

8.2.2 数据基础设施  / 210

8.2.3 一体化服务基础设施  / 212

8.3 本章小结  / 215

第9章 开源软件供应链的呈现与应用  / 216

9.1 供应链管理的可视化呈现  / 216

9.1.1 知识图谱的可视化表示技术  / 218

9.1.2 大规模知识图谱的可视化技术  / 218

9.1.3 知识图谱的可视化查询  / 219

9.1.4 开源软件供应链管理的可视化呈现  / 223

9.2 典型应用案例  / 225

9.2.1 在openEuler开源社区的应用  / 225

9.2.2 在PyPI开源制品仓库的应用  / 232

9.2.3 开源软件供应链点亮计划  / 236

9.3 本章小结  / 241

参考文献  / 242