探寻合规之道,共筑数据保障之堡。专注为数据安全管理者、技术专家、隐私法务、律师等专业人士打造的知识共享与交流平台。
■作者:Smart
■编辑:王贤智
——《数据守望》专栏
无论是自主研发还是通过外部采购,大型软件产品往往需要通过项目形式来实现。那么,“安全左移”应该在哪个环节实施?这与软件供应链安全紧密相关。
-
甲方的“安全左移”
-
规划阶段:在项目初期,参与安全需求分析、安全方案制定和安全评审,确保安全需求得到充分考虑。同时,参与软件产品和安全产品的选型和评比。 -
建设阶段:关注软件的交付实施和安全配置,严格控制软件上线前的安全测试,并执行软件验收测试。 -
运行阶段:持续监控软件的安全漏洞、程序变更和软件许可情况。
从系统建设的角度来看,甲方越早参与安全实践,整体系统的安全控制就越有效。因此,从系统规划阶段开始参与,将获得最佳的安全效果。
-
乙方的“安全左移”
若甲方希望进一步“左移”,则需从需求方转变为供应方。从乙方的软件开发角度来看,研发过程中存在一些关键环节,如需求定义、审计、编码、构建、测试、打包、发布、配置和监控。在这些环节中嵌入安全因素,可以有效抵御软件供应链风险。
案例1:SolarWinds黑客攻击
#事件概述:SolarWinds公司遭受了一起复杂的网络攻击,攻击者通过渗透系统并植入恶意软件的方式,成功实施了攻击。
#攻击细节:该恶意软件与APT29、Nobelium有关,与Orion网络管理系统捆绑在一起,并通过产品更新分发给客户。
#影响范围:尽管恶意软件附带了合法的数字签名,但客户在不知情的情况下下载并安装了它,导致攻击者能够在客户网络中潜伏,窃取敏感信息。
#特别案例:Mimecast公司,作为云网络安全服务提供商,其邮件服务器的TLS私钥遭到泄露,攻击者利用这一点进行中间人攻击,侵犯了客户的电子邮件安全,获取了更多敏感数据。
案例1:SolarWinds黑客攻击
#特别案例:Mimecast公司,作为云网络安全服务提供商,其邮件服务器的TLS私钥遭到泄露,攻击者利用这一点进行中间人攻击,侵犯了客户的电子邮件安全,获取了更多敏感数据。
案例2:Apache Log4j高危漏洞
#事件概述:Apache Log4j2的高危漏洞在2021年12月被披露,该漏洞允许攻击者通过JNDI注入执行远程代码。
#影响范围:这一漏洞影响了许多大型服务,包括Steam、苹果云服务、推特、亚马逊,以及广受欢迎的游戏"我的世界",威胁了数十万用户。
#漏洞严重性:据美联社评价,这可能是近年来最严重的计算机安全漏洞之一。
#修复挑战:由于Log4j2是一个广泛使用的Java日志框架,被集成在无数软件包中,这一漏洞的修复和影响可能延续多年。更复杂的是,Log4j往往深植于代码库中,有时作为间接依赖项,这使得识别和修复变得更加困难。
#修复挑战:由于Log4j2是一个广泛使用的Java日志框架,被集成在无数软件包中,这一漏洞的修复和影响可能延续多年。更复杂的是,Log4j往往深植于代码库中,有时作为间接依赖项,这使得识别和修复变得更加困难。
(1)软件供应链定义
(2)软件供应链安全
软件供应链安全可以从以下两个维度进行理解:
供应链维度:指从采购原材料,到制成中间产品到最终产品,将最终产品交付用户为功能的,由一系列设施和分布选择形成的网络。因此,软件供应链涵盖了软件开发和发布的整个流程,包括自主开发的代码、外包开发的代码、商用软件包、开源软件等组成部分。还包括与最终产品构成或互动的任何其他因素,如接口、协议、开发工具等。
安全维度:一是从软件供应商管理维度,建立合规的供应商名录,定期组织相关安全监督检查和评价。二是与漏洞、恶意代码等相关的技术安全风险。三是合规&政策安全,包括自主可控安全和许可证合规安全等。
供应链维度:指从采购原材料,到制成中间产品到最终产品,将最终产品交付用户为功能的,由一系列设施和分布选择形成的网络。因此,软件供应链涵盖了软件开发和发布的整个流程,包括自主开发的代码、外包开发的代码、商用软件包、开源软件等组成部分。还包括与最终产品构成或互动的任何其他因素,如接口、协议、开发工具等。
参照《GB/T 43698—2024 网络安全技术 软件供应链安全要求》,整理了软件供应链相关基础概念,如下:
(1)软件产品
解释:供方是为需求提供的软件产品的供应商,通常是指第一级的直接供应商,广义上还包括软件产品的开发商、各级销售和代理商、系统集成商,也包括软件或应用商店、代码托管平台、第三方下载站点以及基于开源代码提供软件产品的组织等。
(4)需方
定义:从其他组织获取软件产品的组织。指软件产品的购买者和使用者。
(5)供应关系
定义:需方和供方之间为开展业务、提供软件产品而建立的协议、合同等契约关系。在供应链中,上游的需方同时也是下游的供方。
(6)供应活动
定义:需方和供方为维持日常生产基于供应关系进行的软件采购、开发、获取、交付、运维、废止等活动的总称。
(7)软件供应链安全图谱
定义:软件产品信息、软件物料清单、安全信息等内容及其关联关系的描述和表示。一般以文本形式存储,支持通过知识图谱方式展示 。
(8)外部组件
定义:由供方以外的组织或人员开发的程序代码、文档或数据,通常是由二进制程序文件或者源代码程序文件构成。外部组件包括软件中使用的开源组件和第三方组件。
国标GB/T 43698—2024中提出三类风险,分别为供应关系风险、技术风险和知识产权风险。
-
供应关系风险主要是指供应中断(例如:软件供应中断、软 件功能受限、软件服务降级等);
-
技术风险主要指软件漏洞、软件后门、恶意篡改和信息泄露等;
-
知识产权风险主要指假冒伪劣、许可协议不合规等安全风险。
软件供应链安全目标是建立软件供应链安全风险管理能力体系并持续改进,其安全关注重点体现如下:
(1)整体聚焦三大方面
-
软件供应链安全风险管理
✔️明确软件供应链风险管理的目标和策略;
✔️识别企业的软件资产(一般软件资产和关键软件资产);
✔️形成软件供应链安全图谱;
✔️确定软件供应链风险管理对象、范围和边界;
✔️开展软件供应链安全图谱的跟踪机制;
✔️定期组织软件供应链安全检测和风险评估;
✔️对软件供应链安全要求开展监督检查。
✔️明确软件供应链风险管理的目标和策略;
✔️识别企业的软件资产(一般软件资产和关键软件资产);
✔️形成软件供应链安全图谱;
✔️确定软件供应链风险管理对象、范围和边界;
✔️开展软件供应链安全图谱的跟踪机制;
✔️定期组织软件供应链安全检测和风险评估;
✔️对软件供应链安全要求开展监督检查。
表3:软件供应链安全图谱(来源国标)
-
组织管理:需要从需方和供方两个角度进行组织的区分,主要包括机构管理、制度管理、人员管理、供应商管理(需方)、知识产权管理。
-
供应活动管理:软件开发环节(采购或开发)、软件交付环节(获取、交付、部署等)、软件使用环节(运维、废止)。
(2)四个相关主体及关系
-
需方从第三方机构进行安全需求的咨询和评估,明确需求后从乙方获取相关软件产品;
-
乙方负责软件产品的开发,与需方签订合同进行软件开发、交付、运维和废止,产品上线后主要配合需方进行运维、版本升级、安全加固等活动。同时可以从第三方安全检测等机构获取软件安全服务。
-
第三方机构提供专业的安全能力评估,提供安全需求咨询或评估。
-
监管方负责监督管理,对第三方、需方、供方的持续监督。
图2:软件供应链相关方关系
软件供应链安全已经成为安全领域热点之一,从国家政策标准驱动之外,供应链安全事件频繁及其覆盖范围极广、危害程度极大。
本文从“安全左移”的切入,从甲方看安全需要左移到项目的规划阶段,再进一步左移则需要切换到乙方视角,关注软件产品开发过程及软件成分构成等,并基于国标GB/T 43698—2024中提及核心概念进行整理。下一篇将从政策、国标标准、行业标准等维度,进一步深入了解软件供应链安全领域知识。
320+律师、法务合规、数据保护、安全人员共同选择
⬇️⬇️⬇️
深入剖析数据安全、网络安全、信息安全的区别 | No.002
用“问题链”方法论,理解密码技术之间的联系 | No.004
数据安全做到什么程度才算安全?如何平衡安全工作中的灰度?|No.007
API接口的6大安全风险、3个风险管控措施,附检查清单|No.008
你真的了解“数字”和“数据”吗?一文读懂数字化转型中的关键要素||No.009
数据库加密:防止数据泄露的第一道防线 | 6种关键技术|No.010
数据安全检查评估与自评估:内容、区别及角色分工| No.012
25项关键控制点 | 数据处理活动安全评估 | No.014
合作方数据安全管控及实践(附模板) | No.016
再看《数据安全法》:合规要求、企业落地及未来重心 | No.017
原文始发于微信公众号(Nil聊安全):软件供应链安全 | 基础解析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论