数据安全处于安全行业的风口,也是用户和市场关注的焦点。数据脱敏似乎是一个简单易用的技术领域。然而,不同产品技术的性能和应用价值差异很大。
随着我国信息化建设的不断推进,政府、企业甚至个人对数据安全的认识和重视程度不断提高。数据脱敏技术和产品作为数据安全保护的重要组成部分,已广泛应用于开发测试环境建设和数据外发共享等典型场景中。
数据脱敏产品作为一种具有日常工具属性的数据安全产品,除了帮助客户满足合规需求外,还能有效解决客户敏感数据在分发和迁移过程中的安全痛点,这一点尤为重要:
- 面对复杂的业务系统数据,客户需要自动准确地识别敏感数据,但由于业务系统中数据的复杂性往往较高,敏感数据的分类和判断占用了大量的劳动力资源;业务系统数据的存储位置不仅是数据库,还有大量的结构化导出和备份文件;如果缺乏足够的自动化和智能的敏感数据发现手段,很可能会出现误判漏判等问题,导致数据泄露。
- 面对大规模的数据脱敏场景,客户对数据脱敏性能提出了更高的要求和挑战,无论是选择快速构建1:1模拟测试环境,还是长期维护备份或开发测试环境所需的实时数据。换句话说,无论是全脱敏还是增量脱敏,产品都可能需要在几小时内处理TB层次数据,数据处理过程应尽可能自动化,减少人工干预,以便整合真实场景的整个分发过程。
一、数据“敏感性识别”能力
发现目标环境中的敏感数据是公认数据脱敏的前提。然而,该技术的应用除了必须检查数据脱敏产品外“发现性能和准确性”此外,在实际使用过程中,对产品的影响更大“深度能力”这些能力也将决定数据脱敏产品是否真的适用于真实和复杂的场景:
1.字段脱敏混合多种内容
对于“由多种内容混合在一起”字段、数据脱敏产品能否准确识别每个数据的类型,并给出用户参考选择的类型比例?
以个人信息收集场景为例,典型内容之一是有人需要填写“联系方式”字段。但由于填写者对收集需求的理解不同,手机号码、座机号码、地址等可能会填写各种信息“个人信息”组成。这些信息将存储在同一列中。如果仅从数据特征开始,处理不当,则很容易忽略该字段作为非敏感字段。因此,成熟的数据脱敏产品发现机制不仅要准确识别上述字段为敏感数据字段,还要根据采样数据给出各种数据在该字段中的发现比例;此外,在后续的数据脱敏操作中,还应能够根据每行数据的真实类型相应地生成高度模拟的数据。
2.不能区分敏感属性的字段脱敏
对于“敏感属性无法从数据特征上判断”在传统数据脱敏产品的发现逻辑中,字段往往容易被忽略,导致敏感数据泄露;事实上,如果处理得当,可以通过以下两种方式识别此类数据:
首先,对于属于某一集合范围的数据,可以列出所有这些集合作为数据字典保存;当遇到这种情况时“落到字典中”当数据时,可以区分它是否是敏感数据。例如,通过这种逻辑可以找到中国省市划分、企事业单位行政部门、股票证券行业上市公司代码等敏感数据。
其次,根据字段名称的特征,可以尝试找到具有特征的字段命名数据;虽然这种发现的结果是基于猜测,但它可以减少大海捞针的工作量。例如,保存密码字段很难区分数据内容特征的敏感性,但如果根据字段的名称,可以使用一个字段“包含了PWD或PASSWORD等字符串的列名”作为这类数据的疑似判断依据。
此外,在实际使用场景中,敏感数据的数据库和结构化文件外,敏感数据载体还包括保险业的大规模使用xml保单文件;医疗行业常见html临床医学采用结构保存的病例、诊疗记录和病例DICOM图像格式文件。对此类文件中敏感信息的分析和识别,不仅要求产品能够适应不同类型的文件格式,还要有更智能的词法语义拆分、非结构化信息识别等能力。
二、数据脱敏“高度仿真”能力
“数据脱敏”,它似乎描述了数据脱敏产品“最基础能力”单词,但在不同的使用场景中有不同的能力要求;例如,客户对脱敏后的数据有要求“仿真”质量要求将在脱敏后验证数据的真实使用,从而验证数据脱敏产品“高度仿真”能力要求越来越高,往往由以下难度层次组成:
1.内容仿真
基本内容模拟要求脱敏后的数据从“数据类型、长度、格式、内在逻辑和语义”其他特性与原始数据一致,不会对脱敏后数据的使用场景造成无法识别或歧义。一般来说,市场上大多数脱敏产品可以通过内置规则更好地满足上述最基本的模拟要求,如身份证、姓名、银行卡、手机号码、地址等。然而,当客户面临各种使用场景时,他们希望实现脱敏后的数据“高度仿真”,需要更灵活的产品技术能力来支持。
例如:在制造业中,成品批号需要脱敏,但批号由生产日期、车间号、装配线号和操作人员相关信息组成,行业级数据明显超出一般数据脱敏产品内置规则的默认范围,然后安全制造商数据脱敏产品可以根据位数分割数据,并根据分割结果配置脱敏规则。例如:对于日期段,可采用标准日期脱敏规则;对于车间号、装配线号等范围数据,可以基于数据字典进行脱敏;最后将各段组合成完整的脱敏数据。
2.模拟区间和比例
先进的数据模拟,除了模拟内容外,还要求整个脱敏数据能够满足某些特征,以避免这些脱敏数据分发到分析统计场景,因为失真降低了其实用性。
例如,金融行业的客户需要分析储户的储蓄金额,但如果脱敏后的数据与原始数据相差太大,统计分析结果将大大扭曲。因此,脱敏产品的算法可以将金额数据划分为不长的范围“就近随机”完成脱敏的方法;当大学客户统计学生分布比例时,即使他们得到了,他们也会“北京脱敏成上海,天津脱敏成江西省”这样的非真实数据,也还是希望“同一省市生源数据比例”不变等等。
3.关联仿真
相关仿真是一种进一步的数据仿真,要求脱敏后的数据与其所在行的其他数据保持一定的相关关系或操作关系,如:
身份证号码、出生日期、年龄三个字段出现在同一表中,自然存在“身份证中间8位数据与出生日期一致,当年减去出生日期为年龄”这种逻辑关系。在这种情况下,脱敏后的数据需要保持这种关联,否则很容易导致业务系统在分发到测试场景后的逻辑异常;
在制造业中,一张桌子经常存在“产品单价、折扣率、实际价格”并存在三个字段“产品单价x折扣率 = 实际价格”这种逻辑关系。在这种情况下,如果价格数据脱敏,则要求数据在脱敏后仍能保持上述操作关系,这就要求脱敏产品能够通过表达式准确处理此类行业的具体数据逻辑关系;
以证券业为例,同一张桌子经常存在“证券号、上市区、企业名称”有相应关系的数据,要求证券号码或企业名称脱敏后,三者之间的逻辑关系仍然可以对应。因此,脱敏产品需要能够实现多列数据字典的准确、有效的相关模拟脱敏操作。
综上所述,用模拟数据真正满足不同行业、不同场景下客户的需求是一句简单的话“数据脱敏”可以概括的是,它对制造商的产品和技术有更高的要求和测试。
三、“高性能”数据脱敏能力
“脱敏性能”是客户非常关注的产品指标!在某些情况下,客户需要执行“全脱敏后每天增量脱敏”数据处理逻辑要求脱敏产品在规定时间内处理前一天的增量数据,否则会直接影响脱敏目标环境中的数据一致性;在其他情况下,对数据脱敏的需求是“随用随做”客观节奏,从数据脱敏需求需求到构建数据脱敏环境,留给相关人员的时间很可能很紧。无论上述场景如何,大量数据的脱敏性能都不断提出新的要求和挑战。除了提高常规调度合理性和算法操作效率外,还有两个关键因素也影响了数据脱敏效率的提高:
一是利用数据库的特性完成数据提取和入库逻辑。例如:以“数据库并行加载机制或load机制”替换“通过JDBC读写数据”,这样会大大提高数据脱敏产品的开发复杂性,但同时也会提高大规模数据脱敏性能。
其次,数据脱敏产品可以提供平行扩展的集群部署计算能力,从而通过扩展计算节点的数量来扩展数据脱敏产品的计算能力。
【本文是51CTO专栏作者“安全牛”请通过安全牛(微信微信官方账号)转载原创文章id:gooann-sectv)获取授权】
戳这里,看作者更多的好文章