查看原文
其他

BCS 2019议题分享|开源软件安全实践与思考

黄永刚 代码卫士 2022-04-06
 聚焦源代码安全,网罗国内外最新资讯!
8月21日下午,2019北京网络安全大会(BCS 2019)金融科技网络安全论坛在北京国家会议中心举行。奇安信集团代码安全实验室主任黄永刚应邀出席论坛,并发表了题为《开源软件安全实践与思考》的主题演讲。他从开源软件的安全现状、开源软件的安全实践以及思考和展望三方面进行了分享。现将内容整理如下,希望能给读者带来一些启发。
 

一、开源软件安全现状



据Gartner统计,99%的组织在其 IT 系统中使用了开源软件。Gartner认为,现代软件大多数是被“组装”出来的,不是被“开发”出来的。据Forrester统计,在软件开发中,80%到90%的代码来自于开源软件。

在论坛上,黄永刚表示现在的软件开发越来越像工业生产和制造,开源软件就是原材料,再加上自己写的业务代码,最后“组装”出一个软件系统。开源软件已经成为IT系统建设的基础设施,开源软件安全已经成为焦点问题。


二、开源软件安全实践


黄永刚从奇安信开源项目检测计划、奇安信固件安全检测计划和企业软件开发中的开源软件安全治理三个方面分享了开源软件安全实践相关的内容。
奇安信开源项目检测计划。它是由奇安信代码安全实验室于2015年初发起的公益性计划,主要针对主流开源软件进行源代码安全缺陷分析,截至目前已检测3000多款开源软件。通过对检测数据的分析和统计显示,2018年开源软件的源代码安全缺陷密度是14.22/KLOC,高危安全缺陷密度为0.72/KLOC,也即每1000行开源软件代码中就有14个安全缺陷,每1400行开源软件代码中就有1个高危安全缺陷。

黄永刚表示,开源软件的安全现状很不乐观,而且开源软件之间的关联依赖非常复杂,开源软件的安全问题具有传播和放大的效应,一个开源软件出现0Day漏洞,可能会导致几千个甚至更多的开源软件也出现同样的0Day漏洞,漏洞的攻击面被爆炸性的放大,给漏洞的消控带来了很大的挑战。

奇安信固件安全检测计划。它是由奇安信代码安全实验室2019年初发起的针对联网设备(如无线路由器、智能摄像头等)固件的安全检测计划,其中一项重要内容是检测和分析联网设备固件中引用的开源软件及其存在的安全漏洞。2019年上半年,该计划选取并分析了13个厂商935个设备的最新版固件。结果发现,89.6% 的设备固件基于Linux开源生态构建,可以看出开源软件在此类嵌入式软件开发领域也占据了绝对主导地位。

通过对固件中开源软件的漏洞分析发现,86.4%的最新设备固件存在至少一个老旧开源软件漏洞,也就是说86.4%的最新产品在一出厂时就是不安全的,而且存在的还是老旧漏洞。

企业软件开发中的开源软件安全治理。黄永刚介绍,奇安信代码安全实验室近期选取了3个大型开发团队的67个软件开发项目进行了开源软件安全治理的实践。对实践结果的分析显示,67个软件开发项目均使用了开源软件,使用率达100%,项目中使用的开源软件数量从2个到567个不等,平均每个项目使用157个开源软件,通过工具自动化分析得到的开源软件的使用数量,远远超出了项目研发团队自己的预期。

通过对项目中所使用的开源软件的漏洞分析发现,88%的项目因使用开源软件引入了安全漏洞,79%的项目因使用开源软件引入了高危以上的安全漏洞,42%的项目因使用开源软件引入了超危安全漏洞,平均每个项目中存在44个开源软件安全漏洞。


三、思考与展望



针对极为严峻的开源软件安全现状,黄永刚认为,金融科技机构应该重视开源软件安全治理,并且开源软件安全治理工作应该尽可能左移越左移,解决问题的成本越小,问题越不容易在后期大面积爆发。金融科技机构应该从软件开发阶段就建立统一的开源软件安全策略,建立开源软件安全准入机制,并在软件开发到运维的过程中使用专业的自动化工具持续检测和发现开源软件资产,持续跟踪开源软件漏洞情报和进行漏洞响应。外包开发的软件项目,应该在立项之初就提出针对开源软件的安全要求,在验收时进行检查。

黄永刚还表示,建立精准的开源软件漏洞情报是开源软件安全治理的核心也是很大的挑战。现有的CVE/CPE体系以及NVD等漏洞库,已经无法满足开源软件安全治理的需求。开源软件漏洞情报的建立,应该充分考虑开源软件漏洞情报分散且隐蔽、开源软件间关联依赖复杂等特点,还要充分考虑Dev与Ops的融合。想做到描述Dev阶段的安全威胁,并与Ops阶段打通,需要新的漏洞情报搜集方式,新的漏洞和软件标识体系等。目标是自动化,还要保持兼容。他在议题中详细解读了开源软件漏洞情报的特点,并分享了奇安信代码安全实验室在建立自己的开源软件漏洞情报库时所处理过的一些复杂案例。

在主题演讲的最后,黄永刚总结道:

开源软件已经站在舞台中央,我们不可能阻挡趋势。对于企业来说,使用开源软件可以降低成本,提高效率,更加专注于自己业务部分的代码,是必然的选择。我们已经不可能不使用开源软件,但是需要正确地、安全地使用开源软件。对于管理部门来说,开源软件已经成为构筑网络空间的最基础的“砖头瓦块”,无处不在,开源软件安全问题应该上升到基础设施安全的高度来对待,得到更多的、更广泛的重视。

 

点击"阅读原文”,获取完整 PPT~



推荐阅读

开源软件源代码安全缺陷分析报告——物联网软件专题

开源软件源代码安全缺陷分析报告——人工智能类开源软件专题

开源软件源代码安全缺陷分析报告——框架类软件专题

开源软件源代码安全缺陷分析报告

关于国外知名互联网公司开源软件代码安全缺陷的分析报告



题图:Pixabay License



转载请注明“转自奇安信代码卫士 www.codesafe.cn”。




奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。



点击"阅读原文”,获取完整 PPT~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存