链路劫持检测方法、装置、用户设备、分析服务器及系统的制作方法

文档序号:8003350阅读:167来源:国知局
链路劫持检测方法、装置、用户设备、分析服务器及系统的制作方法
【专利摘要】本发明实施例提供一种链路劫持检测方法、装置、用户设备、分析服务器及系统,其中方法包括:向超文本传输协议http服务器请求web页面信息;接收所述http服务器返回的web页面信息及所述http服务器上预置的js监控脚本;根据所述js监控脚本将所接收的web页面信息中与统一资源定位符url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。本发明实施例可以保证链路劫持分析的精准性,减小了链路劫持漏报现象,保证了链路劫持检测的效果。
【专利说明】链路劫持检测方法、装置、用户设备、分析服务器及系统

【技术领域】
[0001]本发明涉及信息安全【技术领域】,更具体地说,涉及一种链路劫持检测方法、装置、用户设备、分析服务器及系统。

【背景技术】
[0002]链路劫持是指在网络传输物理链路上向web (网页)页面插入恶意代码或URL(Uniform Resource Locator,统一资源定位符),以达到窃取用户信息的目的;由于链路劫持存在用户信息泄露的安全隐患,因此对链路劫持进行检测,从而通过链路劫持检测判断用户请求的web页面中是否存在恶意代码或URL,显得十分必要。
[0003]目前针对页面的链路劫持检测,一般采用在链路中旁挂检测设备的方式进行检测,检测设备根据抓取的返回给用户的页面信息,判断返回页面是否存在链路劫持行为,图1示出了现有实现链路劫持检测的网络拓扑图,可进行参照。结合图1,现有技术针对页面实现链路劫持检测的具体流程如下:用户设备向服务器发送GET/P0ST(http协议的请求方法,get是从服务器上获取数据,post是向服务器传送数据)请求;服务器根据请求类型向用户返回应答信息;检测设备通过镜像获得一份服务器返回信息的拷贝,从该拷贝中解析出URL,与预置的URL白名单进行比对,识别出存在链路劫持行为的页面及恶意URL。
[0004]本发明的发明人在研究和实践过程中发现,现有技术至少存在以下的技术问题:旁路挂载检测设备的检测效果受检测设备挂载位置的限制,检测设备越接近用户设备,链路劫持检测的效果越明显,然而检测设备一般靠近服务器,很难做到靠近用户设备,这就使得在检测设备与用户设备之间的传输链路上存在链路劫持的几率增大,从而影响链路劫持检测的精准性,同时也可能会出现链路劫持漏报,影响链路劫持检测的效果。


【发明内容】

