减少Cookie注入和Cookie重放攻击的方法与流程

文档序号:15886140发布日期:2018-11-09 18:55阅读:332来源:国知局
减少Cookie注入和Cookie重放攻击的方法与流程

本申请要求在2016年3月10日提交、申请号为15/066,843、发明名称为《减少cookie注入和cookie重放攻击的方法》的美国专利申请的优先权,其全部内容通过引用结合在本申请中。

本发明一般涉及虚拟专用网络(virtualprivatenetwork,简称vpn)客户端,更具体地,涉及用于访问安全网络的vpn客户端。

背景技术

浏览器cookie(cookie)是网站发送给计算机以供存储的小数据元素。cookie通常存储在用于访问网站的网页浏览器中。当计算机访问网站时,网页浏览器将与网站相关的所有cookie发送回到托管网站的服务器。cookie通常存储计算机和网站间有关先前交互的信息。当cookie被发送到服务器时,该信息对网站可用。因此,可以使用cookie来保存在线会话,跟踪虚拟购物车中的物品,维护用户设置等。

然而,现有的cookie同源安全策略松散,且可能在网页浏览器中植入不安全或恶意的cookie,这可能构成安全风险。cookie因此成为黑客和其他图谋不轨的个人或群体的潜在攻击向量。许多企业网络既具有面向公众的服务,又具有托管在相同域中的专用内部网,这为用户和管理员提供了更多便利,包括单点登录,但是却处于基于cookie攻击风险。第一种基于cookie的攻击是cookie注入攻击,其可以允许攻击者不需要访问专用内部网就可以发送cookie到专用内部网服务器。第二种基于cookie的攻击是cookie重放攻击,其可以允许攻击者窃取由专用内部网上的网站设置的cookie并且将其重放到托管在相同域上的面向公众的服务。尽管通过使用更严格的传输协议或通过使用更复杂的cookie可以潜在地减少部分安全风险,但是这些方法通常需要对现有系统和代码库进行更改。也并非所有网页浏览器都可以支持这些方法。因此,需要解决方案来帮助减少cookie注入和cookie重放攻击,而不需要对现有系统和代码库进行大规模的改变。



技术实现要素:

本发明涉及一种系统、方法和计算机可读介质,用于减少利用vpn客户端进行的cookie注入和cookie重放攻击。vpn客户端接收有关访问专用内部网的会话请求。响应所述请求,所述vpn客户端提取cookie删除标准,并删除满足cookie删除标准的所有cookie。一旦满足cookie删除标准的所有cookie被删除,vpn客户端就继续进行会话请求。

根据广泛的方面,提供了一种方法,包括:接收虚拟专用网络(virtualprivatenetwork,简称vpn)通信会话初始化请求;删除满足会话初始化cookie删除标准的所有cookie;处理所述会话初始化请求以发起会话。

在前述任一实施例中,所述方法还包括,响应于接收所述会话初始化请求,提取所述会话初始化cookie删除标准。

在前述任一实施例中,所述方法还包括,接收vpn通信会话终止请求;删除满足会话终止cookie删除标准的所有cookie;处理所述会话终止请求以终止会话。

在前述任一实施例中,所述方法还包括,响应于接收所述会话终止请求,提取所述会话终止cookie删除标准。

在前述任一实施例中,所述会话初始化cookie删除标准和所述会话终止cookie删除标准相同。

在前述任一实施例中,所述方法还包括,接收所述会话的超时消息;删除满足会话终止cookie删除标准的所有cookie;终止所述会话。

在前述任一实施例中,所述方法还包括,响应于接收所述超时消息,提取所述会话终止cookie删除标准。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie域,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie域中的任一个相匹配的域的cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie域和所述至少一个cookie域的至少一个cookie子域,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie域和所述至少一个cookie子域中的任一个分别相匹配的域和子域的cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie存储目录,删除满足所述cookie删除标准的所有cookie包括删除存储在与所述至少一个cookie存储目录中的任一个相匹配的目录中的所有cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie名称,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie名称中的任一个相匹配的名称的cookie。

在前述任一实施例中,所述cookie删除标准指定not运算符以及cookie域、cookie子域、cookie存储目录和cookie名称中的至少一个,删除满足所述cookie删除标准的所有cookie包括删除除具有与cookie域、cookie子域、cookie存储目录和名称中的至少一个分别相匹配的域、子域、存储目录和名称中的至少一个的cookie之外的所有cookie。

