什么是中间人攻击(MITM)?
1. 定义
中间人攻击(Man-in-the-Middle Attack)是攻击者在通信双方(如用户与服务器)之间拦截、窃听或篡改数据的行为。攻击者伪装成合法通信方,获取敏感信息(如密码、银行卡号)或注入恶意内容。
2. 常见攻击手段
手段 | 说明 | 示例 |
---|---|---|
ARP欺骗 | 攻击者伪造局域网内设备的 MAC 地址,劫持流量。 | 在公共 Wi-Fi 中,劫持用户与路由器的通信。 |
DNS劫持 | 篡改 DNS 响应,将用户引导至恶意网站。 | 输入 bank.com 实际访问的是攻击者的钓鱼网站。 |
HTTPS降级 | 强制用户从 HTTPS 回退到 HTTP,使通信内容明文传输。 | 工具(如 SSLStrip)劫持 HTTPS 请求,转为 HTTP。 |
伪造 Wi-Fi 热点 | 创建与合法热点同名的恶意 Wi-Fi,诱导用户连接后监听数据。 | 热点名称为 “Free Airport Wi-Fi”,用户连接后所有流量被窃取。 |
3. 防范措施
-
使用 HTTPS
确保网站全程使用 HTTPS(SSL/TLS 加密),防止数据明文传输。# 服务器配置强制 HTTPS(如 Nginx) server { listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/privkey.pem; }
-
启用 HSTS
通过 HTTP 头Strict-Transport-Security
强制浏览器只通过 HTTPS 访问,防止降级攻击。Strict-Transport-Security: max-age=31536000; includeSubDomains
-
使用 VPN
在公共网络下,通过 VPN 加密所有流量,避免被监听。 -
验证证书合法性
浏览器检查网站证书是否由可信机构颁发,警惕证书错误警告(如域名不匹配、证书过期)。 -
避免连接不可信 Wi-Fi
不连接无密码或名称可疑的公共 Wi-Fi,优先使用移动数据网络。 -
DNS over HTTPS(DoH)
加密 DNS 查询,防止 DNS 劫持。
(浏览器设置中启用 DoH) -
定期更新系统与软件
修复可能被利用的安全漏洞(如 OpenSSL 漏洞)。
4. 面试回答示例
“中间人攻击是攻击者拦截或篡改用户与服务器之间的通信数据。常见手段包括 ARP 欺骗、DNS 劫持、HTTPS 降级等。防范方法包括强制使用 HTTPS、启用 HSTS、避免连接不可信 Wi-Fi,以及使用 VPN 加密流量。”
快速记忆口诀
防 MITM 四要素:
- HTTPS 全程加密,HSTS 防降级。
- 公共网络用 VPN,警惕证书有问题。
- DNS 加密查,Wi-Fi 不乱连。