一、引子概述

今天来聊聊数据安全风险管控。

在说数据安全风险管控前,我们先说说数据安全,开展数据安全工作一般有三个维度:

首先是从风险维度开展,风险维度即通过对数据风险的识别、评估、处置、监控再到识别的闭环操作,来管控数据安全风险。

其次是从数据生命周期维度开展,数据生命周期维度即从数据生命周期的各个环节去管控风险,所以也称为基于数据生命周期的风险管控,数据生命周期一般是数据采集、数据传输、数据存储、数据处理、数据交换、数据销毁。

最后是从业务维度开展,业务维度即从不同的业务分支入手去管控风险。

我们今天所说的,即第一个风险维度。数据安全风险管控比较成熟的一个思路是通过风险识别、风险评估、风险处置、风险监控来进行的,这类似于PDCA戴明环的概念,首先识别风险,识别到风险后对风险进行评估,评估完之后对风险进行处置,处置好之后再对环境进行监控,监控的过程中通过分析监控日志,又识别到了新的风险,如此循环。

二、风险识别

风险识别主要分为两块,一块是风险策略的制定,另一块是数据的分类分级

风险策略是风险识别的前提条件,我们制定风险策略时需要综合依据公司战略、风险偏好、风险容忍度来制定。风险策略的完善与否会直接影响到公司对风险的管控,也可能会影响到公司的品牌和声誉。在这其中,外部监管和公司战略是不断变化的,那么风险偏好也会随着不断变化,而风险容忍底线(即风险容忍度)一般前期是基于外部监管红线的,后期随着公司不断成熟,风险容忍底线是不断提高的,因为公司越大,承担的社会责任也就越大,被监管机构关注的也就越多,风险容忍底线也就越高。

也就是说,风险策略也是需要不断调整的,这是一个动态的过程。

制定完风险策略后,接下来就是对数据进行分类分级,数据的分类分级其实在很大程度上是要以公司业务为主的,这里落地的方式每个公司都因地制宜,不同公司的安全部门扮演的角色也不同,在我司,安全部门所扮演的角色只是给其他部门介绍方法论,具体分类分级工作由具体的部分去搞,因为单从每个业务的风险情况上来看,数据的敏感程度、风险等级都是不一样的。

数据的分类分级工作从大体上讲,一般有四块内容。第一块是通过资产发现,实现对数据资产的标识,从而建立起数据资产的基线,为数据分类分级打好基础。第二块是构建敏感数据发现能力,并制定敏感数据分类机制,进而构建敏感数据分级能力,形成对资产的重要程度打分。第三块是通过对敏感资产的权限梳理,构建起敏感资产的权限梳理能力,让权限变化得以可视化呈现。最后一块是通过压力统计、流量统计等方式,统计资产使用情况、资产访问情况,进而统计敏感数据使用情况。

从数据分类分级的具体步骤来看,主要分为六个步骤,第一步是根据业务实际,明确分类原则,包括系统性原则、规范性原则、稳定性原则、明确性原则、扩展性原则。第二步是将业务条线作为业务一级子类进行细分,确定业务二级子类(业务管理),并对其命名。第三步是在前一阶段对业务细分基础上,找到数据与业务二级子类之间对应关系,经归类后,确定数据一级子类,从而实现将数据分类。第四步是根据业务实际,明确分级原则,包括依从性原则、可执行性原则、时效性原则、自主性原则、合理性原则、客观性原则。第五步是明确数据定级三要素、明确影响对象说明、明确影响程度说明、明确数据特征描述,并制定数据定级步骤,以及预置数据升降级机制。第六步是在完成数据分类分级后,根据数据所处的系统、存储的媒介、物理位置等,明确数据的具体“数据形态”。

二、风险评估

风险识别之后,是对风险进行评估,风险评估实际上是一种风险管理工具,是识别风险及其可能造成的损失,从而调整安全防卫措施的方法。风险是威胁因素,它利用系统或环境的脆弱性对其进行损害。风险评估用来保证安全措施是划算的,并能适当而适时地对威胁做出反应。

安全问题可能会非常复杂,即使对熟练的安全问题专家来说,也很容易造成如下问题:使用太多的安全限制;安全措施不足;使用了错误的安全组件,在实现安全的过程中花费了太多成本,却没有达到既定的目标。风险评估可以将公司面临的风险分出优先次序,并在后续对不同的风险采取不同的处置措施。

