一篇文章了解DongTai IAST

文章转载自DongTai官网,只限个人学习使用。

简介

洞态 IAST 是一个完全开源的 IAST 项目,它使用应用程序运行时数据流进行分析从而识别可被利用的安全漏洞,再按风险优先级的提供已验证漏洞列表功能,协助开发人员实时的代码修复。

主要功能:全面精准的应用漏洞测试、开源组件漏洞和风险分析、应用漏洞自动化验证与溯源、全面详细的漏洞分析和定位、检测能力自定义

支持的检测语言:Java、Python、PHP、Go

支持的部署方式:Docker、Kubernetes / SaaS 服务

什么是IAST

简介

交互式应用安全测试(Interactive Application Security Testing)是 Gartner 在 2012 年提出的一项新的应用安全测试方案。

IAST 相当于 DAST 和 SAST 的组合,是一种相互关联的运行时安全检测技术。 它通过使用部署在 Web 应用程序上的 Agent 来监控运行时发送的流量并分析流量流以实时识别安全漏洞。

IAST 能提供更高的测试准确性,并详细的标注漏洞在应用程序代码中的确切位置,来帮助开发人员达到实时修复。

重要的事情说三遍:IAST 是一种安全测试工具而不是漏洞扫描工具,IAST 是一种安全测试工具而不是漏洞扫描工具,IAST 是一种安全测试工具而不是漏洞扫描工具。

类型

IAST 安全检测工具分成 被动式 IAST 和 主动式 IAST。

被动IAST

原理:

需要在安全测试环境中使用 Agent 对应用程序进行监控。它将利用功能测试如:输入、请求、数据库访问等来收集的数据后进行漏洞分析,因此不需要主动运行专门的攻击测试。

在这里插入图片描述

主要优势:

只需要业务测试(手动或自动)来触发安全测试,通过测试流量即可实时的进行漏洞检测,并不会影响同时运行的其他测试活动。

主动式IAST

原理:

将 DAST 解决方案(Web 扫描器)和在应用程序服务器内部的 Agent 相结合, Agent 将根据 Web 扫描器提供的功能验证现有漏洞。

在这里插入图片描述
洞态IAST属于被动式IAST

架构

洞态 IAST 由 DongTai Server 和 DongTai Agent 两种组件组成,下列会详细介绍。

DongTai Server

概述

在这里插入图片描述
DongTai Server 架构的主要组成部分,提供了用户管理界面,使用 DongTai Agent 收集的数据去分析、识别漏洞并生成漏洞报告。同时,它也提供漏洞通知、Web-API、项目管理、自定义漏洞规则等功能。

组件

Web: 管理界面,供用户管理用户组、Web 应用检测项目、漏洞报告、 Agent 、自定义漏洞规则等。

Server: 涵盖了 WebAPI 和 OpenAPI

WebAPI: 用于处理和响应来自用户的请求。

OpenAPI: 将 Agent 端收集到的数据存储至数据库中,同时也通过监视心跳等返回的数据来监控 Agent 的可用性。

Database: 存储数据。

Engine Task: 将分析任务分配给 Engine。

Engine: 通过漏洞规则分析收集到的数据以识别漏洞, 当检测到漏洞,会将漏洞详细信息存储在数据库中,并触发通知组件通报用户。

Notification: 通报用户的第三方 API。

流程

漏洞检测流程

1、 在常规的操作中,Web 应用程序会收到来自用户的 HTTP 请求。

2、 插桩在 Web 应用程序的 Agent 将监控和收集来自流量的数据,然后通过 OpenAPI 将数据发送到洞态 IAST Server 端。

3、当 OpenAPI 收到数据,它会将数据存入数据库并触发 Engine。

4、Engine 开始分析和识别漏洞。

5、当漏洞被识别用户将收到通报。

管理流程

1、WebAPI 将处理来自 Web 的用户请求。
2、WebAPI 将响应结果通过 Web 回传给用户。

修改 Agent 设置流程

1、WebAPI 将处理来自 Web 的用户请求并将变化存储在数据库中。
2、当客户端 Web 应用程序重新启动, Agent 将通过 OpenAPI 拉取并使用变化的设置。

漏洞分析原理

在这里插入图片描述
【不信任数据采集】:首先将采集到的数据放到一个数据池子中,定义为污点池。
【不信任数据预处理】:接着从污点池里依定义的规则 hook 到函数的入参和出参。
【不信任数据传播图】:将污点池中的数据以树形结构串连起来形成传播图。
【不信任调用链查找】:最后以能够触达危险函数的链路即判定漏洞存在。

漏洞分析方法

在这里插入图片描述

DongTai Agent

概述

用于监控 Web 应用服务器的数据流。 DongTai Agent 会通过代码插桩来监控请求并不断收集数据,然后将这些数据发送到 DongTai Server。

如果在一台机器上部署了多个 Web 应用程序,需在每个 Web 应用程序服务器上安装一个 DongTai Agent。
在这里插入图片描述
从 DongTai Server 注册 DongTai Agent
按 Web 应用服务器开发语言下载和安装对应的 dongtai-core
dongtai-core 会从 server 上 pull 检测规则
最后再按检测规则采集数据,然后将数据回传至 DongTai Server

技术

DongTai Server

环境

Docker
Kubernetes
也可以不通过docker,手动部署

DongTai Agent

开发语言

Java
Python
PHP (测试版)
Go (测试版)

漏洞覆盖

通用漏洞覆盖

漏洞等级 漏洞类型
高危漏洞 注入类型(EL表达式、HQL、JNI、LDAP、NoSQL、SMTP、Sql、Xpath、反射、命令执行)、服务器端请求伪造、不安全的 XML Decode、路径穿越、 不安全的JSON反序列化
中危漏洞 反射型 XSS、XXE
低危漏洞 Cookie 未设置 Secure、Header 头注入、Regular Expression DoS、弱随机数算法、弱哈希算法、弱加密算法、不安全的 readline、不安全的重定向、 不安全的转发、 点击劫持
提示信息 缺少 Content-Security-Policy 响应头、缺少 X-Content-Type-Options 响应头、缺少 X-XSS-Protection 响应头、不正确的 Strict-Transport-Security 配置

Agent 通用漏洞覆盖

漏洞等级 漏洞类型 Java Python PHP Go
高危 SQL 注入
HQL 注入
JNI 注入
LDAP 注入
NoSql 注入
SMTP 注入
XPath 注入
反射注入
表达式注入
OGNL 注入
JNDI 注入
命令执行
不安全的反序列化
服务器端请求伪造(SSRF)
路径穿越
代码执行
硬编码检测
敏感信息泄漏
文件包含
中危 XXE
反射型 XSS
不安全的 XML Decode
Header 头注入
低危 点击劫持
正则 DoS
CORS Misconfiguration
数据明文传输
弱加密算法
弱哈希算法
弱随机数算法
不安全的 Readline
不安全的 Readline
提示 Cookie 未设置 Secure

以上就是DongTai IAST的介绍。
官网地址:https://doc.dongtai.io/docs/introduction

posted @ 2023-05-11 16:26  lym003  阅读(131)  评论(0编辑  收藏  举报