基于CIS框架的数据库安全防护方案设计

2025-02-10 4 0

一、数据库安全防护设计参考

CIS互联网安全中心,即Center for Internet Security,CIS 最出名的就是 CIS controlsR(CIS控制项)和 CIS BenchmarksTM(CIS 基准),这两个项目是全球公认的针对IT系统和数据安全的最佳实践。同时CIS与 CSF安全功能映射,并匹配NIST CSF 2.0。另某互联网头部公司内部安全基本层面的管理标准,与CIS Controls具有高度的一致性。

CIS将控制内容划分为3个实施组(Implementation Group,IG),来形成优先级分类。每个IG都是一个CIS控制子集,适用于资源规模或安全风险比较相近的一类企业。

IG1:适用于IT和网络安全专家非常有限的中小型企业,保护措施主要确保企业业务的正常运营,避免宕机。企业数据的敏感性较低,主要与员工和财务信息相关。IG1防护措施不应依赖专业的安全知识,主要针对一般性的非目标攻击,也适用于小型或家庭办公室环境。

IG2(包括IG1):IG2适用的企业一般都有专人负责管理和保护IT基础设施,企业各部门基于工作职能和任务面临不同的风险,而且存在监管合规的负担。IG2企业通常需要存储和处理敏感客户或企业的信息,能够承受服务的短暂中断,但如果出现违规行为,将会带来公关问题。IG2防护措施有助于安全团队应对不断增加的操作复杂性,但有些措施需要依赖于企业级技术和特定领域专家的专业技能。

IG3(包括IG1和IG2):IG3适用的企业一般有专门的网络安全专家(包括风险管理、渗透测试、应用程序安全等领域)。这些企业的资产和数据包含受监管的敏感信息或功能,以及合规监督,因此必须解决服务可用性、敏感数据机密性和完整性的保护问题,企业网络一旦遭受攻击可能对公共福利造成重大损害。IG3防护措施必须阻止来自熟练攻击者的针对性攻击,并减少零日攻击的危害和影响。

NIST 是 National Institute of Standards and Technology 首字母缩写,国内一般叫做“美国国家标准与技术研究院”,与网络安全相关有2个框架:

1、 Privacy Framework,隐私框架

2、 Cybersecurity Framework,网络安全框架,简称CSF

二、基于CIS对数据库进行风险评估

以下公司内部数据库基于CIS控制项进行评估,最终形成风险项和风险优先级,在实际风险评估种可以参考CIS_RAM_WORKBOOK去执行,并计算风险分值,本文通过调研访谈快速生成风险项,为解决方案提供输入。需要关注的是最新版CIS在IPDRR(Identify、Protect、Detect、Respond、Recover)加入了Govern(治理)突出了管理职责和流程设计,即GIPDRR,笔者认为更为完整和适用。

基于CIS框架的数据库安全防护方案设计插图

三、数据库安全解决方案

国内某安全厂商的CAPE框架,这个框架与CIS/NIST的IPDRR类似,在数据库场景的一个落地,CAPE框架主要测试技术层面,缺乏在企业角度的管理职能:即明确职责和建立流程。数据安全解决方案应主要包括:管理职责、流程和技术解决方案3个方面。

1、管理职责

数据库安全管理职责是重中之重,需要识别出数据库管理owner,明确owner的安全管理职责,第二就是制定形成内部统一的数据库安全管理策略及标准,做到有人管、有制度要求,第三就是建立数据库安全对接人,也就是通常所说的执行人,这里的执行人既包括dba等运维团队也包括信息安全的专业安全人员。

2、流程建设

将数据库安全管理制度和要求进行系统化管理,并进行持续改进,即完成“先固化再僵化,最后才优化”的过程。在流程涉及和管理过程中,自然而然的涉及跨部门协作和沟通,在对于内部沟通成本较高、存在部门墙的公司,通过流程来推进数据库安全管理,可能是事半功倍的方法。具体涉及数据库安全的流程,参考如下:

  • 数据库资产入账登记
  • 数据库数据分类分级
  • 数据库账号管理流程等

3、技术方案

技术解决方案主要涉及访问控制、账号管理、漏洞管理、数据安全管理、审计追溯等维度,针对数据库的安全技术方案,很多都已经成熟,关键点在于落地,但基于数据库在业务中的核心位置,很多侵入式的数据库安全防护方案难以落地,数据库安全审计系统几乎成为数据库安全标配,也从侧面验证了侵入式方案的难落地的尴尬。另外就是结合数据库实际面临的风险现状,也就是基于上文的风险评估,确定技术方案的优先次第。

本文从数据安全视角,介绍从数据识别、分类分级、数据加密、数据脱敏几个维度简单介绍下。

3.1 分类分级

