大数跨境
0
0

软件供应链安全的优先事项—软件供应链安全评估指南

软件供应链安全的优先事项—软件供应链安全评估指南 信息通信软件供应链安全社区
2022-03-07
0
导读:软件供应链安全治理的务实步骤,应将供应链安全评估作为第一步,采用行业最佳的软件供应链安全框架和实践能力要求,结合软件安全开发现状、服务供应商分析、监管合规等,进行差距评估,持续完善软件供应链安全建设能

      由于软件供应链安全具有涉及范围广泛、体系复杂、攻击面众多的特点,因此软件供应链的安全治理需根据企业自身应用软件安全现状、研发组织管理、监管合规等要素,结合现有网络安全、应用安全、数据安全、个人隐私保护等方面组织、运行管理和风险控制体系,有效推动企业自身软件供应链的发展,减少软件供应链各类攻击事件的发生和影响。

     北京比瓴科技根据行业实践梳理的软件安全供应链安全实践活动集,软件供应链安全相关评估方法、工具资源介绍等,供参考和讨论。

什么是软件供应链安全

我们将软件供应链安全直接相关联的实践活动分为5个实践活动域,每个实践活动域由关键的安全实践活动、管理流程、控制措施等任务要求组成,可作为软件安全开发或软件供应链安全评估、组织管理、安全建设的参考框架:
1. 软件和代码安全:保护产品及其组件、源代码免受外部企图的恶意篡改或伪造、非授权访问和敏感信息泄露(即:安全性、完整性和真实性);
2. 软件开发安全:保证软件产品的研发设计、构建安全过程,以及研发部门和开发商必须遵循软件研发各阶段的最佳实践;
3. 服务供应商管理:采购的商业软件产品和服务供应商是可信的,不会采取会危及最终产品安全性的恶意行为;
4. 上游安全性和完整性:产品或组件的设计者和服务商必须确保其上游供应链遵循实践要求;
5. 产品和基础设施软件运行安全:保护软件产品及基础设施软件的配置基线,建立有效的持续漏洞管理、事件响应恢复等安全运行机制。

软件供应链安全实践活动

软件供应链安全的5个实践活动域的安全实践任务如下,用来指导安全评估和建设。
(一)源代码和软件安全:源代码安全是所有软件供应链安全的基石,建立源代码和软件安全机制,保证源代码和软件包的完整性、自动化扫描、授权访问、安全认证等。
1.制定源代码安全策略和代码管理规范:对代码仓库的提交、分支保护、权限管理、代码调用规则、代码测试、代码检查等内容进行规范,并定义相关安全角色和审批流程等;
2.保护所有形式的代码免受未经授权的访问和篡改;
3.对代码在每个开发任务阶段进行签名验证,确保代码的完整性和可信;
4.代码自动化安全扫描左移:与IDE开发环境、代码仓库集成,尽早介入对代码的自动化安全测试,代码安全扫描结果的元数据需要以Hash形式连接到代码发布包;
5.授权访问和审批:保护软件开发环境,最小必要权限和人员访问代码,避免不必要的人员访问引入安全问题;
6.代码访问身份安全认证:采用MFA认证、证书等密码技术保证身份唯一性和真实性;
7.开源软件安全:制定开源软件安全政策,建立开源软件的管理、使用安全、审查标准、跟踪维护、许可合规等安全机制;
8.软件包签名保护和SCA软件成分分析;
9.必须保证软件包在发布、使用过程中的合法性、完整性;
10.存档和保护每个软件版本:保存软件版本,以帮助识别、分析和消除发布后在软件中发现的漏洞。


(二)软件开发安全保证软件产品的研发设计、构建安全,研发部门和开发商必须遵循软件研发各阶段的最佳实践。






1.保护软件开发环境 :确保软件开发环境的所有组件都受到安全保护。软件开发环境包括开发、构建、测试和分发环境;
2. 建立应用软件安全要求规范;
3.定义开发安全各角色与职责;
4.建立应用安全审查标准;
5.实施应用软件安全设计;
6. 安全功能重用;
7.确保遵循安全编码实践;
8. 软件安全设计验证;
9. 软件构建流水线安全;
10.安全工具链和研发安全平台建设;
11.软件安全培训和安全知识库建设;
12. 上线前的安全测试;
13. 部署过程中软件完整性和签名验证。


(三)服务供应商管理:制定流程对外部或合作开发测试、安全服务、安全咨询、软件采购、IT基础设施产品等软件相关服务供应商进行管理,以确保这些供应商提供的产品和服务满足企业自身软件供应链和软件安全的标准。
1.服务供应商清单; 
2.建立服务供应商管理政策;
3.对服务供应商进行分级、分类;
4.对服务供应商的服务能力水平评估;
5.产品和服务交付安全验证标准;
6. 服务商准入、退出机制;
7. 合同管理。


