Fortify WebInspect

Automation

WebInspect automation workflows

WebInspect automation workflows use build automation tools to manage the dynamic scanning ecosystem, including QA testing and cloud deployments. 

Dynamic analysis (DAST), combined with static analysis (SAST), provides more thorough coverage, but automating dynamic is more complex. You can either build your own tech stack, or borrow a framework. This guide helps you accelerate your automation by using existing test automation scripts/frameworks that other enterprises have already created as part of their DevOps practices.

具有 Custodela 的即取即用 AppSec

将 WebInspect 自动化到现有的 DevOps 系统和流程中,可以同时大规模地运行安全测试。

观看来自 Custodela 的 Ken McDonald 提出的一种 AppSec 即取即用方法,可用于自动化 WebInspect:

动态应用程序安全测试业务流程 (DASTO)

目标使用 GitHub 中的 WebBreaker 工具解析动态应用程序安全测试业务流程 (DASTO)。该开源项目使用 WebInspect 提供更好的敏捷性和灵活性,以交付经优化的 SDLC 渠道、Git 工作流集成。

  1. WebBreaker 主页
  2. GitHub 上的 WebBreaker
  3. WebInspect Python API 库
  4. Fortify SSC Python API 库
WebInspect 自动化的 Maven 插件

Maven 插件是由 Ruud Senden 使用 Fortify for WebInspect 和 WebInspect 企业版开发的,它使用户能够自动构建应用程序、部署测试实例和运行集成测试。将以下场景集成至 CI/CD 渠道:

  1. 实例化 WebInspect 代理
  2. 通过此代理从集成测试路由流量
  3. 将此代理流量保存为工作流宏(并关闭代理)
  4. 基于此工作流宏配置新的扫描 在 WebInspect 或 WebInspect 企业版上运行此扫描
WebInspect Automation – General workflow
WebInspect 自动化 – 通用工作流

自动化工作流使用构建自动化工具,通过以下步骤管理扫描生态系统:

  1. 安全团队将安全扫描步骤设置为“安全任务”,通过构建自动化工具在构建之后和应用程序部署之后调用。
  2. 开发团队将代码变更提交到构建自动化工具,在设置的运营时间段后,待构建和应用部署完成,即会触发安全任务。
  3. 完成安全任务后,自动化工具将根据安全团队定义的安全风险进行设置,通过或失败构建作业。
  4. 安全漏洞扫描结果可在 Fortify Software Security Center (SSC) 中捕获,还可根据需要通过 SSC 的集成将其移动至缺陷存储库。

基本安全任务 - WebInspect

Head ?
第 1 步
检查 WebInspect 传感器运行状况,确保扫描仪可用于计划扫描。
face to face
第 2 步
调用 WebInspect REST API 或命令行以启动扫描。该过程包括传递必要的 URL、设置文件和登录信息。1. WI API 参考:http://hostname:port/webinspect/swagger/ui/index#/
Certificate 1
步骤 3
轮询传感器,检查扫描状态,在扫描完成后触发下一步骤。
Thumb up
步骤 4
扫描完成后,将扫描结果作为 FPR 导出至包含 Fortify 客户端的服务器,随后通过 Fortify 客户端上传至 SSC。1. Fortify 客户端文档可在 Fortify 软件安全中心 (SSC) 安装和配置指南中找到。
基本安全任务 - WebInspect 企业版

这是简化任务,因为 WIE 可管理规划和轮询,以识别传感器可用性。WebInspect 企业版还会将结果自动发布至 Fortify 软件安全中心。

  1. 调用 WebInspect 企业版服务器 API,以使用 URL 和设置文件/模板信息规划扫描。
Proxy and QA Automation
代理和 QA 自动化

自动化可以利用 QA 功能测试期间生成的工件,例如使用 Selenium 脚本以实现自动化 WI/WIE 扫描。该方法的优势在于:

  1. 功能测试通常涉及一系列具有与之关联的业务逻辑的操作,而无法通过盲目的 WebInspect 自动爬网进行建模。
  2. 可以利用功能测试期间使用的登录序列,而不是创建单独的 WebInspect 登录宏。包括配置设置以从 WI 爬网或审核中排除登录页面,以及在安全扫描期间不会发生注销。

QA 安全任务 - WebInspect

将这些步骤添加至基本安全任务 - WebInspect:

Screen gear
第 1 步 - WebInspect
通过 REST API 加快 WI 代理并重放捕获的 QA 工件以生成流量文件。流量文件随后将保存为 WebMacro。
Screen code
第 2 步 - WebInspect
使用命令行/REST API 修改默认设置文件。该设置文件已被从第 1 步的流量文件保存的工作流宏覆盖。

QA 安全任务 - WebInspect 企业版

WebInspect 需要同样的附加步骤。

News 1
第 1 步 - WebInspect 企业版
没有 WI 桌面访问权限的客户如需启动代理,可在市场内下载免许可证的代理实例。
Doc find
第 2 步 - WebInspect 企业版
创建设置文件后,为 WIE 初始化扫描的进程需要执行附加步骤。用户应参考 WIE REST 创建扫描指南 APR 2017。
Automation in the Cloud
云中的自动化

另一个用例是通过为 WI 和 WIE 部署传感器来在云中实现自动化,并围绕流程中的应用程序安全测试规模动态地扩展传感器安装。

  1. 安全团队访问扫描请求渠道并确定是否扩展/取消扩展 N 传感器。基于此请求分配许可证。
  2. 安全团队使用通用工作流中描述的通用工作流,然后循环重复第 1 步和第 2 步。

云安全任务 - 针对 WebInspect 传感器扩展

Cloud secure
第 1 步
WebInspect 安装 MSI 存储在云存储,可随时用于部署。[调用位置:cloud_memory]
face to face
第 2 步
安全团队调用云 API 创建一个 Windows 实例,并使用实例的命令行 (C_Instance) 从 cloud_memory 位置执行 WebInspect 传感器 Headless 安装。
Consolidate
步骤 3
在实例上部署必要的设置和宏文件
Thumb up
步骤 4
在此实例中使用 WebInspect 的 REST API 在命令行 (C_Instance) 中触发了扫描。扫描完成后,将扫描结果作为 FPR 导出至包含 Fortify 客户端的服务器,随后通过 Fortify 客户端上传至 SSC。

云安全任务 - 针对 WebInspect 企业版传感器扩展

Cloud gear
第 1 步
需要执行其他步骤以连接和配置传感器,连接到 WIE 服务器管理层,并分配必要的权限以访问传感器。WebInspect 安装 MSI 存储在云存储,可随时用于部署。
Screen gear
第 2 步
安全团队调用云 API 创建一个 Windows 实例,并使用实例的命令行 (C_Instance) 从本地执行 WIE 传感器 Headless 安装。
Screen code
步骤 3
试用命令行 C_Instance 后,该传感器配置为连接至 WIE 管理服务器。调用 WIE 服务器管理层的 REST API,为 WIE 传感器提供权限和安全群组访问权限。
Time forward
步骤 4
WIE 传感器安装完成后,调用 WIE 服务器 API 以使用 URL 和设置文件/模板信息规划扫描。扫描完成后,扫描结果将自动同步至 SSC。
免责声明

此信息是社区工作的一部分,用于共享自动化方法。该信息仅作为指导提供,并非对任何特定解决方案的认可。此页面中可能没有 Fortify QA 和支持内容。

release-rel-2018-10-1-1171 | Wed Oct 10 04:40:28 PDT 2018
1171
release/rel-2018-10-1-1171
Wed Oct 10 04:40:28 PDT 2018