SQL Server突破SETHC:新起点,新自由

1. 背景介绍

SQL Server是深受企业用户欢迎的关系型数据库管理系统(RDBMS),它提供了可靠性、安全性以及高度可扩展性的数据管理能力。然而,SQL Server中通过启用安全漏洞利用的方法重置系统管理账户的技术(SETHC),也被广泛应用于管理擅自接管的SQL Server实例。通过这个方法可以绕过对系统的安全控制,获取管理员权限,对数据进行篡改和窃取。此外,在云环境中,容器技术或者微服务架构,SQL Server的SETHC技术被更多的恶意攻击者所利用。

1.1 SQL Server 中的SETHC 漏洞

SETHC漏洞最早是由美国黑客教练Alexander Sotirov在2008年提出的,他发现通过重命名系统文件,可以让恶意攻击者利用service exe 的系统特权来访问机器,再注册为system32文件夹的一个执行文件。同时,还可以通过与Windows启动进程一同运行cmd.exe进程,并将其设置为安全劫持会话,进而获得管理员权限。

net user administrator password

ren c:\windows\system32\sethc.exe sethc1.exe

copy cmd.exe sethc.exe

1.2 SETHC 漏洞的危害

SETHC 漏洞的发现不仅让微软公司陷入被动,SETHC漏洞所带来的风险也让企业用户们陷入恐慌。当管理员使用SQL Server时,该漏洞允许其他人尝试以系统账户的身份登录到目标服务器上,即使在加密的情况下也是如此。通过利用这个漏洞,攻击者可以获得完整的控制权并注入自己的恶意代码或卸载软件,以导致离线攻击或信息泄露,这对于许多企业来说是致命的。

2. 新起点:防范SETHC漏洞

针对SQL Server 中SETHC漏洞引起的企业安全问题,微软公司出台了一系列的安全措施和建议,企业可以根据这些方案来加强安全管理。

2.1 确保及时安装补丁

之前的SQL Server版本可能存在SETHC漏洞,需要使用累积更新或者快速修补程序来修补漏洞。微软公司持续发布安全更新补丁以修复这些漏洞,建议管理员及时更新对应的补丁程序。

DECLARE @hotfix_sql VARCHAR(MAX)='SELECT * FROM sys.dm_qn_store_cleaner_events' 

+CHAR(59)

+'SELECT * FROM sys.dm_xtp_object_stats;'

+CHAR(59)

+'UPDATE STATISTICS mytable WITH FULLSCAN;'

EXEC sp_executesql @hotfix_sql

2.2 防火墙策略的效应

在SQL Server 安装中启用了较为严格的防火墙策略能够有效的缓解SETHC漏洞的风险,建议提供SQL服务的Windows防火墙开启严格的入站规则,只允许虚拟专用网络VPN 和IP范围内的指定IP地址进行连接。

2.3 禁用SA账户并创造为其他的管理员账户

固定账户SA拥有最高的数据库权限,攻击者利用SETHC漏洞进行注入可直接获取该管理员权限。为了降低风险,建议使用Windows登录账户进行SQL Server的授权,禁用SA账号,创建其他限制的管理员账户,使用这些账户来执行SQL Server的管理任务。

3. 新自由:SQL Server 应用中的助手

SETHC漏洞恶意攻击者不能完全避免,因此如何发现已经遭遇攻击是一个值得重视的问题,这样能够更快的管理整个应用。SQL Server应用中,我们通过以下方法来帮助捕获和标识SETHC 漏洞的攻击行为。

3.1 SQL Server状况监测

我们可以通过SQL Server的状态监测机制来获得SQL Server在运行过程中的所有信息。通过监测温度(temperature)、CPU和内存占用情况,可以及时发现SETHC漏洞的攻击行为。

SELECT

approximate_bucket_count,

bucket_count,

empty_bucket_count,

max_length_in_bytes,

min_length_in_bytes,

avg_length_in_bytes,

range_rows_count,

equal_rows_count

FROM sys.dm_db_stats_histogram ('myDB','mytable');

3.2 使用工具记录SQL Server的行为

我们可以通过工具来抓取SQL Server的网络流量并检测恶意数据传输的异常流量,标识监测SETHC漏洞的攻击行为。

在SQL Server Management Studio中开启服务器端跟踪(trace),以帮助手动诊断SETHC漏洞和各种其他SQL Server问题,以及提供有关查询性能的信息。

4. 结论

从防范SETHC漏洞和帮助捕获攻击行为两个方面出发,SQL Server在应用中应该更加注重其安全管理。以上方法不仅有助于SQL Server本身,也有助于企业安全风险的缓解。相信在未来的SQL Server应用中,继续加强安全防范并汇总安全监测日志,能够更好的发现和解决服务器安全问题。我们期待着在SQL Server应用领域中,更多的创新安全防御和应对的相关方法的出现。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签