一文看懂“挖矿劫持”,拒绝成为“免费矿工”

2018-06-28 00:33 阅读:8595
今天你“被挖矿”了吗?

一文看懂“挖矿劫持”,拒绝成为“免费矿工”

加密货币劫持(cryptojacking),也称作挖矿劫持,是指未经授权使用别人的计算机挖掘加密货币。

通常,黑客通过让受害者点击电子邮件中的恶意链接,将加密货币挖矿代码加载到计算机上;或者使用JavaScript代码感染网站或在线广告,而JavaScript代码将在受害者浏览器内加载后自动执行。

无论通过哪种方式,挖矿代码将在后台运行,而毫不知情的受害者可以正常使用计算机。他们可能注意到的唯一迹象是计算机性能下降或执行滞后。

为何挖矿劫持事件层出不穷?

没有人知道黑客通过挖矿劫持开采了多少加密货币,但毫无疑问这种做法日渐猖獗。

基于浏览器的挖矿劫持正在快速增长。去年11月,据Adguard报告,浏览器内的挖矿劫持增长率为31%。Adguard研究发现,共有33000个网站运行挖矿劫持脚本,而这些网站每月的访问数量预计达到10亿。今年2月,Bad Packets Report发现了34474个运行Coinhive的站点。Coinhive是最受欢迎的JavaScript挖矿程序,也被用于合法的加密货币挖矿活动。

网络安全解决方案提供商WatchGuard Technologies的威胁情报分析师Marc Laliberte表示,“加密货币挖矿正处于初级阶段,还有很多发展和演变的空间。”他指出,Coinhive程序易于部署,并且在第一个月就创造了30万美元的价值。

“从那以后,Coinhive发展得很快。这样赚钱真的很容易。”

1月份,研究人员发现了Smominru加密货币挖矿僵尸网络,该蠕虫感染了超过50万台机器,主要集中在俄罗斯、印度和台湾地区。僵尸网络的目标是让Windows服务器挖掘门罗币(Monero)。网络安全公司Proofpoint估计,截至1月底,它已经创造了360万美元的价值。

挖矿劫持甚至不需要拥有重要的技术能力。根据Digital Shadows的报告《新淘金热:加密货币成为欺诈的新领域》,挖矿劫持工具包在暗网只卖30美元。

挖矿劫持越来越受黑客欢迎的一个原因是风险更低却能获得更多金钱。SecBI的CTO兼联合创始人Alex Vaystikh表示:“对于黑客来说,挖矿劫持是比勒索软件更廉价、更有利可图的替代品。”如果使用勒索软件,黑客每次感染100台计算机,或许只能让3个人付费。而使用挖矿劫持,被感染的100台计算机都可以用来挖掘加密货币。他解释说,虽然通过挖矿劫持和使用勒索软件获得的金钱可能一样多,但是挖矿可以不断地产生价值。

另外,挖矿劫持被发现和识别的风险也远低于勒索软件。挖矿代码将静默运行,并且可能很长时间不被发现;就算被发现,也很难追溯到源头。因为没有任何东西被盗或被加密,受害者没有什么动机去追溯。黑客倾向于选择Monero和Zcash等匿名加密货币,而不是比特币,因为很难追踪这些货币背后的非法行为。

挖矿劫持是如何发生的?

黑客主要通过两种方式让受害者的计算机悄悄地挖掘加密货币。

一种方法是诱导受害者将挖矿代码加载到计算机上。通过类似网络钓鱼的方法完成劫持:受害者收到一封看似合法的电子邮件,诱导他们点击链接。这个链接会运行代码,将挖矿脚本加载到计算机上。受害者使用计算机时,挖矿脚本代码可以在后台运行。

另一种方法是在可以大量传播的网站或广告里植入脚本。一旦受害者访问被感染的网站或者点击浏览器弹出的广告,脚本将自动执行。没有代码存储在受害者的计算机上。

无论使用哪种方法,挖矿代码都会利用受害者的计算机挖矿,并将结果发送到黑客控制的服务器。

黑客通常会使用这两种方法来获取最大化的回报。Vaystikh表示:“攻击者会使用恶意软件技术作为备用,向受害者的计算机发送更可靠和持久的恶意软件。”例如,在100台为黑客挖掘加密货币的设备中,其中10%可能通过受害者设备上的代码产生收入,90%则通过他们的网络浏览器实现。

