PHP - Anti mitm攻击的想法

时间:2016-04-20 16:46:57

标签: php security man-in-the-middle

我有一个想法反对我想在我的网站上实施的mitm(中间人)攻击,所以我决定问你这有多安全。首先,我会在几秒钟内从客户端计算机获得10页加载时间。然后我会计算所有加载时间的标准。然后,每次用户加载新页面时,我都会检查他/她的IP地址是否已更改,以及是否重新计算该标准并将其与之前的标准进行比较。如果这个标准是1或2更大,这并不重要,但如果它是4我可以注销用户。然后,如果攻击者的互联网连接速度较慢,他就会被注销。我确信我不是唯一一个想到这一点的人,但我不知道是否使用过它。

2 个答案:

答案 0 :(得分:2)

为什么这是一个坏主意有很多原因,但是:

  1. Man-in-the-Middle攻击的解决方案是authenticated encryption(即TLS 1.1+)。 TLS有效;使用它!你甚至不需要做任何聪明的事情来使用它。如果您无法弄清楚Apache / nginx / lighttpd配置和/或LetsEncrypt集成过程,只需安装Caddy Server即可。
  2. MitM攻击,例如由sslstrip执行的攻击,与常规用户无法区分,因为您只会看到中间人,而不是最终用户。除此之外,MitM代理会增加微秒的开销,这几乎与网络抖动无法区分。
  3. 是最大的两个。

答案 1 :(得分:2)

第1部分:它不起作用

即使您的想法按照您的意图行事并在上面进行描述,它也存在问题:

如果单独使用,它不能防止被动的中间人攻击,因此攻击者仍然可以窃取cookie,密码,信用卡等。

如果打算在TLS之外使用它,问题就变成:为什么?如果TLS足够,则不需要,并且TLS相当好。

但是,为了论证,我们假设TLS被破坏了。如果针对TLS的攻击是被动的,那么我们将回到第一个场景 - 无法防御被动攻击者。如果针对TLS的攻击是活动的,则仍然没有有意义的保护:您的服务器将拒绝该请求,但到那时太晚。攻击者已经看到了请求 - 以及其中的cookie /密码/信用卡!

第2部分:高假阳性率

许多用户更改IP地址,许多用户的延迟变化很大。你会一直把它们记录下来,对他们来说这将是一次可怕的经历。我想这会特别影响移动用户。

第3部分:关于不发明自己的安全机制的通常文章

TLS是很多聪明人在很长一段时间内辛勤工作的结果:当我说你不太可能自己想出更好的东西时,我的意思是没有侮辱你。 / p>

安全方面的创新通常来自已经熟悉工作主体的人,他们在以前的工作中做出改进。原因如下:

现代安全是很多人在很长一段时间内犯了很多错误并记录这些错误以便向他们学习并避免重复这些错误的结果。如果你想创建自己的安全机制,你必须在赶上之前犯下大量的错误(错误记录,所有攻击者都知道!)。