译者 | 刘涛,审校 | 重楼,在当今快速发展的网络环境中,维护Web应用程序的安全更加必要。由于漏洞的出现速度比以往任何时候都要快,将动态应用程序安全测试(DAST)集成到持续集成/持续部署(CI/CD)管道中成为改变游戏规则的因素,帮助您在早期阶段即考虑安全因素,尽早发现和解决安全漏洞,而不是等到它们严重影响用户后再采取措施。,本文解释了将 DAST集成到 CI/CD管道中的重要性和好处,探索了这种方法如何能够显著提升应用程序的安全性、降低成本并加快上市时间。,我们还将指导您选择正确的 DAST工具和策略的过程,以嵌入到您的管道中,并提供一个集成到 Jenkins的实用教程。,动态应用程序安全测试(DAST)是一种安全测试方法,它在运行时分析应用程序以识别潜在的漏洞和安全风险。这与静态应用程序安全测试(SAST)不同,后者仅仅检查应用程序的源代码而不去执行它。,DAST的主要目标是从攻击者的角度模拟对 Web应用程序和 API的攻击。这种方法帮助 DAST发现诸如 SQL注入、 XSS和不安全的文件上传等漏洞(要了解更多有关这些漏洞的信息,请参阅相关的 OWASP备忘录)。在开发过程的早期识别这些威胁,可以使组织在它们发展成为严重的问题之前修复它们。,将 DAST集成到您的 CI/CD管道中有很多好处,如提高安全性、节约成本、加快市场推广速度等。,DAST工具旨在通过模拟真实世界的攻击来识别 Web应用程序中的漏洞。通过将这些工具集成到您的 CI/CD管道中,您可以确保每个组件在投入生产之前能够自动测试潜在的安全性问题。这种积极主动的方法有助于及早发现潜在的漏洞,允许在对应用程序或组织构成威胁之前解决这些漏洞。,与手工测试和部署之后在进行测试相比,在开发过程中使用 DAST可以使开发人员更快地找到和修复安全漏洞。通过将自动扫描作为 CI/CD过程的一部分,开发人员可以立即获取其代码更改对应用程序安全性影响的反馈。这样,他们就可以快速地解决任何被识别出的问题,而不会推迟发布计划,也不会降低质量。,提高协作能力:自动 DAST扫描提供有关检测到的漏洞及修复建议的详细报告。这些见解可以促进开发团队和安全专家之间更好地沟通,避免可能造成软件交付延迟的误解。,更少的错误标记(false positive):一些高级的 DAST解决方案使用机器学习算法来最小化扫描的错误标记结果。这可以确保开发人员花费时间来解决真正的安全问题,而不是寻找错误警报。,将 DAST集成到 CI/CD管道中,可以为您的组织节省大量成本。通过在开发过程的早期识别和修复漏洞,可以减少代价高昂的数据损毁可能性。此外,自动化安全测试降低了与传统安全测试方法相关的人工成本。,DAST降低成本的其他措施包括:,降低修复费用:在开发期间修补漏洞的费用远远低于在开发之后修补的费用。通过自动 DAST扫描,及早发现问题,可以让企业避免花费昂贵的后期补丁,并避免可能出现的停机情况。,减少监管罚金:在整个开发流程中保证应用程序的安全有助于组织遵循诸如 GDPR, HIPAA和PCI-DSS等行业法规。违规可能会导致巨额罚款和名誉受损;在 CI/CD管道上集成 DAST可以通过不断地监控潜在的违规行为来降低这些风险。,寻找能提供与CI/CD管道整合的工具。选择一个 DAST工具,它要符合应用程序栈、技术选择以及开发方式。确保它既支持在用的Web应用程序框架,也支持像容器、API以及微服务这样的现代范式。,为了最大限度地利用 DAST集成的好处,可以在开发过程的早期就开始合并它,例如在代码审查或开发新功能的时候。通过尽早开始,开发人员可以立即解决安全漏洞,而不是将修复推迟到测试的后期。,基线扫描是使用一组预定义的规则或策略对应用程序的安全性进行的初步评估。使用所选的 DAST工具创建基线扫描,设置一个起始点,用于测量随时间变化的改进效果。基于对应用程序代码库或者基础设施配置的变更,定期更新这个基线扫描。,可以安排定期扫描,也可以安排在 CI/CD管道的关键阶段扫描。这些扫描中发现的任何问题都应该反馈到开发和测试阶段,允许开发人员和测试人员立即加以解决:,DAST工具通常会生成大量数据。必须根据这些结果的严重性、可利用性和潜在影响,对其进行分析和排序。使用风险评分系统,如 CVSS (常见的漏洞评分系统),根据其威胁等级对已识别的漏洞进行排名。这样可以帮助团队集中精力在首先解决优先级高的问题上。,在开发人员和安全团队之间建立反馈循环,以持续改进代码质量和安全状态。通过显示 DAST结果的共享仪表板或将警报集成到 Slack或 Microsoft Team等通信平台上来鼓励协作。,为了快速修复已识别的漏洞,需要确保DAST工具为开发人员提供操作指南,并为他们提供解决每个问题的明确步骤。这样他们自己就能够有效地解决问题,而不需要额外的安全专家。,本教程将指导您完成将动态应用程序安全测试(DAST)集成到 Jenkins(一款开源的CI/CD工具)CI/CD管道中的步骤。这样您就可以在构建和部署阶段自动扫描应用程序的安全漏洞。,首先,选择一个适合您需求的 DAST工具。在本教程中,我们将使用OWASP Zed Attack Proxy,一个开放源码的 Web应用程序扫描器。从官方网站下载并安装 ZAP。,如果您还没有建立 Jenkins环境,请参考官方的 Jenkins安装指南。成功设置 Jenkins后,登录到您的账户,进入“Manage Jenkins”下的“Manage Plugins”。在可用插件列表中搜索“OWASP ZAP”并安装它。,在这一步中,需要修改Jenkins文件或管道脚本,将 ZAP集成到组件过程中。下面是一个简单的 Jenkins文件示例,其中包括运行 ZAP:,将” http://your-web-application-url”替换为指向 Web应用程序的链接,将”YOUR_ZAP_API_KEY”替换为从 OWASP Zed Attack Proxy (ZAP)获得的 API密钥。,配置完所有参数后,保存更改并单击“立即构建”启动新组件。您应该看到两个阶段运行中—一个用于构建应用程序,另一个用于使用 OWASP Zed Attack Proxy (ZAP)运行 DAST。,完成后,在左侧菜单的“生成历史记录”下转到“控制台输出”。检查在扫描期间是否检测到任何安全漏洞。,将 DAST工具集成到 DevOps流程中,对于维护安全和确保在开发周期的早期阶段发现漏洞至关重要。通过实施DAST,您可以在潜在威胁升级为重大安全问题之前识别它们,最终节省时间和资源。,通过将 DAST工具集成到您的 CI/CD管道中,您可以在开发过程的早期检测漏洞,节省时间和资源,并防止以后出现重大问题。它确保应用程序在部署到生产环境之前是安全的。最后,它将帮助您遵守安全法规和标准。,在实施DAST工具时,需要考虑几个因素。首先,选择与您的开发环境和编程语言兼容的DAST工具。其次,确保该工具可以集成到您的管道中,而不会造成延迟或中断。最后,建立清晰的流程来分析和处理DAST识别出的漏洞,以确保被发现的问题能够被组织中的开发人员和测试人员及时修正。,刘涛,51CTO社区编辑,某大型央企系统上线检测管控负责人。,原文链接:https://hackernoon.com/integrating-dast-into-your-cicd-pipeline-benefits-and-implementation
文章版权声明
1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/27278.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别