业务安全:某个平台上的业务是指该平台用户在使用过程中涉及到的一系列流程,而业务安全就是保证这些流程按照预定的规则运行。
下面先来看看常见的业务安全点(业务威胁)
常见的业务安全点
由于互联网企业的特性,其主要业务直接体现在其平台上。其中有不少通用的业务流程:
- 账号体系
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…