当前位置:主页 > 移动 >

如何用透视宝防范移动APP和微信端网络流量劫持
* 来源 :http://www.yinxing-chemical.com * 作者 : * 发表时间 : 2017-10-09 15:02

  如今,网络劫持已经成为业务正常运行的之一。试想一下,当用户打开一家公司的网站、APP或微信号的时候,网络请求被劫持了,就会导致请求发生错误从而影响APP的正常业务或者在Webview中弹出令人厌烦的广告,极大的影响APP用户的使用体验。而对用户来说,网络劫持不仅造成用户购买来的流量浪费的财产损失,还会导致网页跳转、弹窗不断,网络浏览体验感差,更严重的可能泄露个人信息、危及网络账户安全。

  然而网络劫持多发生在用户的网络接入,企业在云端和服务器上部署的安全监测产品很难及时发现、主动追踪存在于用户的安全。云智慧透视宝从用户端入手,能够快速发现和准确定位因网络劫持造成的错误、异常,为企业互联网服务提供全方位,下面就来看视宝如何帮助我们有效防范移动APP和微信端的网络流量劫持的。

  目前网络劫持主要分为两种,一种是DNS劫持,另一种是HTTP劫持,这两种劫持类型有着本质的区别。

  DNS劫持,即域名劫持,是指针对拦截到的域名解析请求,返回假的IP地址导致请求发送到错误的服务器或者什么都不做导致请求失败。举个简单的一个例子,你本来访问的是的页面,如果DNS被劫持,很可能结果打开的却是的页面或是一个404的页面。

  HTTP劫持,主要是针对拦截到的http请求,要么返回302让浏览器或是网页跳转到另外的地址,要么在http请求返回的html数据中插入恶意代码,从而在浏览器或是网页中出现劫持者想要展示的信息,比如当我们打开微信号时,弹出了令人尴尬的“低俗广告”。

  解决网络劫持,还需要对网络劫持的实现原理有清楚的认识,下面就以iOS的网络请求加载系统为例简单介绍一下。

  NSURLProtocol类是iOS URL加载系统的核心,它几乎处理着iOS的所有网络请求。苹果允许开发者继承该类,从而使开发者可以接管iOS的网络请求。当然,这种做法方便了开发者,同时也方便了网络者。

  通过子类化NSURLProtocol,在不改动原网络请求代码的情况下,就可以实现几乎所有的请求更改,比如在Request Header中添加键值对;将网络请求转为本地加载;过滤Response的内容等。

  在iOS的NSURLProtocol抽象类可以方便拦截、网络请求,而在Android平台可以通过改写 .class文件的字节码来达到拦截网络请求的目的,这里就不详述了。但是想要在APP内部利用这些来做非法的网络劫持操作是比较困难的。因此APP的网络劫持主要来自外部的网络,比如运营商网络劫持。

  网络劫持的原理和手段并不复杂,难点在于用户网络的及时、准确发现,而无论是APP的网络劫持出现在APP内部还是外部的网络,透视宝都能第一时间到。还是以iOS为例,通过子类化NSURLProtocol,在子类中托管APP的网络请求,获取到APP的所有网络请求的url,查看这些url里是否存在非APP里的网络请求,如果有,就说明APP的网络请求被劫持了。

  当然,要从大量的APP用户数据中查找网络劫持信息也是相当不容易的事情,这时就要借助APM工具来做这个事情。云智慧透视宝Smart SDK能够全程APP网络请求的每一个处理函数,基于大数据处理技术,帮助开发和运维人员第一时间发现http性能问题、劫持问题、分析问题的原因,从而快速确定解决问题的方案。

  上图是我们利用云智慧透视宝移动端Smart SDK,从各个维度来解析宝APP网络劫持时的相关数据图表。在域名劫持设置里,从APP中获取到的所有请求域名中,能够有效识别出非正常业务的域名,即是被劫持的域名。

  网络劫持分为DNS劫持和HTTP劫持,预防网络劫持,需要分别对这两种情况进行考虑。

  针对DNS劫持,LocalDNS是一种常用的预防方案。具体做法是在发起网络请求的时候获取域名,在本地进行解析得到对应的IP地址,与可用的IP地址进行对比,根据对比结果再决定使用域名还是使用默认的IP进行请求,以iOS接口为例(Android同理),主要步骤如下:

  2、在APP启动时或是网络切换时,使用系统自带的 gethostbyname 接口,传入域名,查看ip解析结果

  3、① 如果解析出ip,将其与预置的ip地址进行对比,如果一致,直接用域名进行请求

  ②如果解析出ip,将其与预置的ip地址进行对比,如果不一致,再使用一个检测接口,使用该ip往后端的检测接口发送请求,检查响应内容是否为预期,如果响应内容符合预期,则重置预置的ip,并使用域名进行请求;如果检测接口响应内容不符合预期,则使用默认ip代替域名进行请求。

  针对HTTP的劫持,主要发生在网页中,因此最重要的是要防止js注入。防止js注入的常用方案是对js文件进行签名、校验。同样以iOS接口为例,主要步骤如下:

  2、服务端在返回js文件的url时,对js文件内容进行SHA-256加密,得到的hash值拼接到js的文件名中

  对于移动应用来说,用户体验越来越重要,而好的体验不仅在于界面的美观、交互的流畅,应用的安全和性能也是同样重要的。透视宝面向移动App的业务质量分析,融合“运营”与“性能”,帮助企业实时了解应用内的用户使用情况及其可量化的体验感受,分析因性能问题造成的用户流失,深位问题瓶颈,帮助企业提升用户留存率,降低开发运营成本,提高核心竞争力。

  韩国短道雷人一幕,想要摔倒中国选手,结果偷鸡不成蚀把米,韩国选手摔趴队友,这一波亏…

  比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。

  比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!

  比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。

  比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。

  比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据与容灾构建以及数据管理部署等方面服务。

  比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、度的宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加,对信息安全界的动态新闻更新更快。

  新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的途径。

  比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。

  比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。

  IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。

  X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。