安全开发基础 -- DAST,SAST,IAST简单介绍

这篇具有很好参考价值的文章主要介绍了安全开发基础 -- DAST,SAST,IAST简单介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安全开发基础-- DAST,SAST,IAST

简介

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 dast iast,WEB安全,安全,前端,服务器
sast dast iast,WEB安全,安全,前端,服务器

SAST

sast dast iast,WEB安全,安全,前端,服务器

超过50%的安全漏洞是由错误的编码产生的,开发人员一般安全开发意识和安全开发技能不足,更加关注业务功能的实现。想从源头上治理漏洞就需要制定代码检测机制,SAST是一种在开发阶段对源代码进行安全测试发现安全漏洞的测试方案。

  • 首先通过调用语言的编译器或者解释器把前端的语言代码(如JAVA,C/C++源代码)转换成一种中间代码,将其源代码之间的调用关系、执行环境、上下文等分析清楚。
  • 语义分析:分析程序中不安全的函数,方法的使用的安全问题。
  • 数据流分析:跟踪,记录并分析程序中的数据传递过程所产生的安全问题。
  • 控制流分析:分析程序特定时间,状态下执行操作指令的安全问题。
  • 配置分析:分析项目配置文件中的敏感信息和配置缺失的安全问题。
  • 结构分析:分析程序上下文环境,结构中的安全问题。
  • 结合2)-6)的结果,匹配所有规则库中的漏洞特征,一旦发现漏洞就抓取出来。
  • 最后形成包含详细漏洞信息的漏洞检测报告,包括漏洞的具体代码行数以及漏洞修复的建议。

sast dast iast,WEB安全,安全,前端,服务器

IAST

IAST的实现模式有很多,常见的有:

  • 代理模式
  • 插桩模式
代理模式

在PC端浏览器或者移动端APP设置代理,通过代理拿到功能测试的流量,利用功能测试流量模拟多种漏洞检测方式对被测服务器进行安全测试。

sast dast iast,WEB安全,安全,前端,服务器

  • 功能测试人员在浏览器或者APP中设置代理,将IAST设备地址填入。
  • 功能测试人员开始功能测试,测试流量经过IAST设备,IAST设备将流量复制一份,并且改造成安全测试的流量。
  • IAST设备利用改造后的流量对被测业务发起安全测试,根据返回的数据包判断漏洞信息。
插桩模式
Active插桩实现原理

sast dast iast,WEB安全,安全,前端,服务器

  • 被测试服务器中安装IAST插桩Agent
  • DAST Scanner发起扫描测试
  • IAST插桩 Agent追踪被测试应用程序在扫描期间的反应附加测试,覆盖率和上下文,将有关信息发送给Management Server,Management Server展示安全测试结果
Passive插桩实现原理

sast dast iast,WEB安全,安全,前端,服务器

  • 被测试服务器中安装插桩 Agent;
  • 插桩 Agent在应用程序运行时获取请求和代码数据流、代码控制流;
  • 插桩Agent将获取的信息发送给Management Sever,Management Sever展示安全测试结果。

插桩模式的关键是Agent,Agent需要根据不同语言进行开发,但是功能基本相同:

  • 获取请求数据和返回数据;
  • 代码执行中的参数传递;
  • 数据库查询(如ODBC);
  • 目录查询(如LDAP),文件系统权限;
  • 监听内存中特定的值,识别受污染的输入;
  • 第三方库的使用;
  • 对外部应用程序和服务的调用;
  • 特定代码的执行等。

IAST插桩被动型(动态污点分析)扫描器:

sast dast iast,WEB安全,安全,前端,服务器

sast dast iast,WEB安全,安全,前端,服务器

三种技术的应用场景分析

sast dast iast,WEB安全,安全,前端,服务器文章来源地址https://www.toymoban.com/news/detail-761861.html

