CN106060046A - 一种防止下载劫持的装置、移动终端和方法 - Google Patents

一种防止下载劫持的装置、移动终端和方法 Download PDF

Info

Publication number
CN106060046A
CN106060046A CN201610375741.7A CN201610375741A CN106060046A CN 106060046 A CN106060046 A CN 106060046A CN 201610375741 A CN201610375741 A CN 201610375741A CN 106060046 A CN106060046 A CN 106060046A
Authority
CN
China
Prior art keywords
download
data
downloading
verification
detection data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610375741.7A
Other languages
English (en)
Inventor
袁强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201610375741.7A priority Critical patent/CN106060046A/zh
Publication of CN106060046A publication Critical patent/CN106060046A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Alarm Systems (AREA)

Abstract

本发明公开了一种防止下载劫持的装置、移动终端和方法,在监听到终端有数据下载请求时,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;以及获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;本发明的探测数据是下载数据中的一部分而非全部,可以有效降低下载时间和节约下载流量,提高下载劫持风险的判断速度,第二下载路径在网络路径上与第一下载路径不同;可以保证探测数据和校验数据的可比性,确保下载劫持风险判断结果的准确性。当判断结果为存在下载劫持风险时,干预下载流程,有利于避免浪费流量以及非安全数据对终端产生安全威胁。

Description