[0005]有鉴于此,本发明实施例提供一种链路劫持检测方法、装置、用户设备、分析服务器及系统,以解决现有技术存在的链路劫持检测效果受旁路挂载的检测设备挂载位置的限制,从而影响链路劫持分析的精准性,同时也可能会出现链路劫持漏报、影响链路劫持检测的效果的问题。
[0006]为实现上述目的,本发明实施例提供如下技术方案:
[0007]—种链路劫持检测方法,应用于用户设备,所述方法包括:
[0008]向超文本传输协议http服务器请求web页面信息;
[0009]接收所述http服务器返回的web页面信息及所述http服务器上预置的js监控脚本;
[0010]根据所述js监控脚本将所接收的web页面信息中与统一资源定位符url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0011]其中,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
[0012]其中,所述分析服务器从所述与url相关的信息中解析出url文本信息包括:
[0013]当与url相关的信息包括所接收的web页面信息中的文本信息时,分析服务器根据url关键词从所述文本信息中提取出url文本信息;
[0014]当与url相关的信息包括从所接收的web页面信息中抓取到的js信息时,分析服务器通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。
[0015]本发明实施例还提供一种链路劫持检测方法,应用于分析服务器,所述方法包括:
[0016]在用户设备接收到超文本传输协议http服务器返回的web页面信息及所述http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与统一资源定位符url相关的信息;
[0017]从所述与url相关的信息中解析出url文本信息;
[0018]根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0019]其中,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
[0020]其中,所述从所述与url相关的信息中解析出url文本信息包括:
[0021]当与url相关的信息包括所接收的web页面信息中的文本信息时,根据url关键词从所述与url相关的信息中提取出url文本信息;
[0022]当与url相关的信息包括从所接收的web页面信息中抓取到的js信息时,通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。
[0023]其中,所述根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态包括:
[0024]判断url文本信息对应的url是否与url白名单中的url相匹配;
[0025]若是,确定所述所接收的web页面信息未存在链路劫持;
[0026]若否,确定所述所接收的web页面信息存在链路劫持。
[0027]其中,所述方法还包括:在确定所述所接收的web页面信息存在链路劫持之后,判断链路劫持所插入的url是否与恶意url库中的url相匹配;
[0028]若是,则确定所接收的web页面信息中存在的链路劫持为恶意劫持;
[0029]若否,则确定所接收的web页面信息中存在的链路劫持为非恶意劫持。
[0030]其中,所述方法还包括:在确定所述所接收的web页面信息存在链路劫持之后,结合用户网协IP和业务标识确定链路劫持的来源,以便对链路劫持的来源进行统计归总。
[0031]其中,所述方法还包括:
[0032]在确定所述所接收的web页面信息存在链路劫持之后,结合用户IP区域信息,和ISP区域信息向用户设备输出告警信息;或,
[0033]在被链路劫持的web页面的劫持量超出阈值时,向web页面对应的http服务器发出告警信息。
[0034]本发明实施例还提供一种链路劫持检测装置,应用于用户设备,所述装置包括:
[0035]请求模块,用于向超文本传输协议http服务器请求web页面信息;
[0036]第一接收模块,用于接收所述http服务器返回的web页面信息及所述http服务器上预置的js监控脚本;
[0037]发送模块,用于根据所述js监控脚本将所接收的web页面信息中与统一资源定位符url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0038]其中,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
[0039]本发明实施例还提供一种用户设备,包括上述所述的链路劫持检测装置。
[0040]本发明实施例还提供一种链路劫持检测装置,应用于分析服务器,所述装置包括:
[0041]第二接收模块,用于在用户设备接收到超文本传输协议http服务器返回的web页面信息及http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与统一资源定位符url相关的信息;
[0042]解析模块,用于从所述与url相关的信息中解析出url文本信息;
[0043]识别模块,用于根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0044]其中,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
[0045]其中,所述解析模块包括:
[0046]第一解析单元,用于当与url相关的信息包括所接收的web页面信息中的文本信息时,根据url关键词从所述与url相关的信息中提取出url文本信息;
[0047]第二解析单元,用于当与url相关的信息包括从所接收的web页面信息中抓取到的js信息时,通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。
[0048]本发明实施例还提供一种分析服务器,包括上述所述的链路劫持检测装置。
[0049]本发明实施例还提供一种链路劫持检测系统,包括:超文本传输协议http服务器,用户设备和分析服务器;
[0050]所述http服务器,用于预置js监控脚本,在所述用户设备请求web页面信息时,向所述用户设备返回所述web页面信息及所述js监控脚本;
[0051]所述用户设备,用于向所述http服务器请求web页面信息,接收http服务器返回的web页面信息及http服务器上预置的js监控脚本,根据所述js监控脚本将所接收的web页面信息中与统一资源定位符url相关的信息发送给所述分析服务器;
[0052]所述分析服务器,用于从所述与url相关的信息中解析出url文本信息,根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0053]基于上述技术方案,本发明实施例提供的链路劫持检测方法中,用户设备向http服务器请求web页面信息;接收http服务器返回的web页面信息及http服务器上预置的js监控脚本;根据所述js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。可以看出,本发明实施例不再依靠旁路挂载的检测设备进行链路劫持的检测,因此并不存在链路劫持的检测效果受旁路挂载的检测设备挂载位置的限制的问题,本发明实施例中分析服务器用于分析链路劫持状态的url文本信息,即是用户设备所接收的web页面信息中的url文本信息,可以保证链路劫持分析的精准性,减小了链路劫持漏报现象,保证了链路劫持检测的效果。

【专利附图】

