# 什么是黑盒测试及其技术？

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/17343.html | 发布：2023-02-21 | 更新：2023-02-21 | 分类：IDC云库

黑盒测试是针对特定功能的测试。这意味着这里的用户不会关注代码的细节。代码结构、内部机制和代码的执行策略都无关紧要。

黑盒测试是针对特定功能的测试。这意味着这里的用户不会关注代码的细节。代码结构、内部机制和代码的执行策略都无关紧要。测试人员关注的是软件的要求及其生成的结果是否符合安全标准。因此，这也称为行为测试。在这里，在没有太多内部知识的情况下，软件作为产品的能力已经过测试，形成了功能和非功能的观点。

 

![什么是黑盒测试及其技术？](https://www.mfisp.com/wp-content/uploads/2022/01/2022012103343312.png)

 

**引入黑盒测试时涉及的步骤**

 
 
- 确定被测软件所需的输入。 
- 以提供成功和失败场景的方式选择输入。 
- 基于特定的输入，允许软件执行。 
- 将生成的结果与预期结果进行比较。 
- 在下一次测试开始之前，差异会被记录下来并得到纠正。 

 

## **黑盒测试的类型**

 

黑盒测试是一个持续的过程，在新软件的整个开发阶段不断发生。这种测试方法有助于在不了解设计或内部结构的情况下分析软件或应用程序的功能。黑盒测试的主要重点是将任何应用程序或软件的功能作为一个整体进行测试，而不是深入或零散地进行测试。

 

一次又一次地这样做以发现系统中的不同错误并使其更加健壮。因此，已经开发了几种形式的黑盒测试。它们中的每一个都可以用来解决软件中的各种缺点。从广义上讲，这些类型的黑盒测试可以分为两类，如功能测试和。但是这里我们将专门学习安全测试，这是一种非功能测试形式，通过对黑盒渗透系统的评估。

 

## **黑盒安全测试**

 

除了功能设置之外，黑盒测试在评估应用程序的防御和安全控制方面起着至关重要的作用，这被称为黑盒安全测试。这种测试以这样一种方式完成，即它为外部攻击准备了本地环境。我们在这里谈论的方法是用于测试安全性的由外向内的方法。

 

这里为了更好地理解外部攻击者的工作，减少了应用程序内部工作的知识。此外，由于它侧重于从外部攻击者的角度维护安全性，因此在测试过程中固有地缺乏技术依赖性。与技术无关的测试方法有助于发现因部署失误和配置不当而导致的一些关键漏洞。

 

**它是如何工作的？**

 

Web 应用程序黑盒测试的过程是一个自动化设置，从收集有关目标的所有必要信息开始。这是在爬虫的帮助下完成的，爬虫扫描整个链接并提供有关页面上存在的元素的必要信息。

 

黑盒安全测试还涉及识别 Web 应用程序中包含的技术。爬取之所以如此重要，是因为这是黑盒扫描器识别需要测试的输入元素的地方。黑盒安全扫描器结合使用被动和主动扫描过程来发现漏洞。它还提供有关补救措施的信息。

 

## **黑盒渗透测试仪**

 

在黑盒渗透系统的情况下，外部黑客被渗透测试人员取代，因此我们将其称为黑盒渗透系统。就像外部黑客一样，渗透测试人员仅拥有关于公共领域中存在的 Web 应用程序的信息。这些测试人员对应用程序的架构设计以及源代码信息的了解非常有限。受雇的测试人员必须具备自动扫描方法和由外而内发现漏洞的专业知识。

 

现在，由于测试人员对应用程序的内部知识有限，它充当外部攻击者并发现目标系统中的漏洞。这有助于从事物的服务端发现任何安全漏洞。渗透测试人员也有一个固有的缺点，当他们不倾向于自动化扫描过程时，这个缺点就会凸显出来。这留下了未开发的威胁和脆弱性。

 

## **黑盒安全测试技术**

 

**二进制安全分析**

 

顾名思义，二进制安全分析审核二进制代码以搜索任何缺陷。这是在两个不同的二进制分析工具的帮助下完成的。第一个工具主要处理模拟攻击以发现安全漏洞。

 

在第一个工具中，二进制代码在执行阶段被分析，并受到监控。同时，在二进制执行过程中，恶意元素被注入系统，对执行过程造成不利影响。持续监控有助于根据应用程序的功能评估外部恶意攻击是否成功。

 

现在，第二种形式的二进制分析工具模仿二进制可执行文件来发现任何错误。主要用于java字节码扫描器的使用。毕竟，理解和分析结构良好的 Java 代码比分析原始源代码更有效。

 

**软件渗透测试**

 

软件渗透测试从网络渗透测试中得到启发。就像网络渗透测试人员必须具备扎实的网络安全知识一样。同样，软件渗透测试人员必须了解应用程序和软件的安全知识。

 

使用软件渗透测试仪的基础是发现应用程序入口点中的任何内部或内部漏洞，供外部人员利用。这有助于阻止入侵者可以影响软件和其他相关资源的关键数据的敏感点。

 

软件渗透方式封装了更大范围的安全测试，可以应对更繁琐的安全问题。这就是为什么渗透测试比模糊测试和错误注入等测试形式变得如此重要。

 

**错误注入二进制可执行文件**

 

错误的注入可执行文件主要用于发现传统测试工具无法发现的安全威胁。它由软件安全社区开发，具有更现实的方法来发现应用程序中的安全漏洞。在这种测试方法中，通过安全故障注入在软件中产生压力，这导致软件组件之间的互操作性问题。此处模拟故障，因为它们会出现在实时执行情况中。

 

将故障注入系统的性质与外部攻击者的性质相似。它还会触发无意的故障，以发现此类情况下的软件漏洞。故障注入测试与渗透测试相结合有助于衡量软件在可执行阶段受到攻击时的响应。环境故障注入突出了故障注入系统的关键方面。这样的故障注入创建了一个接近真实的外部攻击场景。这是一个复杂的测试过程，只有在重新创建复杂的攻击场景以评估软件的行为反应时，才能充分发挥其潜力。

 

**模糊测试**

 

模糊测试涉及使用称为模糊器的东西。这会破坏使用中的数据并占用空间，这种测试方法包括在模糊器的帮助下注入随机数据。现在，由于 Fuzzers 是用特定的目标程序编写的，因此它们不容易插入其他程序。这有助于衡量特定于程序的错误，由于程序或应用程序的排他性，一些其他形式的测试无法发现这些错误。

 

**字节码、汇编代码和二进制代码扫描**

 

字节码、汇编代码和二进制代码扫描可以理解为源代码扫描。与安全标签相反的测试方式。该方法不仅仅关注安全性，而是在可执行阶段测试从二进制到字节再到汇编代码的未解释形式的代码。所有这些都发生在安装和最终执行之前。附带一提，重要的是要考虑到没有这样的字节码等安全扫描器。正是测试机制中很少有工具将安全漏洞暴露出来。

 

**自动漏洞扫描器**

 

漏洞扫描器只是一种扫描工具，可用于许可和开源形式。这些工具或扫描器帮助公司发现应用程序网络中的漏洞和其他黑客可以利用的安全漏洞。漏洞扫描有两种形式，一种可以在网络范围内完成，另一种可以在网络范围外进行。简单来说，可以将其视为内部和外部网络安全扫描。

 

外部扫描用于发现应用程序和服务器中易受攻击的入口点，黑客可以利用这些入口点发起攻击。现在，内部扫描仪用于发现局域网内最薄弱的入口点，黑客可以通过该入口点桥接并传递到系统和服务器。现在，有效漏洞管理程序的关键归结为有效使用基于网络和主机的扫描器。测试人员需要评估应用程序的性质，然后部署内部和外部扫描工具。

 

## **结论**

 

黑盒测试是一种识别程序缺陷的简单方法。该方法以功能为中心的方法确保不必从代码中读取任何实际代码。但是非功能测试也很普遍。通过适当解决功能和安全性（非功能性测试），用户将获得能够处理负载并具有高安全性指南的强大产品。

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
