From 5a9166c864413721ed2c1d87e07fa67541a55a8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=80=8A=E6=96=B0=E7=A8=8B=E5=BA=8F=E5=91=98=E3=80=8B?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E9=83=A8?= Date: Wed, 25 May 2022 15:06:20 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E7=AC=AC8=E7=AB=A0=20=E4=B8=AD?= =?UTF-8?q?=E5=9B=BD=E5=BC=80=E6=BA=90=E5=8F=91=E5=B1=95=E7=9A=84=E6=9C=BA?= =?UTF-8?q?=E9=81=87=E5=92=8C=E6=8C=91=E6=88=98.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\207\345\222\214\346\214\221\346\210\230.md" | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git "a/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2548\347\253\240 \344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\347\232\204\346\234\272\351\201\207\345\222\214\346\214\221\346\210\230.md" "b/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2548\347\253\240 \344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\347\232\204\346\234\272\351\201\207\345\222\214\346\214\221\346\210\230.md" index da26f86..abbf11d 100644 --- "a/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2548\347\253\240 \344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\347\232\204\346\234\272\351\201\207\345\222\214\346\214\221\346\210\230.md" +++ "b/\343\200\2122022\344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\350\223\235\347\232\256\344\271\246\343\200\213\351\235\236\346\234\200\347\273\210\347\211\210/\347\254\2548\347\253\240 \344\270\255\345\233\275\345\274\200\346\272\220\345\217\221\345\261\225\347\232\204\346\234\272\351\201\207\345\222\214\346\214\221\346\210\230.md" @@ -1,6 +1,7 @@ # 第八章 中国开源发展的机遇和挑战 ## 8.1 中国开源发展的机遇 + ### 8.1.1 中国正成为全球开源市场的增长点 移动互联网与云计算在中国的快速发展,吸引了全球范围内的开源项目进入中国市场,极大的市场容量促使以云原生为代表的新型订阅收费模式快速变现。而吸引众多全球开发者的另一个因素,是国内大型企业将其产品陆续开源以及大量以开源为基础的初创公司开始涌现。 @@ -40,6 +41,7 @@ 如今,开源与各技术领域携手同行的势头有增无已,开源有助于各技术领域扩大人才规模及上下游生态影响力,通过运营开源社区快速获得反馈并加快产品开发、提升产品质量,同时反哺社区开发者及独立软件开发商(ISV)等生态伙伴,能够达到多方共赢目的。 ### 8.2.1 开源面临技术安全风险 + 开源软件漏洞数量保持高位。 根据Synopsys公司《2021开源安全和风险分析报告》,Black Duck审计服务团队在2020年审计的涵盖17个行业的1546个流行代码库中,98%的代码库包含开源代码,75%的代码由开源代码构成,84%的包含至少一个漏洞,每个代码库平均有158个漏洞,65%的代码库存在许可证冲突。 @@ -50,7 +52,18 @@ 奇安信代码安全实验室《2021中国软件供应链安全分析报告》显示,截至2020年底,CVE/NVD、CNNVD、CNVD等公开漏洞库中共收录开源软件相关漏洞41342个,其中5366个为2020年度新增漏洞。而在奇安信代码安全实验室审计的2557个国内企业软件项目中,存在已知开源软件漏洞的项目有2280个,占比高达89.2%;存在已知高危开源软件漏洞的项目有2062个,占比为80.6%;存在已知超危开源软件漏洞的项目有1802个,占比为70.5%。这些项目中,共检出168604个已知开源软件漏洞(涉及到4166个CVE漏洞编号),平均每个软件项目存在66个已知开源软件漏洞,最多的软件项目存在1200个已知开源软件漏洞。而从漏洞的影响角度来看,最多的Spring Framework安全漏洞CVE-2020-5421影响了44.3%的软件项目,多个漏洞影响了超过30%的项目。输入验证、路径遍历、跨站脚本、注入、NULL引用、资源管理、密码管理、API误用、配置管理、日志伪造等十类安全缺陷是程序员在编写软件代码时经常会出现的典型安全缺陷。在2020年检测的1364个开源软件项目中,十类典型安全缺陷的总体检出率为56.3%,每类典型缺陷的检出率及排名如表1所示。 -![](https://img-blog.csdnimg.cn/81f313413e9147aebcbfe7884a79b3a2.png)
*基于Log4j 2漏洞的攻击数量迅速上升* +|排名 |缺陷类型 |检出率| +|--------|------------|---------| +|1| 输入验证 |34.9%| +|2| 路径遍历| 30.7%| +|3| 注入 |28.6%| +|4| NULL引用| 24.8%| +|5| API误用 |24.3%| +|6| 资源管理 |20.7%| +|7| 跨站脚本 |19.1%| +|8| 日志伪造 |17.9%| +|9| 密码管理 |13.8%| +|10| 配置管理 |12.9%| 开源软件漏洞影响范围巨大。 @@ -67,6 +80,7 @@ 不仅攻击次数在持续攀升,基于该漏洞的新变种也在短时间内迅速衍生。Log4j 2作为一个基于Java的日志框架影响范围之广远超开发团队的预想,全球近一半企业因为该漏洞受到了黑客的试图攻击。并且由于Apache Log4j 2应用范围大、漏洞修复较为复杂,而利用漏洞却十分简便,因此这Apache Log4j 2漏洞很可能在未来几年内也将一直存在。 ### 8.2.2 开源面临法律风险 + **开源许可证法律效力有待进一步明确。** 根据Synopsys公司《2021开源安全和风险分析报告》,2020年的被审代码库中有65%包含存在许可证冲突的开源代码。纵观存在许可证冲突的代码库,近四分之三与某个版本的“GNU通用公共许可证”存在冲突。26%的被审代码库使用了没有许可证或定制许可证的开源代码。使用定制开源代码许可证的代码库是否存在可能的IP和其他法律问题,需要评估后才能确定。例如,JSON许可证实质上是宽松型MIT许可证,只不过添加了“该款软件严禁用于恶意用途,仅限用于善意用途”的注释。许多热门项目的责任方都因为许可证定义含糊不清而删除了使用JSON许可证的代码,因为“善意用途”与“恶意用途”定义争议性极强,很难界定。 @@ -141,6 +155,7 @@ 在开源人才培养方面,中科院软件所于2020年发起了“开源软件供应链点亮计划”,包含“开源之夏”、开源维护人员招募计划等系列活动,旨在搭建高校开发者与开源社区的沟通桥梁,吸引高校开发者参与开源社区贡献。 ### 8.2.4 中国开源产业的人员危机 + **人才供需对接的效率低。** 据GitHub《2021年度Octoverse报告》统计,中国开发者人数占比排名第二,有 755万+。按照中国数字经济转型发展的要求,2022年中国人才需要有1200万的缺口。但企业找到恰当的、需要的人才成本依然很高,普通大学毕业生去企业之后要1-2年才能适应开源等工作的岗位要求,总体来看,人才培养周期长,加剧了企业的开源人才挑战。 -- GitLab