海量数据的使用正在为企业创造越来越多的价值,与此同时,数据也正成为企业的核心资产;如何在对数据高效使用的同时,确保数据的安全,尤其是敏感数据的安全,是一个重要的安全课题,也是很多企业的核心诉求。本次对阿里云SDDP(敏感数据保护)产品进行了测试调研。
一.主要功能
测试过程中,了解到SDDP实现的功能主要包括:
1.敏感数据识别:基于敏感数据识别规则,对使用阿里云产品服务中产生的数据进行分析,识别出其中的敏感数据和对应的风险等级。
2.异常事件告警:从权限开放,数据流转和操作等方面对潜在的异常事件告警。
3.数据脱敏:敏感数据从高安全级别区域/系统进入低安全级别区域/系统使用前,进行静态脱敏。
4.其他增强特性:如API等。
二.功能体验
当前SDDP主要支持OSS,RDS,MaxCompute这三款阿里云产品,在使用该产品之前,首先需要对相应的产品资源进行连接授权,确保SDDP对这些资源有足够的权限进行操作。
1.连接授权
以下是三种资源连接授权界面的截图,整个过程还是比较简单的,选择需要授权的资源,并填入必要的连接信息(如RDS的用户名/密码)即可。
连接授权信息填入完毕后,SDDP会尝试使用该授权信息访问对应的资源,如果没有问题,检测状态会变为通过,后续就可以正常使用SDDP的各项功能,连接授权整个配置过程还是比较简单的。
2.敏感数据识别
2.1规则相关配置
敏感数据的识别需要基于一系列既定的规则,从实际使用过程中了解到,SDDP默认已经内置了一系列常见的敏感数据的识别规则,如身份证,手机号,银行卡等个人敏感信息的识别,以及在应用开发部署和安全场景中会经常接触到的AccessKeyId,AccessKeySecret,key私钥等敏感信息。
敏感识别规则页面可以看到SDDP默认内置了三十多项常见的敏感数据识别规则。以下是敏感识别规则页面的部分截图,可以看到,内置的规则覆盖了一些较为典型的敏感数据信息,并且默认定义好了该类信息对应的风险等级;例如身份证和手机号风险被定义为S3,银行卡为S4;AccessKeyId被定义为S3,而AccessKeySecret和Key私钥等则被定义为S4,个人认为默认的风险等级定义还是比较合理的。
值得一提的是,发现默认规则还集成了对身份证图片,护照图片等图片信息的敏感信息识别,推测可能使用了OCR之类的图像识别技术?这一点还是很不错的,毕竟现在的确有很多敏感信息是通过图片的方式进行存储,常见的直接基于文本字符串的识别规则,并不能覆盖这一部分。
敏感识别规则这一部分,除了产品自带的一系列规则外,也支持自定义规则的配置,可以看到支持关键字以及正则表达式匹配的模式,并且能对自定义的规则设置风险等级。
不过,关于自定义规则,发现有一些不方便的是,自定义的规则无法修改,如果因为规则编写的原因需要修改时,只能将原策略删除,重新添加。
其实建议这个自定义规则,可以和内置规则保持一些差异,自定义规则可以允许用户编辑,因为在添加规则中,特别是正则表达式类型,由于编写的准确性,是很有可能需要修改的。
2.2识别结果展示
因本次测试未添加MaxCompute资源,以下是OSS及RDS敏感数据识别页面的展示效果:
从展示效果来看,还是不错的;如果点击上图中具体的资源,例如OSS的某个bucket或者RDS的某个库,会显示出具体的哪个对象包含敏感信息,以及对应的风险等级:
在这里需要注意的是,当前的展示效果不能对数据进行隐藏,例如只显示某一级别,或者某个级别以上的对象,担心如果加入的资源较多时,展示效果可能会比较混乱,难以找到关键的风险信息;在使用中就发现,例如我需要查找某个包含了S3级别风险的RDS字段时,因为该库中的表和字段较多,需要翻页,在多个S2中找到一个S3,比较困难。这应该是可以改进的地方。
3.异常事件告警和处置
SDDP能基于对OSS/RDS/MaxCompute等场景异常的定义,产生异常告警事件。当前的异常场景和事件规则定义以下:
可以看到,规则的丰富度尚可,但是不支持对规则的编辑,或者针对用户场景的自定义规则,定制化略有不足。
在“异常事件处理”的标签页下,可以看到基于当前异常事件规则所产生的一些告警事件:
点击查看详情,可以看到该异常事件的细节;另外,在处理页面,能对该异常事件的跟进调查进行简单记录,并确认是否误报还是的确违规。
4.数据脱敏
通常,对数据脱敏功能的衡量,主要从支持的脱敏方式,以及脱敏动作执行的便利性,效率等方面来判断。从SDDP数据脱敏的实际体验来看,基本覆盖了当前最常见的一些数据脱敏方式,适用于对不同类型的源数据作脱敏,还是很全面的。比较贴心的是,对脱敏算法进行配置时,有一个测试功能,能够提前验证脱敏效果是否符合自己的预期。
数据脱敏的具体操作执行上,需要在脱敏任务里指定脱敏源,脱敏算法,目标位置;该功能的实际使用比较简单,配置也很方便,以下以RDS的脱敏为例,可以很便利的对需要脱敏的字段进行脱敏开关的开启,在对脱敏算法进行选择是,也支持提前测试和验证:
任务的触发方式,也支持人工,定时,人工+定时等多种方式;对于脱敏后可能存在的数据冲突,也给了用户不同的选择方式。
以下是任务创建完毕,并执行完成的截图:
整体使用中,感觉数据脱敏的功能相当不错,不管是功能设计,还是用户体验,都很不错。
5.API等增强功能
根据产品介绍,SDDP也是支持通过API进行相关查询和操作的,不过本次因时间原因,暂未对其API进行测试。
三.计费模式与版本
当前官方公布的计费模式如下:
从已经公布的敏感数据识别功能的计费模式来看,价格整体还算比较合理,OSS支持的最大存储量为10T,RDS则为20个库,对于部分深度企业用户来说,总量很可能远超这些;因此在使用中,个人认为更适合对那些比较重视数据敏感性的bucket和库进行授权识别,而不是所有资源,这样从使用效率以及成本上都可能会更好。至于敏感数据脱敏的计费模式,也值得后期关注。
四.总结与建议
经过以上的测试体验,得出以下结论:
1.整体功能设计还是比较完善的,覆盖到了数据识别,事件跟进处置,基于处置的算法优化,以及数据脱敏等核心功能,有闭环的整体框架性设计;特别是数据脱敏功能,使用起来感觉很方便。
2.在敏感数据展示,敏感数据定位方面,当前对于用户来讲,还有些不便的地方,毕竟识别出来只是第一步,定位到数据本身才是后续通常要进行的动作;另外,用户自定义规则方面,当前给与用户的选择还不太够,可以完善。