随着网络信息化的发展,企业组织对网络安全的关注,由物理安全、边界安全和系统安全,已逐渐将注意力转移到业务安全和数据安全,对于业务数据的安全防护成本已占到企业组织IT预算成本的一半以上。特别在新时代新形势新业态的互联网安全中,信息安全部门已逐步成为企业组织的一级部门,企业数据已经成为组织核心资产,对于数据的保护已写入企业的基本战略。
企业对数据资产的安全防护存在多项工作,数据备份安全、数据存储安全、数据脱敏及加密……以可用性为主的业务安全观点人群中,大多还没有完全理解数据库安全的重要性,而据前瞻性统计发现,越来越多的企业信息安全负责人开始将数据库安全细分领域列入自己的备忘清单。业务连续性为企业组织的根本核心,而业务安全和数据安全是企业长久发展的安全保障,在以企业数据资产为核心竞争力的现下,数据库作为企业组织“核心竞争力”--数据资产--的容器,承载了企业核心数据,成为业务运行和数据保护的基础设施,数据库的安全防御问题已跃至CTO/CIO的工作内容象限的榜首。
一、数据库面临哪些安全威胁
企业组织的数据库体系,不仅仅是数据库软件平台本身,不会流动的数据没有意义,当我们考虑数据库安全的时候,显然我们需要合理评估数据库的受攻击面大小,数据库访问涉及的认证、授权和审计问题,由于开发人员疏忽带来的软件漏洞和运维人员的管理不善等。各种各样的风险都可能产生并带来可怕的后果,笔者实验室通过收集各漏洞平台及企业安全运营者的反馈数据库安全信息,参考OWASP TOP 10制定了数据库应用防御的十大数据库风险威胁列表。
十大数据库安全威胁(DB Vuln Top 10)
- 权限滥用
- 特权提升
- 数据库软件漏洞
- SQL注入
- 审计记录缺失
- 拒绝服务
- 通信协议漏洞
- 身份验证不足
- 敏感数据泄露
- 安全配置不规范
二、数据库安全风险是否会发生
答案就是墨菲定律,它阐述了一个事实:如果事情有变糟糕(发生)的可能,不管这种可能性有多小,它总会发生。
墨菲(Edward A. Murphy)是美国爱德华兹空军基地的上尉工程师。1949年,他和他的上司斯塔普少校,在一次火箭减速超重试验中,因仪器失灵发生了事故。墨菲发现,测量仪表被一个技术人员装反了。由此,他得出的教训是:如果做某项工作有多种方法,而其中有一种方法将导致事故,那么一定有人会按这种方法去做。在事后的一次记者招待会上,斯塔普将其称为“墨菲法则”,并以极为简洁的方式作了重新表述:凡事可能出岔子,就一定会出岔子。墨菲定律的适用范围非常广泛,它揭示了一种独特的社会及自然现象。它的极端表述是:如果坏事有可能发生,不管这种可能性有多小,它总会发生,并造成最大可能的破坏。
此后在技术界也不胫而走,并不是我要将其强加在数据库安全领域,因为它道出了一个法则,即安全风险必将由可能性变为突发性的事实。
三、以墨菲定律分析数据库安全
从墨菲定律来观察数据库入侵防御,我们要持以积极的态度,既然数据库安全风险一定会发生,那我们一定要顺应必然性,积极应对,做好事件应急和处置。在数据库安全防御方面来说,要科学合理规划全面积极的应对方案,必须做到事前主动防御、事中及时阻断、事后完整审计。
根据墨菲定律可总结对数据库入侵防御的启示:
1. 不能忽视数据库风险小概率事件
虽然数据库安全事件不断发生,但仍有一定数量的安全负责人认为,企业安全防护已经从物理层、网络层、计算主机层、应用层等进行了多重防御,网络边界严格准入控制,外部威胁情报和内部态势感知系统能完美配合,业务数据早已经过层层保护,安全威胁不可能被利用发生数据库安全事件。
由于小概率事件在一次实验或活动中发生的可能性很小,因此,就给人一种错误的理解,即在一次活动中不会发生。与事实相反,正是由于这种错觉,加大了事件发生的可能性,其结果是事故可能频繁发生。虽然事件原因是复杂的,但这却说明小概率事件也会常发生的客观事实。
墨菲定律正是从强调小概率事件的重要性的角度启示我们,虽然数据库安全风险事件发生的概率很小,但在入侵防御体系活动中,仍可能发生且必将发生,因此不能忽视。
2. 在数据库安全中积极应用墨菲定律
(1)强化数据库入侵防御的安全认知
数据库已经成为企业安全防护的核心,预防数据库不安全状态的意外性事件发生,认识数据库安全威胁事件可能发生的必然性,必须要采取事前预防措施,从网络层、应用层和数据库层,涵盖业务系统(中间件)和运维DBA,全面管控,提前谋划。既然数据库入侵事件无可避免,那一定要保证完整原始的数据库访问记录,以供审计取证留存证据,做到有据可查。
(2)规范安全管理,正确认识数据库安全控制
安全管理的目标是杜绝事故的发生,而事故是一种不经常发生的意外事件,这些意外事件发生的概率一般比较小,由于这些小概率事件在大多数情况下不发生,所以,往往管理疏忽恰恰是事故发生的主观原因。墨菲定律告诫我们,数据库及业务数据的安全控制不能疏忽。要想保证数据库安全,必须从基础做起,对数据库的基本安全配置,要形成统一的安全基线,对数据库的访问行为要做到 “白名单化”,采取积极的预防方法和措施,消除意外的事件发生。
(3)转变观念,数据库入侵防御变被动为主动
传统安全管理是被动的安全管理,是在安全管理活动中采取安全措施或事故发生后,通过总结教训,进行“亡羊补牢”式的管理。随着IT网络技术迅速发展,安全攻击方式不断变化,新的安全威胁不断涌现,发生数据库安全事件的诱因增多,而传统的网络型入侵防御系统模式已难于应付当前对数据库安全防御的需求。为此,不仅要重视已有的安全威胁,还要主动地去识别新的风险,主动学习,模态分析,及时而准确的阻断风险活动,变被动为主动,牢牢掌握数据库入侵防御的主动权。
四、正确认识数据库入侵防御系统
1. 数据库入侵防御系统串联与并联之争
数据库入侵防御系统,可以通过串联或旁路部署的方式,对业务系统与数据库之间的访问行为进行精确识别、精准阻断。不仅如此,合理使用还能具有事前主动防御和事后审计追溯的能力。
不过,部分用户认为旁路的阻断行为效果不佳,而串联进网络实现实时阻断,又担心影响业务访问时。
串联模式部署在业务系统与数据库中间,通过流量协议解码对所有SQL语句进行语法解析,审核基于TCP/IP五元组(来往地址、端口与协议)、准入控制因素和数据库操作行为的安全策略,结合自主动态建模学习的白名单规则,能够准确识别恶意数据库指令,及时阻断会话或准确拦截恶意操作语句。串联模式部署最大风险在于不能出现误判,否则影响正常语句通过,此必需要系统的SQL语句解析能力足够精确,并且能够建立非常完善的行为模型,在发现危险语句时,能够在不中断会话的情况下,精准拦截风险语句,且不影响正常访问请求。因此,若想数据库入侵防御系统发挥最佳效果,必须串联在数据库的前端,可以物理串联(透明桥接)或逻辑串联(反向代理)。
旁路部署模式,目前常用方式是通过发送RESET指令进行强行会话重置,此部署方式在较低流量情况下效果最佳。如在业务系统大并发情况下,每秒钟SQL交易量万条以上,这种旁路识别阻断有可能出现无法阻断情况,且会出现延迟。有可能因为延迟,阻断请求发送在SQL语句执行之后,那么反倒影响了正常业务请求。所以在高并发大流量场景下,如果要实现实时精准阻断拦截效果,就要求数据库入侵防御系统具有超高端的处理性能。
至于串联部署还是旁路部署更为合适,需要匹配相应的业务系统场景。数据库入侵防御系统最终奥义是它的防御效果,即对风险语句的精准阻断能力,从墨菲定律对比分析,旁路部署有阻断请求的可能性则必然会发生。而串联存在影响业务访问的担忧,那它始终都会发生,而正视这种风险,让我们对数据库入侵防御系统的精准阻断能力有更高要求,尽可能将这种风险降到最低。
2. 数据库入侵防御系统串联实时同步阻断与异步阻断之争
相对数据库入侵防御系统的串并联之争来讲,串联实现同步阻断与异步阻断更为细分了,市面上存在两类串联的数据库入侵防御系统;
一类就是以IBM Guardium为代表的本地代理引擎在线监听异步阻断,当有危险语句通过代理到DBMS时,代理会将内容信息副本发至分析中心,由中心判断是否违法或触犯入侵防御规则,进而给代理程序发出阻断指令,很显然这种部署的好处是不局限与数据库的网络环境,ip可达即可,而坏处就更明显了,那就是agent与Center通信期间,sql访问是放行的,也就是如果在前面几个包就出现了致命攻击语句,那么这次攻击就会被有效执行,即防御体系被有效绕过。
另一类就是以国内厂商汉领信息为代表的串联实时同步阻断,当有危险语句通过串联数据库入侵防御系统时,入侵防御系统若监测到风险语句,立马阻断;无风险的语句放行,这种模式及立马分析立马判断。也很显然,这种部署模式的好处是小概率事件或预谋已久的直接攻击语句也会被实时阻断;而坏处也非常明显,那就是处理效率,如果数据库入侵防御系统处理效率不行,那就会出现排队等待的状态,业务的连续性就造成了影响。关键就是要把握这个平衡点,至少要达到无感知,这个点的取舍就取决于各个数据库安全厂商处理sql语句的算法能力了。
结束语:
墨菲定律并不复杂,将它应用到数据库入侵防御领域,揭示了在数据库安全中不能忽视的小概率风险事件,要正视墨菲定律转为积极响应,应充分理解墨菲定律,抵制 “数据库层层保护不存在风险”、“别人都是这样做”、“数据库入侵防御系统并联不会误阻断” 等错误认识,牢记只要存在风险隐患,就有事件可能,事件迟早会发生,我们应当杜绝习惯性认知,积极主动应对数据库安全风险。
【本文是51CTO专栏作者“李少鹏”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】