测试技术专题

测试那些事儿(八)- 数据安全

2020-03-08  本文已影响0人  唐T唐X

数据安全

市面上,互联网产品五花八门,功能各异。但是,无论什么产品,全都做的是数据的收集、分析、展示。数据可以说是血液,他流淌于每个产品的体内,给各个业务模块输送养料,让整个产品正常运转。而今天我们要说的,就是关于测试中的数据安全问题,它们涉及到用户的隐私,重要性可见一斑。

阶段分类及举例

在这里我们按照目前最多的一种产品数据流转方式来说明和举例 —— C/S模式下的数据流转。我们最熟知的莫过于产品的注册过程,即在用户输入用户名和密码后点击提交,到用户注册成功,开始使用产品。

我们可以把数据安全要注意的点按照产品注册的工作阶段进行分类,并给出处理方案:

阶段 对应案例 处理方案
传输前 用户输入用户名和密码 加密、增加复杂度
传输中 用户点击提交 通讯协议
传输后 用户注册成功 加密
传输前:加密、增加复杂度、授权
传输中:通讯协议

传输中其实就是通讯协议的事儿了。我们熟知的传输协议有http和https,这也是C/S模式最常用的两种协议。不过,现在http协议用的很少了,尤其是IOS系统已经在很早以前严格规定APP中不能再出现http的接口,就是因为它是有数据安全隐患的。使用过Charles或Fiddler的童鞋都知道,http的接口抓包后是可以直接看接口内容的,所以如果在传输前阶段客户端没有对敏感信息进行加密,接口数据就可以直接被中间人劫持造成信息泄露。而使用https就避免了这些,因为需要客户端的证书才能获得接口信息,大大增加了获取难度。所以,对外的接口尽量都要使用https协议,如果对性能要求特别高,但是接口没有用户信息的泄露风险,再考虑使用http。

传输后:加密、授权

加密:我们刚才说了,传输中如果使用了https,那数据是中间人很难获取到的。所以有些产品的客户端没有对用户密码进行加密就传输了,而这些密码到达服务端后也是要进行加密的。为什么?为了防止内部出现内鬼或者被人黑到我们的数据库!内鬼可以通过明文的数据来达到自我盈利的目的,被人黑也是一样。所以,所有用户的敏感信息只要是落库一定要加密,如密码、手机号、银行卡号等等。
授权:数据库中存储着用户的所有信息,其中也会包含一些图片链接或者视频等文件链接。这些也是用户的敏感信息,只能用户查阅。所以,这些文件只能是用户鉴权信息满足条件时才能查看,就算是库被人黑了,拿到了这些链接,也一样要是打不开的。更加安全的做法,就是在需要授权打开的情况下,文件还有过期时间,也就是在页面上查看时间超过比如半小时后,再次查看是需要重新授权的。

测试人需关注

数据安全,包括用户的隐私信息等,已经越来越被用户和业界所重视。相信我们大部分的测试童鞋已经知道像密码这种信息需要注意,但是上面提到的文件链接等信息也是很重要的,大家在测试过程中一定要多加提防,在需求确认阶段就要和产品讨论此事,争取把产品安全控制在最初阶段。

上一篇 下一篇

猜你喜欢

热点阅读