从疫苗研制原理看 应用安全测试技术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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/262411

相关文章

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

SpringBoot3应用中集成和使用Spring Retry的实践记录

《SpringBoot3应用中集成和使用SpringRetry的实践记录》SpringRetry为SpringBoot3提供重试机制,支持注解和编程式两种方式,可配置重试策略与监听器,适用于临时性故... 目录1. 简介2. 环境准备3. 使用方式3.1 注解方式 基础使用自定义重试策略失败恢复机制注意事项

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事