运营商劫持

文章目录

什么是运营商劫持?有什么预防措施?

什么是运营商

运营商是指那些提供宽带服务的 ISP,包括三大运营商中国电信、中国移动、中国联通,还有一些小运营商,比如长城宽带等。运营商提供最基础的网络服务,掌握着通往用户武力大门的钥匙,目前运营商劫持很普遍。

劫持方式

常见的方式有三种,分别是 DNS 劫持、HTTP 劫持(HTTP 是明文传输)、HTTPS 劫持

DNS 劫持

这种劫持会将页面链接重定向到其他网站,所熟知的钓鱼网站就是如此,但是因为它的违法性, 现在被严厉监管起来。DNS 是域名和 IP 地址相互映射的一个分布式数据库,DNS 使用 TCP 和 UDP 端口。DNS 劫持是通过某种技术手段,篡改正确域名和 IP 地址的映射关系,使得域名映射到了错误的 IP 地址,因此可以认为 DNS 劫持是一种 DNS 重定向攻击。

本地 DNS 劫持

客户端侧发生的 DNS 劫持统称为本地 DNS 劫持。本地 DNS 劫持可能是:

  1. 黑客通过木马病毒或者恶意程序入侵 PC,篡改 DNS 配置(host 文件,DNS 服务器地址,DNS 缓存等)
  2. 黑客利用路由器漏洞或者攻击路由器管理账号入侵路由器并且篡改 DNS 配置。
  3. 一些企业配置设备(如 Cisco Umbrella intelligent proxy)针对切页内部场景对一些特定的域名做 DNS 劫持解析为指定的结果。

DNS 解析路径劫持

DNS 解析过程中发生在哭护短和 DNS 服务器网络通信时的 DNS 劫持统一归类为 DNS 解析路径劫持。通过对 DNS 解析报文在查询阶段的劫持路径进行划分,又可以将 DNS 解析路径劫持划分为以下 3 类

  • DNS 请求转发:通过技术手段(中间盒子,软件等)将 DNS 流量重定向到其他 DNS 服务器。
  • DNS 请求复制:利用分光设备将 DNS 查询复制到网络设备,并先于正常应答返回 DNS 劫持结果(一个 DNS 查询抓包返回两个不同的应答)
  • DNS 请求代答:网络设备或软件直接代替 DNS 服务器对 DNS 查询进行应答

篡改 DNS 权威记录

串改 DNS 权威记录是指黑客非法入侵 DNS 权威记录管理账号,直接修改 DNS 记录的行为(黑客黑入域名的管理账户,篡改 DNS 权威记录指向自己的恶意服务器以实现 DNS 劫持。

DNS 劫持应对策略

  • 安装杀毒软件,防御木马病毒和恶意软件;定期修改路由器管理账号密码和更新固件
  • 选择支持 DNSSEC 域名解析服务商,并且给自己的域名实施 DNSSEC。DNSSEC 能够保证递归 DNS 服务器和权威 DNS 服务器之间的通信不被篡改。(阿里云 DNS)
  • 在客户端和递归 DNS 服务器通信的使用 DNS 加密技术,例如 DNS-over-TLS,DNS-over-HTTPS 等

HTTP 劫持

有时页脚会出现一些小广告,有时这些广告不是站点的,而是第三方运营商提供的

HTTP 劫持的步骤:

  • 标识 HTTP 连接,在总舵的 TCP 链接中,找到应用层采用了 HTTP 协议的链接,进行标识
  • 篡改 HTTP 的响应体,可以通过网关来获取数据包进行内容的篡改
  • 抢先回包,将篡改后的数据包强心正常点返回的数据包先到达用户侧,这样后面正常的数据包在达到之后会被直接丢弃

HTTP 劫持的防范

一般都是插入静态脚本或者是 HTML Contenet,或者是将整体替换成 iframe,然后在顶层的 iframe 上进行内容的植入。(script、iframe 注入型劫持)

HTTP 劫持的防范主要分为

  • 事前加密
    • https,TLS 握手会有 2 次 RTT 延迟
    • 加密代理:加密代理是在用户侧和目标 web 服务器之间增加一个代理服务器,在用户和代理之间使用 HTTP 请求,只需确认代理与 web 服务之间不会被 HTTP 劫持就可以避开 HTTP 劫持
  • 事中规避
    拆分 HTTP 请求数据包
  • 事后屏蔽
    通过浏览器 Api,根据若干规则去匹配 DOM 中的节点,对匹配到的节点作拦截和隐藏

CSP(内容安全策略),DOM 事件监听等。

HTTPS 劫持

HTTPS 劫持有两种:

  • 伪造证书,通过病毒或者其他方式将伪造证书的根证书安装在用户系统中
  • 代理也有客户的证书与私钥,或者客户端与代理认证的时候不校验合法性,即可通过代理来与我们服务端进行数据交互(较多)

MITM

中间人攻击(man-in-the-middle attack, abbreviated to MITM),简单的讲,就是黑客悄悄的躲在通信双方之间,窃听甚至篡改通信信息。而通信双方并不知道消息已经被截获甚至篡改了。

也有一些人通过代理服务器浏览外网,这里的代理服务器其实就是充当中间人的角色,所以要当心使用免费 vpn。

在通信过程中,客户端或者操作系统内置了权威 CA 的根证书,而服务器在通信之初,会先返回在 CA 那里获取的签名证书,然后客户端用根证书验证证书有效性,最后使用验证通过的证书提供公钥加密数据

早年 12306 使用了自己签名的证书,但是主流浏览器不认可,导致用户需要在首次下载证书并安装,不发纷争完全可以利用这个机制把非法、书安装到用户设备上,但如今 12306 已经采用 digiCert 颁布的证书了

除了 CA 数字证书,还有一些专用的秘钥交互协议,比如 ZRTP、HPKP、DNSSEC 等,他们都能在一定程度上保证通信安全

参考与扩展

分享到:
network