《测试之美_交互式应用安全测试-功能测试与安全测试的融合.pdf》由会员分享,可在线阅读,更多相关《测试之美_交互式应用安全测试-功能测试与安全测试的融合.pdf(17页珍藏版)》请在三个皮匠报告上搜索。
1、交互式应用安全测试功能测试与安全测试的融合分享人:彭跃个人简介姓名:彭跃所在组织:技术中台-信息安全部专业领域:漏洞挖掘目 录010203DevOps和DevSecOps主流安全检测技术分析及优劣交互式应用安全测试技术实现04360集团交互式应用安全测试方案落地DevOps和DevSecOpsDevOps和DevSecOps安全开发周期DevSecOps计划编码构建测试发布运营DevOps流程需求分析和威胁建模开源威胁治理IAST交互式灰盒安全测试持续威胁模拟RASP自适应威胁免疫DevSecOps工具链主流安全检测技术分析及优劣动态应用安全测试DAST简介DAST(Dynamic Appli
2、cation Security Testing,动态应用安全监测)是一种黑盒安全测试技术,是目前应用最广泛、使用最简便的安全测试方法。对应用程序进行黑盒分析,这意味着它们不能访问代码或实现细节。DAST只检查系统对潜在漏洞测试的请求和响应。换言之,DAST是外部的漏洞扫描程序SQL注入XSS跨站命令注入文件包含Response检测原理 通过爬虫抓取整个 Web 应用结构,爬虫会识别被测 Web 程序有多少个目录,多少个页面,页面中有哪些参数;根据爬虫的分析结果,对发现的页面和参数发送修改的 HTTP Request 进行攻击尝试(扫描规则库);通过对 Response 的分析验证是否存在安全漏
3、洞。优点缺点无需代码执行较快误报低使用门槛低漏洞检出率低测试阶段接入无法定位问题位置产生脏数据扫描程序测试环境uid=0(root)gid=0(root)groups=0(root)127.0.0.1;id静态应用安全测试SAST简介SAST(Static Application Security Testing,静态应用程序安全测试)。该技术通常在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞,主要是开发阶段被大家熟知的白盒代码审计类技术词法分析语法分析语义分析中间代码生成获取数据流控制流等检测原理 针对目标代码的AST(抽象语法树),或者将代
4、码转化为一种中间代码如:Three-Address Code(三地址码)进行分析,将目标代码的调用关系、执行环境、上下文等分析清楚 数据流分析:跟踪、记录并分析程序中的数据传递过程所产生的安全问题 控制流分析:分析程序特定时间,状态下执行操作指令的安全问题 配置分析:分析项目配置文件中的敏感信息和配置缺失的安全问题 结构分析:分析程序上下文环境及结构中的安全问题 结合以上分析结果,匹配规则库中的漏洞特征优点缺点漏洞检出率高漏洞种类丰富介入节点早精准定位问题位置误报率较高定制化调整规则语言支持成本高检测时间较长交互式应用安全测试技术实现交互式应用安全测试基本原理IAST(Interactive
5、Application Security Testing,交互式应用程序安全测试)通过服务端部署 Agent 探针、流量代理/VPN 或主机系统软件等,收集、监控 Web 应用程序运行时函数执行、数据传输,并与扫描器端进行实时交互,高效、准确的识别安全缺陷及漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数插桩模式流量采集模式插桩模式插桩模式是在保证目标程序原有逻辑完整的情况下,在特定的位置插入探针,在应用程序运行时,通过探针获取请求、代码数据流、代码控制流等,基于请求、代码、数据流、控制流综合分析判断漏洞流量代理模式在 PC 端浏览器或者移动 APP 设置代理,通过代理拿到功能测试的流
6、量,利用功能测试流量模拟多种漏洞检测方式对被测服务器进行安全测试交互式应用安全测试插桩模式被动插桩主动插桩服务器用户Web展示服务器插桩Agent插桩Agent用户IAST扫描引擎正常流量payload镜像流量精度更高,更易于指导研发修复 支持漏洞利用、漏洞复现 无法处理签名加密接口产生脏数据扫描端发送payload 获取关键函数上下文信息综合分析 1)HTTP/HTTPS请求/响应 2)URL是否触发相关插桩点 3)payload是否进入了执行流程 正常流量正常响应交互式应