一种防止下载劫持的装置、移动终端和方法
技术领域
本发明涉及通信技术领域,尤其涉及一种防止下载劫持的装置、移动终端和方法。
背景技术
随着移动互联网的发展和功能的增加,手机、平板等移动终端在生活中的地位越来越重要。用户可以通过浏览器或者手机上的应用商店等下载所需要的各种数据,比如:应用程序、学习文件、图片、视频、小说等,在这些下载的过程中,如果用户想要下载的数据和实际下载的数据不一致,则可能在下载的过程中发生了下载劫持,现在劫持的种类包括DNS(Domain Name System,域名系统)劫持,HTTP劫持等,下面以DNS劫持为例说明劫持出现的具体原因和危害。
在移动终端通过浏览器下载应用程序时,一般都是通过移动终端提交下载请求,DNS服务器在接收到下载请求后,解析下载请求的域名地址,将其与IP地址进行对应,从而得到确切的下载地址。而由于某些运营商可能与其他服务商合作,帮助其他服务商提供应用、游戏推广的业务。运营商将用户的下载地址在DNS服务器上解析的过程中,进行了篡改,从而实现将用户所要下载的数据替换为要推广的数据。例如:用户通过浏览器下载官方正版微信,经过运营商的DNS服务器解析地址后,进行了地址的跳变,下载的应用变为其他服务商提供的非官方微信或其他的软件。在此种情况下,用户下载的内容被篡改,下载的数据的可靠性得不到保障,不仅浪费了下载的流量,安装下载的应用或使用下载的数据还会给用户带来风险。
发明内容
本发明要解决的技术问题在于现有技术中,由于发生于下载劫持,导致下载内容被篡改,浪费数据流量,给终端带来安全隐患,针对该技术问题,提出一种防止下载劫持的装置、移动终端和方法。
为解决上述技术问题,本发明提供一种防止下载劫持的装置,包括监听模块、校验模块和处理模块;
监听模块用于监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置;
校验模块用于获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;第二下载路径在网络路径上与第一下载路径不同;
处理模块用于当校验模块获取的判断结果为存在下载劫持风险时,干预下载流程。
其中,校验模块用于将下载地址、探测数据和下载参数发送给检验服务器,以供其利用下载地址和下载参数从第二下载路径下载校验数据,接收校验服务器基于探测数据和校验数据进行对比分析得到的下载劫持风险判断结果。
其中,校验模块用于根据下载地址和下载参数从第二下载路径下载校验数据,并对校验数据和探测数据进行对比分析得到下载劫持风险判断结果。
其中,还包括文件格式检测模块,用于在监听模块获取探测数据之前,获取下载数据的文件格式,并判断文件格式是否属于预设的校验文件格式,若属于,则监听模块进行探测数据的下载,若不属于,则监听模块停止探测数据的下载。
为解决上述技术问题,本发明还提供一种移动终端,包括上述的防止下载劫持的装置。
为解决上述技术问题,本发明还提供一种防止下载劫持的方法,包括:
监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置;
获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;第二下载路径在网络路径上与第一下载路径不同;
当判断结果为存在下载劫持风险时,干预下载流程。
其中,获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果包括:
将下载地址、探测数据和下载参数发送给检验服务器,以供其利用下载地址和下载参数从第二下载路径下载校验数据,接收校验服务器基于探测数据和校验数据进行对比分析得到的下载劫持风险判断结果。
其中,获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果包括:
根据下载地址和下载参数从第二下载路径下载校验数据,并对校验数据和探测数据进行对比分析得到下载劫持风险判断结果。
其中,下载参数包括探测数据的大小以及其在下载数据中的起始下载位置。
其中,在获取探测数据之前,还包括获取下载数据的文件格式,并判断文件格式是否属于预设的校验文件格式,若属于,则进行探测数据的下载,若不属于,则停止探测数据的下载。
本发明提出的防止下载劫持的装置、移动终端和方法,可以利用监听模块监听终端的数据下载请求,并获取下载劫持风险判断结果,该下载劫持风险判断结果是基于对探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的,该下载地址是从第一下载路径下载的探测数据的下载地址,下载参数是可以定位探测数据在下载数据中的位置的参数。根据下载地址和下载参数从第二下载路径下载的校验数据具有和探测数据的可比性,能确保风险判断结果的正确性,探测数据选取为下载数据的一部分可以有效地缩短探测数据和校验数据的下载时间和对比时间,保证快速地得到风险判断结果,当存在下载劫持风险时,干预下载流程,可以防止在用户不知情的情况下,下载不需要和不安全的数据。故而采用本发明的方法可以准确快速地得出下载流程中是否存在下载劫持风险,更能及早地对发生下载劫持风险的流程进行干预,避免用户浪费更多的流量,也使用户可以及早的应对下载劫持,避免下载不需要和不安全的数据。
附图说明
图1为实现本发明各个实施例的移动终端的硬件结构示意图;
图2是本发明实施例一提供的一种防止下载劫持的装置的模块示意图;
图3是本发明实施例二提供的另一种防止下载劫持的装置的模块示意图;
图4是本发明实施例三提供的一种防止下载劫持的方法的流程图;
图5是本发明实施例四提供的一种防止下载劫持的方法的流程图;
图6是本发明实施例五提供的一种防止下载劫持的方法的流程图;
图7是本发明实施例六提供的一种防止下载劫持的方法的流程图;
图8是本发明实施例七提供的一种校验服务器的模块示意图;
图9是本发明实施例八提供的一种移动终端的模块示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例的移动终端一个可选的硬件结构示意图。
移动终端100可以包括无线通信单元110、用户输入单元120、输出单元130、存储器140、控制器150和电源单元160等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括移动通信模块111、无线互联网模块112中的至少一个。
移动通信模块111将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块112支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等,在本发明的防止下载劫持的方法中,可以利用终端100的无线互联网模块112来从第一下载路径下载探测数据,从第二下载路径下载校验数据,也可以利用无线互联网模块112将下载地址、探测数据和探测数据的下载参数发送给校验服务器。
用户输入单元120可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元120允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元131上时,可以形成触摸屏
输出单元130可以包括显示单元131、音频输出模块132等等。显示单元131可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元131可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元131可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元131和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元131可以用作输入装置和输出装置,当利用本发明的防止下载劫持的方法判断出当前的下载流程中存在下载劫持风险时,显示单元131可以作为输出装置,显示提醒用户存在下载劫持风险的提示框,还可以显示出其他干预下载流程的方式供用户选择,例如在触摸屏上显示中断下载流程的提示框,或显示切换到其他下载方式下载数据的提示框,当用户在触摸屏上对提示框进行操作的时候,显示单元131可以作为输入装置接收用户的操作。
显示单元131可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块132可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器140中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块132可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块132可以包括扬声器、蜂鸣器等等,当利用本发明的防止下载劫持的方法判断出当前的下载流程中存在下载劫持风险时,可以利用终端100的音频输出模块132输出提示语提醒用户当前的下载存在风险,并提醒用户选择相应的措施干预下载流程。
存储器140可以存储由控制器150执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等),或者可以存储用户下载的数据等。而且,存储器140可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据,在本发明中,可以利用存储器140暂时存储从第一下载路径和第二下载路径分别下载的探测数据和校验数据,当在控制器150中执行的软件程序需要比较两个数据的时候,再从存储器140中取出两个数据进行比较,比较完成后,可以将两个数据从存储器140中删除,以免浪费存储空间。
存储器140可以包括至少一种类型的存储介质,存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器140的存储功能的网络存储装置协作。
控制器150通常控制移动终端的总体操作。例如,控制器150执行与语音通话、数据通信、视频通话等等相关的控制和处理,本发明的防止下载劫持的方法对应的软件代码可以在终端100的控制器150的控制下执行,方法中对下载数据的文件格式的判断,对探测数据和校验数据的比较都可以利用控制器150来实现。
电源单元160在控制器150的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器150中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器140中并且由控制器150执行。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信系统以及基于卫星的通信系统来操作。
基于上述移动终端的硬件结构,提出本发明的防止下载劫持的方法的各个实施例,防止下载劫持的装置的各个实施例。本发明的防止下载劫持的方法,包括:
监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数,探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置;
获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;第二下载路径在网络路径上与第一下载路径不同;
当判断结果为存在下载劫持风险时,干预下载流程。
实施例一:
参见图2,本发明提供一种防止下载劫持的装置,包括:
监听模块21、校验模块22和处理模块23;
监听模块21用于监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置;
校验模块22用于获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;第二下载路径在网络路径上与第一下载路径不同;
处理模块23用于当校验模块获取的判断结果为存在下载劫持风险时,干预下载流程。
本实施例的监听模块21、校验模块22、处理模块23的功能可以由图1中的助力器150实现。
本实施例中的监听模块21监听的数据下载请求可以是http数据下载请求,监听模块21可以通过调用装置自身的系统程序来监听数据下载请求,也可以利用其它软件来监听终端的数据下载请求,例如Fiddler软件等。
在本实施例中终端下载的对象包括但不限于应用程序、游戏、图片、视频、小说等。进行下载的方式包括但不限于通过浏览器进行下载或通过终端上的应用商店进行下载。对应的,监听模块21获取的下载地址可以是在终端侧输入的下载链接地址,例如在浏览器上输入的域名。
监听模块21在获取到下载地址后,获取下载地址对应的下载数据的一部分数据作为探测数据,可以节约下载探测数据的时间,降低本实施例的装置判断下载劫持风险所需的时间。
监听模块21获取到的下载参数包括探测数据的大小和探测数据在下载数据中的起始下载位置。这些信息可以帮助在第二下载路径上下载校验数据的时候准确的找到需要下载的数据的位置和大小。其中,监听模块21可以从第一下载路径获取下载数据的前8k数据作为探测数据,这样,由于不是采用随机下载的模式,同样只需要从第二下载路径下载前8K的校验数据,再进行比较,即可判断两个数据是否一致,得到下载劫持风险的存在情况。通常,下载内容的大小一般不宜过小亦不宜过大,过大则需要消耗过多的流量,过小则可能在发生下载劫持时,出现随机一致的情况,而采用取下载最开始的前段数据则可以简化整个下载流程,除此之外,也可以选择下载数据其他位置的部分作为探测数据,只要能得到探测数据的下载参数即可。上述的8k只用于举例说明,对本实施例的探测数据和校验数据的大小没有任何限定。
本实施例中,校验模块22获取的下载劫持风险判断结果是基于对探测数据和校验数据进行对比分析得到结果,其中,校验数据是利用下载地址和下载参数从第二下载路径下载的数据,探测数据是从第一下载路径下载的数据,两者的下载路径不同,其次,下载参数使得探测数据和校验数据在各自的原始数据中的相对位置一致,有效地确保了探测数据和校验数据的可比性,保证了探测结果的准确性。
在本实施例中,对下载劫持风险判断结果的来源没有进行限制,也即该下载劫持风险判断结果可以由校验模块22本身判断得到,也可以是获取的外部发送的下载劫持风险判断结果。
当下载劫持风险判断结果由校验模块22自身判断得到时,也存在以下两种情况:一、校验模块22从第二下载路径上下载校验数据,比较校验数据和探测数据,得到下载劫持风险判断结果;二、校验模块将下载地址和下载参数发送给外部设备,有外部设备根据下载地址和下载参数从第二下载路径下载校验数据,发送给校验模块22,校验模块22比较探测数据和外部设备发送的校验数据,得到下载劫持风险判断结果。
当下载劫持风险判断结果是由外部设备发送给校验模块22时,可以想到的是,需要将下载地址和下载参数发送给外部设备,才能使其从第二下载路径上下载校验数据,同时还需要将探测数据发送给外部设备,外部设备才能对校验数据和探测数据进行比较,得到下载劫持风险判断结果。
本实施例中,上述对下载劫持风险判断结果的判断过程是需要时间的,而随着现在的通信水平越来越发达,数据下载的时间越来越短。如果在判断过程中,终端保持下载,当下载流程中存在下载劫持风险时,无疑会浪费用户的下载流量,由此,在校验模块22未获得下载劫持风险判断结果之前,终端可以暂停当前的下载,或者,终端在接收到数据下载请求时,暂时先不开启下载,先进行风险判断,根据校验模块22获得的下载劫持风险判断结果开启下载流程或结束下载流程进一步避免浪费流量,以及避免下载携带有病毒的数据,危害到终端的安全。
当校验模块22得知终端当前的下载存在下载劫持风险时,将该结果通知处理模块23,处理模块23可以对当前的下载流程进行干预,避免用户继续下载浪费流量,浪费下载时间,造成用户的不便。
在当前的下载流程存在下载劫持风险存在时,处理模块23可以根据实际情况选择不同的处理方式。其中,处理模块23可以选择以下处理方式中的至少一种对下载流程进行干预:
一、提示用户当前下载存在下载劫持风险;进一步地,可以在在人机交互界面上显示询问窗口,询问用户是否继续当前的下载,根据用户的选择继续或结束当前的下载;
二、直接停止当前的下载;考虑到用户可能急需该下载数据,而在得知存在下载劫持风险时选择继续下载,进一步地,还可以在人机交互的界面上设置继续下载的触发区域,由用户触发该区域继续当前的下载流程。
三、从其他服务器上下载、切换到加密传输方式进行下载、或将下载地址发送给关联终端进行下载;在这种处理方式中,可以在人机交互界面上为用户提供至少三个下载选择:切换到其他服务器下载,或切换到加密方式下载,或下载地址发送给关联终端进行下载,由用户根据实际情况选择。
处理模块23还可以对上述三种处理方式进行任意的组合,采取组合后的方案对下载流程进行干预,一般而言,为了用户的体验,提示用户存在风险是很有必要的,提示的方式可以是在用户界面上弹出提示框,也可以是利用语音方式来提示,如果终端是通过浏览器下载数据,处理模块23可以先告知浏览器,当前下载可能发生了下载劫持,由浏览器告知用户存在下载劫持的风险。
采用本实施例的防止下载劫持的装置,监听模块可以监听终端的下载流程,获取下载地址、从第一下载路径获取的探测数据以及其下载参数,校验模块可以获取下载劫持风险判断结果,该结果是基于探测数据和校验数据得到的,而校验数据是根据下载地址和下载参数从第二下载路径下载的数据,该校验数据和探测数据的下载位置相对应,下载地址也一致,具有可比性,能准确反映同一下载地址从两不同下载路径上下载的数据的区别,帮助判断终端当前的下载流程是否被劫持,提高下载劫持风险判断结果的准确性,其次,探测数据只是下载数据的一部分可以降低下载探测数据和校验数据的时间,加快劫持风险判断的速度,综上,本实施例的防止下载劫持的装置具有快速、准确判断下载风险,减少流量的浪费,避免用户下载到不需要和不安全的数据的优点。
实施例二:
参见图3,本发明进一步提供一种防止下载劫持的装置,能在终端出现下载请求的时候,对当前的下载进行下载劫持风险判断,并在当前下载可能存在被劫持的风险时,对下载进行相应的干预处理,避免浪费用户的流量和对终端产生安全威胁。
本实施例的防止下载劫持的装置包括:
监听模块21用于监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置;
校验模块22用于获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;第二下载路径在网络路径上与第一下载路径不同;
处理模块23用于当校验模块获取的判断结果为存在下载劫持风险时,干预下载流程。
本实施例的监听模块21、校验模块22、处理模块23的功能可以由图1中的助力器150实现。
本实施例中的监听模块21监听的数据下载请求可以是http数据下载请求,监听模块21可以通过调用装置自身的系统程序来监听数据下载请求,也可以利用其它软件来监听终端的数据下载请求,例如Fiddler软件等。
在本实施例中终端下载的对象包括但不限于应用程序、游戏、图片、视频、小说等。进行下载的方式包括但不限于通过浏览器进行下载或通过终端上的应用商店进行下载。对应的,监听模块21获取的下载地址可以是在终端侧输入的下载链接地址,例如在浏览器上输入的域名。
监听模块21在获取到下载地址后,获取下载地址对应的下载数据的一部分数据作为探测数据,可以节约下载探测数据的时间,降低本实施例的装置判断下载劫持风险所需的时间。
监听模块21获取到的下载参数包括探测数据的大小和探测数据在下载数据中的起始下载位置。这些信息可以帮助在第二下载路径上下载校验数据的时候准确的找到需要下载的数据的位置和大小。
其中,监听模块21可以从第一下载路径获取下载数据的前8k数据作为探测数据,这样,由于不是采用随机下载的模式,同样只需要从第二下载路径下载前8K的校验数据,再进行比较,即可判断两个数据是否一致,得到下载劫持风险的存在情况。通常,下载内容的大小一般不宜过小亦不宜过大,过大则需要消耗过多的流量,过小则可能在发生下载劫持时,出现随机一致的情况,而采用取下载最开始的前段数据则可以简化整个下载流程,除此之外,也可以选择下载数据其他位置的部分作为探测数据,只要能得到探测数据的下载参数即可。上述的8k只用于举例说明,对本实施例的探测数据和校验数据的大小没有任何限定。
在实际的使用过程中,如果对所有的下载请求都进行下载劫持风险的判断,无疑会增加本实施例的防止下载劫持的装置的工作量,由此,本实施例的防止下载劫持的装置还可以包括文件格式检测模块24,用于在监听模块21获取所述探测数据之前,获取所述下载数据的文件格式,并判断所述文件格式是否属于预设的校验文件格式,若属于,则所述监听模块21进行所述探测数据的下载,若不属于,则所述监听模块21停止所述探测数据的下载,停止本次的下载劫持风险判断过程。在本实施例中,控制器150可以实现文件格式检测模块24的功能,本实施例还可以包括存储器,由图1中的存储器140实现,用来存储预设的校验文件格式,以及存储控制器150下载的下载数据、探测数据等数据。
文件格式检测模块24获取下载数据的文件格式的方法可以有很多,包括但不限于通过分析下载的文件的后缀名来确定文件格式,一般通过HTTP下载时,数据包中带有的mime type(Multipurpose Internet Mail Extensions type,多用途因特网邮件扩展类型)信息,所以文件格式检测模块24也可以借助mime type信息来确定下载数据的文件格式,此外,文件格式检测模块24也可以借助其他分析文件格式的应用软件来确定下载数据的文件格式,例如斯托夫文件格式分析器。
本实施例中,预设的校验文件格式由用户自定义,也可以是预先存储的多种文件格式,考虑到应用程序等文件的下载比较耗费流量,且会安装在终端上运行,基于对终端的安全保护和对流量的节约等原则,预设的校验文件格式可以包括apk、exe、so等格式,此外,预设的校验文件格式还可以包括视频类文件格式,如rm,rmvb,wmv,avi等等,除此之外,也可以根据实际的情况考虑将校验文件格式设定为需要检测的其他文件格式。只对属于预设的校验文件格式的文件进行校验,不仅可以避免对重要性较低的格式的文件进行校验导致的资源的浪费,亦可以节约数据流量。预设的校验文件格式可以以xml的形式在移动终端中进行存储。
当文件格式检测模块24检测到当前的下载数据的格式属于预设的校验文件格式时,需要校验模块22获取当前的下载劫持风险判断结果,该结果是基于对探测数据和校验数据进行对比分析得到结果,其中,校验数据是利用下载地址和下载参数从第二下载路径下载的数据,探测数据是从第一下载路径下载的数据,两者的下载路径不同,其次,下载参数使得探测数据和校验数据在各自的原始数据中的相对位置一致,有效地确保了探测数据和校验数据的可比性,保证了探测结果的准确性。
在本实施例中,对下载劫持风险判断结果的来源没有进行限制,也即该下载劫持风险判断结果可以由校验模块22获取的外部发送的下载劫持风险判断结果,也可以由校验模块22本身获取探测数据和校验数据,然后进行判断得到。
在一个实施例中,校验模块22可以将所述下载地址、探测数据和下载参数发送给检验服务器,以供校验服务器利用下载地址和下载参数从第二下载路径下载校验数据,接收所述校验服务器基于所述探测数据和所述校验数据进行对比分析得到的下载劫持风险判断结果。其中,校验服务器下载探测数据的具体过程包括登录下载地址,根据下载参数确定校验数据的下载起始位置和数据大小,从下载起始位置开始下载大小和探测数据相同的数据作为校验数据。
其中,校验数据的下载路径是第二下载路径,与探测数据的第一下载路径不同,可以想到的是,如果校验数据的下载路径和探测数据的下载路径相同,那么两次下载可能都会遇到相同的下载劫持问题,使得校验数据失去比对的可靠性,例如如果第一次下载时,发生了DNS下载劫持,在下载路径不变的情况下,相同的DNS服务器在对同一个下载地址进行第二次解析时,还是可能会篡改对应的IP地址,使用户接入错误的IP地址,下载错误的数据,再例如;如果第一次下载时,发生了HTTP劫持,在用户的客户端与其要访问的服务器建立的专用的数据通道中,可能会在数据流的传输过程中被插入错误的数据流,导致用户下载的数据解析错误或无法解析等,第二次下载时,再次在相同的客户端和相同的服务器之间建立数据通道下载数据很可能也会发上劫持情况。所以需要第二下载路径在网络路径上与第一下载路径不同,这种不同可以是下载路径中的任一环节的不同。例如可以是由不同的DNS域名服务器将下载地址解析为对应的IP地址,然后将两个IP地址发送到不同的服务器进行下载,也可以是下载路径上的其他环节的不同。
对于校验服务器而言,为了保证校验数据的可靠性,校验服务器的安全级别越高,越不容易被劫持,例如低风险的ISP机房服务器,存在下载劫持的风险非常低,采用这种服务器,判断发生下载劫持的准确度就越高。校验服务器根据接收到的下载地址可以建立新的下载路径,避免使用与下载数据相同的下载路径再次发生下载劫持,降低校验数据的可靠性和可对比性。
在本实施例中,根据探测数据和校验数据判断下载劫持风险的过程可以在校验服务器上实现,也可以在终端上实现,本实施例对此没有限制。例如,上述的校验服务器下载了校验数据之后,还可以将校验数据发送给终端,由终端对探测数据和校验数据进行判断,此外,上述的校验服务器也可以换成其他设备,例如与下载数据的终端关联的其他关联终端,此时,校验模块22需要将下载地址和下载参数发送至关联终端,接收关联终端下载的校验数据,再对探测数据和校验数据进行判断。
在另一个实施例中,校验模块22可以根据所述下载地址和下载参数从第二下载路径下载校验数据,并对校验数据和所述探测数据进行对比分析得到下载劫持风险判断结果。
现有的终端中,有很多双卡双待的终端,采用双卡双待的终端可以利用不同的SIM卡接入不同的网络运营商,实可以现终端利用同一个下载地址接入不同下载路径的方案,在本实施例里,监听模块21可以一种运营商例如移动,提供的网络根据下载地址从第一下载路径下载探测数据,校验模块22可以利用另一种运营商例如联通,提供的网络根据下载地址和探测数据的下载参数从第二下载路径下载校验数据。其中,校验模块下载校验数据的过程可以包括,接入下载地址,根据下载参数确定校验数据的下载起始位置和数据大小,从下载起始位置开始下载大小和探测数据相同的数据作为校验数据。
在获取了探测数据和校验数据后,校验模块22可以根据探测数据与校验数据进行下载劫持风险判断,除此之外,本实施例中,单卡终端也可以实现下载探测数据与校验数据进行比对的过程,只要该单卡终端能够根据同一下载地址从不同的下载路径分别下载数据即可,例如,单卡终端采用安全行更高的Https方式,根据下载地址和下载参数从第二下载路径下载校验数据。
当校验模块22判断出当前的下载具有被劫持的风险时,处理模块23会干预下载流程,干预的方式包括:一、提示用户当前下载存在下载劫持风险;二、直接停止当前的下载;三、从其他服务器上下载、切换到加密传输方式进行下载、或将下载地址发送给关联终端进行下载。
处理模块23还可以对上述三种处理方式进行任意的组合,采取组合后的方案对下载流程进行干预,一般而言,为了用户的体验,提示用户存在风险是很有必要的,提示的方式可以是在用户界面上弹出提示框,也可以是利用语音方式来提示,如果终端是通过浏览器下载数据,处理模块23可以先告知浏览器,当前下载可能发生了下载劫持,由浏览器告知用户存在下载劫持的风险。
采用本实施例的防止下载劫持的装置,校验模块获取下载劫持风险判断结果的方式有多种,校验模块可以将探测数据、下载参数和下载地址发送给校验服务器,由校验服务器下载校验数据,可以进一步确保校验数据的下载不被劫持,即校验数据基本可认为是正确的下载数据,此时,将探测数据和校验数据进行比较得到下载劫持风险判断结果,可以进一步提高下载劫持风险判断的准确性。校验模块还可以自己从第二下载路径下载校验数据,比较校验数据的探测数据,此种方式,有效地利用了装置自身的功能,不用与校验服务器进行交互和数据传输,可以节约数据传输的时间,加快下载劫持风险的判断速度,置具有快速判断下载风险的优点。
进一步地,本实施例的防止下载劫持的装置还包括文件格式检测模块,可以对下载的下载数据进行一次过滤,只有符合预设的校验格式的下载数据才进行后续的下载劫持风险的判断,能降低下载劫持风险判断的频率和次数,减少流量的浪费。
进一步地,在下载劫持风险判断结果为是时,处理模块对当前的下载进行干预,可以尽早通知用户当前的异常状况,避免在用户在不知道的情况下下载了不安全的数据,既浪费流量,又可能对终端的安全产生威胁。
实施例三:
如图4所示,本发明提出一种防止下载劫持的方法,该方法包括:
S401、监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置;
在步骤S401中,监听的数据下载请求可以是http数据下载请求,终端可以通过自身的系统程序来监听数据下载请求,也可以利用其它软件来监听终端的数据下载请求,例如Fiddler软件等。下载的对象包括但不限于应用程序、游戏、图片、视频、小说等。进行下载的方式包括但不限于通过浏览器进行下载或通过终端上的应用商店进行下载。获取的下载地址是在终端侧输入的下载链接地址,例如在浏览器上输入的域名。
在步骤S401中的探测数据为至少一部分下载数据,探测数据的下载参数用于定位探测数据在下载数据中的位置。即下载参数可以用来对探测数据在下载数据的具体下载位置区间进行定位,可以帮助确定探测数据下载的起始位置和的终点位置,即可以反应探测数据的具体的下载位置和大小。所以具体的,下载参数可以包括探测数据在下载数据中的起始下载位置和探测数据的具体大小,便于利用下载地址和下载参数从第二下载路径下载校验数据,保证校验数据可以用来与探测数据进行对比,当然下载参数也可以包括探测数据在下载数据中的起始下载位置和下载的终点位置。上述的下载地址可以在监听到有下载流程开始时就下载,也可以在下载的过程中进行下载。
S402、获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;第二下载路径在网络路径上与第一下载路径不同;
S403、当判断结果为存在下载劫持风险时,干预下载流程。
步骤S402中,获取的下载劫持风险判断结果是基于对探测数据和校验数据进行对比分析得到结果,而校验数据是利用下载数据和下载参数从第二下载路径下载的数据,在步骤S402中,没有对校验数据的下载端进行限制,校验数据可以是下载了探测数据的终端下载的,也可以是其他装置或终端等从第二下载路径下载的,同样,步骤S402没有限制对校验数据和探测数据的对比装置进行限定,此装置既可以是本终端也可以是其他获取了探测数据和校验数据的装置。
步骤S402中,获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果的方式可以包括以下实现方式的任意一种:
方式一:将下载地址、探测数据和下载参数发送给检验服务器,以供其利用下载地址和下载参数从第二下载路径下载校验数据,接收校验服务器基于探测数据和校验数据进行对比分析得到的下载劫持风险判断结果;
方式二:根据下载地址和下载参数从第二下载路径下载校验数据,并对校验数据和探测数据进行对比分析得到下载劫持风险判断结果。
在方式一中,终端可以只接收校验服务器根据探测数据与校验数据得到的下载劫持风险判断结果,具体的判断过程可以是在校验服务器一侧实现的,采用该方式,可以直接在校验服务器侧进行探测数据和校验数据的对比分析,得到下载劫持风险判断结果,最后只需将结果发送给终端即可。除此之外,其实校验服务器也可以将校验数据发送给终端,由终端来进行探测数据和校验数据的比较,但是通过校验服务器比较两个数据花费的时间,明显比将校验数据传输给终端,再由终端对两个数据进行比较花费的时间少一些,所以在服务器侧比较两个数据可以节约风险判断的时间,甚至终端可以将下载地址和下载参数发送给与之通信连接的另一终端,利用另一终端下载校验数据,然后传给该终端,由该终端进行对比分析。
本发明的上述实施例的防止下载劫持的方法可以完全采用软件的方法,不仅可以使用在浏览器上,亦可以在移动终端的底层使用,例如:在android智能手机上,可以在框架层的数据下载部分使用本方法,监听下载数据的mime type,当所下载数据的mime type属于需要校验的格式时,对其进行校验,如果出现篡改,则由框架层给出提示框,提示下载的内容可能发生篡改。
本实施例防止下载劫持的方法,可以监听终端的数据下载请求,获取下载地址和从第一下载路径获取的探测数据以及其下载参数,获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果,该探测数据为至少一部分下载数据,该下载参数用于定位探测数据在下载数据中的位置,这里的第二下载路径在网络路径上与第一下载路径不同,当存在下载劫持风险时,干预下载流程。下载一部分的下载数据和对应位置的校验数据可以节约下载时间和判断的时间,两条不同的下载路径保证了分别从它们下载的探测数据和校验数据可以用来进行比对,也保证了基于校验数据和探测数据得到的下载劫持风险判断结果的准确性,所以采用本实施例的方法可以快速准确地判断出是否存在下载劫持风险,便于尽快干预存在风险的下载流程,减少流量的浪费,避免用户下载到不需要和不安全的数据。
实施例四:
如图5所示,本发明提出一种防止下载劫持的方法,该方法可以在终端一侧应用,包括:
S501、监听终端的数据下载请求,获取下载数据的文件格式。
在步骤S501中,监听的数据下载请求可以是http数据下载请求,终端可以通过自身的系统程序来监听数据下载请求,也可以利用其它软件来监听终端的数据下载请求,例如Fiddler软件等。下载的对象包括但不限于应用程序、游戏、图片、视频、小说等。进行下载的方式包括但不限于通过浏览器进行下载或通过终端上的应用商店进行下载。获取下载数据的文件格式的方法可以有很多,包括但不限于通过分析下载的文件的后缀名来确定文件格式,一般通过HTTP下载时,数据包中带有的mime type(Multipurpose Internet MailExtensions type,多用途因特网邮件扩展类型)信息,所以也可以借助mime type信息来确定下载数据的文件格式,甚至可以借助其他分析文件格式的应用软件来确定下载数据的文件格式。
S502、判断文件格式是否属于预设的校验文件格式,若属于,进入步骤S503,若不属于,进入步骤S504。
预设的校验文件格式是用户自己定义的,也可以是预先设定的多种文件格式,考虑到应用程序等的下载比较耗费流量,且会安装在终端上运行,基于对终端的安全保护和对流量的节约等,可以将校验文件格式设定为apk、exe、so等格式,当然,将校验文件格式设定为一些视频文件格式,如rm,rmvb,wmv,avi等等,除此之外,也可以根据实际的情况考虑将校验文件格式设定为需要检测的其他文件格式。对格式属于校验文件格式的文件进行校验,不仅可以避免对重要性较低的格式的文件进行校验导致的资源的浪费,亦可以节约数据流量。指定文件格式可以以xml的形式在移动终端中进行存储。
S503、获取下载数据的下载地址、从第一下载路径获取的探测数据以及其下载参数。
步骤S503中的探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置。
S504、停止本次校验,按照下载流程正常下载数据。
S505、将下载地址、探测数据和下载参数发送给校验服务器,以供其利用下载地址和下载参数从第二下载路径下载校验数据。
步骤S505中,如果校验数据的下载路径和探测数据的下载路径相同,那么两次下载可能都会遇到相同的下载劫持问题,使得校验数据失去比对的可靠性,例如如果第一次下载时,发生了DNS下载劫持,在下载路径不变的情况下,相同的DNS服务器在对同一个下载地址进行第二次解析时,还是可能会篡改对应的IP地址,使用户接入错误的IP地址,下载错误的数据,再例如,如果第一次下载时,发生了HTTP劫持,在用户的客户端与其要访问的服务器建立的专用的数据通道中,可能会在数据流的传输过程中被插入错误的数据流,导致用户下载的数据解析错误或无法解析等,第二次下载时,再次在相同的客户端和相同的服务器之间建立数据通道下载数据很可能也会发上劫持情况。所以需要第二下载路径在网络路径上与第一下载路径不同,这种不同可以是下载路径中的任一环节的不同。例如可以是由不同的DNS域名服务器将下载地址解析为对应的IP地址,然后将两个IP地址发送到不同的服务器进行下载,也可以是下载路径上的其他环节的不同。
对于校验服务器而言,为了保证校验数据的可靠性,校验服务器的安全级别越高,越不容易被劫持,例如低风险的ISP机房服务器,存在下载劫持的风险非常低,采用这种服务器,判断发生下载劫持的准确度就越高。校验服务器根据接收到的下载地址可以建立新的下载路径,避免使用与下载数据相同的下载路径再次发生下载劫持,降低校验数据的可靠性和可对比性。
步骤S503和步骤S505中的下载参数是可以用来对探测数据进行定位下载的参数,可以包括探测数据的大小和在下载数据中的起始下载位置,可以将下载的前8K数据作为探测数据发送给校验服务器,这样,由于不是采用随机下载的模式,校验服务器同样只需要下载前8K的数据进行比较,即可判断两数据是否一致,不一致则存在下载劫持的风险。通常,下载内容的大小一般不宜过小亦不宜过大,过大则需要消耗过多的时间和流量,过小则可能在发生下载劫持时,出现随机一致的情况,而采用取下载最开始的前段数据则可以简化整个下载流程,当然,除此之外,也可以选择下载数据中的其他位置的数据作为探测数据,只要能获得探测数据的下载参数即可。
校验服务器根据下载地址和下载参数从第二下载路径下载校验数据包括校验服务器根据下载地址建立第二下载路径,根据下载参数在第二下载路径下载与探测数据大小相同、位置相同的校验数据。
S506、接收校验服务器对探测数据和校验数据进行对比分析得到的下载劫持风险判断结果。
在步骤S506中,校验服务器的下载劫持风险的判断的标准可以包括:若校验数据和探测数据所的比对结果为相同,则不存在下载劫持风险,若比对结果为不同,则存在。当然该判断标准可以根据实际的情况做出相应的变化。
步骤S506中的探测数据和校验数据是在不同的下载路径下下载的,在校验服务器比较两个数据的过程中,可以是将两个数据中对应位置的数据一一进行比对,一旦有不同的地方,就判断两个数据不相同。考虑到下载和比较这两个数据需要一定的时间,需要对探测数据和校验数据的大小进行把握,两个数据太小有发生偶然性相同的可能,数据太大不但浪费下载时间,也浪费了比较时间,所以需要对探测数据的大小和校验数据的大小进行合理的选择。
S507、当存在下载劫持风险时,选择以下处理方式的至少一种对下载流程进行干预:提示用户当前下载存在下载劫持风险;停止当前的下载;从其他服务器上下载或切换到加密传输方式进行下载。
步骤S507中的提示可以是利用在用户界面弹出提示框进行提示,也可以是通过语音提示的方式对用户进行提示。进一步地,可以将第一种处理方式与第二种结合,在提示的基础上可以暂停本次下载,并通过提示框或提示语询问用户是否继续下载,另外,也可以第三种处理方式与第一种结合,在提示用户存在下载劫持风险的时候,选择其他的服务器进行下载,或切换到HTTPS等比较安全的方式下载等等,或者采用其他的结合方式对上述三种处理方式进行结合或其中任意两种进行结合。
本实施例防止下载劫持的方法进一步地在下载探测数据之前获取下载数据的文件格式,当文件格式属于预设的校验文件格式时,才进行探测数据的下载和后续的风险判断,不仅可以避免对重要性较低的格式进行校验造成对资源的浪费,也可以节约数据流量。进一步地,利用探测数据的大小和起始下载位置可以快速准确地得到校验数据,节约时间和流量。进一步地,本实施例的方法为提供了多种干预下载流程的方式,包括提示用户,暂停下载,换方式下载等,不仅可以节约下载流量还可以提升了用户的使用感。
实施例五:
参见图6,本实施例提供了一种防止下载劫持的方法,该方法可以在终端一侧应用,包括:,
S601、监听终端的数据下载请求,获取下载数据的文件格式。
在步骤S601中,监听的数据下载请求可以是http数据下载请求,终端可以通过自身的系统程序来监听数据下载请求,也可以利用其它软件来监听终端的数据下载请求,例如Fiddler软件等。下载的对象包括但不限于应用程序、游戏、图片、视频、小说等。进行下载的方式包括但不限于通过浏览器进行下载或通过终端上的应用商店进行下载。获取下载数据的文件格式的方法可以有很多,包括但不限于通过分析下载的文件的后缀名来确定文件格式,一般通过HTTP下载时,数据包中带有的mime type(Multipurpose Internet MailExtensions type,多用途因特网邮件扩展类型)信息,所以也可以借助mime type信息来确定下载数据的文件格式,甚至可以借助其他分析文件格式的应用软件来确定下载数据的文件格式。
S602、判断文件格式是否属于预设的校验文件格式,若属于,进入步骤S603,若不属于,进入步骤S604。
预设的校验文件格式是用户自己定义的,也可以是预先设定的多种文件格式,考虑到应用程序等的下载比较耗费流量,且会安装在终端上运行,基于对终端的安全保护和对流量的节约等,可以将校验文件格式设定为apk、exe、so等格式,当然,将校验文件格式设定为一些视频文件格式,如rm,rmvb,wmv,avi等等,除此之外,也可以根据实际的情况考虑将校验文件格式设定为需要检测的其他文件格式。对格式属于校验文件格式的文件进行校验,不仅可以避免对重要性较低的格式的文件进行校验导致的资源的浪费,亦可以节约数据流量。指定文件格式可以以xml的形式在移动终端中进行存储。
S603、获取下载数据的下载地址、从第一下载路径获取的探测数据以及其下载参数。
步骤S603中的探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置。下载参数可以包括探测数据的大小和在下载数据中的起始下载位置,可以将下载的前8K数据作为探测数据进行下载,这样,由于不是采用随机下载的模式,终端只要再从第二下载路径下载前8K的数据进行比较,即可判断两数据是否一致,不一致则存在下载劫持的风险。通常,下载内容的大小一般不宜过小亦不宜过大,过大则需要消耗过多的时间和流量,过小则可能在发生下载劫持时,出现随机一致的情况,而采用取下载最开始的前段数据则可以简化整个下载流程,当然,除此之外,也可以选择下载数据中的其他位置的数据作为探测数据,只要能获得探测数据的下载参数即可。
S604、停止本次校验,按照下载流程正常下载数据。
S605、根据下载地址和下载参数从第二下载路径下载校验数据,并对校验数据和探测数据进行对比分析得到下载劫持风险判断结果;
步骤S605中的第二下载路径和步骤S603中的第一下载路径在网络路径上是不相同的,这种不同可以是终端从不同的服务器上下载了探测数据和校验数据,也可以是终端两次发送的下载地址经过不同的DSN服务器解析成IP地址进行下载。
在步骤S605中,下载劫持风险的判断的标准可以包括:若校验数据和探测数据所的比对结果为相同,则不存在下载劫持风险,若比对结果为不同,则存在。当然该判断标准可以根据实际的情况做出相应的变化。
步骤S605中的探测数据和校验数据是在不同的下载路径下下载的,在校验服务器比较两个数据的过程中,可以是将两个数据中对应位置的数据一一进行比对,一旦有不同的地方,就判断两个数据不相同。
S606、当存在下载劫持的风险时,选择以下处理方式的至少一种对下载流程进行干预:提示用户当前下载存在下载劫持风险;停止当前的下载;从其他服务器上下载或切换到加密传输方式进行下载。
步骤S606中的提示可以是利用在用户界面弹出提示框进行提示,也可以是通过语音提示的方式对用户进行提示。进一步地,可以将第一种处理方式与第二种结合,在提示的基础上可以暂停本次下载,并通过提示框或提示语询问用户是否继续下载,另外,也可以第三种处理方式与第一种结合,在提示用户存在下载劫持风险的时候,选择其他的服务器进行下载,或切换到HTTPS等比较安全的方式下载等等,或者采用其他的结合方式对上述三种处理方式进行结合或其中任意两种进行结合,S606中的通过加密传输方式下载可以是通过HTTPS的方式下载数据。
采用本实施例的方法可以在终端从不同的下载路径下载探测数据和对应的校验数据,对比这两个数据得到下载风险判断结果,快速准确地得到当前下载是否存在劫持风险,以便及早干预,节约流量,避免终端的安全隐患。进一步地在下载探测数据之前获取下载数据的文件格式,当文件格式属于预设的校验文件格式时,才进行探测数据的下载和后续的风险判断,不仅可以避免对重要性较低的格式进行校验造成对资源的浪费,也可以进一步节约数据流量。进一步地,本实施例的方法为提供了多种干预下载流程的方式,包括提示用户,暂停下载,换方式下载等,不仅可以节约下载流量还可以提升了用户的使用感。
实施例六:
本发明进一步提供另一种防止下载劫持的方法,该方法可以在校验服务器一侧应用。
参照图7,图7为本发明提供的另一种防止下载劫持的方法的实施例的流程图,该防止下载劫持的方法包括:
S701、接收终端发送的下载地址、从第一下载路径获取的探测数据及其下载参数。
S702、根据下载地址和下载参数从第二下载路径下载校验数据;第二下载路径在网络路径上与第一下载路径不同。
S703、对探测数据与校验数据进行对比分析得到下载劫持风险判断,并将判断结果发送给终端。
本实施例的方法通过比较探测数据和校验数据可以快速准确地判断出当前终端的下载是否存在劫持风险,将判断结果发送给终端可以提醒终端在下载风险存在时及早应对,避免浪费用户的流量,提升用户的体验。
实施例七:
参见图8,本实施例进一步提供一种防止下载劫持的校验服务器,包括:
接收模块81,下载模块82和风险判断模块83;
接收模块21用于接收终端发送的下载地址、从第一下载路径获取的探测数据及其下载参数;
下载模块82用于根据下载地址和下载参数从第二下载路径下载校验数据;第二下载路径网络路径上与第一下载路径不同;
风险判断模块83用于对校验数据和探测数据进行对比分析得到下载劫持风险判断结果,并将判断结果发送给终端。
本实施例的校验服务器的安全级别越高,越不容易被劫持,例如低风险的ISP机房服务器,存在下载劫持的风险非常低,所以可以采用向IP机房服务器之类的低风险的服务器。
本实施例的校验服务器可以接收终端的探测数据、下载地址和下载参数,利用下载地址和下载参数从第二下载路径下载校验数据,根据对探测数据和下载数据的比对快速准确地判断出终端是否存在下载劫持的风险,并将该判断结果发送给终端以便终端做出应对,避免浪费用户的流量,避免终端因下载被篡改的数据而面临安全问题。
实施例八:
参见图9,本实施例提供一种移动终端,该移动终端包括如实施例一和实施例二的防止下载劫持的装置,本实施例的移动终端可以是手机、平板电脑等终端设备。参见图9、本实施例的移动终端包括:
监听模块21用于监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;探测数据为至少一部分下载数据,下载参数用于定位探测数据在下载数据中的位置;
校验模块22用于获取基于探测数据以及利用下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;第二下载路径在网络路径上与第一下载路径不同;
处理模块23用于当校验模块获取的判断结果为存在下载劫持风险时,干预下载流程;
文件格式检测模块24,用于在监听模块获取所述探测数据之前,获取所述下载数据的文件格式,并判断所述文件格式是否属于预设的校验文件格式,若属于,则所述监听模块进行所述探测数据的下载,若不属于,则所述监听模块停止所述探测数据的下载。
本实施例的监听模块21、校验模块22、处理模块23、文件格式检测模块24可以采用图1中的控制器150实现,即由控制器150在第一下载路径下载探测数据,由控制器150获取下载劫持风险判断结果,由控制器150对当前的对下载进行干预。控制器150下载数据时,可以通过图1中的无线通信单元110提供的通信方式进行数据的下载。
其中,控制器150可以将下载地址、探测数据和下载参数发送给检验服务器,以供校验服务器利用下载地址和下载参数从第二下载路径下载校验数据,基于所述探测数据和所述校验数据进行对比分析得到下载劫持风险判断结果,控制器150只需接受该判断结果即可,在另一实施例中,控制器150也可以接受校验服务器发送的校验数据,然后对探测数据和校验数据进行比较,判断当前的下载流程是否存在下载劫持风险。
其中,校验服务器下载探测数据的具体过程包括登录下载地址,根据下载参数确定校验数据的下载起始位置和数据大小,从下载起始位置开始下载大小和探测数据相同的数据作为校验数据。
在另一实施例中,控制器150自己进行下载劫持风险的判断,而不是接收校验服务器的判断结果。此时,控制器150根据下载地址和下载参数从第二下载路径下载校验数据,并对校验数据和所述探测数据进行对比分析得到下载劫持风险判断结果。
可以想到的是,若每监听到一次下载请求,控制器150都进行风险判断,无疑会增加控制器150的工作量,浪费资源,所以本实施例的控制器150可以只在下载数据的格式符合预设的校验文件格式时,才对当前的下载进行下载劫持风险判断。
其中,控制器150可以接收用户通过用户输入单元120输入的文件格式作为预设的校验文件格式,也可以使用终端存储的预设的校验文件格式。
控制器150获取下载数据的文件格式的方法可以有很多,包括但不限于通过分析下载的文件的后缀名来确定文件格式,一般通过HTTP下载时,数据包中带有的mime type(Multipurpose Internet Mail Extensions type,多用途因特网邮件扩展类型)信息,所以控制器150也可以借助mime type信息来确定下载数据的文件格式,此外,文件格式检测模块24也可以借助其他分析文件格式的应用软件来确定下载数据的文件格式,例如斯托夫文件格式分析器。
在判断出当前的下载存在劫持风险后,控制器150需要进行干预,干预的方式包括以下干预方式中的至少一种:
一、控制器150提示用户当前下载存在下载劫持风险;进一步地,控制器150可以通过显示单元131显示询问窗口,询问用户是否继续当前的下载,根据用户的选择继续或结束当前的下载;
二、控制器150直接停止当前的下载;考虑到用户可能急需该下载数据,而在得知存在下载劫持风险时选择继续下载,进一步地,控制器150还可以人机交互界面上设置继续下载的触发区域,由用户通过用户输入单元120触发该区域继续当前的下载流程。
三、控制器150提供从其他服务器上下载、切换到加密传输方式进行下载、或将下载地址发送给关联终端进行下载的方式;在这种干预方式中,控制器150可以在显示单元131上显示为用户提供的至少一个下载选择:切换到其他服务器下载,或切换到加密方式下载,或下载地址发送给关联终端进行下载,由用户根据实际情况选择。
采用本实施例的移动终端,可以利用控制器监听终端的下载流程,获取下载地址、从第一下载路径获取的探测数据以及其下载参数,以及获取下载劫持风险判断结果,对存在劫持风险的下载进行干预,第一下载路径下载的探测数据和第二下载路径下载的校验数据能确保本实施例的移动终端快速、准确判断劫持风险,控制器干预出现风险的下载流程能避免流量的浪费,避免用户下载到不需要和不安全的数据。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种防止下载劫持的装置,其特征在于,包括监听模块、校验模块和处理模块;
所述监听模块用于监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;所述探测数据为至少一部分下载数据,所述下载参数用于定位所述探测数据在下载数据中的位置;
所述校验模块用于获取基于所述探测数据以及利用所述下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;所述第二下载路径在网络路径上与所述第一下载路径不同;
所述处理模块用于当校验模块获取的所述判断结果为存在下载劫持风险时,干预下载流程。
2.如权利要求1所述的防止下载劫持的装置,其特征在于,所述校验模块用于将所述下载地址、探测数据和下载参数发送给检验服务器,以供其利用所述下载地址和下载参数从第二下载路径下载校验数据,接收所述校验服务器基于所述探测数据和所述校验数据进行对比分析得到的下载劫持风险判断结果。
3.如权利要求1所述的防止下载劫持的装置,其特征在于,所述校验模块用于根据所述下载地址和下载参数从第二下载路径下载校验数据,并对所述校验数据和所述探测数据进行对比分析得到下载劫持风险判断结果。
4.如权利要求1-3任一项所述的防止下载劫持的装置,其特征在于,还包括文件格式检测模块,用于在所述监听模块获取所述探测数据之前,获取所述下载数据的文件格式,并判断所述文件格式是否属于预设的校验文件格式,若属于,则所述监听模块进行所述探测数据的下载,若不属于,则所述监听模块停止所述探测数据的下载。
5.一种移动终端,包括如权利要求1-4任一项所述的防止下载劫持的装置。
6.一种防止下载劫持的方法,其特征在于,包括:
监听终端的数据下载请求,获取下载地址、从第一下载路径获取的探测数据以及其下载参数;所述探测数据为至少一部分下载数据,所述下载参数用于定位所述探测数据在下载数据中的位置;
获取基于所述探测数据以及利用所述下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果;所述第二下载路径在网络路径上与所述第一下载路径不同;
当所述判断结果为存在下载劫持风险时,干预下载流程。
7.如权利要求6所述的防止下载劫持的方法,其特征在于,所述获取基于所述探测数据以及利用所述下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果包括:
将所述下载地址、探测数据和下载参数发送给检验服务器,以供其利用所述下载地址和下载参数从第二下载路径下载校验数据,接收所述校验服务器基于所述探测数据和所述校验数据进行对比分析得到的下载劫持风险判断结果。
8.如权利要求6所述的防止下载劫持的方法,其特征在于,所述获取基于所述探测数据以及利用所述下载地址和下载参数从第二下载路径下载的校验数据进行对比分析得到的下载劫持风险判断结果包括:
根据所述下载地址和下载参数从第二下载路径下载校验数据,并对所述校验数据和所述探测数据进行对比分析得到下载劫持风险判断结果。
9.如权利要求6-8任一项所述的防止下载劫持的方法,其特征在于,所述下载参数包括所述探测数据的大小以及其在所述下载数据中的起始下载位置。
10.如权利要求6-8任一项所述的防止下载劫持的方法,其特征在于,在获取所述探测数据之前,还包括获取所述下载数据的文件格式,并判断所述文件格式是否属于预设的校验文件格式,若属于,则进行所述探测数据的下载,若不属于,则停止所述探测数据的下载。
CN201610375741.7A 2016-05-30 2016-05-30 一种防止下载劫持的装置、移动终端和方法 Pending CN106060046A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610375741.7A CN106060046A (zh) 2016-05-30 2016-05-30 一种防止下载劫持的装置、移动终端和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610375741.7A CN106060046A (zh) 2016-05-30 2016-05-30 一种防止下载劫持的装置、移动终端和方法

