防流量劫持方案

应用背景

流量劫持,是利用各种恶意软件修改浏览器、锁定主页或不停弹出新窗口,强制用户访问某些网站,从而造成用户流量损失的情形。

流量劫持是一种古老的攻击方式,比如早已见惯的广告弹窗等,很多人已经对此麻木,并认为流量劫持不会造成什么损失。而事实上,流量劫持可以通过多种你无法觉察的方式窃取信息!

需求分析

方案简介

1、HTTPS加密如何防止流量劫持

HTTPS,是HTTP over SSL的意思,是在HTTP基础上,增加一层SSL加密通道。SSL协议是用于解决传输层安全问题的网络协议,其核心是基于公钥密码学理论实现了对服务器身份认证、对数据的加密保护以及对数据完整性的校验等功能,确保传输数据的机密性和完整性,以及服务器身份的真实性。

因为SSL协议提供了对服务器的身份认证,所以DNS劫持导致连接错误服务器的情况将会被发现进而被终止,最终导致DNS挟持攻击无法实现;而SSL协议提供的数据加密和完整性校验,也解决了关键信息被嗅探以及数据内容被修改的问题。

2、HTTP协议缺陷,使流量劫持得以实现

流量劫持的方式有很多种,常见的主要有DNS劫持、CDN入侵、网关劫持、ARP攻击、Hub嗅探等等。不同的劫持方式,获得的流量有所差异。DNS 劫持,可以截获通过域名发起的流量,直接使用 IP 地址的通信则不受影响;CDN 入侵,只有浏览网页或下载时才有风险,其他场合则毫无问题;而网关被劫持,用户所有流量都难逃魔掌。

目前互联网上发生的流量劫持基本是两种手段来实现的:
域名劫持:通过劫持掉域名的DNS解析结果,将HTTP请求劫持到特定IP上,使得客户端和攻击者的服务器建立TCP连接,而不是和目标服务器直接连接,这样攻击者可以对内容进行窃取或篡改。在极端的情况下甚至攻击者可能伪造目标网站页面进行钓鱼攻击。