The ever-changing labyrinth A Large-Scale Analysis of Wildcard DNS Powered Blackhat SEO

原文 https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/du

SEO的两大类别

  • whitehat SEO
  • blackhat SEO

白帽SEO的常用方法

更具体的方法应参考各搜索引擎提供的参考指南(白皮书)。

  1. 优化网站结构
    • 提供导航条
    • 一定程度上避免内容重复
    • 避免内容的频繁更新
  2. 提升搜索相关度
    • 在 html metadata 或者 title 中 提供更贴切的描述性的关键词。

黑帽SEO的常用方法

  1. 关键词堆砌
    • 重复关键词,堆砌流行词(trending keywords),重复近义词(spinning)。
  2. 在知名论坛/博客发帖指向被推广网站,比如工具Xrumer。
  3. Link Farm 链接农场,那么该如何积累大量流入链接(inbound link)呢
    • 入侵网站,并更改页面内容,留下暗链。建立SEO Botnet,站群管理(芭奇站群)。
    • 外链交换/交易 sape.ru/warriorforum.com。
    • PBN(Private Blog Network) 购买高PR过期域名,构建链接网络。
    • 蜘蛛池
  4. 障眼法(Cloaking)
    • 根据 UA, referer, HTTP头, IP等判断是搜索引擎还是用户浏览器,给予他们不同的返回结果。多用于恶意软件推广。
  5. 搭便车消息
    • 借助高PR值网站的搜索栏(Amazon,优酷等)推广信息

蜘蛛池(Spider Pool)详解

以超级蜘蛛池为例
http://www.zhizhuche.com/index.html

困住搜索引擎蜘蛛的方法

关键是构建循环的链接网络(link loop)。

SEO泛站域名的特征

  • 使用了大量子域名(节约成本)
  • 网页内容动态生成,且每次访问均不同。
  • 可以构成一个 强联通的图, 从图中任意一个node开始,都存在一条路径,到达图中任意的另一个node。

蜘蛛池挖掘方法

选取一个种子(seed)域名。
不断访问种子域名的sitemap文件,将域名添加到集合中,直到不再有新的域名产生。
这样可以获得蜘蛛池中所有域名的集合称为A。

蜘蛛池域名分析

蜘蛛池A中主要存在4类域名

  1. SEO泛站域名
  2. 搭便车推广消息域名
  3. 合法网站域名
  4. 客户域名

SEO泛站域名判断方法
首先从A中挑选出 SEO泛站域名
判断准则主要有两点,两个条件同时满足时我们认为他就是SEO域名。
a. 域名使用通配符
b. 连续访问两次sitemap或者index,网站超链接变化率C超过阈值(经验设置为20%)

假设第一次访问时页面的链接集合为$H_A$,第二次访问页面的链接集合为$H_B$。

$$ C_A=\frac{|H_A-H_B|}{|H_A|} $$
$$ C_B=\frac{|H_B-H_A|}{|H_B|} $$
$$ max(C_A,C_B) > Min_H = 20% $$

产生误报的主要原因是 某些网站广告较多,广告的超链接也会发生变化,使得网站的链接变化率超过阈值。

搭便车推广消息域名

使用模式匹配,因为搭便车消息域名通常会包含诸如“/search/”等关键词,用45种pattern尽可能匹配更多消息。

合法网站域名
Alexa Top 1M

客户域名
在全局域名集合A中剔除SEO泛站域名,剔除推广消息域名,剔除合法网站域名后,剩下的就是客户域名。

蜘蛛池的对抗手段

  1. 降低超链接变化率
  2. 不使用DNS通配符

DNS扫描挖掘蜘蛛池

收集DNS Zone file,使用 passive DNS database。

SEO泛站域名判断方法 来寻找 SEO泛站域名。

再以找到的SEO泛站域名为种子,使用蜘蛛池挖掘方法来探测蜘蛛池的全貌。

若两个蜘蛛池的SEO泛站域名相似度大于50%,则认定它们是同一个蜘蛛池。

蜘蛛池的作用

  1. 操纵长尾关键词的搜索结果,主要通过搭便车消息
  2. 可以提高搜索引擎蜘蛛的访问频率

其他有亮点的地方

  1. 用BosonNLP分析客户站的话题内容,聚类为7个话题。
  2. 对SEO泛站域名的IP,TLD(Top Level Domain),注册商分布,注册时间分布,注册人邮箱分布,注册时间分布等做了详细的数据分析。