似乎有很多方法可以对公共接入点发起中间人攻击,例如通过 ARP 欺骗窃取接入点的本地 IP 地址。可能的攻击包括伪造密码请求字段、将 HTTPS 连接更改为 HTTP,甚至最近发现在安全 TLS 连接开始时注入恶意标头的可能性。
不过,据说这些攻击并不常见。亲自去看看应该会很有趣。有哪些方法可以检测网络上是否有人试图进行此类攻击?
我猜想,获得一个简单的 HTTP 登录页面会是一个明显的线索,当然,你可以运行 Wireshark 并继续读取所有有趣的 ARP 流量……但自动化解决方案会更方便一点。它可以在后台分析内容,并在检测到网络攻击时发出警报。如果这些攻击真的在某个地方发生,亲自看看会很有趣。
答案1
没有办法检测任意的 MITM,因为有几种技术可以执行它们。
然而,大多数针对以太网或 WLAN 的 MITM 攻击都利用ARP欺骗重定向流量。有一些工具可以检测 ARP 欺骗,这些工具应该可以指示大多数 MITM 攻击。例如,请参阅 Wikipedia 页面以了解一些工具。
答案2
没有万无一失的方法来检测这种情况(如果有,MitM 攻击就不是问题了!)。不过,还是有几种可能的技术。
您可以尝试查看提供某项服务所需的时间;延迟可能表示发生了中间人攻击。或者它可能只是表示网络速度很慢。
如果您认为有人正在编辑您通过公共网络发送/接收的内容,您可以检查您发送/接收的数据的指纹/MD5 哈希值/等。
正如 Maciek 指出的那样,如果 MitM 正在玩弄证书和 SSL 连接,这应该是相当明显的,因为如果证书不匹配,浏览器会向您发出警告(尽管您必须能够信任您的浏览器;如果有人已经在您的计算机上安装了假证书,这没什么用)。
答案3
MiM 攻击针对的是加密流量(您不必在非加密流量中进行 MiM,您只需嗅探它即可)。
这背后有一些数学知识,但长话短说:你必须检查密钥指纹。例如,当你第一次通过 ssh 登录时,ssh 客户端会显示服务器指纹。如果你想要防范 MiM,你必须知道这个指纹前登录尝试(例如,要求管理员使用其他安全渠道,例如面对面交谈)。
这是非常不切实际的。这个问题的答案是证书颁发机构(http://en.wikipedia.org/wiki/Certificate_authority)。在这种情况下,计算机保存着受信任公司的密钥的已知指纹。这些公司为其他公司签署密钥。检查使用的证书是否正确签名非常重要。幸运的是,现代浏览器会自动执行此操作,如果出现问题,则会显示大量警告。
答案4
arpwatch
对我有用:
sudo aptitude install arpwatch
echo "wlan3 -a -n 10.10.0.0/24 -m [email protected]" | sudo tee -a /etc/arpwatch.conf
/etc/init.d/arpwatch start
正如您所说,自动化防御将会很好。http://ifttt.com看起来它可以帮助发送短信警报等。剩下的就取决于你和你的 MTA(postfix
)和电子邮件过滤器了。