搜索引擎投毒這種攻擊,能夠利用搜索引擎來顯示搜索結果,該結果包含著對交付惡意軟件的網站的一個或多個引用。有多種方法可以執行搜索引擎投毒,其中包括控制流行網站、使用搜索引擎的“贊助”鏈接,其目的都是為了鏈接到惡意網站,進而注入惡意代碼。
此外,攻擊者通過操縱搜索引擎來返回搜索結果(該結果包含著對感染了跨站腳本的網站的引用),也可以實施搜索引擎投毒。受感染的網頁將輕信的用戶重新定向到惡意網站。在該用戶點擊這些鏈接時,其計算機就有可能感染惡意軟件。這種伎倆很不一般,因為它並不要求攻擊者控制或攻入任何服務器。
攻擊原理與步驟
首先,攻擊者搭建一台在收到請求後就交付惡意軟件的服務器。可通過不同的方法來交付惡意軟件,如通過一個能夠利用浏覽器漏洞的HTML頁面或其它方法。
然後,攻擊者獲得一系列易於遭受跨站腳本攻擊的URL.為了產生攻擊效果,這些URL必須從搜索引擎給出的搜索結果中排名靠前的域名中取得。攻擊者通常會通過搜索引擎查找一些專門偽造的搜索詞,這些搜索詞往往能夠洩露特定漏洞的存在。
下一步,攻擊者使用這些URL,根據有漏洞的URL創建大量的專門偽造的URL,其中包括目標關鍵詞和一段能夠與惡意軟件交付服務器進行交互的腳本。
然後,攻擊者獲得一個支持簡單用戶內容生成的應用程序清單,如一些論壇程序。攻擊者會用各種專門仿造的URL,使網頁的內容泛濫,並有可能包含多個鏈接,並使其接受不同的應用程序。
此後,流行的搜索引擎在掃描整個web,就會選取專門偽造的URL,並跟蹤這些URL,進而對這些網頁進行索引。其結果是,目標關鍵詞與專門偽造的URL發生了關聯。由於攻擊者選取了高優先級的域名作為開始,而且由於對這些URL的大量引用,受到“投毒”的搜索結果的排名當然就靠前了。
最後,搜索這些關鍵詞且容易輕信的用戶單擊這些URL中的一個鏈接,其計算機便容易被感染惡意軟件。
總之,搜索引擎投毒易於實施,卻難被搜索引擎檢測到。這種伎倆的目標是誘導無辜的搜索者到達惡意網站或欺詐網站。例如,攻擊者利用機器人程序生成大量的用戶名,在論壇上彼此發布擁有許多鏈接的帖子進行討論,顯得不亦樂乎。對搜索引擎來說,這倒是一個好事兒,既然有這麼多用戶牽涉進來,因而搜索引擎便把這種網頁放在顯赫的位置。在某個用戶單擊了其中的某個鏈接後,就會打開一個鏈接到色情或購物網站的網頁。在用戶再次單擊後,該鏈接就會將惡意軟件安裝到用戶的計算機上,進而對用戶實施欺詐或其它犯罪活動。