SAP开源Java 提供静态代码安全性测试功能 SCA工具 (sap开源吗)

SAP开源Java 提供静态代码安全性测试功能 SCA工具 (sap开源吗)

SAP 发布了Vulnerability Assessment Tool的源代码,这是一个软件组合分析(SCA)工具,已经在内部测试了两年,对 600 多个项目进行了 20,000 次扫描。

Vulnerability Assessment Tool 侧重于检测脆弱的组件,如OWASP-Top 10 2017 A9所述的那些。这个工具会扫描软件包中的直接依赖项和间接依赖项,然后将每个依赖项与已知源(如国家漏洞数据库或 CVE 列表)进行比较,确定每个软件包是否存在已知的漏洞。在开发过程中,这些知识可以告诉开发人员何时应该升级某些组件。在运营期间,当发现新的漏洞时,可以使用这些信息来定位需要采取行动的应用程序。

2017 年,Equifax 未能对 Apache Struts 及时打上CVE-2017-9805补丁导致数据泄露,自从这次事件之后,SCA 就成了软件行业的关键一环。这次数据泄露事件总共丢失了 1.43 亿条记录,预计总损失超过 6 亿美元。Apache 软件基金会先前发布了“Apache Struts有关Equifax数据泄露的声明”,其中就提到了一些 Vulnerability Assessment Tool 需要解决的问题,例如:

SAP 的新工具不仅仅是列出文件,它还会执行一定级别的静态代码安全性测试(SAST),以评估每个组件的使用情况。这是为了在可能存在脆弱但不在使用中的组件的情况下最小化误报。例如,一个工具将 JRE 本身标记为容易受到 applet 漏洞攻击,比如CVE-2016-0636,但 JRE 主要用于服务器端,applet 从未被使用。

很多组织都会执行静态代码分析,作为在发布前检测代码级别漏洞的安全措施。具体来说,PCI安全软件标准的 8.4.b 章节和NIST 800-53的SA-4章节提到了代码审查,以及其他分析代码的检测机制,比如二进制分析。另一个选项是通过集成应用程序安全性测试(IAST)持续监控应用程序行为。

项目文档解释了安全测试静态分析领域的几个限制。具体来说,它提到了对非静态信息(如Java 9的多JAR)缺少支持。这个 Java 特性提供具有相同名称空间的多个类文件,JRE 会在运行时选择适当的类和行为。在静态上下文中,如果没有运行时,有关此决策的信息将会丢失,因此分析程序必须选择所有路径,或者默认选择主类位置。SAP 的工具选择了后者,并为 Java 提供了一个类似于 IAST 的动态工具,以弥补静态安全分析的不足,并检测哪些文件被使用过。

SAP Vulnerability Assessment Tool 发布在 GitHub 上,由 Henrik Plate、Serena E. Pontona、Antonio Sabetta、Cedric Dangremont 和 Alessandro Pezze 负责维护。

查看英文原文 :SAP Open Sources Java SCA Tool

声明:本文来自用户分享和网络收集,仅供学习与参考,测试请备份。