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

鉴于大约三分之一的已知漏洞是一次成功的 Web 应用程序攻击的直接结果,因此测试您的 Web 应用程序和 API 的安全性至关重要。

出于监管原因,您不仅需要确保您的 Web 应用程序是安全的,而且您(应该)还关心您客户的数据和您公司面临的风险。

在保护您的 Web 应用程序时,您当然有很多选择,所有这些都各有利弊。 一些解决方案依赖于识别应用程序源代码中的安全问题。 其他保护您的应用程序免受攻击。 而其他人依赖于在运行时动态测试您的 Web 应用程序的安全性,就像黑客所做的那样。

本文的重点是后一种情况,即 大概. 与其他软件相比,Probely 的有趣之处在于它解决了 Web 漏洞扫描器的两个主要问题:现代 Web 应用程序的扫描覆盖范围和结果质量。

Probely 有两个不同的版本:一个针对 SMB 的自助服务版本,另一个针对拥有许多 Web 应用程序和 API 的企业或公司。

Probely 专注于在现代开发环境中提供出色的覆盖范围,并通过基于证据的扫描结果消除误报,同时允许您将 DAST 扫描集成到您的开发生命周期中。

难以置信?

继续阅读以了解我对 Probely 的分析。

Probely 到底是做什么的?

Probely 考虑到开发人员和每个企业规模,测试您的应用程序和 API,扫描它们以发现安全问题和漏洞。 测试完成后,它会提供有关如何解决所发现问题的指导。

您的开发人员和安全工程师可以通过其直观的用户界面使用 Probely。 但如果您需要强大的功能和灵活性,您可以依赖他们的全功能 API,因为他们遵循 API 优先的开发方法。 他们的 API 提供您在用户界面上看到的所有功能,允许您将 Probely 集成到 CI/CD 管道、漏洞管理工具、编排器或问题跟踪器中。 如果你使用流行的,你可能有一个开箱即用的集成。 JIRA、Jenkins、Azure DevOps、DefectDojo、CircleCI 和 Slack 等工具就是这种情况。 但是,如果您开发了自己的问题跟踪器或编排器,那么 API 就是您的不二之选。

覆盖范围、抓取和准确性

Probely 使用下一代蜘蛛以与普通浏览器相同的方式导航丰富的 Javascripts 应用程序,从而实现出色的站点覆盖,这是许多其他 DAST 工具面临的问题。 此蜘蛛非常适合单页应用程序,例如基于 React 或 Angular JS 的应用程序。

  如何找到网站的真实IP(原始)地址?

请记住,扫描仪只能识别已找到的页面中的漏洞。 因此一只好的蜘蛛是最重要的。

Probely 还提供不同的扫描配置文件,具体取决于您要测试的环境。 如果您想扫描您的生产环境,您可以设置侵入性较小的扫描配置文件。 如果您正在测试 QA 环境,您可以为更完整的扫描设置更全面的配置文件。 通过测试预生产环境,您可以在将应用程序部署到生产环境之前识别并修复漏洞。

报告

尽管 Probely 检测到大量漏洞,但它侧重于报告相关内容且没有误报。 对于某些类别的漏洞,它提供漏洞真实存在的证据,从而节省您的团队验证漏洞是否真实且相关的时间。

Probely 从界面提供广泛的报告,但它也可以将漏洞信息与问题跟踪器或漏洞管理工具同步,使您能够将 Probely 融入您现有的安全和开发工作流程。

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

摘自 OWASP TOP 10 报告,您将一目了然地了解此合规性的问题所在。

界面

界面简单且易于导航,让您可以快速启动和运行。 企业版允许您控制用户、角色和设置自定义角色。 您还可以使用标签来组织用户、资产和漏洞,以更好地管理您的 Web 应用程序安全性。 由于所有功能都可通过 API 使用,因此您可以轻松地将 Probely 集成到您的其他企业安全应用程序和流程中。

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

开始🚀

出于测试目的,我使用的是 Probely 的企业版。

他们还提供标准版和不同的计划供您选择,包括免费计划。 在免费计划中,扫描仅测试三类漏洞:cookie 标志、安全标头和 SSL/TLS 问题。 Pro 计划提供大部分功能,并侧重于具有五个或更少目标扫描的 SMB 和组织。

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

添加目标

添加目标很容易。 使用您的帐户登录后,您需要导航到“目标”页面并单击“添加”。 然后为新目标提供一个名称、一个 URL 和一个或多个标签——即测试、生产、开发等。 要让 Probely 在没有支持的 Web 应用程序的情况下将此目标扫描为独立的 API,您应该选中相应的选项以将其识别为 API 目标。

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

  如何打开 Microsoft Outlook 暗模式

添加目标后,您需要验证其所有权,因为 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 位漏洞。

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

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

对于敏捷开发团队来说,上市时间是重中之重。 在不影响质量的情况下,您可以采取任何措施来最大程度地减少软件投入生产所需的时间。 Probely 提供的正是这一点——一种提高网站和 API 安全性的经济高效方式,可帮助您信守与日程相关的承诺并交付高质量的软件产品。

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

  如何将文件上传到 Microsoft Teams

Probely 提供免费试用、企业评估许可证和产品演示。 接触 大概 开始。