背景和需求
伴随工业、金融、互联网等产业的持续发展,完成数据的存储、传输、查询等功能需要更为专业的平台和载体来实现,数据库由此兴起并普及应用。在过去,“模仿和引进”是国内对待数据库技术的主流思想,国际IT巨头在我国占据着大量的市场份额,一度成为相关IT底层技术标准的制定者。而当“棱镜门”等一系列全球性数据泄露、信息窃取“大事件”曝光后,数据库及数据安全开始成为各国政府和民众关注的热点领域。作为关乎国家安全与国民经济的重要领域,对数据库丧失“主动权”将导致不可估量的数据安全风险!在此背景下,越来越多的企事业单位陆续开始将数据库安全列入发展规划,这也成为了我国国产数据库崛起的一个重要因素;今天,我国的数据库厂商已多达上百家。早在2017年,中国工业和信息化部就已在《信息产业发展指南》中指出要致力打造具有国际竞争力、安全可控的现代信息产业体系,其中强调保障政府、金融、能源等重要行业的数据安全的重要性。当前,中国已步入数据安全有法可依、有法必依的全新发展阶段,以“自主可控”为核心理念与目标的信创数据库也迎来更多机遇,应用新型数据库管理系统已势在必行,然而隐患、风险与挑战也接踵而至。
近年来,持续增长的市场需求和陆续颁布施行的政策、法律、法规等推动着信创数据库产业的加速发展,逐渐获得政府、企业及行业组织的关注和重视;其中,自然也包括黑客等攻击者。经研究发现,早期信创数据库普遍存在安全问题,尤以通用软件型漏洞为主——此类漏洞无需攻击者花费大量时间学习掌握数据库及其体系,对攻击者的技术水平要求低,甚至仅需复现其他软件已发现的漏洞类型即可,因而被更多不法分子恶意利用的可能性很高;同时,部分信创数据库自身也存一定的设计缺陷,例如:各厂商的数据库架构设计不一,安全基础架构也有较大区别,且部分厂商的数据库安全机制也有待进一步优化,因而难以应对复杂多变的攻击手段等等。在此背景下,须积极践行统筹发展与安全防护路线,以安全保发展、以发展促安全,以更好推动信创数据库的持续、健康发展与普及应用。
数据库安全现状
保障数据安全的第一要务是保障数据库的安全。当前,网络攻击不再是以往“广撒网”的模式,而是演变成为目标精准、威力大、反侦察、辐射范围广的“导弹式”攻击模式。一旦遭受攻击,不仅会影响数据库自身的安全,还会威胁到数据库所在操作系统及局域网的整体安全状况。
近年来,各类数据安全事件层出不穷,其危害和影响愈演愈烈。2021年,《数据安全法》《个人信息保护法》等法律法规陆续施行,数据安全已成为我国政府、企业乃至民众关注的焦点领域,正式步入“有法可依、有法必依”历史新时期。而传统的病毒防御、应急处理等措施虽然能够在一定程度上提高数据安全防护水平,但仅完成针对前端的防护并不能很好的保障数据安全,主要原因在于:
其一,由于攻防情势处于动态变化发展的过程中,而传统安全防护手段大都是基于已知的病毒特征设计,在面对0day或新型攻击手段时将难以有效防护,且部分防护手段可以被绕过;
其二,由于用户方自身安全技术、流程、体系等存在短板,且相关人员安全防护意识不足,致使所部署的安全设备并未发挥出其应有的作用;
其三,数据库安全与应用安全存在较大差异,单纯依靠应用层安全防护并不能保障数据库安全。
以下就第三点问题进行展开介绍:
由于数据库在网络结构中部署位置的特殊性,我们常常会忽略数据库安全,或认为前端已有足够的安全防护所以数据库也一定是安全的。实际上,这种想法是非常错误的!因为数据库面临的安全威胁除了通用软件型漏洞之外,还有数据库的专有漏洞。如果说新型攻击手段的不断“迭代”,已令现有的安全防护措施无法精准识别并有效拦截通用软件型漏洞攻击,更何况是数据库专有漏洞呢?举例来说,像是数据库触发器注入、SQL静态注入等漏洞攻击语句一般不会在应用层以明文方式传输,所以针对数据库的入侵检测和防御就需要进行针对性的研究和专业的处理!与此同时,数据库与常见的应用在漏洞原理、漏洞利用条件、攻击效果等方面也存在着较大差异。数据库漏洞除缓冲区溢出、符号链接等通用软件型漏洞之外,还包括:内部cache表更新滞后、SQL注入攻击等。
图1:数据库与通用软件漏洞比对
数据库威胁分析
· 威胁来源
(1)常见应用:网络夹带恶意代码、本地系统对象互操作等;
(2)数据库:数据库存储过程、函数等数据库对象存在漏洞,即数据库本身存在的安全隐患。
· 漏洞攻击效果
(1)常见应用:远程RCE、本地提权等;
(2)数据库:权限提升、数据泄露、数据篡改、数据破坏等。
当前,持久化、复杂化、隐蔽性的网络攻击已成为当前主流。与早期的炫技不同,如今的攻击者大多以“求财”为首要目标,在没有得到令其满意的“回报”前,通常会静待直至时机成熟或被发现,面对此类攻击任何防护手段都难保没有露出破绽的一天。而更危险的是,攻击越来越多的以团队形式出现,内部存在组织和职能的划分,甚至具有政治背景。
然而,各国政府和企业对数据库安全的重视程度却同数据本身的价值以及发生数据安全事件可能造成的损失不成正比。过去很长一段时期,数据库仅被视为数据的一个载体,“割裂”的认知将存储于数据库内的海量数据置于危险边缘。
数据库自身具备一定的安全防护能力,如权限划分、数据库加密等机制。明确的权限管理能够在一定程度上保障重要、敏感数据的安全,但权限的边界并非不可逾越,攻击者可以通过多种方式实现权限提升。其中,像是存储过程SQL注入提权、同义词替换提权、符号链接攻击提权等提权漏洞的利用门槛较高;也有更简单获取数据库权限的方式,如部分数据库敏感信息传输、存储时未加密,则可通过监听数据获取用户名、密码等关键信息;或未限制普通用户对数据库文件进行操作的权限等等。此外,提权漏洞除了获取数据库更高权限之外,还可以利用数据库获取操作系统的权限。
图2:权限提升阶梯
除了提权漏洞之外,信息泄露、数据库服务宕机等也严重威胁着数据安全。Sqlmap等开源SQL注入工具降低了引发信息泄露、数据篡改相关攻击的门槛;同时,因SQL盲注导致的数据库错误也几乎不可避免。攻击者一旦注入成功,除可获取当前数据库内存储的数据之外,还可通过新建用户实现长期潜伏,而针对数据库特制的勒索病毒也早已存在。
数据库安全防护工作不仅是面向其所涉及数据的安全,数据库的安全还影响着上下游软件的安全,诸如上层的web中间件和下层的操作系统等等。如果数据库因漏洞攻击沦陷,则必将影响上下游软件的安全,反之亦是如此。
图3:数据库安全威胁
1、人为因素
因管理人员疏忽或经验缺乏等问题对数据库安全造成威胁,如口令不符合要求(包含数据库默认口令),或因不熟悉数据库机制使用了错误配置等;
2、数据库自身漏洞
因应用程序逻辑问题导致的SQL注入等漏洞,数据库软件方面的缓冲区溢出及提权漏洞等;
3、第三方恶意插件
数据库使用的工具或第三方组件中插入恶意的SQL语句,通过特定的方式触发恶意SQL语句实现攻击;
4、数据库设计缺陷
研发人员未充分考虑数据库安全防护机制导致的安全漏洞,例如:登录请求身份验证时从文件读取默认密码、客户端与服务器未进行身份验证便发送敏感信息、TDE加密密钥明文存储等。
图4:SQL盲注导致的错误类型
据不完全统计,信创数据库分类及占比参考信息如下:
1、按漏洞危害分类
高危占比41%,中危占比44%,低危占比15%;
2、按攻击途径分类
远程漏洞占比53%,本地漏洞占比43%;
3、按漏洞类型分类
信息泄露、拒绝服务、未授权、缓冲区溢出、逻辑、越权、提权和其他;其中,以提权和信息泄露占比最高,分别为40%和22%;相关漏洞类型分布情况详见下图:
图5:数据库漏洞占比
信创数据库安全治理
虽然针对SQL注入攻击的防护无法从web端根本解决,但数据库可以通过SQL注入错误立即探测到此类风险,即只要探测到就关闭session以立即反制。想要从根本上解决数据库安全问题,数据库厂商需要对产品进行安全风险把控——建立内部安全开发管理体系、建立安全威胁模型、掌握已知数据库攻击手段、建立安全测试评估机制、加强产品发布前的内部风险审查工作等。开展研发、运维、技术支持相关人员的安全意识与能力培训,与专业团队合作进行数据库产品的漏洞挖掘,并通过实施安全风险评估,尽可能降低相关安全风险。与此同时,建立数据库漏洞监测和预警处置机制,以加强针对安全漏洞的风险发现、监控与管理能力。
(本文作者:北京安华金和科技有限公司 朱强)
声明:本文来自CCIA数据安全工作委员会,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。