透视镜 | 浅谈软件成分分析SCA

admin 2024年1月29日19:21:39评论72 views字数 8516阅读28分23秒阅读模式

随着企业软件部署周期的缩短以及开发效率的提高,特别是在2021年SolarWinds和Log4j漏洞事件引发全球关注后,软件成分分析(SCA)工具越来越受到业界的重视。当下,SCA产品已经逐渐成为企业软件供应链资产管理、漏洞管理以及开源合规治理等工作不可缺少的重要部分。今天和大家分享一些SCA基础技术和市场情况。

本期转载自航行资本

SCA概述

当今在开发软件中,引入开源组件、避免重复劳动是惯例。然而开发迅捷伴随着安全治理缺失的风险,如果企业无法统计系统中使用了多少第三方组件,无法在引入组件环节隔离风险,无法对已有的高危组件进行升级修复,很可能导致事后处置和修复成本的大幅提高。

SCA(Software Composition Analysis)译为软件成分分析,通俗的理解就是通过分析软件包含的一些信息和特征来实现对该软件的识别、管理、追踪的技术。SCA技术能够有效帮助使用者发现开源组件中的安全性问题。SCA主要有三种用例:开源漏洞管理、开源许可证管理以及SBOM清单。

透视镜 | 浅谈软件成分分析SCA

除发展较早的源代码SCA检测外,二进制SCA检测也陆续得到了广泛运用,其检测对象为二进制构建产物,无需源代码。SCA的二进制检测对源代码检测可以起到很好的补充作用。在工业系统、车联网系统、银行券商系统和嵌入式系统这些使用场景中,有无数的二进制程序和库,这些源程序可能长期丢失或是私有的,这意味着无法使用常规方法对这些程序和库进行修补或在源代码级别上评估其安全性。在供应链场景下,对于采购的交付件制品,大多无法提供源码,对于此类采购产品需要上线,或者需要集成到自研产品中的,需要提前进行二进制制品的检测,进行安全评估。

SCA工具的工作原理

SCA工具的原理是通过扫描目标系统中的所有组件成分、引用依赖关系、版本等信息,与多个漏洞数据库进行匹配,包括国家信息安全漏洞共享平台(CNVD)、国家信息安全漏洞库(CNNVD)、National Vulnerability Database(NVD)等,达到匹配及识别漏洞、许可证合规等风险的效果。影响SCA代码分析准确性的因素主要分三个方面:其一是SCA工具支持组件的数量和检测算法,其二是应用程序引用开源件的方式,其三是底层漏洞库的广度和颗粒度。

组件的数量和检测算法方面,SCA根据样本组件特征来匹配被测程序中的特征,从而判断应用程序是否引用该组件,因此,支持组件的数量越多,检测率也就越高,支持的组件数量越少,越会导致检测遗漏;另外,检测算法和特征设计是否合理也直接影响到分析的准确性和分析效率,对此,不同SCA工具厂商有不同的解决方案,就好比在手机上识别指纹/人脸一样,不同厂商识别的灵敏度和准确度都不一样。

引用开源软件的方式方面,应用程序在引用开源软件时,不同的应用程序即使引用同一个组件也存在引用不同的功能,引用功能的多少也各不相同,这样带来的结果就是在应用程序中包含该组件的特征数量也是大小不同的,引用功能多包含的特征一般也多,引用的功能少,则包含的特征也少。而应用程序包含组件特征的多少直接影响到SCA工具的检测的准确性,组件特征越少,SCA工具检测越困难,因此即使两个不同应用都引用了相同组件,可能一个应用可以检测到,另外一个应用则无法检测出该组件。这种场景对SCA工具检测二进制文件尤其明显。

结合以上两方面更进一步,是底层漏洞库的广度和颗粒度。一方面通过收集更多的漏洞、数据,让漏洞的广度及描述更为丰富。另一方面,官方漏洞公开的数据字段一般有限,漏洞的影响、关键的影响组件等信息是缺失且非公开的,漏洞库分析要素储备越深,才能对漏洞风险、优先级及修复方案作出更准确的判断,实现误报的减少及正确的修复。

