挖掘Cookies背后安全隐患

    [晴 November 17, 2008 10:12 | by !4p47hy ]
来源:eNet

Google产品在最近暴露一个安全漏洞,这个漏洞可窃取Google的cookie,它存在于一款基于网页的对照购物产品——Froogle。公司宣称已经把该漏洞标记为潜在安全漏洞,并对其进行修复。现时和未来的Froogle用户都会受到保护。某爱尔兰安全专家表示,恶意用户可以利用该漏洞在Froogle的URL中植入一个JavaScript。一旦这个链接被用户点击了,JavaScript就可启动浏览器重定向到一个恶意页面上,进而偷取Google的cookie信息,而这些cookie文件往往包含有“Google Accounts”登录服务的用户名和密码。另外,该漏洞还可以窃取Gmail邮件帐号。

  Cookies是服务器存放在客户端上的一个文本文件,主要用来存放用户资料、帐户以及密码等相关信息。当我们访问一个需要用户名与密码才能够登陆的网页,其往往会提示用户,“是否需要保存用户名与密码”。这个信息就是保存在这个cookies文件中。

  如当用户在浏览SOHU网站的时候,WEB服务器会发送一个小文件存放在客户端上。这个cookies会对你访问的网页内容进行一些记录,如邮件用户名与密码。如此的话,下次你再次访问的时候,就不需要再输入用户名与密码,而系统可以自动读取cookies文件中的用户名与密码,实现自动登录的功能。

一、设计意图

  现在cookies文件使用很普遍。许多网站,都提供了个性化的服务,都是通过cookies来实现的。程序员起初设计的时候,主要是出于两个目的:

  一是给用户提供自动登录的功能。如网站上一些论坛、博客、邮件等等,都需要通过用户名与密码才能够访问。有些用户比较“懒”,他们喜欢让浏览器记住用户名与密码,从而省去他们重复输入用户名与密码的工作。

  二是给客户提供一些个性化的服务,并且可以用来收集一些用户信息。通过cookies文件,网站服务器就可以跟踪统计用户访问某个网站的习惯。比如什么时间访问、主要关注哪些内容、在每个页面的停留时间等等。这些信息,对于用户来说可能无关紧要。但是,对于网站经营者来说,则具有非常现实的意义已。如他们可以凭借这些信息,调整自己的网站内容,以提高流量。

  所以,cookies的设计意图是好的。但是,若用户使用不当,则其也会带来一定的安全隐患

二、安全隐患

  Cookies记录的相关信息虽然在客户端上是加密过的,一般用户无法直接打开查询里面的信息。但是,其仍然存在一些不可避免的安全隐患。

  1、cookies的即时注销问题。

  若我们现在在使用Yahoo网站的邮箱。一个用户登录进去后,没有利用网站的安全退出功能退出。而是直接把网页关闭或者直接输入新浪的网址。此时,在一段时间内,若用户再次回到Yahoo的邮箱,不用输入用户名与密码,仍然可以访问。

  也就是说,浏览器会默认保存帐户名与密码一段时间。除非我们通过网站的“安全退出”功能,浏览器会即时删除相关的cookies信息。若是直接关闭网站或者直接在原网页中打开另一个网站,浏览器会保存cookies信息一段时间。

  如果用户在网站等公共场所上网,其没有通过安全退出功能,则其邮箱、博客、论坛等等,很可能被后来的用户所冒用,进行一些非法的操作,从而给用户带来一定的损失。故只要用户没有安全注销,则在cookies会话没有超时之前,再回来,仍然具有原先的操作权限。到目前为止,这是cookies本身的弊病,还没有很好的方法可以实现自动注销,即在网页关闭的时候,自动清除cookies中的帐户名与密码信息。

  解决方法:

  不少网站也已经注意到这方面的安全隐患。所以在一些网站的邮件、博客、论坛等页面,都有一个“安全退出”的功能。若用户在退出某个网页的时候,不是直接关闭或者直接转接到其它网站,而先是通过“安全退出”功能,则浏览器会自动清除cookies中的相关信息。安全退出来,若用户再回来的话,就需要重新输入用户名与密码才可以进行访问。

  所以,对于邮箱、网上银行等页面,用户再访问完毕之后,不要怕麻烦,请务必利用“安全退出”功能正常的退出。以防给其它人有机可乘。特别是在公共场所访问的时候,特别要注意。

  2、在多用户主机上,保存用户名与密码。

  在企业中,有可能多个用户使用一台主机。在这种情况下,若让浏览器自动记住“用户名与密码”,显然是很愚蠢的一个行为。因为这么做,任何用户在不经过你同意的情况下,都可以利用你的帐户名与密码访问相关网站。

  这主要是员工在家庭电脑上遗传过来的一个坏习惯。在家里,反正就自己家里人用用,让浏览器记住用户名与密码也没有什么问题,反而不用每次输入用户名与密码,觉得很方便。但是,在企业中,由于多个员工共用一台电脑,除非设置了不同的用户,否则的话,cookie文件中的信息就是共享的。就存在很大的安全隐患。

  解决方法:

  由于cookie文件是存放在用户文件夹下面的。所以,若确实要保存用户名与密码的话,则最好给每个用户设置不同的用户名。当他们需要使用电脑时,利用自己的用户名登录。这样操作,cookie文件就不会被不同的用户所共享。

  若不小心让网页保存了“用户名或者密码”的话,也可以通过浏览器自带的工具清除。在IE浏览器上,选择“工具”、“Internet选项”。在打开的对话框内,选择“删除cookies”。系统就会自动删除相关的cookie文件。不过在做这个操作的时候,需要注意,这个也是针对特殊的用户来说的。如Windows操作系统有连个用户A与B。当以A的帐户登录进去的时候,只能够删除跟帐户A相关的cookie文件,而不能够删除帐户B建立的cookie文件。若要删除操作系统中全部用户的cookie文件,就必须一个个的进行删除。或者以管理员用户进去,找到存储路径后直接删除。
