Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-反mitm攻击思想_Php_Security_Man In The Middle - Fatal编程技术网

PHP-反mitm攻击思想

PHP-反mitm攻击思想,php,security,man-in-the-middle,Php,Security,Man In The Middle,我想在我的站点上实现一个针对mitm(中间人)攻击的想法,所以我决定问你这有多安全。首先,我会在几秒钟内从客户端计算机加载10次页面。然后我会计算所有加载时间的标准值。然后,每次用户加载新页面时,我都会检查他/她的ip地址是否已更改,如果已更改,我会重新计算该标准,并将其与以前的标准进行比较。如果这个标准是1或2更大,这并不重要,但如果是4,我可以注销用户。然后,如果攻击者的internet连接速度较慢,他将被注销。我相信我不是唯一一个想到这个的人,但我不知道这是否被使用。这是个坏主意的原因有很

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

这是个坏主意的原因有很多,但是:

  • 中间人攻击的解决方案是(即TLS 1.1+)TLS工作;用它你甚至不需要做任何聪明的事情来使用它。如果您无法理解Apache/nginx/lighttpd配置和/或LetsEncrypt集成过程,只需安装即可
  • MitM攻击,例如sslstrip执行的攻击,将无法与普通用户区分开来,因为您只能看到中间人,而不能看到最终用户。除此之外,MitM代理增加了微秒的开销,这与网络抖动几乎没有区别
  • 是最大的两个。

    第一部分:它不起作用 即使您的想法按照您的意愿运作,并且如上所述,它也存在问题:

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

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

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

    第二部分:高假阳性率 许多用户更改IP地址,并且许多用户具有非常可变的延迟。你会一直把他们注销,这对他们来说将是一次可怕的经历。我想这会特别影响移动用户

    第三部分:关于不发明自己的安全机制的常见文章 TLS是许多聪明人长期辛勤工作的结果:当我说你自己不可能想出更好的东西时,我的意思不是对你的侮辱

    安全方面的创新通常来自已经熟悉工作主体的人员,他们在以前的基础上进行了改进。原因如下:


    现代安全是许多人在很长一段时间内犯下许多错误并记录这些错误以便从中吸取教训并避免重蹈覆辙的结果。如果你想创建自己的安全机制,你必须先犯大量的错误(这些错误有很好的文档记录,所有攻击者都知道!),然后才能迎头赶上。

    为什么不使用已经更好地缓解这一问题的现有安全最佳做法(TLS)?这可能就像一个插件,你应该继续问这个问题。不,说真的,我想看看他们的反应。相信我,这会很棒的。简短回答:这是一个坏的,扔进垃圾箱吧。详细回答:使用SSL。完成了。也许应该有一个社区致力于改进这些小想法,并使它们成为可靠的安全概念。但你是对的。