SCA相关政策

A. 海外市场

目前,SCA政策的发展美国略领先于欧盟,体现在SBOM清单在美国部分组织中已成为强制要求。但随着欧盟CRA政策的落地,其对于SCA的态度也将逐渐从鼓励使用转化为强制使用。

2021年5月,美国总统拜登首次官方强调要保护软件供应链安全,并鼓励软件开发商要提供SBOM,随后美国政策逐渐出台,明确了SBOM必须要包含的成分,及SBOM以外的VEX test。2022年8月,美国官方文件首次表明软件交付时可以用二进制SCA来做SBOM,9月随即要求任何与联邦政府有往来的公司都要提供软件安全性证明,该政策在2023年逐步落地,SCA在美国已成为软件开发商们必需的工具。

欧盟在2022年9月同样提出了对于SCA和SBOM强制要求的法案,但该法案目前还没有得到正式通过(在2023年11月30日达成了临时协议)。故而,目前在整个欧盟层面,还没有在政策上对于SBOM和SCA的强制要求,但是其在近年来逐渐鼓励SBOM和SCA的使用,并提出要积极推动网络安全的建设,可以预见,SCA在欧盟的普及已经近在眼前。

透视镜 | 浅谈软件成分分析SCA

B. 国内市场

当前,我国还没有官方文件提出对SCA的强制性要求,但出台了政策鼓励SCA的使用,并提出了纲领性的文件要对软件供应链进行保护。在2023年4月,我国出台了开源代码安全评价方法,提出将开源代码漏洞率和SBOM列入评估标准,并在2023年2月的文件中说明了SCA可以用来生成SBOM。当下,参照工信部的要求,南京、上海等主要城市也在分别拟定开源软件相关政策文件。

透视镜 | 浅谈软件成分分析SCA

SCA市场现状

目前,我国的SCA技术研发和市场应用均晚于国外,其技术的起源也有一定差异。国外用户的知识产权意识相对较高,SCA产品在代码审计、许可合规和兼容方面的能力比较突出;而国内用户更加关注监管合规,包括对开源漏洞风险的管理以及软件可维护性,因此,国内当下的SCA产品更多是以漏洞识别、修复和响应处置作为主要能力。

在实际运用中,SCA技术可以应用于软件供应链中的多个场景下,其目标用户群体包括软件开发工程师、安全测试人员、安全运维人员、风控人员和信息系统审计人员等。《中国软件成分分析报告调研》数据显示:当前SCA技术使用者中,安全管理人员占比56%,研发人员占28%,法务和风控人员占11%,安全运维人员占比5%。此外,根据最终用户行业,全球软件构成分析市场可细分为金融服务与保险(BFSI)、电信与 IT、政府与国防、汽车和其他行业。截至目前,BFSI的市场份额最大,占约40%,由于在线交易容易受到黑客攻击,软件成分分析解决方案和服务能够提供安全可靠的牵引,因此被广泛应用于BFSI。

研究报告显示,在未来五年内,全球的SCA市场将以21.7%的年复合增长率高速增长。在全球市场中,SCA市场的市场驱动力主要来自于互联网使用的增加和开源软件使用的增长。

  • 互联网使用增加

由于众所周知的原因,近年来移动设备的使用率有所提高,而电子商务的增加导致各种服务的采用率不断提高,如实时总结算系统(RTGS)、全国电子资金转账(NEFT)、电子结算服务(ECS)和移动交易,预计这些都将推动SCA的增长。同时,企业必须格外谨慎,以避免泄露数据或给漏洞利用留有余地。出于安全考虑,每一版产品的推出都必须经过SCA程序。在未来三到四年内,这一趋势将在处理敏感数据的各种业务中倍增,如医疗保健、数字商务和BFSI(银行、金融服务和保险)。

  • 开源代码使用场景增加