在前述任一实施例中,删除满足所述cookie删除标准的所有cookie包括删除除具有与cookie域、cookie子域、cookie存储目录和cookie名称中的至少一个的任意组合分别相匹配的域、子域、存储目录和名称的组合的cookie之外的所有cookie。

在前述任一实施例中,所述cookie删除标准指定一个空参数,删除满足所述cookie删除标准的所有cookie包括不删除cookie。

在前述任一实施例中,所述cookie删除标准包括通配符参数,处理所述会话初始化请求包括浏览器插件指示与所述浏览器插件相关联的网页浏览器建立会话。

在前述任一实施例中,所述cookie删除标准是通过网络提取的。

在前述任一实施例中,所述vpn通信会话初始化请求由浏览器插件接收,初始化所述vpn通信会话包括所述浏览器插件指示与所述浏览器插件相关联的网页浏览器建立所述vpn通信会话。

在前述任一实施例中,删除满足所述会话初始化cookie删除标准的所有cookie包括在关闭所述网页浏览器之前删除所述cookie。

在前述任一实施例中,删除满足所述会话初始化cookie删除标准的所有cookie包括所述浏览器插件指示所述网页浏览器删除所有满足所述cookie删除标准的cookie。

在前述任一实施例中,所有满足所述cookie删除标准的cookie都会被所述浏览器插件删除,而不需要网页浏览器的参与。

在前述任一实施例中,提取所述cookie删除标准包括所述浏览器插件提取所述网页浏览器的配置文件。

在前述任一实施例中,所述vpn通信会话初始化请求由独立的vpn客户端接收。

在前述任一实施例中,所述vpn通信会话初始化请求由独立的vpn客户端接收,所述独立的vpn客户端删除满足所述cookie删除标准的所有cookie,并初始化所述vpn通信会话。

在前述任一实施例中,提取所述cookie删除标准包括所述独立vpn客户端提取所述独立vpn客户端可访问的文本文件。

在前述任一实施例中,初始化所述vpn通信会话包括提供对由所述vpn通信会话初始化请求指定的内部网服务的访问。

在前述任一实施例中,初始化所述vpn通信会话包括通过至少一个wifi网络发送所述vpn通信会话初始化请求。

根据更广泛的方面,提供了一种其上存储有可由处理单元执行的程序指令的非暂时性介质。所述程序指令可由所述处理单元执行以接收虚拟专用网络(virtualprivatenetwork,简称vpn)通信会话初始化请求;响应于接收所述vpn通信会话初始化请求,提取cookie删除标准;删除所有符合所述cookie删除标准的cookie;并初始化vpn通信会话。

在前述任一实施例中,所述处理单元进一步可执行所述程序指令以在所述vpn通信会话初始化之后接收vpn通信会话终止请求,响应于接收所述vpn通信会话终止请求删除满足所述cookie删除标准的所有cookie,并终止所述vpn通信会话。

在前述任一实施例中,响应于接收所述vpn通信会话终止请求,所述处理单元进一步可执行所述程序指令以提取所述cookie删除标准。

在前述任一实施例中,所述处理单元进一步可执行所述程序指令以在所述vpn通信会话初始化之后接收超时消息,响应于接收所述超时消息,删除满足所述cookie删除标准的所有cookie,并终止所述vpn通信会话。

在前述任一实施例中,响应于接收所述超时消息,所述处理单元进一步可执行所述程序指令以提取所述cookie删除标准。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie域,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie域中的任一个相匹配的域的cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie域和所述至少一个cookie域的至少一个cookie子域,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie域和所述至少一个cookie子域中的任一个分别相匹配的域和子域的cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie存储目录,删除满足所述cookie删除标准的所有cookie包括删除存储在与所述至少一个cookie存储目录中的任一个相匹配的目录中的所有cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie名称,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie名称中的任一个相匹配的名称的cookie。

在前述任一实施例中,所述cookie删除标准指定not运算符以及cookie域、cookie子域、cookie存储目录和cookie名称中的至少一个,删除满足所述cookie删除标准的所有cookie包括删除除具有与cookie域、cookie子域、cookie存储目录和名称中的至少一个分别相匹配的域、子域、存储目录和名称中的至少一个的cookie之外的所有cookie。

在前述任一实施例中,删除满足所述cookie删除标准的所有cookie包括删除除具有与cookie域、cookie子域、cookie存储目录和cookie名称中的至少一个的任意组合分别相匹配的域、子域、存储目录和名称的组合的cookie之外的所有cookie。

在前述任一实施例中,所述cookie删除标准指定一个空参数,删除满足所述cookie删除标准的所有cookie包括不删除cookie。

