近两年来,搜索引擎毒化——SEO(搜索引擎优化)中毒攻击正在愈演愈烈,而且这种攻击正变得越来越危险。然而,很多最终用户和一些网络管理员甚至都还不知道这种威胁的存在。那么,如何在不影响用户使用互联网搜索功能的前提下,保护企业免受SEO中毒攻击呢?这是本文需要解决的问题。
搜索引擎的普及
网络上信息量非常巨大,如果没有搜索引擎,用户将很难找到自己需要的东西。从第一个互联网搜索工具Archie出现以来,我们走过了很漫长的路,早期的搜索引擎随后让路给“爬行式”类型的搜索引擎,而爬行式搜索引擎从最开始的WebCrawler,然后再到Magellan、Excite、AltaVista和Yahoo!。而自2000年以来,谷歌从开始统领搜索行业,虽然最近谷歌受到微软Bing的挑战,但似乎也未能撼动谷歌在搜索界的地位。
有了所有这些搜索引擎,以及每天返回数百万搜索结果,这也成为攻击者诱人的攻击目标。其中攻击者发动攻击或者传播恶意软件所使用的最普遍的方法就是引诱不知情的网络用户到包含恶意代码的网站。除了能够将用户直接带到恶意网站外,SEO中毒攻击还能够在受欢迎的合法网站使用跨站脚本攻击技术。攻击者如何为他们的恶意网站获取更多的流量而不是通过操作搜索引擎,以让攻击者的网址来替代位于搜索结果前列的合法网站的网址》
搜索引擎优化的工作原理
SEO技术是指合法网站为了增加其网站流量和使用的搜索引擎优化技术。当用户使用搜索引擎搜索某关键字或者短语时,他通常只会看搜索结果的第一页或者前两页,所以说,网站在搜索结果中的排列名次越靠前,搜索者就越可能访问你的网站。SEO这个词最早出现在90年代后期,当时网络设计师刚开始注意到他们如何才能够让他们的网站排在搜索引擎的前几页。在早期,可以简单地通过在网页的元数据插入热门关键字来操控搜索结果,但是现在搜索引擎算法变得越来越复杂以避免这种问题。
现在,很多搜索引擎将他们的排名标准当作最高的机密,据称,谷歌使用了超过200个因素,而搜索引擎优化者则使用很多不同的方法,例如:
1、横向链接相同网站的页面。
2、关键字堆砌:在meta标签中或者网页内容中反复使用热门关键字,通常是通过将字体颜色融合到背景中或者放在图片后面,让网站访问者无法看到。被“塞满”的网页有时候被称为“中毒”网页。
3、“垃圾评论”或者“垃圾索引”:在很多博客的评论中粘贴网站链接。
4、“链接养殖场”:网站集群,所有集群中的网站都互相链接。
搜索引擎也发布了改善网站排名的可行方法的指导,而使用这些指导以外的方法将会被认为是不合理的,而试图“戏弄”搜索引擎算法的技术一般被称为“黑帽SEO”,通常使用卑鄙的技术来获取更多的流量,而当网站是恶意网站时,就变成了SEO中毒攻击。
攻击2.0
SEO中毒攻击可以说是攻击2.0的一部分,也就是说,它属于日益复杂化攻击的一部分,攻击者们开始使用越来越复杂的技术。这些中毒攻击者通常都会瞄准最受欢迎的搜索条件以攻击最大数量的受害者。据估计,在谷歌搜索结果中排名最高的网站中有超过十分之一为恶意网站。最近,SEO攻击开始攻击的是关于苹果公司iPad和iPhone4的信息,因为这两个都是最热门的话题。但是由于这些攻击慢慢被大家所了解,SEO攻击者将会很快转移到下一个热门话题,这种快速转移的能力就是他们成功的关键。
攻击者现在正在使用自动化工具,使他们能够更简单地使用黑帽SEO技术来利用现在最热门的信息,而且通常都会与某些悲剧结合:地震、莫斯科自杀爆炸时间、名人死亡等等,任何能够获取大量点击的信息都成为恶意攻击者的棋子。
攻击者使用的很多搜索引擎优化工具(应用程序,通常作为PHP脚本编写,能够生成中毒网页以重定向访问者到恶意网站)都能够对用户进行区分,直接访问网站的一般用户,和从搜索引擎或搜索引擎抓取工具访问网站的用户。然后,用户会被重定向到恶意网站。Sophos公司的最新研究报告就分析了自动化的过程,请点击此处下载。
攻击者如何破坏合法网站来插入他们的重定向工具呢?在某些情况下,他们是利用内容管理系统中的漏洞。而在其他情况下,他们可能是通过利用托管网络服务器中的漏洞来攻击网站。当攻击者能够渗透网站后,他们就会上传并安装SEO应用程序,该应用程序能够动态生成SEO页面并从搜索结果中提取文本,使用任何主流搜索引擎。最新热门关键词都能够在网上找到,例如Google Trends。元数据从搜索引擎结果中被提取出来并添加到SEO页面的链接中,被生成的内容同样可以由SEO工具进行缓存。
SEO页面链接到其他SEO页面,这样他们就会被搜因,和/或链接到张贴在其他合法网站的论坛、博客评论、留言薄、社交网络状态更新等中的SEO页面。这样就能让攻击者的SEO页面被搜索引擎赚取工具进行索引。
当用户点击中毒搜索结果时,请求就会被重定向到恶意网站。实现重定向的一种方式就是使用PHPheader()函数来发送重定向状态代码给用户的网络浏览器。JavaScript或者其他主动内容也能够用来重定向用户。