关于开源:势说新语SBOM-在企业软件供应链管理中的重要性安全漏洞篇

3次阅读

共计 3769 个字符,预计需要花费 10 分钟才能阅读完成。

引言:在信息安全界,近期爆出的最大的“雷”便是 2021 年 12 月产生的 Log4Shell 破绽(CVE-2021-44228)。咱们置信,相似 Log4Shell 的破绽绝不是最初一次呈现,那么下一次面临相似的问题的时候咱们该怎么及早发现、及早修复呢?

在数字时代,软件平安曾经成为政府、企业、组织等各个层面关注的重要问题。尽管软件是一种无形资产,然而因为漠视软件平安所带来的国家平安、企业平安、个人隐私等各个方面的重大问题却是“无形”的。CISQ(Consortium for Information & Software Quality) 公布的一个数字表明美国 2020 年因为软件品质付出的代价达到了 2.08 万亿美元。

更进一步, 混源开发模式已成为常态,开源软件的应用比例越来越高。OSSRA 报告中显示,该机构调研的散布于各行业的组织中的 2409 个代码库中,有 97% 的代码库蕴含开源组件。开源代码的应用对企业和开源社区甚至整个 IT 行业的倒退都具备十分踊跃的意义,然而制订混源策略、治理这些日益增长的第三方代码、保障代码不受安全漏洞的威逼成为了一个迫切需要关注的问题。

在信息安全界,近期爆出的最大的“雷”便是 2021 年 12 月产生的 Log4Shell 破绽(CVE-2021-44228)。该破绽被宽泛认为是史上最重大的信息安全破绽。美国网络安全和基础设施安全局局长 Jen Easterly 把这个破绽视为她职业生涯所经验的最重大的破绽。接下来,咱们就以该事件为例,与大家探讨如何在企业的软件供应链治理中及早发现、及早解决此类安全漏洞。

》》》 什么是 Log4Shell 破绽

Log4Shell 是一个 Log4j 产生的零日破绽,次要波及任意代码执行,容许攻击者在服务器或其余计算机上执行任意 Java 代码,或泄露敏感信息。Log4j 是 Apache 基金会奉献的开源我的项目,于 2001 年首次公布,它是一个基于 Java 的日志框架,受影响的 Log4j 版本蕴含 JNDI 性能(如音讯查找替换),这些性能无奈避免对手管制的 LDAP 和其余与 JNDI 相干的端点。

》》》Log4Shell 发现的工夫线

  • 2021 年 11 月 24 日 阿里云平安团队的陈兆军首先发现问题并报告给 Apache 基金会
  • 2021 年 12 月 1 日 CloudFlare 报告了首次对该破绽的利用
  • 2021 年 12 月 10 日 CVE-2021-44228 编号调配,全世界范畴内开始意识到问题的严重性

之后的一个月之内,围绕 CVE-2021-44228,Apache Log4j 总计暴发 8 个破绽,其中 7 个高危以上破绽。

》》》Log4Shell 破绽波及范畴

Apache 给 Log4Shell 确定的 CVSS 分数为 10,这是严重性的最高等级,被誉为“靠近于世界末日”的安全漏洞。

  • 天文范畴:此次影响的范畴为全世界数亿台设施。
  • 国家平安层面:加拿大、比利时等国因而敞开了政府的局部网络和在线服务。
  • 企业层面:93% 的企业云环境受到了影响。
  • 版本层面:仅仅是 CVE-2021-44228,就影响了从 Log4j 2.0-beta9 到 2.14.1 的所有版本。

》》》 怎么及早发现及早解决这一类型的破绽

咱们置信,相似 Log4Shell 的破绽绝不是最初一次呈现,那么下一次面临相似的问题的时候咱们该怎么及早发现、及早修复呢?

首先,在很多企业和组织中,建设起“开源无益,但须要加以治理和治理”的思维模式是十分重要的。咱们要意识到应用开源是一把双刃剑,开源社区和基金会奉献了大量的开源我的项目,但其应用的安全性须要被器重。如果一味奉行拿来主义,那么再次出现 Log4Shell 这类的重大安全事件,会毫无招架之力,最终给企业造成很重大的经济和商誉的损失。

其次,企业须要对本身应用的开源组件有一个清晰的理解,随着开源组件应用的比例越来越高,咱们很难通过保护 Excel 表格的模式去做对立的治理,不仅会节约大量的人力,这种形式的准确性、有效性也值得商讨。 那么一个更为无效的形式是通过建设标准化格局的软件物料清单(SBOM)来进行开源组件的治理。 咱们稍后会跟大家具体探讨这一话题。

接下来,把握了企业和组织本身的软件物料清单后,就须要一个实效性和准确性并存的破绽信息起源,将诸如 Log4Shell 这类的 0-day 破绽精确地匹配到外部应用的开源组件中并及时告警、给出修复倡议。