在前述任一实施例中,所述cookie删除标准包括通配符参数,删除满足所述cookie删除标准的所有cookie包括删除所有cookie。

在前述任一实施例中,所述cookie删除标准是通过网络提取的。

在前述任一实施例中,所述程序指令是浏览器插件的一部分,其中,所述vpn通信会话初始化请求由所述浏览器插件接收,初始化所述vpn通信会话包括所述浏览器插件指示与所述浏览器插件相关联的网页浏览器建立vpn通信会话。

在前述任一实施例中,删除满足所述会话初始化cookie删除标准的所有cookie包括所述浏览器插件指示所述网页浏览器删除所有满足所述cookie删除标准的cookie。

在前述任一实施例中,所有满足所述cookie删除标准的cookie都由所述浏览器插件删除。

在前述任一实施例中,提取所述cookie删除标准包括所述浏览器插件提取所述网页浏览器的配置文件,所述配置文件存储在计算机可读介质中。

在前述任一实施例中,所述程序指令是独立vpn客户端的一部分。

在前述任一实施例中,提取所述cookie删除标准包括所述独立vpn客户端提取存储在计算机可读介质中所述独立vpn客户端可访问的文本文件。

在前述任一实施例中,所述vpn通信会话提供对由所述vpn通信会话初始化请求指定的内部网服务的访问。

在前述任一实施例中,初始化所述vpn通信会话包括通过至少一个wifi网络发送所述vpn通信会话初始化请求。

根据另一广泛的方面,提供了一种系统。该系统包括处理单元和存储器。该存储器在通信上耦合到所述处理单元并且包括可由所述处理单元执行的计算机可读程序指令,以接收虚拟专用网络(virtualprivatenetwork,简称vpn)通信会话初始化请求;删除满足会话初始化cookie删除标准的所有cookie;处理所述会话初始化请求以初始化会话。

在前述任一实施例中,响应于接收会话初始化请求,所述处理单元进一步可执行所述程序指令以提取所述会话初始化cookie删除标准。

在前述任一实施例,所述处理单元进一步可执行所述程序指令以接收vpn通信会话终止请求;删除满足会话终止cookie删除标准的所有cookie;并处理所述会话终止请求以终止会话。

在前述任一实施例中,所述处理单元进一步可执行所述程序指令以在所述vpn通信会话初始化之后接收vpn通信会话终止请求,响应于接收所述vpn通信会话终止请求删除满足所述cookie删除标准的所有cookie,并终止所述vpn通信会话。

在前述任一实施例中,响应于接收所述会话终止请求,所述处理单元进一步可执行所述程序指令以提取所述会话终止cookie删除标准。

在前述任一实施例中,所述会话初始化cookie删除标准和所述会话终止cookie删除标准相同。

在前述任一实施例中,所述处理单元进一步可执行所述程序指令以接收会话的超时消息;删除满足会话终止cookie删除标准的所有cookie;并终止会话。

在前述任一实施例中,所述处理单元进一步可执行所述程序指令以在所述vpn通信会话初始化之后接收超时消息,响应于接收所述超时消息,删除满足所述cookie删除标准的所有cookie,并终止所述vpn通信会话。

在前述任一实施例中,响应于接收所述超时消息,所述处理单元进一步可执行所述程序指令以提取所述会话终止cookie删除标准。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie域,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie域中的任一个相匹配的域的cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie域和所述至少一个cookie域的至少一个cookie子域,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie域和所述至少一个cookie子域中的任一个分别相匹配的域和子域的cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie存储目录,删除满足所述cookie删除标准的所有cookie包括删除存储在与所述至少一个cookie存储目录中的任一个相匹配的目录中的所有cookie。

在前述任一实施例中,所述cookie删除标准指定至少一个cookie名称,删除满足所述cookie删除标准的所有cookie包括删除所有具有与所述至少一个cookie名称中的任一个相匹配的名称的cookie。

在前述任一实施例中,所述cookie删除标准指定not运算符以及cookie域、cookie子域、cookie存储目录和cookie名称中的至少一个,删除满足所述cookie删除标准的所有cookie包括删除除具有与cookie域、cookie子域、cookie存储目录和名称中的至少一个分别相匹配的域、子域、存储目录和名称中的至少一个的cookie之外的所有cookie。

在前述任一实施例中,删除满足所述cookie删除标准的所有cookie包括删除除具有与cookie域、cookie子域、cookie存储目录和cookie名称中的至少一个的任意组合分别相匹配的域、子域、存储目录和名称的组合的cookie之外的所有cookie。

