搜索引擎劫持:為什么我的互聯(lián)網(wǎng)和你的不一樣
對(duì)于搜索引擎反饋的結(jié)果大多數(shù)人沒有懷疑過,因?yàn)榱斜斫o出的搜索結(jié)果和我們想要的看上去是一致的。但是,目前來看這種觀點(diǎn)顯然是錯(cuò)誤的。
搜索引擎劫持和重定向
作者在兩臺(tái)電腦上搜索相同的內(nèi)容,期待能夠得到相同的搜索結(jié)果。但是試驗(yàn)后發(fā)現(xiàn),搜索結(jié)果是會(huì)變的。
在New Scientist雜志的文章“美國網(wǎng)絡(luò)供應(yīng)商劫持用戶的搜索請(qǐng)求”中提到:
“在美國,每天成百上千萬的搜索請(qǐng)求會(huì)被某些互聯(lián)網(wǎng)服務(wù)供應(yīng)商劫持并重新定向。”
該文章作者Jim Giles對(duì)此的解釋是:
“這種劫持動(dòng)作一般是針對(duì)某些知名品牌關(guān)鍵詞進(jìn)行的。比如用戶搜索“apple”這個(gè)詞,正常情況下瀏覽器會(huì)返回來自搜索引擎的搜索結(jié)果頁面。
但是有些ISP會(huì)在該搜索請(qǐng)求到達(dá)搜索引擎之前將其攔截,然后將該搜索請(qǐng)求轉(zhuǎn)發(fā)給某個(gè)在線營銷公司,該公司將用戶的瀏覽器直接導(dǎo)向蘋果的在線零售網(wǎng)店。”
搜索引擎劫持原理和應(yīng)對(duì)
在Boris Nechaev 和 Vern Paxson 的論文中提到:
“目標(biāo)依賴型重定向:正如我們之前報(bào)道的, Netalyzr 識(shí)別出了多個(gè)ISP涉嫌通過DNS重定向多個(gè)網(wǎng)站的搜索請(qǐng)求,包括www.google.com, search.yahoo.com, 以及 www.bing.com。通過這種重定向,用戶沒有訪問到搜索引擎的IP地址,而是被引向代理服務(wù)器。某些ISP只是針對(duì)Yahoo 和 Bing,有些則包括以上三個(gè)搜索引擎。”
在文中提到了一個(gè)詞“識(shí)別”,那么就意味著有方法能夠讓我們判斷自己的搜索結(jié)果是否是經(jīng)過劫持或修改的。作者聯(lián)系到了ICSI at Berkeley的Mr. Weaver,幫大家了解這個(gè)判斷過程。
作者: 首先請(qǐng)問什么是搜索請(qǐng)求重定向?
Weaver: 搜索引擎重定向是ISP通過代理服務(wù)器重新定向用戶的搜索請(qǐng)求,代理服務(wù)器會(huì)改變搜索請(qǐng)求的處理過程,或者改變用戶的搜索結(jié)果。
作者: 我使用的DNS服務(wù)是OpenDNS,當(dāng)輸入的域名不正確或出現(xiàn)解析錯(cuò)誤時(shí),就會(huì)重新定向搜索請(qǐng)求。這是不是就是你所說的搜索請(qǐng)求重定向?
Weaver: 不是。搜索請(qǐng)求重定向與你描述的這個(gè)情況完全不一樣,你所描述的應(yīng)該被稱作“NXDOMAIN Wildcarding” 或者 “DNS error monetization”).
我們所說的是指對(duì)搜索引擎的重定向,即用戶的計(jì)算機(jī)請(qǐng)求ISP的DNS解析某個(gè)搜索引擎地址,比如bing,但是ISP的DNS服務(wù)器沒有進(jìn)行正確的Bing服務(wù)器地址解析,而是將某個(gè)“代理服務(wù)器”的IP地址返回給了用戶電腦。
于是用戶發(fā)送給bing的搜索請(qǐng)求就都發(fā)送到了代理服務(wù)器哪里,然后根據(jù)代理服務(wù)器上的程序設(shè)置,有可能會(huì)改變搜索結(jié)果。普通的搜索可能不會(huì)有什么不同,但是在瀏覽器地址欄或搜索欄中輸入某些額關(guān)鍵詞就會(huì)發(fā)現(xiàn)不同。
比如, 如果在IE瀏覽器的搜索欄中輸入“CA”,代理服務(wù)器會(huì)發(fā)現(xiàn)這是一個(gè)預(yù)先設(shè)定好的關(guān)鍵詞,于是它會(huì)將用戶的搜索請(qǐng)求重新定向到一個(gè)關(guān)聯(lián)程序中,通過該程序,用戶最終得到的是直接訪問了Computer Associates的網(wǎng)絡(luò)商店,而不是接收到搜索結(jié)果。
在這個(gè)過程中,ISP和合作公司(負(fù)責(zé)代理服務(wù)器和關(guān)聯(lián)程序)可能會(huì)從最終用戶所訪問的那個(gè)網(wǎng)站獲得收益。但這一點(diǎn)我們并不確定。
作者: 論文中提到 Netalyzr 可作為分析工具。那這個(gè)工具是如何對(duì)付搜索請(qǐng)求重定向的呢?

