当前位置: 首页 > 科技观察

七个优秀的软件供应链安全工具

时间:2023-03-11 22:20:06 科技观察

正如今年早些时候ApacheLog4J漏洞的影响所证明的那样,当今企业软件中最大的风险不是内部软件开发团队编写的不安全代码。当今大多数软件代码库中的组件、库和其他开源缺陷是不安全冰山的水下部分。事实上,DevOps团队和软件工程团队采用的许多企业软件和自定义应用程序实际上并不是由其开发人员编写的。今天的现代软件通常是模块化的。开发人员使用所谓的微服务架构来构建新的应用程序,就像构建乐高积木一样,架构是使用预制代码构成的模块简单构建的。开发人员不必在每次需要应用程序执行通用功能时都重新发明轮子,而是在众所周知的模块工具箱中寻找合适的模块来完成他们需要的工作。该工具箱是当今不断扩展的软件供应链,有时是来自数百万GitHub存储库和当今在线流传的开源项目的非官方代码源。它由用于构建现代开发管道的底层应用程序和开发基础架构中使用的大量应用程序、组件和库组成。当然,这个供应链提供的程序并不是真正的模块,它们并不总是完美地组合在一起,因此开发人员创建自定义代码来将所有这些部分组合在一起。事实上,许多人经常将这些创作开发成更多的开源项目,供其他人解决类似的问题。这是软件供应链持续增长的原因之一。使用第三方代码构建的应用程序现代应用程序主要由第三方代码组成。据研究公司Forrester称,构成应用程序代码库的开源代码比例已从2015年的36%上升到2020年的75%。这是一种更快、更具扩展性的快速开发方式,但与所有技术创新一样,除非采取适当的措施,否则它会增加网络风险。从当今的软件供应链中选择的组件很容易过时并且漏洞百出,这已成为开发界的秘密。使事情变得更加复杂的是,这些缺陷通常嵌套在一起,因为不同的项目可能依赖于供应链中的其他项目。网络攻击者有时会故意在开源软件中植入漏洞。软件供应链引入的漏洞就像隐藏在企业软件中的网络安全地雷,尤其是当企业不管理其开发人员如何使用软件供应链时。许多企业甚至很少跟踪(更不用说审查或管理)进入或生成由其开发人员提交的代码的各种组件、库和开发人员工具。根据Linux基金会发布的一项研究,只有不到一半的企业使用软件物料清单(SBOM)来准确跟踪从软件供应链进入其应用程序的内容。创建软件物料清单(SBOM)是供应链安全以及开源治理和保护基础架构的基础,因为基础架构是在整个软件开发生命周期(SDLC)中与应用程序关联的代码元素。以下是可帮助实现此目标的工具列表,重点是软件组合分析(SCA),它特别侧重于创建软件物料清单(SBOM)的开发、提高软件内容的可见性以及修复软件构建块组件中的缺陷。7大供应链安全工具(一)ContrastSecurityContrastSecurity以其交互式应用程序安全测试(IAST)技术而闻名,该技术通过运行在应用程序服务器上的代理来检测应用程序中的漏洞,ContrastSecurity提供了软件分析(SCA)的组合)能力作为其开放平台综合测试计划的一部分,该计划还进行动态应用程序安全测试(DAST)、静态应用程序安全测试(SAST)、AWSLambda基础设施(RASP)的运行时应用程序扫描保护和无服务器安全检查。该工具不仅可以生成软件物料清单(SBOM),还可以通过可视化应用程序架构、代码树和消息流信息来将构成应用程序的各个组件中的缺陷关联起来,以帮助威胁建模修复。开源治理嵌入到现代开发工作流程和工具中,ContrastSecurity的主要业务是弥合开发人员和安全团队之间的鸿沟,使其成为DevSecOps市场的主要参与者。(2)ShiftleftShiftLeft在此选项空间中相对较新,旨在适应具有前瞻性思维的DevOps团队的开发工作流程。它的核心价值在于将软件组合分析(SCA)和静态应用程序安全测试(SAST)集成到开发人员提出拉取请求时完成的单个扫描中。该技术使用该公司所谓的代码属性图(CPG)来映射自定义代码、开源库、SDK和API之间的依赖关系和数据流,不仅可以发现整个应用程序中的缺陷,还可以发现其开源中的缺陷代码。组件,也是逻辑应用程序的一个弱点。供应链缺陷通过使用插入到软件物料清单(SBOM)中的“可达性”索引来确定易受攻击的优先级,该索引根据组件在场景中的应用程序中的使用方式将组件置于组件漏洞级别。(3)SnykSnyk是一套以开发人员为中心的云原生工具,专为DevSecOps和云原生开发商店构建。它以其SCA和容器安全扫描功能而闻名,还提供SAST和API漏洞测试。2022年2月,Snyk收购云安全态势管理器Fugue。正如Gartner所解释的那样,其在代码安全、容器安全和应用安全等基础设施方面的产品代表了“应用层和基础设施层越来越模糊”的事实。它通常是在开发人员方面购买的,但对于希望转向开发人员运行的安全测试和补救的民主化模型的CSO和安全人员来说,值得一试。(4)SonatypeNexus作为软件组成分析(SCA)市场上运行时间最长的产品之一,Sonatype早在安全会议和网络研讨会上使用“软件供应链安全”一词之前就将自己标榜为一家“软件供应链安全”公司。SonatypeNexus平台的核心是它能够创建详细的软件物料清单(SBOM)和策略管理。“策略是Sonatype的优势领域,具有符合一组标准的开箱即用的策略和允许用户创建策略并将其分配给某些类型的应用程序的策略引擎,”Forrester分析师说。它不仅可以应用于代码中的内容,还可以用于管理周围基础设施的安全和配置,就像用于开发和部署应用程序的代码和容器一样。SonatypeNexus还提供存储库管理,为所有组件、二进制文件和构建工件提供单一真实来源。Nexus的组件历史可视化和Sonatype的客户服务也被分析师列为他们最大的优势。Sonatype还在去年的一次收购中收购了MuseDev,帮助其构建SonatypeLift功能,该功能在代码审查期间提供对开发人员友好的代码质量分析。(5)SynopsysBlackDuckSynopsys的BlackDuckSCA工具执行四种类型的分析(依赖性、代码打印、二进制和片段)来跟踪和管理组织软件中使用的组件。Synopsis最近增强了BlackDuck的软件物料清单(SBOM)创建功能以包括BLANK。除了创建物料清单外,该工具还执行自动化策略管理。BlackDuck是Synopsys更广泛的AppSec工具组合的一部分,Gartner在其应用程序安全测试魔力象限中将其评为领导者。其用于提供SCA以及DAST、SAST、渗透测试、模糊测试和一系列其他测试功能的开放平台模型是一个关键的价值主张。Gartner表示,它使Synopsys非常适合使用多种开发风格和编程技术的复杂、多团队开发企业。(6)Veracode是传统应用安全测试市场的长期强者。Veracode成熟的SaaS产品长期称霸静态应用安全测试(SAST)和动态应用安全测试(DAST)领域。Veracode在过去的几年里一直在大力投资软件组合分析(SCA)。在2018年收购SourceClear之后,其原生软件组合分析(SCA)功能与其通过SourceClear提供的功能存在一些差异,但Veracode软件组合分析现在是通过该平台提供的单一产品。Forrester分析师解释说,“Veracode的路线图侧重于统一开发人员环境中的静态应用程序安全测试(SAST)和软件组合分析(SCA)功能,并增强容器和基础设施即代码(IaC)安全功能。””他们指出,Veracode在其补救报告和依赖关系图中大放异彩。他们指出,最大的摩擦点是难以将其集成到开发人员的工作流程中。(7)WhiteSourceSoftwareWhiteSourceSoftware的软件组成分析(SCA)工具的亮点之一是对开发人员友好的组件安全问题的修复,包括警告和修复过时和恶意组件。“WhiteSource的思想领导力专注于补救和优先级排序,”Forrester分析师写道,他们认为该供应商是软件组合分析(SCA)领域的领导者。他们说,“WhiteSource提供差异化??的功能,包括浏览器插件,以帮助避免有问题的组件,并从开发人员队列中删除无法访问的错误,以改善开发人员的体验。但它落后的一件事是缺乏开箱即用的功能政策。”WhiteSource今年早些时候推出了静态应用程序安全测试(SAST)解决方案。