白盒、黑盒、SAST、DAST傻傻分不清?

举报
gentle_zhou 发表于 2023/03/26 00:02:17 2023/03/26
【摘要】 白盒测试、黑盒测试、静态应用程序安全测试(SAST) 和 动态应用程序安全测试(DAST)是软件测试和安全领域中常见的术语。

白盒测试、黑盒测试、静态应用程序安全测试(SAST) 和 动态应用程序安全测试(DAST)是软件测试和安全领域中常见的术语。很多小伙伴分不清这四者到底有啥区别和关联,本文将做个简单的解释与区分。

白盒测试

白盒测试也称为结构测试,目的是检查代码的内部结构,包括控制流程、算法和数据处理。白盒测试对开发人员和QA测试人员来说是一种重要的测试方法,因为它可以发现源码中的漏洞和缺陷。白盒测试的优势在于可以全面而深入地检查代码的内部结构,包括有意或无意的缺陷。

黑盒测试

黑盒测试也称为功能测试,是一种基于需求规范的测试方法,和白盒测试不同的是,它不需要知道软件系统内部的工作原理或代码逻辑。黑盒测试重点关注系统的输入和输出,以验证系统是否符合需求规范。黑盒测试的优势在于可以覆盖系统的各个方面,并且可以在不了解系统内部的情况下对其进行测试。

静态应用程序安全测试(SAST)

静态应用程序安全测试(SAST)在软件开发生命周期的早期进行,使用一组自动化工具来检查源代码并查找软件中的潜在安全漏洞和许多类型的安全问题。SAST的优势在于可以帮助发现并解决软件安全问题,缩短开发的时间周期。

和白盒测试的关系

SAST通常会被认为是一种白盒测试,它们都可以在代码级别上分析和检测应用程序的安全性。

动态应用程序安全测试(DAST)

是一种在应用程序运行时进行测试的方法,它可以模拟攻击者的攻击行为,以确定应用程序中的潜在安全漏洞。它可以模拟一系列攻击行为,如SQL注入、跨站点脚本攻击和DOS攻击等,以检测应用程序中的漏洞。

和黑盒测试的关系

DAST通常会被认为是一种黑盒测试方法,它们都模拟了攻击者的行为来测试应用程序的安全性。

SAST和DAST的区别

两者有以下不同点:
1、SAST评估应用程序的源代码、字节码或二进制文件以查找安全漏洞;DAST评估运行时应用程序的交互式行为,对应用程序进行模拟攻击来找到弱点。
2、SAST依赖于代码或字节码而不是产品运行实例,通常可以更快地检测到所有缺陷类型;DAST则测试起来更真实,因为它评估应用程序的运行实例。
3、SAST一般在前期开发阶段被提供;DAST更注重模拟客户和攻击者的视角,一般在在应用程序部署后进行。

参考链接

1、 https://www.synopsys.com/blogs/software-security/sast-vs-dast-difference/

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。