搜索引擎投毒这种攻击,能够利用搜索引擎来显示搜索结果,该结果包含着对交付恶意软件的网站的一个或多个引用。有多种方法可以执行搜索引擎投毒,其中包括控制流行网站、使用搜索引擎的“赞助”链接,其目的都是为了链接到恶意网站,进而注入恶意代码。
此外,攻击者通过操纵搜索引擎来返回搜索结果(该结果包含着对感染了跨站脚本的网站的引用),也可以实施搜索引擎投毒。受感染的网页将轻信的用户重新定向到恶意网站。在该用户点击这些链接时,其计算机就有可能感染恶意软件。这种伎俩很不一般,因为它并不要求攻击者控制或攻入任何服务器。
攻击原理与步骤
首先,攻击者搭建一台在收到请求后就交付恶意软件的服务器。可通过不同的方法来交付恶意软件,如通过一个能够利用浏览器漏洞的HTML页面或其它方法。
然后,攻击者获得一系列易于遭受跨站脚本攻击的URL.为了产生攻击效果,这些URL必须从搜索引擎给出的搜索结果中排名靠前的域名中取得。攻击者通常会通过搜索引擎查找一些专门伪造的搜索词,这些搜索词往往能够泄露特定漏洞的存在。
下一步,攻击者使用这些URL,根据有漏洞的URL创建大量的专门伪造的URL,其中包括目标关键词和一段能够与恶意软件交付服务器进行交互的脚本。
然后,攻击者获得一个支持简单用户内容生成的应用程序清单,如一些论坛程序。攻击者会用各种专门仿造的URL,使网页的内容泛滥,并有可能包含多个链接,并使其接受不同的应用程序。
此后,流行的搜索引擎在扫描整个web,就会选取专门伪造的URL,并跟踪这些URL,进而对这些网页进行索引。其结果是,目标关键词与专门伪造的URL发生了关联。由于攻击者选取了高优先级的域名作为开始,而且由于对这些URL的大量引用,受到“投毒”的搜索结果的排名当然就靠前了。
最后,搜索这些关键词且容易轻信的用户单击这些URL中的一个链接,其计算机便容易被感染恶意软件。
总之,搜索引擎投毒易于实施,却难被搜索引擎检测到。这种伎俩的目标是诱导无辜的搜索者到达恶意网站或欺诈网站。例如,攻击者利用机器人程序生成大量的用户名,在论坛上彼此发布拥有许多链接的帖子进行讨论,显得不亦乐乎。对搜索引擎来说,这倒是一个好事儿,既然有这么多用户牵涉进来,因而搜索引擎便把这种网页放在显赫的位置。在某个用户单击了其中的某个链接后,就会打开一个链接到色情或购物网站的网页。在用户再次单击后,该链接就会将恶意软件安装到用户的计算机上,进而对用户实施欺诈或其它犯罪活动。