近年来,数据安全非常火,但数据安全落地难也是共识。毕竟信息安全的方方面面均与数据安全存在关联,并不存在一个纯数据安全的动作来把数据安全搞定。因此,把信息安全的各个子领域与数据安全交叉的部分搞透彻,对数据安全的落地必将产生巨大的推动作用,笔者在国舜股份从事开发安全领域工作多年,抛砖引玉,今天就先讨论讨论开发安全与数据安全的交叉,看开发安全如何推动数据安全。
在进行详细的讨论之前,先探讨两个数据安全与开发安全交叉的关键话题,帮助我们准确理解相关基础概念。
开发安全讲究的是软件全生命周期,包含系统的需求、设计、编码、测试、部署、运维、废弃全过程;数据安全讲究的是数据全生命周期,包括数据的采集(生成)、传输、存储、处理、交换、销毁全过程。
从表面看,数据安全的全周期其实都体现在软件全生命周期的运维阶段,但实际上软件全周期的需求、设计、编码、测试、部署、废弃的每个阶段,都深深影响到数据的安全。
大部分数据资产都是机构自建的,按理来说,应该对数据的分布、存储一清二楚,但事实上,现在机构信息系统都是多头架构,几十上百甚至上千个系统通过各种对接构成,里面的数据流转非常复杂,数据的存储、分布也就不清楚了。
对照这种数据的实际状况,绝大部分数据安全解决方案是基于数据存储、分布不清楚,整体IT系统是个黑盒来架构的,其数据资产的管理也是基于黑盒,通过一些工具去抓取流量中的数据,以此来分析、发现现有的数据存储、分布情况,构成数据资产管理的基础。
但是黑盒管理毕竟是有局限性,你永远判断不了资产管理是否覆盖了所有的关键数据,你的数据安全能力是不确定的。
数据安全发展到一定阶段,一定要基于白盒,即整体的数据分布、存储是清晰透明的,在此基础上构建的数据安全方案才可能是完备的、收敛的、可验证的。黑盒的相应手段可以作为监测工具来利用,而不能作为数据安全的基础来构建。
如果一旦确定白盒的数据分布基础假设,开发安全就尤为重要。只有在开发阶段就进行数据分类、分级,对数据资产进行充分的备案、注册,建立配套的安全机制,数据安全的整体方案才能构建,可以说数据安全在开发安全领域的应用,是黑盒假设的数据安全方案提升到白盒假设的数据安全方案的前提和基础。
通过以上两个话题的讨论,我们大概能够了解开发安全与数据安全的相互关系。到应用环节,在开发安全领域内应用数据安全,无非是通过安全需求、安全设计来实现数据安全的要求,通过安全测试来验证数据安全的实现质量。
开发安全推动数据安全的出发点是数据安全的法规、技术规范等。数据安全的法律法规很多,这是笔者前不久收集的一个法规清单:
《数据安全法》
《个人信息保护法》
《网络安全法》
《关键信息基础设施安全保护条例》
《工业和信息化领域数据安全管理办法(试行)》
《信息安全技术网络数据处理安全要求 (GB/T 41479-2022)》
《数据管理能力成熟度评估模型 (GB/T36073—2018)》
《信息安全技术 数据安全能力成熟度模型》(GB/T 37988-2019)
《信息安全技术 个人信息安全影响评估指南(GB/T 39335—2020)》
《基础电信企业数据分类分级方法(YD/T3813-2020)》
《基础电信企业重要数据识别指南(YD/T 3867-2021)》
《电信网和互联网数据安全评估规范(YD/T 3956-2021)》
《金融数据安全数据生命周期安全规范(JR/T-0223-2021)》
《金融数据安全 数据安全分级指南(JRT 0197-2020)》
笔者通过对以上文献的分析,感觉《信息安全技术 数据安全能力成熟度模型》(GB/T 37988-2019)(以下简称DSMM),最能完整地概括数据安全的各方面要求。以DSMM的内容,尝试在开发安全领域落地,将有力推动数据安全落地。
DSMM是数据安全能力成熟度模型(Data Security Capability Maturity Model)的简称,其架构图如下:
图:DSMM架构
1.安全能力维度
安全能力维度明确了组织在数据安全领域应具备的能力。包括组织建设、制度流程、技术工具和人员能力。
2.能力成熟度等级维度
数据安全能力成熟度等级划分为五级,具体包括:1级(非正式执行级),2级(计划跟踪级),3 级(充分定义级),4级(量化控制级),5级(持续优化级)。
3.数据安全过程维度
(1)数据安全过程包括数据生存周期安全过程和通用安全过程;(2)数据生存周期安全过程具体包括: 数据采集安全、数据传输安全、数据存储安全、数据处理安全、数据交换安全、数据销毁安全 6 个阶段。可以说DSMM比较完整地概括了数据安全相关的能力,那么这些能力在信息系统建设中体现了哪些安全需求呢?DSMM中的安全需求从实现来说分为两类:第一类是针对企业的整体要求,比如应该建立数据分类分级规范,拥有某项能够发现数据资产的工具等;另外一类是在具体建设业务系统中,需要遵循的数据安全要求,比如敏感数据通讯要加密、数据操作要记日志等。1.第一类安全需求
1.完善的数据安全管理制度,包括数据分类分级、数据全生命周期管理、数据管理的组织与人员等等,这部分不是本文的重点,在此略过。从功能需求来看,DSMM还是基于黑盒假设来构建的数据安全能力。
现在资产自动化发现的技术就是流量发现,随着流量分析的技术越来越先进,自动化发现的分析能力也越来越先进。但该技术的效果好不好,除分析技术本身以外,还有两个关键因素:现在的网络拓扑太复杂,尤其是会在局部构成小的工作域,工作域之间的访问非常复杂,想要把流量抓全几乎是不可能的。相对来说,把对外接口的流量抓全相对简单些,对外流量也是数据泄露的重要渠道,这部分性价比也很突出,可以作为流量抓取的重点。随着数据安全工作的深入,通讯安全的水平提升明显,很多机构内部也严格要求加密通讯,比如不允许使用http,代之以https。一旦数据加密不能破解(也不应该被破解)该功能最终效果会越来越差。考虑到DSMM分为五级,三级以前还可通过数据资产发现的模式来推动数据安全,三级以后就应该慢慢转变,最终发展为基于白盒假设的方向,数据资产也以注册、备案方式来保证完整,黑盒作为监测、抽查发挥补充作用。
2.第二类安全需求
第二类的安全需求需要通过分散的项目中来实现,更加难以操作和管理。DSMM的PA构成比较复杂,既有能力域方面的差别,组织建设、制度流程、技术工具和人员能力不同能力域的PA,也有级别上的差别。笔者分析认为,从能力域角度,项目型安全需求集中体现在制度流程部分;从级别上看,以等级3为标准,最能反应当下开发安全有所开展机构的安全要求。笔者按照等级3的假设,自动包含等级2的要求,酌情引入等级4的要求,经过对制度流程能力域PA的分析,总结了14条应该在日常项目建设中考虑的安全需求:
第二类安全需求才是开发安全工作的重点,后续章节针对前面章节中的第二类安全需求。具体的安全设计当然是千变万化,但为更好实现安全需求,应该对其中的一些安全需求建立标准的安全设计方案。
全部需求统计下来,应该建立13个标准的安全设计方案,可以更好支撑安全设计。数据安全方面的需求都很难实现自动化测试,还是以手工测试验证为主,在验证访问控制有效性方面,渗透测试人员会结合一些渗透测试工具。具体安全验证部分内容如下表:
除DSMM外,其他的数据安全规范同样重要,在开发安全中也有广泛应用。以数据分类分级为例,DSMM只是规定需要分类分级,并由对应的保护措施,但怎么进行分类分级,怎么分正确、合理并没有提及,这就要靠其他数据安全规范。如果是银行,就要参考《金融数据安全 数据安全分级指南(JRT 0197-2020)》制定数据分类分级标准;如果是运营商,就要参考《基础电信企业数据分类分级方法(YD/T3813-2020)》制定数据分类分级标准,这些都是保障安全需求进一步细化的关键。小结:数据安全是信息安全整体工作的结果,离不开其他领域安全的支持。数据安全虽然体现在系统运营阶段,但其根基却在系统开发阶段。以笔者在国舜股份多年开发安全经历来看,从开发阶段全面重视数据安全,把数据安全左移,在安全需求、安全设计、安全测试阶段充分重视数据安全,是助力数据安全从黑盒走向白盒,真正具备DSMM的三级、四级甚至五级水平的关键和必由之路。