Forrester Report显示:75%的代码库是开放源代码,这使得应用程序的大部分代码因第三方源代码而面临风险。应用安全和应用开发领导者需要依靠SCA工具来了解开源和第三方库的安全和许可风险。此外在 Tidelift最近的一项研究中,68%的受访者指出,节省资金和开发时间是企业鼓励使用开源组件进行应用程序开发的首要原因。而48%的受访者则表示,使用开源是为了提高应用程序开发和维护效率。Gartner预计,90%的企业应用程序将依赖于开源的使用。

透视镜 | 浅谈软件成分分析SCA

但开源代码的不确定性给企业埋下了诸多安全隐患,导致企业自身的业务状况面临着许多不可预知的风险与挑战。对于开源代码的使用,企业往往面临着“看不清、摸不透、跟不上、防不住”四大挑战。2021年底爆发的“核弹级” Log4j漏洞事件更是将开源软件的安全问题推向了风口浪尖。

透视镜 | 浅谈软件成分分析SCA

透视镜 | 浅谈软件成分分析SCA

企业对软件供应链安全的要求,推动了代码安全左移,促使软件企业更加关注自身软件中的开源成分和风险。报告调研发现,超过50%的国内受访企业表示已经关注并愿意在应用开发项目中使用SCA类安全工具,其中45%的调研者表示会在选应用安全防护工具时优先采用SCA方案。

  • 上云带来的SCA产品云化

由于各行各业对基于云的软件和解决方案的接受度越来越高,SCA云部署在预计期内的增长率最快。由于部署成本效益高,中小型企业(SMEs)采用云部署最为普遍,扩大了SCA产品市场的受众,也改变了SCA产品的交付形态,云计算部署方案可使多个站点轻松协同工作,而无需安装软件或配备额外的硬件。同时,上云也增加了企业的预算,根据 Flexera 开展的一项调查,37%的企业表示其每年的IT支出超过1200万美元,80%的企业表示其每年的云支出超过120万美元。这一趋势在国外尤为明显。

  • 利好SCA政策的稳步推进

北美作为IT技术起源最早、发展最为领先的国家,对SCA产品的需求量也最大。在2022年8月,美国总统拜登敦促公共和私营部门保障美国软件供应链的安全,要求供应商利用软件物料清单展示安全的开发标准(SBOM),大大推动了北美SCA市场的发展,也间接推动了国内的开发企业熟悉和使用SCA产品。同时,国内的政策也在稳步推进,这一部分关于政策的分析小编将在接下去的文章中为大家详细展开。

  • 市场空间

根据Maximize Market Research的报告显示,SCA全球市场空间将从2022年的1.61亿美元增长到2029年的6.47亿美元,CAGR为22%。此外,Research and Markets的研究表明:到2030年中国的SCA整体市场规模将达到2.679亿美元,在2022年至2030年的分析期内,复合年均增长率为18.3%。其他值得关注的SCA地区市场包括日本和加拿大,预计在2022-2030年期间,这两个国家的增长率分别为16.6%和16%。

透视镜 | 浅谈软件成分分析SCA

SCA市场竞争情况

根据Forrester及咨询公司发布的报告,目前的SCA市场已经具有了一定的头部集中度,但还尚未形成稳定的行业竞争格局,随着技术不断发展和迭代,SCA市场的竞争格局仍在持续变化。

透视镜 | 浅谈软件成分分析SCA

评估SCA产品或服务有两个主要指标:第一是准确率,也就是判定检测出来的漏洞和合规问题是否准确,主要体现在漏洞库的匹配准确度上;第二则是召回率(覆盖率),是判定检测出来的漏洞和合规问题是否全面,主要体现在对漏洞和合规问题的覆盖度和及时性上。做得比较好的厂商,不仅可以覆盖NVD、CNVD、CNNVD等常见漏洞库,而且还可以自己额外梳理一部分漏洞。除了这两个主要指标,平台的易用性、对漏洞修复的推荐、以及对DevOps平台对接的支持等也是比较重要的评估因素。

