资源描述
从主流平安开发框架看软件供应链平安保障的落地
目录编者按1
刖舌1L供应链平安是工业软件开展的底板2
1.1. 工业软件面临三大供应链平安挑战2
1.2. 以内生平安框架解决工业软件供应链平安挑战3
1.3. 四大关键技术能力打造供应链平安“护身符” 4.六种主流平安开发框架的异同点4
2 .软件供应链平安保障的主要环节5
3. 1.第三方组件的平安管控5
3. 2.针对供应商的平安要求7
3. 3.软件基础设施的平安性8
3.4.软件自身平安性的保护94.软件供应链平安治理与应用实践 10
4. 1.前述10
4. 2.软件供应链平安治理10
4. 2. L体系构建阶段:SDL软件平安开发生命周期11
4. 2. 2.设计阶段:软件供应商风险管理流程15
4. 2. 3.编码阶段:构建详细的软件物料清单18
4. 2. 4.发布运营阶段:建立成熟的应急响应机制23
4 . 3.软件供应链平安应用实践28.平安开发框架主要指导作用思考32
编者按
通过分析六种主流平安开发框架,归纳了供应链平安保障的主要环节,提 出了操作指南细化的初步思路。
=、/1—前三
从SolarWinds攻击到Log4j漏洞,再到近期以反战名义对开源软件供应链 投毒事件,软件供应链平安问题愈演愈烈,因其带来的巨大危害引发全球关 注。寻求有效、可落地的保障方法成为软件供应链相关各方的共同目标。
第1页共32页
小结:多数框架对软件完整性保护进行了要求,并遵循主流的防篡改方 法;在补丁平安性防护方面,BSAFSS从测试、传输、防篡改等角度进行了要 求,最为全面。
4.软件供应链平安治理与应用实践
4. 1.前述
随着容器、微服务等新技术日新月异,开源软件成为业界主流形态,软件 行业快速开展。但同时,软件供应链也越来越趋于复杂化和多样化,软件供应 链平安风险不断加剧,针对软件供应链薄弱环节的网络攻击随之增加,软件供 应链成为影响软件平安的关键因素之一。近年来,全球针对软件供应链的平安 事件频发,影响巨大,软件供应链平安已然成为一个全球性问题。全面、高效 地保障软件供应链的平安对于我国软件行业开展、数字化进程推进具有重要意 义。
近日,在由中国信通院指导、悬镜平安主办的中国首届DevSecOps敏捷安 全大会(DSO 2021)现场,《软件供应链平安白皮书(2021)》(以下简称"白 皮书〃)正式发布。本白皮书着重分析了软件供应链平安,梳理了软件供应链的 平安现状,透过现状全面剖析软件供应链的平安风险及面临的平安挑战,有针 对性地提出如何对软件供应链的平安风险进行防范与治理,系统阐述了软件供 应链平安的防护体系及软件供应链平安的应用实践以供参考,最后白皮书结合 现在软件供应链平安的开展趋势进行了全面的分析及展望。
由于篇幅有限,仅摘选本报告"软件供应链平安治理”及“软件供应链应用实 践〃两局部进行提供。
4. 2.软件供应链平安治理
目前,业界已充分认识到造成网络平安事件出现的主要原因之一,是由于 软件开发者在开发过程中对开发工具、开发团队、开发生命周期和软件产品自 身管理不当,致使软件存在着平安缺陷,破坏或影响最终用户的信息平安。
通过推进针对软件生命周期进行全流程平安管控的落地实践,有助于从软 件生命周期的源头保障软件供应链平安。通过建立软件开发过程中保证软件供 应链平安的体系化方法,为软件开发过程中尽可能防止和消除软件的平安缺 陷、保证软件供应链平安奠定重要基础。
第10页共32页
从软件平安开发生命周期角度分析软件供应链平安的应用实践方法,主要 有以下几个阶段。
4.2.1.体系构建阶段:SDL软件平安开发生命周期
微软在21世纪初期的软件产品开发实践中,意识到无法通过技术层面彻底 解决软件面临的平安风险。因此,微软尝试从流程和管理的角度解决这个问 题,并探索在各个软件开发环节中加入平安过程、把控平安风险,确保每个环 节交付到下一环节的交付物都平安可控。于是,针对传统的瀑布式模型微软提 出了"SDL软件平安开发生命周期〃这一概念。
软件平安开发生命周期(SDL),是一个在帮助开发人员构建更平安的软件 和解决平安合规要求的同时降低开发本钱的软件开发过程。SDL将软件开发生 命周期划分为7个阶段(如下图),并提出了 17项重要的平安活动,旨在 将平安集成在软件开发的每一个阶段,以减少软件中漏洞的数量并将平安缺陷 降低到最小程度。SDL更侧重的是软件开发的平安保障过程,旨在开发出平安 的软件产品。
图2 SDL软件平安开发生命周期
在SDL的7个阶段中(如图2所示),SDL要求前6个阶段的16项 平安活动,为开发团队必须完成的平安活动。同时,SDL认为开发团队应该保 持灵活性,以便选择更多合适的平安活动,如人工代码分析、渗透测试、相似 应用程序的漏洞分析,以确保对某些软件组件进行更高级别的平安分析。SDL 重视各种工具的使用,重心在从需求阶段到测试阶段的工具集,如威胁建模、 静态源代码分析等工具。
SDL的7个阶段主要的含义如下:
培训:针对开发团队进行平安意识与能力的培训,以确保SDL能有效实施 并落地,同时针对新的平安问题与形势 持续提升团队的平安能力;
需求:通过平安需求分析,定义软件产品平安实现过程中所需要的平安标 准和相关要求;第11页共32页
设计:通过分析攻击面,设计相对应的功能和策略,降低和减少不必要的 平安风险。同时通过威胁建模,分析软 件的平安威胁,提出缓解措施;
实施:按设计要求,实现对应功能和策略,以及缓解措施涉及的平安功能 和策略。同时通过平安编码和禁用不平安的API,减少实施时导致的平安问 题,尽量防止引入编码级的平安漏洞,并通过代码审计等措施来确保平安编码 规范的实行;
验证:通过平安测试检测软件的平安漏洞,并全面核查攻击面,各个关键 因素上的威胁缓解措施是否得以验证;
发布:建立相应的响应计划,进行最终平安检查,确认所有平安活动均完 成后将最终版本发送给客户;
响应:当出现平安事件与漏洞报告时,及时实施应急响应和漏洞修复。在 此过程中新发现的问题和平安问题模式,可用于SDL的持续改进过程中。
DevSecOps
DevSecOps是一种全新的平安理念和模式,由DevOps的概念延伸和演变 而来。其核心理念是平安是整个IT团队每个人的责任,需要贯穿从开发到运 营整个业务生命周期每一个环节才能提供有效保障。
DevSecOps覆盖编码阶段、测试阶段、预发布阶段、发布阶段、线上运营 阶段,强调自动化与平台化,由CI/CD平台推动整个开发和运营流程自动化。 DevSecOps依赖于DevOps流程工具链(如图3所示),将威胁建模工具、安 全编码工具、平安测试工具、容器平安检测工具、基线加固工具、漏洞管理工 具等自动化工具无缝集成到DevOps流程中,进而实现开发-平安-运营一 体化。
第12页共32页
•供应谶安钠浴
•代蚪平安期尚第H
♦QE平安喇耗电插杵
•平安里训
•平安•玛陶布
•幽窿横
•平安3r米及万事设计
♦平安方案持续改进
♦平安技术.TA.集 够持续优化
♦ tMaMNMMff
♦ mKB
♦姒深防W系期I
(HIDS. RASP.
WAF. UEBAW)
■
• RASP
♦ HiDS
• SUBMIT
£■
Security
Security
,东康平安试
• IX件成分分析
♦sasmsxx
预发希
•暮画平安险舞
»运行环境顺
.Fuzzing安
♦ Chaot-Monkey- Style Testing
发布
•平安检簿巳通过校检
.平安风粉和
♦替名校始
♦ mwo
• JI网分析预曾
♦检测哨应综合分析
•威酬聪
SW5
• RASP
• HIDS
•金涮冽咯杀
图3 DevSecOps工具链
很多企业在向DevSecOps转型时,会发现很多传统的平安工具在集成性和 实用性上都难以满足DevSecOps的需求,因此,在DevSecOps的不同阶段需 要采用不同的DevSecOps平安工具(如图4所示),这些平安工具主要的共 同特点是高度自动化以及可集成性。
段及自sMtas
DevSecOps工具链
I
开发
, a=
梅建
aa
运雪
SCA-OSSA (叫乐分另%分M)
€
<
•
•
n/a
SCA-OSG
或分分於心力增,
n/a
•
•
•
n/a
SAST
n/a
V
n/a
n/a
DAST /Automated- PT (就e®n熨 的力仃武化津训罚武)
n/a
n/a
n/a
6
IAST
n/a
•
•
•
n/a
TM
c
n/a
n/a
n/a
n/a
IRASP
,(群附右用自厢)
n/a
n/a
n/a
n/a
图4 DevSecOps平安工具在不同阶段的
第13页共32页
软件规划
SCA-OSSA
的an 弘vu
在软件供应链中每个阶段都在面临不同的平安风险,为了更好的对软件供 应链进行风险治理,在DevSecOps模式下,平安开发工具链需要尽量覆盖软 件生命周期中的所有阶段(如图5所示)。
TMSCA-OSG
IASTrsniULmet-VMD
DAST/Automated-PTRASP
循"VtSVI阳RRM
图5 DevSecOps模式下软件生命周期
除了以上所提到的工具之外,在DevSecOps的应用实践过程中,还有一些 更为前瞻性的平安工具,具体可参考DevSecOps敏捷平安技术金字塔(如图6 所示)。该金字塔在《2020 DevSecOps行业洞察报告》中首次被提出,目前 已开展到2.0版本。其描述了一组层次结构,金字塔底部是基础性技术,越上 层的技术对DevSecOps实践成熟度的要求越高。
CARTA
实践深化
IAST
Container Security
应用实践层
1AM
EDR
SAST/DAST
传统建设层
图6 DevSecOps敏捷平安技术金字塔V2
第14页共32页
DevSecOps敏捷平安技术金字塔的不断升级,是为了给业界更好的预测和 参考,关于DevSecOps敏捷平安技术未来演进方向的预测是开放且持续性 的,随着DevSecOps实践的不断开展,其中的平安工具会进行调整和更新。
4. 2. 2.设计阶段:软件供应商风险管理流程
软件供应商风险是指与第三方供应商相关的任何可能影响企业利益或资产 的固有风险。在选择第三方软件供应商时,为了防止因引入第三方供应商而带 来众多潜在的平安风险,需要稳健的流程来识别和管理日益增加的软件供应商 风险。因此,企业亟需构建有效且稳健的软件供应商风险管理流程。
构建完整的软件供应商风险管理流程可以提高软件供应链的透明度,同时 帮助企业实现降低采购本钱、识别和减轻供应商相关风险以及对软件供应商风 险管理系统的持续优化改进。以下是针对软件供应商基本风险管理流程(如图 7所示)。
—的风险的风沧
图7软件供应商风险管理流程
标准确立:结合企业的实际情况,构建软件供应商评估模型,制定软件供 应商考核的评估标准及平安框架;
资格评估:根据制定的软件供应商评估模型和相关标准,对初步符合要求 的软件供应商进行多维度的综合性资格评估,选出匹配度最高的供应商;
风险评估:对通过资格评估的软件供应商进行平安风险评估,针对软件供 应商面临的潜在的平安风险、存在的弱点以及有可能造成的影响综合分析其可 能带来的平安风险进行评估;
风险监控:对软件供应商实施长期性的平安风险监控,持续识别和管理软 件供应商的平安风险,根据监测结果实施更新软件供应商的风险管理策略。
软件供应商评估模型
为了确保企业可以拥有较为稳定的供应链,提高企业的综合竞争力,经过 多方面的综合考察分析,以下构建了一个系统化、结构化的软件供应商评估模第15页共32页
型以供参考。软件供应商评估模型的关键意义在于从不同的维度对软件供应商 进行评估,通过考察软件供应商的综合实力,以选择最合适的合作伙伴。以下 是通过十二种不同维度对软件 供应商评估的全过程(如图8所示)。
图8软件供应商评估模型
财务实力:评估软件供应商的财务能力以及稳定性,确保供应商具有稳定 性和可靠性来提供业务所需要的服务;
质量承诺:评估软件供应商的相关软件产品是否符合国家及行业标准要 求,信息平安和数据保护控制流程必须遵守法律、监管或合同义务以及任何行 业标准的信息平安要求;
企业资质:评估软件供应链上的第三方供应商是否能够提供软件平安开发 能力的企业级资质,是否具备国际、国家或行业的平安开发资质,在软件平安 开发的过程管理、质量管理、配置管理、人员能力等方面是否具备一定的经 验,具有把平安融入软件开发过程的能力;
技术储藏:评估软件供应商是否拥有自主研发能力以及自主技术知识产 权,对科技知识是否有进行不断的积累和及时更新,对企业提高技术水平、促 进软件生产开展是否有开展一系列的技术研究;
合作能力:评估软件供应商是否拥有高效的沟通渠道以及全面的解决方 案,拥有共同的价值观和工作理念有助于建立长期的合作关系;
软件交付能力:评估软件供应商在整个软件及信息服务交付的过程中,是 否能满足软件持续性交付的要求;
应急响应能力:评估软件供应商从软件开发到运营阶段是否持续实行实时 监控机制,是否有利用适当的网络和基 于端点的控制来收集用户活动、异常、第16页共32页
故障和事件的平安日志,是否具有适当的业务连续性和恢复能力,以防止或减 轻业务中断和相关影响;
服务能力:评估软件供应商的售前服务能力、培训服务能力以及售后维护 服务能力是否满足企业的要求,在合作期间内是否可以始终如一的提供高水平 的质量和服务;
创新能力:评估软件供应商的综合创新能力,包括技术创新能力、研究开 发能力、产品创新能力以及生产创造力等;
内部管理能力:评估软件供应商是否拥有完善的内部管理制度流程、有效 的风险防范机制以及是否对员工定期进行平安培训等,对供应商内部平安开发 标准和规范进行审查,要求其能够对开发软件的不同应用场景、不同架构设 计、不同开发语言进行规范约束,审查软件供应商对其自身信息平安保密程 度;
软件本钱:评估软件供应商所提供的软件本钱是否存在虚报等现象,审查 产品及相关服务是否可以按照合理的价格交付;
软件适用性:评估软件在开发部署以及动态运行时的适用性,是否可以持 续满足新的需求。
软件供应商风险管理的作用
通过对软件供应商风险管理有助于企业更加高效准确地控制软件供应商带 来的新的平安风险,以下是软件供应商风险管理的具体作用。
降低风险:通过对软件供应商进行彻底的审查可以识别其可能对业务构成 的平安威胁的任何潜在弱点,根据软件供应商对企业业务的影响确定漏洞的重 要性;
降低本钱:通过对软件供应商风险进行充分的评估,可以以主动而非被动 的方式应对平安威胁,减少潜在的平安风险,防止网络平安攻击或其他数据泄 露等问题给企业造成的财务损失;
提高效率:通过对软件供应商进行实时风险监控,可以提前预知风险并及 时做出响应,提高企业处理平安风险的效率;
培养长期合作关系:通过对供应商风险的管理、评估和跟踪监控,加强对 供应商健康状况的监督,有助于培养可靠的长期合作关系。
第17页共32页
.编码阶段:构建详细的软件物料清单
软件供应链平安始于对关键环节的可见性,企业需要为每个应用程序持续构建详细的SBOM (Software B川of Material,软件物料清单)(如表3所
示),从而全面洞察每个应用软件的组件情况。SBOM是描述软件包依赖树 的 一系列元数据,包括供应商、版本号和组件名称等多项关键信息,这些信息在 分析软件平安漏洞时发挥着重要作用。
表3软件物料清单例如
字段
SPDX值
SWID 值
供应商
(3.5) Packagesupplier:
<Entity> @role (softwareCreator/publisher), @name
组件
(3.1) PackageName:
<softwareldentity> @name
唯一标识
(3.2) SPDXID:
<softwareldentity> @taglD
版本
(3.3) Packageversion:
<softwareldentity> ©version
组件散列值
(3.10) PackageChecksun:
<Payload>/../<File> (©[hash algorithm] :hash
相互关系
(7.1) Relationship: CONTAINS
<Link>@rel, @href 个
SBOM编辑人
(2.8) Creator:
<Entity> @role (tagCreator), @name
上表是一份软件物料清单例如,其中SPDX和SWID是两种国际通用的 SBOM 字段标准。SPDX (The Software Package Data Exchange,软件包数据交 换)是Linux基金会下的开放性标准,其用于交流软件物料清单信息,包括组 件、许可证、版权等信息。SPDX通过为公司和社区共享重要数据提供通用格 式来减少冗余工作,从而简化流程并提高合规性。SWID (Software Identification,软件标识)标签旨在为组织提供一种透明的方式来跟踪在他们的 托管设备商安装的软件,它于2012年由ISO提出,并于2015年更新为 ISO/IEC 19770-2:2015o
SWID标签文件包含有关软件产品特定版本详尽的描述性信息。除表格中 的两种应用最为广泛的SBOM字段标准外,还有CycloneDX、CoSWID、CPE、 Grafeas等其他较为常见的标准,各标准的应用场景存在一定的区别。
第18页共32页
SBOM的概念源自制造业,其中物料清单是详细说明产品中包含的所有项 目的清单。例如:在汽车行业,制造商会为每辆车维护一份详细的材料清单。 此BOM列出了原始设备制造商自己制造的零件和第三方供应商的零件。当发 现有缺陷的部件时,汽车制造商可以准确地知道哪些车辆受到影响,并可以通 知车主维修或更换。
同样,构建软件的企业也需要维护准确、最新的SBOM,其中包括第三方 和开源组件的清单,以确保其代码质量高、合规且平安。企业通过要求软件供 应商提供SBOM,以发现潜在的平安和许可证问题,或者应用程序是否使用过 时的库版本。
当发现此类问题时,管理员可以要求供应商使用较新版本重建应用程序, 在等待更新的软件期间,平安人员有机会采取临时缓解措施来保护应用程序免 受攻击者利用该漏洞进行攻击,还可以帮助平安人员在漏洞被披露或核心库发 布新版本时,对应用程序和代码进行抽查以防止出现平安问题。
举个例子:如果平安人员手中有一份在其环境中运行的每个应用程序的物 料清单,那么早在2014年4月,当Heartbleed漏洞最初被披露时,平安人 员就无需测试每个应用程序中是否包含OpenSSL,而是可以通过检查列表就立 即知道哪些应用程序依赖于易受攻击的版本和需要采取的措施。
SBOM生产流程
在成熟的体系下,SBOM的生产可以通过软件生命周期每个阶段所使用的 工具和任务流程化地完成,这些工具和任务包括知识产权审计、采购管理、许 可证管理、代码扫描、版本控制系统、编译器、构建工具、CI/CD工具、包管 理器和版本库管理工具等(如图9所示)。
第19页共32页
平安开发框架作为软件开发生命周期中各阶段平安实践、活动和措施的集 合,能够指导使用者提高软件生产和产品的平安性,并且它们越来越多的将供 应链因素考虑在内,形成一个不断完善的保障体系。
本文通过对六种主流平安开发框架的最新版本进行分析,总结了共性和差 异,归纳了供应链平安保障的主要环节,提出了操作指南细化的初步思路。
六种框架包括平安软件开发框架(NIST SSDF) VI」、软件联盟平安软件框架 (BSAFSS) Vl.l、SAFECode平安软件开发基本实践V3、软件保障成熟度模型 (OWASPSAMM) V2.0、平安内建成熟度模型(BSIMM) V12和微软平安开发生命周 期(MSSDL) 2022o.供应链平安是工业软件开展的底板
“在工业软件开展过程中,保障开发、交付和应用全生命周期中的平安已 成为‘底板'工程,这就需要首先建立工业软件的供应链平安体系,确保供应 链平安。”在4月26日举办的数字中国建设峰会数字技术创新分论坛上,奇安 信集团总裁吴云坤演讲时强调,目前,针对工业软件的供应链攻击已经成为主 流攻击手段,多样化的方式实施攻击,给政企机构及关键信息基础设施带来了 巨大的平安风险。
1.1. 工业软件面临三大供应链平安挑战
吴云坤认为,作为工业互联网的重要支撑技术,工业软件面临着三大供应 链平安挑战:
第一,开源软件平安挑战。我国工业软件基础薄弱,对开源软件的依赖度 高,而开源软件的平安漏洞,会直接影响工业软件的平安。奇安信在一次针对 国内2188个软件工程的研究中发现,所有软件均使用了开源组件,其中存在漏 洞的工程为1695个,占比高达77.5%。
第二,软件开发带来的平安挑战。程序员在编写代码过程当中,缺陷是无 法防止的,而能够被黑客利用的缺陷就成了漏洞。统计数据显示,程序员手敲 原始代码1000行会出现14.22个缺陷,其中可能包含有0.72个高危缺陷。
第三,复杂的软件图谱带来的平安挑战。软件图谱复杂,代码重复使用带 来了漏洞和后门扩散、恶意模块传播、不可靠的网络资源引入等平安隐患。新 的软件中,可能包含有漏洞的老模块;一个漏洞爆发后,可能会影响到大量软第2页共32页
图9SB0M生产流程
SBOM中应该包含软件组件与此组件所依赖的任何其他基础软件组件之间 的关系。软件产品在发布任何版本时,SBOM都应作为产品文档的一局部被提 供,在CI/CD的标准实践中,SBOM中包含的信息将不断更新。它从在需求中 集成平安性需求开始,或者是SBOM中的一些元素已经在需求阶段被添加到用 例中,这样平安性和SBOM就可以成为DevOps过程的标准和结构化的一部 分。
为了确保持续一致性,应在测试工作中将SBOM作为测试用例的一局部, 同时SBOM信息应随着使用工具和组件的更新而更新,使SBOM信息自动更 新成为Q/CD管道中每个构建周期标准的一局部。在发布运营阶段使用SBOM 可以在使用的库或组件存在漏洞时,以更快的时间检测出有哪些应用程序中存 在这些漏洞,并及时进行修复工作。
SBOM可提高软件供应链的透明度
尽管SBOM对许多人来说依然很陌生,但其需求却不断呈现增长态势。 Gartner在其2020年的"应用程序平安测试魔力象限〃中预测到:"到2024 年,至少一半的企业软件买家要求软件供应商必须提供详细的、定期更新的软 件物料清单,同时60%的企业将为他们创立的所有应用程序和服务自动构建 软件材料清单,而这两组数据在2019年都还不到5%。〃
现代软件是使用第三方组件组装而成的,它们以复杂而独特的方式粘合在 一起,并与原始代码集成以实现企业所需要的功能。在现代多层供应链中,单 个软件可能有成百上千的供应商,从原材料来源到最终组装系统的全套供应商第20页共32页 中找出某一组件的来源需要花费大量的时间和精力。因此,为所有组件构建详 细准确的SBOM,帮助企业跟踪当前运行的程序、源代码、构建依赖项、子组 件等所依赖组件的使用情况,检测软件组件是否带有的平安漏洞或功能漏 洞。
图10SBOM的作用
SBOM有助于揭示整个软件供应链中的漏洞与弱点,提高软件供应链的透 明度,减轻软件供应链攻击的威胁。通过使用SBOM可以帮助企业进行漏洞 管理、应急响应、资产管理、许可证和授权管理、知识产权管理、合规性管 理、基线建立和配置管理等(如图11所示)。
通过自动化创立SBOM可以在漏洞披露时及时地进行响应排查以及快速的 平安修复,最小化软件供应链的平安风险;在开源组件和版本快速迭代的情况 下,从风险管理的角度跟踪和持续监测闭源组件和开源组件的平安态势;
同时SBOM列举了管理开源组件的许可证,可以保护企业免受不当使用相 关的法律或知识产权的风险,保护应用程序在软件供应链中的合规性,防止将 缺陷传递到软件供应链的下游。
SBOM为漏洞风险治理节省大量时间
SBOM的使用可以为软件供应链的漏洞治理节省大量时间。及时性对于企 业在漏洞修复时是非常重要的。以往,企业在修复已部署系统的漏洞缺陷时往第21页共32页往需要几个月甚至是数年的时间,其重要原因之一是企业无法在漏洞出现的第 一时间知晓该信息。
软件供应链下游的企业需要等待上游软件供应商完成软件补丁,才可以进 行漏洞修复,在等待的时间内,下游企业往往会面临无法预知的平安风险。而 构建详细准确的SBOM那么可以防止这一现象的发生,允许所有利益相关者在 漏洞发现时立即开始评估漏洞,并开始制定相关的补救措施。以下通过一张对 比图来说明SBOM对漏洞风险治理时间的影响(如图11所示)。
风险治理A时间线
时间线
簌少SBOM
修复•原始组件修复集成组件
修复集成组件
使用SBOM
修夏•软件产品修复产品运营
图11 SBOM对漏洞风险治理时间的影响
受感染的开源组件在软件中未被修复的每一分钟都会增加潜在被利用的风 险,SBOM有助于企业在漏洞披露的早期对漏洞进行识别,通过SBOM提供 受感染开源组件和依赖项的准确位置,采取适当的步骤进行修改,为企业在风 险分析、漏洞管理和补救过程中节省数百小时至数月的时间。
使用基于SCA技术的工具
企业需要谨慎、合理地选择、获取和使用第三方闭源组件和开源组件。软 件平安团队或研发团队通过必要的技术手段确保所使用的第三方组件的平安 性,及时获取所使用第三方组件和开源组件的漏洞情报,并适时做出响应。
软件成分分析(Software Composition Analysis , SCA)是一种对二进制软 件的组成局部进行识别、分析和追踪 的技术。SCA可以生成完整的SBOM,分 析开发人员所使用的各种源码、模块、框架和库,以识别和清点开源软件
(OSS)的组件及其构成和依赖关系,并精准识别系统中存在的平安漏洞或 者潜在的许可证授权问题,把这些平安风险排除在软件的发布上线之前,也适 用于软件运行中的诊断分析。
第22页共32页
软件成分分析分为两种模式,静态和动态。静态模式是使用工具对目标工 程文件进行解压,识别和分析各个组件的关系;动态模式那么是依赖于执行过 程,在程序执行的同时收集必要的活动元数据信息,通过数据流跟踪的方式对 目标组件的各个局部之间的关系进行标定。通过使用基于多源SCA开源应用 平安缺陷检测技术的平安审查工具,可以精准识别应用开发过程中,软件开发 人员有意或违规引用的开源第三方组件,并通过对应用组成进行分析,多维度 提取开源组件特征,计算组件指纹信息,深度挖掘组件中潜藏的各类平安漏洞 及开源协议风险。
某金融企业的业务团队无法接受速度的迟滞,在研发效率和编码速度的考 量下,大量的软件应用都基于第三方的组件、开源代码、通用函数库实现,随 之而来是绝大多数应用程序都包含开源组件的平安风险,为企业带来了许多未 知的平安隐患。为了更好地进行开源组件治理工作,该企业引入基于SCA技 术的工具,与DevOps流程无缝结合,在流水线的测试阶段自动发现应用程 序中的开源组件,提供关键版本控制和使用信息,并在DevOps的任何阶段检 测到漏洞风险和策略风险时触发平安警报。所有信息都通过平安和开发团队所 使用的平台工具实时发送,实现及时的反应循环和快速行动。
在不改变该企业现有开发测试流程的前提下,将SCA工具与代码版本管理 系统、构建工具、持续集成系统、缺陷跟踪系统等无缝对接,将源代码缺陷检 测和源代码合规检测融入到企业开发测试流程中,帮助企业以最小代价落地源 代码平安保障体系,降低软件平安问题的修复本钱,提升软件质量。
4. 2. 4.发布运营阶段:建立成熟的应急响应机制
在软件的发布运营阶段,企业需要具备平安应急响应能力(如图12所 示),能在软件发布后对发生在软件和软件补丁获取渠道的软件供应链平安事 件、软件平安漏洞披露事件进行快速的平安响应,控制和消除平安事件所带来 的平安威胁和不良影响,进而追溯和解决造成平安事件的根源所在。
发布运营阶段包括监测告警、应急响应、事件处置、持续跟进等关键活 动。在日常的运营管理中,企业可以通过采用自动化分析技术对数据进行实时 统计分析,发现潜在的平安风险,并自动发送警报信息。在有突发事件出现 时,通过监测预警,平安人员可以迅速地进行平安响应,在最短的时间内确定 相关解决方案并进行事件处置,在解决之后进行经验总结并改进。通过监测预 第23页共32页警技术对软件系统进行实时自动监测,当发现平安问题时,立即发出警告,同 时实现信息快速发布和平安人员的快速响应。
风险分析和监测
图12平安风险监测分析及响应
在发布运营阶段发生突发事件之后的应急响应与对平安事件进行处理的管 理能力相关,因此,企业需要加强检测预警能力、提高应急响应速度、加快应 急处置效率,从事后被动救火转化为主动应急管理。充分预估突发事件的场 景,通过管理活动与技术手段防止突发事件的发生,在突发事件发生时能够及 时监测预警,并有序进行处理行为。
由于在应用程序发布很久之后,仍有可能在其中发现新的平安漏洞,这些 漏洞可能存在于构成应用程序的底层开源组件中,导致“零日〃漏洞的数量不断 增加。因此,企业需要制定事件响应和漏洞处理策略,与领先的漏洞研究机构 进行合作,积极监控大量漏洞信息来源。同时,进行持续性的平安检查,定期 的平安检查可以保护应用程序免受新发现的平安漏洞的影响。
第24页共32页
构建完善的运营保障工具链
BAS
2017年,Gartner《面向威胁技术的成熟度曲线》中首次提及入侵与攻击模拟(Breach and Attack Simulation, BAS)工具(如图13所示),并将其归 到新兴技术行列。在2021年,Gartner将BAS纳入"2021年顶级平安和风 险管理趋势〃。
图13BAS技术原理
BAS通过模拟对端点的恶意软件攻击、数据泄露和复杂的APT攻击,测 试组织的网络平安基础设施是否平安可靠,在执行结束时,系统将生成关于组 织平安风险的详细报告,并提供相关解决方案。同时结合红队和蓝队的技术使 其实现自动化和持续化,实时洞察组织的平安态势。
BAS可以确定漏洞的覆盖范围并对检测出的漏洞提供补救意见,防止攻击 者对漏洞加以利用。除了自动化和持续监控之外,BAS还使平安团队改变了他 们的防御方式,采取更为主动积极的策略,维护组织各个方面的平安。
WAF
早在2007年,国家计算机网络应急技术处理协调中心检测到中国大陆被 篡改网站总数累积达61228个,比2006年增加了 1.5倍。其中,中国大陆 政府网站被篡改各月累计达4234个。为了更好的应对网络攻击,Web应用防 护 系统也被称为网站应用级入侵防御系统(Web Application Firewall, WAF)应第25页共32页
运而生,WAF可以对来自Web应用程序客户端的各类请求进行内容检测和 验证,确保其平安性和合法性,对非法的请求予以实时阻断,从而对各类网站 站点进行有效的平安防护(如图14所示)。
HTTP流量源
Web应用防火墙
11・・】
目标服务器
图14 WAF技术原理
WAF通过增强输入验证,可以在运营阶段有效防止网页篡改、信息泄露、 木马植入等恶意网络入侵行为,从而减小Web服务器被攻击的可能性。同 时,WAF还可以判断用户是否是第一次访问,将请求重定向到默认登录页面并 且记录时间,通过检测用户的整个操作行为可以更容易识别攻击。
RASP
作为第一道防线,WAF能够阻止基本攻击,但难以检测到APT等高级威 胁,不仅如此,企业需要持续“调整〃WAF以适应不断变化的应用程序,这一过 程消耗了平安管理人员大量的精力。此时,运行时应用程序自我保护技术
(Runtime Application Self-protection, RASP)(如图 15 所示)作为新一代运行 时保护技术被引入,RASP可以提供更深入的保护能力,更广泛的覆盖范围, 并且可以花费更少的时间。
RASP将保护代码像一剂疫苗注入到应用程序中,与应用程序融为一体,使 应用程序具备自我保护能力。RASP结 合应用的逻辑及上下文,对访问应用系 统的每一段堆栈进行检测,当应用程序遭受到实际攻击和伤害时,RASP可以 实时检测和阻断平安攻击,无需人工干预,最终实现软件应用的自我保护,确 保软件应用的平安运行。
第26页共32页
服务器
SQL o o 0
fli in
图15 RASP技术原理
RASP在运营阶段可以应对无处不在的应用漏洞与网络威胁,为应用程序提供全生命周期的动态平安保护,可以精 准识别应用运行时暴露出的各种平安漏 洞,进行深度且更加有效的威胁分析,快速定位应用漏洞,大大提升修复效 率,保障应用程序的平安性。
威胁情报平台
通过建立威胁情报平台(Threat Intelligence Platform, TIP)(如图16所 示),可以帮助平安人员明确企业的在 线资产和平安状况,根据企业自身资产 的重要程度和影响面,进行相关的漏洞修补和风险管理;同时可以帮助平安人 员了解企业自身正在遭受或未来面临的平安威胁,提供解决建议。
开源代码 ■第三方管理.内部情报■共享情报
收集
威胁情报平台
管理
为威胁分析和防
SIEM I防火爆I IPS I 端点 I SOAR
图16威胁情报平台原理
威胁情报平台与各类网络平安设备和软件系统协同工作, 护决策提供数据支撑,通过对全球网络威胁态势进行长期监测,以大数据为基 础发布威胁态势预警,实时洞悉风险信息,进而快速处置风险。
第27页共32页
容器平安工具
在发布运营阶段,通过使用容器平安工具(ContainerSecurity)(如图17 所示),可以自动化构建容器资产相关信息,提供容器环境中各类资产的状态 监控,包括容器、镜像、镜像仓库和主机等基础资产信息,使资产拥有较强的 可扩展能力;通过建立智能应用补丁扫描工具,为平安人员提供镜像管理、镜 像检测以及自动化补丁修复建议。
LiblndexUpdaters
Updaters
Vulnerability StorageLayer Content Storage
图17某容器平安工具架构
为了更好地应对未知和迅速变化的攻击,容器平安工具可以对数据进行持 续监控和分析,通过结合系统规那么、基线和行为建模等要素,自适应识别运行 时容器环境中的平安威胁;建立一键自动化检测机制,给平安人员提供可视化 基线检查结果,同时将企业现有的平安技术与持续运营的平安模型相结合,实 现持续化的动态平安检测。
4.3.软件供应链平安应用实践
可信研发运营平安能力成熟度模型
中国信息通信研究院云计算与大数据研究所自2019年起,联合业界众多 头部厂商专家制定《可信研发运营平安能力成熟度模型》标准,提出可信研发 运营平安能力体系框架(如图18所示)。可信研发运营平安能力体系框架的 构建继承SDL与DevSecOps的核心理念,平安前置,汲取SDL与DevSecOps 体系的优点,优化具体平安实践要素,是一种贯穿研发运营全生命周期的平安 理念。
第28页共32页
组织架构 制度流程 平安培训
组织架构 制度
展开阅读全文