论文部分内容阅读
摘 要:本文在阐述数据库机构的基础上,对数据库存在的安全漏洞进行了分析,并针对漏洞提出了相应的管理策略。
关键词:安全漏洞;管理策略
中图分类号:TP311.13
随着社会信息化程度的不断提高,各行各业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。数据库作为数据资料的存储和管理的仓库,对系统的稳定运行起着关键的支撑作用,数据库存储的数据越来越庞大,而且重要性和机密性越来越强,数据库系统也成为黑客攻击的主要目标,一旦数据资料遭到破坏或者入侵,系统将无法提供正常的服务甚至机密泄露。因此,数据库的安全对于整个系统的稳定运行至关重要。
1 数据库安全漏洞
安全漏洞是指受限制的计算机、组件、应用程序或其他联机资源的无意中留下的不受保护的入口点。漏洞是硬件软件或使用策略上的缺陷,病毒和黑客通过漏洞对计算机进行攻击。数据库的漏洞主要有以下几方面:
1.1 弱用户名或密码
SQL Server服务器级有两种身份验证模式:混合验证模式、windows集成验证模式。Windows身份验证模式是SQL Server 2000中的默认身份验证模式。在Windows身份验证模式下,SQL Server 2000仅依赖用户的Windows身份验证。在混合模式下,可以使用Windows身份验证或SQL Server身份验证对用户进行验证。SQL Server身份验证的用户的用户名和密码经过验证后才能登陆,当用户名和密码的复杂程度不够高,健壮性不强时,通过暴力破解,攻击者不断地输入用户名和密码组合,直到找到可以登录的一组,非法入侵数据库。
1.2 SQL注入
SQL注入是SQL查询命令通过插入到Web表单提交或输入域名或页面请求的查询字符串中,达到欺骗服务器执行恶意的SQL命令,是发生在应用程序之数据库层的安全漏洞。SQL注入攻击是最为常见的Web应用程序攻击技术。同时SQL注入攻击所带来的安全破坏也是不可弥补的。
1.3 启用不必要的数据库服务
数据库启动不必要的数据库服务功能,黑客通过端口扫描技术检测开放的端口,并且通过扫描程序,检测缺省系统用户是否被锁定,如未被锁定,黑客并利用权限存在的漏洞,将系统用户的权限提升至DBA,对数据库进行访问,恶意修改数据库。
1.4 缓冲区溢出
缓冲区溢出是一种非常普遍和危险的漏洞,利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。由于代码不严谨导致数据库缓冲区溢出,或者函数参数、过长的连接串、SQL语句存在于数据库内核中,给黑客提供代码段被覆盖的漏洞,黑客通过任意覆盖代码段对数据库服务器进行各种操作,最终致使数据库崩溃,引起数据库拒绝服务。
1.5 拒绝服务攻击
数据库中命名管道拒绝服务、拒绝登录、RPC请求拒绝服务等存在漏洞时,导致服务访问被拒绝。主要表现在:远程攻击者向数据库发送不正确格式的TDS数据包请求引起拒绝服务;远程或本地用户利用向命名管道发送一个长请求导致拒绝服务;处理用户提交的函数的参数如果存在漏洞,不正确的参数数据会导致服务器崩溃。
1.6 权限提升漏洞
黑客通过攻击数据库平台软件的漏洞,把普通用户的访问权限提升为管理员权限。当黑客拥有管理者权限后,就可以对数据库进行任意操作,从而导致数据泄露和系统崩溃。
1.7 敏感数据透明传输
在通常使用的数据库中,数据资料通常以明文形式存储在硬件设备中,一旦存储数据的硬件设备丢失将有引起信息泄密的风险。丢失的数据文件往往以明文形式存在于操作系统中,非法获取者可以通过网站、操作系统读取到这些文件,从而时数据库数据遭到泄密。另外,获取数据文件者也可以通过文本工具读取明文的部分信息,或者通过DUL/MyDUL工具完全恢复原始数据库数据文件。7天酒店数据库被盗就是典型的数据库泄密。
2 管理策略
数据库安全(DataBase Security)是指采取各种安全措施对数据库及其相关文件和数据进行保护。数据库安全包含两方面内容:第一层是数据库系统本身安全性问题;例如安全保护的策略,尤其是控制访问的策略,尽可能地杜绝所有可能的数据库非法访问。第二层是指系统信息安全,通过对数据库访问的控制和数据安全防护,来保护数据库数据的完整性、独立性、数据安全性、并发控制、故障恢复等几个方面。
2.1 使用安全的密码策略
配置的数据库账号密码过于简单,使得密码很容易被盗,因此应该设置复杂度高和健壮强的密码,根据最小授权原则为每个数据库用户授权,数据库用户账号长度一般建议大于或者等于10,并且应该包含数字和字母,最好通过一个口令检验函数来验证口令的安全度。并且定期修改用户密码,数据库管理员对密码和账号进行检查,保证域或本地策略启用强密码策略。
2.2 授权机制
访问控制是最重要的数据库安全策略之一[2]。为了提高数据库的信息访问安全度,用户在访问前服务器前都需要通过认证用户的身份,然后确定用户是否被授权。为了加强身份认证和访问控制,适应对大规模用户和海量数据资源的管理,通常DBMS主要使用的是基于角色的访问控制RBAC(Role based access control)。针对不同的用户对数据对象允许执行的操作权限,划分了服务器角色与数据库角色,用户根据授予权限进行访问,并且对用户的存取访问方式(只读、读写、添加、删除等)进行控制。
2.3 加强数据库日志的记录
定期审核数据库全部登录事件的状态,并且把状态窜出在数据库系统和操作系统日志里面,根据日志记录定期查看数据库之中是否有可疑的登录事件发生,来深入分析用户是否是非法用户。
2.4 管理扩展存储过程
要慎重修改调用扩展存储过程的权限或者存储过程,在修改之前最好先做备份,调试成功无误后再投入应用,删除不必要的存储过程,防止这些存储过程被人利用以此提升权限或进行破坏。如果不需要扩展存储过程,可以把Xp_cmdshell删掉。
2.5 数据安全管理
根据一定的算法将原始数据加密,将原始数据加密成为不可直接识别的格式,使数据在网络中以密码的形式存储和传输。防止数据库中数据在存储和传输中失密。
2.6 数据库备份
实现数据库系统安全运行的重要技术是数据备份与恢复。如果数据库系统发生故障,数据库信息安全就会面临威胁。为了防止丢失或损坏重要数据,数据库管理员应当提前做好数据库备份,一旦系统发生故障,利用数据库备份恢复原来的数据库,从而保证数据的一致性和完整性。具体点说,常用的数据库备份方法有:动态备份(数据库运行时将其备份)、静态备份(关闭数据库时将其备份)和逻辑备份(利用软件技术实现原始数据库内容的镜像)等;通过磁盘镜像、数据库备份文件和数据库在线日志三种方式完成数据库恢复。定期地将整个数据库复制到多个存储设备上保存起来的过程,当数据库遭到破坏时,可以利用备份的数据库进行数据恢复。
3 结束语
针对数据库系统的攻击将直接导致敏感与隐私信息泄露[3],本文对主流数据库SQL Server 数据库存在的安全漏洞进行了系统性的分析,并对存在的漏洞提出了相应的管理策略,在完善的管理策略下,保证数据库的安全运行和数据的完整性及机密性。
参考文献:
[1]吴亮,蒋玉明,何微.浅析数据库安呈管理[J].科技信息,2009(36):534.
[2]李瑞林.计算机数据库安全管理研究[J].制造业自动化,2012(34):24-26.
[3]张敏.数据库安全研究现状与展望[J].中国科学院院刊,2011(26):303-309.
作者单位:武汉商学院,武汉 430000
关键词:安全漏洞;管理策略
中图分类号:TP311.13
随着社会信息化程度的不断提高,各行各业对信息系统的依赖性越来越高,数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。数据库作为数据资料的存储和管理的仓库,对系统的稳定运行起着关键的支撑作用,数据库存储的数据越来越庞大,而且重要性和机密性越来越强,数据库系统也成为黑客攻击的主要目标,一旦数据资料遭到破坏或者入侵,系统将无法提供正常的服务甚至机密泄露。因此,数据库的安全对于整个系统的稳定运行至关重要。
1 数据库安全漏洞
安全漏洞是指受限制的计算机、组件、应用程序或其他联机资源的无意中留下的不受保护的入口点。漏洞是硬件软件或使用策略上的缺陷,病毒和黑客通过漏洞对计算机进行攻击。数据库的漏洞主要有以下几方面:
1.1 弱用户名或密码
SQL Server服务器级有两种身份验证模式:混合验证模式、windows集成验证模式。Windows身份验证模式是SQL Server 2000中的默认身份验证模式。在Windows身份验证模式下,SQL Server 2000仅依赖用户的Windows身份验证。在混合模式下,可以使用Windows身份验证或SQL Server身份验证对用户进行验证。SQL Server身份验证的用户的用户名和密码经过验证后才能登陆,当用户名和密码的复杂程度不够高,健壮性不强时,通过暴力破解,攻击者不断地输入用户名和密码组合,直到找到可以登录的一组,非法入侵数据库。
1.2 SQL注入
SQL注入是SQL查询命令通过插入到Web表单提交或输入域名或页面请求的查询字符串中,达到欺骗服务器执行恶意的SQL命令,是发生在应用程序之数据库层的安全漏洞。SQL注入攻击是最为常见的Web应用程序攻击技术。同时SQL注入攻击所带来的安全破坏也是不可弥补的。
1.3 启用不必要的数据库服务
数据库启动不必要的数据库服务功能,黑客通过端口扫描技术检测开放的端口,并且通过扫描程序,检测缺省系统用户是否被锁定,如未被锁定,黑客并利用权限存在的漏洞,将系统用户的权限提升至DBA,对数据库进行访问,恶意修改数据库。
1.4 缓冲区溢出
缓冲区溢出是一种非常普遍和危险的漏洞,利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。由于代码不严谨导致数据库缓冲区溢出,或者函数参数、过长的连接串、SQL语句存在于数据库内核中,给黑客提供代码段被覆盖的漏洞,黑客通过任意覆盖代码段对数据库服务器进行各种操作,最终致使数据库崩溃,引起数据库拒绝服务。
1.5 拒绝服务攻击
数据库中命名管道拒绝服务、拒绝登录、RPC请求拒绝服务等存在漏洞时,导致服务访问被拒绝。主要表现在:远程攻击者向数据库发送不正确格式的TDS数据包请求引起拒绝服务;远程或本地用户利用向命名管道发送一个长请求导致拒绝服务;处理用户提交的函数的参数如果存在漏洞,不正确的参数数据会导致服务器崩溃。
1.6 权限提升漏洞
黑客通过攻击数据库平台软件的漏洞,把普通用户的访问权限提升为管理员权限。当黑客拥有管理者权限后,就可以对数据库进行任意操作,从而导致数据泄露和系统崩溃。
1.7 敏感数据透明传输
在通常使用的数据库中,数据资料通常以明文形式存储在硬件设备中,一旦存储数据的硬件设备丢失将有引起信息泄密的风险。丢失的数据文件往往以明文形式存在于操作系统中,非法获取者可以通过网站、操作系统读取到这些文件,从而时数据库数据遭到泄密。另外,获取数据文件者也可以通过文本工具读取明文的部分信息,或者通过DUL/MyDUL工具完全恢复原始数据库数据文件。7天酒店数据库被盗就是典型的数据库泄密。
2 管理策略
数据库安全(DataBase Security)是指采取各种安全措施对数据库及其相关文件和数据进行保护。数据库安全包含两方面内容:第一层是数据库系统本身安全性问题;例如安全保护的策略,尤其是控制访问的策略,尽可能地杜绝所有可能的数据库非法访问。第二层是指系统信息安全,通过对数据库访问的控制和数据安全防护,来保护数据库数据的完整性、独立性、数据安全性、并发控制、故障恢复等几个方面。
2.1 使用安全的密码策略
配置的数据库账号密码过于简单,使得密码很容易被盗,因此应该设置复杂度高和健壮强的密码,根据最小授权原则为每个数据库用户授权,数据库用户账号长度一般建议大于或者等于10,并且应该包含数字和字母,最好通过一个口令检验函数来验证口令的安全度。并且定期修改用户密码,数据库管理员对密码和账号进行检查,保证域或本地策略启用强密码策略。
2.2 授权机制
访问控制是最重要的数据库安全策略之一[2]。为了提高数据库的信息访问安全度,用户在访问前服务器前都需要通过认证用户的身份,然后确定用户是否被授权。为了加强身份认证和访问控制,适应对大规模用户和海量数据资源的管理,通常DBMS主要使用的是基于角色的访问控制RBAC(Role based access control)。针对不同的用户对数据对象允许执行的操作权限,划分了服务器角色与数据库角色,用户根据授予权限进行访问,并且对用户的存取访问方式(只读、读写、添加、删除等)进行控制。
2.3 加强数据库日志的记录
定期审核数据库全部登录事件的状态,并且把状态窜出在数据库系统和操作系统日志里面,根据日志记录定期查看数据库之中是否有可疑的登录事件发生,来深入分析用户是否是非法用户。
2.4 管理扩展存储过程
要慎重修改调用扩展存储过程的权限或者存储过程,在修改之前最好先做备份,调试成功无误后再投入应用,删除不必要的存储过程,防止这些存储过程被人利用以此提升权限或进行破坏。如果不需要扩展存储过程,可以把Xp_cmdshell删掉。
2.5 数据安全管理
根据一定的算法将原始数据加密,将原始数据加密成为不可直接识别的格式,使数据在网络中以密码的形式存储和传输。防止数据库中数据在存储和传输中失密。
2.6 数据库备份
实现数据库系统安全运行的重要技术是数据备份与恢复。如果数据库系统发生故障,数据库信息安全就会面临威胁。为了防止丢失或损坏重要数据,数据库管理员应当提前做好数据库备份,一旦系统发生故障,利用数据库备份恢复原来的数据库,从而保证数据的一致性和完整性。具体点说,常用的数据库备份方法有:动态备份(数据库运行时将其备份)、静态备份(关闭数据库时将其备份)和逻辑备份(利用软件技术实现原始数据库内容的镜像)等;通过磁盘镜像、数据库备份文件和数据库在线日志三种方式完成数据库恢复。定期地将整个数据库复制到多个存储设备上保存起来的过程,当数据库遭到破坏时,可以利用备份的数据库进行数据恢复。
3 结束语
针对数据库系统的攻击将直接导致敏感与隐私信息泄露[3],本文对主流数据库SQL Server 数据库存在的安全漏洞进行了系统性的分析,并对存在的漏洞提出了相应的管理策略,在完善的管理策略下,保证数据库的安全运行和数据的完整性及机密性。
参考文献:
[1]吴亮,蒋玉明,何微.浅析数据库安呈管理[J].科技信息,2009(36):534.
[2]李瑞林.计算机数据库安全管理研究[J].制造业自动化,2012(34):24-26.
[3]张敏.数据库安全研究现状与展望[J].中国科学院院刊,2011(26):303-309.
作者单位:武汉商学院,武汉 430000