查看原文
其他

专栏特辑丨悬镜浅谈开源风险治理之SBOM与SCA

悬镜安全 悬镜安全 2022-12-29


悬镜安全供稿,发于《网络安全和信息化》杂志2022年2月刊


随着容器、微服务等新技术日新月异,开源软件成为业界主流形态,软件行业快速发展。但同时,软件供应链也越来越趋于复杂化和多样化,软件供应链安全风险不断加剧。


软件供应链安全主要包括软件开发生命周期和软件生存运营周期,且与软件开发过程中的开发人员、环境、工具等因素密切相关。推进针对软件生命周期进行全流程安全管控的落地实践,有助于从软件生命周期的源头保障软件供应链安全。


战略抉择驱动:始于对关键环节可见性的持续构建


软件供应链安全始于对关键环节的可见性,企业需要为每个应用程序持续构建详细的SBOM(软件物料清单),从而全面洞察每个应用软件的组件情况。SBOM是描述软件包依赖树的一系列元数据,包括供应商、版本号和组件名称等多项关键信息,这些信息在分析软件安全漏洞时发挥着重要作用。



表1是一份软件物料清单示例,其中SPDX(软件包数据交换)和SWID(软件标识)是两种国际通用的SBOM字段标准。


SPDX用于交流软件物料清单信息,包括组件、许可证、版权等信息,通过为公司和社区共享重要数据提供通用格式来减少冗余工作,从而简化流程并提高合规性。


SWID标签旨在为组织提供一种透明的方式来跟踪在他们的托管设备商安装的软件,该标签文件包含有关软件产品特定版本详尽的描述性信息。除表格中的两种应用最为广泛的SBOM字段标准外,还有CycloneDX、CoSWID、CPE、Grafeas等其他较为常见的标准,各标准应用场景存在一定区别。


构建软件的企业需要维护准确、最新的 SBOM,其中包括第三方和开源组件的清单,以确保其代码质量高、合规且安全。企业通过要求软件供应商提供 SBOM,以发现潜在的安全和许可证问题,或者应用程序是否使用过时的库版本。


当发现此类问题时,管理员可以要求供应商使用较新版本重建应用程序,在等待更新的软件期间,安全人员有机会采取临时缓解措施来保护应用程序免受攻击者利用该漏洞进行攻击,还可以帮助安全人员在漏洞被披露或核心库发布新版本时,对应用程序和代码进行抽查以避免出现安全问题。


速度创造价值:SBOM对漏洞风险治理实践的影响


SBOM的使用可以为软件供应链的漏洞治理节省大量时间。以往,企业在修复已部署系统的漏洞缺陷时往往需要几个月甚至是数年的时间,其重要原因是企业无法在漏洞出现的第一时间知晓该信息。软件供应链下游的企业需要等待上游软件供应商完成软件补丁,才可以进行漏洞修复,在等待的时间内,下游企业往往会面临无法预知的安全风险。而构建详细准确的SBOM则可以避免这一现象的发生,允许所有利益相关者在漏洞发现时立即开始评估漏洞,并开始制定相关的补救措施。


受感染的开源组件在软件中未被修复的每一分钟都会增加潜在被利用的风险,SBOM 有助于企业在漏洞披露的早期对漏洞进行识别,通过提供受感染开源组件和依赖项的准确位置,为企业在风险分析、漏洞管理和补救过程中节省数百小时至数月的时间。SBOM 有助于揭示整个软件供应链中的漏洞与弱点,提高软件供应链的透明度,减轻软件供应链攻击的威胁,还可以帮助企业进行漏洞管理、应急响应、资产管理、许可证和授权管理、知识产权管理、合规性管理、基线建立和配置管理等。


勤于思、敏于行:基于SCA技术工具及时响应


企业需要谨慎、合理地选择、获取和使用第三方闭源组件和开源组件。软件安全团队或研发团队通过必要的技术手段确保所使用的第三方组件的安全性,及时获取所使用第三方组件和开源组件的漏洞情报,并适时做出响应。


软件成分分析(SCA)是一种对二进制软件的组成部分进行识别、分析和追踪的技术。SCA可以生成完整的SBOM,分析开发人员所使用的各种源码、模块、框架和库,以识别和清点开源软件的组件及其构成和依赖关系,并精准识别系统中存在的已知安全漏洞或者潜在的许可证授权问题,把这些安全风险排除在软件的发布上线之前,也适用于软件运行中的诊断分析。


SCA分为静态和动态两种模式。静态模式是使用工具对目标工程文件进行解压,识别和分析各个组件的关系;动态模式则是依赖于执行过程,在程序执行的同时收集必要的活动元数据信息,通过数据流跟踪的方式对目标组件的各个部分之间的关系进行标定。


使用基于多源SCA开源应用安全缺陷检测技术的安全审查工具,可以精准识别应用开发过程中软件开发人员有意或违规引用的开源第三方组件,并通过对应用组成进行分析,多维度提取开源组件特征,计算组件指纹信息,深度挖掘组件中潜藏的各类安全漏洞及开源协议风险。


近期曝出的Apache log4j 2漏洞,因其严重性和广泛性的影响而被业界称为“核弹级”漏洞,同时也使得开源安全及软件供应链安全治理相关话题再次成为热点。


开源安全作为软件供应链安全的重要环节以及面临的已知或未知的安全风险,更让业界意识到开源安全治理已是迫在眉睫。通过引入SCA工具以保证软件供应链安全,在软件开发的需求阶段、编码阶段、构建集成、软件测试等相应阶段使用SCA,将开源组件安全检测和合规检测融入到企业开发测试流程中,可以帮助企业以最小代价落地开源安全保障体系,降低软件安全问题的修复成本,保障开源软件供应链安全。

 


推荐阅读

1. 华流才是顶流 | 悬镜安全之年终特辑

2. 悬镜:用开源的方式做开源风险治理 

3. 悬镜安全成功入选工信部“CAPPVD安全漏洞库技术支撑单位”

4. 技术分享 | 企业级开源威胁治理实践探索

5. 技术分享:如何通过三个步骤做好软件供应链的风险治理


关于悬镜安全

悬镜安全,DevSecOps敏捷安全领导者。由北京大学网络安全技术研究团队“XMIRROR”发起创立,致力以AI技术赋能敏捷安全,专注于DevSecOps软件供应链持续威胁一体化检测防御。核心的DevSecOps智适应威胁管理解决方案包括以深度学习技术为核心的威胁建模、开源治理、风险发现、威胁模拟、检测响应等多个维度的自主创新产品及实战攻防对抗为特色的政企安全服务,为金融、能源、泛互联网、IoT、云服务及汽车制造等行业用户提供创新灵活的智适应安全管家解决方案。更多信息请访问悬镜安全官网:


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

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