本章主要介绍了黑链的定义和危害,并介绍了安全感知平台的识别原理。  
   

1.1 黑链简介

黑链,是指看不见,但是却被搜索引擎计算权重的外链,也叫暗链。主要是黑客所为,故黑链一词流传最广。黑链是搜索引擎优化(SEO)手法中相当普遍的一种手段,笼统地说,它就是指一些人用非正常的手段获取其它网站的反向链接。  
最常见的黑链就是通过各种网站程序漏洞获取搜索引擎权重较高网站的webshell,进而在被黑网站上链接自己的网站,其性质与明链一致,都是属于为高效率提升排名,而使用的作弊手法。


1.2 黑链危害

通常来讲,受害主机存在以下两个明显的危害:  
1、组织单位社会形象严重受损  
存在漏洞的搜索引擎权重或者PR较高的网站容易被植入博彩、色情、游戏等黑链,当访问者点击被挂黑链网站时,会被引导到相关的博彩、色情网站,使组织单位的社会形象受损,网站运营者甚至要承担相应的法律责任。  
2、严重影响网站的推广  
被挂黑链网站由于存在太多单向链接,会造成网站快照更新慢、网站排名下降等问题。而网站一旦被搜索引擎发现黑链行为,会被降权或者从关键词排名剔除,非常损害网站的推广。  
同时,黑链已经被植入受害主机,表明主机很可能已被黑客控制,现有的安全防护体系已经部分甚至完全失效,还存在以下潜在风险:  
1、组织单位遭受更进一步的损失  
攻击者可以进一步对网站实行挂马、信息篡改、信息窃取和信息监控,严重威胁用户网站的安全,导致企事业单位遭受更进一步的资产损失。  
2、遭受监管单位通报  
黑客将恶意程序植入受害主机,控制主机作为“肉鸡”攻击互联网上的其他单位,违反网络安全法,遭致网信办、网安等监管单位的通报处罚。  
 


1.3 安全感知识别原理

安全感知平台对相关黑链进行识别,收集了绝大部分的黑链关键字,通过结合社区威胁情报,使用威胁建模等方式,可以有效地对网页黑链进行识别。  
安全感知平台在威胁等级上将其标记为高等级威胁,在失陷确定性等级上将其标记为已失陷。  
 
 

2、黑链验证方法

本章主要介绍了使用相关工具结合安全感知平台验证黑链事件的方法。  
 


2.1 验证工具及要点

2.1.1 工具  
验证黑链常使用以下工具:  
1、谷歌或Firefox浏览器  
2.1.2 要点  
分析黑链事件只需要记住以下要点即可:  
1、访问存在黑链的页面,查找黑链  
2、对黑链进行验证  
3、推荐了解一些CSS语法,了解常见的隐藏方式。  
 


2.2 验证方法

我们以某个黑链失陷主机为例,演示如何验证黑链。  
   
 
在Firefox中打开   http://www.jinlingweiye.com/product/html/ 网站。按F12,进入开发者模式,点击“查看器”,查看网页源代码。  
   
 
按Ctrl + F查找黑链关键词腾博会  
   
 
点击这些链接,可以看到是一些没有意义的垃圾网站。  
   
 
对链接外的div的style属性分析  
   
 
我们可以知道,其采用绝对定位,并且超出了屏幕可视范围。所以在网页上不能直接看到!而搜索引擎在爬取网站的时候,又会超链接中的关键字,黑客从而到达了提高搜索引擎权重的目的。  
 


2.3 小结

这章介绍了我们如何通过安全感知平台日志,结合浏览器的F12查看源代码方法验证黑链。  
 
 

3、黑链解决方案

通常来说,被挂载了黑链的主机可以确定当前业务系统已经被攻破,是极其严重的安全事件。而要想完全解决黑链问题,是一个系统性的工程,我们按照清除黑链、事件溯源、清除恶意软件、安全加固等方面来进行阐述。  
 


3.1 清除黑链

黑链问题的本质是网页被篡改,所以清除黑链的方法主要就是将网页代码还原。按照下面方法即可:  
(1)登陆web服务器,重新上传代码。  
(2)如果没有备份的代码,则使用使用批量修改的工具,把检测出来的黑链和被修改的文件批量地进行清除修复。  
(3)在重新上传网站的代码文件之后,接着就是找到其他被修改的后台代码文件了,因为,一般情况下,网站前台的模板文件被修改了,很容易就能发现的,但是如果是网站的一些后台文件就比较难发现,例如:存放图片的模板、存放数据库等的一些模板文件,要找到那些被恶意篡改的后台文件,并及时地修改过来。  
 


3.2 事件溯源

主机被植入黑链,通常都是Web服务器因为安全漏洞被黑客控制,所以要想彻底杜绝黑链,了解清除服务器如何被入侵,对整个攻击事件进行溯源是很重要的。  
对安全事件的溯源需要对相关访问日志进行分析并模拟黑客入侵攻击路径,需要一定的安全知识和渗透思路,这里推荐购买安全服务。  
 


3.3 清除恶意软件

通常来讲,黑客通常通过Webshell或端口转发等远程控制工具或脚本控制主机,然后篡改网页产生黑链,所以要想避免讲网页代码还原后持续产生黑链,需要将相关控制软件和脚本进行全面清理:  
(1)Webshell脚本查杀推荐使用D盾、安全狗、EDR等专业工具  
(2)使用杀毒软件如电脑管家、火绒剑对服务器进行全面杀毒  
 


3.4 安全加固

待我们对黑链进行清除后,则需要考虑对Web系统进行脆弱性漏洞的修复,这一过程相对来说比较复杂。通常来讲,网络被入侵主要是以下几方面造成的:  
(1)网络安全设备配置不当导致失去防护能力  
(2)网络设计没有进行分层,导致内网访问权限控制缺失,应对内网渗透等安全攻击防御乏力  
(3)缺乏相关安全运维的手段或机制  
解决以上问题可以使用以下几种机制:  
(4)对网络安全设备配置进行核查,确保可以有效应对网络攻击  
(5)从安全角度考虑,适当对网络进行重新规划  
(6)建立安全运维的规范或制度,提高运维人员的安全意识  
待进行安全加固后,可以尝试对网站进行安全体检服务或渗透测试,验证相关问题是否已经有效解决。  
 
 

附录:黑链常见隐藏方式

黑链为了长期潜伏,通常都会利用控制CSS属性来达到隐藏自身的方法,这里介绍一些常见隐藏方式作为查找黑链的一种参考。  
按F12查看源代码后,我们一般都能直接找到关键字进行验证了。为了更好地了解其隐藏过程,这里给大家展示一下常用的通过CSS控制隐藏的方式。  
1、链接位于页面可见范围之外。可以将position位置属性设置成负数,则链接无法显示在可见页面之内。  
   
 
2、利用跑马灯marquee属性,链接以跑马灯形式迅速闪现,跑马灯的长宽设置很小,同时将闪现的频率设置很大,使得查看页面时不会有任何影响。  
   
 
3、利用display:none和visibility:hidden隐藏区域里的内容。  
   
 
4、链接颜色与背景色相同,链接文字使用低像素  
   
 
5、利用遮挡层隐藏暗链。z-index属性可以设置元素的堆叠顺序,z-index值越小其堆叠顺序越靠后,因此可以利用其它层来遮挡暗链。  
   
 
6、利用标签插入链接。  
   
 
以上方法大体只需了解,知道黑链最常用的潜伏方式就是通过控制CSS属性隐藏即可。