到了这里,关于安全开发基础 -- DAST,SAST,IAST简单介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络安全基础知识&中间件简单介绍

    apache-httpd tomcat iis lighttp nginx:不是用来web服务器,而是用来做反向代理(tps10w,优化tqs2020w) fastdf:FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以

    2023年04月16日
    浏览(49)
  • 安全算法(一):安全技术、加密的基础知识、哈希函数的简单介绍

    通过互联网交换数据时,数据要经过各种各样的网络和设备才能传到对方那里。数据在传输过程中有可能会经过某些恶意用户的设备,从而导致内容被盗取。 因此,要想安全地使用互联网,安全技术是不可或缺的。 传输数据时的四个问题:窃听、假冒、篡改、事后否认 窃听

    2024年02月04日
    浏览(50)
  • ImGui基础概念和简单函数介绍

    ImGui(Dear ImGui)是一个用于在C++应用程序中创建图形用户界面(GUI)的轻量级库。它设计用于快速、简便地在应用程序中嵌入调试和工具界面。以下是一些常用的ImGui函数及其简要介绍: ImGui::Begin() / ImGui::End() : 作用: 定义一个可嵌套的区域,开始和结束ImGui的绘图。 示例:

    2024年01月19日
    浏览(55)
  • 【安全】简单解析统一身份认证:介绍、原理和实现方法

    随着互联网的发展和各种在线服务的普及,用户在不同的应用和平台上需要进行多次身份验证。为了简化用户的登录和减少重复操作,统一身份认证(Single Sign-On,简称SSO)技术应运而生。本文将简单介绍统一身份认证的概念、原理和实现方法,希望能帮助你更好地理解和应

    2024年02月15日
    浏览(50)
  • C# 开发桌面应用简单介绍

    一. C#使用场景介绍 C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。 二. 开发流程 1. 创建项目:打开Visual Studio后右侧选择“创建新项目”,然后选择“C# Windows窗体应用”即可创建桌

    2024年02月05日
    浏览(58)
  • 微信开发者工具项目简单介绍和使用

              1.app.json         2.project.config.json         3.sitemap.json         4.页面中的json            1.快速新建小程序页面,在app.json的pages下编写页面的路径,保存后微信开发者工具会自动在对应的路径生成该页面         2.修改小程序项目的首页,在

    2024年02月12日
    浏览(43)
  • .NET SqlSuger 简单介绍,超快开发数据库

    我之前介绍过EFCore 怎么使用Nuget快速创建数据库,我之后发现SqlSugar更快。这里简单再说一下SqlSugar如何使用 .NET Core 数据库DB First自动生成,Sqlite,sql server,Mysql SqlSugar官方文档 Visual Studio 2022 .NET Core 6.0 SqlSugarCore 这里不做介绍,和EF Core差不多,可以自己看官方文档。 SqlSuger是极

    2024年02月14日
    浏览(43)
  • 网络安全 | 密码基础知识介绍

    安全问题 保密性:对发送的消息进行获取 完整性:对发送的消息进行篡改 身份伪造:对发送的主体身份进行篡改,a发的消息,篡改为b发的 行为抵赖:对发送的消息进行否认,丧失行为的可追溯性 密码技术 保密性 完整性 真实性 不可否认性 密码发展史 密码起源:狼烟、虎

    2024年02月12日
    浏览(59)
  • 请简单介绍一下Shiro框架是什么?Shiro在Java安全领域的主要作用是什么?Shiro主要提供了哪些安全功能

    会话管理(Session Management):Shiro能够管理用户的会话状态,包括会话的创建、维护和销毁。它支持多种会话存储方式(如内存、数据库等),并提供了会话超时、会话失效等机制,以确保会话的安全性。 跨平台集成:Shiro不仅适用于Web应用程序,还可以轻松集成到桌面应用

    2024年04月13日
    浏览(60)
  • 请简单介绍一下Shiro框架是什么?Shiro在Java安全领域的主要作用是什么?Shiro主要提供了哪些安全功能?

    请简单介绍一下Shiro框架是什么? Shiro框架是一个强大且灵活的开源安全框架,为Java应用程序提供了全面的安全解决方案。它主要用于身份验证、授权、加密和会话管理等功能,可以轻松地集成到任何Java Web应用程序中,并提供了易于理解和使用的API,使开发人员能够快速实

    2024年04月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包