动维不仅是执行者、更是思想者
动维如何将您的想法落地,从产品策划到开发实施,再到技术运维
首页 > 动维视野 > 动维观点
软件供应链安全战略:从产品研发过程的代码开发源头抓起
发布时间:2023-01-30 09:45:00

代码自主率需要产品研发厂商从研发过程源头抓起


互联网已经渗入人类社会的各个方面,软件的网络化极大地推动了社会进步和智能社会的发展。与此同时,开源组件、开源代码的大规模应用,供应链安全的威胁剧增。供应链安全已经成为公众和政府高度关注的重大问题,软件在供应链的研究与实践中则扮演着至关重要的角色。

 

企业层面,我国头部的互联网企业、软硬件厂商、安全厂商、测试服务商以及需求方均开始投入到软件供应链的安全建设中,围绕保障软件供应链安全的重大需求,充分发挥创新技术在软件供应链网络安全保障中的作用,加大软硬件安全检测及分析、开源许可证风险防控、攻防渗透技术、源代码安全审计、漏洞挖掘技术、大数据分析技术等创新技术的研发及投入,切实落实对软件供应链安全的保障,构建一套动态的安全防护体系。

 

目前关键信息基础的数字化转型步伐不断加速,随着各类关系民生的重要企业全面推进业务上云,随着信息安全产业上升至国家安全战略层面,未来的社会,将需要大量的信息安全方面的人才;未来的企业,也将需要在信息安全方面投入更多的重视。为了保障软件信息安全,厂家必需从软件的研发阶段就把安全当做重要因素的考量。


剖析原因,关键信息基础设施安全与开源战略、国内开源现状

 

信息技术产业提倡的自主创新并不等于技术上的封闭,开源软件是产业生态发展壮大的重要支撑。开源对信息技术产业的意义,体现在3个方面:1.向开源项目贡献源代码,能够扩充技术影响力;2.借助开源软件资源,能够节约成本;3.开源社区有助于汇聚开发者的力量,更有助于创新。虽然开源有这么多好处,但是开源所带来的风险和隐患也不容忽视。


图片


1.开源软件风险不可控

在当前的软件开发环境当中,为了节省时间和效率,我们在项目中大量的使用开源的组件,这些组件由开源社区的程序员来开发,但是这些程序员对安全方面的了解微乎其微。那可想而知,当我们在使用这些开源软件件的时候,面临着多大的风险。

 

另一种情况我们不得不承认开源软件的强大性,全世界最好的程序员都在使用开源软件,因此我们无法停止使用开源软件件。基于此,我们的当务之急是重视开源软件安全漏洞方面的研究。

 

当前业界依然认为开源软件是相对安全的,但是随着信息技术产业持续发展,开源软件的安全问题已经不容忽视,必需正确对待起来。

 

2.开源协议的复杂性

所谓的开源协议,实际上主要指包括开源软件在内的著作权许可协议,例如典型的Apache License 2.0、BSD开源协议(Berkerley Software Distribution)、GPL ( GNU General Public License )、MIT ( MIT license )等。开源软件的许可证比较繁多而且复杂。如果不恰当地使用开源软件,未能充分理解和研究许可证规定的权利和义务,往往会埋下知识产权的风险隐患,甚至会被强制要求公开自家产品的自主研发代码。

 

很多软件开发工程师在使用开源软件的时候,不会去仔细研读改开源软件遵循的开源协议,再加上开源软件相互依赖,导致各类开源协议在实际情况里存在大量的交叉情况,使得大多数公司对于本公司软件项目的软件工程所依赖的开源组件涉及的开源协议信息存在较大的模糊性、不确定性。


3.企业软件安全意识落后

随着平台的发展,软件形态产生了重要变化。软件的目标由最初的提供基本功能进化为提供更好的服务和体验;围绕多种异构互联的硬件平台,形成了差异化的软件群体;软件核心服务往往通过云平台完成部署,功能和服务在云和端之间体现出很强的交互性和个性化;软件普遍基于开放式的第三方开源组件快速构造,开发周期和版本迭代周期明显缩短,导致软件开发门槛显著降低;软件系统之间的协同配合显著增强,敏感数据的网间流动大幅增加。这些都是在软件生产过程中存在的安全隐患,需要引起企业的足够重视。

 

另外一方面企业软件供应链管理制度不完善,缺乏针对软件生产等重要环节的管控措施。企业软件供应链透明度不高,企业开源代码管理机制尚不完善,给软件供应链管控带来极大的安全挑战。企业需要引入系统的供应链安全管理机制,与国内安全领域诸如源代码代码检测平台机构合作来完善自身保障能力。

 

4.软件安全,未来的趋势

