简单说说SAST、DAST、IAST 和 RASP

admin 2023年11月13日13:22:02评论45 views字数 2464阅读8分12秒阅读模式

    在开篇之前,先假设所有读者对软件工程、网络安全的基础知识有基本的了解,第一个章节通过概述简单描述相关内容,让大家简单明白AST、SAST、DAST、IAST 和 RASP,更要明白其中的差异化和适用场景:

 

简单说说SAST、DAST、IAST 和 RASP  

零、 测试是软件开发生命周期 (SDLC) 的重要组成部分,用于确保软件按预期运行。可以执行多种类型的测试,包括功能测试和非功能测试。功能测试用于验证软件是否满足其要求。

此类测试通过测试每个功能并确保其按预期运行来检查软件的功能。非功能测试是一种软件测试,用于评估软件应用程序的性能、可扩展性、可靠性、安全性和其他非功能方面。它确保系统满足与特定功能或特性无关的要求,而是与产品的整体质量相关的要求。安全测试是一种特殊类型的非功能测试,重点是识别系统中可能被恶意行为者利用的漏洞。这包括测试 SQL 注入和跨站点脚本 (XSS) 等内容。

安全测试是DevSecOps的关键部分,DevSecOps是一个将开发、安全和运维结合起来以提高软件整体安全性的过程。它涵盖整个系统,包括测试攻击者可能关注的所有区域。

什么是应用程序安全测试?

应用程序安全测试或 AST 是一个通过查找潜在漏洞和威胁来分析应用程序和系统安全性的过程。它旨在检测并防止潜在的安全风险,防止它们被利用(安全左移)。

AST 类别

应用程序安全测试分为三种类型:黑盒、灰盒和白盒。

一、SAST

1、什么是SAST?

    静态应用程序安全测试(SAST) 或“白盒”工具检查源代码或二进制文件并提供有关可能漏洞的反馈,用于 SDLC 的开发阶段。

2、SAST的优势包括:

        ·修复漏洞成本较低

        ·快速高效分析代码库

        ·不执行程序

        ·提供实时反馈

        ·指出漏洞和问题代码的确切位置

        ·提供可通过仪表板导出和跟踪的定制报告

        ·自动化程度高

3SAST 的缺点包括:

        ·误报高

        ·语言依赖性

        ·对库、框架实用性差例如 API 或 REST 端点

        ·大多数参数值无法得到有效测试

二、DAST

1、什么是 DAST?

    动态应用程序安全测试(DAST)也称为“黑盒”工具,在运行过程中测试产品并提供有关合规性和一般安全问题的反馈,用于 SDLC 的测试和 QA 阶段使用。

2、DAST 的优点包括:

·重交互

·支持身份验证和配置问题

·语言独立

·覆盖整改应用和系统

·支持资源使用情况的评估(内存等)

·加密算法,权限隔离、跨站点脚本SQL 注入和 cookie 操作等设计类漏洞

·支持第三方接口漏洞测试

·相比较SAST更理解参数和函数调用

3、DAST 的缺点包括:

·仅评估问题,不对代码本身进行测试

·成本高

·误报高

三、SAST 与 DAST的结合和原因

 SAST 和 DAST的结合

SAST 和 DAST 可以而且应该一起使用。使用 DAST 工具时,其输出可用于通知和完善 SAST 规则,从而改进漏洞的早期识别。这种细化过程使得 SAST 成为发现问题的主要方法,而 DAST 成为产品投入生产之前的验证检查。

SAST

DAST

开发方法——

可以访问底层框架、设计和实现

采用黑客方法——

不了解内部结构

需要源代码或二进制文件

不需要程序执行

需要执行程序

不需要访问代码或二进制文件

SDLC 早期

SDLC 后期

评估应用代码

评估环境和运行时问题

支持顺序设计流程环境、实时系统、移动应用程序和嵌入式设备上的软件的测试

支持 Web 应用程序和服务、服务器、数据库和缓存的测试


四、IAST

    1、什么是 IAST?

    交互式应用程序安全测试 (IAST) 工具的开发是为了通过结合两种方法来解决 SAST 和 DAST 工具中的缺陷。它们是动态的,可以像 DAST 一样识别操作期间的问题,但从应用程序服务器内部运行,并像 SAST 一样评估代码。IAST 工具仅评估测试所执行的应用程序部分,并在 SDLC 的测试和 QA 阶段使用。它们最有效地用于具有自动化功能测试的 QA环境,并可作为其他工具的伙伴。---来自于Google

    2、IAST 的优势包括:

·可以提供更准确的结果并识别更广泛的漏洞
·能够与持续集成(CI)和持续开发(CD)工具集成
·提供有关漏洞根源的详细信息,包括代码风险点、详细位置
·实时反馈结果
·支持 API 测试和微服务
·测试用例的高度复用
·SAST 和 DAST 功能的组合
3、IAST 的缺点包括:

·供应商绑架
·语言支持有限
简单说说SAST、DAST、IAST 和 RASP
五、RASP
简单说说SAST、DAST、IAST 和 RASP
RASP 是 SAST、DAST 和 IAST 工具的演变。运行时应用程序自我保护 (RASP) 工具集成应用程序并在运行时分析流量和最终用户行为以防止攻击。这些工具在产品发布后使用,因此它们更关注安全性而不是测试。-----来自于Google

RASP 的优点包括:

·持续检查,实时响应
·集成与应用本身,不依赖环境、系统
·不依赖于语言或平台
·涵盖广泛的漏洞

RASP的缺点包括:

·只能在生产中使用
·可用作捕获漏洞和实时运行的能力,但也导致在运行前测试不严格
实践建议:
    在应用上线前后,需要部署不同的能力来应对任何的风险,无论是静态的SAST还是动态的DAST或者是重交互的IAST都为代码优化和安全研发提供了支持,RASP的出现,和应用运行进行捆绑,实时响应处置,并且可以和Devops流程进行集成,在0day还是已知风险都有效果,除此外,在整体能力上还需考虑如下内容:
·WAF——防止不良流量,保护边缘网络内的应用程序和 API 安全。
·API 安全— 仅允许必要的、有权限的、合规的、安全的流量访问 API 并对风险进行识别和检测·
·攻击及风险行为分析——有效、准确地减轻和响应真正的安全威胁。
·DDoS 防护— 防止任何类型、任何规模的 DDoS 攻击的访问
·CDN —提高在边缘缓存静态资源,同时加速 API 和动态网站。


reference:

1、 https://en.wikipedia.org/wiki/

2、https://google.com


原文始发于微信公众号(KK安全说):简单说说SAST、DAST、IAST 和 RASP

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月13日13:22:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   简单说说SAST、DAST、IAST 和 RASPhttp://cn-sec.com/archives/2200839.html

发表评论

匿名网友 填写信息