三、 部分威胁解决方案
可以从两个方面寻找不同的解决方案:
1.从技术上看
A.账号体系
a.注册限制:
通过图片验证码、短信验证码、邮件验证码等增加批量注册的成本
收集注册用户数据,分析注册后用户的行为。通过对比正常用户与马甲用户的行为、指纹等,标识马甲用户。或冻结没有行为的账户
b.登录:
将分散的登录入口统一,防止由于遗漏而造成撞库
增加图片验证码等人机识别方式,防止登录撞库
限制账号登录频率以及次数
通过数据分析用户登录趋势图,区分不用时间用户尝试登陆曲线、用户登录失败曲线、用户登录成功曲线,可以在发生撞库行为时做到及时响应
提示高危账号进行密码修改(登录后推送)
建立用户价值体系,通过用户记录、信用、行为等不同维度数据建立用户价值体系
c.密码找回
优化密码找回逻辑,防止逻辑错误
对返回用户信息进行脱敏处理
通过数据分析用户重置密码趋势图,可以在发生批量用户密码重置时做到及时响应
d.用户信息存储
例子: WooYun: 高德某站严重用户信息泄漏(包含明文密码)
对用户信息进行加盐哈希等处理
B.其他具体业务
a.恶意订单
通过用户成功下单、支付等建立维度,冻结不符合规范的账号,或在某段时间内限制其下单
b.低价购买&购买限制
验证购买/支付流程,后台增加校验机制
c.批量刷优惠券&其他奖励&其他用户优惠券
例子: WooYun: 饿了么逻辑漏洞之免费吃喝不是梦
绑定优惠券与账号,限制单个号码/账号获取的优惠券数量
对于批量注册马甲账号的行为可以通过账号体系进行限制
调整奖励规则(现金变成券),增加使用成本(绑定身份证、银行卡)
d.抢购&黄牛
纵深防御,从账号体系开始
购买过程中,增加人机识别,加大恶意抢购成本
增加黄牛检测机制,通过收货地址、账号、订单数量、手机号码、收货人等不同维度检测黄牛账号
过滤从其他维度获取的黄牛账号
白名单用户直接通过黄牛验证
将付款后异常退款加入加入黑名单,标识账号、收货地址为黄牛账号
e.价格爬虫&信息泄露
规范业务上线流程,防止未开放业务上线
增加反爬虫机制,对访问来源进行限制
f.垃圾信息(用户欺诈)
例子: http://tech.qq.com/a/20150820/051352.htm
处理这类风险较复杂,可以从用户行为特征、用户账号信任评级加以区分
同时开启用户举报功能
g.交易风控
例子:
WooYun: 携程安全支付日志可遍历下载 导致大量用户银行卡信息泄露(包含持卡人姓名身份证、银行卡号、卡CVV码、6位卡Bin)
WooYun: 腾邦国际某重要系统SQL注入24个库DBA权限(涉及百万酒店订单信息+八万信用卡信息+信用卡明文CVV码)
合规性检查,符合《银联卡收单机构账户信息安全管理标准》
h.黑色产业
分析具体业务,找出攻击者获利点
建立黑名单共享联盟,将恶意的IP、用户ID、邮箱地址、手机号码等列入黑名单
在上面的部分中,可以对用户行为进行分析、建模,例如:
A.正常用户的流程/记录为:注册—>登录—>查询—>下单—>支付—>查看订单—>收货
B.异常用户的流程/记录为:注册—>登录—>领取优惠券
还可以对日志进行实时分析:
A.url深度(单斜杆出现次数)
B.访问离散度(页面数/访问次数)
C.200响应比例
D.用户访问入口
2.从流程上看
A.项目立项风控、安全测试介入
业务评审、评估业务风险点
业务上线前经过安全测试,包括传统安全、业务接口、业务逻辑、黑白盒测试
B.业务数据实时监控
C.异常事件介入分析
通过数据实时分析,确定当前数据是否符合预期
D.业务规则动态调整
当出现非预期的状况时,适当调整、优化规则
E.止损控制
当业务从需求上无法控制时,就要降低损失比例,减少业务损失
F.业务隔离
隔离重要业务与风险业务,使其单独运行
四、业务安全挖掘思路
要挖掘业务漏洞,需要先了解业务逻辑(业务类型/流程),评估风险点。在业务流程中列出正常访问与异常访问区别,分析攻击者的目的及获利方式,对症下药,同时还要排除传统安全威胁。
(责任编辑:安博涛)