小道消息 一枚测试架构师 -- 分享数据安全项目经验,聊测试人员的发展

兔子🐰 for 一起听播客 · 2022年01月20日 · 2442 次阅读

希望自己能以六十分的方式去通过,永远保持一个六十分的心态;
无论自己做到什么程度,也就是六十分,还有很多四十分的空间可以去努力。

——很喜欢嘉宾@imath60 对六十分心态的阐述

嘉宾人物画像:
2021MTSC 深圳站讲师、测试架构师、9 年测试开发经验、业务安全 SDK 质量保证、性能测试平台开发

以下内容是根据 1 月 16 日晚的直播整理出的文字笔记,戳链接收听完整分享


Q1:网名 imath60 中的人生哲学

网名中的「imath」是源于我非常喜欢数学,基本上也是全靠数学吃了这么多年的饭。

然后「60」的话是我对自己的一个勉励:希望自己能以六十分的方式去通过,永远保持一个六十分的心态;无论自己做到什么程度,也就是六十分,还有很多四十分的空间可以去努力。

Q2:安全的定义,什么是安全?

安全是产品的一个属性。它的目标是保护我们产品里面有关信息资产的三个核心性,也就是业内达成共识的所谓 CIA 三角:保密性(Confidentiality)、可用性(Availability)和完整性(Integrity)。

安全架构是保障产品安全的手段,分别有:产品安全架构、安全技术体系架构和审计架构。我在 MTSC 大会上分享的项目实践,是属于这三个手段中的 “技术安全架构”。

产品安全是从 App 的源头出发,不依赖于任何的外部系统,而是就 App 本身做一些安全的产品设计。

然后我们会有独立的风控或者审计,这些属于手段中的审计架构。

我们接手的那些安全类项目,基本上是用以上三种手段,再结合现在业内比较认可的所谓安全架构的 5A 方法论做实践指导,来到达 CIA 目标。

5A 方法论
身份认证(Authentication)
授权(Authorization)
访问控制(Access Control)
可审计(Auditable)
资产保护(Asset Protection


Q3:所参与的数据安全项目的启动背景

我们内容的业务线,在非节假日的时候,出现了流量激增,大家就怀疑不是正常的流量:应该是有人在抓取我们的东西。

后来我们查了一下,我们这部分的内容很快就在其他平台上出现了。这些是我们花钱定制的专属内容,但是却被别人盗取拿去赚流量。

在我加入现在公司之前的两三年,大老板就已经决定要做数据安全项目,但是一直没有找到一个合适的一个切入点,上面说的事情也成为我们启动数据安全项目的契机。

算是吃了亏,大家就认识到它的重要性。

Q4:如何预防内容不被盗版的?

想实现内容完全不被抓走,是不可能的。但是我们可以想办法把(内容抓取)这个成本加大,是一种升级对抗的策略。

如果你所有 App 里的数据都是明文传输的,别人去抓你的接口,就很容易直接拿走数据。那么我们把这部分东西做加密,做了加密之后,会涉及到加密算法;想要抓取数据就要破解一些加密算法,抓取数据的成本就会上升。

哪怕是加密算法暂时被破解了,算法也会迭代升级。通过对用户身份,也就是所谓设备指纹进行验签,看他到底是不是一个合法的用户,是否带有一些风险特征。在命中特征后,可以对该用户拒绝服务,或者返回虚假数据。让数据抓取方花了很大成本,得到的都是没有价值的东西,从而放弃高投入低回报的行为。

而且不一定要上算法,前期也可以通过配置项实现风险监控。举几个例子:如果某个访问系统的用户所使用的是安卓手机,但是操作系统却是 IOS;还有用发 IP 的方式进行快速高频的访问;或者是用我们根本不提供业务服务的海外 IP 地址访问——这些都是危险信号。


Q5:安全项目人员众多,如何做沟通?

不要怕吵架。吵架或争论,其实也是沟通方式的一种,大家是在以一种看起来比较激烈的方式拉平认知。如果是在这个层级解决不了的问题,可以往上汇报,一定会在某一个层级把问题的解决方案确定下来。

我们遇到过跟业务部门意见不一致的情况,也有方案被业务部门打回的情况。

如果意见不一致,我们给出自己的建议和方案,还是留给业务决定是否采纳和使用。如果我们的方案的确妨碍了业务的正常运作,我们也认错,并进行总结和改进;在一次次迭代和实践中,不断完善和丰富我们的安全防护体系。

Q6:当下测试行业的挑战?

就我个人的认识:测试行业的对从业人员的技能要求会越来越高;但是大家对测试的认知还没有改变,还是认为测试什么人都可以做。

另一方面测试的天花板相对于开发和产品来说,相对比较低。我认识的很多人,做到测试架构后,都会转型去做研发效能。无论是研发效能的架构师,还是研发效能的技术经理。都会所谓的选择性的逃离测试这个领域。这其中最直接的原因之一就是在于收入的差距。

现在常会听到 “去测试化”,质量保证的事情要做,但是不一定要通过点点点的方式,也不一定要社招人进来做。可以通过工具流程的方式进行赋能,或者外包出去。

那么问题来了:测试同学如何做到不被替代?

第一是学习,不停的学习。除了工作之外,每天花出两个小时的时间放到你的专业上,看一看整个行业在怎么发展,然后从中挑选方向进行深入的学习和了解。

第二是多跟大家去交流,很多大佬就在你的身边。我们交流的人群不用拘泥于测试领域,可以跟开发聊聊,跟产品聊聊,跟运维的同学聊聊。彼此之间交流之后其实能碰撞出很多东西。

The End | 点击链接收听完整音频分享


获取更多测试同仁的分享:在喜马拉雅、荔枝、小宇宙或 Apple Podcast 搜索「小道消息播客」

微信公众号同名:小道消息播客

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册