落实到产品层面,SCA产品的竞争壁垒主要是支持语言的多少、覆盖的漏洞库是否全面、数据库及服务客户数量的先发优势、是否提供漏洞修复服务、SBOM支持情况、应用界面是否友好等。

A. 海外市场

透视镜 | 浅谈软件成分分析SCA

Forrester 2023年6月发布的海外SCA厂商排名

根据2023年Forrester的观点,从「Strategy策略」维度来看,Snyk的在相当大的范围内被认为是最领先厂商。Checkmarx和Sonatype并列排名第二,Veracode排名第四,Mend.io排名第五。这与2021年的情况相比发生了巨大的变化,当时Synopsys排名第一,Veracode排名第二,Revenera排名第三,WhiteSource(现在是Mend.io)排名第四,JFrog排名第五,Snyk排名第六。从「当前产品current offering」维度来看,Sonatype以微弱的优势超过了Synopsys排名第一。Mend.io排名第三,Snyk排名第四,Checkmarx排名第五。根据Forrester的观点,Sonatype的产品优势在2021年也是最强的,但是其余排名前几位的情况发生了变化,WhiteSource(现在是Mend.io)排名第二,Snyk排名第三,Synopsys排名第四。

某国内厂商专家吴菊华认为,在Forrester关于SCA的报告中,Sonatype在Synopsys右侧表明Sonatype在战略上更胜一筹,在SCA产品能力方面优势微弱。其中,Sonatype在愿景、创新度、定价灵活度和透明度上明显优于Synopsys并取得最高分;产品能力领域,Sonatype在漏洞风险管理、合规风险管理、供应链安全方面以满分优势胜出,但在对研发团队友好的修复建议上落后于Synopsys,同时Synopsys有着更广泛、友好的覆盖度和兼容性。

  • 海外头部厂商产品特点

  1. TOP 10 SCA工具中有5款支持软件包开源软件SCA检查能力(Synopsys/Sonatype/Veracode/Jfrog/GitLab),其他工具只支持源代码SCA检查能力。

  2. 5款支持软件包SCA检查工具中,对C/C++、Java、.Net语言支持的比较好,但对Golang、python、JavaScript语言支持能力偏弱,比如:Synopsys支持的组件对象中前面3种语言占比达到90%+,相应的检测率也高,而Golang语言的组件检出率则低很多。

Sonatype专注于数据以了解开源威胁
  • Sonatype关注检测和拦截开源生态系统中的恶意活动,并建立了自己的研究部门,向客户提供关于不同属性和版本的开源软件的安全风险的建议。该公司已经在过去一年中发现了12万个开源恶意软件实例,并阻止了100万次恶意软件攻击,以及与特定版本相关的1000个存在漏洞的开源软件。Sonatype CEO Wayne Jackson表示说:“我们有着最好的数据很长时间了,这是我们的基础优势之一。”
  • 报告称:"Sonatype的差异化创新战略包括安全、开发人员、运营和法律角色,可防止下一代供应链攻击。其卓越的愿景是提供一个可在云端或自助托管的平台,其路线图包括通过增强优先级和修复功能改善开发人员体验,以及应用 ML/AI 加速检测、缩短修复时间和预测新型攻击。报告还指出:"强大的客户关系为Sonatype带来了优势"。但同时,Forrester也批评Sonatype的生态系统复杂,需要结合独立SCA产品、repository firewalls和legacy pack add-ons一起共同发挥完整价值。Jackson表示,该公司希望其平台易于被组织中的不同群体接受,并与客户基础设施中可能存在的竞争技术兼容。
