前言
不管是面向什么端的产品,都会面临用户账户保护的问题。有的大厂有专门做这方面工作的产品经理,他们叫“策略产品经理”。但是我们小厂没有不等于就不做呀,那我们应该怎么做呢,本篇记录了从基础、升级、高级三个等级来做账户安全策略。
1. 什么是用户账户安全
用户账户安全涉及到木马植入、暴力破解密码、拖库撞库、虚假注册、短信轰炸、手机丢失等行为。
2. 为什么需要保护用户账户安全
(1)防止盗号
黑客或者其他盗号者通过一系列手段盗取用户账号密码,用户账号被盗后,可能会有资产被侵害的风险,或者用户信息被卖,不断收到骚扰短信/电话。
(2)防止刷号
常见于薅羊毛的羊毛党,注册大量账号获取平台福利后,留给平台一堆无用的垃圾账号。
(3)防恶意攻击
高频次的请求 / 注入,会导致服务器的瘫痪,宕机,影响平台的运行。
3. 怎样保护用户账户安全
3.1 基础防护
3.1.1 注册验证
注册登录是账户安全的第一道防线,近些年进化出了许多防护的方法。
(1)图形验证码 / 拼图
防止当前使用者,非真实用户。
-
图形验证码
当使用这类验证码时,机器已经可以识别图中的文字了,并且还能按照要求识别出字母,数字。甚至还有了一些打码平台,专门人工进行识别一些复杂的验证码。
-
滑块图形验证
后来升级了验证方式,采用拖动图形完成拼图的方式,但是随着神经网络的发展,模拟真人的操作算法越来越先进,通过率已经很高了。但是还是可以配合更多的机制防止机器人,比如次数、时间。
选出型图形验证
在几张图里,选出包含红绿灯 / 桥梁 / 船只的图。一般几张图都是复杂背景,有时候人眼都会误判。
(2)手机号校验
为保证手机号为本人使用。
通过短信验证码的方式,验证该手机号是否本人在使用,不过现在也出现了很多接码平台,提供手机号和验证码,就问你无不无奈。
但是通过手机号校验需要保证短信验证码通道的通畅,所以还会限制验证码请求次数,每次请求的间隔时间。
(3)邮箱校验
也是为了保证邮箱是本人在使用。
通常采用邮箱验证码或者激活链接的方式。
(4)密码复杂度
为了防止密码被破解。
平台一般会增强密码的复杂度,并提示密码不要和别的平台一样。更加复杂的密码要求数字,字母,字符组合,要求位数,还会给出安全等级评级,周期提醒修改密码等。
黑客会通过撞库的方式,或者别的平台泄露的密码破解到用户的密码,因此密码的复杂度需要重视,并且如果几个平台密码相同的话,如果一个密码泄露,就会导致几个平台都被破解,威胁账户安全。
(5)IP地址与手机号地址映射
为防止非本人使用特殊手段注册账号。
获取用户IP地址,与注册使用的手机号是否属于同一地区。不过这不一定准确,万一在外地注册也不是不可能。
(6)注册请求频次校验
为防止服务器被攻击,限制注册请求的次数,达到次数限制,拒绝注册。
3.1.2 登录验证
(1)找回密码验证
为防止用户忘记密码后无法登录。
找回密码时需要使用验证,一般验证方式有手机验证码,邮箱验证,密保问题,身份验证等。
(2)手势登录
为了方便登录。
一般在用户登录后,token都有一定时效,在时效有效期内不会再让用户无限次输入登录密码来验证,所以佐以手势密码可以验证用户身份。
(3)登录失败次数
为防止盗号试密码。
登录失败(密码输入错误),将账号冻结一段时间才解开,同时向注册账号发送风险提示消息。
(4)密保问题
一般用于修改密码后的登录验证,是否为以前账号主人登录。
可以使用以前的记录,比如电商平台会列一些物品出来,让用户选哪些是曾经购买过的。社交平台会采用辅助校验,让你的几个好友给你发送固定的消息内容来激活账号。
(5)浏览器指纹
防止用户账号被盗,防止批量注册。
每个浏览器和人一样有一个独一无二的ID,如果是网站产品,用户在使用某一浏览器访问后就可以记录用户的浏览器指纹。
这样浏览器更换时就可以通知用户,同时,如果发现多个账户在一个浏览器登录,那么可以采取措施,是否允许一个用户拥有多个账户 。
3.2 升级防护
(1)异地登录
为防止盗号。
如果常用登录地址和登录IP变化,需要做一定的校验,并通知账号所有人有异常登录。
(2)换设备登录
为防止盗号。
记录账号的常用设备mac地址,当地址突然更换,需要验证用户是否本人,并通知账号所有人有异常登录。
(3)实名认证
上传身份证信息与注册手机号的实名信息相匹配。
(4)指纹识别 / 声纹识别 / 面部识别
为防止盗号。
这些都是难以复制难以模仿的,相对于可以拦截的短信,可以盗取的密码来说,难度较大,安全性更高。
3.3 高级防护
以下信息只做了解,并无法完全确认其准确性。
(1)用户画像
通过文本语义分析、用户行为分析、终端分析等等方法,刻画客户个人的特征,并划分风险等级,当某次用户行为出现异常判断所属哪个等级的风险来采用对应的方案。
(2)用户行为
使用【生物探针技术】,可以在用户操作时采集到包括手指触面、线性加速度、触点间隔等数百个行为指标,根据历史行为数据,通过【机器学习】计算专属行为模型,在用户操作手机时,可以将其当前操作习惯同历史模型比对,判断这个人是否为风险用户,实现用户的身份判定。
(3)建立黑名单
还是要收集到羊毛党的行为数据,如完成整个操作的时间,在一台设备上操作数个账号等异常行为,建立黑名单库。当用户操作时,通过筛选判断是否属于黑名单账号。
相关资料
https://blog.csdn.net/weixin_46186962/article/details/103998189
https://www.sohu.com/a/233151664_466220
https://zhuanlan.zhihu.com/p/48904562
http://www.woshipm.com/pd/808521.html
https://baijiahao.baidu.com/s?id=1613748926565055951&wfr=spider&for=pc