与大多数其他类型的恶意软件不同,挖矿劫持脚本不会损害计算机或者受害者的数据。它们窃取的是CPU处理资源。对于个人用户来说,计算机性能变慢可能只是一个烦恼。而对于企业来说,如果很多系统被劫持挖矿,可能会增加成本。为了解决问题,服务台和IT部门需要花费时间追踪性能问题并更换组件或系统。 

挖矿劫持实际案例

挖矿劫持者很聪明,设计了很多方案来利用他人的电脑挖掘加密货币。大部分的方案并不新奇,其传播方式通常借鉴其他恶意软件(如勒索软件或广告软件)的方法。以下是一些真实发生的案例:

流氓员工劫持公司系统

在今年的EmTech数字会议上,Darktrace讲述了一家欧洲银行的故事。这家银行的服务器出现了异常流量,在夜间运行缓慢,但是银行的诊断工具没有发现任何异常。Darktrac发现,在那段时间里有新服务器上线,而银行表示并没有这些服务器。最后,Darktrac对数据中心进行实地检查时发现,一名流氓员工在地板下建了一个加密货币挖矿系统。

利用GitHub传播挖矿软件

3月份,Avast软件公司报告称,挖矿劫持者正在将GitHub作为恶意挖矿软件的宿主。他们找到合法的项目,从中创建一个分叉项目;然后将恶意软件隐藏在该分叉项目的目录结构中。挖矿劫持者通过使用网络钓鱼方案引诱用户下载该恶意软件,例如提醒更新Flash播放器或者伪装成一个成人游戏网站。

利用rTorrent漏洞

挖矿劫持者发现了一个rTorrent错误配置漏洞,无需进行XML-RPC通信验证即可访问一些rTorrent客户端。他们扫描互联网寻找未打补丁的客户端,然后在客户端上部署Monero挖矿软件。F5 Networks在2月份报告了这个漏洞,并建议rTorrent用户确保其客户端不接受外部连接。

Chrome恶意插件Facexworm

这种恶意软件最早是由卡巴斯基实验室于2017年发现的,它是一款谷歌浏览器插件,使用Facebook Messenger来感染用户的计算机。最初,Facexworm用于传播广告软件。今年早些时候,趋势科技发现了多种面向加密货币兑换的Facexworm,并且能够传播加密货币挖矿代码。它仍然使用被感染的Facebook帐户来传播恶意链接,但也可以窃取网络帐户和凭证,从而允许它将挖矿劫持代码植入到这些网页。

暴力挖矿病毒WinstarNssmMiner

5月份,360安全卫士发现了可以迅速传播的挖矿劫持程序WinstarNssmMiner。这个恶意程序的特别之处在于,卸载它会让受害者的计算机崩溃。WinstarNssmMiner首先启动svchost.exe进程并向其植入代码,然后将该进程的属性设置为CriticalProcess。由于计算机将其视为关键进程,因此一旦强制结束该进程,计算机就会蓝屏。

如何预防挖矿劫持?

如果遵循这些步骤,可以最大限度地降低公司被劫持挖矿的风险:

  • 公司安全意识培训应该增加关于挖矿劫持威胁的内容,着重介绍通过网络钓鱼将挖矿脚本加载到用户计算机上的劫持方式。

Laliberte认为培训会有帮助,网络钓鱼将继续成为攻击者发送各种恶意软件的主要方式。而针对通过访问合法网站自动执行挖矿劫持的方式, Vaystikh表示,培训效果不佳,因为你没办法告诉用户不能访问哪些网站。

  • 在Web浏览器上安装广告拦截或反挖矿插件。

由于挖矿劫持脚本通常通过网络广告进行传播,因此安装广告拦截器可能是阻止它们的有效手段。Ad Blocker Plus等广告拦截器具备检测挖矿脚本的功能。Laliberte推荐No Coin和MinerBlock等可以检测和拦截挖矿脚本的浏览器插件。

  • 使用能够检测已知挖矿程序的端点保护技术。

许多端点保护/防病毒软件供应商已经添加了检测挖矿程序的功能。Anomali安全策略总监Travis Farral说:“防病毒是终端预防挖矿劫持的方法之一。如果这个程序是已知的,那就很可能被检测出来。”他补充道,需要注意的是挖矿程序的编写者正在不断改变技术,避免被端点检测到。

  • 更新网页过滤工具。

