数据库测试 - 安全性

数据库安全测试的目的是发现安全机制中的漏洞,以及数据库系统的弱点或弱点。

数据库安全测试的主要目标是找出系统中的漏洞,并确定其数据和资源是否受到保护,免受潜在入侵者的侵害。安全测试定义了一种定期执行时有效识别潜在漏洞的方法。

下面给出了执行数据库安全测试的主要目标 −

  • 身份验证
  • 授权
  • 机密性
  • 可用性
  • 完整性
  • 弹性

数据库系统上的威胁类型

SQL 注入

这是数据库系统中最常见的攻击类型,其中恶意 SQL 语句被插入数据库系统并执行以从数据库系统获取关键信息。这种攻击利用了用户应用程序实施中的漏洞。为防止这种情况发生,应谨慎处理用户输入字段。

数据库中的权限提升

在这种攻击中,用户已经在数据库系统中拥有一些访问权限,他只是试图将此访问权限提升到更高的级别,以便他/她可以在数据库系统中执行一些未经授权的活动。

拒绝服务

在这种类型的攻击中,攻击者使数据库系统或应用程序资源无法供其合法用户使用。应用程序也可能受到攻击,导致应用程序甚至整个机器无法使用。

未经授权访问数据

另一种类型的攻击是未经授权访问应用程序或数据库系统内的数据。未经授权的访问包括 −

  • 通过基于用户的应用程序对数据进行未经授权的访问
  • 通过监视其他人的访问进行未经授权的访问
  • 未经授权访问可重复使用的客户端身份验证信息

身份欺骗

在身份欺骗中,黑客使用用户或设备的凭据对网络主机发起攻击,窃取数据或绕过对数据库系统的访问控制。防止此类攻击需要 IT 基础设施和网络级缓解措施。

数据操纵

在数据操纵攻击中,黑客会更改数据以获取某些优势或损害数据库所有者的形象。

数据库安全测试技术

渗透测试

渗透测试是对计算机系统发起的攻击,目的是查找安全漏洞,可能获得对计算机系统及其功能和数据的访问权限。

风险发现

风险发现是评估和确定与损失类型和漏洞发生可能性相关的风险的过程。这由组织内部的各种访谈、讨论和分析确定。

SQL 注入测试

它涉及检查应用程序字段中的用户输入。例如,不应允许在用户应用程序的任何文本框中输入","或";"等特殊字符。当数据库发生错误时,这意味着用户输入被插入到某个查询中,然后由应用程序执行。在这种情况下,应用程序容易受到 SQL 注入攻击。

这些攻击对数据构成了巨大威胁,因为攻击者可以从服务器数据库中获取重要信息。要检查 Web 应用程序中的 SQL 注入入口点,请从代码库中找出通过接受某些用户输入对数据库执行直接 MySQL 查询的代码。

可以对括号、逗号和引号执行 SQL 注入测试。

密码破解

这是执行数据库系统测试时最重要的检查。要访问关键信息,黑客可以使用密码破解工具或猜测常用的用户名/密码。这些常用密码在互联网上很容易获得,而且密码破解工具也随处可见。

因此,有必要在测试时检查系统中是否维护了密码策略。对于任何银行和金融应用程序,需要对所有关键信息数据库系统设置严格的密码策略。

数据库系统的安全审计

安全审计是一个定期评估公司安全策略的过程,以确定是否遵循了必要的标准。可以根据业务需求遵循各种安全标准来定义安全策略,然后根据这些标准对既定策略进行评估。

最常见的安全标准示例是 ISO 27001、BS15999 等。

数据库安全测试工具

市场上有各种系统测试工具,可用于测试操作系统和应用程序检查。下面讨论了一些最常见的工具。

Zed Attack Proxy

它是一种用于查找 Web 应用程序中漏洞的渗透测试工具。它旨在供具有广泛安全经验的人员使用,因此非常适合刚接触渗透测试的开发人员和功能测试人员。它通常用于 Windows、Linux 和 Mac OS。

Paros

使用这些扫描器可以拦截和修改服务器和客户端之间的所有 HTTP 和 HTTPS 数据,包括 cookie 和表单字段。它用于跨平台、Java JRE/JDK 1.4.2 或更高版本。

社交工程师工具包

它是一种开源工具,攻击的是人为因素而不是系统因素。它使您能够发送包含攻击代码的电子邮件、Java 小程序等。它是 Linux、Apple Mac OS X 和 Microsoft Windows 的首选。

Skipfish

此工具用于扫描其站点是否存在漏洞。该工具生成的报告旨在作为专业 Web 应用程序安全评估的基础。它是 Linux、FreeBSD、MacOS X 和 Windows 的首选。

Vega

它是一种开源、多平台的 Web 安全工具,用于查找 Web 应用程序中的 SQL 注入、跨站点脚本 (XSS) 和其他漏洞的实例。它是 Java、Linux 和 Windows 的首选。

Wapiti

Wapiti 是一个开源的基于 Web 的工具,可扫描 Web 应用程序的网页并检查可以注入数据的脚本和表单。它使用 Python 构建,可以检测文件处理错误、数据库、XSS、LDAP 和 CRLF 注入、命令执行检测。

Web Scarab

它用 Java 编写,用于分析通过 HTTP/HTTPS 协议通信的应用程序。此工具主要面向可以自己编写代码的开发人员。此工具不依赖于操作系统。