使用 Probely DAST Scanner 保护 API 和 Web 应用程序

网络应用程序和API安全:Probely动态安全测试

鉴于大约三分之一的已知安全漏洞直接源于成功的网络应用程序攻击,对您的网络应用程序和API进行安全测试至关重要。这不仅出于监管合规的要求,更重要的是保护客户数据和降低企业风险的需要。

在保护您的网络应用程序方面,有多种方法可供选择,每种方法都有其优缺点。一些方案侧重于识别应用程序源代码中的安全问题,另一些则旨在保护应用程序免受攻击,还有一些则侧重于动态测试应用程序的安全性,模拟黑客的攻击行为。

本文重点介绍最后一种方法,特别是使用Probely工具。Probely的独特之处在于它有效地解决了网络漏洞扫描器的两大难题:现代网络应用程序的扫描覆盖率和结果的准确性。相比其他软件,Probely在这两方面表现出色。

Probely提供两种版本:一种是针对中小型企业(SMB)的自助服务版本,另一种是面向拥有大量网络应用程序和API的大型企业。

Probely专注于为现代开发环境提供卓越的覆盖范围。它通过提供基于证据的扫描结果来减少误报,同时允许您将动态应用程序安全测试(DAST)集成到您的开发生命周期中。

这听起来难以置信吗?请继续阅读,了解我对Probely的详细分析。

Probely 的核心功能

Probely旨在为各种规模的企业和开发人员提供支持,对您的应用程序和API进行安全测试,扫描潜在的安全问题和漏洞。在测试完成后,它会提供修复这些问题的详细指南。

Probely提供了一个直观的用户界面,方便开发人员和安全工程师使用。此外,它还提供了功能全面的API,遵循API优先的开发方法,这意味着您在用户界面上看到的所有功能都可以通过API访问。您可以使用API将Probely集成到持续集成/持续交付(CI/CD)管道、漏洞管理工具、编排器或问题跟踪器中。如果您使用流行的工具(如JIRA、Jenkins、Azure DevOps、DefectDojo、CircleCI和Slack),您很可能可以直接使用预构建的集成。如果您使用自研的问题跟踪器或编排器,API是您的理想选择。

覆盖范围、抓取和准确性

Probely采用了下一代网络爬虫技术,以类似于普通浏览器的方式浏览复杂的JavaScript应用程序,从而实现了出色的站点覆盖率。这对其他DAST工具来说是一个挑战,而Probely在这方面做得非常好。这种爬虫技术特别适用于单页应用程序,例如使用React或Angular JS构建的应用程序。

重要的是,扫描器只能发现它所访问的页面中的漏洞,因此高效的爬虫技术至关重要。

Probely还提供不同的扫描配置,以便根据您要测试的环境进行调整。您可以为生产环境设置较少的侵入性扫描,也可以为QA环境设置更彻底的扫描。通过测试预生产环境,您可以在将应用程序部署到生产环境之前识别并修复漏洞。

报告

尽管Probely能够检测到大量的漏洞,但它更注重提供相关且没有误报的报告。对于某些类型的漏洞,它会提供漏洞真实存在的证据,从而节省您的团队验证漏洞真实性和相关性的时间。

Probely不仅在界面上提供全面的报告,还可以将漏洞信息同步到问题跟踪器或漏洞管理工具中,从而使您可以将Probely融入到现有的安全和开发工作流程中。

Probely可以针对OWASP TOP 10中列出的漏洞和其他漏洞进行测试。它还可以通过检查PCI-DSS、GDPR、HIPAA和ISO270-01等特定要求来帮助您实现合规性。

通过OWASP TOP 10 报告,您可以清晰地了解合规性方面的问题。

用户界面

Probely的用户界面简洁直观,易于上手。企业版允许您管理用户、角色和设置自定义角色。您还可以使用标签来组织用户、资产和漏洞,以便更好地管理您的网络应用程序安全性。由于所有功能都可以通过API访问,您可以轻松地将Probely集成到其他企业安全应用程序和流程中。

如果您使用Jira或Azure Boards,您可以将Probely配置为自动将所有漏洞发送到您的跟踪器。当开发人员修复并关闭问题跟踪器上的问题时,Probely会自动重新测试,检查漏洞是否已正确修复。如果未修复,问题将在问题跟踪器上重新打开。这使您的开发团队可以直接在问题跟踪器上处理漏洞报告,就像处理其他错误一样,无需使用Probely的界面。这非常方便。

