从疫苗研制原理看 应用安全测试技术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

相关文章

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

MobaXterm远程登录工具功能与应用小结

《MobaXterm远程登录工具功能与应用小结》MobaXterm是一款功能强大的远程终端软件,主要支持SSH登录,拥有多种远程协议,实现跨平台访问,它包括多会话管理、本地命令行执行、图形化界面集成和... 目录1. 远程终端软件概述1.1 远程终端软件的定义与用途1.2 远程终端软件的关键特性2. 支持的

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可