本发明涉及用于检测web跟踪服务的方法,特别是用于检测第一方和第三方跟踪服务的方法。
背景技术:
跟踪服务业务基于关于用户的信息的收集。在用户浏览时,用户始终被其业务建立在收集到的数据的价值上的各方跟踪。跟踪服务通常是链接到web门户网站的卫星服务。当用户访问门户网站时,跟踪服务说服用户的浏览器下载人工(artificial)信息,例如,页面的像素或广告条。
当用户生成对跟踪服务的http请求时,跟踪服务将访问记录在它自己的数据库中,有时与在http级别(例如,链接到用户设备的ip地址、设备和客户端类型等)和系统级别(例如,cpu负载、使用的存储器量等)的所有可获得的信息一起记录。
近年来见证了这些web跟踪服务的悄然发展:收集关于用户的在线活动的信息是互联网中最有利可图的活动之一。存在数百家其全部业务基于此的公司。无数数量的web跟踪技术正在被使用,并且围绕web跟踪已经开发了数十种商业模式。这种现象无处不在,其中主要的以及大多数未知的公司都参与其中。
由于跟踪服务通常链接到许多门户网站的事实,因此同一用户可以被各种站点监视和跟踪。
一旦数据被收集,跟踪服务就使用数据以用于商业目的,例如用于创建用于市场营销或用于制作定制的商业广告的用户简档,或将数据出售给分析人员和广告代理。
尽管事实上跟踪服务非常普遍并且在web经济中发挥着重要作用,但是用户几乎完全不知道它们,并且不知道有人可以从他们的在线活动期间留下的数据中赚钱。
隐私影响是严重的。消费者和企业确实担心他们不知不觉地暴露给外界的信息,并且他们要求有机制来遏制这种泄漏。
使用web跟踪做法导致泄露用户和公司希望保持私密的信息:从性倾向或宗教偏好到简单的浏览历史记录。许多调查已经表明,消费者和企业希望控制他们暴露给web跟踪器的信息。政府和决策者已经采取措施介入并倡导新的技术方法来增强消费者关于网络跟踪的选择。
因此,目前正在努力构建针对web跟踪的技术对策。例如,大公司已经提出了它们自己的反跟踪特征。已经引入了许多插件来阻止浏览器和跟踪服务之间的交互。到目前为止,研究团体已经关注于揭示和量化问题的广泛性,但只有少数的解决方案被提出来遏制这种现象。
web跟踪的首要对策基于跟踪服务和内容的黑名单。随着web跟踪已经引起关于它可能如何影响用户隐私的许多担忧,许多跟踪器阻止应用(多数是浏览器插件)都可用。基本上,它们过滤所生成的对跟踪服务的http请求。这些应用依靠离线构建的黑名单来防止浏览器生成对web跟踪器的http请求。但是,这些黑名单如何生成是不可能知道的,并且随着时间的推移它们难以维护。
在不同的方法中,存在浏览器插件,该浏览器插件分析cookie如何被操纵以及来自哪些服务。简而言之,这种方法将处理cookie的代码段和包含用户标识符的adobeflash插件的所有者标记为跟踪器。这种方法基于对网页中包含的javascript或flash代码的分析。
但是,简单的动作(诸如阻止cookie)容易被web跟踪服务绕过。例如,常见的变通方案(workaround)是在http请求中包含的url查询中嵌入用户标识符。
另一种方法基于图形分析技术:将网页的结构模型化为图形,并且使用机器学习技术来分析网页代码的结构并发现被怀疑收集用户信息的代码的部分,从而识别web跟踪器。在这种情况下,同样,跟踪服务的检测基于对网页本身的分析。
这些方法的主要缺点是它们需要来自分析人员的监督,分析人员研究网页并使用静态的并且必须不时改变的、预定义的分类模型。
因此,我们需要一种用于检测运行某种跟踪活动的服务的方法。该方法需要易于使用并且自动检测这些服务,而不需要操作员的帮助,从而生成可以被任何浏览器采用以阻止用户遇到的web跟踪服务的策划黑名单(curatedblacklist)。
技术实现要素:
本发明的实施例涉及用于检测跟踪服务的方法,该方法克服了现有技术的缺点。
在一个实施例中,本发明的用于在由具有相关联的客户端标识符的客户端执行的浏览活动期间检测web跟踪服务的方法包括以下步骤:提取包含在导航数据中的键-值对;寻找(4)所述客户端标识符与包含在所述键中的值之间的一一对应关系;选择对于其观察到至少预定数量的客户端的至少客户端值一一对应关系的键,所述键将相关联的服务识别为执行跟踪活动的服务。
在另一实施例中,对于每个客户端,跨相同导航数据的不同和渐进(progress)使用来观察一一对应关系。
在另一实施例中,导航数据是http或httpsget请求或经由post请求传送的数据或嵌入在cookie中的数据。
在另一实施例中,检测到第一方跟踪服务。
在另一实施例中,检测到第三方跟踪服务。
在另一实施例中,检测到其值展现出与客户端的一一对应关系的键的组合。
在另一实施例中,确定预定数量的客户端,使得既不对包含其它类型信息的键进行错误分类,也不削减与可能不总是存在的第三方对象的大集合相关联的合法阳性键(legitpositivekey)。
附图说明
本发明的其它特性、目的和优点将从下面的描述中变得清楚,下面的描述纯粹是说明性的而非限制性的,并且要参考附图来阅读,其中:
图1是根据本发明的用于检测跟踪服务的方法的步骤的框图;
图2是在用户对网站的不同访问中检测到的键的示例;
图3是示出根据用户数量的检测到的键的数量的图,这些键对于这些用户要相同;
图4是在由不同服务使用的用户识别键之间的交互的第一示例的框图;以及
图5是用户识别键之间的交互的另一示例的框图。
具体实施方式
简而言之,本发明涉及利用应用级流量日志来自动检测运行某种跟踪活动的服务,从而使得能够生成策划黑名单的无监督方法。该方法基于以下算法而建立,该算法查明包含以下客户端标识符的信息片段,该客户端标识符在http(或https)事务中的url查询中暴露。因此,它的分析是被动的,并且只需要http(或https)事务日志的可用性。除此之外,由于本发明的方法不需要事先知道包含由跟踪服务采用的客户端标识符的字段或键集合,因此本发明的方法是无监督的。分类的结果可以用来阻止朝向跟踪服务的流量,从而保护用户的隐私。
本发明的方法适用于检测第一方服务和第三方服务。在下面的描述中,将参考在http事务中的url查询中存在的客户端标识符或键,但是本发明的方法也适用于httpsget请求或经由post请求传送的或者嵌入在cookie中的信息或数据。
本发明的方法建立在应用级流量日志的可用性上,即,流量跟踪报告http事务的头部中包含的信息。这种日志可以通过浏览机器人(bots)或爬虫程序(crawlers)自动生成,或可以由众包系统中的用户共享。考虑到跟踪服务依赖于浏览器在url查询中暴露的每个用户的唯一标识符,本发明的方法分析http请求头部中的url并寻找展现出与生成请求的客户端简档的一一映射的信息片段。这些信息片段是包含在cookie、指纹等中的标识符。
图1示出了根据本发明的用于检测跟踪服务的方法的步骤的框图。
给定由客户端的预定集合(爬虫程序或用户的浏览器)和目标网站域w生成的聚合http事务的日志hs的集合,该方法开始于步骤2,其中提取在引导到或引用w(即,在通信的“主机(host)”字段中具有w)的每个http请求中所包含的所有http键-值对。如果w与通信的“引用页(referer)”字段中所包含的w相同,或者如果“引用页”字段为空,则w是第一方服务;否则,如果“主机”字段中的w域与在“引用页”字段中存在的域不同,则w是第三方服务。
在本说明书中,当提及“客户端”时,其意味着单个设备(pc、智能电话、平板电脑等)而不是单个用户。
考虑例如:
http://www.w.com/query?key1=x&key2=y,
在步骤2处,提取分别具有值x和y的key1(键1)和key2(键2)。
然后,在步骤4处,对于每个键,调查生成请求的客户端的本身已知标识符(例如,浏览器简档)与包含在键中的值之间的双向唯一性(biuniqueness)。该方法寻找其值与客户端唯一关联的任何键,即,该值i)对于每个不同的客户端是不同的,但是ii)对于相同的客户端是相同的。
最后,在步骤6处,选择对于至少预定数量的客户端(minclient,参见下文)对其观察到至少客户端-值双向唯一性(一一对应关系)的键。所述键识别执行跟踪活动的服务(相关联的服务)。
图2示出了键的示例:key1、key2和key3。考虑key1,对于不同的客户端(即,client1、client2、...、clientn),它采用不同的值,但这些值在不同访问visit-1(访问-1)、visit-2(访问-2)和visit-3(访问-3)之间并不相等,从而使key1成为可能的会话标识符。key2在不同的客户端和访问之间维持相同的值。本发明的方法选择作为客户端-跟踪的键是key3,因为它是其值对于不同的客户端是不同的,但不会在不同的和渐进的访问之间改变的唯一的键。
作为替代实施例,不是关注嵌入在httpget请求的url查询中嵌入的客户端-跟踪键,而是可以处理客户端经由post请求传送给服务器的数据或嵌入在cookie中的数据。
类似地,不是关注检测单个客户端-识别键(即,其值单独示出与生成请求的客户端的一一映射的键),而是可以检测其值展现出与客户端的双向惟一性的键的组合。当考虑cookie或post请求时,使用键的组合尤其是合适的。
在描述的以下部分中,将公开参数选择对本发明的方法的影响。minclients是该方法为了将键标记为客户端标识符而需要观察的、唯一客户端-值对的最小数量。特别地,检查在增加minclients时该方法分类的返回的键的数量如何变化是重要的。
一种可能性是将minclients设置为大,因为如果太低,则预计会将那些可能反而包含其它类型信息(诸如会话标识符)的键错误分类。换句话说,小的minclients可能会增加假阳性(falsepositive)的数量。
另一方面,太大的minclients可能削减与嵌入了可能并不总是存在的第三方对象的大集合的门户网站相关联的合法阳性。例如,一些用户可以使用给定的客户端-识别键ki在新门户网站嵌入第三方广告adi的时刻访问新门户网站,但访问相同门户网站的其它客户端可能遇到不同的广告服务adj并因此不同的键kj。在这种情况下,客户端的群(population)被分为两半,并且太大的minclients会将这两半从真阳性集合中过滤出。
已经完成了实验以评估minclients的折衷值,该值保证合理的准确性,同时不会削减合法真阳性。
图3报告了当不同的minclients值被设置以处理数据集中的所有请求hs时,本发明的方法识别的客户端-识别键的数量。
考虑这两种情况,其中该方法仅处理对第三方服务的http请求的集合-在其http请求示出在主机和引用页字段中所包含的主机名之间的不匹配的网站中所嵌入的服务-(第一曲线50),以及数据集中的所有请求(即,考虑第一方和第三方)(第二曲线52)。如所预期的,当minclients小时,键的数量增加。
可以观察到的是,当minclients增加时,键的数量不断减少。对于第三方而言,在minclients等于14时,标记为客户端-跟踪的键的数量减少到210,并且在考虑第一方和第三方两者时,标记为客户端-跟踪的键的数量减少到328。
已经观察到,与同一网站相关联的第三方web服务池实际上在不同的访问之间改变。因此,作为抗衡措施,已经运行了第二实验:首先,已经选择了已由预定数量(例如14)的客户端中的每一个完成了访问的服务的集合。给定结果产生的服务子集,初始hs聚集(collection)已被过滤以仅保留指向这些服务的请求,从而获得较小的数据集hsclients_small。然后,通过改变minclients,使用数据集hsclients_small再次执行步骤2至6。
已经观察到,当minclients≥6时,键的数量稳定在328,而对于minclients<6的值,发现一些假阳性(键与处于hsclients_small中但大多数携带会话标识符的服务相关联)。影响最小但存在。
设置minclients=6,该方法可以将键正确地标记为客户端-识别,而另一方面,实际上实现某个用户-跟踪特征的太动态的web服务未被过滤掉。
图3中呈现的结果示出,第一方和第三方两者采用键来跟踪客户端,并因此跟踪其后面的用户。实际上,当minclients等于6时,已经观察到,多于130个键被121个不同的第一方服务采用,并且多于300个客户端-识别键与第三方服务相关联。
该方法已经在整个人工数据集上执行,并且已经找到包含使用某个客户端-识别键的多于100个第三方服务的列表。已经发现,前10个第三方跟踪器似乎与(已经针对分析而考虑的200个中的)20个或更多的第一方相关联,并且大多数第三方跟踪器涵盖非常有限数量的第一方服务。多于40个跟踪器仅涵盖一个服务。
在下文中,呈现一些有趣的发现,这些发现在分析由当前方法返回的客户端-识别键和它们包含的值时出现。更详细地说,已经观察到,在许多情况下,相同的值(即,与客户端相关联的唯一信息片段)被包含在由不同服务使用的客户端-识别键中。
为了表示这些交互,已经采用了图4中的模式:www.w.com是访问过的网站;tracker.wa.com和tracker.wb.com两者是通过本方法被标记为跟踪器的服务;key1和key2是它们分别用来识别客户端的跟踪键;x是从数据集中拾取并被包含在key1和key2中的客户端标识符键值(例如,包含在cookie中的散列值)。令人惊讶的是,key1=x并且key2=x,尽管key1和key2是由wa和wb独立生成的。很清楚,这查明了两者之间的一些冲突。
已经观察到其中客户端标识符在若干服务之间被共享的三种主要情景。
最简单的情景与图5(a)中绘出的示例类似。在这种情况下,访问由同一公司z管理的第一方服务www.w1.com、www.w2.com和www.w3.com的用户被分别使用不同的键key1、key2和key3来交换相同的客户端标识符值的服务c1.w3.com、a4.w1.com和c.w2.com(仍由z管理)跟踪。作为在同一公司保护伞z下的服务之间共享的客户端标识符,这表明由同一组织管理的跟踪平台。从隐私的角度来看,这种情况并不存在争议。
第二交互示例与图4中的模式示例非常相似,并且为了简洁起见不再图示。在这种情况下,访问第一方服务www.y.com的客户端被分配由第三方服务s和t采用并包含在键t1中的标识符。
关于图5(a)中绘出的情景存在两个实质性的差异:首先,相同的客户端标识符在不属于同一个所有者的两个不同的第三方服务s和t之间共享。第二,第三方服务s采用由t提供的键,其可能是众所周知的跟踪公司。这种交互是允许两个单独的参与方同步其用户标识符(cookie匹配)的做法的典型结果。
例如,典型地,客户端被分配来自她在其浏览活动期间遇到的若干方的cookie。因此,两个跟踪器通常将其自己独特的cookie分配给同一客户端。由于cookie匹配机制,它们中的一个或两者将把这些cookie映射到彼此。cookie匹配构成实时竞价(rtb)机制的基础部分,该机制是实现实时自动拍卖的常见web广告技术。
典型地,启用rtb的网站(在rtb术语中称为卖家(seller))旨在以最佳报价出售其页面上可用的广告空间。为了实现拍卖,涉及另外两种第三方:协调拍卖的拍卖人(auctioneer),以及为广告空间生成竞价的买家(buyer)。当用户访问卖家网站时,拍卖人服务收集在来自不同买家的cookies中包含的标识符并运行cookie匹配做法。一旦客户端标识符在拍卖参与者之间同步,拍卖人就收集买家的竞价并选择获胜的买家。因此,后者将被授权提供内容以填充广告空间。
图5(b)中绘出了交互的最后一个示例。这种情景暗示了组合cookie匹配和rtb的做法。已经观察到,相同的客户端标识符(m.net和r.com8)在两个卖家www.f.com和www.g.com(由同一所有者管理)、拍卖人和五个不同的买家之间共享。虽然rtb和cookie匹配受到广告行业的称赞,但是它们的实现导致其中客户端标识符由不受共同机构管理的不同各方处理的情景。人们认为,这种跨各方对用户数据的访问看起来使人顾虑,并且引起人们对关于其对用户隐私的影响的很大担忧。
总之,本发明涉及一种新颖的无监督方法,其检查http请求中的url查询,并寻找展现出与生成请求的客户端的一一映射的信息片段。该方法输出采用任何客户端-跟踪键的第一方和第三方web服务的列表。
该方法在自动侦查跟踪服务方面是有效的,它简单并且可以被研究人员、开发人员和从业人员采用来查明web中的跟踪服务。而且,当它寻找由web跟踪器采用的用户标识符时,它适用于其它的环境。
书面描述使用示例来公开各种实施例,包括最佳模式,并且还使得本领域技术人员能够实践实施例,包括制作和使用任何设备或系统以及执行任何合并的方法。实施例的可授予专利权的范围由权利要求限定,并且可以包括本领域技术人员想到的其它示例。如果这些其它示例具有不与权利要求的字面语言不同的结构元件,或者如果它们包括与权利要求的字面语言无实质区别的等同结构元件,则这些其它示例意图在权利要求的范围内。