在大众眼里,数据库审计(简称“数审”)系统是数据安全领域的入门级产品,不过,历经近20年的发展,数据库审计技术路线和产品定位不断革新和演变,如今,已经从入门产品,发展为进阶产品,甚至在未来有可能成为终极产品之一。
原因有以下几点:
首先,无论是国家级的法律或标准,还是等保以及行业级的安全标准都对使用数据库审计有明确要求,是所有网络运营者必须建设的基础能力之一。
其次,数据库作为数据资产的存储载体,其重要性无需赘述。如此重要的对象,必须要掌握谁在用、怎么用、何时用、何地用、用了哪些基础信息。这些基础信息几乎是我们判断是否出现泄密事件、是否需要调整安全策略、是否需要追责定责的唯一支撑。数审系统发挥的作用就是回答以上这些追问。可以说,如果没有数据库审计,数据安全的管理和建设将举步维艰、寸步难行。
再次,核心数据资产所在的数据库,必定是恶意人员最频繁入侵的领地,它面临多重威胁,既有外部入侵威胁,又不得不防范层出不穷的内部恶意行为。身为管理者,一定希望在数据库受到威胁时能够第一时间获取风险信息。如何实现?靠人工24小时监控数据库的一切访问行为几乎难以实现,因此,借助工具的力量,引入数审产品才是成熟的做法。
数据库审计不仅具备识别风险的能力,而且还可以发出告警,方便管理者和运维工程师及时处理风险。建立数审体系,无论是外部还是内部,只要出现了针对数据库的恶意操作,数据库审计就能够第一时间识别并发出告警,让管理者第一时间进行处理,能够有效降低甚至避免损失。所以,数据库审计对于数据安全防护来说是必要一环。
最后,对于已知风险可以通过内置规则和模型,第一时间进行告警通知,但对于特别复杂的风险模型或新型安全攻击方法造成的安全事件,风险预警未必来得及或未必能全部处理。这时候,就需要对安全事件进行倒追溯源。溯源的前提一定是建立在完整的数据库访问日志的基础上,全量的、访问要素齐全的、准确地记录所有SQL日志,让数审系统成为数据库溯源小能手。
当然,几乎所有优秀产品的发展都是由用户需求驱动和技术环境支撑的,数审产品也不例外。从最初解决有无逐步发展到智能分析,数审产品历经至少四代演进,可以说每一代产品的发展史就是用户的需求进化史。
第一代:解决有无
时间:2003年前后
用户需求:能够专门审计数据库活动
此前的3-5年,网络安全在国内迅速发展。除了网络防火墙、IPS等边界防护产品,在旁路技术领域,网络审计系统已经崭露头脚。用户此阶段的关注点在于:数据库端能不能有一类专门的旁路产品,能做到在全量访问行为记录的同时,还能风险告警。
众所周知,在Oracle、MySQL、SQLServer等大型数据库产品中,均自带了审计服务模块,具备完整准确记录SQL日志的能力。然而,数据库自身的审计受限于自身的管理体系,DBA用户可根据需要随时停掉审计服务,干坏事时甚至可以不审计,或人工删除日志消除痕迹,不符合安全审计的第三方独立性原则;加之自身与数据库服务器本地部署,往往消耗30%以上性能,因此也需要引入第三方审计产品。
在此背景下,2003年左右,国内第一代数审产品诞生,主要功能设计为针对数据库活动行为的监控,变黑盒为白盒,变未知为已知,解决用户的数据库安全管理焦虑。实际上,这一代的数审产品是由网络审计简单变形而来,针对数据库的流量包进行基于正则表达式匹配的审计技术,解决的是有无问题,但无法对数据库操作全量,进行精准审计,特别是复杂语句超长语句等等,更别谈执行的结果类要素信息。
对于数据库审计来说,正则表达式是一种简易的通用字符串匹配方法,通常用于简单场景下对指定字符的匹配。一旦面对超长、多层嵌套、多表关联等复杂的SQL语句,使用正则表达式很容易造成误识别或漏识别,更无法有效区别数据库品牌不同导致的差异。
第一代数审产品给人的总体印象: 具备基本SQL语句的记录能力,复杂类的操作往往审不到。无法做到精准告警,无效告警、误报频频发生。
第一代数审总体生存状况:合规性用户勉强使用,需求性用户轻易还不用。
第一代数审总体评分:●●○○○
第一代数审厂商数量:3家左右。
正是这样的局限性,推动了数审产品的继续进化。
第二代:准确性需求
时间:2009年前后
用户需求:能否审计得更准一点、不添乱
第一代数审产品推向市场并接受检验,各种性能问题逐渐暴露,产品服务提供商修修补补进行完善,使得产品日渐成熟稳定。但产品稳定了,用户群同时也不断扩大,审计日志不准确的问题也逐渐显露出来,漏审、误审、漏报、误报现象成了家长便饭,导致用户基于审计日志所作的判断,常常是错的,从而误导了对安全事件的追踪、溯源和响应。
随着用户的不断反馈,产品厂商逐渐意识到第一代数审产品存在的原理缺陷,仅靠修修补补无法从根本上解决问题,产品的设计必须推翻重建。2009年前后,厂商推出第二代数审系统,摒弃第一代架构重新设计,采用了基于数据库协议的语法、语义的解析技术。此种解析技术采用准确“翻译”的方式,不受限于SQL语句的长度或复杂度等因素,能够精确定义每一条SQL语句,准确理解其真正的含义,从而实现精准审计和告警。
让我们举例对比两代数审系统的差距:
假设用户设置规则为对B表进行查询的SQL操作定义为风险操作,第一代系统的正则表达式配置规则思路是:语句中包含select、b关键字;第二代系统基于数据库协议语法、语义的解析技术思路是:语句操作最终执行意思是查询(select),且作用表对象为b表,此时,数据库接收到一条访问请求:DELETE FROM a WHERE a.rowid > (SELECT MIN(b.rowid) FROM b WHERE a.sno=b.sno)。
若通过正则表达式匹配SQL后,发现该语句中包括select和b关键字,误判其为风险操作——进行告警;若通过语法、语义解析后,理解该语句为一个删除操作(delete),删除数据的条件是rowid大于某个值,而该值是通过嵌套的sql查询语句获得,因而准确判定其为非风险操作——不予告警。
从上述例子可以直观的看出两代审计产品的差距,第二代数据库审计技术帮助用户真正掌握了完整且准确的数据库活动。为数据库层出现的违规、恶意事件提供准确判断、溯源和定责的证据支撑,避免了误判。
随着第二代数审系统逐渐成熟,越来越多的用户开始使用数审产品,特别是在等级保护的助推下,数审产品掀起了一股小热潮。这一阶段的用户只是愿意买、敢于买,并未有人太去关注真正的使用效果如何,以及出了安全事件能不能快速溯源、能不能快速完成突发事件的排查等。因为高端场景并未出现,金融、电信等业务量较大的企业用户仍未登场。
第二代审计产品给人的总体印象: 复杂类的操作能解析记录,准确度大幅提升。但往往是偏向政府类或中小企业客户,这些客户的等级保护政策要求较高,性能要求往往不太高。
第二代数审总体生存状况:合规性用户大幅增加,需求性用户基本愿意购买,但高端用户暂时无人问津。
第二代数审总体评分:●●●○○
第二代数审厂商数量:10家左右。
第三代:高质量要求开始登场
时间:2014年前后
用户需求:能否审计得更多、更久一点
随着用户数据库访问规模的逐步增加,需要审计系统单位时间内执行的入库量迅速增多,存储日志量也相应增加,此时,数据库审计记录的日志可以用“海量”日志来形容,在海量日志中高效检索就成为极大挑战。此时,第二代数审系统开始出现性能瓶颈问题,已经完全无法支撑对大型和超大型业务系统的审计需求,尤其是高端行业的审计需求。
随着国家和政府对网络安全的重视,特别要求金融等关键基础信息行业在安全领域鼓励使用国产自主产品,给予国产安全软件以最大的门槛开放度。至此,国产数审产品拉开了性能上追逐国际大牌的序幕。在突破高性能阶段,摆在国内厂商面前的实际挑战相当大。高性能意味着高入库性能、高查询性能、高存储效能。
直到2017年,才有若干优秀厂商,凭借全文检索、列存储数据库、多进程并发等技术,完成了高性能产品的突破,真正开始在大银行、大保险公司的重要业务系统上应用。
第三代审计产品给人的总体印象: 性能大幅提升,已经可以满足很多政企、教育、医疗等行业用户的海量日志检索性能需求。不过,在更高端的场景下,满足需求的优质产品仍然凤毛麟角、寥寥无几。
第三代数审总体生存状况:合规性用户暴增,需求性用户也大幅增加,有的厂商甚至靠一款优秀的数审产品就能解决生存问题。
第三代数审总体评分:●●●●○
第三代数审厂商数量:30家左右。
第四代:智能化需求
时间:2017年前后
用户需求:能否有“今日头条”款的智能数审产品
如果从单纯做“审计”来说,第三代数审系统已经基本够用,但是,随着数据库审计逐渐成为保障数据安全的“刚需”,其扮演的角色越来越重要,加之数据资产暴增和数据安全事件呈几何级增长,用户必然对其提出更高要求。
用户需求这几年间进一步升级:管理的数据库品牌类型能否越来越多;能否自动识别数据库类型,而非人工指定数据库IP和类型,因为有的用户动辄几百个库,上千个库,实在连自己都不清楚台账;数据库的策略能否给出智能的配置建议,而非全开全关,难以掌握;能否做到精准指导,因为用户有很多数据库,买了很多数据库审计设备,但审计的核心目标毕竟是敏感数据的行为,所以希望能够做到不浪费资源,实现精准指导。
此时,第三代数审产品的不足表现为:第一,对数据库类型的支持非常被动,往往被用户牵着走;第二,欠缺自动化识别数据库类型的能力,众多数据库需要一一指定IP和数据库类型,非但不准确还易手工出错、不是累死客户就是累死厂商自己;第三,缺少通过基线学习智能地给用户推送策略的能力;第四,没有真正与敏感数据的定位相结合。
2017年,第四代数审系统逐渐开始研发,主攻“智能发现”、“主动推送”等智能技术方向。第四代数审产品通过机器自学,聚类访问来源、操作行为特征、资产信息,全面掌握每个数据库被访问的基础情况,有效建立基线,形成高密度可信边界。当访问来源发生变化或访问来源的操作行为发生变化时,自动伸缩基线,同时辅以通用型的轻量级策略,轻松建立防护圈。人工参与极大降低,安全策略可落地。
核心功能如下:
第四代审计产品给人的总体印象: 聪明、智能,由原来的体力活,变成真正高科技。
第四代数审总体生存状况:生存体面,需求性用户面前赢得尊重,且量大价高。
第四代数审总体评分:●●●●◐
第四代数审厂商数量:10家左右。
未来的路
数据库审计或将成为数据安全的神经网络触点
技术的发展是无止境的,对安全的需求也没有尽头。只要威胁在演变,技术在革新,防御手段就需要不断进化以至平衡。近年来,越来越多的用户已经不仅仅满足于对执行操作的精准审计,还要对结果集数据进行保存用于日后取证追溯等。
也许不久之后,第四代数审产品,除了自身要具备高智能、高性能的气质之外,还可能成为数据安全集中管控和安全大数据分析的神经网络触点,所有安全防护核心能力交由平台型产品进行统一调度、防御和分析,而数据库审计作为数据和行为的采集端,形成“树”和“根”的强关联结构。
此时审计将不再是独立系统,不再独立工作,而是为平台提供数据的输入。这样更能与KAFkA、FLUME、ELK等先进的大数据分析和流式处理等分析技术结合,真正解决超大数据规模日志的利用问题,这可能也是未来数据安全的发展方向之一,我们拭目以待。