- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
⼤数据安全--敏感数据识别和分级打标
⽂章⽬录
⼀、信息安全技术政务信息共享数据安全技术要求
数据安全技术要求
共享数据提供⽅在进⾏数据分级分类时的安全要求包括:
应按照政务信息资源分级分类相关要求对共享数据分级分类并进⾏标记,根据标记可对数据安全等级进⾏识别,并需要保留标记记录,
作为审计依据;
应按照数据级别确定所必要的安全防护措施;
应对共享数据分级分类的变更进⾏记录,并通知相关数据使⽤⽅;
应明确使⽤⽅对共享数据的使⽤权限,包括是否允许数据存储、数据存储保护要求、是否允许使⽤⽅提供给第三⽅等。
⼆、敏感数据识别和分级打标
数据分级分类的原则
分类: 依据数据的来源、内容和⽤途对数据进⾏分类;
分级: 按照数据的价值、内容敏感程度、影响和分发范围不同对数据进⾏敏感级别划分。
数据分级分类⽅式
根据梳理出的备案数据资产,进⾏敏感数据的⾃动探测,通过特征探测定位敏感数据分布在哪些数据资产中;
针对敏感的数据资产进⾏分级分类标记,分类出敏感数据所有者(部门、系统、管理⼈员等) ;
根据已分类的数据资产由业务部门进⾏敏感分级,将分类的数据资产划分公开、内部、敏感等不同的敏感级别。
敏感数据识别
通过⽤户 ⾃定义规则,⾃动识别敏感数据
使⽤⾃带的规则或⾃定义规则,对其结构化表或者⾮结构化⽂件进⾏整体扫描、分级
三、敏感数据⾃动识别实现
3.1、敏感字段标注⽅案
敏感字段包括:
统⼀社会信⽤代码,车辆识别代码,营业执照号码,税务登记证号码,组织机构代码,图⽚,⽇期,IP地址,MAC地址,城市,性别,民族,省份,车牌号,
电话号码,军官证,邮箱,护照号,港澳通⾏证,姓名,地址,⼿机号,⾝份证,银⾏卡。
发现敏感字段⽅法
定期全库扫描,识别敏感字段 (周期触发)。
新增或修改表和字段,增量扫描识别出敏感字段。 需要监听数据库对表或字段的操作,来指定表或字段进⾏敏感识别扫描,需结合数据库代理服务
⼿动触发扫描
3.2、敏感字段识别
识别⽅式: 正则匹配 , 关键字 , 算法
银⾏卡号、证件号、⼿机号,有明确的规则,可以根据正则表达式和算法匹配
姓名、特殊字段,没有明确信息,可能是任意字符串,可以通过配置关键字来进⾏匹配
营业执照、地址、图⽚等,没有明确规则,可以通过 ⾃然语⾔算法来识别,使⽤开源算法库
数据识别问题
全库扫描 占⽤资源较⼤,是否可以使⽤采样的⽅式
脏数据的判断识别,有的字段是NULL或者空格的,是否可以直接默认是定义为敏感级别
数据打标,是对全库字段打标,还是只对采样数据进⾏打标,并单独存库⽤⾛后期的统计分析
四、demo代码
4.1、识别mysql数据库中⼿机号码字段
对指定的mysql实例下的所有库、所有表、所有字段,遍历去匹配正则表达式,然后进⾏标记。
# -*- coding:utf-8 -*-
@Author : Browser
@file : identity_mysql.py
@time : 2019/09/30
@software : PyCharm
@description:
import pymysql
import re
s1 = ⽆风险
s2 = 低风险
s3 = 中风险
s4 = ⾼风险
#通过正则匹配出个⼈⼿机号码
def check_secret(value):
phone_pattern = ^[1](([3][0-9])|([4][5-9])|([5][0-3,5-9])|([6][5,6])|([7][0-8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$
if re .match(phone_pattern, value):
return (%s % s3)
else:
return (%s % s1)
class DB(object):
def __init__(self,ip,username,password):
self.ip = ip
self.username = username
self.password = password
self.db = pymysql.connect(self.ip,self.username,self.password)
self.cursor =
文档评论(0)