数据库测试 – 安全
数据库测试 – 安全
进行数据库安全测试是为了发现安全机制中的漏洞,以及发现数据库系统的漏洞或弱点。
数据库安全测试的主要目标是找出系统中的漏洞,并确定其数据和资源是否受到保护,免受潜在入侵者的侵害。安全测试定义了一种在定期执行时有效识别潜在漏洞的方法。
以下是执行数据库安全测试的主要目标 –
- 验证
- 授权
- 保密
- 可用性
- 正直
- 弹力
数据库系统上的威胁类型
SQL注入
这是数据库系统中最常见的攻击类型,其中恶意 SQL 语句插入数据库系统并执行以从数据库系统获取关键信息。这种攻击利用了用户应用程序实现中的漏洞。为防止这种情况,应仔细处理用户输入字段。
数据库中的提权
在这种攻击中,用户已经在数据库系统中拥有了一些访问权限,他只是试图将这种访问权限提升到更高的级别,以便他/她可以在数据库系统中执行一些未经授权的活动。
拒绝服务
在这种类型的攻击中,攻击者会使其合法用户无法使用数据库系统或应用程序资源。应用程序也可能以导致应用程序(有时是整台机器)无法使用的方式受到攻击。
未经授权访问数据
另一种类型的攻击是未经授权访问应用程序或数据库系统中的数据。未经授权的访问包括 –
- 通过基于用户的应用程序未经授权访问数据
- 通过监控他人的访问进行未经授权的访问
- 未经授权访问可重用的客户端身份验证信息
身份欺骗
在身份欺骗中,黑客使用用户或设备的凭据对网络主机发起攻击、窃取数据或绕过对数据库系统的访问控制。防止这种攻击需要 IT 基础设施和网络级别的缓解措施。
数据操作
在数据操纵攻击中,黑客更改数据以获得某些优势或损害数据库所有者的形象。
数据库安全测试技术
渗透测试
渗透测试是对计算机系统的一种攻击,其目的是寻找安全漏洞,潜在地获得对其、其功能和数据的访问权限。
风险发现
风险发现是评估和决定与损失类型和漏洞发生的可能性有关的风险的过程。这是在组织内部通过各种访谈、讨论和分析确定的。
SQL注入测试
它涉及检查应用程序字段中的用户输入。例如,输入一个特殊字符,如 ‘,’ 或 ‘;’ 不应允许在用户应用程序中的任何文本框中。当发生数据库错误时,意味着用户输入被插入到某个查询中,然后由应用程序执行。在这种情况下,应用程序容易受到 SQL 注入的攻击。
这些攻击对数据构成巨大威胁,因为攻击者可以访问服务器数据库中的重要信息。要检查 Web 应用程序中的 SQL 注入入口点,请从您的代码库中找出代码,通过接受一些用户输入在数据库上直接执行 MySQL 查询。
可以对括号、逗号和引号执行 SQL 注入测试。
密码破解
这是执行数据库系统测试时最重要的检查。为了访问关键信息,黑客可以使用密码破解工具或猜测常见的用户名/密码。这些常用密码在互联网上很容易获得,而且密码破解工具也是免费存在的。
因此,在测试时需要检查系统中是否维护了密码策略。对于任何银行和金融应用程序,都需要对所有关键信息数据库系统设置严格的密码策略。
数据库系统安全审计
安全审计是定期评估公司安全策略以确定是否遵循必要标准的过程。可以根据业务需求遵循各种安全标准来定义安全策略,然后可以根据这些标准对设置的策略进行评估。
最常见的安全标准示例有 ISO 27001、BS15999 等。
数据库安全测试工具
市场上有各种系统测试工具,可用于测试操作系统和应用程序检查。下面讨论了一些最常用的工具。
Zed 攻击代理
它是一种渗透测试工具,用于查找 Web 应用程序中的漏洞。它旨在供具有广泛安全经验的人使用,因此非常适合不熟悉渗透测试的开发人员和功能测试人员。它通常用于 Windows、Linux、Mac OS。
帕罗斯
服务器和客户端之间的所有 HTTP 和 HTTPS 数据,包括 cookie 和表单字段,都可以使用这些扫描器拦截和修改。它用于跨平台,Java JRE/JDK 1.4.2 或更高版本。
社会工程师工具包
它是一个开源工具,攻击的是人为因素而不是系统因素。它使您能够发送包含攻击代码的电子邮件、Java 小程序等。它是 Linux、Apple Mac OS X 和 Microsoft Windows 的首选。
跳鱼
此工具用于扫描他们的站点以查找漏洞。该工具生成的报告旨在作为专业 Web 应用程序安全评估的基础。它是 Linux、FreeBSD、MacOS X 和 Windows 的首选。
织女星
它是一种开源的多平台 Web 安全工具,用于查找 Web 应用程序中的 SQL 注入、跨站点脚本 (XSS) 和其他漏洞的实例。它是 Java、Linux 和 Windows 的首选。
麋鹿
Wapiti 是一种开源和基于 Web 的工具,可扫描 Web 应用程序的网页并检查可以注入数据的脚本和表单。它是用 Python 构建的,可以检测文件处理错误、数据库、XSS、LDAP 和 CRLF 注入、命令执行检测。
网甲虫
它是用 Java 编写的,用于分析通过 HTTP/HTTPS 协议进行通信的应用程序。该工具主要是为可以自己编写代码的开发人员设计的。此工具不依赖于操作系统。