DAST 是 Dynamic Application Security Testing 的缩写,也即动态应用程序安全测试,属于应用程序安全测试的一种,与 SAST 相对应,属于黑盒测试。

DAST 的优势

  • 与语言无关

  • 快速发现那些容易被利用的漏洞(XSS,SQL Injection 等)

  • 无需访问源代码

DAST 的劣势

  • 无法将安全漏洞精确到代码行数

  • 需要花费较长的时间

  • 报告需要有一些安全专业知识来解读

极狐GitLab DAST 的使用

Gartner 4 月下旬发布了 2022 年 AST 魔力象限,GitLab 位于挑战者象限:

极狐GitLab 在功能上大于或等于 GitLab,DAST 也是极狐GitLab DevSecOps 安全体系中重要的安全功能之一,能够帮助用户构建动态安全防御体系。而且随着版本的更新迭代,功能在不断增强。

极狐GitLab DAST 既可以当做独立的工具来进行应用程序动态扫描,也可以嵌入到 CI/CD Pipeline 中,帮助用户实现真正的 DevSecOps。

单独使用

可以将极狐GitLab 视为一个单独的 DAST 工具,来对处于运行状态的应用程序进行动态扫描。比如用如下命令启动一个 jenkins 实例:

$ docker run -d -p 8088:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11

用 http://jenkins.example.com:8088 登陆 jenkins 并确认实例运行正常之后,就可以用极狐GitLab 单独对此 jenkins 实例进行动态扫描。

在极狐GitLab 上新建一个 Repo,并添加如下内容到 .gitlab-ci.yml 文件中:

include:- template: DAST.gitlab-ci.ymlstages:  - testdast:   stage: testvariables:DAST_WEBSITE: "http://jenkins.example.com:8088"DAST_FULL_SCAN_ENABLED: "true"DAST_BROWSER_SCAN: "true"DAST_SKIP_TARGET_CHECK: "true"

可以触发 CI/CD Pipeline 进行构建,并查看结果(太长,只截取部分):

如果是旗舰版用户还可以在安全与合规中看到完整的漏洞报告(安全与合规 --> 漏洞报告):

和 CI/CD 结合

DAST 是实现 DevSecOps 的一个重要安全测试手段,将 DAST 嵌入到 CI/CD 中,能够实现真正的“安全自动化”。DAST 属于动态测试手段,需要放置在应用程序部署成功以后:

在极狐GitLab CI/CD 中的 job 顺序是:

stages:- build- test- deploy- dast

下面使用一个托管在极狐GitLab SaaS 上的 Demo 来演示 DAST 在极狐GitLab CI/CD 中的用法。

极狐GitLab CI/CD 代码如下:

stages:          - build- test- deploy- dastbuild:image: docker:20.10.7-dindstage: buildtags:- devsecopsscript:- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY- docker build -t $CI_REGISTRY_IMAGE:1.0.0 .- docker push $CI_REGISTRY_IMAGE:1.0.0test:stage: testtags:- devsecopsimage:name: docker:20.10.7-dindscript:- echo "go test"deploy:image: docker:20.10.7-dindtags:- devsecopsstage: deployscript:- docker run -d -p 9998:9998 $CI_REGISTRY_IMAGE:1.0.0include:- template: DAST.gitlab-ci.ymldast:   stage: dastvariables:DAST_WEBSITE: "http://your.application.real.url"DAST_FULL_SCAN_ENABLED: "true"DAST_BROWSER_SCAN: "true"DAST_SKIP_TARGET_CHECK: "true"

触发 CI/CD Pipeline 构建,查看构建结果:

如果是旗舰版用户还可以在 MR 中看到 DAST 结果:

可以看到有两个潜在扫描漏洞,这种情况下需要修复漏洞才可以进行代码 Merge,可以点击扫描出来的漏洞来创建 issue 进行安全问题追踪:

在问题修复之后会再次触发扫描的 CI/CD,在无安全问题后,即可合并代码并将对应的 issue 关闭。

对于旗舰版用户来讲,还可以在安全仪表盘中查看所有的 DAST 安全漏洞,做到安全漏洞的统一、透明展示:

DAST 需要与其他安全测试手段,诸如 SAST、密钥检测、Fuzz Testing 等一起构建完整的 DevSecOps 体系。

更多关于 DevSecOps 内容,请点击

极狐GitLab DevSecOps 之敏感信息检测

极狐GitLab DevSecOps 之镜像扫描

极狐GitLab DevSecOps 之模糊测试

极狐GitLab DevSecOps 之 SAST

极狐GitLab DevSecOps 之依赖项扫描

极狐GitLab DevSecOps 之 IaC 安全扫描

