2.4.2 指纹
指纹源自生物识别技术,具备存储空间小、能够迅速辨识生物个体差异,以及指纹特性与个体其他属性互不影响、不随个体其他属性的变化而变化等优势。广义上的指纹泛指任何具有唯一识别功能的信息,例如人的虹膜、身份证号码、手机号码等。文件指纹与人的指纹相似,是能够唯一识别一个数字文件的信息。
文件指纹匹配作为数据安全系统内容识别的重要组成部分,具有广泛的应用价值。高科技公司利用该技术对核心源代码进行样本训练,以便及时发现涉事人员非法复制源代码(即便只是部分模块)。客户利用该技术在其数字档案馆或电子文档库中,识别大量的中间文档或重复文档,并对其进行标记或清除。还可以从专利、配方数据、试验数据等敏感数据样本中抽取指纹,对目标文件进行指纹相似度匹配或EDM。在数据安全内容识别中的指纹算法通常包含EDM和IDM。
EDM可保护客户与员工的数据及其他通常存储在数据库中的结构化数据。EDM允许根据特定数据列中的任何数据栏组合进行检测,也就是在特定记录中检测M个字段中的N个字段。它能在“值组”或指定数据类型集上触发,例如,可接受名字与身份证号码这两个字段的组合,但不接受名字与手机号这两个字段的组合。
举例:一个EDM策略要求检测“姓名+手机号+身份证号”的组合,那么“张三”+“13888888888”+“110101299003079796”就能触发这个策略,而即使“李四”也在同一个数据库里,“李四”+“13888888888”就不能触发这个策略。
EDM还支持近似逻辑以降低误报情况。对于检测过程中处理的自由格式文本,单个特征列中的每个数据的字数都必须在可配置的范围内,才能被认为是匹配的。例如,按照默认设置,在检测到的电子邮件正文的内容里,“张三”+“13888888888”+“110101299003079796”的每个数据的字数必须在选定的范围内,才会有匹配结果。对于包含表格数据(比如Excel电子表格)的文本,单个特征列中的所有数据都必须在表格文本的同一行上,才能被认为是匹配的,以降低整体误报情况。
IDM通过创建文档指纹特征,能够准确检测以文档形式存储的非结构化数据,包括原始文档中已检索部分、草稿或不同版本的受保护文档。IDM首先对敏感文件进行学习和训练,打开敏感内容的文档时,IDM采用语义分析技术进行分词,然后进行语义分析,提取出敏感信息文档的指纹模型。接着,IDM利用同样的方法对被测文档或内容进行指纹抓取,将得到的指纹与训练的指纹进行比对,根据预设的相似度进一步确认被检测文档是否为敏感信息文档。这种方法赋予了IDM极高的准确率和较大的扩展性。
IDM技术是从样本文档中生成指纹特征库,然后以同样的方法从待检文档或内容中提取指纹,再将得到的指纹与指纹库进行匹配,获得其相似度,如图2-2所示。一般来说,文件指纹匹配包括文本预处理、指纹生成、指纹选取、相似度计算四个部分。
图2-2 文件指纹生成过程
文本预处理是为了消除文本中的无关信息,从而降低指纹对相似性判断的干扰。根据不同的目的、不同的语言特征,不同指纹方案的预处理方法会有所差异。指纹生成是基于预处理后的文本,按照设定的文本粒度,运用文件指纹算法得到指纹。指纹选取是依据一定的指纹选取策略,从生成的指纹中挑选出代表文档的文件指纹。经过这些步骤,就可以构建需要保护的文件指纹库。最后,在线文件也要经过预处理、指纹生成和选取等步骤,得到该文件的文件指纹,然后与指纹库中的文件指纹进行相似度比较,输出文件相似度作为结果。