提问人:Thoughtful Monkey 提问时间:8/18/2022 更新时间:4/21/2023 访问量:186
在用户通过身份验证之前停止 API 滥用
Stop api abuse before user is authenticated
问:
我们有一个 Android 应用程序。用户需要使用基于短信的OTP登录,然后才能使用应用程序。
我们对 OTP 的请求是公共 API。攻击者已开始滥用此 API。与实际用户相比,API 调用次数增加了 10 倍。
有哪些不同的方法可以预防这种情况?解决方案应在响应时间范围内大规模运行,并且服务器资源不应受到影响。
答:
0赞
Erik Oosterwaal
10/19/2022
#1
这称为 SMS 抽取。
您可以按 IP 地址和/或电话号码进行一些服务器端限制。但是,持续滥用者可能会有可用的号码和 IP 块。
最好的解决方案是让您的应用对发送到后端的有效负载进行签名。如果收到未签名或签名不正确的有效负载,请不要发送 OTP。
对于 iOS,有证明,对于 Android,有 Play Integrity。这些 API 允许您验证对后端的调用是否源自正版应用程序。
评论