对于搜索引擎反馈的结果大多数人没有怀疑过,因为列表给出的搜索结果和我们想要的看上去是一致的。但是,目前来看这种观点显然是错误的。
搜索引擎劫持和重定向
作者在两台电脑上搜索相同的内容,期待能够得到相同的搜索结果。但是试验后发现,搜索结果是会变的。
在New Scientist杂志的文章“美国网络供应商劫持用户的搜索请求”中提到:
“在美国,每天成百上千万的搜索请求会被某些互联网服务供应商劫持并重新定向。”
该文章作者Jim Giles对此的解释是:
“这种劫持动作一般是针对某些知名品牌关键词进行的。比如用户搜索“apple”这个词,正常情况下浏览器会返回来自搜索引擎的搜索结果页面。
但是有些ISP会在该搜索请求到达搜索引擎之前将其拦截,然后将该搜索请求转发给某个在线营销公司,该公司将用户的浏览器直接导向苹果的在线零售网店。”
搜索引擎劫持原理和应对
在Boris Nechaev 和 Vern Paxson 的论文中提到:
“目标依赖型重定向:正如我们之前报道的, Netalyzr 识别出了多个ISP涉嫌通过DNS重定向多个网站的搜索请求,包括www.google.com, search.yahoo.com, 以及 www.bing.com。通过这种重定向,用户没有访问到搜索引擎的IP地址,而是被引向代理服务器。某些ISP只是针对Yahoo 和 Bing,有些则包括以上三个搜索引擎。”
在文中提到了一个词“识别”,那么就意味着有方法能够让我们判断自己的搜索结果是否是经过劫持或修改的。作者联系到了ICSI at Berkeley的Mr. Weaver,帮大家了解这个判断过程。
作者: 首先请问什么是搜索请求重定向?
Weaver: 搜索引擎重定向是ISP通过代理服务器重新定向用户的搜索请求,代理服务器会改变搜索请求的处理过程,或者改变用户的搜索结果。
作者: 我使用的DNS服务是OpenDNS,当输入的域名不正确或出现解析错误时,就会重新定向搜索请求。这是不是就是你所说的搜索请求重定向?
Weaver: 不是。搜索请求重定向与你描述的这个情况完全不一样,你所描述的应该被称作“NXDOMAIN Wildcarding” 或者 “DNS error monetization”).
我们所说的是指对搜索引擎的重定向,即用户的计算机请求ISP的DNS解析某个搜索引擎地址,比如bing,但是ISP的DNS服务器没有进行正确的Bing服务器地址解析,而是将某个“代理服务器”的IP地址返回给了用户电脑。
于是用户发送给bing的搜索请求就都发送到了代理服务器哪里,然后根据代理服务器上的程序设置,有可能会改变搜索结果。普通的搜索可能不会有什么不同,但是在浏览器地址栏或搜索栏中输入某些额关键词就会发现不同。
比如, 如果在IE浏览器的搜索栏中输入“CA”,代理服务器会发现这是一个预先设定好的关键词,于是它会将用户的搜索请求重新定向到一个关联程序中,通过该程序,用户最终得到的是直接访问了Computer Associates的网络商店,而不是接收到搜索结果。
在这个过程中,ISP和合作公司(负责代理服务器和关联程序)可能会从最终用户所访问的那个网站获得收益。但这一点我们并不确定。
作者: 论文中提到 Netalyzr 可作为分析工具。那这个工具是如何对付搜索请求重定向的呢?
(上图内容:图1 - Netalyzr理论架构。1、用户访问Netalyzr网站。2、开始测试后,前段工具会将线程重新随机定向到一个后端节点。3、浏览器下载并执行小程序。4、小程序会连接到多个Netalyzr的后端服务器,同时这些连接的DNS请求会被前端的Netalyzr DNS服务器接收。5、存储测试结果和原始网络数据流信息用于分析。6、Netalyzr将分析结果总结发送给用户。)
Weaver: Netalyzr 是一个多用途的网络策略和排错工具,可以用于80多种用途,其中之一就是测试此类搜索引擎重定向。
作者: 我在我的网络上运行了 Netalyzr。我希望你能帮我分析一下反馈的结果。看上去好像有一个比较大的异常和几个较小的异常。
Netalyzr发现的主要异常是指我有OpenDNS 重定向 情况。
Weaver: OpenDNS 在处理 IPv6记录时有一个bug。这个bug我们也能检测到。另外你的防火墙或NAT在处理IP碎片时也有问题(下图)
作者: 如果担心存在搜索请求重定向,我们用Netalyzr时应该关注哪条信息呢?
Weaver: 对于搜索请求重定向,我们会给出明确的信息。你的分析报告显示你的系统不存在这方面的问题。
作者: 如果用户发现自己的ISP存在搜索请求重定向问题,除了更换ISP外,还能怎么做呢?
Weaver: 大家可以使用第三方的 DNS服务,比如Google Public DNS (8.8.8.8 和 8.8.4.4)。Google 开放的 DNS没有NXDOMAIN wildcarding或我们所说的这种重定向情况。
作者: 我注意到有涉及搜索请求重定向问题的法律诉讼。您觉得这样的诉讼能不能帮助大家提高对于搜索请求重定向的安全意识?
Weaver: 大部分 ISP并没有进行搜索请求重定向,因此大部分网民都是安全的,如果有人觉得不放心,可以使用Netalyzr 对自己的网络进行检测。
如果他们真的发现自己的 ISP对网络数据流进行操纵,他们可以起诉ISP并更换DNS服务器。
进行测试
点击 这个连接 可以指导用户使用Netalyzr。
另外,来自EFF的建议,如果你在使用Firefox,EFF有一个针对firefox的扩展叫做HTTPS Everywhere:
“对于那些不信任ISP能为他们提供真正安全的网络连接的用户,我们向他们强烈推荐 HTTPS Everywhere这个浏览器扩展。”
HTTPS Everywhere 通过将所有连接请求进行 HTTPS加密的方式,巧妙的绕过了ISP的搜索请求重定向判断程序。
总结
ISP的服务协议和隐私条款中有很多没有涉及的方面,而我们如果对于网络安全不加以关注,很可能就会在不知不觉中成了搜索请求劫持和重定向的牺牲品。