gpt4 book ai didi

rest - 有没有办法保护公共(public)端点?

转载 作者:行者123 更新时间:2023-12-05 01:38:46 28 4
gpt4 key购买 nike

我认为公共(public) REST API(例如注册端点)无法验证用户身份是否正确?例如,我们的端点应该只接受来 self 们的移动应用程序和 future 网络应用程序的请求。

我很确定这在逻辑上是不可能的。我认为 apple 和 google 为服务器提供了一种方法(像 ca)来识别请求来自已注册的设备,但是将 API 更改为私有(private)。由于身份验证基本上转移到了应用商店,因此只有应用商店帐户的所有者才能使用它。

因此,将其完全公开以防止机器人攻击它的唯一方法是使用电子邮件确认,如果在 x 时间内未确认则自动删除,并限制 IP 速率。

承包商建议我们使用硬编码到每个应用程序中的唯一 key ,但是,对我来说这听起来不合逻辑且完全错误。一旦用户将应用程序下载到他们的设备上,应用程序和服务器之间的 secret 就会泄露。

那么我对 key 的看法是否正确,还有其他方法可以保护端点免受机器人攻击吗?我唯一能想到的就是使用验证码。

最佳答案

这里有两个独立的东西。

保护公共(public) REST API

您是正确的,如果攻击者下载应用程序并对应用程序进行逆向工程,即使是非对称的 secret 也会受到损害。攻击者可以使用调试器、Chrome 开发人员工具和 Wireshark 等工具进行逆向工程并找到 secret 。

一般来说,攻击者可以模仿应用或用户的行为,即以非常相似的模式发出相同的相同请求。

当今行业的解决方法是使用 Web Application Firewalls 等工具尽可能多地过滤掉这些攻击者。 ,并且越来越多地,Bot Management solutions ,适用于 Web、移动和 API。

工具越好,攻击者要做的工作就越多,因此愿意这样做的攻击者就越少,因此被攻击的机会就越小。

安全认证

身份验证是上述问题的一个特例,但是这个问题是当前(之一)Web 应用程序面临的最大问题。

当今采用的主要解决方案是机器人过滤技术,例如CAPTCHA(足智多谋的攻击者可以克服)和多重身份验证。

如今无需电子邮件即可注册的情况非常少见,但是像 10 Minute Mail 这样的服务可以用来克服这个问题。建立自己的邮件服务器其实也不是很难。

登录更加困难,因为您不能指望人们通过电子邮件登录,甚至其他 MFA 方法也很烦人。对于您的银行帐户,您可以使用 MFA,但不能为您的 Domino's Pizza 帐户使用 MFA。

正因为如此,网络攻击的最新趋势是 Account Takeover .

所有提供 WAF 和机器人管理的安全供应商也尝试保护注册和登录等 API,并取得了不同程度的成功。甚至有专门的产品开始出现。

关于rest - 有没有办法保护公共(public)端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59328748/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com