为了推动软件供应链安全体系建设,基础软硬件厂商、安全公司、测试机构、研究机构和高校,以及用户和上下关联游企业,都在投身研究制定软件供应链安全保障技术方案、支撑产业研究与标准研制,协助推动相关技术攻关和实施,促进软件供应链生态的完善和持续发展。2021年7月12日,工业和信息化部、国家互联网信息办公室、公安部联合印发《网络产品安全漏洞管理规定》。该规定对供应商产品安全提出了法律要求,供应商要为自己的产品安全承担责任。

 

落地示范、营造生态是当前信息技术产业具有战略价值的工作。技术方案要变成落地的服务能力,需通过地方性的示范工作,带动更大的覆盖面;通过关键产品挑战赛等活动呼唤社会对软件供应链安全的正确认识;还可通过安全专业人才和创新联盟等的推进,加快推进产学研等方面的合作,缓解人才和积累不足的问题。

 

软件供应链安全需从代码开发源头抓起,具体技术手段的应用


安全问题的解决必需要从源头上找到根本的解决办法,首先要从思想上重视软件供应链安全,其次要将供应链安全的重视落实到软件研发的生命周期中,并使其成为重要的一环。下面分享几种保障供应链安全在软件开发流程中最佳实践。


1.SDL软件安全开发生命周期

SDL的是安全开发生命周期,Security Development Lifecycle。由微软最早提出,是一种专注于软件开发的安全保障流程。为实现保护最终用户为目标,它在软件开发流程的各个阶段引入安全和隐私问题。

 

SDL的核心理念就是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。

 

安全开发生命周期 (SDL)是侧重于软件开发的安全保证过程,旨在开发出安全的软件应用。

 

2.DevSecOps

DevSecOps 是“开发、安全和运营”的缩写,在软件开发生命周期的每个阶段自动集成安全性——从最初的设计到集成、测试、部署直至软件交付。

DevSecOps 表示开发组织实施安全性的自然和必要的发展过程。过去,安全性总是由单独的安全团队在开发周期结束时(几乎是事后)添加到软件中,并由单独的质量保证 (QA) 团队进行测试。

 

图片


DevSecOps 可将应用和基础架构安全无缝集成到敏捷和 DevOps 流程和工具中。它解决了安全问题,因为这些问题出现后,用户可以更轻松、更快速、以更低的成本加以解决(在投入生产环境之前)。此外,DevSecOps 使应用和基础架构安全性成为开发、安全和 IT 运营团队的共同责任,而不仅仅是安全职能的职责。

 

3.使用专业源码检测工具

软件代码成分分析(SCA)技术是指通过对软件的组成进行分析,识别出软件中使用的开源和第三方组件(如底层库、框架等等),从而进一步发现开源安全风险和第三方组件的漏洞。通常,SCA的检测目标可以是源代码、字节码、二进制文件、可执行文件等的一种或几种。

 

针对企业信息系统源代码中可能存在的安全漏洞,可以运用基于历史漏洞信息的智能学习技术进行检测。通过采集海量开源代码并提取其中漏洞代码的方法构建样本集,提取漏洞比对特征进行模型训练,形成原型系统,实现对系统源代码进行安全性检测,并辅助工程人员快速进行源代码漏洞的定位与修复,大幅提高代码安全检测与维护的工作效率。

 

棱镜七彩FossCheck,助力国家软件供应链安全战略

 

优秀的企业总能在相关领域提前布局,在软件供应链安全这个赛道上,已经有了一个卓越的领跑者:棱镜七彩FossCheck。

 

FossCheck是由棱镜七彩推出具有完全自主知识产权的综合检测产品。FossCheck专注于开源软件治理、软件供应链安全领域、软件自主可控等领域,核心功能包括源代码自主率分析、软件成分分析、开源安全漏洞风险分析、开源许可证合规性风险分析。区别于传统的源代码检测工具,FossCheck依托国内领先的源代码知识库以及威胁情报中心提供相关服务,具备检出率搞、误报率低、检测效率快、支持语言广等多种优势,支持私有化离线部署、云部署、Saas服务等多种部署形式。

 

功能上棱镜七彩FossCheck工具不仅提供了软件物料清单、源代码成分检测、二进制开源溯源、项目自主率检测评定,还能提供非常强大的源代码漏洞预警、跟踪检测。针对于开源许可证这个难点,棱镜七彩FossCheck也有非常成熟的解决方案。

 

在产品形态上,棱镜七彩FossCheck不拘泥于传统的SaaS架构,还支持企业本地部署,充分满足各类供应链安全需求。

 

图片


棱镜七彩FossCheck依靠国内最大的开源知识库,独特开源分析技术和高性能大数据分析能力,在供应链代码安全、软件自主可用分析和项目验收企业审计取得了丰富的成功经验。

 

国内SCA工具领域曾经一度被老外的BlackDuck占领大额市场,目前已经出现国产化替代的强劲对手“FossCheck”。


动维专业技术研发企业 www.dongweinet.cn


上一篇
官方平台

官方微博

微信公众号

电话咨询
13811180443
服务时间:09:00-22:00
在线咨询