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