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

SAP发布了Vulnerability Assessment Tool源代码,这是一个软件组合分析(SCA)工具,已内部测试两年。该工具侧重检测脆弱组件,扫描依赖项并与已知源比较确定漏洞。它还执行静态代码安全性测试,弥补静态安全分析不足,发布在GitHub上。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值