十大数据库安全威胁.docx
- 文档编号:8795773
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:13
- 大小:24.71KB
十大数据库安全威胁.docx
《十大数据库安全威胁.docx》由会员分享,可在线阅读,更多相关《十大数据库安全威胁.docx(13页珍藏版)》请在冰点文库上搜索。
十大数据库安全威胁
十大数据库安全威胁
简介:
企业的数据库体系结构会受到各种各样的威胁。
本文档的目的是通过提供由Imperva的应用防御中心界定的十大数据库漏洞的列表,来帮助各个组织处理最严峻的威胁。
并且介绍每种威胁的背景信息、减轻风险的一般策略以及Imperva的SecureSphere数据库安全网关保护。
通过解决这十大威胁,各个组织将可以满足世界上监管最严格的行业的规范要求和减轻风险的要求。
威胁1-滥用过高权限
当用户(或应用程序)被授予超出了其工作职能所需的数据库访问权限时,这些权限可能会被恶意滥用。
例如,一个大学管理员在工作中只需要能够更改学生的联系信息,不过他可能会利用过高的数据库更新权限来更改分数。
原因很简单,数据库管理员没有时间为每个用户定义并更新细化的访问权限控制机制,从而使给定的用户拥有了过高的权限。
因此,所有用户或多组用户都被授予了远远超出其特定工作需要的通用默认访问权限。
防止滥用过高权限-查询级别访问控制:
应对过高权限的解决方案是查询级别访问控制。
查询级别访问控制是这样一种机制,它将数据库权限限制到最低要求的SQL操作(SELECT、_update等)和数据。
数据访问控制不只细化到表,而是必须细化到表中特定的行和列。
使用这种充分细化的查询级别访问控制机制,上文提到的恶意大学管理员虽然可以更新联系信息,但是如果他试图更改分数则将发出警报。
查询级别访问控制不但可以帮助检测恶意员工是否滥用过高权限,还可以防止本文中介绍的其他重大威胁中的大多数。
大部分数据库软件实现时都集成了某种程度的查询级别访问控制(触发器、行级安全性等),但是这些“内置”功能的手动操作本质使其对于几乎所有部署来说是不现实的,除非是功能非常有限的部署。
若要针对整个数据库中所有行和列以及操作来为所有用户手动定义查询级别访问控制策略,需要花费相当长的时间。
更糟糕的是,由于用户角色随时间而发生变化,必须更新查询策略以反映这些新的角色。
对大部分数据库管理员来说,为某一时刻的数个用户定义有用的查询策略已经很困难,更不用说为不同时间的几百名用户定义策略。
因此,大部分组织为用户提供了很多用户都可以使用的一组过高的通用访问权限。
需要使用自动化的工具来使真正的查询级别访问控制变为现实。
SecureSphere动态建模–自动化的查询级别访问控制
SecureSphere数据库安全网关提供了自动化机制来定义和实施查询级别访问控制策略。
SecureSphere的动态建模技术应用了自动化的学习算法,为访问数据库的每个用户和应用程序创建查询级别使用模型。
每个模型都从一般使用模式扩展到每个单独的查询和存储过程。
SecureSphere的学习算法可以不断更新该模型,因此当用户角色更改时不需要进行手动优化。
如果任何用户启动了不符合模型的操作,则SecureSphere将记录该事件、发出警报,并可以根据严重度阻止该操作。
使用“动态建模”,上文提到的更改分数的大学管理员将会很容易被检测到。
该管理员的模型将包括一组反映对特定学生联系信息进行正常修改的查询,还可能包括反映对分数的只读访问的查询。
但是,如果突然试图更改分数,则将触发警报。
威胁2-滥用合法权限
用户还可能将合法的数据库权限用于XX的目的。
假设一个恶意的医务人员拥有可以通过自定义Web应用程序查看单个患者病历的权限。
通常情况下,该Web应用程序的结构限制用户只能查看单个患者的病史,即无法同时查看多个患者的病历并且不允许复制电子副本。
但是,恶意的医务人员可以通过使用其他客户端(如MS-Excel)连接到数据库,来规避这些限制。
通过使用MS-Excel以及合法的登录凭据,该医务人员就可以检索和保存所有患者的病历。
这种私自复制患者病历数据库的副本的做法不可能符合任何医疗组织的患者数据保护策略。
要考虑两点风险。
第一点是恶意的医务人员会将患者病历用于金钱交易。
第二点可能更为常见,即员工由于疏忽将检索到的大量信息存储在自己的客户端计算机上,用于合法工作目的。
一旦数据存在于终端计算机上,就可能成为特洛伊木马程序以及笔记本电脑盗窃等的攻击目标。
防止滥用合法权限–了解数据库访问的上下文
应对滥用合法权限的解决方案是不但要将数据库访问控制应用到上文介绍的特定查询,而且还要应用到数据库访问的上下文。
通过实施客户端应用程序、时间、位置等的策略,可以识别以可疑方式使用合法数据库访问权限的用户。
SecureSphere动态建模–基于上下文的访问控制
除了查询信息外(请参阅上文的“过高权限”),SecureSphere的动态建模技术还可以自动创建正常数据库交互的上下文的模型。
存储在模型中的特定上下文信息包括时间、源IP地址、检索的数据量以及应用程序客户端等。
如果任何连接的上下文与存储在用户的模型中的信息不匹配,则将触发警报。
例如,SecureSphere检测到上文提到的恶意医务人员,不仅是由于他使用MS-Excel不规范,而且还由于在单个会话中检索了大量的数据。
在此特定情况下,如果非标准MS-Excel查询的结构不规范,也将触发查询级别冲突(请参阅上文的“滥用过高权限”)。
威胁3权限提升
攻击者可以利用数据库平台软件的漏洞将普通用户的权限转换为管理员权限。
漏洞可以在存储过程、内置函数、协议实现甚至是SQL语句中找到。
例如,一个金融机构的软件开发人员可以利用有漏洞的函数来获得数据库管理权限。
使用管理权限,恶意的开发人员可以禁用审计机制、开设伪造的帐户以及转帐等。
防止权限提升–IPS和查询级别访问控制
通过将传统的入侵防御系统(IPS)与查询级别访问控制(请参阅上文的“过高权限”)一起使用,可以防止权限提升漏洞被利用。
IPS可以检查数据库通信,以识别与已知漏洞相对应的模式。
例如,如果已经知道给定的函数有漏洞,则IPS可以阻止对有漏洞的过程的所有访问,或只阻止包含嵌入的攻击的过程(如果可行)。
但是,要单独使用IPS来仅准确定位包含攻击的数据库请求是很困难的。
通常情况下,很多有漏洞的数据库函数都用于合法的目的。
因此,阻止所有这类函数出现是不可取的。
IPS必须准确地将合法函数与包含嵌入的攻击的函数区分开来。
在很多情况下,攻击方式千变万化,因此是不可行的。
在这些情况下,IPS系统可以只在警报模式中使用(即不阻止),因为存在误报的可能。
为了提高准确性,IPS可以与其他攻击指示器(如查询访问控制)一起使用。
IPS用于检查数据库请求是否访问了有漏洞的函数,而查询访问控制用于检测该请求是否与正常的用户行为相匹配。
如果单个请求访问了有漏洞的函数并且有异常的行为,则几乎可以肯定有攻击正在进行。
SecureSphere权限提升–集成的IPS和动态建模
SecureSphere将高级的IPS与用于查询访问控制的动态建模(请参阅上文的“过高权限”)集成在一起。
这些技术结合在一起,可以极其准确地防止权限提升。
SecureSphereIPS使用可用于所有协议并与Snort?
兼容的病毒特征词典,提供了针对已知漏洞的攻击的保护。
此外,应用程序防御中心(即Imperva的国际安全研究组织)提供了专有的特定于SQL的保护,从而确保SecureSphere提供了世界领先的数据库IPS安全解决方案。
SecureSphere安全更新服务可自动更新所有病毒特征词典,以确保所实施的保护始终基于最新的信息。
SecureSphereIPS能够以内联模式阻止某些容易识别的攻击,而不需要任何其他攻击确认。
但是,如果给定的请求被归类为仅可疑,则SecureSphere可以将该请求与相关的动态模型冲突进行关联以验证攻击活动。
为了举例说明SecureSphere如何将IPS和动态建模相集成,我们回过头来再看上文提到的恶意金融服务软件开发人员。
假设该开发人员试图利用数据库函数中已知的缓冲区溢出漏洞来插入恶意代码,以将其权限提升为数据库管理员权限。
在此情况下,SecureSphere可识别两个同时发生的冲突。
第一,任何试图访问已知有漏洞的函数的查询都将触发IPS冲突。
第二,异常的查询将触发模型冲突。
通过将同一用户发出的单个数据库请求中的两个冲突相关联,就可以准确地验证此攻击活动,然后发出高优先级警报或阻止该操作。
威胁4-平台漏洞
底层操作系统(Windows2000、UNIX等)中的漏洞和安装在数据库服务器上的其他服务中的漏洞可能导致XX的访问、数据破坏或拒绝服务。
例如,“冲击波病毒”就是利用了Windows2000的漏洞为拒绝服务攻击创造条件。
防止平台攻击-软件更新和入侵防御
若要防止数据库资产受到平台攻击,需要将定期软件更新程序(修复程序)和入侵防御系统(IPS)结合使用。
供应商提供的更新程序可以消除在数据库平台中逐渐发现的漏洞。
但是,软件更新程序是按一定周期提供的,企业也是按一定周期实现这些更新的。
在两次更新之间,数据库得不到保护。
此外,由于兼容问题,有时根本无法进行软件更新。
若要解决这些问题,应该实现IPS。
如前所述,IPS可检查数据库通信并识别针对已知漏洞的攻击。
SecureSphere平台保护–IPS
如前所述(请参阅上文的“权限提升”),SecureSphere集成了高级的IPS来提供针对数据库蠕虫和其他平台攻击的保护。
Imperva的应用防御中心研究组织提供独特的特定于数据库的攻击保护,从而确保提供世界上最强大的数据库IPS安全解决方案。
实际上,SecureSphereIPS甚至可以提供针对数据库平台供应商尚未公布的漏洞以及修补程序尚不可用的漏洞的保护。
威胁5-SQL注入
在SQL注入攻击中,入侵者通常将XX的数据库语句插入(或“注入”)到有漏洞的SQL数据信道中。
通常情况下,攻击所针对的数据信道包括存储过程和Web应用程序输入参数。
然后,这些注入的语句被传递到数据库中并在数据库中执行。
使用SQL注入,攻击者可以不受限制地访问整个数据库。
防止SQL注入
将以下三个技术结合使用可以有效地抵御SQL注入:
入侵防御系统(IPS)、查询级别访问控制(请参阅“滥用过高权限”)和事件相关。
IPS可以识别有漏洞的存储过程或SQL注入字符串。
但是,单独使用IPS并不可靠,因为SQL注入字符串很容易发生误报。
如果只依赖IPS,安全管理人员会发现大量“可能的”SQL注入警报,被搞得焦头烂额。
但是,通过将SQL注入病毒特征与其他冲突(如查询级别访问控制冲突)相关联,就可以准确地识别真正的攻击。
在正常的业务操作中,SQL注入病毒特征不可能与其他冲突出现在同一个请求中。
SecureSphereSQL注入保护
SecureSphere集成了动态建模、IPS和相关性攻击验证技术来非常准确地识别SQL注入。
动态建模通过自动为每个用户和应用程序创建正常查询模式的模型,来提供查询级别访问控制。
任何与之前建立的用户或应用程序模式不匹配的查询(如SQL注入攻击查询)将被立即识别。
SecureSphereIPS包含专为识别有漏洞的存储过程和SQL注入字符串而设计的独特的数据库病毒特征词典。
相关性攻击验证可以将多个SecureSphere检测层产生的安全冲突相关联。
通过将同一用户的多个冲突相关联,SecureSphere能非常准确地检测SQL注入攻击,而使用任何单个检测层都无法做到如此准确。
假设有以下所示的存储过程SQL注入攻击。
_execctxsys.driload.validate_stmt(‘grantdbatoscott’)
在此攻击中,攻击者(scott)试图通过向有漏洞的存储过程嵌入“grant”操作,为自己授予数据库管理员的权限。
SecureSphere将使用两个进程之一来处理此攻击,具体选择哪个进程取决于该存储过程是否是必需的业务功能的一部分。
可选的有漏洞的存储过程
理想的情况是,任何用户或应用程序都不使用有漏洞的存储过程。
如果是这种情况,SecureSphereIPS足以能够准确地识别攻击,并阻止此攻击的所有实例。
正常的业务活动不会与这种复杂的字符串(…ctxsys.driload…)相匹配。
必需的有漏洞的存储过程
在某些情况下,有漏洞的存储过程是必需的业务功能的一部分。
例如,它可能是无法更改的遗留应用程序的一部分。
在这种情况下,如果使用此函数,则SecureSphere将首先向安全管理人员发出警告。
然后,可以选择应用相关性攻击验证来将此病毒特征的出现与已批准使用该过程的用户和应用程序列表进行关联。
如果未经批准的用户试图使用该过程,则SecureSphere将发出警报或选择阻止该请求。
威胁6-审计记录不足
自动记录所有敏感的和/或异常的数据库事务应该是所有数据库部署基础的一部分。
如果数据库审计策略不足,则组织将在很多级别上面临严重风险。
合规性风险-如果组织的数据库审计机制薄弱(或不存在),则会日益发现他们与政府的规章制度要求不一致。
政府规章中要求组织具备明确的数据库审计机制,金融服务部门的萨班斯-奥克斯利法案(SOX)和医疗部门的健康保险流通与责任法案(HIPAA)就是两个例子。
威慑–就像进入银行时会记录每个人相貌的摄像机一样,攻击者明白数据库审计跟踪记录可以为调查人员提供入侵者犯罪的分析线索,因此数据库审计机制会对攻击者产生威慑作用。
检测和修复–审计机制代表着数据库防御的底线。
如果攻击者成功规避了其他防御措施,则审计数据可以在事后识别存在的冲突。
然后,可以使用审计数据将冲突与特定用户相联系和/或修复系统。
通常情况下,数据库软件平台集成了基础的审计功能,但是它们也有很多弱点从而限制或妨碍了部署。
缺乏用户责任依据–当用户通过Web应用程序(如SAP、OracleE-BusinessSuite或PeopleSoft)访问数据库时,自身审计机制并不能识别特定用户身份。
在这种情况下,所有用户活动都与Web应用程序帐户名相关。
因此,即使自身审计日志发现欺骗性的数据库事务,也无法找到责任用户。
性能下降-数据库自身审计机制周知的弱点就是耗费CPU和硬盘资源。
启用审计功能后产生的性能下降问题会迫使很多组织减少使用或完全不使用审计。
责任分开–对数据库服务器具有管理访问权限的用户(无论是合法获取的还是恶意获取的–请参阅权限提升)可以直接关闭审计以隐藏欺骗性的活动。
理想的情况是,审计责任应该与数据库管理员和数据库服务器平台分离开来。
有限的细化度–很多自身审计机制记录的信息不够详细,不足以支持攻击检测、分析和修复。
例如,很多自身机制并不会记录数据库客户端应用程序、源IP地址、查询响应属性和失败的查询(这是试探性攻击的重要信号)。
专有性–审计机制对于数据库服务器平台来说是唯一的,Oracle日志不同于MS-SQL,MS-SQL日志不同于Sybase等。
对于具有混合数据库环境的组织来说,根本无法在企业中实现统一的可扩展的审计流程。
防止审计记录不足
高质量的基于网络的审计设备可以克服大多数与自身审计工具相关的缺点。
高性能–基于网络的审计设备能够以线速运行,并且不会对数据库性能产生任何影响。
实际上,通过将审计流程交给网络设备执行,组织可以有望改善数据库性能。
责任分开–基于网络的审计设备可以不受数据库管理员的影响而独立运行,从而实现将审计责任与相应的管理责任相分离。
此外,由于网络设备独立于服务器本身,它们还不会受到非管理员实施的权限提升攻击。
跨平台审计-通常情况下,网络审计设备支持所有主要的数据库平台,在大量异类数据库环境中使用统一的标准和集中的审计操作
总之,这些特点减少了数据库服务器的成本、降低了负载平衡要求以及管理成本。
而且更加安全。
SecureSphere审计功能
除了上述与基于网络的审计设备有关的一般优势,SecureSphere还提供了一系列独特的审计功能,从而将其与其他解决方案区分开来。
通用用户跟踪使各个用户都必须为自己的行为负责,即使他们通过商业(Oracle、SAP、PeopleSoft等)或自定义Web应用程序访问数据库。
为了识别Web应用程序用户名,专用的SecureSphere界面可捕获应用程序登录信息、跟踪后续Web用户会话,并将这些信息与数据库事务进行关联。
生成的审计日志包含唯一的Web应用程序用户名。
细化的事务跟踪支持高级的欺骗检测、分析和修复。
日志详细信息包括诸如源应用程序名称、完整的查询文本、查询响应属性、源操作系统、源主机名等信息以及其他信息。
分布式审计体系结构可以进行细化的事务跟踪(请参阅上文),而且具有随数据中心规模变大而扩展的能力。
该体系结构将所需的存储和计算资源分配到分布式的SecureSphere网关设备中。
SecureSphere管理服务器向审计人员展示数据中心的统一视图。
该管理服务器可有效管理多个网关,从审计人员的角度来看就像一个网关一样。
而其他解决方案要么建议限制事务日志记录,要么使管理员不得不独立地管理很多分布式设备。
外部数据存档功能自动执行长期数据存档流程。
可以将SecureSphere配置为定期将数据存档到外部海量存储系统中。
在存档之前,可以选择对数据进行压缩、加密或签名。
集成的图形报告为管理员提供灵活且便于理解的分析审计记录的机制。
它包括预配置的用于答复常见审计问题的报告,同时还允许创建自定义的报告来满足企业的特定需求。
另外,任何符合ODBC的外部报告包都可以用来分析SecureSphere审计数据。
本地控制台活动审计是通过SecureSphereDBA安全监视器提供的。
DBA监视器是一个安装在数据库服务器上的非常轻巧的主机代理,可监视本地数据库管理员的活动。
总之,DBA安全监视器和SecureSphere网关提供了具有不可忽视的作用的全面的审计记录,在某些情况下还可改善数据库性能。
威胁7-拒绝服务
拒绝服务(DOS)是一个宽泛的攻击类别,在此攻击中正常用户对网络应用程序或数据的访问被拒绝。
可以通过多种技巧为拒绝服务(DOS)攻击创造条件,其中很多都与上文提到的漏洞有关。
例如,可以利用数据库平台漏洞来制造拒绝服务攻击,从而使服务器崩溃。
其他常见的拒绝服务攻击技巧包括数据破坏、网络泛洪和服务器资源过载(内存、CPU等)。
资源过载在数据库环境中尤为普遍。
拒绝服务攻击背后的动机是多种多样的。
拒绝服务攻击经常与敲诈勒索联系在一起,远程的攻击者不断地破坏服务器直到受害者将资金存入国际银行帐户。
另外,拒绝服务攻击还可能由蠕虫感染引起。
无论是由什么原因造成,拒绝服务攻击对于很多组织来说都是严峻的威胁。
防止拒绝服务
防止拒绝服务攻击需要在多个级别进行保护。
网络、应用程序和数据库级别的保护都是很有必要的。
本文档着重介绍特定于数据库的保护。
在此特定于数据库的上下文中,建议部署连接率控制、IPS、查询访问控制以及响应定时控制。
SecureSphere拒绝服务保护
连接控制通过限制每个数据库用户的连接率、查询率以及其他变量来防止服务器资源过载。
IPS和协议验证可防止攻击者利用已知的软件漏洞制造拒绝服务攻击。
例如,缓冲区溢出就是一个常见的平台漏洞,它可以被用来使数据库服务器崩溃。
有关SecureSphereIPS和数据库通信协议验证技术的完整说明,请参阅本文档的“权限提升”和“数据库通信协议漏洞”部分。
动态建模可自动提供查询访问控制来检测可能导致拒绝服务的任何XX的查询。
例如,针对平台漏洞的拒绝服务攻击很可能会触发IPS冲突和动态模型冲突。
通过将这些冲突相关联,SecureSphere可以达到非常高的准确性。
有关动态建模的完整说明,请参阅本白皮书的“滥用过高权限”部分。
响应定时–使服务器资源过载的数据库拒绝服务攻击可导致数据库响应时间延长。
SecureSphere的响应定时功能可检测单个查询响应的延时和整体系统的延时。
威胁8-数据库通信协议漏洞
在所有数据库供应商的数据库通信协议中,发现了越来越多的安全漏洞。
在两个最新的IBMDB2FixPack中,七个安全修复程序中有四个是针对协议漏洞1。
同样地,最新的Oracle季度补丁程序所修复的23个数据库漏洞中有11个与协议有关。
针对这些漏洞的欺骗性活动包括XX的数据访问、数据破坏以及拒绝服务。
例如,SQLSlammer2蠕虫就是利用了MicrosoftSQLServer协议中的漏洞实施拒绝服务攻击。
更糟糕的是,由于自身数据库审计机制不审计协议操作,所以在自身审计记录中不存在这些欺骗性活动的记录。
防止数据库通信协议攻击
可以通过通常称为协议验证的技术来防御数据库通信协议攻击。
就本质而言,协议验证技术可解析(拆装)数据库通信,然后将其与预期值进行比较。
如果活动的通信与预期值不匹配,则将发出警报或阻止操作。
SecureSphere数据库通信协议验证
SecureSphere的数据库通信协议验证可将活动的数据库通信协议与预期的协议结构相比较,从而进行审计并防止协议威胁。
其他的数据库安全或审计解决方案都不提供此功能。
这一成果来自于Imperva应用防御中心(ADC)正在进行的在专有数据库通信协议和漏洞方面进行的研究。
ADC在Oracle、Microsoft和IBM等数据库和应用程序供应商的产品中成功发现了严重的漏洞以及减轻危害的技巧,从而提高了他们的产品的安全性。
基于这项研究的成果,Imperva能够将高度精深的协议知识融合到SecureSphere中。
威胁9-身份验证不足
薄弱的身份验证方案可以使攻击者窃取或以其他方法获得登录凭据,从而获取合法的数据库用户的身份。
攻击者可以采取很多策略来获取凭据。
暴力-攻击者不断地输入用户名/密码组合,直到找到可以登录的一组。
暴力过程可能是靠猜测,也可能是系统地枚举可能的用户名/密码组合。
通常,攻击者会使用自动化程序来加快暴力过程的速度。
社会工程–在这个方案中,攻击者利用人天生容易相信别人的倾向来获取他人的信任,从而获得其登录凭据。
例如,攻击者可能在电话中伪装成一名IT经理,以“系统维护”为由要求提供登录凭据。
直接窃取凭据–攻击者可能通过抄写即时贴上的内容或复制密码文件来窃取登录凭据。
防止身份验证攻击
强身份验证
应该实施最强的实用的身份验证技术和策略。
如果可能,最好选择双因素身份验证(令牌、证书、生物特征等)。
但是,由于成本和易用性问题,双因素身份验证通常不现实。
在这些情况下,应该实施强用户名/密码策略(最小长度、字符多样性、隐晦性等)。
目录集成
为了实现可扩展性和易用性,强身份验证机制应与企业目录体系结构相集成。
另外,目录体系结构可以使用户将单组登录凭据用于多个数据库和应用程序。
这使双因素身份验证系统更加节约成本和/或对于要记住定期更改的密码的用户来说更加简单。
SecureSphere身份验证保护
但是,无论强身份验证实施多严密,偶尔还是会发生系统崩溃。
例如,忽略了密码策略;侥幸的攻击者成功地使用暴力方法破译出较强的密码;出于现实原因可能需要使用旧的身份验证方案;以及其他各种原因。
为了处理这些情况,SecureSphere的动态建模、失败登录检测以及身份验证评估提供了大量可行的身份验证保护。
动态建模
动态建模(请参阅上文的“过高权限”和“滥用权限”)可以自动跟踪一系列用户属性来检测受到攻击的登录凭据。
这些属性包括用户IP地址、主机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全 威胁