2016-09-05 21:28
广告商可以通过手机电量跟踪你
根据一份普林斯顿大学研究员的 报告 ,电池状态已经在一些网站被用来跟踪你的在线活动。漏洞触发的原因是因为电池状态API。
又是电池?
去年的时候,斯坦福大学的研究员就曾发表研究,他们通过电池在特定时间内的消耗对手机用户的物理位置进行定位,他们把这种追踪方法命名为PowerSpy,准确度高达90%。PowerSpy利用了蜂窝传输服务塔消耗电量速度的不同这一点,速度很大程度上取决于用户与蜂窝电话塔的距离远近,以及地理条件上的一些障碍,通过测量电池使用情况,攻击者就可以得到你的位置信息。
在新揭露的漏洞中,被利用的是电池状态API。这个概念首先在HTML5中出现,到去年八月主流浏览器如Firefox, Chrome和Opera都开始使用了。API的目的是让站主看到笔记本、平板、手机上还有多少电,必要时网站会提供一份专门针对低电量用户的版本。但是研究人员去年警告称,API可能会把你的电量变成非常有特征的跟踪标识。
研究人员发现,每分钟耗掉的电量与电量百分比二者结合起来就能有1400万种不同的可能性,基本上就可以说是针对每个设备有唯一的标识了,这可以对他们访问的网站进行跟踪。
通过电池状态跟踪你
研究员Lukasz Olejnik上周 发布 了一篇博文,讲的就是很多公司现在就是在利用电量信息来挖掘一些潜在有用的信息。
“有些公司可能在分析把‘电量信息’变现的可能性”,博文写道,“当电量低的时候,用户可能就会有些别的决定。这种情况下,他们就可能愿意为了某个服务多付点钱。”
研究员Engelhard和Narayanan发现了网上大量出现的两段跟踪脚本,广告商们利用他们从电池状态API获取信息,并追踪用户。
无处不在的追踪脚本
笔者查看论文后找到了文中提到的跟踪脚本,这些脚本在大量的网站都有出现,其中也不乏一些大公司:
Fingerprinting Script | Count |
cdn.doubleverify.com/dvtp_src_internal24.js | 4588 |
cdn.doubleverify.com/dvtp_src_internal23.js | 2963 |
ap.lijit.com/sync | 2653 |
cdn.doubleverify.com/dvbs_src.js | 2093 |
rtbcdn.doubleverify.com/bsredirect5.js | 1208 |
g.alicdn.com/alilog/mlog/aplus_v2.js | 894 |
static.audienceinsights.net/t.js | 498 |
static.boo-box.com/javascripts/embed.js | 303 |
admicro1.vcmedia.vn/core/fipmin.js | 180 |
c.imedia.cz/js/script.js | 173 |
ap.lijit.com/www/delivery/fp | 140 |
www.lijit.com/delivery/fp | 127 |
s3-ap-southeast-1.amazonaws.com/af-bdaz/bquery.js | 118 |
d38nbbai6u794i.cloudfront.net/*/platform.min.js | 97 |
voken.eyereturn.com/ | 85 |
p8h7t6p2.map2.ssl.hwcdn.net/fp/Scripts/PixelBundle.js | 72 |
static.fraudmetrix.cn/fm.js | 71 |
e.e701.net/cpc/js/common.js | 56 |
tags.bkrtx.com/js/bk-coretag.js | 56 |
dtt617kogtcso.cloudfront.net/sauce.min.js | 55 |
dnqof95d40fo6.cloudfront.net/MucPAM.js | 53 |
这种攻击最为可怕的部分是:
基本上没有办法防御这种攻击。无论是删除浏览器cookies还是使用VPN和AdBlocker,你电池的属性还是不会变,因此仍然可以被跟踪。
唯一的办法可能就是把你的手机插到电源里去。
两周前,Uber的经济分析主管Keith Chen曾经说过,该公司一直在监控用户的电池状况,因为它知道,用户电量不足的时候很可能会愿意付更高的价格租辆车。
原文作者:Sphinx(FreeeBuf),转自:http://netsecurity.51cto.com/art/201608/515657.htm