现在很多企业在做数据的分类分级,笔者认为分类分级并不是信息安全的最终目的,最终是通过数据的分类分级任务、项目,实现有限的安全资源投入重点的数据保护中。现在数据分类分级产品有很多解决方案,声称利用LLMs大模型能力提升分类分级准确率,这里面有部分是可取的,即利用大模型对相对标准化的数据进行识别和分类分级,如公司内部人力资源数据,客户、供应商、个人信息等,个人隐私数据保护、数据跨境等场景也是企业数据安全的重点,这也是很多企业做数据分类分级的切入点。另外一个角度,大模型训练需要的数据,很多企业还是要求私有化部署,不会共享自己的数据给到大模型厂商,避免数据泄露风险,还有很多企业还没有数据分类分级标准,业务对次并无感知,数据安全职责owner都还没有落下去,业务对数据分级都没有最终确认,何谈数据分类分级准确率。

3.2数据加密

数据库加密的主要推动力来自监管合规要求,但涉及密钥管理、性能和稳定性影响,实际落地还是存在很大的挑战。

指标

应用插件方案

加密机外挂方案

数据库内置方案

实施成本

实施工作量小,免改造应用代码

实施工作量大,需改造应用代码,集成加密机客户端SDK

实施工作量小,部分数据库自带TDE功能,即通常所说的表空间加密、透明加密

可靠性

可靠性高,插件成为应用程序的一部分,不单独启进程,插件可靠性取决于应用自身可靠性

可靠性中,数据需要传输给集中部署的加密机进行加解密,形成性能瓶颈和单点故障风险

可靠性高,数据库自带安全能力

性能

性能高,基于高性能国密算法、脱敏算法

性能中,需要将数据传入传出加密机,额外增加网络延时

性能高,加密算法较少支持SM系列,

Oracle:根据版本不同默认支持AES128、AES192,支持HSM硬件加密机和Oracle Key Vault软件形式;

MySQL InnoDB支持TDE,支持AES加密算法,具体参考:

MS SQL SERVER可选AES128、AES256,其它更多密钥信息、加解密函数调用可参考:

兼容性

支持绝大多数数据库,与数据库解耦

支持绝大多数数据库,取决于SDK编程语言类型

仅支持Oracle、Oracle、MS SQL SERVER等部分数据库

数据流

不改变原数据流转路径和网络拓扑,免改造模块原地加解密数据、脱敏数据

改变数据流转路径,明文先经过SDK传入到加密机,加密后将密文返回SDK,最终存入数据库

在数据库内部完成加解密,不改变数据流转路径

扩展性

可灵活扩展,统一可视化策略管理,横向覆盖更多应用,不影响已部署应用的加解密性能

扩展成本高,加密策略需要通过硬代码实现,任何策略改动,都需要改动代码,不灵活而且风险大

扩展成本中,数据库各版本存在差异

应用升级影响

不影响应用升级,加解密等功能与应用轻耦合

应用升级需要维护加密代码,加解密与应用代码紧耦合

应用升级要评估数据库,占用数据库服务器性能资源,根据备份方式可能存在影响

3.3.数据脱敏

这里的数据脱敏是指的动态脱敏,在技术上一般分为两种实现,这里不包含前端通过JS脚本实现的伪脱敏。

一、基于SQL改写

优点:

1.早期过滤:在数据访问的早期阶段进行脱敏处理,能够减少不必要的数据传输,提高效率。

缺点:

1.复杂性高:SQL改写需要解析和修改复杂的SQL语句,实现难度较大。

2.性能影响:SQL改写可能会增加数据库的解析和执行时间,导致性能下降。

3.兼容性问题:不同数据库系统的SQL语法可能存在差异,需要针对不同系统进行适配。

mysql> SELECT id, mask_ssn(CONVERT(ssn USING binary)) AS masked_ssn
mysql> FROM customer
mysql> WHERE first_name = 'Joanna' AND last_name = 'Bond';
+-----+-------------+
| id | masked_ssn |
+-----+-------------+
| 786 | XXX-XX-0007 |
+-----+-------------+

二、基于返回结果集改写

优点:

1.实现简单:相对于SQL改写,结果集改写的实现相对简单,不需要解析复杂的SQL语句。

2.易于维护:对现有的SQL查询影响较小,便于维护和升级。

3.灵活性:可以在应用层对返回的结果集进行灵活处理,适应不同的业务需求。

缺点:

1.性能影响:由于是在数据查询完成后进行脱敏处理,可能会增加响应时间。

2.资源消耗:对返回结果集进行处理会增加应用服务器的负载,特别是在大数据量的情况下。

参考内容

https://www.cisecurity.org/

https://github.com/bytebase/bytebase

https://dev.mysql.com/doc/refman/5.7/en/innodb-data-encryption.html

https://learn.microsoft.com/zh-cn/SQL/relational-databases/security/encryption/sql-server-encryption?view=sql-server-ver16


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

代码审计 | 某商城系统
Vulnhub靶场之Phineas
[Meachines] [Easy] Precious Ruby-pdfkit-RCE+Ruby YAML反序列化权限提升
美国医疗系统遭遇重大数据泄露,88.2万患者信息被曝光
DeepSeek应用未加密传输敏感用户和设备数据,引发安全担忧
基于本地大模型的敏感信息检测的burp插件开发

发布评论