【发布时间】:2022-10-19 14:58:54
【问题描述】:
我们有一个安卓应用程序。用户需要使用基于短信的 OTP 登录才能使用应用程序。
我们对 OTP 的请求是公共 API。攻击者已开始滥用此 API。与实际用户相比,API 调用多 10 倍。
有哪些不同的方法可以防止这种情况?解决方案应该在响应时间的情况下大规模工作,并且服务器资源不应该受到影响。
【问题讨论】:
标签: rest scaling api-authorization client-side-attacks
我们有一个安卓应用程序。用户需要使用基于短信的 OTP 登录才能使用应用程序。
我们对 OTP 的请求是公共 API。攻击者已开始滥用此 API。与实际用户相比,API 调用多 10 倍。
有哪些不同的方法可以防止这种情况?解决方案应该在响应时间的情况下大规模工作,并且服务器资源不应该受到影响。
【问题讨论】:
标签: rest scaling api-authorization client-side-attacks
您可以通过 IP 地址和/或电话号码进行一些服务器端限制。但是一个持续的滥用者可能拥有大量可用的号码和 IP。
最好的解决方案是让您的应用程序对您发送到后端的有效负载进行签名。如果收到未签名或签名错误的有效负载,请不要发送 OTP。
对于 iOS,有 attestation,对于 Android,有 Play Integrity。这些 API 允许您验证对后端的调用是否来自正版应用程序。
【讨论】: