毕业倒计时阅读笔记1-如何应对开源组件⻛险?软件成分安全分析(SCA)能力的建设与演进

2025-05-08 ⏳4.6分钟(1.9千字)

在毕业之前准备抽空看一些技术文章并做笔记,第一篇就从美团的技术文章开始。原文链接: https://tech.meituan.com/2022/05/26/construction-and-evolution-of-software-component-analysis-capability.html

需要说明的是,本文只作为阅读笔记,遇到的不清楚的东西就查一下,对内容的理解可能有误差,补充知识是我的笔记,而不一定是重点信息。

1 - 基础知识补充

2 - 文章

这篇文章主要介绍了软件成分安全分析在企业安全中的推行与应用,三个部分:开源组件风险(安全/业务视角)、SCA建设思路、问难和展望。读完感觉文章梳理得很清晰,也对安全运营的工作有了更多理解。考虑到文章写于三年前,在阅读过程中有在想:是不是现在已经把这块工作做完了。

2.1 - 安全视⻆下的⻛险

从通用漏洞风险、供应链相关的风险、过期维护的组件三个方面 ### 2.1.1 - 通用漏洞⻛险

2021 年数据:开源代码仓库存在漏洞仓库的占比增大 2020 年报告:恶意包(Malicious Packages)2019 年度上升幅度最快的威胁之一

2.1.2 - 供应链相关的⻛险

开源组件使用过程中风险分析:

image.png

2.1.3 - 过维护期的组件

引入过时版本的组件可能会引发的安全问题: - 维保问题:开源的某些版本没人管 - 安全基线不完整 :早期安全技术局限,现代化的安全缓解技术没有应用到旧驱动上 - 未通过严谨的安全测试 :早期安全检测范围小,老组件问题多

2.2 - 业务视角下的风险

在实际的组件⻛险修复过程中有一些吐槽: - 兼容性问题 :安全推动版本升级,业务想保稳定性,担心存在兼容性问题 - 安全版本的问题 :业务需要安全核查安全版本,效率低 - 安全的尺度和评价标准不够透明 - 合规:业务违反开源协议

2.3 - SCA 建设的过程

2.3.1 - SCA核心功能

首先,文章分析了SCA 核心功能应包括: - 软件资产的透视:清晰所有的应用系统引用了哪些组件 - ⻛险数据的发现 : - 安全团队收集⻛险相关的数据 - 基于安全威胁情报能力建设,实效性和可用性的双重服务级别协议(SLA,Service Level Agreement) - 除了漏洞,主动收集开源软件的基线信息:指开源项目的安全实践、维护状态、依赖关系等基本信息。 - ⻛险与资产关联基础设施的建设: - 基础设施去实现核心 APIs 能力; - 用户自定义函数(UDF,User-Defined Function);复杂事件处理(CEP,Complex Event Processing) - 可视化相关需求 :安全风险与业务对齐

2.3.2 - SCA建设阶段

整体建设分成三个阶段: 1. 数据盘点与收集:与基础架构团队一起做内部基础组件的数据资产盘点;建立一个单独的开源组件⻛险数据库。 2. SOP和PoC:通用的漏洞修复 SOP和PoC,其他团队测试 - SOP(Standard Operating Procedure,标准运营流程)就是操作流程手册 - PoC(Proof-of-Concept,概念验证)就是实际上手测一测 3. 平台化及配套稳定工作:上线用起来

文中给了一个建设流程图:

建设流程图

资产数据的采集: - 根据最开始的分析,进行数据采集,但是出现遗漏的异常场景(例如:业务灰度到一半后忘记继续,导致同一服务的部分实例仍在运行旧版本;直接在服务器上手工部署或使用非官方 CI/CD,系统侧完全看不到) - 因此,把视角下沉到主机的粒度考虑。 - 构建链路-主机维度的数据正反校验机制:通过主机实例(Docker 容器、虚拟机、物理机)本地的 HIDS Agent,完成文件信息、进程信息、环境变量、Shell-Log 等信息的分析,确定主机实例修复完毕。 - HIDS(Host‑based Intrusion Detection System)Agent

(应该就是对每一个主机进行自动化扫描检测,进行数据收集)文中给出详细的落地核心工程和结构关系图:

落地核心工程和结构关系图

资产数据的采集–> 1.

数据总线传递给数据仓库和计算引擎,完成数据的交叉和分析工作,得出的结果便是存在哪些⻛险和⻛险进度。在这里,实时引擎一方面需要承担增量资产数据的分析,另一方面也会保存很多聚合的 CEP 规则进行分析。离线引擎则是完成存量⻛险的周期性发现和治理工作。

企业更加注重SCA与人工智能(如大语言模型)融合,自动生成漏洞修复建议已成为最新趋势。

2.4 - 困难与展望

遇到的问题: - 漏洞-资产关联规则缺乏一个成熟且有效的行业标准

3 - 总结

这篇文章发表于2022年05月26日,现在过去三年了,技术和运营角度都会有很大的改进。