Publications (1)

Publication Number Publication Date
CN106060046A true CN106060046A (zh) 2016-10-26

Family

ID=57172448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610375741.7A Pending CN106060046A (zh) 2016-05-30 2016-05-30 一种防止下载劫持的装置、移动终端和方法

Country Status (1)

Country Link
CN (1) CN106060046A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360187A (zh) * 2017-08-21 2017-11-17 网宿科技股份有限公司 一种网络劫持的处理方法、装置及系统
CN107770213A (zh) * 2016-08-18 2018-03-06 中兴通讯股份有限公司 数据处理方法、装置、服务器及终端
CN108667855A (zh) * 2018-07-19 2018-10-16 百度在线网络技术(北京)有限公司 网络流量异常监测方法、装置、电子设备及存储介质
CN109933710A (zh) * 2019-02-27 2019-06-25 生活空间(沈阳)数据技术服务有限公司 一种数据查询方法、装置及存储介质、程序产品
CN110149298A (zh) * 2018-02-12 2019-08-20 北京京东尚科信息技术有限公司 一种劫持检测的方法和装置
CN111510429A (zh) * 2020-03-11 2020-08-07 南京大学 一种安卓系统应用推广中流量劫持的分析检测方法及系统
CN111614617A (zh) * 2020-04-17 2020-09-01 国网浙江省电力有限公司电力科学研究院 一种基于dns缓存探测的物联网终端安全管控方法及装置
CN111770004A (zh) * 2020-06-26 2020-10-13 武汉众邦银行股份有限公司 一种基于Fiddler的HTTP(S)流量内容自动化校验方法及存储介质
CN113535189A (zh) * 2020-04-17 2021-10-22 深圳市帕尔卡科技有限公司 一种防止网络劫持的应用安装方法
CN115085993A (zh) * 2022-06-08 2022-09-20 国汽智控(北京)科技有限公司 数据校验方法、装置及域控制器
CN115766099A (zh) * 2022-10-24 2023-03-07 国家能源蓬莱发电有限公司 一种网络安全处理方法与装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651709A (zh) * 2009-09-01 2010-02-17 中国科学院声学研究所 一种p2p下载文件完整性校验方法
CN103561120A (zh) * 2013-10-08 2014-02-05 北京奇虎科技有限公司 检测可疑dns的方法、装置和可疑dns的处理方法、系统
CN104079673A (zh) * 2014-07-30 2014-10-01 北京奇虎科技有限公司 一种应用下载中防止dns劫持的方法、装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651709A (zh) * 2009-09-01 2010-02-17 中国科学院声学研究所 一种p2p下载文件完整性校验方法
CN103561120A (zh) * 2013-10-08 2014-02-05 北京奇虎科技有限公司 检测可疑dns的方法、装置和可疑dns的处理方法、系统
CN104079673A (zh) * 2014-07-30 2014-10-01 北京奇虎科技有限公司 一种应用下载中防止dns劫持的方法、装置和系统

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770213A (zh) * 2016-08-18 2018-03-06 中兴通讯股份有限公司 数据处理方法、装置、服务器及终端
CN107360187B (zh) * 2017-08-21 2020-09-25 网宿科技股份有限公司 一种网络劫持的处理方法、装置及系统
CN107360187A (zh) * 2017-08-21 2017-11-17 网宿科技股份有限公司 一种网络劫持的处理方法、装置及系统
CN110149298B (zh) * 2018-02-12 2023-08-08 北京京东尚科信息技术有限公司 一种劫持检测的方法和装置
CN110149298A (zh) * 2018-02-12 2019-08-20 北京京东尚科信息技术有限公司 一种劫持检测的方法和装置
CN108667855A (zh) * 2018-07-19 2018-10-16 百度在线网络技术(北京)有限公司 网络流量异常监测方法、装置、电子设备及存储介质
CN109933710A (zh) * 2019-02-27 2019-06-25 生活空间(沈阳)数据技术服务有限公司 一种数据查询方法、装置及存储介质、程序产品
CN111510429A (zh) * 2020-03-11 2020-08-07 南京大学 一种安卓系统应用推广中流量劫持的分析检测方法及系统
CN111510429B (zh) * 2020-03-11 2021-07-09 南京大学 一种安卓系统应用推广中流量劫持的分析检测方法及系统
CN111614617A (zh) * 2020-04-17 2020-09-01 国网浙江省电力有限公司电力科学研究院 一种基于dns缓存探测的物联网终端安全管控方法及装置
CN113535189A (zh) * 2020-04-17 2021-10-22 深圳市帕尔卡科技有限公司 一种防止网络劫持的应用安装方法
CN111614617B (zh) * 2020-04-17 2022-05-13 国网浙江省电力有限公司电力科学研究院 一种基于dns缓存探测的物联网终端安全管控方法及装置
CN111770004A (zh) * 2020-06-26 2020-10-13 武汉众邦银行股份有限公司 一种基于Fiddler的HTTP(S)流量内容自动化校验方法及存储介质
CN115085993A (zh) * 2022-06-08 2022-09-20 国汽智控(北京)科技有限公司 数据校验方法、装置及域控制器
CN115766099A (zh) * 2022-10-24 2023-03-07 国家能源蓬莱发电有限公司 一种网络安全处理方法与装置
CN115766099B (zh) * 2022-10-24 2023-08-08 国家能源蓬莱发电有限公司 一种网络安全处理方法与装置

