有哪些数据屏蔽工具?(MySQL,Linux)


14

我正在寻找(理想情况下是免费的,开源的)数据屏蔽工具。有这样的存在吗?

注意:这个相关问题涉及用于生成测试数据的工具,但是在这个问题中,我对从真实数据开始并对其进行遮罩以便在测试中使用更感兴趣,而不会丢失任何使其出于测试目的变得有趣的特殊关系。生成的数据可以用于某些测试目的,但是实际数据会带来您从未想到的问题。 生成测试数据大型数据集的工具

Answers:


9

如果有一个通用的工具,我会感到非常惊讶-它怎么会“知道”什么是敏感数据,什么不是?例如,它将需要检查您的所有数据并识别信用卡号,电话号码,邮政编码,电子邮件地址以及任何其他敏感数据的所有可能格式。它还需要对您的模式保持聪明-例如,是否应将所有客户电子邮件地址重写为“ nobody@company.com”-或数据库,应用程序,其他工具的任何部分是否假定客户的电子邮件地址(或SSN或什么)是唯一的?还是您的应用程序中有一部分对信用卡号进行校验和,如果将它们全部重置为0000 0000 0000 0000,那会中断?还是您的电话系统假设客户

基本上,配置任何工具来执行此操作将比仅仅利用您对应用程序的知识编写自己的脚本要多得多或更多的工作。在我的站点上,我们只是制定了一项政策,即在首次审核以查找所有这些列并编写版本1之后,凡向其中添加了此类数据的列的人都更新脚本以使其匿名。


1
我知道有商业工具,因为在以前的工作场所中,有一个(失败的)计划将其用于我们的Oracle数据库。(我没有参与该项目,所以我不知道失败的原因。我怀疑,正如您所建议的那样,为旧版数据库设置数据屏蔽工具将是非常繁琐的任务)。
testerab 2011年

3
哦,我希望有人会卖给您一些声称是这种东西的东西,但是就像我说的那样,配置它比用SQL编写自己的SQL还要多的工作,因为您必须先学习他们的入门DSL!
Gaius

5

如果您的数据库很小,则具有简单的数据模型并且可以被当前的DBA很好地理解-脚本“可能”就是答案。但是,随着需求的变化,功能的增加以及开发人员/ DBA的到来,手动分析和掩盖典型数据库的工作(和成本)很快就会失控。

虽然我不知道任何开源数据屏蔽产品,但是有一些商业产品是相当全面的,相对易于使用的,并且可能出乎意料的合理成本。它们中的许多功能都具有开箱即用的发现功能,可以对敏感数据(SSN,信用卡,电话号码)进行识别和分类,以及维护校验和,电子邮件地址格式,数据分组等功能,以便屏蔽数据看起来和感觉真实。

但是您不必为此而接受我的(公认的偏见)这个词。询问诸如Gartner或Forrester之类的行业分析师,他们在掩盖方面有许多无偏见的报告可能会有所帮助。

希望这些评论会鼓励您考虑开发商业产品以及内部脚本开发。归根结底,最重要的是保护我们许多人日以继夜地看到的敏感数据,而这些数据是我们真正不需要做的工作–将我们和个人我们面临风险的数据。

迷彩软件公司高级集成专家Kevin Hillier


1
我知道您不希望出售自己的产品,但是如果您可以命名几个商业产品或提出一些具体建议会很有用?
testerab

1
我了解您在这家公司工作,您可能想推荐自己的产品,但并不反对。但是由于该信号,它看起来像是一个时髦的内联广告,而不是“我知道我在说什么,因为这是我的工作”……我更相信“使用等等等等(完全公开:我正在使用此产品),因为等等等等”的说服力,不要把您的名字放在最后。如果我们需要您的个人详细信息,我们可以单击您的权限并阅读信号,然后单击此处的链接。
jcolebrand

5

从来没有见过这样的项目,但是在我处理过一些敏感数据集之后,需要打扰的主要事情是人们的身份或个人识别信息。这应该只在数据库中的几个地方出现。

屏蔽操作应保留数据的统计属性和关系,并且可能需要保留实际的参考代码(或至少某种受控转换机制),以便可以将其与实际数据进行协调。

