从疫苗研制原理看 应用安全测试技术DAST

2023-10-22 15:59

本文主要是介绍从疫苗研制原理看 应用安全测试技术DAST,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对抗攻击分为两类 —— 白盒攻击和黑盒攻击,前者知道模型的全部信息,后者只知道部分信息。在实际操作中,我们遇到的大多情况是后者。因而,黑盒攻击在实际应用中比白盒攻击更实用。

最近疫情好像回到2年前卷土重来。各地都在贴出防疫守则,防范、修补漏洞,希望保护好每一个人同时不给机构增添麻烦。

要完全恢复到正常的经济生产活动,使民生得以有序进行,需要有效疫苗的研制和生产;软件环境的正常运行,某些程度也像社会环境要变得有机且可持续一样,也需要检测并提前规避安全漏洞。

作为行业小白,在了解DAST时,发现二者在原理机制上好像有一些相通的地方。

疫苗的研制是在识别病毒蛋白的结构后进行,我们打疫苗大致就类似“人体应用”的白盒测试了。但即便我们知晓病毒的所有蛋白结构,但它仍然具有可变异性,其本身的动态进化也是它如此顽强的原因所在。

对应到软件测试领域,比白盒测试功能更胜一筹的是黑盒测试 DAST,即在只知道部分信息,也能通过测试提前预知大部分漏洞,这是DAST比SAST强一些的功能,同时 SAST也有DAST覆盖不到的地方。

认识 DAST

一、什么是动态分析测试DAST

为了发现软件的漏洞和缺陷,确保Web应用程序在交付之前和交付之后都是安全的,就需要利用Web应用安全测试技术识别Web应用程序中架构的薄弱点和漏洞,并且必须赶在网络黑客找到和利用它们之前。

动态分析测试DAST就是Web应用安全测试的一种技术,也称黑盒安全测试。多指从外部测试应用程序。这种测试方法不需了解应用在系统级别的内部交互或设计,也不需要访问或查看源程序,就可以检查正在运行的应用。

这种黑盒测试从外到内均可查看应用,检查应用的运行状态,并仔细观察它对工具模拟攻击的响应情况。观察应用对这些模拟的响应可以帮助了解和确定是不是容易受到攻击,以及受到真正的恶意攻击的情形。

二、DAST的工作原理

DAST通过模仿恶意攻击者,模拟自动攻击应用发挥作用目标是发现可能被攻击者袭击或损害应用的预期之外的后果或结果。

DAST执行原理:

从攻击者的视角对其进行分析,从而识别潜在的漏洞,并在正在运行的应用中寻找可利用的缺陷。

1、传统DAST 解决方案

       —— 提供运行时 Web 应用的动态扫描和分析

部分环节:从至少一个日志文件采集日志文件数据,可以根据采集的日志文件数据生成对练习web应用以执行web应用的安全分析的至少一个HTTP请求,可以向web应用传达HTTP请求,可以接收对HTTP请求的至少一个HTTP响应。可以分析HTTP响应以执行web应用的验证,可以输出验证的结果。

2、现代DAST 解决方案

       ——结合 Web 和 API 扫描、渗透测试和模糊测试识别被攻击的后果。

部分环节:对已知样本进行突变,突变样本按队列执行测试并获取执行路径位图,测试进程崩溃则针对新崩溃样本保存当前突变样本,测试进程未崩溃则根据执行路径位图判断突变样本价值,若有则将突变样本加入有效样本队列,否则丢弃样本,直至队列处理完毕,取有效样本队列中的突变样本再次突变并重复模糊测试,扩大测试覆盖面。

在调用API前满足前置条件,使用路径反馈约束突变样本,有效提高模糊测试覆盖面,可高效率进行模糊测试,提高发现Windows内核提权漏洞的可能性,可以针对Windows下所有系统API调用进行模糊测试,保证获取样本执行路径的速度。

此外,还有下一代技术工具解决方案 —— 交互式应用安全测试 IAST。

在软件测试中,多种不同类型的DAST解决方案,有着与免疫系统识别病毒相类似的原理(冥冥中指证着宇宙间遥远的相似性这一假说?)。

疫苗研制的技术路径及原理

1、传统的灭活疫苗:攻击病毒,将病毒残片放入人体,让免疫系统了解病毒的模样,提前准备。

2、重组蛋白疫苗:重组蛋白疫苗,了解疫苗蛋白结构再合成工艺。

3、扩展性强的病毒载体疫苗:拆解病毒,制造良性病毒,加速病毒弱化,但时间长且腺病毒载体不一定能合上。

4、热门的MRNA疫苗:把因破译病毒蛋白后的病毒结构写进去,人体细胞自己生长病毒“模特”,然后免疫系统自我认知。

三、DAST 和 SAST 的区别

静态应用安全测试 SAST与 DAST 使用相反的方法。

在全面了解内部工作(源代码、二进制等)的情况下,从内到外查看应用。这种“白盒”测试的目标是识别代码问题。在 SAST 期间,应用不会运行,因为 SAST 检查的是应用的源代码,而不是它在运行时的表现。SAST 审查应用的数据和控制路径是否存在安全弱点。

SAST 使用时间阶段:

软件开发生命周期 SDLC的早期使用,可迭代提供结果,同时开发人员为应用创建代码段,以组成持续集成/持续部署 CI/CD方案。

SAST 的分析结果可以识别确切的薄弱代码行,帮助开发人员在编码过程中解决软件问题。

DAST使用时间阶段:

理论上可以在 SDLC 的构建集成阶段及早期使用 ,但在实际操作中通常都是在稍后的测试和生产阶段才使用。在这些后期阶段,应用已经构建完成,因此可以在运行时进行分析。

DAST 可以识别潜在的漏洞,但不能识别薄弱代码所在的行。

四、DAST 的作用

DAST 扫描程序在扫描 Web 应用程序之前首先对其进行爬网。这让扫描器可以找到 Web 应用程序中页面上所有暴露的输入,然后对这些输入进行一系列漏洞测试。

DAST 测试可以查找范围广泛的漏洞,包括可能使应用程序容易受到跨站点脚本或 SQL 注入攻击的输入/输出验证问题。

DAST 测试可以帮助发现配置错误和错误,并识别应用程序的其他特定问题

大多数 DAST 解决方案仅测试支持 Web 的应用程序公开的 HTTP 和 HTML 接口。但是,也有些解决方案是专门针对非Web协议和数据畸形设计的,例如远程过程调用、会话发起协议等。

这篇关于从疫苗研制原理看 应用安全测试技术DAST的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/m0_50579386/article/details/123485644
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/262411

相关文章

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

Redis中Stream详解及应用小结

《Redis中Stream详解及应用小结》RedisStreams是Redis5.0引入的新功能,提供了一种类似于传统消息队列的机制,但具有更高的灵活性和可扩展性,本文给大家介绍Redis中Strea... 目录1. Redis Stream 概述2. Redis Stream 的基本操作2.1. XADD

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提