数据库存在十类安全威胁
我们都知道现在数据是核心资产,而数据基本上是存储在数据库中的。因此,保护数据库就成为了保护数据的重要环节。其实,在考虑购买第三方的专业数据库保护产品之前,有很多工作是可以现在就开始做的,尤其是对于那些数据管理员(DBA)而言。学习一些基本的数据库安全知识对他们很有帮助。这篇文章就讲述了其中一些要点。
当前数据库主要存在十类安全威胁:
威胁 1 - 滥用过高权限
威胁 2 - 滥用合法权
威胁 3 - 权限提升
威胁 4 - 平台漏洞
威胁 5 - SQL 注入
威胁 6 - 审计记录不足
威胁 7 - 拒绝服务
威胁 8 - 数据库通信协议漏洞
威胁 9 - 身份验证不足
威胁 10 - 备份数据暴露
下面将就这十类数据库安全威胁一一解读。
威胁 1 - 滥用过高权限
当用户(或应用程序)被授予超出了其工作职能所需的数据库访问权限时,这些权限可能会被恶意滥用。例如,一个大学管理员在工作中只需要能够更改学生的联系信息,不过他可能会利用过高的数据库更新权限来更改分数。
威胁 2 - 滥用合法权
用户还可能将合法的数据库权限用于未经授权的目的。假设一个恶意的医务人员拥有可以通过自定义 Web 应用程序查看单个患者病历的权限。通常情况下,该 Web应用程序的结构限制用户只能查看单个患者的病史,即无法同时查看多个患者的病历并且不允许复制电子副本。但是,恶意的医务人员可以通过使用其他客户端(如MS-Excel)连接到数据库,来规避这些限制。通过使用 MS-Excel 以及合法的登录凭据,该医务人员就可以检索和保存所有患者的病历。
这种私自复制患者病历数据库的副本的做法不可能符合任何医疗组织的患者数据保护策略。要考虑两点风险。第一点是恶意的医务人员会将患者病历用于金钱交易。第二点可能更为常见,即员工由于疏忽将检索到的大量信息存储在自己的客户端计算机上,用于合法工作目的。一旦数据存在于终端计算机上,就可能成为特洛伊木马程序以及笔记本电脑盗窃等的攻击目标。
数据库权限提升威胁
威胁 3 - 权限提升
攻击者可以利用数据库平台软件的漏洞将普通用户的权限转换为管理员权限。漏洞可以在存储过程、内置函数、协议实现甚至是 SQL语句中找到。例如,一个金融机构的软件开发人员可以利用有漏洞的函数来获得数据库管理权限。使用管理权限,恶意的开发人员可以禁用审计机制、开设伪造的帐户以及转帐等。
威胁 4 - 平台漏洞
底层操作系统(Windows 2000、UNIX 等)中的漏洞和安装在数据库服务器上的其他服务中的漏洞可能导致未经授权的访问、数据破坏或拒绝服务。例如,“冲击波病毒”就是利用了Windows 2000的漏洞为拒绝服务攻击创造条件。
威胁 5 - SQL 注入
在SQL注入攻击中,入侵者通常将未经授权的数据库语句插入(或“注入”)到有漏洞的SQL数据信道中。通常情况下,攻击所针对的数据信道包括存储过程和Web应用程序输入参数。然后,这些注入的语句被传递到数据库中并在数据库中执行。使用SQL注入,攻击者可以不受限制地访问整个数据库。 防止SQL注入将以下三个技术结合使用可以有效地抵御SQL注入:入侵防御系统(IPS)、查询级别访问控制(请参阅“滥用过高权限”)和事件相关。IPS可以识别有漏洞的存储过程或SQL注入字符串。但是,单独使用IPS并不可靠, 因为SQL注入字符串很容易发生误报。如果只依赖IPS,安全管理人员会发现大量“可能的”SQL注入警报,被搞得焦头烂额。
威胁 6 - 审计记录不足
自动记录所有敏感的和/或异常的数据库事务应该是所有数据库部署基础的一部分。如果数据库审计策略不足,则组织将在很多级别上面临严重风险。
威胁 7 - 拒绝服务
拒绝服务 (DOS)是一个宽泛的攻击类别,在此攻击中正常用户对网络应用程序或数据的访问被拒绝。可以通过多种技巧为拒绝服务 (DOS)攻击创造条件,其中很多都与上文提到的漏洞有关。例如,可以利用数据库平台漏洞来制造拒绝服务攻击,从而使服务器崩溃。其他常见的拒绝服务攻击技巧包括数据破坏、网络泛洪和服务器资源过载(内存、CPU 等)。资源过载在数据库环境中尤为普遍。
数据库身份验证不足威胁
威胁 8 - 数据库通信协议漏洞
在所有数据库供应商的数据库通信协议中,发现了越来越多的安全漏洞。在两个最新的 IBMDB2 Fix Pack 中,七个安全修复程序中有四个是针对协议漏洞1。同样地,最新的 Oracle 季度补丁程序所修复的 23个数据库漏洞中有 11 个与协议有关。针对这些漏洞的欺骗性活动包括未经授权的数据访问、数据破坏以及拒绝服务。例如, SQL Slammer2蠕虫就是利用了 Microsoft SQL Server协议中的漏洞实施拒绝服务攻击。更糟糕的是,由于自身数据库审计机制不审计协议操作,所以在自身审计记录中不存在这些欺骗性活动的记录。
威胁 9 - 身份验证不足
薄弱的身份验证方案可以使攻击者窃取或以其他方法获得登录凭据,从而获取合法的数据库用户的身份。攻击者可以采取很多策略来获取凭据。
·暴力- 攻击者不断地输入用户名/密码组合,直到找到可以登录的一组。暴力过程可能是靠猜测,也可能是系统地枚举可能的用户名/密码组合。通常,攻击者会使用自动化程序来加快暴力过程的速度。
·社会工程– 在这个方案中,攻击者利用人天生容易相信别人的倾向来获取他人的信任,从而获得其登录凭据。例如,攻击者可能在电话中伪装成一名 IT 经理,以“系统维护”为由要求提供登录凭据。
·直接窃取凭据– 攻击者可能通过抄写即时贴上的内容或复制密码文件来窃取登录凭据。
威胁 10 - 备份数据暴露
经常情况下,备份数据库存储介质对于攻击者是毫无防护措施的。因此,在若干起著名的安全破坏活动中,都是数据库备份磁带和硬盘被盗。防止备份数据暴露所有数据库备份都应加密。实际上,某些供应商已经建议在未来的 DBMS产品中不应支持创建未加密的备份。建议经常对联机的生产数据库信息进行加密,但是由于性能问题和密钥管理不善问题,这一加密方法通常是不现实的,并且一般被公认为是上文介绍的细化的权限控制的不理想的替代方法。
至于对策,有的其实由DBA通过一些配置和加固就可以DIY,当然,有的还需要考虑引入第三方的产品,例如对于提权行为、滥用合法权限行为、SQL注入行为的判定。在以后,我还会更多地谈及数据库审计的话题。
网友评论