更重要的是,建设整个流程并保障其顺畅执行施行才是解决此类问题的外围。 国内互联网企业大多曾经采纳 DevOps 的研发流程,那么把开源破绽扫描融入到 DevOps 的工具链中,能力实现破绽的早发现、早跟踪、早解决。在流程中的 SCA、SAST、DAST、IAST 等等测试就组成了 DevSecOps。 当然,依据企业行业、规模和迭代周期等因素,DevOps 未必是针对局部企业的最佳实际,那么企业能够周期性的进行扫描代码中的开源破绽。

综上,咱们波及了人(开发者,测试人员、平安团队)、工具(开源或商业化的 SBOM 生成和管理工具、破绽库等等)和流程。这些因素有任何的断点,都会造成企业和组织对于重大安全漏洞的治理失能。

》》》SBOM 是什么?怎么通过 SBOM 来建设企业的软件物料清单

首先,SBOM 的全称是 Software Bill of Materials,中文译为软件物料清单,它不是一种特定的文件格式。BOM 这个定义宽泛存在于传统制造业,用以跟踪和记录产品的部件,当部件产生缺点的时候,能够精确清晰疾速地定位到缺点影响的部件。那么同理,在软件畛域,它的作用是可能实时跟踪软件中应用的第三方组件来治理整个软件供应链。

SBOM 有不同的格局,然而其实质都是对于组件、依赖、破绽、许可证、版权等信息的展现。

SBOM 常见的格局有:

  1. 工具自身生成的文件,其特点是须要借助于工具自身,进行不同工具之间的数据交换会须要二次解决;然而长处是能够依据工具的特点和性能进行信息内容的定制,进而展现到前端页面,可读性更强。如下是某工具生成的 JSON 文件截取,咱们能够看到 Log4j 这个破绽是如何在 Vulnerabilities 字段中展现进去的。


图 1:扫描工具生成的的 SBOM JSON 文件

通过工具的解决和渲染,该破绽的信息会展现在客户端页面


图 2:扫描工具展现的前端页面


图 3:扫描工具破绽信息的展现

咱们能够看到其中展现了该破绽各种相干的信息,包含重大水平、影响版本和修复倡议等信息。

  1. SPDX(Software Package Data Exchange)格局,SPDX 是由 Linux 基金会发动的,由 Intel, Google, Microsoft 等组织反对的格局,它包含了我的项目应用组件的信息、许可证信息、版权信息、安全性数据等其余元数据以提供软件供应链的透明度和安全性。SPDX 最后是作为组件许可证信息管理的需要而应运而生的。
  1. CyclonDX 格局,CyclonDX 是由 OWASP 社区发动的,由 Sonatype, Lockheed Martin, Contrast 等组织反对的格局,CyclonDX 是一种轻量级的 SBOM 格局,最后是作为组件破绽治理的需要而产生的。

SPDX 和 CyclonDX 能够作为一种跨工具跨平台应用的报告格局,而且他们的版本均在一直地更新迭代中。

  1. SWID 格局也是一种,然而因其比拟小众,暂不做过多探讨。

其实,无论应用哪种格局,无论是在每次代码更改时候进行增量扫描还是上线前的集中式扫描,只有咱们建设适宜企业本身的 SBOM 信息展现能力,就达到了开源组件破绽治理指标第一步。

》》》 那么精准地把握企业 SBOM 进而进行高效的破绽扫描须要哪些能力?

疾速: 无论是应用开源还是商业的扫描工具,要求咱们必须要疾速实现扫描,特地是对于大型公司或者大型项目。比方 openEuler 社区,蕴含 200 个自研我的项目和 8000 个镜像,如此规模的社区须要一个疾速的扫描工具,来满足单个文件的扫描速度快和增量扫描这些特点。

精确:SBOM 的准确性也体现在工具对各种颗粒度扫描的反对,比方代码片段扫描,那么一个精确并及时更新的数据库是至关重要的,一款当先的 SCA 工具能够做到在 0-day 破绽裸露进去数小时之内推送到数据库中。精确这一特点也包含扫描引擎外部匹配算法的精确辨认能力。

全面: 全面与精确也是非亲非故的,纵向来说,开源我的项目无时无刻都在更新,破绽信息也是如此,那么须要数据库背地的数据挖掘机制足够弱小来把源源不断的数据更新到数据库中。横向来说,反对例如 NVD、CNNVD、CNVD 等各种破绽数据源也是体现全面性的一部分。

开源代码的大量应用所带来的问题不仅仅与平安相干,对于波及知识产权的许可证合规方面的风险管理能力也是企业亟须建设或一直进步的,安势信息后续会与大家分享这方面的内容。咱们下篇文章见!

参考资料:

[1]https://www.it-cisq.org/cost-…

[2]https://www.synopsys.com/blog…

对于「势说新语」

安势信息推出全新栏目「势说新语」,旨在为开源软件供应链平安行业人士提供一个相互交换、互相学习的平台。欢送各位大咖退出,独特探讨开源软件供应链平安行业现状及将来发展趋势、行业热点等话题,分享观点,碰撞思维火花。

欢送大家踊跃投稿,能够谈谈你对开源软件供应链平安与行业发展趋势的见解,投稿请发送至邮箱:marketing@sectrend.com.cn

正文完
 0