【附图说明】
[0054]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0055]图1为现有实现链路劫持检测的网络拓扑图
[0056]图2为本发明实施例提供的链路劫持检测方法的流程图;
[0057]图3为本发明实施例提供的链路劫持检测方法的另一流程图;
[0058]图4为本发明实施例提供的识别所接收的web页面信息的链路劫持状态的方法流程图;
[0059]图5为本发明实施例提供的判定恶意劫持的方法流程图;
[0060]图6为本发明实施例提供的链路劫持检测方法的又一流程图;
[0061]图7为本发明实施例提供的链路劫持检测装置的结构框图;
[0062]图8为本发明实施例提供的链路劫持检测装置的另一结构框图;
[0063]图9为本发明实施例提供的解析模块的结构框图;
[0064]图10为本发明实施例提供的识别模块的结构框图;
[0065]图11为本发明实施例提供的链路劫持检测装置的又一结构框图;
[0066]图12为本发明实施例提供的链路劫持检测装置的再一结构框图;
[0067]图13为本发明实施例提供的链路劫持检测系统的结构框图;
[0068]图14为本发明实施例提供的用户设备的硬件结构图;
[0069]图15为本发明实施例提供的分析服务器的硬件结构图。

【具体实施方式】
[0070]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0071]图2为本发明实施例提供的链路劫持检测方法的流程图,该方法应用于用户设备,发生在用户侧,参照图2,该方法可以包括:
[0072]步骤S100、向http服务器请求web页面信息;
[0073]用户设备可向http (Hypertext transfer protocol,超文本传输协议)服务器发生GET/P0ST请求,以从http服务器获取到所要请求的web页面信息。
[0074]步骤S110、接收http服务器返回的web页面信息及http服务器上预置的js(Javascript,是一种由Netscape的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言)监控脚本;
[0075]在本发明实施例中,对于需要监控的站点,可在需要监控的站点对应的http服务器上预置js监控脚本,该js监控脚本可在http服务器向用户设备返回web页面信息时,被下载至用户设备处;如本发明实施例需要监控www.qq.com这个站点是否发生了链路劫持,则WWW.qq.com这个站点对应的http服务器将预置有js脚本,在用户设备向www.qq.com站点对应的http服务器请求www.qq.com的web页面信息时,http服务器将向用户设备返回www.qq.com的web页面信息,并同时将预置的js监控脚本发送至用户设备。
[0076]步骤S120、根据所述js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0077]用户设备在接收到http服务器返回的web页面信息和js监控脚本后,并无法确定所接收的web页面信息是否存在链路劫持、是否被插入了恶意代码和url,因此用户设备将根据所接收的js监控脚本,将所接收的web页面信息中与url相关的信息发送给网络侧的分析服务器,使得分析服务器在接收到与url相关的信息后,从与url相关的信息中解析出url文本信息,从而根据url文本信息识别所述所接收的web页面信息的链路劫持状态。此处所指的链路劫持状态为所接收的web页面信息存在链路劫持或未存在链路劫持。
[0078]值得注意的是,本发明实施例中js监控脚本挂载在需要监控站点对应的http服务器上,只有用户设备向该http服务器请求了 web页面信息,该js监控脚本才会随同web页面信息反馈至用户设备;用户设备在接收到了该js监控脚本后,即可知晓所请求的web页面信息对应的站点为需要监控的站点,根据js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器,以便分析服务器判断所接收的web页面信息的链路劫持状态。在本发明实施例中,j s监控脚本主要起到触发用户设备向分析服务器上报所接收的web页面信息中与url相关的信息的作用。
[0079]本发明实施例提供的链路劫持检测方法中,用户设备向http服务器请求web页面信息;接收http服务器返回的web页面信息及http服务器上预置的js监控脚本;根据所述js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。可以看出,本发明实施例不再依靠旁路挂载的检测设备进行链路劫持的检测,因此并不存在链路劫持的检测效果受旁路挂载的检测设备挂载位置的限制的问题,本发明实施例中分析服务器用于分析链路劫持状态的url文本信息,即是用户设备所接收的web页面信息中的url文本信息,可以保证链路劫持分析的精准性,减小了链路劫持漏报现象,保证了链路劫持检测的效果。
[0080]可选的,与url相关的信息可以包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
[0081]url文本信息是能够表示web页面信息中所承载的url的文件,因此可通过url文本信息识别用户设备所接收的web页面信息的链路劫持状态。由于url的表现形式主要分为:文本型的url (文本型的url主要针对静态web页面),以及通过js算法封装起来的url (通过动态js嵌套的url主要针对动态web页面),因此用户设备向分析服务器发送与url相关的信息可分为以下三种情况:第一种为,用户设备向分析服务器发送所接收的web页面信息中的文本信息;第二种为,用户设备向分析服务器发送从所接收的web页面信息中抓取到的js信息;第三种为,用户设备向分析服务器发送所接收的web页面信息中的文本信息,和从所接收的web页面信息中抓取到的js信息。
[0082]对于用户设备向分析服务器发送所接收的web页面信息中的文本信息的情况,针对所述文本信息,分析服务器可根据url关键词从所述文本信息中提取出url文本信息。url关键词主要是frame、iframe> script及form等与url相关的关键字。
[0083]对于用户设备向分析服务器发送从所接收的web页面信息中抓取到的js信息的情况,针对所述js信息,分析服务器可通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。预设的js监控脚本引擎可以是spidermonkey引擎。
[0084]下面以分析服务器的角度对本发明实施例提供的链路劫持检测方法进行说明,下文描述的链路劫持检测方法与上文以用户设备角度描述的链路劫持检测方法对应,两者可相互参照。
[0085]图3为本发明实施例提供的链路劫持检测方法的另一流程图,该方法应用于分析服务器,分析服务器是本发明实施例设置在网络侧的一个能够进行数据、逻辑处理的服务器,分析服务器与用户设备之间存在数据联通;参照图3,该方法可以包括:
[0086]步骤S200、在用户设备接收到http服务器返回的web页面信息及http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与url相关的信息;
[0087]步骤S210、从所述与url相关的信息中解析出url文本信息;
[0088]步骤S220、根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0089]本发明实施例提供的链路劫持检测方法不再依靠旁路挂载的检测设备进行链路劫持的检测,因此并不存在链路劫持的检测效果受旁路挂载的检测设备挂载位置的限制的问题,本发明实施例中分析服务器用于分析链路劫持状态的url文本信息,即是用户设备所接收的web页面信息中的url文本信息,可以保证链路劫持分析的精准性,减小了链路劫持漏报现象,保证了链路劫持检测的效果。
[0090]可选的,与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
[0091]针对url信息包括文本信息的情况,分析服务器可根据url关键词从所述文本信息中提取出url文本信息。url关键词主要是frame、iframe> script及form等与url相关的关键字。
[0092]针对url信息包括所述js信息,分析服务器可通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。预设的js监控脚本引擎可以是spidermonkey引擎。
[0093]本发明实施例能够对静态web页面和动态web页面的url文本信息进行提取,使得链路劫持检测涉及的web页面类型更广,减小了劫持漏报现象,保证了链路劫持检测的效果。
[0094]图4示出了一种可选的识别所接收的web页面信息的链路劫持状态的方法,可进行参照,该方法可以包括:
[0095]步骤S221、判断url文本信息对应的url是否与url白名单中的url相匹配,若是,执行步骤S222,若否,执行步骤S223 ;
[0096]步骤S222、确定所述所接收的web页面信息未存在链路劫持;
[0097]步骤S223、确定所述所接收的web页面信息存在链路劫持。
[0098]图4所示方法可以看作是图3所示步骤S220的一种可选实现方式。
[0099]由于链路劫持存在恶意劫持和非恶意劫持,非恶意劫持一般只是插入广告页面等低风险行为,而恶意劫持一般是插入盗取用户身份信息的代码或相关的url等。因此本发明实施例在确定了用户设备所接收的web页面信息存在链路劫持后,还可判定该链路劫持是否为恶意劫持。本发明实施例提供的判定恶意劫持的方法如图5所示,包括:
[0100]步骤300、判断链路劫持所插入的url是否与恶意url库中的url相匹配,若是,执行步骤S310,若否,执行步骤S320 ;
[0101]步骤S310、确定所接收的web页面信息中存在的链路劫持为恶意劫持;
[0102]步骤S320、确定所接收的web页面信息中存在的链路劫持为非恶意劫持。
[0103]可选的,在确定所述所接收的web页面信息存在链路劫持之后,还可确定链路劫持的来源,以便对链路劫持的来源进行统计归总。在具体实现上,可结合用户IP (nternetProtocol,网协)和业务标识确定链路劫持的来源,以便对链路劫持的来源进行统计归总。
[0104]可选的,分析服务器在确定用户设备所接收的web页面信息存在链路劫持之后,还可输出告警信息。所输出的告警信息可以是针对用户设备的,也可以是针对需要监控站点对应的http服务器。对于向用户设备输出的告警信息的方式可以是:结合用户IP区域信息,和ISP (Internet Server Provider, Internet服务提供商)区域信息向用户设备输出告警信息;即本发明实施例可对告警的信息进行IP区域维度和ISP维度的区分,从而分类输出告警信息。针对向http服务器输出的告警信息的方式可以是:在被链路劫持的web页面的劫持量超出阈值时,向web页面对应的http服务器发出告警信息;如分析服务器经过统计,发现WWW.qq.com被链路劫持的次数超过阈值时,将向www.qq.com对应的http服务器发出告警信息,以使相应的站点运营人员能够注意。
[0105]下面提供一种较为优选的链路劫持检测方法,图6为本发明实施例提供的链路劫持检测方法的又一流程图,参照图6,该方法可以包括:
[0106]步骤S400、在用户设备接收到http服务器返回的web页面信息及http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与url相关的信息;
[0107]步骤S410、判断与url相关的信息的类型;
[0108]步骤S420、若与url相关的信息包括所接收的web页面信息中的文本信息,则根据url关键词从所述文本信息中提取出url文本信息;
[0109]步骤S430、若与url相关的信息包括从所接收的web页面信息中抓取到js信息,则通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息;
[0110]值得注意的是,步骤S420和步骤S430是步骤S410之后的针对不同类型的与url相关的信息的处理方式。
[0111]步骤S440、判断url文本信息对应的url是否与url白名单中的url相匹配,若是,执行步骤S450,若否,执行步骤S460 ;
[0112]步骤S450、确定所述所接收的web页面信息未存在链路劫持,结束流程;
[0113]步骤S460、确定所述所接收的web页面信息存在链路劫持,判断链路劫持所插入的url是否与恶意url库中的url相匹配,若否,执行步骤S470,若是,执行步骤S480 ;
[0114]步骤S470、确定所接收的web页面信息中存在的链路劫持为非恶意劫持;
[0115]步骤S480、确定所接收的web页面信息中存在的链路劫持为恶意劫持;
[0116]步骤S490、结合用户IP和业务标识确定链路劫持的来源,以便对链路劫持的来源进行统计归总;
[0117]步骤S500、结合用户IP区域信息,和ISP区域信息向用户设备输出告警信息;或在被链路劫持的web页面的劫持量超出阈值时,向web页面对应的http服务器发生告警信肩、Ο
[0118]下面以用户设备的角度,对发明实施提供的链路劫持检测装置进行介绍,下文描述的链路劫持检测装置与上文以用户设备角度描述的链路劫持检测方法相对应,两者可相互参照。
[0119]图7为本发明实施例提供的链路劫持检测装置的结构框图,该链路劫持检测装置应用于用户设备,参照图7,该装置可以包括:
[0120]请求模块100,用于向http服务器请求web页面信息;
[0121 ] 第一接收模块110,用于接收http服务器返回的web页面信息及http服务器上预置的js监控脚本;
[0122]发送模块120,用于根据所述js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0123]发明实施例提供的链路劫持检测装置不再依靠旁路挂载的检测设备进行链路劫持的检测,因此并不存在链路劫持的检测效果受旁路挂载的检测设备挂载位置的限制的问题,本发明实施例中分析服务器用于分析链路劫持状态的url文本信息,即是用户设备所接收的web页面信息中的url文本信息,可以保证链路劫持分析的精准性,减小了链路劫持漏报现象,保证了链路劫持检测的效果。
[0124]可选的,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
[0125]本发明实施例还提供一种用户设备,包括上述以用户设备角度描述的链路劫持检测装置。
[0126]下面以分析服务器的角度,对本发明实施例提供的链路劫持检测装置进行介绍,下文描述的链路劫持检测装置与上文以分析服务器角度描述的链路劫持检测方法相对应,两者可相互参照。
[0127]图8为本发明实施例提供的链路劫持检测装置的另一结构框图,该链路劫持检测装置应用于分析服务器,参照图8,该装置可以包括:
[0128]第二接收模块200,用于在用户设备接收到http服务器返回的web页面信息及http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与url相关的信息;
[0129]解析模块210,用于从所述与url相关的信息中解析出url文本信息;
[0130]识别模块220,用于根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0131]本发明实施例中分析服务器用于分析链路劫持状态的url文本信息,即是用户设备所接收的web页面信息中的url文本信息,可以保证链路劫持分析的精准性,减小了链路劫持漏报现象,保证了链路劫持检测的效果。
[0132]可选的,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到js信息。对应的,解析模块210的结构可如图9所示,参照图9,解析模块210可以包括:
[0133]第一解析单元211,用于当与url相关的信息包括所接收的web页面信息中的文本信息时,根据url关键词从所述与url相关的信息中提取出url文本信息;
[0134]第二解析单元212,用于当与url相关的信息包括从所接收的web页面信息中抓取到的js信息时,通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信肩、Ο
[0135]图10示出了识别模块220的一种可选结构,参照图10,识别模块220可以包括:
[0136]匹配判断单元221,用于判断url文本信息对应的url是否与url白名单中的url相匹配;
[0137]第一劫持确定单元222,用于在匹配判断单元221的判断结果为是时,确定所述所接收的web页面信息未存在链路劫持;
[0138]第二劫持确定单元223,用于在匹配判断单元221的判断结果为否时,确定所述所接收的web页面信息存在链路劫持。
[0139]在图10所示识别模块220的基础上,本发明实施例提供的链路劫持检测装置还可以具有另一结构,图11为本发明实施例提供的链路劫持检测装置的又一结构框图,结合图8和图11所示,链路劫持检测装置还可以包括:
[0140]恶意劫持判断模块230,用于在确定所述所接收的web页面信息存在链路劫持之后,判断链路劫持所插入的url是否与恶意url库中url相匹配;
[0141]第一恶意劫持确定模块240,用于在恶意劫持判断模块230的判断结果为是时,确定所接收的web页面信息中存在的链路劫持为恶意劫持;
[0142]第二恶意劫持确定模块250,用于在恶意劫持判断模块230的判断结果为否时,确定所接收的web页面信息中存在的链路劫持为非恶意劫持。
[0143]图12为本发明实施例提供的链路劫持检测装置的再一结构框图,结合图11和图12所示,链路劫持检测装置还可以包括:
[0144]劫持来源统计模块260,用于在确定所述所接收的web页面信息存在链路劫持之后,结合用户IP和业务标识确定链路劫持的来源,以便对链路劫持的来源进行统计归总;
[0145]告警信息发送模块270,用于在确定所述所接收的web页面信息存在链路劫持之后,结合用户IP区域信息,和ISP区域信息向用户设备输出告警信息;或,在被链路劫持的web页面的劫持量超出阈值时,向web页面对应的http服务器发生告警信息。
[0146]本发明实施例还提供一种分析服务器,包括上述以分析服务器角度描述的链路劫持检测装置。
[0147]下面对本发明实施例提供的链路劫持检测系统进行描述,下文描述的链路劫持检测系统可与上文以用户设备角度描述的链路劫持检测方法、装置,及以分析服务器角度描述的链路劫持检测方法、装置相对应,可相互参照。
[0148]图13为本发明实施例提供的链路劫持检测系统的结构框图,参照图13,链路劫持检测系统可以包括:http服务器10,用户设备20和分析服务器30 ;
[0149]其中,http服务器10,用于预置js监控脚本,在用户设备20请求web页面信息时,向用户设备20返回所述web页面信息及所述js监控脚本;
[0150]用户设备20,用于向http服务器10请求web页面信息,接收http服务器10返回的web页面信息及http服务器10上预置的js监控脚本,根据所述js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器30 ;
[0151]分析服务器30,用于从所述与url相关的信息中解析出url文本信息,根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0152]本发明实施例提供的链路劫持检测系统中,http服务器预置有js监控脚本;在用户设备请求web页面信息时,用户设备将接收http服务器发送的web页面信息及所述js监控脚本,并根据js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器;分析服务器从所述与url相关的信息中解析出url文本信息,从而根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。在本发明实施例中,本发明实施例不再依靠旁路挂载的检测设备进行链路劫持的检测,因此并不存在链路劫持的检测效果受旁路挂载的检测设备挂载位置的限制的问题,本发明实施例中分析服务器用于分析链路劫持状态的url文本信息,即是用户设备所接收的web页面信息中的url文本信息,可以保证链路劫持分析的精准性,减小了链路劫持漏报现象,保证了链路劫持检测的效果。
[0153]下面对本发明实施例提供的用户设备的硬件结构进行描述,图14为本发明实施例提供的用户设备的硬件结构图,参照图14,用户设备可以包括:通信接口 1,存储器2,处理器3和通信总线4。
[0154]下面结合图14对用户设备的各个构成部件进行具体介绍。
[0155]通信接口 1可以为通信模块的接口,如网卡的接口,用于在接入服务器与外部设备进行信息收发过程中,实现信号的接收和发送。
[0156]存储器2可用于存储软件程序以及模块,处理器3通过运行存储在存储器2的软件程序以及模块,从而执行接入服务器的各种功能应用以及数据处理。存储器2可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据接入服务器的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器2可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0157]处理器3是接入服务器的控制中心,利用各种接口和线路连接整个接入服务器的各个部分,通过运行或执行存储在存储器2内的软件程序和/或模块,以及调用存储在存储器2内的数据,执行接入服务器的各种功能和处理数据,从而对接入服务器进行整体监控。可选的,处理器3可包括一个或多个处理单元;优选的,处理器3可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器3中。
[0158]通信接口 1,存储器2,处理器3通过通信总线4完成相互间的通信。
[0159]在本发明实施例中,处理器3还可以具有如下功能:
[0160]向http服务器请求web页面信息;
[0161]接收http服务器返回的web页面信息及http服务器上预置的js监控脚本;
[0162]根据所述js监控脚本将所接收的web页面信息中与url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0163]下面对本发明实施例提供的分析服务器的硬件结构进行描述,图15为本发明实施例提供的分析服务器的硬件结构图,参照图15,分析服务器可以包括:通信接口 1’,存储器2’,处理器3’和通信总线4’。
[0164]下面结合图15对用户设备的各个构成部件进行具体介绍。
[0165]通信接口 1’可以为通信模块的接口,如网卡的接口,用于在接入服务器与外部设备进行信息收发过程中,实现信号的接收和发送。
[0166]存储器2’可用于存储软件程序以及模块,处理器3’通过运行存储在存储器2’的软件程序以及模块,从而执行接入服务器的各种功能应用以及数据处理。存储器2’可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据接入服务器的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器2’可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0167]处理器3’是接入服务器的控制中心,利用各种接口和线路连接整个接入服务器的各个部分,通过运行或执行存储在存储器2’内的软件程序和/或模块,以及调用存储在存储器2’内的数据,执行接入服务器的各种功能和处理数据,从而对接入服务器进行整体监控。可选的,处理器3’可包括一个或多个处理单元;优选的,处理器3’可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器3’中。
[0168]通信接口 1’,存储器2’,处理器3’通过通信总线4’完成相互间的通信。
[0169]在本发明实施例中,处理器3’还可以具有如下功能:
[0170]在用户设备接收到http服务器返回的web页面信息及http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与url相关的信息;
[0171]从所述与url相关的信息中解析出url文本信息;
[0172]根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
[0173]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0174]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0175]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0176]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种链路劫持检测方法,其特征在于,应用于用户设备,所述方法包括: 向超文本传输协议http服务器请求web页面信息; 接收所述http服务器返回的web页面信息及所述http服务器上预置的js监控脚本;根据所述js监控脚本将所接收的web页面信息中与统一资源定位符url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
2.根据权利要求1所述的方法,其特征在于,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
3.根据权利要求2所述的方法,其特征在于,所述分析服务器从所述与url相关的信息中解析出url文本信息包括: 当与url相关的信息包括所接收的web页面信息中的文本信息时,分析服务器根据url关键词从所述文本信息中提取出url文本信息; 当与url相关的信息包括从所接收的web页面信息中抓取到的js信息时,分析服务器通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。
4.一种链路劫持检测方法,其特征在于,应用于分析服务器,所述方法包括: 在用户设备接收到超文本传输协议http服务器返回的web页面信息及所述http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与统一资源定位符url相关的信息; 从所述与url相关的信息中解析出url文本信息; 根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
5.根据权利要求4所述的方法,其特征在于,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
6.根据权利要求5所述的方法,其特征在于,所述从所述与url相关的信息中解析出url文本信息包括: 当与url相关的信息包括所接收的web页面信息中的文本信息时,根据url关键词从所述与url相关的信息中提取出url文本信息; 当与url相关的信息包括从所接收的web页面信息中抓取到的js信息时,通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。
7.根据权利要求6所述的方法,其特征在于,所述根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态包括: 判断url文本信息对应的url是否与url白名单中的url相匹配; 若是,确定所述所接收的web页面信息未存在链路劫持; 若否,确定所述所接收的web页面信息存在链路劫持。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在确定所述所接收的web页面信息存在链路劫持之后,判断链路劫持所插入的url是否与恶意url库中的url相匹配; 若是,则确定所接收的web页面信息中存在的链路劫持为恶意劫持; 若否,则确定所接收的web页面信息中存在的链路劫持为非恶意劫持。
9.根据权利要求7所述的方法,其特征在于,还包括:在确定所述所接收的web页面信息存在链路劫持之后,结合用户网协IP和业务标识确定链路劫持的来源,以便对链路劫持的来源进行统计归总。
10.根据权利要求7-9任一项所述的方法,其特征在于,所述方法还包括: 在确定所述所接收的web页面信息存在链路劫持之后,结合用户IP区域信息,和ISP区域信息向用户设备输出告警信息;或, 在被链路劫持的web页面的劫持量超出阈值时,向web页面对应的http服务器发出告m样自目 I R ο
11.一种链路劫持检测装置,其特征在于,应用于用户设备,所述装置包括: 请求模块,用于向超文本传输协议http服务器请求web页面信息; 第一接收模块,用于接收所述http服务器返回的web页面信息及所述http服务器上预置的js监控脚本; 发送模块,用于根据所述js监控脚本将所接收的web页面信息中与统一资源定位符url相关的信息发送给分析服务器,以便所述分析服务器从所述与url相关的信息中解析出url文本信息,并根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
12.根据权利要求11所述的装置,其特征在于,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
13.一种用户设备,其特征在于,包括权利要求11或12所述的链路劫持检测装置。
14.一种链路劫持检测装置,其特征在于,应用于分析服务器,所述装置包括: 第二接收模块,用于在用户设备接收到超文本传输协议http服务器返回的web页面信息及http服务器上预置的js监控脚本后,接收所述用户设备根据所述js监控脚本发送的所接收的web页面信息中的与统一资源定位符url相关的信息; 解析模块,用于从所述与url相关的信息中解析出url文本信息; 识别模块,用于根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
15.根据权利要求14所述的装置,其特征在于,所述与url相关的信息包括:所接收的web页面信息中的文本信息,和/或从所接收的web页面信息中抓取到的js信息。
16.根据权利要求15所述的装置,其特征在于,所述解析模块包括: 第一解析单元,用于当与url相关的信息包括所接收的web页面信息中的文本信息时,根据url关键词从所述与url相关的信息中提取出url文本信息; 第二解析单元,用于当与url相关的信息包括从所接收的web页面信息中抓取到的js信息时,通过预设的js监控脚本引擎从所述js信息中提取出嵌套的url文本信息。
17.一种分析服务器,其特征在于,包括权利要求14-16任一项所述的链路劫持检测装置。
18.—种链路劫持检测系统,其特征在于,包括:超文本传输协议http服务器,用户设备和分析服务器; 所述http服务器,用于预置js监控脚本,在所述用户设备请求web页面信息时,向所述用户设备返回所述web页面信息及所述js监控脚本; 所述用户设备,用于向所述http服务器请求web页面信息,接收http服务器返回的web页面信息及http服务器上预置的js监控脚本,根据所述js监控脚本将所接收的web页面信息中与统一资源定位符url相关的信息发送给所述分析服务器; 所述分析服务器,用于从所述与url相关的信息中解析出url文本信息,根据所述url文本信息识别所述所接收的web页面信息的链路劫持状态。
【文档编号】H04L29/06GK104348803SQ201310330142
【公开日】2015年2月11日 申请日期:2013年7月31日 优先权日:2013年7月31日
【发明者】闫帅帅, 罗喜军 申请人:深圳市腾讯计算机系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1