📅  最后修改于: 2021-01-11 01:43:56             🧑  作者: Mango
安全测试是软件测试不可或缺的一部分,可用于发现软件应用程序中的弱点,风险或威胁,还可以帮助我们阻止来自外部人员的恶意攻击并确保我们软件应用程序的安全性。
安全测试的主要目标是找到应用程序的所有潜在歧义和漏洞,以使软件不会停止运行。如果我们执行安全测试,那么它将帮助我们识别所有可能的安全威胁,并帮助程序员修复这些错误。
这是一个测试过程,用于定义数据将是安全的并且还将继续软件的工作过程。
在这里,我们将讨论以下安全测试方面:
在这种情况下,数据必须由官员保留,并且他们还保证数据和声明服务将在我们需要时随时可用。
完整性系统通常使用一些类似的基本方法作为机密性结构。尽管如此,它们通常仍包含用于通信的数据,以创建算法检查的来源,而不是加密所有通信。并且还要验证正确的数据是从一个应用程序传输到另一个应用程序的。
这是定义允许客户端执行操作并接收服务的过程。授权示例是访问控制。
这是一个安全过程,可防止外部人泄露数据,因为这是确保数据安全的唯一途径。
认证过程包括确认一个人的个性,追踪允许访问私人信息或系统所必需的产品来源。
它用作数字安全性的参考,它是一种确保消息的发送者不能不同意发送消息并且接收者不能拒绝接收到该消息的方式。
不可否认性用于确保声称已发送和接收消息的人已发送和接收了传达的消息。
在Web应用程序上执行安全测试时,我们需要专注于以下领域来测试应用程序:
在本文中,我们将基于不同的软件(如操作系统,数据库系统等)评估应用程序的漏洞。
在此,我们将检查网络结构的弱点,例如策略和资源。
我们将确保服务器端应用程序的安全性,以确保服务器加密及其工具足以保护软件免受任何干扰。
在此,我们将确保任何入侵者都无法在客户使用的任何浏览器或任何工具上运行。
根据开源安全测试技术,我们具有以下不同类型的安全测试:
手动测试都进行安全扫描。此扫描将用于在基于Web的应用程序,网站,网络或文件系统中查找漏洞或不需要的文件修改。之后,它将提供可帮助我们减少这些威胁的结果。这些系统需要进行安全扫描,这取决于它们使用的结构。
为了减轻申请的风险,我们将进行风险评估。在此,我们将探索可以在关联中检测到的安全风险。风险可以进一步分为三个部分,即高,中和低。风险评估过程的主要目的是评估漏洞并控制重大威胁。
它是一个应用程序,用于确定并生成所有系统的列表,这些列表包含与网络相关的台式机,服务器,便携式计算机,虚拟机,打印机,交换机和防火墙。漏洞扫描可以在自动化应用程序上执行,并且还可以识别那些确认安全漏洞的软件和系统。
渗透测试是一种安全性实施,网络安全专业人员尝试识别并利用计算机系统中的弱点。此测试的主要目的是模拟爆发,并发现系统中的漏洞,并从能够从中受益的入侵者中类似地节省下来。
安全审核是一种评估组织安全措施的结构化方法。在此,我们将对应用程序和控制系统进行安全性内部审查。
道德黑客被用来发现系统中的弱点,并且还可以帮助组织在讨厌的黑客揭露这些安全漏洞之前对其进行修复。道德黑客行为将帮助我们提高协会的安全地位,因为有时道德黑客使用与讨厌的黑客相同的技巧,工具和技术,但需要得到官方的批准。
道德黑客的目的是增强安全性并保护系统免受恶意用户的攻击。
它是道德黑客,风险评估和安全扫描的结合,可帮助我们显示组织的完整安全状况。
需要在软件开发生命周期的初始阶段进行安全测试,因为如果我们在SDLC的软件执行阶段和部署阶段之后执行安全测试,则会花费更多的钱。
现在让我们了解我们如何在软件开发生命周期(SDLC)的每个阶段中并行执行安全测试。
第1步
SDLC:需求阶段
安全程序:在SDLC的需求阶段,我们将对业务需求进行安全分析,并验证哪些情况是可操纵的和浪费的。
第2步
SDLC:设计阶段
安全性程序:在SDLC的设计阶段,我们将进行安全性测试以探索设计的风险,并且还将在开发测试计划时包含安全性测试。
第三步
SDLC:开发或编码阶段
安全程序:在SDLC的编码阶段,我们将执行白盒测试以及静态和动态测试。
步骤4
SDLC:测试(系统测试)阶段
安全程序:在SDLC的测试阶段,我们将进行一轮漏洞扫描以及黑盒测试。
第5步
SDLC:实施阶段
安全程序:在SDLC的实施阶段,我们将再次执行漏洞扫描,并执行一轮渗透测试。
第6步
SDLC:维护阶段
安全程序:在SDLC的维护阶段,我们将对影响区域进行影响分析。
测试计划应包含以下内容:
通常,安全测试的类型包括基于过度思考的问题步骤,但是有时简单的测试将帮助我们发现最重要的安全威胁。
让我们看一个示例示例,以了解我们如何在Web应用程序上进行安全测试:
当前,Web应用程序每天都在增长,并且大多数Web应用程序都处于危险之中。在这里,我们将讨论Web应用程序的一些常见弱点。
客户端攻击意味着在Web应用程序中发生了一些非法实施的外部代码。数据欺骗行为已经占据了用户认为作用在Web应用程序上的特定数据有效的位置,并且它不是来自外部来源。
注意:在这里,欺骗是创建重复的网站或电子邮件的技巧。
这样,身份验证将涵盖针对旨在验证用户身份的Web应用程序方法的爆发,其中用户帐户个性将被盗用。不完整的身份验证将使攻击者无需执行正确的身份验证即可访问功能或敏感数据。
例如,蛮力攻击(蛮力攻击的主要目的)是获得对Web应用程序的访问权限。在这里,入侵者将反复尝试n个用户名和密码,直到它进入为止,因为这是阻止暴力攻击的最精确方法。
毕竟,一旦他们尝试了所有定义数量的错误密码,该帐户将自动被锁定。
每当某些入侵者试图从Web应用程序非法检索敏感信息时,授权就会出现在图片中。
例如,目录扫描是授权的完美示例。在这里,目录扫描是一种爆发,它会将缺陷植入Web服务器,以实现对公共区域中未提及的文件夹和文件的非法访问。
一旦入侵者成功获得访问权限,他们就可以下载精美的数据并在服务器上安装有害的软件。
当恶意攻击者将控制Web应用程序时,将使用命令执行。
当DoS(拒绝服务)爆发时,将使用逻辑攻击,避免Web应用程序帮助常规客户采取行动,并限制应用程序的使用。
信息泄漏用于向入侵者显示敏感数据,这意味着它将覆盖计划获取有关Web应用程序的精确信息的争端。在这种情况下,当Web应用程序泄露敏感数据时会发生信息泄漏,例如错误消息或开发人员注释,它们可能会帮助攻击者滥用系统。
例如,密码正在传递给服务器,这意味着密码应该在通过网络进行通信时进行编码。
注意:
Web应用程序在访问和数据安全性方面需要更高的安全性。因此,Web开发人员将以保护应用程序免受暴力攻击, SQL注入,会话管理,限制URL访问失败和跨站点脚本(XSS)的方式来制作应用程序。而且,如果Web应用程序简化了远程访问点,那么它也必须受到保护。
在这里,会话管理:用于检查cookie在登录阶段是否可以在其他计算机系统中重用。
SQL注入:这是一种代码注入方法,其中将破坏性的SQL语句植入到某些查询中,并由服务器实现。
跨站点脚本(XSS):这是一种技术,用户可以通过该技术在Web应用程序的用户界面中引入客户端脚本或HTML,而其他用户也可以看到这些添加。
在这里,我们将讨论安全测试的神话和事实:
Myths | Facts |
---|---|
There is no profit on an asset in security testing. | Security Testing can highlight the parts of enhancement, which help us to increase productivity and decrease interruption and also allow the maximum output. |
Nowadays, the Internet is not safe, and we will be buying the hardware or software to save the business and protect the system. | Here, the fact is rather purchasing any software or hardware, the company first understands security and then follows the security process. |
If we have a small business and we do not require a security procedure. | In that case, the fact is every organization needs a security procedure. |
The only technique to secure is to disconnect it. | The one and the most excellent way to protect an association is to identify the Perfect Security. Here Perfect security can be accomplished by performing the implementation, compared with business, permitted, and manufacturing validations. |
我们在市场上提供各种安全测试工具,如下所示:
有关这些工具的更多信息,请参考以下链接:
https://www.javatpoint.com/security-testing-tools
对于应用程序或软件,有必要执行安全测试以验证敏感信息是否仍是私有的。在软件测试中,安全测试至关重要,因为它可以帮助我们最终保存必要的数据。在这种情况下,测试工程师将充当入侵者并测试系统或检测安全缺陷。