如果已经确定一个网站正在运行挖矿脚本,请确保所有用户不会再访问该网站。

  • 维护浏览器插件。

一些攻击者正在使用浏览器恶意插件或者被感染的合法插件来执行加密货币挖矿脚本。

  • 使用移动设备管理(MDM)解决方案更好地控制用户设备上的内容。

自带设备(BYOD)策略可以有效预防非法的加密货币挖矿行为。Laliberte认为,MDM可以长期保持自带设备的安全。MDM解决方案可以帮助企业管理用户设备上的应用和插件。MDM解决方案倾向于面向大型企业,小型企业通常负担不起。不过,Laliberte指出,移动设备不像台式电脑和服务器那么危险。因为移动设备的处理能力往往较低,所以对黑客来说并不是很赚钱。

如何检测挖矿劫持?

与勒索软件一样,尽管企业竭尽全力去阻止挖矿劫持,还是可能受到影响。企业可能很难检测挖矿劫持,特别是在只有少数系统受到损害的情况下。以下是有效的方法:

  • 训练服务台,发现挖矿劫持的迹象。

SecBI的Vaystikh表示,有时候,挖矿劫持的第一个迹象就是服务台收到用户关于计算机性能下降的抱怨。企业应该对此予以重视,并进一步进行调查。

服务台应该寻找的其他信号是可能导致CPU或散热风扇故障的系统过热。Laliberte指出,因为CPU使用率过高,系统过热会造成损坏,并可能缩短设备的使用周期。对于平板电脑和智能手机等移动设备更是如此。

  • 部署网络监控解决方案。

Vaystikh认为,企业网络中的挖矿劫持比家庭网络更容易检测,因为大多数消费者端点解决方案都无法检测到它。挖矿劫持很容易通过网络监控解决方案进行检测,而大多数企业都有网络监控工具。

不过,即便拥有网络监控工具和数据,很少有企业可以有工具和能力来分析这些信息,从而进行准确的检测。例如,SecBI开发了一个AI解决方案来分析网络数据,并检测挖矿劫持和其他特定威胁。

Laliberte认为,网络监测是检测挖矿劫持的最佳选择。审查所有网络流量的网络周边监控方案,更有可能检测出挖矿行为。许多监控解决方案将深入检测每一个用户,以便确定哪些设备受到影响。

Farral表示,如果企业服务器配备了靠谱的过滤器来监控出口端点的网络连接请求,那么可以很好地检测出恶意挖矿软件。不过,他警告说,挖矿软件的编程者有能力改写恶意软件,来规避这个检测方法。

  • 监控自己的网站是否被植入挖矿劫持代码。

Farral警告说,挖矿劫持者正设法在Web服务器上植入一些Javascript代码。服务器本身并不是其攻击目标,但是任何访问该网站的人都有感染的风险。他建议企业定期监视Web服务器上的文件更改情况或者自行更改页面。

  • 随时了解挖矿劫持的发展趋势。

挖矿劫持的传播方式和挖矿代码本身在不断发展。Farral表示,了解挖矿劫持软件和劫持行为可以帮助企业检测挖矿劫持。一个精明的企业会跟进事情的最新进展。如果掌握了挖矿劫持的传播机制,就知道某个特定的开发工具包正在发送挖矿代码。保护开发工具包,也将成为预防挖矿劫持的措施。

如何应对挖矿劫持攻击?

  • 关闭并拦截网站发送的恶意脚本。

对于浏览器内的JavaScript劫持攻击,一旦检测到挖矿劫持,就应该关闭运行恶意脚本的浏览器标签页。IT部门应该注意发送脚本的网站URL,并更新企业的网页过滤器进行拦截。企业可以考虑部署反挖矿工具,帮助防止未来的攻击。

  • 更新并清理浏览器插件。

Laliberte表示,如果一个插件感染了浏览器,关闭标签页将无济于事。这时应该更新所有插件,并删除不需要或已经感染的插件。

  • 学习并适应。

借助这些经验更好地了解攻击者是如何危害系统的。更新企业的用户、服务台和IT培训内容,以便他们更好地识别挖矿劫持并采取相应的行动。


声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

点击阅读全文