近年来,随着SolarWinds为代表的软件供应链安全威胁的持续增长,企业对应用安全和开发安全的重视程度也在不断提升,只有将安全性工作融入整个软件开发生命周期,才能从根本上偿还软件开发的“安全债”。
在开发管道中部署的应用安全测试工具(包括动态安全测试工具DAST和静态安全测试工具SAST)是让开发人员成为软件安全主导者的关键所在。根据Gartner的新兴企业技术预测,2022年应用程序安全测试工具(包括SAST和DAST)已经进入成熟期。
以下我们收集整理了当今一些顶级SAST和DAST工具(5个SAST工具和4个DAST工具)。这些工具的用户评价很高,且拥有非常活跃的用户和较大的安装基数。但这并不意味着这些工具一定是最好的或者最适合的。用户选购此类产品时,本列表中对产品优点和卖点的描述可作为参考。
5个顶级SAST工具
1.Checkmarx SAST
Checkmarx SAST拥有SAST工具中最友好的Web用户界面,同时还整合了很多高级功能。即使是那些对软件开发中的安全问题不熟悉的人,也能在这个界面的帮助下快速成长。Checkmarx不仅会识别漏洞,还会对漏洞的危险性做出解释。只需按下一个“最佳修复位置”按钮,开发人员就可以深入了解消除这些问题的最简单、最有效的方法。
Checkmarx开箱即用,支持超过25种编程语言,可配置为作为CI/CD管道的一部分自动运行,或者设置自定义查询并根据需要运行。它还可以适应任何主流IDE或源代码管理平台。
2.CyberRes Fortify
CyberRes Fortify平台同时提供SAST和DAST功能。作为SAST产品,它的可视化界面非常干净简洁,可以很直观地向开发人员展示代码中的特定漏洞以及定期发现的漏洞种类的统计信息(分为810个漏洞类别)。然后,它将开发人员引导至其游戏化的培训界面,该界面使学习安全知识和编写安全代码变得轻松有趣。
该平台支持27种编程语言和框架,可以在本地部署或用作服务,还可以集成到大多数主流IDE中,例如Eclipse和Visual Studio。
3.Perforce Klocwork SAST
Perforce Klocwork SAST号称即使在最庞大的开发环境中也能提高速度。它适用于用C、C++、Java、JavaScript和Python程序,以及Docker容器。它可以集成到任何主流IDE中,如Visual Studio Code、IntelliJ等。
该工具的开发人员声称,他们设计Klocwork是为了弥补SAST工具的差距,使其能够在复杂的环境中运行。用户可以使用Klocwork扫描多达数百万行代码组成的大规模代码库。Klocwork使用了一些技巧来进一步减少扫描时间,比如每次只扫描更改的代码区域而不是整个程序。
Klocwork甚至还能帮助对开发人员进行安全培训。它可完全集成到负责安全和意识培训的Secure Code Warrior培训平台中。因此,Klocwork不但可以发现和修复代码中的问题,还能培训开发人员。
4.Spectral SpectralOps Platform
Check Point最近收购了Spectral,但仍在积极支持SpectralOps平台,这可能是因为其独特的SAST功能。SpectralOps可以找到开发人员在开发过程中经常硬编码到程序中的API密钥、凭据和令牌等敏感信息。通过查找这些敏感信息和错误安全配置,可以防止程序在开发过程中被恶意用户未授权访问,对于已经部署的应用程序也是如此。
SpectralOps在软件开发生命周期的每一个步骤都会不断扫描,使用人工智能技术跟踪超过2,000个检测引擎。SpectralOps采用其他测试方法来确保发现可疑情况时不会产生误报。之后,它可以通过各种通信平台向Slack报告其发现、发布JIRA工单或提醒开发人员。
5.Veracode Static Analysis SAST
Veracode静态分析SAST平台是一种云服务,这避免了在本地环境中维护SAST应用程序的复杂性。Veracode采用即时学习原则,可以将易受攻击的代码标记为开发人员正在编写代码。修复代码后,工具可以生成报告,企业可以根据这些报告来表彰那些安全意识较好的开发人员,并通过积极的强化来激励他们。
除了集成到主流IDE之外,Veracode还注重速度。可以自动扫描程序或应用程序的每个组件,平均扫描时间仅为90秒。而且Veracode平台还能细致地跟踪测试工作,并在在线门户中整理报告。即使在高度复杂或繁忙的开发环境中,这也使得通过审计更容易。
4个顶级DAST工具
1.Acunetix DAST
Acunetix DAST平台使用DAST和IAST(交互式应用程序安全测试,将扫描和测试代码嵌入到编译程序中)在已完成的代码、网站设计、应用程序等中查找7000多个漏洞。通过IAST模块,Acunetix可以在程序正在运行时启动其扫描,这可能比查看静态应用程序时发现更多的漏洞。与SAST相比,IAST还需要进一步减少误报。
该平台的代码是用C++编写的,因此速度更快。而且,由于平台在扫描尚未过半就能输出最多90%的结果,因此实际速度给人的感觉更快。用户可以将Acunetix平台设置为运行一次或设置时间表自动重复测试。而且由于该平台非常精简,它甚至可以同时扫描多个环境而不会减慢速度。
2.Micro Focus Fortify WebInspect
Micro Focus Fortify WebInspect平台可本地安装、作为服务或在混合环境中组合使用。虽然它作为一个独立的DAST工具工作,但它可集成到CI/CD管道中,供通常仅使用SAST工具的开发人员使用(启用仅查找最关键漏洞的扫描)。因此,开发人员不会错过严重漏洞的警报,并且可以在部署之前很早就及时修复漏洞。该工具还可以扫描代码是否符合各种行业和政府框架,例如NIST 800-53、PCI DSS、OWASP或HIPAA。
一旦发现漏洞,该平台将通过图形界面和分步说明来报告问题并给出修复建议。
3.Synopsys Managed DAST
顾名思义,Synopsys Managed DAST平台可作为托管服务使用。除了无需在内部维护和管理平台这一优点外,另一个关键优势是Synopsys可在需要时提供专家帮助。如果DAST扫描发现开发团队不知道如何解决的问题,用户可以向Synopsys的专家寻求帮助。
除了发现困扰大多数程序(如SQL注入、跨站点脚本和其他安全错误配置)的常见漏洞外,Synopsys DAST还提供手动扫描模式,可以查找和发现更复杂的问题。它可以发现与身份验证和会话管理错误、访问控制问题、信息泄漏和其他在典型扫描中难以发现的漏洞。
4.Tenable.io Web App Scanning
Tenable是一个老牌网络安全厂商,为政府和企业提供强大的基于云的漏洞管理平台。Tenable Web App Scanning应用程序是该平台的一部分,同时也提供功能强大的DAST工具。
Tenable Web应用扫描工具仅适用于Web应用程序,可执行深度扫描。扫描范围涵盖HTML5和标准HTML以及AJAX。该应用程序的界面很简洁,没有专业应用程序安全专家的团队也可以使用。设置自动化很容易,用户可以精确配置需要扫描哪些代码。例如,你可以将Web App Scanner设置为仅扫描应用程序的某些局部,这种情况在政府客户项目中很常见。
用户还可以单独使用Web App Scanner,或者将其集成到Tenable的任何其他网络安全解决方案中,所有这些解决方案都共享一个相似的界面,以便于部署。
声明:本文来自GoUpSec,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。