软件测试 - 渗透测试
软件测试是一个广泛的过程,涵盖软件安全功能的验证。软件渗透测试是对我们的计算机系统进行的一次熟练的网络攻击,目的是在真正的攻击者利用软件弱点之前确定并解决软件中的弱点。
什么是软件渗透测试?
软件渗透测试主要侧重于基于 Web 的应用程序安全性,测试团队尝试渗透 API、服务器等,以检测弱点,例如原始输入的代码注入风险。结果有助于调整 Web 应用程序告别 (WAF) 配置,并解决任何可以提高软件安全性的问题。
从 1965 年开始,安全问题不断增加,因为人们认为交互线路可能会被破坏,攻击者将能够掌握从一个人传输到另一个人的信息。 1967 年,许多计算机研究人员在年度联合会议上讨论了通过通信渠道进行渗透的可行性。
1980 年,计算机和互联网的使用量增加,这导致了网络安全测试的重要性。随着自动化和该领域的工具的引入,渗透测试的概念从 1990 年开始流行起来。逐渐地,随着电子商务和互联网业务的增加,网络安全的需求也越来越大。
如今,渗透测试已成为网络安全的一部分。每个组织,无论规模大小,都在投资渗透测试以确定和修复其软件中的弱点。每天都有很多改进来改进渗透测试。
软件渗透测试的阶段
软件渗透测试的阶段列在下面 −
步骤 1 −规划:它涉及规划、定义渗透测试的范围和目标。它包括哪些项目(例如网络、软件等)将成为测试的一部分,以及需要采用哪些方法。
步骤 2 − 扫描:使用大量工具和方法来了解软件如何对入侵行为作出反应。进行静态分析是为了确定代码中可能存在的弱点,而无需实际执行代码。进行动态分析是为了通过运行软件来评估软件对众多输入和条件的反应。
步骤 3 − 获取访问权限:一旦在扫描阶段后识别出软件中的所有漏洞,就会利用这些漏洞通过使用 SQL 注入、跨站点脚本等方法获得对软件的未经授权的访问,从而完全控制系统。
步骤 4 − 维护访问权限:此阶段主要关注在软件中获得永久存在。它模拟了喜欢长时间访问软件的真正黑客的实际特征。使用后门、获取特权和持续存在等程序来确保访问保持很长时间。
步骤 5 − 测试结果分析:在执行渗透测试时,会生成所有被利用的弱点的报告,以及可以访问的每个敏感数据的详细信息等。专家评估报告以了解软件中的安全措施的有效性,并评估修复措施。
软件渗透测试的方法
软件渗透测试的方法如下 −
外部测试
它针对组织的在线资源,即网站、电子邮件、域名服务器 (DNS) 等。主要目的是像真正的攻击者一样渗透并获取敏感信息。它致力于在黑客真正利用这些风险之前降低风险。
内部测试
它由对组织内部系统具有完全访问权限的测试人员执行。他模拟来自内部的攻击,例如通过网络钓鱼电子邮件入侵员工的帐户。它检查内部安全措施的效率,识别其中的弱点,并努力改进它们。
盲测
由只知道组织名称的测试人员执行。他模拟实际攻击,以揭示组织当时如何响应、检测和减少安全漏洞。
双盲测试
它像演习一样进行。负责安全的团队并不知情,似乎对这次攻击毫无准备。这样做是为了评估这种实际情况下的整体安全性、效率、跟踪、检测和响应。
有针对性的测试
当测试人员和安全官员都知道这次测试时,他们会互相帮助。它更像是一种培训或受控练习,安全团队可以从测试人员那里获得有关改进领域的反馈。
软件渗透测试的类型
软件渗透测试的类型如下 −
1. 黑盒渗透测试
当模拟真实的网络攻击时,攻击者并不知道目标。这是一个耗时的过程,因为攻击者对系统没有任何了解。这样做是为了检测软件中现有的弱点,并模拟攻击者在没有任何先验知识的情况下可以进入软件的极限。
2. 白盒渗透测试
攻击者知道软件的源代码。道德黑客可以完全访问代码,他们可以检测到由于编程错误、设置不当和缺乏防御机制而发生的所有可能威胁。
3.灰盒渗透测试
向攻击者提供有关目标的更多详细信息,即 IP、子网、网络设置、低级凭据等。他还对要模拟攻击的软件有一些基本了解。
软件渗透测试中使用的 Web 应用程序防火墙
软件渗透测试时使用的不同 Web 应用程序防火墙如下所列 −
- 软件渗透测试利用 WAF 详细信息(如日志)(不适用于盲测和双盲测试)来检测和利用软件漏洞。
- WAF 管理员考虑渗透测试结果来修改配置,并改进对测试时检测到的弱点的保护。
- 软件渗透测试按照安全审计的合规性要求进行,即 PCI DSS 和 SOC2。
- PCI-DSS 6.6 标准强制要求经过认证的 WAF。但是,软件渗透测试对于增强 WAF 设置和安全性非常重要。
软件渗透测试的优势
软件渗透测试的优势如下 −
- 渗透测试会暴露软件中尚未检测到或利用的弱点。
- 渗透测试可确定与软件弱点相关的风险。
- 渗透测试可指示攻击的结果及其发生的概率。
- 渗透测试可提高现有安全措施的效率。
- 渗透测试有助于确定改进工作的优先级。
- 渗透测试可改进并验证软件的整体安全性。
- 渗透测试可培训个人了解安全漏洞的风险。
软件的缺点渗透测试
软件渗透测试的缺点如下 −
- 如果渗透测试做得不好,会导致敏感信息的泄露。
- 负责渗透测试的测试人员应该得到全心全意的信任。
- 要找到经验丰富、技术娴熟、知识渊博的渗透测试人员并不容易。
- 渗透测试是一个昂贵的过程。
- 渗透测试会影响正常业务。
- 渗透测试有时无法确定软件的所有漏洞。
- 有时渗透测试会给出误报。
- 有时渗透测试会给出假阴性。
- 渗透测试结果很难解释。
软件渗透测试规则
软件渗透测试前要遵循的规则如下 −
- 应该有一份保密协议(双方签署)拥有黑客攻击的权限。
- 渗透测试应该有一个开始和结束日期。
- 应该明确提及渗透测试的目标和方法。
用于软件渗透测试的工具
用于软件渗透测试的工具列于下方 −
- Nmap
- Burp Suite
- Wireshark
结论
至此,我们对软件渗透测试教程的全面介绍就到此结束。我们首先介绍了什么是软件渗透测试、软件渗透测试的不同阶段、软件渗透测试的不同方法、软件渗透测试的不同类型、软件渗透测试时使用的不同 Web 应用程序防火墙、软件渗透测试的优点、软件渗透测试的缺点、软件渗透测试前应遵循的规则以及软件渗透测试使用的工具。这将使您具备软件性能测试的深入知识。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。