搜索引擎劫持:為什么我的互聯網和你的不一樣
對于搜索引擎反饋的結果大多數人沒有懷疑過,因為列表給出的搜索結果和我們想要的看上去是一致的。但是,目前來看這種觀點顯然是錯誤的。
搜索引擎劫持和重定向
作者在兩臺電腦上搜索相同的內容,期待能夠得到相同的搜索結果。但是試驗后發現,搜索結果是會變的。
在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的服務協議和隱私條款中有很多沒有涉及的方面,而我們如果對于網絡安全不加以關注,很可能就會在不知不覺中成了搜索請求劫持和重定向的犧牲品。