风险评估主要是为了识别威胁、弱点和现有控制确认。根据每一个信息资产的特性识别出信息资产的弱点,同时,识别出在公司环境范围内,可以利用信息资产弱点使信息资产遭受伤害的外部威胁。再结合公司对信息资产的保护程度,对威胁、弱点的等级进行评价。

数据安全风险评估分为定性评估定量评估两种方式

首先是定性评估,定性评估分为经验评估专家评估,经验评估就是根据过往经验进行分析评估的一种方式,由于个人的经验一般都比较局限,因此经验评估时一般有以下几种方式:

集体讨论:专家组成员集体对数据安全风险进行分析讨论.
开座谈会:召开数据安全风险座谈会听取各方面人员的分析意见。
书面调查:将数据安全风险评估项列成表并由专家填表后进行归纳。
结合现场:经验评估与现场风险分析相结合进行评估。

经验评估属于三个臭皮匠级别的,而专家评估则是属于一个诸葛亮级别的,因此,专家评估一般通过以下几种方式:

个人判断:依靠专家对数据安全风险趋势及状况做出个人判断。
专家会议:依靠一些专家对数据安全风险趋势及状况做出集体讨论。
头脑风暴:通过专家间的相互交流产生组合效应形成宏观智能结构。
专家调查:根据专家的的直接经验对数据安全风险进行判断和预测。

通过经验评估和专家评估,我们就可以定性的完成对数据的重要程度安全权重的判定,其中数据的重要程度会分为四个区间。

定性评估帮我们完成了数据的重要程度安全权重的判定,接下来是定量评估工作,定量评估和定性评估不同,它是根据客观公式来进行的评估的。在数据分类分级时有提到,数据分类后一般是分为一级子类和二级子类。在定量评估时,我们首先通过加权平均的算法,对期望范围内的一个一级子类下的二级子类的风险进行计算。

我们先假定以下标识:

n代表一个一级子类,N代表一级类的集合
Mn代表一个一级子类下二级子类的集合

则一级子类下第m个二级子类的加权平均得分b的计算公式为:

风险数据集市架构规划 数据风险控制_安全架构


其中:

1、a代表二级子类m中第k项业务数据的重要程度,0代表完全不重要,4代表非常重要,分为4个区间。
2、w代表二级子类m中第k项业务数据的安全权重,0代表无安全要求,1代表安全要求非常高。
3、K则代表二级子类m的安全评测项总数。

如此类推,在计算出每一个二级子类的风险后,再将二级子类的风险值与安全权重作为计算参数。那么一个一级子类的加权平均得分c的计算公式为:

风险数据集市架构规划 数据风险控制_big data_02


其中:

1、w代表二级子类m的业务数据安全权重。

通过这种方式,计算出期望范围内所有的一级子类的风险值。最后通过加权平均计算出期望范围总的风险值。则总得分S计算公式为:

风险数据集市架构规划 数据风险控制_big data_03


其中:

1、w代表一级类n的业务数据安全权重。

最终,通过定性评估和定量评估后,我们得出了期望范围的风险总值,通过判断风险总值所在的范围区间,我们将风险分为四个等级,也就是说0到1属于无风险1到2属于轻微风险2到3属于中等风险3到4属于严重风险

三、风险处置

在评估完风险等级后,接下来是对风险的处置工作。风险处置主要是根据风险的排序情况,结合公司实际资金及资源情况,对不同等级的风险设置不同的处置措施。

风险处置有四种方式,分别是风险控制,风险转移、风险承担、风险回避

风险控制,一般来讲即整改风险。即公司制定计划和采取措施降低损失的可能性或者是减少实际损失。 比如我发现了一个漏洞,那么对应的措施就是我投入资源去修复这个漏洞。

风险转移,一般来讲就是买保险。即将公司的风险转移给受让人承担,风险转移有时可大大降低公司的风险程度。

风险承担,一般来讲就是保留风险,即如果损失发生,公司将承担该风险带来的损失,无论是经济还是声誉损失。 比如我发现了一个漏洞,那么对应的措施就是把这个漏洞放在那不管,因为它修复起来比较困难或者没有修复的意义。

