2023年6月20日,安全牛发布《SCA产品技术应用指南》报告,思客云作为软件供应链安全解决方案提供商,自主研发的找八哥SCA产品,成功入围报告。

SCA软件成分分析系统,作为软件供应链安全体系的重要能力之一,为用户提供从代码、组件、软件、云容器的多个层级的软件成分分析和安全漏洞检测。

找八哥SCA产品能够帮助用户进行开源组件,开源代码,开源软件,Docker容器的成分分析,SBOM识别,安全漏洞检测,许可证协议合规等全面的安全检测能力,其内置丰富的漏洞库、组件库及代码的指纹特征信息,为用户的软件安全提供全面的检测与防护。

—《SCA产品技术应用指南》报告发布内容如下:

组件式开发的常态化,使应用程序组件中的漏洞层出不穷,软件成分及成分风险的可见性,成为供应链风险治理的重要一环。在此背景下,越来越多企业将软件成分分析(SCA)作为开发的重要组件贯彻到了开发流程中去,成为企业代码开发的安全基线。然而,快速发展的市场需求也往往会伴随着鱼龙混杂的炒作泡沫。SCA作为一种新兴的软件代码安全能力,多数企业用户对其技术原理、功能价值以及应用方式还不是很清楚,对如何选型合适的SCA方案也同样存在很多困惑。

为了更好地了解企业用户对软件成分分析工具的需求及应用现状,总结SCA技术成功应用经验,安全牛基于第十版全景图相关细分领域的调研数据,特别邀请了安普诺信息(悬镜安全)、安天、比瓴科技、墨菲安全、奇安信、思客云6家(厂商顺序不分先后)国内软件成分分析SCA技术代表性厂商,联合发起《软件成分分析SCA应用指南》报告研究(以下简称“报告”),对当前SCA技术的用户需求、能力建设、典型应用、成功案例以及发展趋势展开研究调研。2023年6月20日,报告正式发布。

报告关键发现

  • 在软件供应链安全风险及安全能力左移需求的驱动下,软件应用安全正在从单一的测试能力向开发过程和供应链安全等泛场景化方案演进,在产品形态上也呈现出从AST(应用安全测试)向供应链安全管理扩展的趋势。
  • 报告调研发现,超过50%的受访企业表示已经关注并愿意在应用开发项目中使用SCA类安全工具,其中45%的调研者表示会在选型应用安全防护工具时优先采用SCA方案。
  • 我国的SCA技术研发和市场应用均晚于国外,其技术的起源也有一定差异。国外用户的知识产权意识相对较高,SCA产品在代码审计、许可合规和兼容方面的能力比较突出;而国内用户更加关注监管合规,包括对开源漏洞风险的管理以及软件可维护性,因此目前国内SCA产品更多是以漏洞识别、修复和响应处置作为主要能力。
  • 随着软件供应链安全事件的不断升级,目前国内、外SCA的市场应用需求已经逐渐趋于一致,我国主流的SCA产品在安全检测和许可合规等能力表现上也在快速接近国际厂商。
  • SCA技术可以应用于软件供应链中的多个场景下,其目标用户群体包括软件开发工程师、安全测试人员、安全运维人员、风控人员和信息系统审计人员等。本次报告调研数据显示:当前SCA技术使用者中,安全管理人员占比56%,研发人员占28%,法务和风控人员占11%,安全运维人员占比5%。
  • 报告调研发现,目前SCA技术仍然快速发展,未来的产品定位将会从成分检测工具转变为供应链安全管理型工具,更多SCA技术能力或将被融合到体系化的软件供应链安全管理平台中。
  • 随着SCA技术产品化应用的持续推进,不同厂商产品的功能和性能差别将逐渐明显,具体情况如下表:

SCA应用价值SCA是一种跨开发语言对应用软件的组成结构进行成分检查和分析的技术,通过识别应用软件所采用的开发框架、组件/库、模块等关键成分信息,可以对软件制品或交付件进行风险分析、跟踪和溯源管理,帮助用户在软件供应链过程中实现安全漏洞修复、开源风险控制、法律风险规避等软件风险管理活动。

SCA核心能力框架

本次报告研究认为,SCA技术是软件开发集成度和供应链安全需求上升到一定阶段的必然产物,是软件供应链安全的重要组成部分,包括成分识别、风险分析和风险治理三个逻辑依次递进的能力,其中:

  • 成分识别是风险分析的基础。它依赖知识库的积累为风险分析提供基础数据,成分识别的粒度和广度决定了风险管理的精准度,其基本功能组件包括组件成分识别、代码片断识别、漏洞识别和许可类型识别四部分;
  • 风险分析是提升风险管理效率的重要前提。风险分析的算法决定了风险管理的效率,包括开源漏洞分析、代码同源性分析、漏洞可利用性分析、许可兼容性分析等功能;
  • 风险治理是SCA能力和用户价值的重要体现。它通过更加友好 、细致和符合场景化的功能为用户提供风险预警、追踪/溯源、应急排查、防护处置等软件风险闭环管理的可视化服务。