在前述任一实施例中,所述cookie删除标准指定一个空参数,删除满足所述cookie删除标准的所有cookie包括不删除cookie。

在前述任一实施例中,所述cookie删除标准包括通配符参数,删除满足所述cookie删除标准的所有cookie包括删除所有cookie。

在前述任一实施例中,所述cookie删除标准是通过网络提取的。

在前述任一实施例中,所述程序指令是浏览器插件的一部分,其中,所述vpn通信会话初始化请求由所述浏览器插件接收,处理所述会话初始化请求包括浏览器插件指示与所述浏览器插件相关联的网页浏览器建立会话。

在前述任一实施例中,删除满足所述会话初始化cookie删除标准的所有cookie包括在关闭所述网页浏览器之前删除所有cookie。

在前述任一实施例中,删除满足所述会话初始化cookie删除标准的所有cookie包括所述浏览器插件指示所述网页浏览器删除所有满足所述cookie删除标准的cookie。

在前述任一实施例中,所有满足所述cookie删除标准的cookie都由所述浏览器插件删除。

在前述任一实施例中,提取所述cookie删除标准包括所述浏览器插件提取所述网页浏览器的配置文件,所述配置文件存储在存储器中。

在前述任一实施例中,所述程序指令是独立vpn客户端的一部分。

在前述任一实施例中,提取所述cookie删除标准包括所述独立vpn客户端提取存储在存储器中所述独立vpn客户端可访问的文本文件。

在前述任一实施例中,所述vpn通信会话提供对由所述vpn通信会话初始化请求指定的内部网服务的访问。

在前述任一实施例中,初始化所述vpn通信会话包括通过至少一个wifi网络发送所述vpn通信会话初始化请求。

本文描述的系统,设备和方法的特征可以以各种组合使用,也可以以各种组合的方式用于系统和计算机可读存储介质。

附图说明

结合下面简要描述的附图,本文所描述的实施例的进一步的特征和优点在下面的详细描述中显而易见。

图1是易被基于cookie的攻击影响的示例性网络的框图。

图2是阐明在初始化vpn通信会话时用于减少基于cookie的攻击的方法的流程图。

图3是阐明在终止vpn通信会话时用于减少基于cookie的攻击的方法的流程图。

图4是在本说明书的上下文内考虑的示例性通信设备的框图。

图5是在本说明书的上下文内实现vpn客户端的应用的框图。

图6是由图5所阐明的应用实现的vpn客户端的vpn安全模块的框图。

图7a和7b是阐明cookie重放攻击的图1的示例性网络的框图。

图8a和8b是阐明cookie注入攻击的图1的示例性网络的框图。

需要注意的是,在所有附图中,相同的特征由相同的参考数字标识。

具体实施方式

许多公司和组织在单个域上托管面向公众的网络资源和内部网络资源。对内部网络资源的访问通常限于连接到专用内部网的通信设备。虚拟专用网络(virtualprivatenetwork,简称vpn)也可以用于允许来自专用内部网外部的通信设备访问内部网络资源。所述vpn可以提供到专用内部网的安全连接。然而,经由vpn从不安全或低安全性网络,例如公共wifi网络,接入到专用内部网可使攻击者能够进行基于cookie的攻击以获得对内部网络资源的非授权访问。本发明提供了一种vpn客户端,其通过在vpn通信会话的初始化和终止期间删除通信设备上与cookie删除标准相匹配的cookie来减少cookie注入和cookie重放攻击。

参照图1,示出了易被基于cookie的攻击影响的示例性网络2的框图。网络2包含公共网络10、公司网络30和专用内部网50。所述公共网络10可以是wifi网络、zigbeetm网络、网络、lan网络、wan网络或任何其它合适的网络。公共网络10提供对因特网9的访问。公共网络10可以具有任意数量的与其连接的通信设备,包括通信设备12和通信设备14。通信设备12和14可以是任何合适的联网计算设备,包括个人计算机、工作站、服务器、便携式计算机、移动设备、个人数字助理、膝上型计算机、平板电脑、智能电话、交互式电视、视频显示终端、游戏控制台、电子阅读设备、便携式电子设备和可穿戴电子设备等。通信设备12和14可以经由公共网络10和因特网9访问其它网络,包括公司网络30和专用内部网50。

公司网络30和专用内部网50各自由相应的防火墙20和40保护。公司网络30和专用内部网50可以属于同一个公司或组织,并且可以托管在同一个域上。使用单组凭证进行单点登录可对公司网络30和专用内部网50有效。公司网络30可以托管各种面向公众的服务32,诸如电子邮件服务器、网站、域名系统(domainnamesystem,简称dns)等。专用内部网50可以托管各种内部服务52,例如内部网网站和内部网络应用。对专用内部网50上的内部服务52的访问可能仅在经由内部网络或经由vpn连接到专用内部网50时可用。

连接到公共网络10以经由因特网9访问内部服务52的通信设备12可能需要建立vpn通信会话。通信设备12可以使用例如vpn客户端来建立vpn通信会话。vpn客户端可以是独立的vpn客户端,或者可以是与通信设备12上的网页浏览器相关联的插件或附件。

参照图2,vpn客户端实现方法200以减少cookie注入攻击。在步骤210中,vpn客户端接收vpn通信会话初始化请求。vpn通信会话初始化请求可以包括vpn通信会话的信息。例如,vpn通信会话初始化请求可以包括指示vpn客户端将连接的位置的域名、域地址或任何合适的网络地址。所述网络地址也可以为ip地址。所述vpn通信会话初始化请求还可以包括vpn登录凭证。所述vpn登录凭证可以允许vpn客户端建立与专用内部网的连接。所述vpn通信会话初始化请求还可以包括任何其它合适的信息,包括网络子域和请求优先级等。

在所述vpn客户端是浏览器插件的实施例中,所述vpn通信会话初始化请求可以经由与所述浏览器插件相关联的网页浏览器来接收。在所述vpn客户端是独立vpn客户端的实施例中,所述vpn通信会话初始化请求可以经由通信设备12的操作系统,或者以任何其它合适的方式来接收。

在步骤220中,所述vpn客户端可选地提取cookie删除标准。在方法200的上下文内,所述cookie删除标准用于会话初始化。可以从任何合适的位置提取所述cookie删除标准。例如,可以在本地,例如,从通信设备12上的本地存储设备,提取所述cookie删除标准。所述cookie删除标准可以本地存储在配置文件或优选文件中、文本文件中,或以任何合适的文件格式存储。在所述vpn客户端是浏览器插件的实施例中,可以将所述cookie删除标准存储在网页浏览器的配置文件或优选文件中。可替代地或附加地,可以通过网络获得所述cookie删除标准。在一些实施例中,可以通过网络周期性地获得所述cookie删除标准并存储在本地。在一些实施例中,可以自动在连接时通过网络获取所述cookie删除标准。还可以使用用于提取cookie删除标准的其它触发器。在通过网络提取到所述cookie删除标准之后,所述vpn客户端可以在本地存储所述cookie删除标准。

所述cookie删除标准可以指定cookie属性。然后,所述vpn客户端可以删除存储在通信设备12上的所有具有与在cookie删除标准中指定的cookie属性相匹配的属性的cookie。所述cookie删除标准可以例如指定至少一个cookie名称,使得具有与所述至少一个cookie名称中的任一个相匹配的名称的所有cookie都被所述vpn客户端删除。所述cookie删除标准可以可选地或附加地指定至少一个cookie域、至少一个cookie子域和/或至少一个cookie存储目录。所述cookie删除标准可以指定任何其它合适的cookie属性,使得具有与所述至少一个cookie属性中的任一个相匹配的属性的所有cookie都被所述vpn客户端删除。在一些实施例中,所述vpn客户端可以仅删除某些cookie,其具有与所述cookie删除标准中指定的cookie属性匹配的至少两个属性,或者其具有与所述cookie删除标准中指定的至少三个cookie属性相匹配的至少两个属性,或者其具有与所述cookie删除标准中指定的cookie属性相匹配其它适当数量的属性。

所述cookie删除标准还可以指定不应该被删除的cookie的cookie属性。所述cookie删除标准可以通过使用not运算符结合某些cookie属性来指示这一点。例如,所述cookie删除标准可以指定删除通信设备12上的所有cookie,除了那些具有与所述cookie删除标准中指定的至少一个cookie属性相匹配的至少一个属性的cookie。例如,如果所述cookie删除标准指定与操作域和存储目录结合的not运算符,则可以删除除具有匹配的域或匹配的存储目录之外的所有cookie。或者,所述cookie删除标准可以指定删除在通信设备12上除了所有属性与所述cookie删除标准中指定的至少一个cookie属性相匹配的cookie以外的所有cookie。例如,如果所述cookie删除标准指定与操作域和存储目录结合的not运算符,则可以删除除具有匹配的域以及匹配的存储目录之外的所有cookie。

所述cookie删除标准还可以指定应该被删除的cookie的cookie属性的范围。所述cookie删除标准可以通过使用通配运算符结合某些cookie属性来指示这一点。例如,如果所述cookie删除标准指定与存储目录结合的通配符运算符,则可以删除具有匹配的存储目录的所有cookie以及存储目录的子目录中的所有cookie。所述cookie删除标准还可以指定删除通信设备12上的所有cookie,例如,通过仅包括通配符运算符或以任何其它合适的方式。

在步骤230中,所述vpn客户端删除满足所述cookie删除标准的所有cookie,如上所述。在所述vpn客户端是浏览器插件的实施例中,所述浏览器插件可以使用api或其它软件接口来指示网页浏览器删除满足所述cookie删除标准的所有cookie。或者,所述浏览器插件可以删除满足所述cookie删除标准的所有cookie,而不需要网页浏览器的参与。例如,可以向浏览器插件提供对存储有cookie的存储设备的写入访问,以便删除cookie。在所述vpn客户端是独立vpn客户端的实施例中,所述独立vpn客户端可以联合通信设备12的操作系统通过任何合适的软件接口来删除满足所述cookie删除标准的所有cookie。

在步骤240中,所述vpn客户端初始化所述vpn通信会话。所述vpn客户端可以例如通过将所述vpn通信会话初始化请求发送到vpn网关服务器来初始化所述vpn通信会话。所述vpn网关服务器可以是例如防火墙40的一部分。初始化所述vpn通信会话可以包括握手协议、验证凭证、质询和答复认证或者任何其它合适的安全协议。然后,所述vpn网关服务器可以与所述vpn客户端和所述通信设备12建立vpn通信会话。然后,所述通信设备12可以经由所述vpn通信会话访问所述专用内部网50和内部服务52。

通过在初始化所述vpn通信会话之前删除与所述cookie删除标准相匹配的所有cookie,所述vpn客户端阻止任何恶意cookie注入来获得对专用内部网50和内部服务52的访问。

参照图3,vpn客户端实现方法300以减少cookie重放攻击。在步骤310,vpn客户端接收vpn通信会话终止请求。所述vpn通信会话终止请求可以是正式的终止请求。可以从通信设备12内接收所述正式终止请求,或者可以从包括所述vpn网关服务器的外部网络组件或专用内部网50上的任何合适的网络组件接收。或者,所述vpn通信会话终止请求可以是非正式的请求,包括由于所述vpn通信会话缺少活跃而由所述vpn网关服务器发送的超时消息。

在步骤320中,如需要,所述vpn客户端可选地提取所述cookie删除标准。在方法300的上下文内,所述cookie删除标准用于会话终止。在一些实施例中,所述cookie删除标准对于所述会话初始化和所述会话终止都是相同的。在一些实施例中,用于会话初始化的所述cookie删除标准在vpn通信会话期间保存在存储器中并用于会话终止,因此,省略步骤320。在其它实施例中,用于会话初始化的所述cookie删除标准不保存在存储器中。在步骤320中,所述vpn客户端可选地提取用于会话终止的所述cookie删除标准。

在步骤330中,所述vpn客户端删除满足所述cookie删除标准的所有cookie。步骤330的实施与上述的步骤230类似。

在步骤340中,所述vpn客户端终止所述vpn通信会话。vpn通信会话的终止可能涉及例如与vpn网关服务器的握手协议或签退交换。

通过在终止所述vpn通信会话之前删除与所述cookie删除标准匹配的所有cookie,所述vpn客户端阻止从内部服务52接收到的具有敏感信息的任何cookie被恶意攻击者重放。

所述vpn客户端可以以任何合适的方式在计算设备12上实现。参照图4,所述计算设备12包括任何合适类型的处理器120,例如,任何类型的通用微处理器或微控制器、数字信号处理(digitalsignalprocessing,简称dsp)处理器、集成电路、场可编程门阵列(fieldprogrammablegatearray,简称fpga)、可重构处理器、可编程只读存储器(programmableread-onlymemory,简称prom)或其任意组合。计算设备12还包括任何合适类型的计算机存储器110,所述计算机存储器位于内部或外部。例如,所述计算设备12可以包括随机存取存储器(random-accessmemory,简称ram)、只读存储器(read-onlymemory,简称rom)、基于光盘的只读存储器、电光存储器、磁光存储器、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom)、电可擦除可编程只读存储器(electrically-erasableprogrammableread-onlymemory,简称eeprom)和铁电式存储器(ferroelectricram,简称fram)等。所述计算设备12包括网络接口(未示出),以便与其它组件进行通信,访问和连接到网络资源,并通过连接到能够承载数据的一个或多个网络来执行其它计算应用。所述一个或多个网络可以包括公共网络10、公司网络30、专用内部网50和任何其它合适的网络。