Snyk将开源和容器安全结合起来以发现问题
  • Snyk采用了以API为先的方法来生成SBOM,以便在发生变化时自动生成新的材料清单这是因为手动输入大规模变化的复杂性与自动化生成相比存在困难,首席产品官Manoj Nair表示。他说,像亚马逊网络服务这样的公司在其产品中使用Snyk的开源安全情报,得益于其对实际存在漏洞的内容的可见性。
  • 但Forrester批评Snyk在许可证管理功能方面有限,并且检测能力不如同行。Nair表示,自从Forrester完成评估以来,Snyk已经增强了将安全情报数据库中的数据应用于实际工作流的能力,并且将许可证管理功能专注于前瞻性用例,而不是传统的合规性用例。Nair说:“如果客户对更传统的合规性导向的用例以及我们产品集成的能力不满意,我们会将FossID作为合作伙伴引入。”
Synopsys简化界面,为开发人员增加自动化
  • Synopsys市场策略高级总监Patrick Carey表示,近年来,开源已经从终端用户组织中的独立治理团队和活动发展为DevSecOps模型的一部分,这创造了对更简单界面的需求。随着越来越多的SCA工作落在开发人员身上,Carey表示,体验必须变得更加自动化和流畅。过去12至18个月,Synopsys已经开发了一个插件,通过利用该公司历史悠久的Black Duck引擎,使开发人员在编写代码时可以访问SCA。
  • Forrester批评Synopsys在漏洞检测方面需要更多的差异化,并且没有将其专业版定位于DevSecOps用例。Carey表示,客户在敏捷DevOps流水线上部署Synopsys的专业版没有任何问题,并且打算构建桌面、云端和本地部署的解决方案,以与市场上客户最需要的需求保持一致。

B. 国内市场

当下,国内SCA的主要厂商包括安势信息、默安科技、墨菲安全、悬镜安全、软安科技、棱镜七彩、奇安信等。在这里,小编将这几家主要厂商的SCA产品特征予以梳理。

(详情略)

作者:吴思嫣、李均照
编辑:范云辰

参考资料:

https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executive-order-on-improving-the-nations-cybersecurity/

https://www.reversinglabs.com/blog/timeline-of-federal-guidance-on-software-supply-chain-security

https://www.ntia.doc.gov/files/ntia/publications/sbom_minimum_elements_report.pdf

https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-218.pdf

https://www.ntia.gov/files/ntia/publications/vex_one-page_summary.pdf

https://cloud.tencent.com/developer/article/2303965

https://www.whitehouse.gov/wp-content/uploads/2022/09/M-22-18.pdf

https://www.xmirror.cn/resurce/Uploads/upfile/20220819/62ff585edcb2a.pdf

https://std.samr.gov.cn/gb/search/gbDetailed?id=E116673ED45FA3B7E05397BE0A0AC6BF

https://www.waitang.com/report/551844.html

https://www.secrss.com/articles/43238

https://blog.csdn.net/m0_50579386/article/details/123507873

https://mp.weixin.qq.com/s/gkzCC36c32toLUPj6_Au9A

https://buzzorange.com/techorange/2021/12/21/what-is-log4j-and-log4shell/

https://mp.weixin.qq.com/s/AWA_X-uxklrYMPoo7L4uvg

https://mp.weixin.qq.com/s/gNhzRO6mD7PAgsui1-50tA

https://mp.weixin.qq.com/s/GaCZB03Bnck-ZYDK6gjsYg

https://www.linkedin.com/pulse/software-composition-analysis-market-forecast2023-2028-sharma/

https://www.mordorintelligence.com/industry-reports/software-composition-analysis-market

https://www.maximizemarketresearch.com/market-report/software-composition-analysis-market/1976/

https://www.researchandmarkets.com/report/software-composition-analysis

https://www.verifiedmarketresearch.com/product/software-composition-analysis-market/

https://www.zhihu.com/search?type=content&q=软件成分分析

https://zhuanlan.zhihu.com/p/631837360

https://mp.weixin.qq.com/s/SXLeZr5UJF6s4NqM8RMEqQ

(来源:航行资本

原文始发于微信公众号(信息安全研究):透视镜 | 浅谈软件成分分析SCA

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月29日19:21:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   透视镜 | 浅谈软件成分分析SCAhttps://cn-sec.com/archives/2442064.html

发表评论

匿名网友 填写信息