谷歌分析如何防止流量欺骗。

19
我们希望在多个网站中嵌入一个ajax样式的服务,并为每个网站分配一个唯一的api密钥。我看到的问题是,由于api密钥存储在javascript文件中,用户可能会窃取密钥,欺骗http referrer,并在该api密钥下进行数百万次api请求。
因此,我想知道Google是如何防止Analytics欺骗的?因为这几乎使用了相同的思路。
我也愿意听取其他想法,基本上流程如下:
SiteA -> User <-> Ajax <-> SiteB
编辑 - 有没有办法在通过ajax调用时保护API免受滥用?

1
“模拟 HTTP 引用” 是什么意思?发送一个伪造的 HTTP 引用头吗?我不确定 GA 是否能够防止这种攻击。 - bzlm
修正以澄清为“HTTP引用者”。 - user103219
这是一个旧的帖子,但可能会对正在搜索的某些人有所帮助。以下是StackExchange上的一个答案,描述了一种保护此类攻击的可能方法:http://security.stackexchange.com/questions/106892/how-does-google-analytics-prevent-fake-data-attacks-against-an-entitys-traffic/146091#146091 - cephuo
2个回答

15

我不相信有任何这样的保护措施。对于其他谷歌服务,如Adwords,流量欺骗是一个严重的问题。例如,恶意个体可以对广告进行竞价,为其竞争对手的广告生成许多虚假点击,从而增加其广告费用和谷歌的股票价格。相反地,人们也会在自己的网站上生成虚假点击,以获得来自其站点上的PayPer Click广告的额外收入。

归根结底,黑客可以很容易地积累10,000多个匿名代理服务器的列表,并且你无能为力。黑客还可以使用僵尸网络,其中一些僵尸网络规模达到数百万。从僵尸网络生成的流量可能看起来像带有合法Google Cookie的合法机器,因为它们被劫持了。

许多代理服务器和僵尸网络机器都被Realtime Black Lists(RBL)列举,例如由http://www.spamhaus.org运营的列表,许多合法的IP地址也在该列表上。还有一些代理服务器不能用于垃圾邮件,但可以用于点击欺诈,因此它们不会出现在该列表中。


那么,你的意思是说,实际上没有真正的方法可以防止我所描述的欺骗行为? - user103219
如果攻击者拥有大量代理或被入侵的计算机,那么就没有办法防止这种欺骗。 - rook
黑客攻击或代理甚至都不是必要的。如果我使用你的API密钥并伪造你的引荐头,我就可以使用问题描述中提到的AJAX风格服务。除非有其他措施... - bzlm
@bzlm,检查IP地址并限制请求次数是很容易的事情。 - rook
Rook我同意。但这并不能解决问题所提出的问题。不过我也不确定什么能解决。 - bzlm

-1
猜测来看,我会说这个密钥是公私密钥对的一半,它以某种方式包括URL作为哈希值。这样,只有请求生成密钥的URL时,密钥才能起作用并且只有这些点击才会被记录下来。你无法欺骗请求,因为如果你这样做就会到错误的URL,什么也不会发生。


1
即引荐者检查。这并不能防止引荐者欺骗(我猜测问题中的“欺骗http引用”是指这个)。http://en.wikipedia.org/wiki/Referrer_spoofing - bzlm
@bzlm - 是的,那就是我想表达的意思。我会进行编辑以澄清这一点。 - user103219
5
我认为你没有描述一个真实的安全系统。 - rook
好的,是的,引荐欺骗是另一回事,从这里的对话中可以看出,没有好的方法来对抗它。 - Dave Swersky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接