当我们在购物网站搜索某些商品时,网页上会显示许多与搜索商品相关的广告内容,这些广告的出现是由于广告脚本代码通过分析网页内容时进行定向投放的广告。但是当我们访问购物网站后再访问其他一些与购物无关的网站页面时,依然会发现页面中出现了与我们曾经搜索过的商品相关的广告信息,这就表明我们之前浏览网页的行为已经被广告代码跟踪了,我们在不知情的情况下被“追踪定向投放广告”了。 广告跟踪最典型的应用就是定向广告的投放。虽然在一定程度上来说,定向广告的投放可以满足消费者对消费品的需求,但是满足这种需求的同时,也暴露了网民用户在浏览网页操作行为的隐私信息。至于在保护隐私和定向广告两者中如何进行选择,每个网民都会有不同的偏好。广告跟踪又是如何实现的呢?网民用户在浏览网页时又如何防范广告跟踪,保护自己的隐私信息不被跟踪和泄露呢? Cookie 在网络环境中,广告跟踪的实现主要是通过跟踪浏览器的Cookies信息实现的。Cookie是保存在客户端环境中的一个很小的文本信息,其主要作用是实现用户请求和页面在Web服务器和客户端浏览器之间传递。Cookie中包含了每次用户访问站点时网站应用程序都可以从客户端中读取的信息。当用户请求访问网站时,网站应用程序反馈给用户的信息除了网页页面内容以外,还有一个包含时间的Cookie信息,用户的浏览器在展示页面的同时还会将获取到的Cookie信息存储在用户硬盘的文件夹内。 Cookie是与网站进行关联的,而不是与网站中某一个特定的网页关联。所以,当用户访问某个网站时,无论用户打开的是哪一个页面,网站服务器和客户端浏览器都会交换保存在客户端环境的Cookie信息。当用户访问不同的站点时,每一个网站都可能会向客户端浏览器发送一个Cookie信息,浏览器会分别存储获取到的所有Cookie信息。 Cookie信息的应用可以帮助网站应用程序在客户端存储与访问者相关的信息。因为除了客户端请求和服务端反馈的信息交换以外,用户客户端浏览器和网站服务器之间的连接都是断开的,对于客户端用户发出的每一次的请求,网站服务器都会单独处理,但是很多情况下,网站服务器需要识别并记录出客户端用户的操作信息,例如:很多购物网站的购物车应用就是通过记录Cookie信息实现特定信息的交互,这是Cookie作为一种联系方式提供相关的标识信息来帮助网站应用程序确定如何继续执行,如下图1所示为京东商城网站的购物车应用通过记录Cookie的方式来记录用户添加到购物车中的商品信息。 图1 跟踪Cookie 跟踪Cookie是一种特定类型的Cookie,它也是建立在Cookie文件的基础之上,但是跟踪Cookie实现了在两个或更多个不相关的网站之间分布、共享和读取,目的是通过网站脚本代码收集信息并向客户端浏览器输出显示自定义的数据。需要说明的一点是,并不是所有Cookie都是跟踪Cookie。虽然跟踪Cookie不像恶意软件、蠕虫或病毒那样具有较强的危害性,但它会涉及客户端浏览器用户的隐私问题。例如,如果用户访问一个由第三方供应商托管在线广告的网站,第三方供应商便会在您的计算机上放置一个Cookie。如果另一个网站也有来自这个第三方供应商的广告,则此供应商便知道用户已经访问过这两个网站,供应商就会根据已经跟踪到的用户操作行为信息进行分析,提取用户可能感兴趣的广告信息进行广告的定向投放。这也就是前面提到的例子的原因所在。 更为严重的情况是一些网站在获取到用户操作行为相关的Cookie信息以后,并不仅仅供自身使用,而是将这些涉及到用户隐私的信息共享给其他一些与该网站有利益关系的企业或团体。这种情况就导致了用户的行为和操作习惯等隐私信息不仅仅是被用户访问的网站获取,而是被该网站更广泛地与其他企业分享。 Flash Cookie Flash Cookie实际上叫做ShareObject,通过ShareObject可以实现flash应用在客户端环境中的数据存储,它分为本地对象和远程对象两种。针对ShareObject可能存在的跟踪Cookie功能主要是本地对象,当客户端用户通过浏览器访问网站时,Flash可以通过ShareObject在用户本地保留一些特定的信息,类似访问网站时候的Cookie文件。在作者的系统环境(操作系统是windows7)中,Flash Cookie文件存在如下目录C:\Users\用户名\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\中,文件类型是SOL文件,而这种文件类型不是文本类型,所以我们需要借助其他工具对该文件信息进行查看,如下图2所示为通过SOLEditor工具对保存在本机的flash cookie信息进行查看后的结果。
图2Flash Cookie目前已经被越来越多的网站媒体利用,让已经被删除的文本类型的跟踪Cookie再次“复活”。利用Cookie跟踪用户访问实例下面我们结合一个简单的实例来模拟一下网站应用程序是如何通过Cookie来记录和显示用户访问行为的。这里我们使用ASP脚本语言来演示,网页关键代码如下图3和图4所示。图3图4当用户初次访问页面时,因为程序没有记录客户端用户访问的相应感兴趣的产品信息,所以显示内容为“用户还没有浏览过任何商品!”,如下图5所示。图5而当用户访问过某些产品以后,程序会通过写入Cookie文件的方式记录用户最近一次访问的感兴趣的商品信息,并将相应的商品内容进行显示,如下图6所示。图6通过上述简单的代码,我们实现了通过Cookie跟踪用户浏览行为,并将用户最后一次访问的感兴趣的商品进行展示的功能。演示程序中只是针对商品类型的type值进行跟踪,并将相应的信息保存在Cookie文件中。网页在解析过程中,只有服务端才知道type的值是什么含义,而在服务端获取到type值以后进一步怎么处理,这是我们无法发现的。而且信息的值是可以经过加密处理的,而且加密的算法也是可以通过自写加密的方式实现,其他人无法实现对数据的解密。当然,这段演示程序只是在功能上简单实现了跟踪cookie的作用,而实际网络环境中跟踪用户行为的代码要比这个演示程序程序复杂很多。如何发现跟踪Cookie信息在了解了跟踪Cookie相关的理论内容以后,我们进一步看一下如何发现跟踪Cookie的信息。目前有许多的浏览器和第三方的安全软件提供了跟踪Cookie信息查看的功能,下面我们结合火狐浏览器的Collusion插件功能,帮助我们分析在我们正常浏览网页的同时会出现多少个跟踪行为。Collusion插件安装完成以后,我们分别访问几个比较流行的网站,并在网站中对相关物品信息进行搜索,这样可以使得跟踪Cookie信息可以更加直观地体现。下图7为通过火狐浏览器访问一些主流网站时,Collusion插件辅助分析的存在用户浏览网页信息交互的关系图,通过点击相应的节点可以在左侧信息栏中查看当我们访问该网站时,网站将我们的访问信息分享给了哪些域名以及相应的网站信息。
图7如何防范跟踪Cookie通过上述对跟踪Cookie的分析和描述,我们已经了解到跟踪Cookie主要就是通过服务器和客户端环境交互过程中操作Cookie完成的。根据跟踪Cookie的原理和特点,网民可以通过以下几种方式实现防范跟踪Cookie的目的:1. 通过禁用Cookie、开启Cookie安全警告或每次访问后删除与操作相关的Cookie方式防范跟踪Cookie。虽然这种方法可以在一定程度上减少跟踪Cookie对用户隐私造成的危害,但是这样的操作可能会影响用户正常的网络浏览,同时也带来了很多繁琐的操作。例如,用户在浏览网页执行Cookie信息交互时,浏览器会频繁进行提示,询问用户是否执行相应操作等。2. 安装使用支持禁止跟踪(Do Not Track,简称DNT)功能的浏览器软件,并开启该功能。目前主流浏览器软件的最新版本都支持禁止跟踪功能,如微软IE浏览器、火狐浏览器、谷歌Chrome浏览器等,用户通过安装此类浏览器后,可以在一定程度上避开因广告跟踪而造成的个人隐私泄露的情况。如下图8所示,为通过火狐浏览器的隐私设置功能开启禁止跟踪功能。图83. 用户可以通过安全防护软件防范跟踪Cookie。目前网络环境中已有部分安全软件支持跟踪Cookie的清除与防御功能,用户可以通过此方式并开启相应的拦截跟踪Cookie功能实现对广告跟踪的拦截和提示。随着网民越来越关注保护个人隐私以及国家针对网络信息保护工作的加强,涉及用户隐私的网络安全问题再一次成为广大网民和网络安全工作者关注的焦点。网民需要了解在正常的网络浏览访问过程中会出现哪些对自身权益造成危害的情况,在网上冲浪过程中如何保护自己的隐私信息不被泄露,防止在畅游网络的同时对自身的权益造成伤害,打造一个属于用户自己的安全、和谐的网络环境。
|