可以通过在字段中获取名称的唯一列表并将其替换为FirstNameXXXX(其中XXXX是序列号,每个不同的值一个)来实现这种目的。在开发环境中,可能用于身份盗用的信用卡号和类似信息很可能是禁止的,但只有在测试付款处理系统时才需要真实的密码-通常,供应商会为您提供特殊代码用于虚拟帐户。

编写这种匿名程序并不特别困难,但是您需要确切地同意需要与业务匿名化的内容。如有必要,逐字段浏览数据库。询问是/否会给您您不想要的误报。请业务代表解释为什么,或者不对特定数据进行匿名处理的后果或监管含义。


3

几周前我完成了相同的任务。我们评估了一些软件系统,但是大多数软件系统仅用于一种数据库,例如oracle,使用起来通常很复杂……因此,没有什么是最好的评估方法。我们花了几个星期。

我们决定购买数据屏蔽套件专业版,因为它是最容易使用的一种。它也可以屏蔽数据,例如,您可以将电子邮件地址更改为真实的电子邮件地址,例如... @ siemens.com至mike.miller@seimsen.com。

据我所知,您可以免费试用约500(?)条记录。

这是链接http://www.data-masking-tool.com/


1
只是一个数据点:在撰写本文时,数据屏蔽工具的价格仅为1,000美元。
Michael Teper

2

我这样做的方式:

  1. 创建一个仅具有查看权限并为用户选择权限的新数据库
  2. 对应该在其他数据库中可见的表进行查看
  3. 屏蔽需要屏蔽的列:repeat('*',char_length(column to be masked))

2

几年前,我首先陈述了这条路,此后根据这一实践建立了一家咨询公司。

我假设这样做的目的是建立测试数据,以用于那些无法访问生产信息的人员访问数据的人员的测试环境中。

首先要确定的是确切地需要掩盖哪些数据元素,并要做到这一点,最好首先使用诸如Schema Spy(开源)之类的数据发现工具开始,并且您将需要相关的jdbc驱动程序来完成此任务,但是是该过程中非常有用的步骤。

Talend Open Studio是我近年来用来执行某些ETL功能的最佳工具之一,通过将值替换为random或,您还将能够进行一些基本的掩蔽实践。查找/替换-保持一致性-使用地图组件。

但是,如果您正在寻找真正的数据屏蔽工具,那么我还没有找到合适的开源工具。如果您对工具的预算非常适中,建议使用Data Masker,但您将需要通过MS SQL或Oracle进行一些导入和导出,因为它们仅通过那些协议进行连接。

请访问http://www.datakitchen.com.au/2012-08-14-15-04-20/data-masking/data-masker-toolset, 以获取有关数据屏蔽,数据屏蔽方法,数据发现和测试数据的信息管理。在http://www.dataobfuscation.com.au上也有一个有用的博客


1

Informatica市场上有一种称为Informatica ILM(TDM)的工具。这将PowerCenter用作ETL的备用,并使用可用的不同屏蔽选项来屏蔽数据。您完全需要一位数据分析师或SME,他们可以了解如何屏蔽数据。工具本身不提供应屏蔽哪些字段的信息,但是有一种内部算法或过程或过程来识别敏感数据字段,例如名称,带有编号的ID列,信用卡,SSN编号,帐号等。


此外,Informatica ILM TDM允许生成数据子集。因此,您可以根据业务需要对数据进行子集处理并对其进行屏蔽,也可以对所有数据进行屏蔽,然后对其进行子集处理。
Awadhesh Yona

1

今年,我有机会与声称可以完成要求的IBM Optim合作。不是免费的,但效果很好。


1

我最喜欢的一个是IRI FieldShield(https://www.iri.com/products/fieldshield),它具有多功能性(大多数数据屏蔽功能),速度(用于内部数据移动的CoSort引擎)和人体工程学(简单的4GL作业)在其Eclipse GUI中支持大量的数据库和文件连接)。从价格上看,它大约是IBM和Informatica的一半,尽管它也可以在更大的数据集成套件中用于“大”数据转换,迁移和BI。因此,它也不是免费的,而是使用一些开放源代码(IDE,并且可以使用OpenSSL和GPG),并且脚本可以在Windows,Linux和其他Unix版本上运行。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.