开始使用

为了测试目的,我使用了Probely的企业版。

Probely还提供标准版和多种计划供您选择,包括免费计划。在免费计划中,扫描仅测试三种类型的漏洞:cookie标志、安全标头和SSL/TLS问题。Pro计划提供了大部分功能,适用于拥有五个或更少目标扫描的中小企业和组织。

企业版专注于拥有大量目标的组织,并包含企业软件中常见的附加功能:用户、组、角色和权限。它还允许您通过安装提供的代理来扫描内部目标(在您的专用网络上)。

添加目标

添加目标非常简单。登录您的帐户后,您需要导航到“目标”页面并单击“添加”。然后为新目标提供一个名称、一个URL和一个或多个标签(例如,测试、生产、开发等)。如果您的目标是一个独立的API,您应选择相应的选项以将其识别为API目标。

如果您的目标未暴露在互联网上,并且您在私有网络上安装了Probely代理,则您可以在添加目标时选择要使用的代理。

添加目标后,您需要验证其所有权,因为Probely需要证据证明您拥有运行扫描的必要权限。您有两种验证方法:在目标的根目录中加载包含所提供内容的文件,或将TXT条目添加到您的DNS记录中,其中包含域名和一些特定的记录内容。验证目标后,您可以通过点击扫描按钮进行扫描。

您可以导航到Probely仪表板上的“扫描”选项卡来查看扫描进度和状态。此页面会显示扫描开始的时间以及到目前为止发现的内容。调查结果会根据严重程度进行着色,以便您可以快速识别需要立即解决的关键问题。

如果您的网站有一个登录页面,并且您希望Probely在其后面进行扫描,您必须提供允许它作为经过身份验证的用户抓取网站的凭据。Probely支持大多数登录页面的身份验证方法。

扫描 API

要扫描API目标,Probely需要您提供其架构。您可以在添加API目标时提供OpenAPI架构URL或上传架构文件。 URL选项可确保Probely在每次扫描前获取架构,始终使用最新版本。

在API访问的身份验证方法方面,也有不同的选择。Probely不仅支持静态令牌,还支持在扫描API时进行动态身份验证配置。您可以配置一个登录端点,Probely可以在其中获取身份验证令牌,或者您可以设置一个带有固定API密钥的自定义标头。您还可以提供自定义参数值,Probely会将其用于架构中的参数。

完成API身份验证和参数配置后,您可以使用“立即扫描”按钮开始扫描。几秒钟后,您可以在同一扫描页面上跟踪扫描进度。扫描结束时,您可以下载覆盖率报告,其中显示所有找到的端点和每个响应代码。该报告还会显示是否存在失败的端点。

检查您的发现

“发现”页面会在扫描结果发现后立即显示结果,即使扫描正在进行中也是如此。每个发现都显示严重程度(高、中或低)、相应的目标和URL、发现描述、发现时间和日期、其状态(已修复或未修复)和受让人,以及它是否影响PCI- DSS或OWASP合规性。

除了提供检测到的漏洞信息外,“发现”页面还可以帮助您将漏洞分配给团队进行修复。为此,您只需单击左侧的复选框并从下拉菜单中选择受让人。

Probely还提供有关如何修复已发现漏洞的信息。除了这些说明外,您还可以查看完整的请求和响应以及证据。

在仪表板页面上,您可以看到各种图表,总结扫描目标的安全风险。这些图表显示了不同指标(如风险评分、解决问题的平均时间和严重程度)的趋势。您还可以浏览最需要关注的站点和发生率最高的前5个漏洞。

最后,在“集成”页面上,您可以将Probely配置为与许多不同的工具集成,以管理项目、团队沟通、问题跟踪等。可用的集成包括Azure Boards、DefectDojo、Slack、Jira、Jenkins和CircleCI。

开发人员和安全团队的工具

对于敏捷开发团队来说,上市时间至关重要。在不影响质量的前提下,任何能够减少软件投入生产所需时间的措施都是有益的。Probely正是提供了这样的解决方案——一种提高网站和API安全性的高效方法,可以帮助您按时交付高质量的软件产品。

对于安全团队,Probely提供了一个保护网络应用程序并管理需要修复的漏洞的平台。它还允许您在保持监督角色的同时,将一些安全测试直接委托给开发团队。

Probely提供免费试用、企业评估许可证和产品演示。请联系Probely开始使用。