CN108076003A - 会话劫持的检测方法及装置 - Google Patents

会话劫持的检测方法及装置 Download PDF

Info

Publication number
CN108076003A
CN108076003A CN201610978784.4A CN201610978784A CN108076003A CN 108076003 A CN108076003 A CN 108076003A CN 201610978784 A CN201610978784 A CN 201610978784A CN 108076003 A CN108076003 A CN 108076003A
Authority
CN
China
Prior art keywords
session
mark
response message
message
request message
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.)
Granted
Application number
CN201610978784.4A
Other languages
English (en)
Other versions
CN108076003B (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610978784.4A priority Critical patent/CN108076003B/zh
Publication of CN108076003A publication Critical patent/CN108076003A/zh
Application granted granted Critical
Publication of CN108076003B publication Critical patent/CN108076003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Abstract

本申请公开了一种会话劫持的检测方法及装置,所述方法包括:响应于检测到客户端向服务端发送的会话请求报文,检测针对所述会话请求报文的响应报文;当检测到所述响应报文时,基于所述响应报文获取第一会话的标识,所述第一会话为针对所述会话请求报文而建立的会话;根据所述第一会话的标识,判断是否是首次检测到针对所述会话请求报文的响应报文;若判断的结果为否,则确定发生会话劫持事件。该实施方式无需依赖于嵌入网页中用于获取网页特征的JavaScript脚本,因此,避免了由能够屏蔽上述脚本的恶意程序或者插件导致的检测失效,提高了会话劫持检测的准确率以及效率。

Description

会话劫持的检测方法及装置
技术领域
本申请涉及互联网技术领域,尤其涉及会话劫持的检测方法及装置。
背景技术
随着网络技术的不断发展,互联网广泛的应用于人们的生活和工作中,使人们的生活变得更加方便。但是,随着互联网行业的竞争愈加激烈,会话劫持的现象变得越来越普遍。目前,常见的会话劫持是TCP会话劫持,例如,当客户端与目标服务端建立了TCP连接后,会话劫持方会监测从客户端发出的会话请求报文。当会话劫持方监测到预定的会话请求报文时,就会抢先向客户端返回预设的响应报文,使客户端展示带有预定内容的网页,或者跳转到预定页面。一般来说,上述会话劫持的事件通常发生在TCP(Transmission ControlProtocol,传输控制协议)层,更上层的HTTP协议无法感知到会话劫持事件的发生,因此,客户端无法监测会话劫持事件的发生。
在一种现实的业务情况下,某些网络运营商、路由节点、服务器提供商、无线网络接入提供者可能会通过对用户的会话劫持,向用户任意推送广告,以谋取利益,严重影响了用户对网络资源的访问。因此,准确高效的检测会话劫持事件显得尤为重要。
在现有技术中,一般通过如下方式进行会话劫持事件的检测,该方式基于应用层实现:首先预先建立一个非法网页特征库,并在网页中嵌入一段JavaScript脚本。当展示该网页时,通过执行上述脚本,检测当前展示的网页的DOM节点,获取网页特征信息,并与非法网页特征库里的特征进行匹配。若能够查找出匹配的特征,则说明发生了会话劫持事件。但是,有些恶意程序或者插件可以屏蔽上述脚本,因此,上述会话劫持事件的检测方法准确率以及效率均比较低。
发明内容
为了解决上述技术问题,本申请提供了一种会话劫持的检测方法及装置。
根据本申请实施例的第一方面,提供一种会话劫持的检测方法,所述方法包括:
响应于检测到客户端向服务端发送的会话请求报文,检测针对所述会话请求报文的响应报文;
当检测到所述响应报文时,基于所述响应报文获取第一会话的标识,所述第一会话为针对所述会话请求报文而建立的会话;
根据所述第一会话的标识,判断是否是首次检测到针对所述会话请求报文的响应报文;
若判断的结果为否,则确定发生会话劫持事件。
根据本申请实施例的第二方面,提供一种会话劫持的检测装置,所述装置包括:
检测单元,用于响应于检测到客户端向服务端发送的会话请求报文,检测针对所述会话请求报文的响应报文;
获取单元,用于在检测到所述响应报文时,基于所述响应报文获取第一会话的标识,所述第一会话为针对所述会话请求报文而建立的会话;
判断单元,用于根据所述第一会话的标识,判断是否是首次检测到针对所述会话请求报文的响应报文;
确定单元,用于在判断的结果为否时,确定发生会话劫持事件。
应用上述实施例,在检测到客户端向服务端发送的会话请求报文时,检测针对该会话请求报文的响应报文,当检测到该响应报文时,获取第一会话的标识,并根据第一会话的标识判断是否是首次检测到针对该会话请求报文的响应报文,若判断的结果为否,则确定发生会话劫持事件。无需依赖于嵌入网页中用于获取网页特征的JavaScript脚本,因此,避免了由能够屏蔽上述脚本的恶意程序或者插件导致的检测失效,提高了会话劫持检测的准确率以及效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请的实施例提供的会话劫持方进行会话劫持的方法流程图;
图2为本申请会话劫持的检测方法的一个实施例流程图;
图3为本申请会话劫持的检测方法的另一个实施例流程图;
图4为本申请会话劫持的检测方法的另一个实施例流程图;
图5为本申请会话劫持的检测装置所在设备的一种硬件结构图;
图6为本申请会话劫持的检测装置的一个实施例框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
为了便于本领域技术人员更好地理解本申请中的技术方案,首先,对会话劫持方进行会话劫持的方法进行简要说明,说明如下:会话劫持方会实时监测与被劫持网站服务端建立了TCP(Transmission Control Protocol,传输控制协议)连接的客户端,当该客户端发出访问上述被劫持网站的HTTP会话请求报文时,会话劫持方会在上述网站返回真实数据之前,向客户端返回一个针对上述会话请求报文的伪响应报文。客户端会错将伪响应报文当成真实的响应报文,并对伪响应报文进行解析,从而展示带有广告内容的网页,或者跳转到广告页面。而由于客户端已经接收到针对上述会话请求报文的响应报文,因此,当上述被劫持的网站向客户端返回真实的响应报文时,客户端会将该真实的响应报文识别为错误数据而丢弃。
例如,用户想要通过浏览器客户端访问某个目标网站,以便查找资料。但是,由于该目标网站的服务端被恶意劫持,只要浏览器客户端向该目标网站的服务端发送访问该目标网站的会话请求报文,会话劫持方总会抢先向浏览器客户端返回伪响应报文。使浏览器客户端展示会话劫持方预设的广告页面,并在接收到真实的响应报文后,丢弃真实的响应报文。因此,浏览器客户端始终无法正常访问该目标网站,从而影响了用户对网络资源的访问。
具体地,如图1所示,首先,由客户端向服务端发送一个SYN(一种握手信号)消息,服务端接收到该消息后,将SYN+ACK消息返回给客户端作为应答,客户端再向服务端返回ACK消息作为响应。这样在客户端和服务端之间就建立起了TCP连接,数据可以在客户端和服务端之间进行传递。在建立了TCP连接之后,客户端会向服务端发送HTTP GET请求报文,请求访问某网页。该请求报文会先到达会话劫持方节点,被会话劫持方接收到,会话劫持方向客户端返回一个带有广告的伪页面响应报文(FAKE RESP)。另一方面,上述请求报文到达服务端后,服务端向客户端返回真实页面响应报文(FAKE RESP)。但此时,客户端已经接收到了会话劫持方发送的伪页面响应报文,因此,该真实页面响应报文会被客户端当成错误数据丢弃。
针对上述问题,本申请提供一种会话劫持的检测方法,下面将结合具体的实施例对本申请进行详细描述。
参见图2,为本申请会话劫持的检测方法的一个实施例流程图,该实施例可以应用在终端中,也可以应用在管理终端的网关中,包括如下步骤:
在步骤201中,响应于检测到客户端向服务端发送的会话请求报文,检测针对该会话请求报文的响应报文。
在本实施例中,客户端为安装于上述终端上的客户端,可以是各种浏览器客户端,也可以是其它可以发送HTTP会话请求报文的客户端,本申请对客户端的具体种类方面不限定。当上述终端或管理该终端的网关检测到客户端向服务端发送了会话请求报文后,可以实时检测针对该会话请求报文的响应报文。
在步骤202中,当检测到该响应报文时,基于该响应报文获取第一会话的标识。
在本实施例中,第一会话为针对上述会话请求报文而建立的会话。一般来说,从客户端与服务端建立了TCP连接开始,会话建立,至该客户端与服务端断开TCP连接,会话结束。针对每次会话,可以预先设置一个唯一性标识,作为该次会话的标识。在本实施例中,第一会话的标识可以基于会话请求报文而生成,例如,可以基于会话请求报文的包头字段数据生成第一会话的标识。由于响应报文的包头字段数据与会话请求报文的包头字段数据相对应,因此,基于响应报文也可以获取到第一会话的标识。
在步骤203中,根据第一会话的标识,判断是否是首次检测到针对该会话请求报文的响应报文。
在步骤204中,若判断的结果为否,则确定发生会话劫持事件。
一般来说,当客户端接收到一次响应报文后,若再次接收到针对相同会话请求报文的响应报文,就会将再次接收到的响应报文丢弃,因此,利用这个特征,会话劫持方会先于服务端向客户端发送针对会话请求报文的响应报文。所以,如果多次检测到针对上述会话请求报文的响应报文,则说明发生会话劫持事件。
在本实施例中,可以根据第一会话的标识判断是否是第一次检测到针对上述会话请求报文的响应报文。若是第一次检测到针对上述会话请求报文的响应报文,则暂不能确定是否发生会话劫持事件。因为,这既有可能是会话劫持方返回的伪响应报文,也有可能是服务端返回的真实响应报文。但若不是第一次检测到针对上述会话请求报文的响应报文,则说明至少存在有针对同一个请求报文的两次以上响应报文。由于按照响应机制,针对同一个请求报文理应返回一次响应报文,那么显然,收到两次以上响应报文,就可以推断出必然在这些响应报文中混杂有并非由服务端返回的真实响应报文。因此,能够确定发生了会话劫持事件。在前文所述的情况下,实现该会话劫持的会话劫持方可能是非法运营商。
应用上述实施例,在检测到客户端向服务端发送的会话请求报文时,检测针对该会话请求报文的响应报文,当检测到该响应报文时,获取第一会话的标识,并根据第一会话的标识判断是否是首次检测到针对该会话请求报文的响应报文,若判断的结果为否,则确定发生会话劫持事件。无需依赖于嵌入网页中用于获取网页特征的JavaScript脚本,因此,避免了由能够屏蔽上述脚本的恶意程序或者插件导致的检测失效,提高了会话劫持检测的准确率以及效率。
参见图3,为本申请会话劫持的检测方法的另一个实施例流程图,该实施例结合具体的例子对判断是否是首次检测到针对该会话请求报文的响应报文的过程进行详细描述,该实施例可以应用在终端中,也可以应用在管理终端的网关中,包括如下步骤:
在步骤301中,响应于检测到客户端向服务端发送的会话请求报文,检测针对该会话请求报文的响应报文。
在步骤302中,建立第一会话的标识与状态标记的关联关系。
在本实施例中,状态标记用于指示是否接收到上述响应报文的状态,因此,状态标记可以指示两种状态,一种是未曾接收到上述响应报文的状态,另一种是已经接收到上述响应报文的状态。因此,可以预先设定两种状态标记,分别可以为第一状态标记以及第二状态标记,其中,第一状态标记指示未曾接收到上述响应报文,第二状态标记指示已经接收到上述响应报文。
在客户端接收到上述响应报文之前,处于未曾接收到上述响应报文的状态,所以,要建立第一会话的标识与状态标记的关联关系,使得与第一会话的标识关联的状态标记指示未曾接收到上述响应报文。例如,可以首先获取第一会话的标识,然后将该标识与第一状态标记进行关联地存储。
在客户端接收到上述响应报文之后,处于已经接收到上述响应报文的状态,因此,要重新建立第一会话的标识与状态标记的关联关系,使得与第一会话的标识关联的状态标记指示已经接收到上述响应报文。例如,可以根据第一会话的标识,将已存储的数据中与第一会话的标识关联的第一状态标记修改为第二状态标记,并进行存储。
在步骤303中,当检测到该响应报文时,基于该响应报文获取第一会话的标识。
在步骤304中,根据预先建立的上述关联关系,获取与第一会话的标识关联的状态标记。
在步骤305中,判断该状态标记是否指示未曾接收到上述响应报文。
在步骤306中,若否,确定发生会话劫持事件。
在本实施例中,当检测到上述响应报文时,可以首先基于该响应报文获取第一会话的标识,然后,从预存的数据中查找到上述关联关系,并根据该标识获取与第一会话的标识关联的状态标记。确定该状态标记所指示的状态,若该状态标记指示未曾接收到上述响应报文,则确定是首次检测到针对上述请求报文的响应报文,此时,暂不能确定是否发生会话劫持事件。并需要重新执行步骤302,建立第一会话的标识与状态标记的关联关系。
若该状态标记指示已经接收到上述响应报文,则确定不是首次检测到针对上述请求报文的响应报文。此时,可以确定发生了会话劫持事件。
应用上述实施例,通过预先建立的第一会话的标识与状态标记的关联关系,获取与第一会话的标识关联的状态标记,在该状态标记指示已经接收到响应报文时,确定不是首次检测到对应于请求报文的响应报文,从而确定发生了会话劫持事件。无需依赖于嵌入网页中用于获取网页特征的JavaScript脚本,因此,避免了由能够屏蔽上述脚本的恶意程序或者插件导致的检测失效,有助于提高会话劫持检测的准确率以及效率。
参见图4,为本申请会话劫持的检测方法的另一个实施例流程图,该实施例结合具体的例子对建立第一会话的标识与状态标记的关联关系的过程进行详细描述,该实施例可以应用在终端中,也可以应用在管理终端的网关中,包括如下步骤:
在步骤401中,响应于检测到客户端向服务端发送的会话请求报文,检测针对该会话请求报文的响应报文。
在步骤402中,首次建立第一会话的标识与状态标记的关联关系。
在本实施例中,在首次建立第一会话的标识与状态标记的关联关系时,首先,可以基于上述会话请求报文获取第一会话的标识。具体来说,可以获取上述会话请求报文的包头字段数据,该包头字段数据可以包括上述会话请求报文的目的IP,目的端口号,源IP,源端口号以及TCP确认号。然后按照预定的第一规则将上述会话请求报文的包头字段数据进行变换,以生成第一会话的标识。因为上述会话请求报文的包头字段数据对于会话来说,具有唯一性,所以,可以按照某种规则对上述会话请求报文的包头字段数据进行一定的排列和处理,从而生成对应于第一会话的唯一性标识。其中,第一规则为能够使上述包头字段数据生成第一会话的唯一性标识的任意规则。
例如,预定的第一规则可以是将上述会话请求报文的包头字段数据按照目的IP,目的端口号,源IP,源端口号,TCP确认号的顺序进行排列。将按照上述规则排列后的数据作为对应于第一会话的唯一性标识,即第一会话的标识。
又例如,预定的第一规则还可以是将上述会话请求报文的包头字段数据按照TCP确认号,源IP,源端口号,目的IP,目的端口号的顺序进行排列。将按照上述规则排列后的数据作为第一会话的标识。
再例如,预定的第一规则还可以是将上述会话请求报文的包头字段数据按照TCP确认号,源IP,源端口号,目的IP,目的端口号的顺序进行排列后,再采用散列算法将排列后的数据进行加密处理。将经过处理后的数据作为第一会话的标识。
可以理解,预定的第一规则还可以是其它的能够使上述包头字段数据生成第一会话的唯一性标识的规则,本申请对第一规则的具体内容方面不限定。
接着,将第一会话的标识与第一状态标记关联地进行存储,第一状态标记指示未曾接收到上述响应报文。具体来说,可以将第一会话的标识与第一状态标记关联地存储到缓存中,也可以存储到永久存储中,本申请对上述存储的具体方式方面不限定。
在步骤403中,当检测到上述响应报文时,基于该响应报文获取第一会话的标识。
在步骤404中,确定是首次检测到针对上述会话请求报文的响应报文。
在本实施例中,首先,可以基于响应报文获取第一会话的标识,再从预存的数据中查找出预先建立的第一会话的标识与状态标记的关联关系,并获取与第一会话的标识关联的状态标记。接着,确定该状态标记指示未曾接收到上述响应报文。因此,暂不能确定是否发生会话劫持事件,并需要重新建立第一会话的标识与状态标记的关联关系。
具体地,在本实施例中,可以通过如下方式获取第一会话的标识:获取上述响应报文的包头字段数据,该包头字段数据可以包括上述响应报文的目的IP,目的端口号,源IP,源端口号以及TCP序列号。获取与第一规则对应的第二规则,然后按照第二规则将上述响应报文的包头字段数据进行变换,以生成第一会话的标识。
一般来说,会话请求报文的包头字段数据与对应的响应报文的包头字段数据具有一定的对应关系,例如,会话请求报文的目的IP与对应的响应报文的源IP相同,会话请求报文的目的端口号与对应的响应报文的源端口号相同,会话请求报文的源IP与对应的响应报文的目的IP相同,会话请求报文的源端口号与对应的响应报文的目的端口号相同,会话请求报文的TCP确认号与对应的响应报文的TCP序列号相同。
因为上述会话请求报文的包头字段数据对于会话来说,具有唯一性,所以,上述响应报文的包头字段数据对于会话来说,也具有唯一性,并且,按照某种规则对上述响应报文的包头字段数据进行一定的排列和处理,也可以生成对应于第一会话的唯一性标识。并且,上述生成的第一会话的唯一性标识与基于会话请求报文生成的唯一性标识应该是相同的。所以,可以根据第一规则获取对应的第二规则,第二规则能够使上述响应报文的包头字段数据生成第一会话的唯一性标识。
例如,第一规则可以是将上述请求报文的包头字段数据按照目的IP,目的端口号,源IP,源端口号,TCP确认号的顺序进行排列。那么与第一规则对应的第二规则可以是将上述响应报文的包头字段数据按照源IP,源端口号,目的IP,目的端口号,TCP序列号的顺序进行排列。按照上述第二规则排列后的数据即为第一会话的标识。
又例如,第一规则还可以是将上述会话请求报文的包头字段数据按照TCP确认号,源IP,源端口号,目的IP,目的端口号的顺序进行排列。那么与第一规则对应的第二规则可以是将上述响应报文的包头字段数据按照TCP序列号,目的IP,目的端口号,源IP,源端口号的顺序进行排列。按照上述第二规则排列后的数据即为第一会话的标识。
再例如,第一规则还可以是将上述会话请求报文的包头字段数据按照TCP确认号,源IP,源端口号,目的IP,目的端口号的顺序进行排列后,再采用散列算法将排列后的数据进行加密处理。那么与第一规则对应的第二规则可以是将上述响应报文的包头字段数据按照TCP序列号,目的IP,目的端口号,源IP,源端口号的顺序进行排列后,再采用散列算法将排列后的数据进行加密处理。经过按照上述第二规则处理后的数据即为第一会话的标识。可以理解,本申请对第二规则的具体内容方面不限定。
在步骤405中,重新建立第一会话的标识与状态标记的关联关系。
在本实施例中,可以将已存储的数据中与第一会话的标识关联的第一状态标记修改为第二状态标记,并进行存储。第二状态标记指示已经接收到上述响应报文。
在步骤406中,当检测到上述响应报文时,确定不是首次检测到针对上述会话请求报文的响应报文。
在步骤407中,确定发生会话劫持事件。
在本实施例中,可以基于预先建立的第一会话的标识与状态标记的关联关系,获取与第一会话的标识关联的状态标记。接着,确定该状态标记指示已经接收到上述响应报文。因此,可以确定发生会话劫持事件。
应用上述实施例,通过基于会话请求报文获取第一会话的标识,并将第一会话的标识与第一状态标记关联地进行存储,从而首次建立第一会话的标识与状态标记的关联关系。通过修改与第一会话的标识关联的状态标记,从而重新建立第一会话的标识与状态标记的关联关系。并且,基于预先建立的上述关联关系,获取与第一会话的标识关联的状态标记,在该状态标记指示已经接收到响应报文时,确定不是首次检测到针对上述会话请求报文的响应报文,从而确定发生会话劫持事件。无需依赖于嵌入网页中用于获取网页特征的JavaScript脚本,因此,避免了由能够屏蔽上述脚本的恶意程序或者插件导致的检测失效,有助于提高会话劫持检测的准确率以及效率。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
下面结合一个完整的会话劫持的检测方法应用实例,对本申请方案进行示意性说明。
应用场景可以为:非法运营商A对网站B进行了会话劫持,当用户通过浏览器客户端C访问网站B时,检测该针对网站B的会话劫持事件。
具体来说,首先,浏览器客户端C与网站B建立TCP连接,开始第一会话。浏览器客户端C向网站B的服务端发送会话请求报文,以请求访问网站B。可以根据该会话请求报文的包头字段数据获取第一会话的标识。然后,将第一会话的标识与用于指示未曾接收到上述响应报文的状态标记关联地进行存储。
该会话请求报文会先到达非法运营商A的节点,非法运营商A接收到该会话请求报文后,会先于网站B的服务端向浏览器客户端C返回一个带有预设广告的伪响应报文。当首先检测到非法运营商A返回的伪响应报文时,可以根据该伪响应报文的包头字段数据获取第一会话的标识。并从预存的数据中获取第一会话的标识关联的状态标记,因为,该状态标记指示未曾接收到上述伪响应报文,所以,可以将该预存的数据中与第一会话的标识关联的状态标记修改为用于指示已经接收到响应报文的状态标记。
该会话请求报文会后到达网站B的服务端,网站B的服务端接收到该会话请求报文后,向浏览器客户端C返回真实的响应报文。当检测到真实的响应报文时,可以根据该真实的响应报文的包头字段数据获取第一会话的标识。并从预存的数据中获取第一会话的标识关联的状态标记,因为,该状态标记指示已经接收到响应报文,所以,可以确定发生了针对网站B的会话劫持事件。
可见,应用上述方案,从TCP协议的层面去检测会话是否异常,从而实时检测会话劫持的事件,无需依赖于嵌入网页中用于获取网页特征的JavaScript脚本,因此,避免了由能够屏蔽上述脚本的恶意程序或者插件导致的检测失效,提高了会话劫持检测的准确率以及效率。
与本申请会话劫持的检测方法的实施例相对应,本申请还提供了会话劫持的检测装置的实施例。
本申请会话劫持的检测装置的实施例可以应用在设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请会话劫持的检测装置501所在设备500的一种硬件结构图,设备500包括处理器502、内存503、网络接口504、非易失性存储器505以及内部总线506,其中,处理器502、内存503、网络接口504以及非易失性存储器505相互之间可以通过内部总线506进行通信。除了图5所示的处理器502、内存503、网络接口504、非易失性存储器505以及内部总线506之外,实施例中装置所在的设备500通常根据该设备的实际功能,还可以包括其他硬件,图5中不再一一示出。
参见图6,为本申请会话劫持的检测装置的一个实施例框图。
该装置包括:检测单元601,获取单元602,判断单元603和确定单元604。
其中,检测单元601,用于响应于检测到客户端向服务端发送的会话请求报文,检测针对该会话请求报文的响应报文。
获取单元602,用于在检测到上述响应报文时,基于该响应报文获取第一会话的标识,第一会话为针对上述会话请求报文而建立的会话。
判断单元603,用于根据第一会话的标识,判断是否是首次检测到针对上述会话请求报文的响应报文。
确定单元604,用于在判断的结果为否时,确定发生会话劫持事件。
在一个可选的实现方式中,该装置还可以包括(图6中未示出):
建立单元,用于建立第一会话的标识与状态标记的关联关系。
其中,上述状态标记用于指示未曾接收到或者已经接收到该响应报文。
判断单元603配置用于:根据预先建立的上述关联关系,获取与第一会话的标识关联的状态标记。若该状态标记指示未曾接收到所述响应报文,则判断的结果为是,若该状态标记指示已经接收到所述响应报文,则判断的结果为否。
在另一个可选的实现方式中,该装置还可以包括(图6中未示出):
控制单元,用于在判断的结果为是时,控制建立单元重新执行建立第一会话的标识与状态标记的关联关系的步骤。
在另一个可选的实现方式中,当首次建立上述关联关系时,建立单元配置用于:基于上述会话请求报文获取第一会话的标识。将第一会话的标识与第一状态标记进行关联地存储,第一状态标记指示未曾接收到上述响应报文。
当重新建立上述关联关系时,建立单元配置用于:将与上述第一会话的标识关联的第一状态标记修改为第二状态标记,第二状态标记指示已经接收到上述响应报文。
在另一个可选的实现方式中,建立单元基于会话请求报文获取第一会话的标识,包括:建立单元获取上述会话请求报文的包头字段数据,并按照预定的第一规则将该会话请求报文的包头字段数据进行变换,以生成第一会话的标识。
在另一个可选的实现方式中,上述请求报文的包头字段数据包括:目的IP,目的端口号,源IP,源端口号以及传输控制协议TCP确认号。
在另一个可选的实现方式中,获取单元602配置用于:获取上述响应报文的包头字段数据。获取与上述第一规则对应的第二规则。按照第二规则将响应报文的包头字段数据进行变换,以生成第一会话的标识。
在另一个可选的实现方式中,上述响应报文的包头字段数据包括:目的IP,目的端口号,源IP,源端口号以及TCP序列号。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
应当理解,上述装置可以预先设置在终端或者管理终端的网关中,也可以通过下载等方式而加载到终端或者管理终端的网关中。上述装置中的相应模块单元可以与终端或者管理终端的网关中的模块单元相互配合以实现会话劫持的检测方案。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (16)

1.一种会话劫持的检测方法,其特征在于,所述方法包括:
响应于检测到客户端向服务端发送的会话请求报文,检测针对所述会话请求报文的响应报文;
当检测到所述响应报文时,基于所述响应报文获取第一会话的标识,所述第一会话为针对所述会话请求报文而建立的会话;
根据所述第一会话的标识,判断是否是首次检测到针对所述会话请求报文的响应报文;
若判断的结果为否,则确定发生会话劫持事件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立第一会话的标识与状态标记的关联关系;
其中,所述状态标记用于指示未曾接收到或者已经接收到所述响应报文;
所述根据所述第一会话的标识,判断是否是首次检测到针对所述会话请求报文的响应报文,包括:
根据预先建立的所述关联关系,获取与所述第一会话的标识关联的状态标记;
若所述状态标记指示未曾接收到所述响应报文,则判断的结果为是;若所述状态标记指示已经接收到所述响应报文,则判断的结果为否。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若判断的结果为是,则重新执行所述建立第一会话的标识与状态标记的关联关系的步骤。
4.根据权利要求3所述的方法,其特征在于,
首次建立所述关联关系,包括:
基于所述会话请求报文获取第一会话的标识;
将所述第一会话的标识与第一状态标记进行关联地存储,所述第一状态标记指示未曾接收到所述响应报文;
重新建立所述关联关系,包括:
将与所述第一会话的标识关联的第一状态标记修改为第二状态标记,所述第二状态标记指示已经接收到所述响应报文。
5.根据权利要求4所述的方法,其特征在于,所述基于所述会话请求报文获取第一会话的标识,包括:
获取所述会话请求报文的包头字段数据;
按照预定的第一规则将所述会话请求报文的包头字段数据进行变换,以生成第一会话的标识。
6.根据权利要求5所述的方法,其特征在于,所述会话请求报文的包头字段数据包括:目的IP,目的端口号,源IP,源端口号以及传输控制协议TCP确认号。
7.根据权利要求5所述的方法,其特征在于,所述基于所述响应报文获取第一会话的标识,包括:
获取所述响应报文的包头字段数据;
获取与所述第一规则对应的第二规则;
按照所述第二规则将所述响应报文的包头字段数据进行变换,以生成第一会话的标识。
8.根据权利要求7所述的方法,其特征在于,所述响应报文的包头字段数据包括:目的IP,目的端口号,源IP,源端口号以及TCP序列号。
9.一种会话劫持的检测装置,其特征在于,所述装置包括:
检测单元,用于响应于检测到客户端向服务端发送的会话请求报文,检测针对所述会话请求报文的响应报文;
获取单元,用于在检测到所述响应报文时,基于所述响应报文获取第一会话的标识,所述第一会话为针对所述会话请求报文而建立的会话;
判断单元,用于根据所述第一会话的标识,判断是否是首次检测到针对所述会话请求报文的响应报文;
确定单元,用于在判断的结果为否时,确定发生会话劫持事件。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
建立单元,用于建立第一会话的标识与状态标记的关联关系;
其中,所述状态标记用于指示未曾接收到或者已经接收到所述响应报文;
所述判断单元配置用于:
根据预先建立的所述关联关系,获取与所述第一会话的标识关联的状态标记;
若所述状态标记指示未曾接收到所述响应报文,则判断的结果为是;若所述状态标记指示已经接收到所述响应报文,则判断的结果为否。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
控制单元,用于在判断的结果为是时,控制所述建立单元重新执行所述建立第一会话的标识与状态标记的关联关系的步骤。
12.根据权利要求11所述的装置,其特征在于,
当首次建立所述关联关系时,所述建立单元配置用于:
基于所述会话请求报文获取第一会话的标识;
将所述第一会话的标识与第一状态标记进行关联地存储,所述第一状态标记指示未曾接收到所述响应报文;
当重新建立所述关联关系时,所述建立单元配置用于:
将与所述第一会话的标识关联的第一状态标记修改为第二状态标记,所述第二状态标记指示已经接收到所述响应报文。
13.根据权利要求12所述的装置,其特征在于,所述建立单元基于所述会话请求报文获取第一会话的标识,包括:
所述建立单元获取所述会话请求报文的包头字段数据,并按照预定的第一规则将所述会话请求报文的包头字段数据进行变换,以生成第一会话的标识。
14.根据权利要求13所述的装置,其特征在于,所述会话请求报文的包头字段数据包括:目的IP,目的端口号,源IP,源端口号以及传输控制协议TCP确认号。
15.根据权利要求13所述的装置,其特征在于,所述获取单元配置用于:
获取所述响应报文的包头字段数据;
获取与所述第一规则对应的第二规则;
按照所述第二规则将所述响应报文的包头字段数据进行变换,以生成第一会话的标识。
16.根据权利要求15所述的装置,其特征在于,所述响应报文的包头字段数据包括:目的IP,目的端口号,源IP,源端口号以及TCP序列号。
CN201610978784.4A 2016-11-07 2016-11-07 会话劫持的检测方法及装置 Active CN108076003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610978784.4A CN108076003B (zh) 2016-11-07 2016-11-07 会话劫持的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610978784.4A CN108076003B (zh) 2016-11-07 2016-11-07 会话劫持的检测方法及装置

Publications (2)

Publication Number Publication Date
CN108076003A true CN108076003A (zh) 2018-05-25
CN108076003B CN108076003B (zh) 2020-10-30

Family

ID=62153934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610978784.4A Active CN108076003B (zh) 2016-11-07 2016-11-07 会话劫持的检测方法及装置

Country Status (1)

Country Link
CN (1) CN108076003B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769086A (zh) * 2018-08-31 2018-11-06 连尚(新昌)网络科技有限公司 一种用于通过用户设备检测中间人攻击的方法与设备
CN109451068A (zh) * 2018-12-28 2019-03-08 杭州迪普科技股份有限公司 Set-Cookie值的插入方法和装置
CN109922144A (zh) * 2019-02-28 2019-06-21 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN112152993A (zh) * 2020-08-17 2020-12-29 杭州安恒信息技术股份有限公司 网页劫持的检测方法、装置、计算机设备以及存储介质
CN112169322A (zh) * 2019-07-04 2021-01-05 广州虎牙科技有限公司 远程渲染方法、装置、电子设备及可读存储介质
CN113872953A (zh) * 2021-09-18 2021-12-31 杭州迪普信息技术有限公司 一种访问报文处理方法及装置
US11277462B2 (en) 2020-07-14 2022-03-15 International Business Machines Corporation Call management of 5G conference calls

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101764819A (zh) * 2008-12-18 2010-06-30 赛门铁克公司 用于检测浏览器中间人攻击的方法和系统
CN102111411A (zh) * 2011-01-21 2011-06-29 南京信息工程大学 P2p网络中对等用户结点间的加密安全数据交换方法
US20120185938A1 (en) * 2007-05-25 2012-07-19 International Business Machines Corporation Detecting and defending against man-in-the-middle attacks
CN104243408A (zh) * 2013-06-14 2014-12-24 中国移动通信集团公司 域名解析服务dns系统中监控报文的方法、装置及系统
CN104936170A (zh) * 2014-03-21 2015-09-23 华为技术有限公司 检测中间人攻击的方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120185938A1 (en) * 2007-05-25 2012-07-19 International Business Machines Corporation Detecting and defending against man-in-the-middle attacks
CN101764819A (zh) * 2008-12-18 2010-06-30 赛门铁克公司 用于检测浏览器中间人攻击的方法和系统
CN102111411A (zh) * 2011-01-21 2011-06-29 南京信息工程大学 P2p网络中对等用户结点间的加密安全数据交换方法
CN104243408A (zh) * 2013-06-14 2014-12-24 中国移动通信集团公司 域名解析服务dns系统中监控报文的方法、装置及系统
CN104936170A (zh) * 2014-03-21 2015-09-23 华为技术有限公司 检测中间人攻击的方法与装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769086A (zh) * 2018-08-31 2018-11-06 连尚(新昌)网络科技有限公司 一种用于通过用户设备检测中间人攻击的方法与设备
CN108769086B (zh) * 2018-08-31 2020-08-28 连尚(新昌)网络科技有限公司 一种用于通过用户设备检测中间人攻击的方法与设备
CN109451068A (zh) * 2018-12-28 2019-03-08 杭州迪普科技股份有限公司 Set-Cookie值的插入方法和装置
CN109922144A (zh) * 2019-02-28 2019-06-21 北京百度网讯科技有限公司 用于处理数据的方法和装置
US11689564B2 (en) 2019-02-28 2023-06-27 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for processing data in cleaning device
CN112169322A (zh) * 2019-07-04 2021-01-05 广州虎牙科技有限公司 远程渲染方法、装置、电子设备及可读存储介质
US11277462B2 (en) 2020-07-14 2022-03-15 International Business Machines Corporation Call management of 5G conference calls
CN112152993A (zh) * 2020-08-17 2020-12-29 杭州安恒信息技术股份有限公司 网页劫持的检测方法、装置、计算机设备以及存储介质
CN113872953A (zh) * 2021-09-18 2021-12-31 杭州迪普信息技术有限公司 一种访问报文处理方法及装置
CN113872953B (zh) * 2021-09-18 2024-03-26 杭州迪普信息技术有限公司 一种访问报文处理方法及装置

Also Published As

Publication number Publication date
CN108076003B (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN108076003A (zh) 会话劫持的检测方法及装置
CN108881211B (zh) 一种违规外联检测方法及装置
CN103067385B (zh) 防御会话劫持攻击的方法和防火墙
US10225167B2 (en) Method and system for determining page impression in a client-server system
CN104811462B (zh) 一种接入网关重定向方法及接入网关
CN103944906B (zh) 一种iOS上针对APP的HTTP流量引导的方法
CN108270882A (zh) 域名的解析方法和装置、存储介质、电子装置
CN106656849B (zh) 报文限速方法及装置
CN108259425A (zh) 攻击请求的确定方法、装置及服务器
CN107682470B (zh) 一种检测nat地址池中公网ip可用性的方法及装置
CN105430011A (zh) 一种检测分布式拒绝服务攻击的方法和装置
CN109802919B (zh) 一种web网页访问拦截方法及装置
CN104852919A (zh) 实现门户Portal认证的方法及装置
CN110557358A (zh) 蜜罐服务器通信方法、SSLStrip中间人攻击感知方法及相关装置
CN109302437B (zh) 一种重定向网站的方法和装置
CN107508822A (zh) 访问控制方法及装置
WO2015085912A1 (en) Method and system for communication number update
CN111106983B (zh) 一种检测网络连通性的方法及装置
TW201626759A (zh) 用於自共用公用ip位址之網際網路請求訊務偵測由一具有額外非指定網域名稱的網路伺服器所選擇之複數個用戶端終端機之裝置的數量之方法,及用於選擇性偵測其之系統
CN112000518A (zh) 应用程序故障风险处理方法、装置、系统及终端、设备
CN108206767A (zh) 一种网络设备故障检测方法及装置
EP3313022B1 (en) Resending method and device for hypertext transfer request, and client
CN105721632A (zh) 一种基于dns机制的无线接入方法及无线接入设备
US9621448B2 (en) Network analysis and monitoring tool
CN111225038B (zh) 服务器访问方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant