一种防止恶意攻击的方法和设备的制作方法

文档序号:7864596阅读:106来源:国知局
专利名称:一种防止恶意攻击的方法和设备的制作方法
技术领域
本发明涉及互联网技术领域,具体涉及一种防止恶意攻击的方法和设备。
背景技术
跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、偷取密码、传播恶意代码等攻击行为。恶意的攻击者将对客户端有危害的代码放到服务器上作为一个网页内容,使得其他网站用户在观看此网页时,这些代码注入到了用户的浏览器中执行,使用户受到攻击。一般而言,利用跨站脚本攻击,攻击者可窃取会话Cookie从而窃取网站用户的隐私,包括密码。Cookie指一些网站为了辨别用户身份、进行会话跟踪而储存在用户本地终端上的数据,通常是经过加密的。Cookie是由服务器端生成,发送给浏览器端,浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器。Cookie名称和值可以由服务器端定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否是合法用户以及是否需要重新登录等。Cookie是用户对于特定网站的身份验证标志,Cookie包含了一些敏感信息,例如用户名,计算机名,使用的浏览器和曾经访问的网站等。用户不希望这些内容泄漏出去,尤其是当其中还包含有私人信息的时候。然而XSS可以盗取到用户的Cookie,从而利用该Cookie盗取用户对该网站的操作权限。如果一个网站管理员用户的Cookie被窃取,将会对网站引发巨大的危害。另外,当能够窃取到用户Cookie从而获取到用户身份时,攻击者可以获取到用户对网站的操作权限,从而查看用户隐私信息。可见,需要提供一种防止利用Cookie进行恶意攻击的方案。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种防止恶意攻击的方法和设备。依据本发明的一个方面,提供了一种防止恶意攻击的方法,包括当用户登录网站时,浏览器获取服务器端生成的Cookie,检查该Cookie中是否选定了防止恶意攻击的属性;如果该Cookie中没有选定防止恶意攻击的属性,则浏览器在该Cookie中添加防止恶意攻击的属性,然后保存该Cookie。可选地,该方法进一步包括如果该Cookie中选定了防止恶意攻击的属性,则浏览器直接保存该Cookie。可选地,该方法进一步包括维护一张统一资源定位符URL列表;该URL列表中保存了可以无故障地添加防止恶意攻击的属性的网站的URL ;
浏览器获取服务器端生成的Cookie时进一步获取对应网站的URL,并使用所获取的URL查询所述URL列表,判断所述URL列表中是否存在所获取的URL,如果存在则浏览器执行所述检查该Cookie中是否选定了防止恶意攻击的属性的步骤以及后续步骤。可选地,该方法进一步包括如果所述URL列表中不存在所获取的URL,则浏览器不执行所述检查该Cookie中是否选定了防止恶意攻击的属性的步骤以及后续步骤,直接保存该Cookie。可选地,所述防止恶意攻击的属性包括“访问限制”属性和/或“安全”属性。依据本发明的另一方面,提供了一种防止恶意攻击的设备,该设备包括获取单元、检查单元、添加单元、保存单元,其中所述获取单元,适于在用户登录网站时,获取服务器端生成的Cookie,并发送给检查单元; 所述检查单元,适于检查Cookie中是否选定了防止恶意攻击的属性,如果该Cookie中没有选定防止恶意攻击的属性,将该Cookie发送给添加单元;所述添加单元,适于在Cookie中添加防止恶意攻击的属性,然后发送给保存单元;所述保存单元,适于保存所接收的Cookie。可选地,所述检查单元,进一步适于在Cookie中选定了防止恶意攻击的属性时,将该Cookie直接发送保存单元。可选地,该设备进一步包括列表存储单元和查询列表单元;所述列表存储单元,适于保存统一资源定位符URL列表d_URL列表中保存了可以无故障地添加防止恶意攻击的属性的网站的URL ;所述获取单元,适于在用户登录网站时,获取服务器端生成的Cookie的同时,进一步获取对应网站的URL,将该URL与Cookie —并发送给查询列表单元;所述查询列表单元,适于使用所接收的URL查询列表存储单元中的URL列表,判断所述URL列表中是否存在所接收的URL,如果存在则将所接收的Cookie发送给检查单元。可选地,所述查询列表单元,进一步适于在所述URL列表中不存在所接收的URL时,将所接收的Cookie直接发送保存单元。可选地,所述添加单元,适于在Cookie中添加“访问限制”属性和/或“安全”属性,然后发送给保存单元。根据本发明的这种当用户登录网站时,浏览器获取服务器端生成的Cookie,检查该Cookie中是否选定了防止恶意攻击的属性,如果该Cookie中没有选定防止恶意攻击的属性,则浏览器在该Cookie中添加防止恶意攻击的属性,然后保存该Cookie的技术方案,可以在浏览器侧防止恶意利用Cookie进行攻击,由此解决了当用户访问的网址的服务器端针对XSS的安全性不强时,用户Cookie中的信息可能被盗取、篡改,进而用户安全受到威胁的问题。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式



