验证短信码被盗刷怎么办

2022-04-06 09:37:36 +08:00
 Ds97

1.限制了一个号码一分钟之内只能发一次 2.一个号码一个小时最多 6 次 3.一个 ip 一天最多 10 次 4.阿里云的滑块验证 以上的这些验证都是生效的,但还是被刷了上万条,都是换不同号码,号码前面部分是固定的,后面几位数随机的,ip 也是换着来的,有成百上千个 ip ,阿里云的滑块验证也通过了,用机器是怎么滑动那个滑块的啊,一脸懵逼。请问这种情况该怎么防啊

7704 次点击
所在节点    程序员
62 条回复
Carseason
2022-04-06 11:13:43 +08:00
判断验证码次数达到一定条件后就要行为验证码+图形验证码都通过才行呗
Crump
2022-04-06 11:40:21 +08:00
做为一个做短信的人给一下我们常为客户提供的解决方案吧
1.图形码必须的
2.分步注册:第一步必须先填写账户密码,下一步在获取验证
3.注册页面验证跳转来源
4.最重要的,token 作为唯一性,获取验证时带上 token 后端验证
5.短信提供商设置日发送限额,防止账户造成损失(估算下自己每天大概的量,设置额度。坏处就是可能整个账户都暂停,当然每家短信商机制不一样)
6.ip 黑名单库(需要长期积累,不过网上之前也好像看到过类似的恶意 ip 库)
希望能帮到你
tiedan
2022-04-06 11:48:40 +08:00
上 Google Recaptcha
Crump
2022-04-06 11:54:03 +08:00
@tiedan 没用的,看他说的 号码前面部分是固定的,后面几位数随机的。很明显获取验证接口让人抓包了,然后他的接口没做安全措施
LeeReamond
2022-04-06 11:54:19 +08:00
感谢 LZ 发帖可以学习解决方案。业务上之前听说过最简单的方法是屏蔽境外 IP ,境内 IP 直接按损失数额报警送对方进橘子就行了。可惜 LZ 的业务有大量海外用户,这就比较难搞了。
tiedan
2022-04-06 11:56:43 +08:00
@Crump Recaptcha 就是解决机刷问题呀,没 token 或者分数过高直接 fail 掉请求
skiy
2022-04-06 11:57:05 +08:00
可以参考腾讯公司的骚操作。让用户发指定内容的短信到指定号码,然后来验证。
Chism
2022-04-06 12:21:04 +08:00
1. 单个 IP 每日超过 5 条需要 captcha
2. 整体总量每日超过 1000 条,所有人需要 captcha (这个根据实际用户量调整)
我是这么做的
Ds97
2022-04-06 12:36:06 +08:00
@Chism 我们是用阿里云的滑块验证,没有用自己写的图形验证,滑块验证通过了才发短信,而且是每次发送都要滑块验证,还是防不住,全都是换着 ip 来的
Chism
2022-04-06 12:42:41 +08:00
@Ds97 你试试其它难度更大的验证方式,滑块毕竟只是图片拼接而已,AI 应该很容易破解
zpfhbyx
2022-04-06 12:45:29 +08:00
加个 ip 来源限制呗.. 请求页面跟下发短信要求 ip 一致..
ZE3kr
2022-04-06 13:24:05 +08:00
加几个 hCaptcha ,每通过一次验证码你都能挣钱,所以不亏。
XiLingHost
2022-04-06 13:41:02 +08:00
干脆做 POW 验证吧,每次发短信就按主流显卡性能跑满 1 分钟的难度,然后发个公告说明一下
Wdafff
2022-04-06 13:43:57 +08:00
我们是超过业务量或触发风控,反向发送短信验证,类似微信那种
Felldeadbird
2022-04-06 13:43:57 +08:00
滑块验证不是被人研究过不少解决方案嘛?楼主要不试下楼上推荐的 Google Recaptcha 。被人盯上恶意刷短信的话,只能增加对方的调用接口成本。
spinecho
2022-04-06 13:49:08 +08:00
@XiLingHost 你这思路好像前几天在别的贴子上看到过...
XiLingHost
2022-04-06 13:58:04 +08:00
@spinecho 你说的是这个帖子吗
/t/845089
laozhoubuluo
2022-04-06 14:08:13 +08:00
1. APP 层面能做的很多啊。比如上报一些终端信息之类的做风控,大量重复的异常终端直接干掉。再比如用户行为分析的数据,进来直接点注册需要更严格的审核,比如需要先验证邮箱才行。如果上述太难也可以有一些暴力的缓解手段,比如注册账号之后才能发短信验证,短信的手机号码不支持修改等等。
2. 即使不考虑这些,也可以做一些验证码策略。例如国内运营商普遍采用万号段进行治理,万号段内超过一定阈值比如 50 就会告警甚至拉黑所有来自这个万号段的短信。另外也可以针对地域设置策略,例如估计 +1 的注册用户一般每天不超过 500 ,那么一天发往这个群组的短信超过 1000 或者单小时触发 200 就直接停掉后续发送。
3img
2022-04-06 14:09:03 +08:00
收集用户交互时的行为数据,键盘鼠标等,再搞个模型跑一跑真伪,前提条件是大量收集数据
laozhoubuluo
2022-04-06 14:10:10 +08:00
@Wdafff 这种也可以,不过量不够的厂商应该是拿不到专用通道用来发反向上行短信的吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/845136

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX