有没有办法保护公共端点?

问题描述 投票:0回答:1

我是否认为公共REST api(例如注册端点)无法对用户进行身份验证是正确的。例如,我们的端点仅应接受来自我们的移动应用程序和将来的Web应用程序的请求。

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

因此,要使其完全公开以防止僵尸程序攻击,那就是使用电子邮件确认并自动删除(如果未在x时间内确认),并且使用IP速率限制。

承包商建议我们在每个应用程序中使用一个硬编码的唯一密钥,但是对我来说这听起来不合逻辑,而且完全错误。当用户在其设备上下载应用程序时,该应用程序和服务器之间的秘密就会受到损害。

所以我对密钥是否正确,是否还有其他方法可以保护机器人免受端点攻击?我唯一想到的另一件事是使用验证码。

rest security
1个回答
0
投票

这里有两件事。

保护公共REST API

您是正确的,如果攻击者下载并对应用程序进行反向工程,那么即使是不对称的秘密也会受到威胁。攻击者可以使用调试器,Chrome开发人员工具以及Wireshark之​​类的工具进行反向工程并找到秘密。

通常,攻击者可以模仿应用程序或用户的行为,即,以非常相似的模式相同的请求。

当今行业中解决此问题的方法是使用Web Application Firewalls以及越来越多的Bot Management solutions之类的工具来过滤掉尽可能多的攻击者,这些工具适用于Web,移动和API。

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

安全认证

身份验证是上述特定情况,但是,此问题当前是Web应用程序面临的最大问题(之一)。>>

[当今采用的主要解决方案是漫游器过滤技术,例如验证码(足智多谋的攻击者可以克服)和多因素身份验证。

如今,无需电子邮件即可注册非常不常见,但是可以使用10 Minute Mail之类的服务来克服这一问题。同样,设置您自己的邮件服务器也并不困难。

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

因此,网络攻击的最新风尚是Account Takeover

所有提供WAF和漫游器管理的安全性供应商也都尝试保护API,例如注册和登录,并取得了不同程度的成功。甚至还有专用产品开始出现。

© www.soinside.com 2019 - 2024. All rights reserved.