通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I示出了根据本发明一个实施例的一种防止恶意攻击的方法的流程图;图2示出了根据本发明一个实施例的又一种防止恶意攻击的方法的流程图;图3示出了根据本发明一个实施例的一种防止恶意攻击的设备的结构图;图4示出了根据本发明一个实施例的又一种防止恶意攻击的设备的结构图;图5示出了根据本发明一个实施例的一种浏览器的结构图。
具体实施例方式Cookie是用户对于特定网站的身份验证标志。服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。在一台计算机中安装多个浏览器,每个浏览器都会在各自独立的空间存放Cookie。因为Cookie中不但可以确认用户,还能包含计算机和浏览器的信息,所以一个用户用不同的浏览器登录或者用不同的计算机登录,都会得到不同的Cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,Cookie不会区分他们的身份,除非他们使用不同的用户名登录。以下为Cookie相关的一些操作I、创建 Cookie可以通过给Response. Cookies 集合添加 Cookie 来创建新的 Cookie。Response.Cookies集合包含所有Web服务器端发送到浏览器的Cookie。Response. Cookies["message"]. Value=txtCookiue. Text;2、读取 CookieRequest. Cookies 集合可以读取 Cookie。if(Request. Cookies["message"]!=null)IblCookiue. Text=Request. Cookies["message"]. Value;3、设置 Cookie 属性HttpCookie类代表Cookie,当创建或读取一个Cookie时,可以使用该类下面的这些属性
Domain—_ “域”:设置关联Cookie的域名;
Expires--“周期”:通过给定一个过期时间来创建一个持久化Cookie ;
HasKeys--“哈希值”:用于指定一个Cookie是否是一个多值Cookie ;
HttpOnly一 “访问限制”:用于避免Cookie被Javascript访问;
Name— “名称” :Cookie的名称;
Path— “路径”:关联到Cookie的路径,默认为/;
Value—“值”:读写Cookie的值;
Security一 “安全”:用于指定Cookie需要通过安全Socket层连接传递;
Values—_ “特定值”:使用多值Cookie时,用于读写特定的值。
4、删除 Cookie
设定Cookie的Expires的值为过去时间即可。
XSS可以盗取到用户的Cookie,从而利用该Cookie盗取用户对该网站的操作权限。对此,如果用户访问的网址的服务器将Cookie的属性设置为HttpOnly和Security,那么客户端就无法读取进而盗用Cookie,只有服务器可以对其进行读取,由此就可以保护用户信息的安全。
然而注意到,许多网站在创建时期并不重视这方面的安全,而没有设置这样的 Cookie安全属性。当服务器没有将其Cookie属性设置为HttpOnly和Security时,该 Cookie中的用户信息就有被获取、篡改等危险。此时,根据本发明的技术方案,可以在浏览器端保护用户信息安全。
具体来说,每当用户登录一个网站生成Cookie,每次Cookie要向计算机进行写操作时,检查该Cookie中是否选定了 HttpOnly和Security属性。如果没有的话,就向Cookie 中加上这两个属性,从而防止了 Cookie的恶意使用,保障了用户信息安全。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图I示出了根据本发明一个实施例的一种防止恶意攻击的方法的流程图。如图I 所示,该方法包括
步骤S102,当用户登录网站时,浏览器获取服务器端生成的Cookie。
步骤S104,浏览器检查所获取的Cookie中是否选定了防止恶意攻击的属性,是则执行步骤S106,否则执行步骤S108。
步骤S106,如果该Cookie中选定了防止恶意攻击的属性,则浏览器直接保存该 Cookie。
步骤S108,如果该Cookie中没有选定防止恶意攻击的属性,则浏览器在该Cookie 中添加防止恶意攻击的属性,然后保存该Cookie。
在本发明的一个实施例中,防止恶意攻击的属性包括“访问限制”属性和/或“安全”属性。其中,设置“访问限制”属性即为在Cookie中设置HttpOnly,设置“安全”属性即为在Cookie中设置Security。在本发明的其它实施例中,防止恶意攻击的属性还可以包括除上述属性之外的其他属性。
图I所示的方法,可以在浏览器侧防止恶意利用Cookie进行攻击,由此解决了当用户访问的网址的服务器端针对XSS的安全性不强时,用户Cookie中的信息可能被盗取、 篡改,进而用户安全受到威胁的问题。
然而,注意到由于很多网站在构建过程中各个部分功能之间的设置不统一,如果将所有没设置防止恶意攻击的属性(如HttpOnly和Security)的Cookie都为其设置防止恶意攻击的属性(如HttpOnly和Security),则有可能导致网站功能不全,运行出现故障。对此,在本发明中提出在后台维护一张表,列出可以无故障地添加上述两个属性的URL列表, 由此本发明方案的实现过程如图2所示。
图2示出了根据本发明一个实施例的又一种防止恶意攻击的方法的流程图。如图 2所示,该方法包括
步骤S202,用户登录网站时,浏览器获取服务器端生成的Cookie和对应网站的 URL。
步骤S204,使用所获取的URL查询URL列表。
这里,URL列表为后台维护的一张列表。URL列表中保存了可以无故障地添加防止恶意攻击的属性的网站的URL ;
步骤S206,判断URL列表中是否存在所获取的URL,是则执行步骤S208,否则直接执行步骤S212。
步骤S208,浏览器检查所获取的Cookie中是否选定了防止恶意攻击的属性,是则直接执行步骤S212,否则执行 步骤S210。
步骤S210,浏览器在该Cookie中添加防止恶意攻击的属性。
步骤S212,浏览器保存该Cookie。
图2所示的方法,可以在浏览器侧防止恶意利用Cookie进行攻击,由此解决了当用户访问的网址的服务器端针对XSS的安全性不强时,用户Cookie中的信息可能被盗取、 篡改,进而用户安全受到威胁的问题。并且由于设置了 URL列表,因此在浏览器侧为Cookie 添加防止恶意攻击的属性的方案,不会导致网站功能不全,运行出现故障等问题。
图3示出了根据本发明一个实施例的一种防止恶意攻击的设备的结构图。如图3 所示该防止恶意攻击的设备300包括获取单元311、检查单元312、添加单元313和保存单元314,其中
获取单元311,适于在用户登录网站时,获取服务器端生成的Cookie,并发送给检查单元312 ;
检查单元312,适于检查Cookie中是否选定了防止恶意攻击的属性,如果该 Cookie中没有选定防止恶意攻击的属性,将该Cookie发送给添加单元313,如果该Cookie 中选定了防止恶意攻击的属性时,将该Cookie直接发送保存单元314 ;
添加单元313,适于在所接收的Cookie中添加防止恶意攻击的属性,然后发送给保存单兀314 ;
保存单元314,适于保存所接收的Cookie。
其中,在本发明的一个实施例中,添加单元313,适于在Cookie中添加“访问限制” 属性和/或“安全”属性,然后发送给保存单元314。
图4示出了根据本发明一个实施例的又一种防止恶意攻击的设备的结构图。如图CN 102932353 A书明说6/7页4所示,该防止恶意攻击的设备400包括获取单元411、查询列表单元415、检查单元412、 添加单元413、保存单元414和列表存储单元416,其中
列表存储单元416,适于保存统一资源定位符URL列表;该URL列表中保存了可以无故障地添加防止恶意攻击的属性的网站的URL。
获取单元411,适于在用户登录网站时,获取服务器端生成的Cookie的同时,进一步获取对应网站的URL,将该URL与Cookie —并发送给查询列表单元415。
查询列表单元415,适于使用所接收的URL查询列表存储单元416中的URL列表, 判断URL列表中是否存在所接收的URL,如果存在则将所接收的Cookie发送给检查单元 412,如果不存在则将所接收的Cookie直接发送保存单元414。
检查单元412,适于检查所接收的Cookie中是否选定了防止恶意攻击的属性,如果该Cookie中没有选定防止恶意攻击的属性,将该Cookie发送给添加单元413,如果该 Cookie中选定了防止恶意攻击的属性时,将该Cookie直接发送保存单元414 ;
添加单元413,适于在所接收的Cookie中添加防止恶意攻击的属性,然后发送给保存单元414 ;
保存单元414,适于保存所接收的Cookie。
其中,在本发明的一个实施例中,添加单元413,适于在Cookie中添加“访问限制” 属性和/或“安全”属性,然后发送给保存单元414。
图5示出了根据本发明一个实施例的一种浏览器的结构图。如图5所示,该浏览器500包括一防止恶意攻击的设备501。
防止恶意攻击的设备501可以是图3所示的防止恶意攻击的设备300,也可以是图 4所示的防止恶意攻击的设备400。
综上所述,根据本发明的这种当用户登录网站时,浏览器获取服务器端生成的 Cookie,检查该Cookie中是否选定了防止恶意攻击的属性,如果该Cookie中没有选定防止恶意攻击的属性,则浏览器在该Cookie中添加防止恶意攻击的属性,然后保存该Cookie的技术方案,可以在浏览器侧防止恶意利用Cookie进行攻击,由此解决了当用户访问的网址的服务器端针对XSS的安全性不强时,用户Cookie中的信息可能被盗取、篡改,进而用户安全受到威胁的问题。
需要说明的是
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图即所要求保9护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此, 遵循具体实施方式
的权利要求书由此明确地并入该具体实施方式
,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以·以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的防止恶意攻击的设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。 这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
权利要求
1.一种防止恶意攻击的方法,其中,包括当用户登录网站时,浏览器获取服务器端生成的Cookie,检查该Cookie中是否选定了防止恶意攻击的属性;如果该Cookie中没有选定防止恶意攻击的属性,则浏览器在该Cookie中添加防止恶意攻击的属性,然后保存该Cookie。
2.如权利要求I所述方法,其中,该方法进一步包括如果该Cookie中选定了防止恶意攻击的属性,则浏览器直接保存该Cookie。
3.如权利要求I所述的方法,其中,该方法进一步包括维护一张统一资源定位符URL列表;该URL列表中保存了可以无故障地添加防止恶意攻击的属性的网站的URL ;浏览器获取服务器端生成的Cookie时进一步获取对应网站的URL,并使用所获取的URL查询所述URL列表,判断所述URL列表中是否存在所获取的URL,如果存在则浏览器执行所述检查该Cookie中是否选定了防止恶意攻击的属性的步骤以及后续步骤。
4.如权利要求3所述的方法,其中,该方法进一步包括如果所述URL列表中不存在所获取的URL,则浏览器不执行所述检查该Cookie中是否选定了防止恶意攻击的属性的步骤以及后续步骤,直接保存该Cookie。
5.如权利要求I至4中任一项所述的方法,其中,所述防止恶意攻击的属性包括“访问限制”属性和/或“安全”属性。
6.一种防止恶意攻击的设备,其中,该设备包括获取单元、检查单元、添加单元和保存单元,其中所述获取单元,适于在用户登录网站时,获取服务器端生成的Cookie,并发送给检查单元;所述检查单元,适于检查Cookie中是否选定了防止恶意攻击的属性,如果该Cookie中没有选定防止恶意攻击的属性,将该Cookie发送给添加单元;所述添加单元,适于在Cookie中添加防止恶意攻击的属性,然后发送给保存单元;所述保存单元,适于保存所接收的Cookie。
7.如权利要求6所述的设备,其中,所述检查单元,进一步适于在Cookie中选定了防止恶意攻击的属性时,将该Cookie直接发送保存单元。
8.如权利要求6所述的设备,其中,该设备进一步包括列表存储单元和查询列表单元;所述列表存储单元,适于保存统一资源定位符URL列表;该URL列表中保存了可以无故障地添加防止恶意攻击的属性的网站的URL ;所述获取单元,适于在用户登录网站时,获取服务器端生成的Cookie的同时,进一步获取对应网站的URL,将该URL与Cookie —并发送给查询列表单元;所述查询列表单元,适于使用所接收的URL查询列表存储单元中的URL列表,判断所述URL列表中是否存在所接收的URL,如果存在则将所接收的Cookie发送给检查单元。
9.如权利要求8所述的设备,其中,所述查询列表单元,进一步适于在所述URL列表中不存在所接收的URL时,将所接收的Cookie直接发送保存单元。
10.如权利要求6至9中任一项所述的设备,其中,所述添加单元,适于在Cookie中添加“访问限制”属性和/或“安全”属性,然后发送给保存单元。
全文摘要
本发明公开了一种防止恶意攻击的方法和设备,涉及互联网技术领域。根据本发明的这种当用户登录网站时,浏览器获取服务器端生成的Cookie,检查该Cookie中是否选定了防止恶意攻击的属性,如果该Cookie中没有选定防止恶意攻击的属性,则浏览器在该Cookie中添加防止恶意攻击的属性,然后保存该Cookie的技术方案,可以在浏览器侧防止恶意利用Cookie进行攻击,由此解决了当用户访问的网址的服务器端针对XSS的安全性不强时,用户Cookie中的信息可能被盗取、篡改,进而用户安全受到威胁的问题。
文档编号H04L29/06GK102932353SQ20121043392
公开日2013年2月13日 申请日期2012年11月2日 优先权日2012年11月2日
发明者党壮, 任寰 申请人:北京奇虎科技有限公司, 奇智软件(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1