解决流量劫持的正确姿势
2015-12-29 15:50:12
lyh
  • 访问次数: 3
  • 注册日期: 2010-03-16
  • 最后登录: 2017-03-15
  • 当前积分: -4
[i=s] 本帖最后由 lyh 于 2015-12-29 15:53 编辑 [/i]



今天,今日头条、美团大众点评网、360、腾讯、微博、小米科技六家公司发表联合声明,共同呼吁有关运营商严格打击流量劫持问题,重视互联网被流量劫持可能导致的严重后果。





联合声明指出,在当前的移动互联网环境下,流量劫持主要分为两种方式:域名劫持和数据劫持,放任流量劫持会导致扰乱市场秩序、损害用户利益以及传播诈骗、色情等低俗甚至严重违法信息的恶果。



据业内人士透露,流量劫持人人喊打,但此前一直没有公司敢于正面呛声,这从国内一线公司也只能以联合声明方式抗议可见一斑。那么真的大家对此束手无策吗?我们联系到了阿里云网络方面的资深工程师亭林,请他介绍一般大公司如何应对流量劫持,精简分享如下。



相对于 PC 端的网络环境,移动端的网络环境更为复杂,2G、3G、4G、Wi-Fi 各有不同,而复杂的网络环境也增加了流量劫持的可能性和复杂程度。流量劫持的方式主要分为两种,域名劫持和数据劫持。



域名劫持



域名劫持是针对传统 DNS 解析的常见劫持方式。用户在浏览器输入网址,即发出一个 HTTP 请求,首先需要进行域名解析,得到业务服务器的 IP 地址。使用传统 DNS 解析时,会通过当地网络运营商提供的 Local DNS 解析得到结果。域名劫持,即是在请求 Local DNS 解析域名时出现问题,目标域名被恶意地解析到其他 IP 地址,造成用户无法正常使用服务。

解决域名劫持的一个办法就是绕开 Local DNS,通过一个可信的源头来解析域名,解析方式不需要拘泥于 DNS 协议,也可以通过 HTTP 的方式。两年前,手机淘宝等 APP 也曾遇到这一问题,随后在做底层网络优化时,通过使用自己定制的 HTTPDNS,一个安全可信的域名解析方案,解决了域名劫持问题。



HTTPDNS 技术也准备通过阿里云解析服务(AliDNS)开放给广大开发者使用,当前这款产品正在内测中,预期将在明年初上线。到时,移动开发者也能自主设置,将需要防劫持的域名进行保护。




数据劫持



数据劫持基本针对明文传输的内容发生。用户发起 HTTP 请求,服务器返回页面内容时,经过中间网络,页面内容被篡改或加塞内容,强行插入弹窗或者广告。





行业内解决的办法即是对内容进行 HTTPS 加密,实现密文传输,彻底避免劫持问题。





而 MD5 校验同样能起到防止数据劫持的作用,MD5 校验是指内容返回前,应用层对返回的数据进行校验,生成校验值;同时,内容接收方接收到内容后,也对内容进行校验,同样生成校验值,将这两个校验值进行比对,倘若一致,则可以判断数据无劫持。但相比 HTTPS 加密,MD5 校验存在一定风险,劫持方技术能力强则有可能在篡改内容后替换校验值,导致接收方判断错误。





HTTPS 一开始是以加密通信为需求而诞生的,第一批用户也是银行等金融机构。但随着互联网上个人数据传输变得更加普遍, HTTPS 早已经成为了互联网行业的大势所趋。





今年双11,阿里的淘宝、天猫、聚划算等电商平台就做到了全站的 HTTPS 加密访问,虽然改造投入巨大,但在防止资源劫持提高交易安全方面功不可没。当然,这一技术也将在阿里云上开放。



第三方的递归解析服务(LocalDNS)



互联网公司可以采用以上这两种方式避免劫持,而对广受流量劫持影响、上网体验严重受损的网民来说,其实也可以通过使用第三方的递归解析服务(LocalDNS)来避免这一问题。





目前,包括 Google、CNNIC、阿里云等公司在内都已经推出了 LocalDNS 服务。阿里云解析的 LocalDNS 的 IP 地址简单易记:223.5.5.5 和 223.6.6.6,用户只要在网络选项中进行简单的设置就可以使用。对于这款面向广大网民的免费服务,阿里云解析也承诺绝不会重定向或者过滤用户所访问的地址,并且绝无弹插广告



















lyh 最后编辑, 2015-12-29 15:50:12