在Twitter 上的一次对话中,我警告了一个网站存在安全漏洞。具体来说,MITM(中间人)攻击的可能性曾经破坏了他们的注册表。
对我的警告的回应是“我们防止中间人攻击。所以仍然不适用。”
是否有可能在不实施 SSL 的情况下“保护”免受 MITM 攻击(我知道 SSL 也不是防弹的,但一直认为这是第一步)?
在Twitter 上的一次对话中,我警告了一个网站存在安全漏洞。具体来说,MITM(中间人)攻击的可能性曾经破坏了他们的注册表。
对我的警告的回应是“我们防止中间人攻击。所以仍然不适用。”
是否有可能在不实施 SSL 的情况下“保护”免受 MITM 攻击(我知道 SSL 也不是防弹的,但一直认为这是第一步)?
他们正在通过 SSL 进行后期提交。这将提供针对被动 MITM 的保护,因为凭据将在回发时被加密,但是,它实际上对能够更改流量的主动攻击者没有任何作用,因为他们可以简单地更改回发 URL,并且用户体验不会改变.
智能客户端可以在凭据提交之前验证回发 URL 的完整性(包括检查页面是否存在可能更改 URL 的任何 javascript)并避免 MITM 攻击,但实际上,对于普通互联网用户来说,它并不安全。您访问的站点确实应该切换为在完全 HTTPS 页面上提供登录屏幕。
要真正防止中间人攻击,您必须:
基本上,做 SSL 所做的事情。在使用纯 HTTP 的 Web 上下文中,客户端是愚蠢的,不会做必要的事情。为了使客户端“智能”,您必须在客户端包含一些代码,即 Javascript——但如果您不通过 HTTPS 下载该 Javascript,您将失败。
所以我的猜测是你的对话者被误导了,或者故意对你撒谎,或者两者兼而有之。
中间人是一个难以防范的问题。这有点像说有办法让时间停止,或者有一把锁不能撬。我的一般回答是“不”,没有办法普遍保护、全权反对 MiTM 攻击,时期,甚至没有阻止它们的好方法。
始终解决这些问题的最佳方法是使用分层解决方案,以提高抵御中间人攻击的门槛。否则任何单点解决方案都会被绕过,瞧,你中间有一个人。