【技术揭秘】基于浏览器的指纹识别技术(含缓解方案)

物联网

  写在前面的话

  恶意软件的开发者 们通常都会利用各种各样的工具和技巧来隐藏自己的攻击行为。在这种情况下,指纹识别技术又给这些犯罪分子们提供了一个非常好的“保护伞”。在指纹识别技术的帮助下,网络犯罪分子们不仅可以躲避安全研究专家的检测,而且在进行大规模攻击活动的时候也不容易被觉察到。为了能够让大家更好地理解本篇文章的主人公-指纹识别技术,我们首先用下面这句话来简单描述一下:指纹识别技术利用了现代浏览器中的一个信息泄漏漏洞,该漏洞允许攻击者访问目标用户主机的文件系统,并且还可以从中查找出预定义的字段名称。

  指纹识别技术与黑客能擦出怎样的火花?

  想必大家也已经在网络上看到过不少指纹识别技术成功应用的例子了,而且我们还在2016年3月份的 安全研究白皮书 中介绍了其中的某些案例,虽然这份报告内容较多,但这些内容只是冰山一角。就在不久之前,Proofpoint公司的安全研究专家们发现了一个 大规模恶意广告活动 ,而这一恶意活动已经持续了至少一年的时间。这也就意味着,很可能已经有大量的用户感染了与此次恶意广告活动有关的恶意软件。在指纹识别技术的帮助下,该恶意广告活动可以在不被他人发现的情况下针对正版OEM计算机发动攻击。

物联网

  图片1:恶意广告活动中所使用的指纹识别技术,指纹识别码隐藏于GIF图片之中

  从防御端的角度出发,我们发表这篇文章的目的就是为了帮助大家更好地保护自己。更重要的一点就是,现在的网络攻击技术也在变得越来越复杂了,我们每天所要面对的都是新一轮的安全挑战。如果我们不能尽可能地了解攻击者所用的技术,那么我们怎么可能在这场没有硝烟的战争中取得胜利呢?与此同时,在拥有了一定程度的知识积累后,我们也可以轻易地将某个强大的工具从攻击者的“武器库”名单中除去,这样我们就可以更加快速地检测并识别他们的攻击活动了。当然了,俗话说得好,“道高一尺,魔高一丈”,网络犯罪分子总是能够设计出新的攻击技术来搞破坏。

  值得注意的是,我们还需要考虑隐私方面的问题,因为指纹识别技术可以通过目标主机中的程序列表来识别用户信息。我们可以设想这样一种场景:A公司的市场营销人员肯定会非常想知道访问他们网站的客户是否使用了B公司的产品。具体如下图所示:

物联网

  图片2:直接通过浏览器来检测目标系统中是否安装了诺顿反病毒软件

  实际上,虽然图片2所示的功能只用一行代码就可以实现,但正是因为代码量少,所以才显得它是如此的神奇。很多恶意攻击者可能会为了金钱利益来对某一目标用户的网络行为进行非法监视,而此时他们就可以利用这项技术来了解目标主机中是否运行了类似VPN或者加密软件这样的特定软件了。

  回顾一下那些令人头疼的网络协议

  通过利用IE浏览器协议中的漏洞,攻击者不仅可以在目标主机中运行恶意代码,而且还可以获取目标主机中的数据信息。在这一章节中,我们要回顾一下相关的技术,其中包括目前尚未修复的漏洞,以及漏洞利用工具和恶意广告攻击过程中所利用的漏洞。

  “File:// protocol”协议

  先将我们的视角切换到当年XP操作系统SP2版本刚刚面世的时候,当时XP平台下的本机域(LMZ)可以允许你通过利用其他的协议(file:// protocol)在不受任何限制的情况下运行任意代码。

物联网

  图片3:该漏洞允许攻击者利用IE6以及IE6之前的浏览器版本来运行任意代码,微软公司目前已经修复了这一漏洞

  实际上,“file:// protocol”协议运行在本机域(LMZ)中,该协议拥有完整的主机访问权限,通过下面这段网页代码并实例化一个WScript.Shell,你就可以在目标主机中执行远程代码了。