SCA关键技术

SCA的基本原理是基于软件生存周期对软件结构进行逆向分解,识别出不同的成分和组件,以及这些成分中含有的已知漏洞和知识产权类型。因此,SCA技术应用时,不仅需要横向贯通软件的生产、发布、部署、运营等全部环节,同时也要能够纵向融合不同语言的源文件、库文件、开源组件、包管理工具等多种成分。根据调研,本次报告将组件成分识别、漏洞识别修复、许可合规性分析、同源代码分析、风险追溯管理定义为SCA技术实现中的5个关键性技术。

SCA关键技术

SCA能力建设挑战

报告研究发现,尽管SCA技术已经开始受到国内企业用户的广泛关注,但其技术应用尚处于较早期的发展阶段,用户在应用组件安全能力构建中会存在以下挑战:

  1. 在软件开发流程中推行软件成分安全检测,会增加软件开发成本和开发人员的工作量,落地实施会不同程度受到使用者的阻力。
  2. SCA检测的有效性依赖组件和漏洞知识库的持续更新,但这些数据来源广泛,多样化程度较高,漏洞情报收集和运维管理的工作量较大。
  3. 软件版本迭代频率较高场景下,SCA插件的部署或升级会导致DevOps平台持续集成和部署业务中断。
  4. 实际项目中,不标准、不规范的项目管理,使应用组件没有有效的兼容和基线支持,给SBOM的生成、管理和标准化应用带来了一定难度。
  5. 组件依赖性的复杂性及漏洞修复流程的复杂性都严重影响着漏洞修复的效率。
  6. 多数SCA工具在漏洞检出后,都可以给出新版本升级和修复建议。但对单个组件进行版本升级,通常会对相关组件造成连带性影响,导致升级后部分功能不可用。
  7. 企业代码资产管理不规范,在出现新的漏洞需要快速响应时,难以在第一时间定位到各个产品的代码仓库,致使突发事件的应急响应失败。
  8. 成分标识、漏洞管理方面的行业标准、技术要求、规范还不足,企业建设实践缺少基准和依据。

SCA能力构建

为帮助企业用户做好SCA技术应用的能力建设,报告基于对SCA关键能力的研究分析,从组件成分识别、集成能力、风险管理三个维度给出了SCA技术能力构建模型。

SCA能力构建参考模型

通过调研访谈,本次报告还总结出以下SCA能力建设建议:

  1. 从场景化需求入手,并结合能力构建模型,理清自身的软件风险管理需求、使用对象和用户规模。
  2. SCA的检测应该遵循安全左移的原则,这能有效减少复杂的组件依赖和开发流程给漏洞修复带来的影响。
  3. 选择与研发工具兼容性更强、自动化程度更高的SCA方案,有效减少研发安全管理的复杂度,提升SCA使用有效性。
  4. SCA应覆盖企业中软件流转的全部过程,特别是要做好组件或软件出入口关键节点的覆盖和成份合规管控,并与相关的生产管理系统做好联动,将安全检测融入整个项目管理活动中。
  5. 从风险管理的角度,不同的软件安全检测能力要纳管到统一的软件风险管理平台,实现风险闭环管理,提升全局风险管理的能力。
  6. 要做好SCA知识库的持续维护与优化,保持SCA识别能力长期有效。
  7. 要做好相关人员的安全意识培训,并建立明确的使用制度,这也是保障SCA有效落地的重要因素。

—报告发布内容引用结束

思客云长期致力于静态代码安全测试、动态渗透安全测试、安全测试管理平台等软件安全测试工具的研发与应用,特别是在静态代码测试方面,思客云积累了丰富的研发、应用与实践经验,并以此衍生出了和SCA技术相关的软件安全咨询服务、安全测试体系建设、安全开发体系建设以及软件安全知识培训,可以为用户提供完善的软件安全测试管理理念和安全测试管理的解决方案,并构建覆盖软件开发全生命周期的安全保障。

思客云根据多年的行业经验,不断创新和发展,在软件供应链的安全风险骤升的时期,很多用户面对突出其来的软件供应链攻击,一时间不知道如何入手来统一的管理这错综复杂的软件供应链,思客云率先推出软件供应链的安全管理平台——烽火台SSC。该平台能够全面地管理软件供应链的各个环节,多维度地发现和识别软件供应链的风险。

思客云将不断适应时代发展需要,利用其丰富的行业经验和客户痛点认知,进一步提升产品能力,将自研的核心技术快速转化为持续提升服务的流程化产品,推动以用户价值为导向的产品创新,为用户提供专业的产品。