1、L/O/G/O 网络安全 网络与数据库安全 数据库系统概述 数据安全性的控制 数据库安全性措施 数据库系统概述 DATA DATABASE DBMS 数据定义功能 数据操纵功能 运行管理 数据库建立和维护 数据库系统 DBS 课外 数据库系统概述 常见威胁 数据库不正确的访问,引起数据库中的数据错误 故意破坏数据库 未经授权的非法访问数据库信息 未经授权的非法修改数据库的数据 通过网络对数据库进行各种非法的存取 数据库系统概述 安全技术 访问控制 数据完整性维护 数据库审计 数据库加密 隐通道的分析与处理 数据安全性的控制 用户 DBMS OS DB 用户标识和鉴别 存取控制 操作系统安全保
2、护 数据密码存储 数据安全性的控制 服务器登录认证体系的第一道关 服务器角色系统管理员赋予实体的功能 数据库用户安全战场的第一道关,被数据库赋予权限的实体 数据库角色 用户定义的角色 :表单、浏览或存储等功能 固定数据库角色: 数据库赋予的授权能力 应用角色:用户使用应用程序访问 数据库安全性措施 划分等级 客户机操作系统的安全性 SQL Server的登陆安全性 数据库的使用安全性 数据库对象的使用安全性 探测与入侵 MS SQL 探测 MS SQL SQLPing IP(获取系统信息 ) OSQL.EXE探测 SC.EXE扫视服务 获取帐号 探测包 SQLServerSniffer 例如:
3、 SQLServerSniffer 1433+1434 C:AA.TXT 课外 探测与入侵 MS SQL 暴力破解 MS SQL弱口令 X-SCAN 登陆帐号 流光 登陆帐号 SQL SCAN登陆帐号以及用户帐号 SQLDict NGSSqlCrack SQLBF 扩大权限 将 SQL SERVER的服务包的级别 (version)与漏洞数据库比较(例如 Securityfocus) 例如: SQL SERVER扩展存储过程权限提升 课外 探测与入侵 MS SQL 远程管理 MS SQL的工具 (针对数据库 ) SQLBrowser SQL 后门 对于安装网络防火墙的远程服务器,即
4、使入侵者掌握了 SQL服务器的 SA密码也不容易连接到该计算机中的 SQL服务器。而且网络防火墙对 SQL端口特别敏感,总是滤掉发往 1433端口的连接请求。但在实际中,入侵者能够制作一种 SQL后门。只要把该后门文件放入远程服务器的 WEB根目录下,入侵者就可以通过 IE浏览器在远程服务器中执行任何命令。此外,由于网络防火墙不会滤掉发往 web服务器的连接请求,因此该后门对于那些同时提供 web服务的远程服务器的尤其适用。 探测与入侵 MS SQL SQL 后门 使用 SQL后门工具 “SqlRootkit.asp”的使用方法。这款工具能够利用 web访问来进行远程控制的工具。这里以正在运行
5、着 SQL以及 web服务器的 192.168.1.1主机为例来介绍。 步骤一:修改 SqlRootkit.asp中 SQL管理员帐号和密码。 首先使用记事本打开 SqlRootkit.asp,在打开后的代码中找到“ password=server;User ID=sa”一行。然后,将远程服务器的管理员密码和帐号依次取代“ server”和“ sa”。 步骤二:将 SqlRootkit.asp上传至远程服务器 web根目录Inetpubwwwroot下。 步骤三:通过 IE浏览实现远程控制。打开 IE,在浏览器中输入:http:/192.168.1.1SqlRootkit.asp来访问远程服务
6、器,得到命令输入界面。首先输入 net user命令建立帐号。然后将该帐号添加到管理员组。 课外 SQL Server Resolution服务存在堆栈缓冲溢出攻击 Microsoft SQL Server 2000通过 Resolution服务使用 keep-alive机制。 Microsoft SQL Server 2000的 Resolution服务存在漏洞,当 SQL服务在 1434UDP端口接收到第一个字节设置 0X04的包, SQL监视线程就会提取包中的数据并尝试使用用户提供的信息打开注册键值,通过发送x04x41x41x41x41的包, SQL就会打开如下的注册表键值: HKL
7、MSoftwareMicrosoftMicrosoft SQL ServerAAAAMSSQL ServerCurrent Version通过在包后追加大量字符,可导致产生基于堆栈的缓冲溢出。通过使用包含“ jmp esp”或” call esp指令的地址覆盖返回地址,可导致以 SQL进程执行任意代码 防守 SQL SERVER 认证 NT 认证 分配 SA强壮的帐户密码 服务帐户 在安装时提示你提供一个帐户用于服务器与代理之间运行,采用本地系统帐户是允许的,但一定是低权限,密码要强壮。 清除,在安装过程 sql server和服务包中存在变化,检查临时目录 MS02-035.ASP 以及临时
8、文件密码遗留下来例如sqlsp.log/setup.iss 设置安全的 SQL SERVER Netlib选项 确信只激活你要在服务器使用的网络库( Netlib ),有时也会产生缓冲溢出。 通过 SERVER NETWORK Utility 改变默认端口 1433 激活审查事件日志 减少过度权限,利用企业管理器自动分配服务帐号,就会过度过大权限支持 SQL Agent( Job system具备shell能力 )代理帐号功能 禁用 AD HOC查询(缓冲器溢出以及权限提升漏洞) 清除危险的扩展存储过程(提供附加功能,例如XP_CMDSHELL) 监控与维护 更新服务包和漏洞 使用 sqlpi
9、ng发现补丁级别有用,但不支持探测系统的服务包和漏洞,可以通过 Select version/go 注意版本变化只反映服务包,不改变版本号可以通过htttp:/ 执行变化控制 设置 C2审查模式,其提供更翔实的日志 分析通信 警报创建警报的信息管理与隔离事件的方法 :企业管理器工具管理 SQL Server信息 导出权限 Somarsoft()的 DumpSec工具 SQL应用程序的安全 SQL注入 强迫应用程序执行它不准备运行的SQL代码的行为 例如 (用 ASP)在网站上要求输入城市Set rscoordinates conn.execute(” select * from coordinates where city= ”&request (“city”)&”)结果用户输入的是你好 SQL应用程序的安全 防护 SQL注入 验证所有用户输入 最小化权限 执行一致的代码标准 L/O/G/O Thank You!