DevSecOps | 极狐GitLab 动态应用程序安全测试(DAST)使用指南相关推荐

  1. DevSecOps|极狐GitLab IaC 安全扫描,保障云原生安全

    极狐GitLab 在 14.5 中引入了基础设施即代码(Infrastructure as code,即 IaC)的安全扫描功能.主要针对 IaC 配置文件中的已知漏洞进行扫描.目前支持的配置文件类型 ...

  2. 使用 KubeSphere 和极狐GitLab 打造云原生持续交付系统

    KubeSphere 简介 Kubernetes 是一个非常复杂的容器编排平台,学习成本非常高,KubeSphere 所做的事情就是高度产品化和抽象了底层 Kubernetes,是一个面向云原生的操作 ...

  3. 极狐(GitLab)发布首款“GitNative”DevOps云一体化解决方案

    2022年1月5日,极狐(GitLab)正式宣布推出业界首款"GitNative"--"Git原生" DevOps 云一体化解决方案(以下简称"Git ...

  4. 版本更新 | 极狐 GitLab 15.2 发布飞书通知机器人、多层史诗调整至专业版、实时 Wiki 图表预览和全新设计的合并请求报告

    沿袭我们28日发布的传统,今天带来了极狐GitLab 15.2 版本,新功能包括 极狐版专享 - 飞书通知机器人,极狐版专享 - 多层史诗调整至专业版,实时 Wiki 图表预览.事件(Incident ...

  5. 极狐GitLab 和 ArgoCD 的集成实践

    极狐GitLab ArgoCD 和 GitOps 概述 ArgoCD 是一款开源且主要针对 Kubernetes 来做 GitOps 的持续交付工具.现在是 CNCF 的孵化项目.其整体架构图如下: ...

  6. 担心 GitHub?那就试试极狐GitLab 吧

    随着开源的发展,GitHub 成为了开源的"集散地",但是近些年频发的各种新闻,亦让 GitHub 成为了开源"风波亭". 段时间 SFC(software f ...

  7. 极狐GitLab:从硅谷到中国,远程办公背后的挑战与创新

    编辑 | 宋 慧 供稿 | 极狐(GitLab) 头图 | 付费下载于视觉中国 最近,海外的互联网巨头们纷纷开启了远程办公的政策,谷歌允许员工提出更换办公地点的要求或申请成为永久远程办公者,目前已经批 ...

  8. 官宣 | 极狐GitLab SaaS来了!

    GitLab点击蓝字 关注我们 虎力全开的极狐(GitLab) 如虎添翼 极狐GitLab SaaS正式上线 极狐(GitLab)正式宣布推出极狐GitLab SaaS (JihuLab.com),为 ...

  9. 极狐GitLab 15.3 | issues 中建任务、许可证合规分析,超 30 项更新全面来袭!

    沿袭我们月度发布的传统,今天带来了极狐GitLab 15.3 版本,新功能包括议题中的任务.免费的 GitOps 功能.SAML 群组链接的 API 维护.高级密码复杂度要求等. 这些只是该版本中 6 ...

最新文章

  1. 关于go语言中的JWT(JSON WEB TONKE)ECHO
  2. 在 DotNetCore 3.0 程序中使用通用协议方式启动文件关联应用
  3. SpringBoot集成Flowable_Jsite待办任务菜单报500
  4. JS正则表达式的分组匹配
  5. 虚拟机上安装Linux时出现的问题及解决方法
  6. 阿里iconfont图标的使用教程
  7. ZEMAX | 使用 Project Directory 组织 OpticStudio文件
  8. nacos注册服务地址为内网地址解决方法
  9. js中函数传参的问题
  10. 【项目实战】Python基于RFM模型和K-Means聚类算法进行航空公司客户价值分析
  11. dsolve函数的功能_MATLAB求解常微分方程:ode45函数与dsolve函数
  12. U8常用的二次开发方式
  13. 实现共享要修改哪些计算机策略,局域网共享组策略怎么设置
  14. 金戈铁马 Android NDK 实战篇:男人之间的那些事
  15. ASP计算周开始和一年有多少周及某年第一周开始日期
  16. matlab 运算符
  17. MySQL innodb引擎,事务提交 commit 异常,但数据提交成功
  18. win32编程的经典书籍
  19. 雷军:从金山“宰相”到小米“沙皇”
  20. 视频营销3-视频设备清单

热门文章

  1. 抖音取图小程序,同款抖音壁纸,表情包小程序搭建
  2. html怎么安装整合包,上古卷轴5无心10.0整合包怎么安装_上古卷轴5无心10.0整合包安装教程_飞翔教程...
  3. Android 头像上传的实现
  4. 多线程问题之火车票售票
  5. 实验08 软件设计模式及应用
  6. 百度地图根据经纬度绘制轨迹
  7. java excel 背景_Java设置Excel背景
  8. 大创小组讨论会议纪要
  9. Python基础入门9:字符串1,字符串的驻留
  10. 计算机名无法更改成中文,电脑磁盘名无法修改的两种解决方法