风险回避,一般来讲就是放弃项目,即风险大过收益,公司选择不做该项目,从而也就没有风险了。

在实际中,要对不同等级的风险实施不同的处置措施:

无风险那自然是啥都不用管了。

对于轻微风险,通常是能解决的尽量解决,无法解决的,可以考虑承担该风险,也就是不解决。

对于中等风险,通常是能解决的一定要解决,解决时间长的,可以考虑排期解决,实在无法解决的,可以考虑对风险进行转移。

对于严重风险,通常是能解决的必须要解决,实在不能解决的或者解决成本远大于承受范围的,可以考虑对这些风险进行转移,对于触及生命线的风险,则考虑风险回避。

四、风险监控

对于数据安全风险监控,首先要处理的是来自内部的风险,这里我们通过内部统一风险监控平台来开展这些工作,内部统一风险监控平台分为六大功能模块:

第一块是登录控制,解决谁在登录、什么时间登录、什么地点登录的问题。

第二块是需求安全评审,解决需求设计合规、需求设计安全、第三方依赖组件安全的问题。

第三块是权限控制,解决权限分配的问题,即谁在操作,操作对象是什么,怎么操作的。

第四块是需求安全测试,这一块和需求评审相对应,解决需求安全落地的问题,例如是否存在越权、是否存在注入、其他安全问题。

第五块是授权审批,解决权限落地的问题,包括核心权限审批、用户临时授权。

第六块是数据关联分析,例如数据库应用分析、访问来源与操作会话分析、多因素关联分析等。

处理好来自内部的风险后,接下来要处理来自外部的风险。我们通过数据操作防护平台来实现,数据操作防护平台分为五大功能模块:

第一块是SQL防火墙,主要用来防范不安全的SQL操作,比如SQL注入,数据库直接访问这种。

第二块是访问控制,主要用来限制不安全的访问及操作,比如限制敏感表操作权限、限制访问控制内容范围、限制批量删除和批量更新这种。

第三块是虚拟补丁,主要用来修复权限相关的漏洞,比如缓冲区溢出漏洞和越权漏洞这种。

第四块是违规监控,主要是通过监控客户端行为、审计风险行为、告警攻击行为。

第五块是数据脱敏,主要是敏感数据的去标识化和敏感数据的匿名化。

最后,我们综合内部统一风险监控平台和数据操作防护平台,通过事前规则防范,事中行为审计,事后问题跟踪的方式,实现对业务数据风险的监控与防护。

在进行监控与防护的过程中,我们可能会识别到新的风险,那么就又回到了风险识别这一步,开启了新的一轮循环。

五、举个例子

对于一个业务来说,我们首先要理清楚业务的每个环节到底都有什么功能,整个业务的架构是什么样子的,比如在问诊业务中,在渠道层,用户通过APP、公众号、小程序来进行问诊,医生通过医生端APP、云诊室、公众号来接诊。客服通过业务运营平台来进行支持。在应用层中,有极速问诊、专家问诊等问诊模式。服务层中,有下单服务、医患交流等服务功能。在支持层中,有数据平台、监控平台等支持功能。在基础层中,有用户数据库、医生数据库等基础支撑。

在理清了业务的具体功能之后,我们要搞清楚整个业务的每个环节是怎么对应数据生命周期的,因为不同的数据生命周期环节,安全的关注点不同。比如在用户和医生的渠道层,主要对应的是数据采集,那么这里我们主要关注的是合规和授权的问题,在用户进行问诊或医生进行接诊的时候,采集的数据被传输了,那么这里我们主要关注的就是加密、完整性校验、身份认证的问题。同样的,在基础层的数据库中,对应的是数据的存储与数据的销毁,那么在这里我们主要关注的就是数据存储和数据销毁的安全问题了。

最后,对不同节点的业务数据开展风险识别、风险评估、风险处置和风险监控即可。比如我们在数据采集环节,首先来识别我们所收集的数据属于哪一类数据,属于哪个级别的数据,之后,通过定性和定量评估来判断我们采集这些数据有什么风险,有多大的风险,再然后,我们决定对于这个风险怎么去处理,是控制还是承担还是转移。最后,我们将这里的业务行为纳入监控范围,对应的风险就被监控起来了。

这样我们就结合了最开始的风险维度、数据声明周期维度和业务维度来完成了这个例子中的数据安全风险管控。