论文部分内容阅读
关键字:信息泄露 数据库审计 数据保护 凭证管理 特权账号
近几年给企业咨询的过程中,我们看到信息安全得到了足够的重视,许多企业在网络环境中部署了大量的防火墙、入侵检测等安全产品,越来越多的防护手段也被引入到抵抗外来入侵的防护中。防御外部风险的安全意识已经得到很好的贯彻实施。可是层出不穷的信息泄露事件,让很多信息安全管理人员沮丧。
在为企业做合规性检查时,我们发现,数据库管理员可以不受控制地访问到任何数据;同时以用户数据分析人员、程序员、开发方维护人员为代表的特权用户,也可以访问到敏感数据。
特权账号滥用,将数据库置于风险之中。普通的应用操作很少需要由“超级”特权所许可的访问,允许应用程序使用超级特权用户,会为不适当的非授权活动创造机会。所有的应用程序都应当使用最少特权的用户凭证连接到数据库。
某央企信息中心在信息安全保障工作上,一直走在业内的前端,近几年配合十二五规划,广泛在集团内部实施了安全防护措施,包括机房安全、物理隔离、防火墙、入侵检测、加密传输等等。但进行渗透测试时发现,数据泄露的风险依然存在。经过排查,数据库安全成为了企业信息安全的短板,具体表现在以下方面:
数据库管理员角色能拥有至高的权限,权限可以不受限制的传播。这就使得获取数据库管理员角色的权限成为攻击者的目标。一旦攻击者获得该权限,数据库将对其彻底暴露,毫无任何安全性可言。
数据库存在许多漏洞,其中不少是致命的缺陷和漏洞。由于没有及时打补丁,其中不少漏洞可以非常容易地被黑客利用。
数据库及其应用系统在防御SQL注入等攻击时,一旦攻击者从应用程序设计中的漏洞下手,获得不该具备的权限,整个数据库文件都有可能会被下载
数据库普遍采用基于口令的认证方式。本身缺乏有效的登录口令管理机制,口令更换周期长,使用复杂口令很困难,口令泄露的风险大。
由于数据库管理系统在上述各个安全方面的不可信,攻击者可能通过非正常途径来访问数据库,破坏系统的安全性。
从这个案例中,我们可以看到,做好数据安全防护,不能单纯依靠网络安全技术手段,最重要的是针对数据库的访问,制定合理的防护解决方案,最终达到:
满足合规性要求;
减少核心信息资产的破坏和泄露的发生几率;
追踪溯源,便于事后追查原因与界定责任;
直观掌握业务系统运行的安全状况;
实现独立审计,完善IT内控机制。
由于数据库中存放的数据往往是高敏感数据,因此它也毫无疑问地是合规性检查的重点区域。几乎所有的企业合规都会对哪些人、能在什么时间、访问什么数据库作出规定,并且需要一个专职人员来管理权限。所以做好数据防护的合规性检查,主要从以下几个方面入手:
1. 对访问数据库的所有用户进行认证;
2. 所有用户访问任何数据库时,用户的查询和操作(例如移动、拷贝和删除)只能通过编程性事务(例如存储过程);
3. 数据库和应用的配置设置为只限于给DBA(数据库管理员)的直接用户访问或是查询;
4. 对于数据库应用和相关的应用ID,应用ID只能被应用使用,而不能被单独的用户或是其他进程使用。
该集团企业最终针对发现的数据安全风险点,进行了详细的差距分析,从可实际操作的角度,制定出以下八个步骤,形成合理的解决方案,目标实现数据安全的立体化防护。
1. 数据库直接监控;
2. 评估和纠正缺陷;
3. 审计用户访问;
4. 了解用户如何使用数据库;
5. 验证交易的真实性;
6. 需要独立的审查;
7. 自动化控制来降低年度审计成本;
8. 使用加密来保护数据。
实施数据安全防护技术
具体如何实施防护技术呢?从上面的八个步骤,可以发现,实施数据安全防护的核心技术是检测数据库的活动,这包括:能够以实时的速度分析数据库查询,区分正常的操作和攻击。通过收集不同来源的信息,提供多种形式的高级分析和警告,甚至能直接中断恶意活动。
1. 确定数据、事务的保护优先级。
首先要确定企业想保护的内容。显然对每个事件都进行检测是不现实的,因为这样一来监测系统将比保护对象更加庞大。企业需要知道什么样的数据或事务是重要的。
2. 如何捕获数据库事件。
现在知道了何种事务是重要的,接下来需要决定如何收集数据库事件。每一种数据库检测器都提供了多种收集数据的方法,每一种方法都各有优劣。
在数据库平台上安装代理很常见,因为代理能捕获所有SQL活动,在不影响数据库性能的前提下,有助于理解某次查询是否是恶意的。
本地审计功能可收集事件,但却不一定能收集到原始的SQL查询,开销也要大很多,影响数据库性能。
网络收集器则提供了一种更快更容易的收集SQL活动的方法,但会丢失管理员通过控制台进行的事务和活动。
因此,针对比较重要的关机数据库,安装代理是最佳选择;而本地审计和网络监控则适合非关键数据库。
3. 数据库安全的基本定义。
现在,已经成功的在关键数据库系统中收集事件,下一步是实现安全策略。数据库活动检测的工作方式是分析数据库查询,你可以选择对哪些语句进行检查,以及如何检查。
大多数政策执行的是数据库查询属性检查:用户是谁、用户正在浏览哪一列、用户使用何种应用程序、用户接触到的数据、操作时间等,这些通常都被用于定义安全策略。可以分别为每一个属性分配特定值,当用户超过这些预定义的阈值时,监测系统就会警告。例如,你可能会想对这些情况产生警告:所有午夜之后的查询、三次失败的登录尝试、任何对信用卡资料的访问。 4. 高级监控。
只是纯粹的监测和警示,不足以帮助企业做出有效的防护,一套可靠的阻止攻击、主动抵制滥用的方法,将更加高效地落实安全阻断。比如SQL注入监测、攻击阻止和虚拟补丁、特定应用程序用户认证、会话终止、以及行为监控和内部威胁检测。
但是,先进的分析手段就意味着先进的政策,这些政策要针对企业自身的环境而定制。比如为了检测和阻止SQL注入攻击,你需要为应用程序定义合法的SQL查询语句。如果你不能及时地给数据库打补丁,那么就需要编写一个政策,用于检测攻击,同时部署数据库活动检测系统阻止威胁。
为实现行为监测,即发现异常的行为,你需要定义什么样的行为才是正常的。要识别特定应用程序用户,并不是通常地应用程序连接数据库的账户,你需要提供查询IP地址或者传递用户凭证的手段。如果检测到严重的威胁,你需要决定是否断开该用户,或者锁定账户禁止其访问系统。
当所有这一切都能够结合企业实际情况得到落实,那么数据防护工作,才真正起到了应有的作用。
真实案例,数据安全实战
某银行的北京分行对重要系统的特权用户(如UNIX的root用户)的管理尽管有一定的审批流程及管理制度,但管理手段还停留在使用信封封存密码的手动管理状态,存在着一定的安全隐患。同时,由于数据中心低效的手工管理流程,导致对应用系统、数据库和服务器等的 Root IDs/Support IDs/的管理工作增加。更为重要的是,该银行的数据库系统安全工作一直没有进行有效的防护,存在数据泄露的风险。
因此在数据防护方面,该银行需要一套整体的解决方案,以满足:
实时监测
实时监控连接到数据库/服务器上的会话,获取会话的5W1H信息(Who、 When、 What、Where、Why、How)。方便安全管理人员对当前系统状况的监控,实时查看连接到数据库/服务器上的会话,把握当前各种操作的执行状态,协助管理人员手动/自动地实时阻断有风险的数据访问,当违反策略时,生成告警,并可以通过电子邮件和短信息等方式发送告警。
实时防护
断开违反安全策略的会话,在网关模式中,实时监测告警,并进行会话阻断,在旁路监听模式中,向DB发送KILL命令,杀死有问题的会话,并且能够通过电子邮件、手机短信等方式向操作者实时发送警告内容
敏感数据遮盖
基于预先设置的敏感数据遮盖策略,对含有敏感数据的字段,通过敏感数据遮盖引擎的处理,用其他的字符或数字(如:*,1)替代原有的数据,实现敏感数据的遮盖。要能够支持对字段的全部遮盖和部分遮盖。满足企业对数据脱敏的需求,有效防止DBA、管理员等特权用户泄露敏感数据。
凭证管理
针对特权账号审批流程,管理整个账户的生命周期。从申请使用、批准、允许或拒绝、使用过程到使用结束状态。
身份认证管理
结合行内现有认证手段,能够快速实施各种不同的认证方法,并且要能够支持未来新的认证方式快速被添加到现有体系中。同样要可以根据强认证和授权的业务风险需求,使用两个或多个认证方式的认证链强化认证。
特权账号凭证管理和数据库审计配合使用,使得任何对数据的访问,都将受到实时监控,真正做到了数据的立体防护。更为重要的是,数据库安全防护技术既提升了银行整体安全水平,又将身份凭证技术无缝结合到上层应用,同时对目前市面上新型身份认证手段的广泛支持,大大降低了实施成本。
企业的核心是数据,数据的安全会带来核心竞争力的提升。保护好企业核心数据,是每个企业领导人应该郑重思考的问题。
近几年给企业咨询的过程中,我们看到信息安全得到了足够的重视,许多企业在网络环境中部署了大量的防火墙、入侵检测等安全产品,越来越多的防护手段也被引入到抵抗外来入侵的防护中。防御外部风险的安全意识已经得到很好的贯彻实施。可是层出不穷的信息泄露事件,让很多信息安全管理人员沮丧。
在为企业做合规性检查时,我们发现,数据库管理员可以不受控制地访问到任何数据;同时以用户数据分析人员、程序员、开发方维护人员为代表的特权用户,也可以访问到敏感数据。
特权账号滥用,将数据库置于风险之中。普通的应用操作很少需要由“超级”特权所许可的访问,允许应用程序使用超级特权用户,会为不适当的非授权活动创造机会。所有的应用程序都应当使用最少特权的用户凭证连接到数据库。
某央企信息中心在信息安全保障工作上,一直走在业内的前端,近几年配合十二五规划,广泛在集团内部实施了安全防护措施,包括机房安全、物理隔离、防火墙、入侵检测、加密传输等等。但进行渗透测试时发现,数据泄露的风险依然存在。经过排查,数据库安全成为了企业信息安全的短板,具体表现在以下方面:
数据库管理员角色能拥有至高的权限,权限可以不受限制的传播。这就使得获取数据库管理员角色的权限成为攻击者的目标。一旦攻击者获得该权限,数据库将对其彻底暴露,毫无任何安全性可言。
数据库存在许多漏洞,其中不少是致命的缺陷和漏洞。由于没有及时打补丁,其中不少漏洞可以非常容易地被黑客利用。
数据库及其应用系统在防御SQL注入等攻击时,一旦攻击者从应用程序设计中的漏洞下手,获得不该具备的权限,整个数据库文件都有可能会被下载
数据库普遍采用基于口令的认证方式。本身缺乏有效的登录口令管理机制,口令更换周期长,使用复杂口令很困难,口令泄露的风险大。
由于数据库管理系统在上述各个安全方面的不可信,攻击者可能通过非正常途径来访问数据库,破坏系统的安全性。
从这个案例中,我们可以看到,做好数据安全防护,不能单纯依靠网络安全技术手段,最重要的是针对数据库的访问,制定合理的防护解决方案,最终达到:
满足合规性要求;
减少核心信息资产的破坏和泄露的发生几率;
追踪溯源,便于事后追查原因与界定责任;
直观掌握业务系统运行的安全状况;
实现独立审计,完善IT内控机制。
由于数据库中存放的数据往往是高敏感数据,因此它也毫无疑问地是合规性检查的重点区域。几乎所有的企业合规都会对哪些人、能在什么时间、访问什么数据库作出规定,并且需要一个专职人员来管理权限。所以做好数据防护的合规性检查,主要从以下几个方面入手:
1. 对访问数据库的所有用户进行认证;
2. 所有用户访问任何数据库时,用户的查询和操作(例如移动、拷贝和删除)只能通过编程性事务(例如存储过程);
3. 数据库和应用的配置设置为只限于给DBA(数据库管理员)的直接用户访问或是查询;
4. 对于数据库应用和相关的应用ID,应用ID只能被应用使用,而不能被单独的用户或是其他进程使用。
该集团企业最终针对发现的数据安全风险点,进行了详细的差距分析,从可实际操作的角度,制定出以下八个步骤,形成合理的解决方案,目标实现数据安全的立体化防护。
1. 数据库直接监控;
2. 评估和纠正缺陷;
3. 审计用户访问;
4. 了解用户如何使用数据库;
5. 验证交易的真实性;
6. 需要独立的审查;
7. 自动化控制来降低年度审计成本;
8. 使用加密来保护数据。
实施数据安全防护技术
具体如何实施防护技术呢?从上面的八个步骤,可以发现,实施数据安全防护的核心技术是检测数据库的活动,这包括:能够以实时的速度分析数据库查询,区分正常的操作和攻击。通过收集不同来源的信息,提供多种形式的高级分析和警告,甚至能直接中断恶意活动。
1. 确定数据、事务的保护优先级。
首先要确定企业想保护的内容。显然对每个事件都进行检测是不现实的,因为这样一来监测系统将比保护对象更加庞大。企业需要知道什么样的数据或事务是重要的。
2. 如何捕获数据库事件。
现在知道了何种事务是重要的,接下来需要决定如何收集数据库事件。每一种数据库检测器都提供了多种收集数据的方法,每一种方法都各有优劣。
在数据库平台上安装代理很常见,因为代理能捕获所有SQL活动,在不影响数据库性能的前提下,有助于理解某次查询是否是恶意的。
本地审计功能可收集事件,但却不一定能收集到原始的SQL查询,开销也要大很多,影响数据库性能。
网络收集器则提供了一种更快更容易的收集SQL活动的方法,但会丢失管理员通过控制台进行的事务和活动。
因此,针对比较重要的关机数据库,安装代理是最佳选择;而本地审计和网络监控则适合非关键数据库。
3. 数据库安全的基本定义。
现在,已经成功的在关键数据库系统中收集事件,下一步是实现安全策略。数据库活动检测的工作方式是分析数据库查询,你可以选择对哪些语句进行检查,以及如何检查。
大多数政策执行的是数据库查询属性检查:用户是谁、用户正在浏览哪一列、用户使用何种应用程序、用户接触到的数据、操作时间等,这些通常都被用于定义安全策略。可以分别为每一个属性分配特定值,当用户超过这些预定义的阈值时,监测系统就会警告。例如,你可能会想对这些情况产生警告:所有午夜之后的查询、三次失败的登录尝试、任何对信用卡资料的访问。 4. 高级监控。
只是纯粹的监测和警示,不足以帮助企业做出有效的防护,一套可靠的阻止攻击、主动抵制滥用的方法,将更加高效地落实安全阻断。比如SQL注入监测、攻击阻止和虚拟补丁、特定应用程序用户认证、会话终止、以及行为监控和内部威胁检测。
但是,先进的分析手段就意味着先进的政策,这些政策要针对企业自身的环境而定制。比如为了检测和阻止SQL注入攻击,你需要为应用程序定义合法的SQL查询语句。如果你不能及时地给数据库打补丁,那么就需要编写一个政策,用于检测攻击,同时部署数据库活动检测系统阻止威胁。
为实现行为监测,即发现异常的行为,你需要定义什么样的行为才是正常的。要识别特定应用程序用户,并不是通常地应用程序连接数据库的账户,你需要提供查询IP地址或者传递用户凭证的手段。如果检测到严重的威胁,你需要决定是否断开该用户,或者锁定账户禁止其访问系统。
当所有这一切都能够结合企业实际情况得到落实,那么数据防护工作,才真正起到了应有的作用。
真实案例,数据安全实战
某银行的北京分行对重要系统的特权用户(如UNIX的root用户)的管理尽管有一定的审批流程及管理制度,但管理手段还停留在使用信封封存密码的手动管理状态,存在着一定的安全隐患。同时,由于数据中心低效的手工管理流程,导致对应用系统、数据库和服务器等的 Root IDs/Support IDs/的管理工作增加。更为重要的是,该银行的数据库系统安全工作一直没有进行有效的防护,存在数据泄露的风险。
因此在数据防护方面,该银行需要一套整体的解决方案,以满足:
实时监测
实时监控连接到数据库/服务器上的会话,获取会话的5W1H信息(Who、 When、 What、Where、Why、How)。方便安全管理人员对当前系统状况的监控,实时查看连接到数据库/服务器上的会话,把握当前各种操作的执行状态,协助管理人员手动/自动地实时阻断有风险的数据访问,当违反策略时,生成告警,并可以通过电子邮件和短信息等方式发送告警。
实时防护
断开违反安全策略的会话,在网关模式中,实时监测告警,并进行会话阻断,在旁路监听模式中,向DB发送KILL命令,杀死有问题的会话,并且能够通过电子邮件、手机短信等方式向操作者实时发送警告内容
敏感数据遮盖
基于预先设置的敏感数据遮盖策略,对含有敏感数据的字段,通过敏感数据遮盖引擎的处理,用其他的字符或数字(如:*,1)替代原有的数据,实现敏感数据的遮盖。要能够支持对字段的全部遮盖和部分遮盖。满足企业对数据脱敏的需求,有效防止DBA、管理员等特权用户泄露敏感数据。
凭证管理
针对特权账号审批流程,管理整个账户的生命周期。从申请使用、批准、允许或拒绝、使用过程到使用结束状态。
身份认证管理
结合行内现有认证手段,能够快速实施各种不同的认证方法,并且要能够支持未来新的认证方式快速被添加到现有体系中。同样要可以根据强认证和授权的业务风险需求,使用两个或多个认证方式的认证链强化认证。
特权账号凭证管理和数据库审计配合使用,使得任何对数据的访问,都将受到实时监控,真正做到了数据的立体防护。更为重要的是,数据库安全防护技术既提升了银行整体安全水平,又将身份凭证技术无缝结合到上层应用,同时对目前市面上新型身份认证手段的广泛支持,大大降低了实施成本。
企业的核心是数据,数据的安全会带来核心竞争力的提升。保护好企业核心数据,是每个企业领导人应该郑重思考的问题。