软件开发公司通常使用的DevOps是一种需要软件开发人员和IT运营团队密切协作的文化,目标是更快地推出更高质量的软件和频繁修改该软件。DevOps帮助许多北京软件开发公司彻底改变了他们的开发操作。
在软件开发行业也开始理解作为DevOps过程一部分,解决安全需求的重要性。DevOps体系下必须平衡速度和灵活性在应用程序和服务的需求中保护企业关键资产。
自带测试下的安全性显微镜
在软件开发过程中特别需要更加重视的一个领域是安全测试。根据较近的一项调查,北京软件公司报告在测试过程中使用实时客户数据,因为他们认为这可以在“实际”中提供应用程序性能和行为的较准确表示。任何时候,实时客户数据都是从生产中提取的环境,他们向软件外包商提供真实的客户数据用于测试流程,这增加了损失或误操作的风险。这些根深蒂固的习惯,可以使测试人员面临重大风险。
未能保护个人数据的公司所遭受的声誉损失可直接转化为收入损失。新的隐私规定现在提高了这个前景。欧盟(EU)较近通过的一般数据保护法规(GDPR)通常被认为主要影响欧盟公司,但这些新法律实际上适用于拥有欧盟客户数据的任何组织。这包括一半以上的大型企业 - 根据上述相同的调查。2018年5月,未能在测试过程中掩盖其客户数据的企业将发现自己直接违反GDPR。
满足测试数据保密任务
如同许多其他的信息安全计划,测试数据隐私项目可能是复杂和困难,但他们可以用DevOps的举措保持一致。入门建议包括清查敏感数据,确定理想伪装规则和创建了解视图表。
库存敏感数据,现在可以保存。第一步是通过创建和识别需要伪装的信息列来获取所有敏感数据的库存。与流行的信念相反,这不包括名称,事实上,消除名称可能会使得在测试过程中数据在事务路径和平台上移动时不必要地识别客户记录。例如,在基本加密模型中,“Marcin Grabinski”的输入可以传递“KL / BCrWkXniHAdoN0zhLEw”的输出。简而言之,这对于测试者是不可区分的,因此是不可接受的,除非过程是自动的,手动。
测试数据隐私的目标不是伪装数据本身,而是使得相当难以识别个人 - 一种被称为“假名化”的概念。只要这些名称没有链接,就可以使用生产数据库中的真实客户名称到家庭住址,出生日期,护照,许可证号码或任何其他识别信息。保持真实,易于识别的名称(例如,Jane Doe)使得测试过程对于手动测试人员更快速,高效和准确,因为它们在测试环境中跟踪应用程序执行。
确定理想的伪装规则。一旦公司确定需要屏蔽哪些信息,下一步是为每种类型的敏感数据创建伪装规则。有各种技术,较着名的是加密,或者对消息或信息进行编码的过程,因此只有授权方才能读取它们。
如上所述,使用标准加密的挑战在于,它可能使得软件开发公司测试者非常难以识别他或她正在观看什么类型的信息。以上面提到的例子,“KL / BCrWkXniHAdoN0zhLEw” - 不只是这不容易简单地查看和召回作为名称,但人们甚至不能告诉它是一个名称或地址,或电话号码物。在测试数据隐私的上下文中,格式保留加密趋向于更好地工作。这种加密风格保留了输入数据的原始格式,同时屏蔽了输入数据,从而使其对于数据测试目的更有用。例如美国的电话号码 - 这些可以反映为三位数字 - 三位数字 - 四位数字,因此测试者知道他或她正在查看电话号码,但内容是加密的 - 给出不同的数字集合。
虽然格式保护加密可以很好地用于像电话号码这样的数据,但对于不遵循标准格式的数据(例如地址)并不总是很好。对于处理GDPR的组织尤其如此,因为地址在不同国家的格式不同。数据转换,它采用存储在组织的文件中的现有数据记录,并且加扰并分配它们以掩盖敏感数据值 - 对于希望掩盖遵循统一格式的地址信息的组织来说是好的选择。
创建查找表。如果必须使用现实的名称或地址,则没有魔法来简化过程 - 必须设置数据查找表。然而,这不需要是一个时间密集或痛苦的过程。首先,不需要有大量的数据记录。一些组织认为,为了测试是全面的,他们需要测试与生产联系人表包含的行数一样多。这不是真的 - 测试只有一到五个数据记录是完全可以接受的。
相同的比例对地址有好处。不需要巨大的体积。正如我们上面讨论的,由于格式的种类繁多,以及邮政编码,城市和街道之类的项目之间的不一致,可能会使记录无法进行测试,因此掩蔽地址可能很具挑战性。有一些方法可以解决这个问题 - 一些组织选择保留真实的地址信息 - 只要附加到其上的其他个人身份信息被正确屏蔽,有些组织甚至完全删除这个私有地址信息,用替换地址替换它。例如,在同一个国家有多个位置的大型组织可以将这些地址换成“虚拟”,以避免在其测试环境中有任何真正的私有地址。
结论
在软件开发公司的DevOps体系中,每个人都在快速移动,特别是测试人员,组织需要将它们与不必要的风险隔离开来。如果软件产品不安全,或者如果客户的数据隐私在创建过程中的任何地方受到损害,那么旨在及时和预算地产生优秀软件的大量努力将被严重削弱。安全解决方案正在不断发展,并且越来越适应DevOps的速度。在这种情况下,解决软件开发中的安全问题的一个重要方法是通过适当地屏蔽测试过程中使用的所有生产级客户数据。