今天,今日头条、美团大众点评网、360、腾讯、微博、小米科技六家公司发表联合声明,共同呼吁有关运营商严格打击流量劫持问题,重视互联网被流量劫持可能导致的严重后果。
联合声明指出,在当前的移动互联网环境下,流量劫持主要分为两种方式:域名劫持和数据劫持,放任流量劫持会导致扰乱市场秩序、损害用户利益以及传播诈骗、色情等低俗甚至严重违法信息的恶果。
据业内人士透露,流量劫持人人喊打,但此前一直没有公司敢于正面呛声,这从国内一线公司也只能以联合声明方式抗议可见一斑。那么真的大家对此束手无策吗?我们联系到了阿里云网络方面的资深工程师亭林,请他介绍一般大公司如何应对流量劫持,精简分享如下。
相对于 PC 端的网络环境,移动端的网络环境更为复杂,2G、3G、4G、Wi-Fi 各有不同,而复杂的网络环境也增加了流量劫持的可能性和复杂程度。
流量劫持的方式主要分为两种,域名劫持和数据劫持。
域名劫持
域名劫持是针对传统 DNS 解析的常见劫持方式。用户在浏览器输入网址,即发出一个 HTTP 请求,首先需要进行域名解析,得到业务服务器的 IP 地址。使用传统 DNS 解析时,会通过当地网络运营商提供的 Local DNS 解析得到结果。域名劫持,即是在请求 Local DNS 解析域名时出现问题,目标域名被恶意地解析到其他 IP 地址,造成用户无法正常使用服务。
传统 DNS 解析流程
解决域名劫持的一个办法就是绕开 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,用户只要在网络选项中进行简单的设置就可以使用。对于这款面向广大网民的免费服务,阿里云解析也承诺绝不会重定向或者过滤用户所访问的地址,并且绝无弹插广告。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/linux/54335.html