Javatpoint标志
Javatpoint标志

安全性测试

什么是安全测试?

安全测试是软件测试的重要组成部分,用于发现软件应用程序中的弱点、风险或威胁,并帮助我们阻止来自外部的恶意攻击,确保我们软件应用程序的安全性。

安全测试的主要目标是发现应用程序的所有潜在的模糊性和漏洞,以便软件不会停止工作。如果我们执行安全测试,那么它将帮助我们识别所有可能的安全威胁,并帮助程序员修复这些错误。

它是一个测试过程,用于定义数据的安全性,并继续软件的工作过程。

安全测试原理

在这里,我们将讨论安全测试的以下几个方面:

  • 可用性
  • 完整性
  • 授权
  • 保密
  • 身份验证
  • 不可抵赖性
安全性测试

可用性

在这种情况下,数据必须由官方人员保存,他们还保证数据和报表服务在我们需要时随时可用。

完整性

在这种情况下,我们将保护那些被非官方人员更改的数据。完整性的主要目标是允许接收方控制系统提供的数据。

完整性系统通常使用一些类似的基本方法作为保密结构。不过,它们通常包括用于通信的数据,以创建算法检查的源,而不是加密所有通信。还要验证从一个应用程序传递到另一个应用程序的数据是否正确。

授权

它是定义允许客户端执行操作并接收服务的过程。授权的示例为访问控制。

安全性测试

保密

这是一个安全的过程,从外部延长了数据的泄漏,因为这是我们可以确保数据安全的唯一方法。

身份验证

身份验证过程包括确认个人的个性,追踪允许访问私人信息或系统所必需的产品来源。

安全性测试

非否定

它被用作数字安全的参考,它是一种保证消息的发送方不能不同意已发送消息,而接收方不能否认已接收消息的方式。

不可抵赖性用于确保所传递的消息已被声称已发送和接收该消息的人发送和接收。

安全测试的关键领域

在对web应用程序执行安全测试时,我们需要集中在以下方面来测试应用程序:

安全性测试

系统软件安全

在这里,我们将评估应用程序基于不同软件的漏洞,例如操作系统,数据库系统等。

网络安全

在此,我们将检查网络结构的弱点,如政策和资源

服务器端应用程序安全性

我们将进行服务器端应用程序安全,以确保服务器加密及其工具足以保护软件免受任何干扰。

客户端应用程序安全性

在这方面,我们将确保任何入侵者无法操作客户使用的任何浏览器或任何工具。

安全测试的类型

根据开源安全测试技术,我们有不同类型的安全测试,如下:

  • 安全扫描
  • 风险评估
  • 漏洞扫描
  • 渗透测试
  • 安全审计
  • 道德黑客
  • 态势评估
安全性测试

安全扫描

两者都可以进行安全扫描自动化测试而且手工测试.此扫描将用于查找基于web的应用程序、网站、网络或文件系统中的漏洞或不需要的文件修改。在那之后,它将提供结果,帮助我们减少这些威胁。这些系统需要安全扫描,这取决于它们使用的结构。

风险评估

为了降低应用程序的风险,我们将进行风险评估。在这里,我们将探讨可以在关联中检测到的安全风险。风险可以进一步分为三个部分,分别是高,中,低.风险评估过程的主要目的是评估漏洞并控制重大威胁。

漏洞扫描

它是一个应用程序,用于确定和生成所有系统的列表,其中包含与网络相关的台式机、服务器、笔记本电脑、虚拟机、打印机、交换机和防火墙。漏洞扫描可以在自动化应用程序上执行,还可以识别那些已经承认安全漏洞的软件和系统。

渗透测试

渗透测试是一种安全实现网络安全专业人员试图识别和利用计算机系统的弱点。此测试的主要目标是模拟病毒爆发,并找到系统中的漏洞,从而避免入侵者从中获益。

安全审计

安全审计是对组织的安全措施进行评估的一种结构化方法。在这里,我们将对应用程序和控制系统用于安全故障。

道德黑客

道德黑客用于发现系统中的弱点,并帮助组织在恶意黑客暴露它们之前修复这些安全漏洞。道德黑客将帮助我们提高协会的安全地位,因为有时道德黑客会使用与恶意黑客相同的技巧、工具和技术,但要得到官方人员的批准。

道德黑客的目标是提高安全性,保护系统免受恶意用户的攻击。

态势评估

它是一个组合道德黑客,风险评估和安全扫描,以显示机构的完整保安状况。

我们如何执行安全测试

的初始阶段需要进行安全性测试软件开发生命周期因为如果我们在软件执行阶段和SDLC部署阶段之后进行安全测试,我们的成本会更高。

现在让我们了解如何在软件开发生命周期(SDLC)的每个阶段并行执行安全测试。

安全性测试

Step1

SDLC:需求阶段

安全程序:在SDLC的需求阶段,我们将对业务需求进行安全性分析,并验证哪些用例是可操作的和浪费的。

步骤2

SDLC:设计阶段

安全程序:在SDLC的设计阶段,我们将做风险安全测试探索设计,并在测试计划的开发中包含安全测试。

步骤3

SDLC:开发或编码阶段

安全程序:在SDLC的编码阶段,我们将执行白盒测试以及静态和动态测试。

第四

SDLC:测试(功能测试集成测试系统测试)阶段

