每个开发人员对数据安全/隐私的了解
#编程 #安全 #database #privacy

有包括this one在内的研究表明,绝大多数数据泄露是由于人为错误所致。

这种人为错误的某些结果是容易受到操纵,社会工程等的结果。其他形式是由于错误的做法甚至技术债务所致,这些债务不会导致不遵守最少特权的原则。

解决前者的明显补救措施是对安全培训(无论是合规性还是自愿),而我确信有些理解约翰尼做错了什么使他的电脑使用恶意软件感染了他的PC,或者Jane是如何欺骗的。穿着连帽衫的黑客在电子邮件中点击一件东西在某种程度上可能很有用(取决于一个人想要成为慈善事业),对其他人(包括我自己)来说,这只是超级la脚。我一直想更好地了解如何以及何时访问生产数据库,如何识别敏感信息(包括PII),以及开发人员在日常开发中应该做的特定事情,等等。我发现我认为值得与开发人员分享:

理解不受限制地访问生产数据库不是理想的

It's bad mkay

我知道这对许多人来说是非常明显的,但这与任何人一样好。我遇到的一些经验较少的经验认为,任何人都可以访问生产数据,而在某些公司中,VPN访问数据库的工作文化已嵌入其工作文化中。实际上,总会有一些“破碎的玻璃”场景,有人需要为消防目的做出任何既定规则。即使您不进行消防,也可能有时需要访问以代替更好的选择。因此,我的立场不是绝对主义者,并且访问应该是“在任何情况下,永远不要,永远不要”,但是至少,我们都应该努力提供更好,更可持续的解决方案。我认为许多开发人员都理解这一点,但是我们倾向于在没有合理的替换选项的情况下踢到街上。

即使以某种方式泄漏敏感信息的风险并不引人注目,我们都知道单个不良查询可能会导致无数的问题,无论是与负载相关的还是错误的查询(或脚本)的实际数据完整性问题。要再次陈述显而易见的内容,可悲的是,数据库中没有“撤消”按钮。

将数据从生产数据库中移出以进行分析/测试

将数据移动到其他地方是一件完美的娱乐 - 这是将子弹从装载枪中取出的想法。

问题是,如果这样做,您可以创建此数据的副本,并且此数据包含敏感信息,则可能会创建数据泄漏,尤其是如果这些数据副本开始在整个组织中繁殖越来越多的副本(包括在笔记本电脑上)。重要的是要了解这里涉及的风险,并开始考虑可能的解决方案,而不是交易一个可以在街上踢到另一个方面。

数据泄漏真的很常见吗?风险被夸大了吗?

实际上,工程师笔记本电脑上生产数据副本的实际风险可能很少,但是问题是,如果这成为一种常规的做法,那么这将变得极为难以管理。如果您的公司遵守某种合规性,则可能会从审核中挂出及格等级。如果您不是并且您的公司准备退出,审计师可能会以不良数据管理实践的形式寻找壁橱中的骨架。没有人希望在草率数据管理实践上进行数据泄漏或某种形式的博览会。在许多情况下,这里的心理压力和可能的叙述在实际现实中占主导地位。

这就是为什么有非常成功,非常有价值的公司(an example)有助于确定整个组织中敏感信息的原因。我并不批评这些公司的存在或使其效用的毒品,它们显然是必要的邪恶,但是我认为使用数据的不良做法是一种原始罪的形式,首先为像这项业务这样的公司提供了一种形式。当您需要它们时,您正在尝试将那匹马放回谷仓。

我们如何将那匹马放在谷仓中?

Horse in barn

我建议检查Redactics。我觉得在这里采用的方法令人信服的是,它们是自动创建生产样品并将该数据发送到应该何处的(例如,这是另一个数据库还是Amazon S3存储桶),并且编辑数据是同样的一部分过程。到数据到达所需目的地时,敏感信息和PII已经消失。没有什么可考虑的(除了可以物理访问该软件运行的基础架构的工程师)。此外,该软件适用于没有任何警告的开发人员使用(并且可能很快开源),因此该产品不是仅针对大型企业公司的付费解决方案。

了解您的数据

您选择的解决方案是自动确定敏感信息和PII还是您必须自己找到它,我认为对于开发人员来说,重要的是要注意包含此信息的特定字段,并且至少以某种方式进行了记录,以便它可以要考虑到,但是您选择这样做。

使用此信息,例如,您可以创建表格赠款,以强制阻止对非特权用户访问此数据的访问,或者如果您使用的是Requactics之类的解决方案,则可以确保您的REDACTION配置中包含所有字段。 Requactics确实包含了PII扫描仪工具,该工具基于HIPAA标识符,根据您的生产数据样本来寻找PII,但此工具旨在作为指南和附加检查。最好只知道您的数据。

也必须注意,我们需要谨慎的不仅是个人信息,而且还需要敏感或机密信息,例如API键和Hashed密码。根据我的经验,QA,分析等很少需要此信息。因此,我的经验法则是将重新规则应用于您不确定的任何内容,尤其是在这样做的情况下没有害处的情况。

数据重新识别

在某些情况下,从安全角度来看,在其原始状态下留下某些(需要的)数据可能会产生意想不到的后果。例如,如果您编辑了一个人的姓名和电子邮件,而不是他们所居住的城镇,那么在一个足够小的城镇中,有人可以访问此数据例如,该人的年龄。

编辑字段并不总是是防弹解决方案,尤其是如果用例需要保留一定数量的数据进行分析(分析,机器学习等)。如果您觉得这种风险与您有关,那么查看诸如差异隐私之类的策略可能是值得的。

什么是差异隐私?

差异隐私有效地是您按下的巨型洗牌按钮,以在数据集中获取值,并将其分配给该数据集中的随机用户。这样,汇总中的数值保持不变,但是如果您捕获一行数据重新识别,则不再可能。 A number of BigTech companies在其平台和应用程序中采用了不同的隐私策略。

不要瘫痪

也许有些开发人员非常关心这里的可能风险,以至于他们坚持使用种子/虚拟数据,或者找到不涉及生产数据的解决方法,即使这些数据效率较低。您只需要注意这些问题,并且有了解决方案(无论是编辑还是其他),您就不必被阻止。相同的解决方案很有可能会在您的公司中解除许多其他用例 - 当利用其全部潜力时,您的生产数据非常有价值!