3、操作系统重装后,导致cookies信息丢失。

  在实际工作中,还有一些粗心鬼。他们在一个网站上申请了一个ID后,就顺手设置了“自动保存用户名与密码”。他们以为这就万无一失了,所以没有用笔记录下用户名与密码。当操作系统崩溃,系统重装后,他们才发现用户名与密码找不回来了。笔者以前在从事网络管理工作的时候,就经常接到这种求助电话。可是,遇到这种情况,笔者也爱莫能助。

  解决方法

  针对这种情况,一定要注意在平时的时候,最好cookie文件的备份。其实,cookie文件的备份方法有很多。笔者这里介绍最常见的两种方法。

  一是通过IE浏览器自带的导入导出功能。打开IE浏览器,选择“文件”。会看到一个导入导出的功能。在这里,可以把这个用户名义下的所有cookie文件导出到非系统盘。如此的话,当系统重新安装后,只需要把这个文件重新导入即可。不过,这个方法有个缺陷,需要定时的进行备份。不然的话,操作系统突然崩溃时,即使恢复了,可能部分cookie文件信息也会丢失。

  二是更改cookie存储路径。我们可以更改cookie文件的存储路径。默认情况下,他是保存在/Documents and Settings/用户名/Cookies下。我们可以通过更改注册表,让其保存在非系统盘中。这么更改后,即使以后操作系统崩溃了,则只要把Cookies文件的存放位置重定向,则Cookies信息就不会丢失。另外,一些小工具也可以帮助我们实现这个目的,如优化大师等等。

三、设置cookies下载警告,用户做到心中有数

  我们可以通过cookie下载警告,来提高cookie的安全性。也就是说,当网站向客户端传送cookie文件的时候,网页会有一个警告信息,由用户来判断是否需要下载cookie这个文件。这么设置以后,客户端的IE就不会自作主张的去下载cookie文件。当IE从某个站点接受cookie文件时,都会显示一个警告信息,客户可以选择接受还是不接受。

  我们可以在工具-Internet-选项中的“高级”页签对话框内,看到有一个关于cookie的选项。其有两个内容可以选择,分别是“总是接受cookie文件”与“接收cookie文件之前提示”两个选项。不同版本的浏览器可能称呼有所不同。默认情况下,系统采用的是前者。若我们需要系统提醒cookie信息的话,则就需要选中后面这一项。

  另外,虽然用户也可以通过其它方法,如防火墙等等,强制关闭cookie文件下载。这虽然可以从跟原来消除cookie文件的安全隐患,但是,笔者不怎么建议采用。这主要是因为有不少的网站,其必须要求有cookie支持。若客户段强制关闭cookie文件下载的话,则可能会导致某些网站无法访问或者某些功能无法正常使用。

  虽然Cookies的出现,确实给用户或者网站经营者提供了很大的方便。但是,隐藏在其背后的安全隐患,我们也不能够忽视。
Technology | Comments(0) | Trackbacks(0) | Reads(6041)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive