测试人员如何保证业务安全性?
业务安全:某个平台上的业务是指该平台用户在使用过程中涉及到的一系列流程,而业务安全就是保证这些流程按照预定的规则运行。
下面先来看看常见的业务安全点(业务威胁)
常见的业务安全点
由于互联网企业的特性,其主要业务直接体现在其平台上。其中有不少通用的业务流程:
- 账号体系
A.注册
B.登录
C.密码找回
D.用户信息存储
- 其他业务安全
A.购买/支付
B.优惠活动
C.抢购活动
D.…
那么面对这些威胁,企业安全应该如何改进?
针对账号体系
- 注册限制:
通过图片验证码、短信验证码、邮件验证码等增加批量注册的成本
收集注册用户数据,分析注册后用户的行为。通过对比正常用户与马甲用户的行为、指纹等,标识马甲用户。或冻结没有行为的账户
- 登录:
将分散的登录入口统一,防止由于遗漏而造成撞库
增加图片验证码等人机识别方式,防止登录撞库
限制账号登录频率以及次数
通过数据分析用户登录趋势图,区分不用时间用户尝试登陆曲线、用户登录失败曲线、用户登录成功曲线,可以在发生撞库行为时做到及时响应
提示高危账号进行密码修改(登录后推送)
建立用户价值体系,通过用户记录、信用、行为等不同维度数据建立用户价值体系
- 密码找回
优化密码找回逻辑,防止逻辑错误
对返回用户信息进行脱敏处理
通过数据分析用户重置密码趋势图,可以在发生批量用户密码重置时做到及时响应
- 用户信息存储
对用户信息进行加盐哈希等处理
针对其他具体业务
- 恶意订单
通过用户成功下单、支付等建立维度,冻结不符合规范的账号,或在某段时间内限制其下单
- 低价购买&购买限制
验证购买/支付流程,后台增加校验机制
- 批量刷优惠券&其他奖励&其他用户优惠券
例子: 饿了么逻辑漏洞之免费吃喝不是梦
绑定优惠券与账号,限制单个号码/账号获取的优惠券数量
对于批量注册马甲账号的行为可以通过账号体系进行限制
调整奖励规则(现金变成券),增加使用成本(绑定身份证、银行卡)
- 抢购&黄牛
纵深防御,从账号体系开始
购买过程中,增加人机识别,加大恶意抢购成本
增加黄牛检测机制,通过收货地址、账号、订单数量、手机号码、收货人等不同维度检测黄牛账号
过滤从其他维度获取的黄牛账号
白名单用户直接通过黄牛验证
将付款后异常退款加入加入黑名单,标识账号、收货地址为黄牛账号
- ******爬虫&信息泄露
规范业务上线流程,防止未开放业务上线
增加反爬虫机制,对访问来源进行限制
- 垃圾信息(用户欺诈)
处理这类风险较复杂,可以从用户行为特征、用户账号信任评级加以区分
同时开启用户举报功能
- 交易风控
- 黑色产业
分析具体业务,找出攻击者获利点
建立黑名单共享联盟,将恶意的IP、用户ID、邮箱地址、手机号码等列入黑名单
在上面的部分中,可以对用户行为进行分析、建模,例如:
- 正常用户的流程/记录为:注册—>登录—>查询—>下单—>支付—>查看订单—>收货
- 异常用户的流程/记录为:注册—>登录—>领取优惠券
还可以对日志进行实时分析:
- url深度(单斜杆出现次数)
- 访问离散度(页面数/访问次数)
- 200响应比例
- 用户访问入口
从流程上来说
A.项目立项风控、安全测试介入
业务评审、评估业务风险点
业务上线前经过安全测试,包括传统安全、业务接口、业务逻辑、黑白盒测试
B.业务数据实时监控
C.异常事件介入分析
通过数据实时分析,确定当前数据是否符合预期
D.业务规则动态调整
当出现非预期的状况时,适当调整、优化规则
E.止损控制
当业务从需求上无法控制时,就要降低损失比例,减少业务损失
F.业务隔离
隔离重要业务与风险业务,使其单独运行
业务安全挖掘思路
要挖掘业务漏洞,需要先了解业务逻辑(业务类型/流程),评估风险点。在业务流程中列出正常访问与异常访问区别,分析攻击者的目的及获利方式,对症下药,同时还要排除传统安全威胁。
本文只是浅谈安全测试中的业务安全,有对安全测试感兴趣的小伙伴可以加群680748947获取上文的思维导图和视频链接。
对软件测试知识体系不清晰的可以参考
www.toutiao.com/i6536440885…
不知道如何学习,没有方向的可以参考
www.toutiao.com/i6541959913…
测试人员如何保证业务安全性?相关推荐
- 测试人员如何保证测试质量
以下是保证测试质量的一些方法: 1. 制定详细的测试计划和测试用例:测试计划应该包括测试的目标.测试的范围.测试的方法和测试的时间表.测试用例应该覆盖所有的功能和场景,并且应该经过充分的测试和验证. ...
- 靠谱测试人员需具备业务分析能力
1.分析整体业务流程 测试是以业务驱动的,不了解整个公司的业务,根本就没办法进行测试,优秀的测试人员业务的熟练程度有时候已经超过产品经理.测试可以不懂代码,不需要了解产品的实现逻辑,但是,需要吃透需求 ...
- 测试人员提高业务掌握度的方案
测试人员除了掌握测试相关技术,比如测试流程.测试用例编写思路.自动化脚本的编写.维护之外,还需要对自己所测试的具体业务进行学习和掌握. 只有这样,才能去涉及灰盒.白盒测试,在测试执行过程中,提高自己分 ...
- 测试人员应看重「业务测试能力」
大家好啊,我是大田. 2022.03.19 日更第 42 / 365 天 本篇想结合自己平时的学习和实践梳理下业务测试能力. 作为测试人员,拥有业务测试能力是非常重要的,它是做其他工作的基础,并不是要 ...
- 【转】测试人员的思想理念和工作方法
测试人员的思想理念和工作方法 软件测试的前提假设 测试人员进行软件测试的基本假设是"有罪推断" ,即认为被测程序一定是有bug的,而且每个功能点的实现都存在bug,而且一定存在严重 ...
- 推荐必读:测试人员如何快速熟悉新业务?
身处职场,学习新业务在所难免,尤其是测试人员,具备良好的业务知识是我们做好质量保障的前提,不管是职场「新人」还是「老人」,快速熟悉业务的能力都是不可或缺的,这是我们安身立命的根本. 但,这样的能力并不 ...
- django 业务代码写哪儿_测试人员快速上手Django指南
引言 作为一个测试人员如果你有以下疑问,那么这篇文章将对你有很大帮助! 网站的业务功能是如何实现的?参考章节:视图配置-实现网站业务功能 服务器如何解析浏览器中的url?参考章节URL配置-提供url ...
- 测试人员的基本技能要求 - 快速掌握业务知识的能力
注:本文节选自<软件测试技术大全>第3章 测试人员的技能要求相对开发人员而言,没有那么的专门,开发人员可以仅仅要求具备某项编程语言的使用能力即可胜任开发的工作.但是测试人员却要求需要了解更 ...
- 作为测试人员,从哪几个方面保证产品质量呢
流程质量+测试质量 开发与测试的流程要严格遵守 测试的质量说的 是测试案例的质量,测试人员的工作效率,需求覆盖度,缺陷密度等等 综合分析给出测试质量. 考虑从以下方面提升软件质量: 1,项目流程的规 ...
最新文章
- springmvc json 406
- ExtJs4 笔记(5) Ext.Button 按钮
- group by+having查询
- java9-6 内部类
- cmake Debug模式和Release模式
- C语言能够被替换吗?
- CentOS 7的安装
- 在 macOS 中如何使用「预览」批量调整图片大小?
- java jdk 安装教程_JDK下载安装配置教程(详细)
- 平稳时间序列分析:ARMA模型
- 2022软考中级软件设计师---易混淆知识点总结1
- 【新学期新FLAG】一名计科新生の大一学习计划
- 李智慧 - 架构师训练营 第二周
- 年近30,半失业状态:定制化,正在拖垮年轻人
- 教你在CorelDRAW中制作水印
- java线程游戏V4之飞机大战(二)
- 【k-匿名(k-Anonymity)代码实现】差分隐私代码实现系列(三)
- 计算机桌面音量键在哪,win7系统控制音量的快捷方式有哪些
- 北京大学计算机专业保研夏令营,北京大学12院系办夏令营 优秀者可保研
- java 管道设计_设计模式——管道模式