所述计算设备12用于运行或执行任何数目的应用1301–130n。所述应用1301-130n存储在所述计算设备12的存储器110中,并由所述处理器120执行。此类应用,例如应用1301,可以是vpn客户端应用1301。

参照图5,vpn客户端应用1301包括请求管理模块510、vpn安全模块520和网络接口模块530。所述请求管理模块510用于从处理器120接收vpn通信会话初始化请求和vpn通信会话终止请求。所述请求管理模块510还用于从外部网络组件,例如,vpn网关服务器,接收vpn通信会话终止请求和超时消息。例如,来自外部网络组件的vpn通信会话终止请求和超时消息可以由所述请求管理模块510经由所述网络接口模块530接收。

在接收到vpn通信会话初始化请求、vpn通信会话终止请求和超时消息之一时,所述请求管理模块510指示所述vpn安全模块520开始cookie删除流程。所述vpn安全模块520首先提取cookie删除标准。可以从例如存储器110中提取所述cookie删除标准,或者可以例如经由所述网络接口模块530在网络上提取所述cookie删除标准。然后,所述vpn安全模块可以使得满足所述cookie删除标准的cookie被删除。

更具体地,参照图6,vpn安全模块520包括标准提取单元522和cookie删除单元524。所述标准提取单元522从所述请求管理模块510接收开始cookie删除流程的指令。然后,所述标准提取单元522获得所述cookie删除标准。所述cookie删除标准可以从例如存储器110本地获取。或者,可以通过网络例如经由网络接口模块530来提取所述cookie删除标准。如果通过网络提取到所述cookie删除标准,所述标准提取单元522然后可以使所述cookie删除标准本地存储到例如存储器110中(如果适当的话)。然后所述标准提取单元522指示所述cookie删除单元524删除满足所述cookie删除标准的所有cookie。

所述cookie删除单元524从所在标准提取单元522接收所述cookie删除标准。所述cookie删除单元524识别存储在通信设备12上的满足所述cookie删除标准的cookie。然后,所述cookie删除单元524删除或使得满足所述cookie删除标准的所有cookie被删除。如果所述vpn客户端应用1301是独立的vpn客户端,则所述cookie删除单元524可以联合通信设备12的操作系统通过任何合适的软件接口来删除满足所述cookie删除标准的所有cookie。如果所述vpn客户端应用1301是浏览器插件,则所述cookie删除单元524可以通过指示网页浏览器删除满足所述cookie删除标准的所有cookie来使得满足所述cookie删除标准的所有cookie被删除。所述cookie删除单元524可以指示网页浏览器例如经由api或其它软件接口来删除cookie。或者,如果所述vpn客户端应用1301是浏览器插件并且具有对其上存储有要删除的cookie的存储设备的写入访问权,则所述cookie删除单元524可以联合通信设备12的操作系统通过任何合适的软件接口来删除满足所述cookie删除标准的所有cookie。

继续参照图5,一旦满足所述cookie删除标准的所有cookie被删除,所述vpn安全模块520,更具体地,所述cookie删除单元524,接收cookie删除处理完成的指示。可视乎情况从操作系统或网页浏览器接收所述cookie删除处理完成的指示。所述vpn安全模块520然后向所述网络接口模块530指示可以安全地初始化或终止所述vpn通信会话。然后所述网络接口模块530视乎情况初始化或终止所述vpn通信会话。

为了初始化vpn通信会话,所述网络接口模块530将所述vpn通信会话初始化请求发送给例如vpn网关服务器。在通过公共网络,例如,wifi网络,建立vpn通信会话的情况下,可以通过wifi网络传输所述vpn通信会话初始化请求。所述网络接口模块还可以执行一个或多个握手协议、凭证验证、质询和答复认证或任何其它合适的安全协议。所述安全协议可以通过所述vpn网关服务器执行。然后,所述vpn网关服务器可以与所述vpn客户端应用1301和所述通信设备12建立vpn通信会话。

为了终止所述vpn通信会话,所述网络接口模块520可以执行一个或多个握手协议,或签退交换,或任何其它合适的安全协议。所述安全协议可以通过所述vpn网关服务器执行。

