【发布时间】:2015-12-11 02:40:20
【问题描述】:
上周,我的网站遭受了拒绝服务/黑客攻击。攻击是在循环中使用随机生成的无效 API 密钥攻击我们的 Web API。
我不确定他们是在尝试猜测密钥(在数学上不可能作为 64 位密钥)还是尝试对服务器进行 DOS 攻击。攻击是分布式的,所以我不能禁止所有 IP 地址,因为它来自数百个客户端。
我的猜测是IP是Android应用程序,所以有人在Android应用程序中安装了一些恶意软件,并使用所有安装来攻击我的服务器。
服务器是Tomcat/Java,目前web API对无效key只响应400,缓存多次尝试无效key的IP,但对每个bad request仍然需要做一些处理。
有什么建议可以阻止攻击吗?有什么方法可以识别从 HTTP 标头发出请求的 Android 应用?
【问题讨论】:
-
什么是 HTTP 标头?
-
头部有IP,代理字符串为空
-
mathematically impossible as 64bit keysWut? a) 密钥比消息短的加密系统无法阻止攻击者获取一些隐藏信息(最坏的情况是整个明文)。这里没有“不可能”。 b) 2015 年的 64 位密钥 (DES?) 并不多。我宁愿说它很弱。 -
黑客试图通过随机猜测 ID 来猜测应用 ID,我们的应用 ID 是 64 位长,因此您猜测有效应用 ID 的几率约为 18,446,744,073,709,551,616 分之一。因此,如果您每秒尝试 1,000 次,则猜测有效 ID 需要大约 584,942,417 年
标签: java android http security