Similar Documents

Publication Publication Date Title
CN106060046A (zh) 一种防止下载劫持的装置、移动终端和方法
US9697353B2 (en) Method and device for intercepting call for service by application
KR101295709B1 (ko) 백그라운드 프로세스에 대한 보안 정보 제공 장치 및 방법
CN108334436B (zh) 应用软件的优化方法、装置、设备及计算机可读存储介质
CN102739868B (zh) 移动终端的丢失处理方法及系统
US8577334B1 (en) Restricted testing access for electronic device
US20150222641A1 (en) Method and device for controlling permission of application
US9747449B2 (en) Method and device for preventing application in an operating system from being uninstalled
CN110869907B (zh) 一种浏览应用页面的方法及终端
US9830139B2 (en) Application experience sharing system
CN106453372B (zh) 一种终端、服务器和账户登录方法
CN104217164A (zh) 智能移动终端恶意软件的检测方法与装置
US20160088151A1 (en) Communication method, apparatus, and system
CN111478849B (zh) 业务访问方法、装置和存储介质
JP2020509622A (ja) ワイヤレスネットワークタイプ検出方法および装置および電子デバイス
CN103249027B (zh) 一种终端业务处理的方法和设备
CN104580108A (zh) 信息提示方法和系统、服务器
WO2014110991A1 (zh) 一种信息实时展示的方法和移动通讯终端
US20140109187A1 (en) Secure provisioning of commercial off-the-shelf (cots) devices
CN105991293B (zh) 一种校验方法与装置
CN106060124A (zh) 一种应用程序的下载方法及移动终端
CN113572676B (zh) 一种邮件处理方法及装置
CN106067894B (zh) 一种信息获取方法及电子设备
CN114201494A (zh) 云文档数据处理方法、装置、设备、存储介质及产品
CN112882948A (zh) 一种应用的稳定性测试方法、装置、系统及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161026