(四)上游安全性和完整性:
1. 产品或组件设计者和服务商必须确保其上游供应链遵循本实践要求;
2. 要求供应商必须提供SBOM软件物料清单;
3. 重要供应商和开源社区建立管理机制。

(五)产品和基础设施软件运行安全
1.系统安全加固:对应用程序基础架构组件使用标准的、行业推荐的加固配置模板。 包括底层服务器、数据库和 Web 服务器,并适用于云容器、平台即服务 (PaaS) 组件和 SaaS 组件;
2.自动化扫描运行阶段中的软件资产,及时发现软件漏洞和不安全的配置。软件资产包括软件、第三方组件、框架、库、应用程序基础设施等,以及各软件开发环境中的工具、软件;
3.制定上述软件资产的版本维护管理、升级规范;
4. 建立软件供应链安全攻击事件的响应与恢复流程;
5. 必不可少的安全培训和最终用户安全。
软件供应链安全主要评估工具介绍
一)NIST安全软件开发框架(SSDF)

2020423日,美国国家标准与技术研究院 (NIST)发布了题为“通过采用安全软件开发框架 (SSDF)降低软件漏洞风险” 的白皮书。该白皮书为寻求调整其软件开发流程以交付更安全软件的组织提供指导 SSDFNIST推荐的一组核心的高级安全软件开发实践,结合了 SAFECode、BSA、OWASP等的建议,包括了解决供应链安全需求的实践和任务。

SSDF v1.0框架详细内容可查看“比瓴安全”公众号文章:构建良好安全软件的SSDF关键实施任务框架2022年2月发布SSDF v1.1版本,由SP 800-218取代白皮书SSDF1.0。


(二)BSIMMsc

软件安全构建成熟度模型BSIMM,最新版本为BSIMM12, 是一个软件安全框架。该框架由12个实践组成,包含用于评估计划的122个活动。BSIMMsc 是BSIMM的一个子集,可作为软件供应链风险管理策略的一部分,专门用来衡量供应商软件开发过程中的软件安全能力。


(三)CNCF软件供应链安全白皮书

CNCF的软件供应链安全白皮书中提出了软件供应链安全的原则、最佳实践、可选工具等,应用安全软件风险等级的适用性,重点提出了软件供应链在不同阶段(源代码安全、第三方组件安全、构建流水线安全、软件包安全和部署安全,共5个)的安全能力(验证、自动化、授权访问、安全认证)要求,完整内容可查看CNCF软件供应链白皮书原文。

(四)OWASP SAMM模型

SAMM--软件保障成熟度模型,是OWASP的维护一个旗舰安全项目。SAMM是一个规范性模型,是一个易于使用、 完全定义和可测量的开放框架。可帮助组织评估、制定和实施软件安全性策略。


(五)金融服务信息共享和分析中心

适用于第三方服务和产品供应商的软件安全控制类型。本文档确定了与供应商治理计划相结合的控制类型,以提高金融机构客户和员工在供应链中使用第三方服务和产品时的信息保护能力。


(六)OWASP SCVS软件组件验证标准

     本文档中文翻译版及详细内容可查看瓴安微报”公众号文章:软件供应链安全的优先事项—第三方组件安全
总结
比瓴科技认为,软件安全开发和软件供应链安全治理,应将安全评估作为软件供应链安全建设的第一步,参考本文介绍的软件供应链安全组成部分及相关安全实践任务和相关知识框架工具,具体采用业界主流的软件开发安全最佳实践框架和评估工具方法,对安全软件开发和软件供应链安全要求的实践任务、管理和流程开展现状评估,同时兼顾安全和效率的原则,持续完善与自身应用软件系统安全要求、环境风险等级、组织架构及开发模式、监管合规要求等匹配的软件供应链安全控制类型和措施。






      在“软件定义一切”的当今世界,人民生活、国家发展,各行各业与软件息息相关。但当前软件供应链安全问题对关键信息基础设施保护、数字产业高质量发展带来巨大挑战。在工业和信息化部网络安全管理局指导下,由六家企事业单位(中国信息通信研究院、中国电信集团有限公司、中国移动通信集团有限公司、中国联合网络通信集团有限公司、中国铁塔股份有限公司、奇安信科技集团股份有限公司)发起筹建的信息通信软件供应链安全社区应运而生。社区致力于软件供给过程的安全生态建设,为产业链、供应链各相关方等提供研讨、研发、协作、共治的平台。


校验审核 | 中国信通院  李金华

稿件支持 | 比瓴科技  闫长运

【声明】内容源于网络
0
0
信息通信软件供应链安全社区
发布信息通信软件供应链安全社区的新闻稿、活动信息、研究成果等。
内容 140
粉丝 0
信息通信软件供应链安全社区 发布信息通信软件供应链安全社区的新闻稿、活动信息、研究成果等。
总阅读49
粉丝0
内容140