参照图7a,将描述网络2中的示例性恶意cookie重放攻击。在该示例中,通信设备12由可能首先通过连接702访问内部服务52的用户操作。一个或多个私人cookie可以由内部服务52设置并存储在所述通信设备12上。然后,所述通信设备12可以移动到专用网络50的外部,如箭头704所示。

参照图7b,所述通信设备12然后可以连接到公共网络10。所述通信设备12可以尝试经由连接710连接到面向公众的服务32。由于公司网络30和专用内部网50被托管在公共域上,所以所述通信设备12可以将与公共域相关联的所有cookie发送给面向公众的服务32。所述通信设备12发送给所述面向公众的服务32的cookie可以包括由内部服务52设置的私人cookie。所述通信设备14可以用于通过连接712拦截私人cookie。

使用vpn客户端应用1301,所述通信设备12可以在建立所述连接710之前初始化vpn通信会话。因此,所述vpn客户端应用1301可以实现方法200并删除满足所述cookie删除标准的所有cookie。所述cookie删除标准可以用于匹配由内部服务52设置的私人cookie。因此所述私人cookie可以被删除。这阻止了cookie重放攻击重放内部服务52设置的私人cookie,因为所述内部服务52设置的所有cookie在建立所述连接710之前就已被vpn客户端应用1301删除,没有连接712可拦截的cookie遗留。

参照图8a,将描述网络2中的示例性恶意cookie注入攻击。在该示例中,通信设备12由可访问公司网络30和专用内部网50的用户操作。例如,计算设备12可以是膝上型计算机,其可以在专用内部网50和公共网络10上使用。通信设备14由希望在专用内部网50上进行基于cookie的攻击的攻击者进行操作。所述公共网络10可以是任何合适的公共网络,例如公共wifi网络。

所述通信设备12可以经由连接802–804访问一个或多个面向公众的服务32。所述连接802–804可以通过公共网络10经因特网9和防火墙20路由到公司网络30,反之亦然。所述连接802–804可允许通信设备12和面向公众的服务32之间双向通信。所述通信设备14可以用于经由通信806注入一个或多个恶意cookie。所述一个或多个恶意cookie可能被伪造成看似是有效的cookie,但实际上可能包含恶意代码。

参考图8b,计算设备12可以从公共网络10断开并连接到专用网络50,如箭头810所示。例如,所述通信设备12可能已经连接到咖啡店的公共wifi网络,但又移动到了办公室,这时所述通信设备12可能连接到了专用内部网50。然后,当通信设备经由连接812和专用内部网50访问内部服务52时,一个或多个恶意cookie就可能注入到所述专用内部网50中。

使用vpn客户端应用1301,通信设备12可以在建立所述连接802–804之前初始化vpn通信会话。断开所述通信设备12与所述公共网络10的连接可以终止所述vpn通信会话。因此,所述vpn客户端应用1301可以实现方法300并删除满足所述cookie删除标准的所有cookie。所述cookie删除标准可以用于匹配由通信设备14经由所述连接802–804注入的恶意cookie。因此,所述恶意cookie可能被删除。这阻止了所述cookie注入攻击成功地将恶意cookie注入到所述专用内部网50中。

这里描述的每个计算机程序可以以高级程序,或面向对象的编程,或脚本语言或其组合来实现,以与计算机系统进行通信。或者,程序可以以汇编或机器语言来实现。该语言可以是编译或解释的语言。每个这样的计算机程序可以被存储在存储介质或者设备上,例如rom、磁盘、光盘、闪存驱动器或者任何其它合适的存储介质或者设备。当计算机读取所述存储介质或设备以执行本文描述的过程时,所述计算机程序可以被通用或专用可编程计算机读取,用于配置和操作计算机。系统的实施例也可以认为是通过其上存储有计算机程序的非暂时性计算机可读存储介质来实现。所述计算机程序可以包括计算机可读指令,其使计算机,或更具体地,计算机的至少一个处理单元以特定的和预定义的方式操作,以执行此处描述的功能。

计算机可执行指令可以以许多形式,包括程序模块,由一个或多个计算机或其它设备执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件以及数据结构等。通常,该程序模块的功能可根据各实施例需要进行组合或分配。

所述vpn客户端的各个方面可以单独使用,组合使用,或者在前面描述的实施例中未具体讨论的各种情况中使用,因此,在其应用上不限于在前面描述中阐述的或者在附图中示出的部件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其它实施例中描述的方面组合。虽然已经显示和描述了特定实施例,但是对于本领域的技术人员来说显而易见的是,可以在其更广泛的方面进行改变和修改而不偏离本发明。所附权利要求在其范围内涵盖所有这些改变和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1