网站建设技能考试试题三,培训机构不退费最有效方式,博客网站建设设计论文总结,网站建设导入视频安全开发基础-- DAST#xff0c;SAST#xff0c;IAST
简介
DAST
动态应用程序安全测试#xff08;Dynamic Application Security Testing#xff09;技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击#xff0c;分析应用程序的反…安全开发基础-- DASTSASTIAST
简介
DAST
动态应用程序安全测试Dynamic Application Security Testing技术在测试或运行阶段分析应用程序的动态运行状态。它模拟黑客行为对应用程序进行动态攻击分析应用程序的反应从而确定该Web应用是否易受攻击。
SAST
静态应用程序安全测试Static Application Security Testing技术通常在编码阶段分析应用程序的源代码或二进制文件的语法、结构、过程、接口等来发现程序代码存在的安全漏洞。
IAST
交互式应用程序安全测试Interactive Application Security Testing是2012年Gartner公司提出的一种新的应用程序安全测试方案通过代理、VPN或者在服务端部署Agent程序收集、监控Web应用程序运行时函数执行、数据传输并与扫描器端进行实时交互高效、准确的识别安全缺陷及漏洞同时可准确确定漏洞所在的代码文件、行数、函数及参数。IAST相当于是DAST和SAST结合的一种互相关联运行时安全检测技术。
原理简单概述
DAST
通过爬虫发现整个 Web 应用结构爬虫会发现被测Web程序有多少个目录多少个页面页面中有哪些参数根据爬虫的分析结果对发现的页面和参数发送修改的 HTTP Request 进行攻击尝试扫描规则库通过对于 Response 的分析验证是否存在安全漏洞。 SAST 超过50%的安全漏洞是由错误的编码产生的开发人员一般安全开发意识和安全开发技能不足更加关注业务功能的实现。想从源头上治理漏洞就需要制定代码检测机制SAST是一种在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。
首先通过调用语言的编译器或者解释器把前端的语言代码如JAVAC/C源代码转换成一种中间代码将其源代码之间的调用关系、执行环境、上下文等分析清楚。语义分析分析程序中不安全的函数方法的使用的安全问题。数据流分析跟踪记录并分析程序中的数据传递过程所产生的安全问题。控制流分析分析程序特定时间状态下执行操作指令的安全问题。配置分析分析项目配置文件中的敏感信息和配置缺失的安全问题。结构分析分析程序上下文环境结构中的安全问题。结合2-6的结果匹配所有规则库中的漏洞特征一旦发现漏洞就抓取出来。最后形成包含详细漏洞信息的漏洞检测报告包括漏洞的具体代码行数以及漏洞修复的建议。 IAST
IAST的实现模式有很多常见的有
代理模式插桩模式
代理模式
在PC端浏览器或者移动端APP设置代理通过代理拿到功能测试的流量利用功能测试流量模拟多种漏洞检测方式对被测服务器进行安全测试。 功能测试人员在浏览器或者APP中设置代理将IAST设备地址填入。功能测试人员开始功能测试测试流量经过IAST设备IAST设备将流量复制一份并且改造成安全测试的流量。IAST设备利用改造后的流量对被测业务发起安全测试根据返回的数据包判断漏洞信息。
插桩模式
Active插桩实现原理 被测试服务器中安装IAST插桩AgentDAST Scanner发起扫描测试IAST插桩 Agent追踪被测试应用程序在扫描期间的反应附加测试覆盖率和上下文将有关信息发送给Management ServerManagement Server展示安全测试结果
Passive插桩实现原理 被测试服务器中安装插桩 Agent插桩 Agent在应用程序运行时获取请求和代码数据流、代码控制流插桩Agent将获取的信息发送给Management SeverManagement Sever展示安全测试结果。
插桩模式的关键是AgentAgent需要根据不同语言进行开发但是功能基本相同
获取请求数据和返回数据代码执行中的参数传递数据库查询如ODBC目录查询如LDAP文件系统权限监听内存中特定的值识别受污染的输入第三方库的使用;对外部应用程序和服务的调用特定代码的执行等。
IAST插桩被动型(动态污点分析)扫描器: 三种技术的应用场景分析