安全程序:在SDLC的测试阶段,我们会做一轮漏洞扫描还有黑盒测试。

步骤5

SDLC:实施阶段

安全程序:在SDLC的实施阶段,我们将执行漏洞扫描又表演了一轮渗透测试

步骤6

SDLC:维护阶段

安全程序:在SDLC的维护阶段,我们将执行影响分析影响区域。

测试计划应包含以下内容:

  • 测试数据应该与安全测试相关联。
  • 对于安全测试,我们需要测试工具。
  • 在各种安全工具的帮助下,我们可以分析几个测试输出。
  • 编写依赖于安全目的的测试场景或测试用例。

安全测试示例

通常,安全测试类型包括基于过度思考的有问题的步骤,但有时简单的测试将帮助我们发现最重要的安全威胁。

让我们看一个示例来理解我们如何在web应用程序上进行安全测试:

  • 首先,登录web应用程序。
  • 然后注销web应用程序。
  • 然后单击浏览器的BACK按钮,以验证它是否要求我们再次登录,或者我们已经登录到应用程序。

为什么安全测试对web应用程序至关重要

目前,web应用日益增长,大多数web应用处于风险之中。在这里,我们将讨论web应用程序的一些常见弱点。

  • 客户端攻击
  • 身份验证
  • 授权
  • 命令执行
  • 逻辑攻击
  • 信息披露

客户端攻击

客户端攻击意味着在web应用程序中发生了一些外部代码的非法实现。数据欺骗行为已经占据了用户认为作用于web应用程序的特定数据是有效的,并且它不是来自外部来源的位置。

注意:这里,欺骗是一种创建重复网站或电子邮件的技巧。

身份验证

在这种情况下,身份验证将涵盖针对身份验证用户身份的web应用程序方法的爆发,其中用户帐户个人信息将被窃取。不完整的身份验证将允许攻击者在没有执行正确的身份验证的情况下访问功能或敏感数据。

例如,蛮力攻击,暴力破解的主要目的是获取web应用程序的访问权限。在这里,入侵者将重复尝试n个用户名和密码,直到它进入,因为这是阻止暴力攻击的最精确方法。

毕竟,一旦他们尝试了所有定义错误的密码,该帐户将被自动锁定。

授权

每当一些入侵者试图从web应用程序非法检索敏感信息时,授权就会出现。

例如,一个完美的授权示例是目录扫描.在这里,目录扫描是一种将缺陷植入web服务器,以实现对公共区域未提及的文件夹和文件的非法访问的爆发。

一旦入侵者成功获得访问权限,他们就可以下载敏感数据并在服务器上安装有害软件。

命令执行

该命令用于恶意攻击者控制web应用程序的情况。

逻辑攻击

当DoS(拒绝服务)爆发,避免web应用程序帮助常规客户操作并限制应用程序使用时,使用逻辑攻击。

信息披露

信息披露用于向入侵者显示敏感数据,这意味着它将涵盖计划获取有关web应用程序的精确信息的攻击。在这种情况下,当web应用程序公开敏感数据时,就会发生信息泄漏,比如错误消息或开发人员的评论,这些数据可能有助于攻击者滥用系统。

例如,密码传递给服务器,这意味着在通过网络通信时应该对密码进行编码。

注意:

web应用程序在访问和数据安全方面需要更多的安全性;这就是为什么web开发人员会以这种方式来保护应用程序免受暴力攻击,SQL注入、会话管理、URL访问限制失败和跨站脚本(XSS).而且,如果web应用程序简化了远程访问点,那么它也必须受到保护。

在这里,会话管理:用于在登录阶段检查cookies是否可在其他计算机系统中重复使用。

SQL注入:这是一种代码注入方法,其中破坏性SQL语句被植入到一些查询中,并由服务器实现。

跨站脚本(XSS):这是一种技术,通过这种技术,用户在web应用程序的用户界面中引入客户端脚本或HTML,而这些添加的内容对其他用户是可见的。

安全测试的神话和事实

在这里,我们将讨论安全测试的神话和事实:

神话 事实
在安全测试中,资产是没有利润的。 安全测试可以突出增强的部分,这有助于我们提高生产力,减少中断,并允许最大的输出。
如今,互联网并不安全,我们会购买硬件或软件来挽救业务和保护系统。 在这里,事实是,与其购买任何软件或硬件,公司首先了解安全,然后遵循安全流程。
如果我们有一个小型企业,我们不需要安全程序。 在这种情况下,事实是每个组织都需要一个安全程序。
唯一安全的方法就是断开连接。 保护协会的一个最好的方法就是确定完美安全。在这里,与业务验证、允许验证和制造验证相比,完全安全可以通过执行实现来实现。

安全测试工具

我们在市场上有各种安全测试工具,分别是:

  • SonarQube
  • 糟了!
  • Netsparker
  • Arachni
  • IronWASP

有关这些工具的更多信息,请参阅下面的链接:

//m.047138.com/security-testing-tools

结论

对于应用程序或软件,有必要执行安全测试,以验证敏感信息仍然是私有的。在软件测试中,安全测试是必不可少的,因为它可以帮助我们最终保存必要的数据。在这种情况下,测试工程师将扮演入侵者的角色,测试系统或检测安全缺陷。


下一个话题 可访问性测试





Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助他人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


B.Tech / MCA






Baidu
map