(上圖內(nèi)容:圖1 - Netalyzr理論架構(gòu)。1、用戶訪問Netalyzr網(wǎng)站。2、開始測(cè)試后,前段工具會(huì)將線程重新隨機(jī)定向到一個(gè)后端節(jié)點(diǎn)。3、瀏覽器下載并執(zhí)行小程序。4、小程序會(huì)連接到多個(gè)Netalyzr的后端服務(wù)器,同時(shí)這些連接的DNS請(qǐng)求會(huì)被前端的Netalyzr DNS服務(wù)器接收。5、存儲(chǔ)測(cè)試結(jié)果和原始網(wǎng)絡(luò)數(shù)據(jù)流信息用于分析。6、Netalyzr將分析結(jié)果總結(jié)發(fā)送給用戶。)
Weaver: Netalyzr 是一個(gè)多用途的網(wǎng)絡(luò)策略和排錯(cuò)工具,可以用于80多種用途,其中之一就是測(cè)試此類搜索引擎重定向。
作者: 我在我的網(wǎng)絡(luò)上運(yùn)行了 Netalyzr。我希望你能幫我分析一下反饋的結(jié)果??瓷先ズ孟裼幸粋€(gè)比較大的異常和幾個(gè)較小的異常。

Netalyzr發(fā)現(xiàn)的主要異常是指我有OpenDNS 重定向 情況。

Weaver: OpenDNS 在處理 IPv6記錄時(shí)有一個(gè)bug。這個(gè)bug我們也能檢測(cè)到。另外你的防火墻或NAT在處理IP碎片時(shí)也有問題(下圖)

作者: 如果擔(dān)心存在搜索請(qǐng)求重定向,我們用Netalyzr時(shí)應(yīng)該關(guān)注哪條信息呢?
Weaver: 對(duì)于搜索請(qǐng)求重定向,我們會(huì)給出明確的信息。你的分析報(bào)告顯示你的系統(tǒng)不存在這方面的問題。

作者: 如果用戶發(fā)現(xiàn)自己的ISP存在搜索請(qǐng)求重定向問題,除了更換ISP外,還能怎么做呢?
Weaver: 大家可以使用第三方的 DNS服務(wù),比如Google Public DNS (8.8.8.8 和 8.8.4.4)。Google 開放的 DNS沒有NXDOMAIN wildcarding或我們所說的這種重定向情況。
作者: 我注意到有涉及搜索請(qǐng)求重定向問題的法律訴訟。您覺得這樣的訴訟能不能幫助大家提高對(duì)于搜索請(qǐng)求重定向的安全意識(shí)?
Weaver: 大部分 ISP并沒有進(jìn)行搜索請(qǐng)求重定向,因此大部分網(wǎng)民都是安全的,如果有人覺得不放心,可以使用Netalyzr 對(duì)自己的網(wǎng)絡(luò)進(jìn)行檢測(cè)。
如果他們真的發(fā)現(xiàn)自己的 ISP對(duì)網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行操縱,他們可以起訴ISP并更換DNS服務(wù)器。
進(jìn)行測(cè)試
點(diǎn)擊 這個(gè)連接 可以指導(dǎo)用戶使用Netalyzr。
另外,來自EFF的建議,如果你在使用Firefox,EFF有一個(gè)針對(duì)firefox的擴(kuò)展叫做HTTPS Everywhere:
“對(duì)于那些不信任ISP能為他們提供真正安全的網(wǎng)絡(luò)連接的用戶,我們向他們強(qiáng)烈推薦 HTTPS Everywhere這個(gè)瀏覽器擴(kuò)展。”
HTTPS Everywhere 通過將所有連接請(qǐng)求進(jìn)行 HTTPS加密的方式,巧妙的繞過了ISP的搜索請(qǐng)求重定向判斷程序。
總結(jié)
ISP的服務(wù)協(xié)議和隱私條款中有很多沒有涉及的方面,而我們?nèi)绻麑?duì)于網(wǎng)絡(luò)安全不加以關(guān)注,很可能就會(huì)在不知不覺中成了搜索請(qǐng)求劫持和重定向的犧牲品。