2017 年 9 月,有人在盗版下载种子站“海盗湾”(The Pirate Bay) 上发现了数字加密货币的挖矿程序。当用户访问海盗湾的网页时,他们的电脑实际上成为了矿机,挖掘着一种名叫 Monero 的数字货币。
此事发酵后,海盗湾的管理员出面认了罪。他们指出,网站需要生存,他们在“测试”这种新的收入方式,因为网站上堆积如山的广告已经备受诟病。
这种劫持事件,在过去一年里曾经多次发生。遗憾的是,并非每次都有人出来认错。
就在这周,有人报告称,居然在 YouTube 的网页上发现了同样的挖矿程序……这次问题出在了广告上。在 YouTube 网页的右上角位置,视频播放控件的右侧、推荐视频的上方,展示的是来自于 Google DoubleClick 广告平台的广告。涉事的广告上没有内容,一片空白,显得十分蹊跷。
调查后研究人员发现,这个广告里的 JavaScript 代码里,包含了一段挖矿脚本。
至于这次 YouTube 事件里,挖的又是哪款数字货币呢?很巧,又是 Monero。
这种劫持技术,被安全专家称为:
Cryptojacking
首先我们来了解一下,Cryptojacking 到底是什么东西
Cryptojacking=Cryptocurrency(数字加密货币)+ Hijacking(劫持)
它的字面意义是劫持数字货币,实际意义则是劫持用户的设备,利用 CPU 或其他处理器进行挖矿,因而可以叫做:挖矿劫持。
它的定义:在受害者不知情的前提下,使用受害者的计算设备来挖取数字货币。
很多流行的数字货币,比如比特币 (BTC)、以太坊 (ETH) 等,在市场上都有着较高的价值。但它们本质上只是符合某种特定数学公式或规律的字段,发现它需要使用计算资源,也就有了所谓的“挖矿”。如果购买市面上已经挖出的数字货币需要付钱,挖出新的数字货币则可以称得上凭空印钞。
但挖矿并不是一件容易的事。按照原始设计,符合某个特定规律的字段数量是有限的,意味着可以挖出的数字货币也是有限的。谁有更多的算力,囤积了更多的 CPU、GPU,谁才能更快挖出更多数字货币。而问题在于,不是每个人都拥有一座位于偏远山区享受廉价电费的“矿场”。
这也是为什么一些别有用心之人想出了挖矿劫持这个主意:让挖矿变成一个众包的任务,用网页偷跑挖矿程序,每个中招的人都贡献一点 CPU,不就成了自己的矿场。
Cryptojacking 能够实现的原因在于:它可能只是一段,一行或几行 JavaScript 代码。
而几乎所有的网站网页都有 JavaScript 代码,它们在你打开网页后自动静默运行,没有提示,不需要安装,更不需要你的同意。
一旦中招,普通的用户通常很难察觉——除非你平时一直开着任务管理器,发现 CPU 占用率突然升高,或者你的电脑有风扇,突然开始狂转,才可能发现蹊跷。
应用内劫持也是一种挖矿劫持方法,包括并不限于桌面软件和手机应用。比如,有研究者发现,在 Google Play 上有不少下载量过百万的 App 内包含挖矿劫持。
由于 JavaScript 的通用以及静默运行的特性,浏览器内挖矿劫持是目前最流行的挖矿劫持方式。2017 年 11 月,安全研究员 Troy Mursch 分析了海量网站,发现全网已经有超过 30,000 个网站内已经被植入了挖矿劫持代码——包括网站本身被黑客劫持(像 YouTube),以及网站主有意为之(像海盗湾)。
如果你也发现了类似的网站,而且是你经常访问的网站——请考虑删除你的用户信息。因为 de Groot 还发现,这些网站中有八成本身就含有其他的恶意代码/软件,可能窃取用户的付款信息。
了解了 Cryptojacking 的本质后,我们接下来分析:谁是挖矿劫持的幕后黑手?
硅星人统计,包括海盗湾、YouTube 等在内的几次比较知名的挖矿劫持事件,涉事的数字货币都是 Monero (XMR)。
根据其网站,Monero(缩写 XMR)是一种安全、隐私和无法追踪的数字加密货币,开源,并且任何人都可以获取和使用。
按照美元对价计算的市值,XMR 在所有数字货币中排名第 13。本周,暗网领先的电商网站 Dream Market 已经全面启用 XMR 作为推荐的支付方式。其网站还提到,通过 XMR 进行的交易都将完全保密,外界无法查看。正是由于隐私和无法追踪的特性,XMR 才备受挖矿劫持者的青睐。
看完了数字货币,我们再来看实现路径。
安全研究员指出,在绝大多数挖矿劫持事件中,都能发现来自 Coinhive 的代码。
如果你一定要给 Coinhive 一个中立的、技术的定义:它是一个分布式挖矿服务的供应商。但大部分计算机安全人士都认为 Coinhive 是一种恶意软件 (malware)。
计安分析机构 Trend Micro 在去年 11 月将 Coinhive 评为全球第六大恶意软件。发生在去年 9 月的海盗湾事件,正值 Coinhive 正式推出第一代分布式数字货币挖掘服务(以下简称 Coinhive),也成为了它的成名之作。
然而最初,Coinhive 的开发者声称的作用,却是为网站主创收。网页中植入 Coinhive 代码,访客打开网页后,每秒可以进行 20 或更多次哈希计算。越多访客访问网页,挖到的 XMR 越多,为网站主带来更多的收入,取代在线广告存在的地位。
Coinhive 的网站上明确写下了一些文字,简单来说:如果植入的只是个人网站,每天流量极小的话,那么为网站主带来的收入只会是微乎其微的,网站必须有“可观”的用户量才会产生靠谱的收入;另外,这些植入了脚本的网页,在用户的浏览器中打开时间越长,挖矿的总体效果越好。
脑筋活络的黑客盯上 YouTube 的原因也正是在此:YouTube 每天都有着数以亿计的访问量,且一个视频时长几分钟到数十分钟。YouTube 用户停留在网页上的时间,远比用户浏览一个电商产品页面或者新闻网站、博客页面要长,挖矿的效果要好得多。
在这起事件中,广告中的 JavaScript 代码植入了 Coinhive 挖矿指令,这些广告被喂给了日本、法国、意大利、西班牙和台湾等国家和地区的用户,尽管不是全平台,而且不是这些国家所有用户都有机会看到,但访问量仍十分惊人。
相信黑客做过计算,最后通过挖矿得到的收入,能够弥补投放这些广告的支出……抑或他只是想玩票,试一下这样做的可行性。挖矿得出的 XMR,Coinhive 抽三成,网站主得七成。据估算,如果网站有 10-20 个“活跃用户”,不停地挖一个月,网站主的月收入也才 0.3 个 XMR,或约 100 美元。
总的来说,通过植入挖矿劫持代码营收,对于网站主来说风险高,收益也没想象的那么多。小网站主赚不到钱,大网站主做了一旦被发现面临着信任破产用户流失,不是一件经济的事。独立开发者 Maxence Cornet 曾经做过一个测试,一个日均 1000 独立访客,每人每 session 50 秒左右的网站,在 60 个小时内产生了 0.00947 个 XMR,折合每天 36 美分,连一个汉堡都买不了。
但对于 Coinhive 来说,每个网站主的每个网页都可以抽三成,如果真的有 30,000 个网站,甚至更多的网站的海量网页在挖矿,为 Coinhive 开发者带来的收入倒是十分可观。
也就是说,挖矿劫持整件事,压根和为用户创收没有关系,更像是 Coinhive 编造,伪装在奖励网站主的外衣下,实际上动用数万个奴隶主从更多奴隶的身上赚钱的谎言。
安全研究员 Troy Mursch 指出,Coinhive 已经成为了网络犯罪分子的最新收入来源,“我觉得 Coinhive 当真是个挺不错的主义。它本来应该是一种网站营利的新方式。但现在,我们可以看到它已经被滥用了。这就是恶意软件。”
如果你关注数字货币和区块链,可能经常访问国内外相关的交易所、资讯新闻站、新币发行网站等等。事实上,身为所谓的“币圈”、“链圈”人士的你,正是挖矿劫持最有可能的潜在受害者。
既然挖矿劫持是一件坏事,既然 Coinhive 是一款恶意软件,接下来的问题很显然:我们该怎样防范它?
硅星人为你带来以下几种方法:
01 风扇狂转
显然,风扇转速暴增是 CPU 利用率提高的一个表象。如果你的风扇突然狂转,可以继续查看CPU利用率。
02 查看CPU利用率
观察 CPU 占用是发现潜在挖矿劫持最容易的方法。在 PC 上打开任务管理器,点击性能;在 Mac 上打开自带的活动监视器 (Activity Tracker),就可以看到 CPU 占用情况了。
如果某个浏览器/浏览器标签占用了大量 CPU,而你清楚没有打开一个很重型的网页,那么你可能中招了。但有的脚本不会将 CPU 推到太高,比如{throttle: 0.5},其中 0.5 即为 CPU 占用率,此时观察就不管用了。
如果你不确定是否遭遇了挖矿劫持,请继续下一步检查,查找相应代码。
03 查找相应代码
采用 Coinhive 服务进行挖矿劫持的网页,会留下清晰的脚印。如果在一个正常的网站的网页里找到了 Coinhive 的字样,这个网站八成有鬼。
代码可能长得像下面这样:
你也可能会遇到脚本来源不是 Coinhive 的情况,所以也可以观察会不会有
B4ShXfNHJy3nEDclHBuc5i2bKJ3Sok8P
类似这么一段字段出现。这就是钱包的地址了。
当然,也不是所有做了挖矿劫持得网站都是坏人。有些良心尚存的网站会弹出明显的提示,告诉你网站植入了代码,问你是否同意,如果不同意即不执行,如下:
一旦你确定了挖矿劫持的存在,你可以选择拒绝执行,或者不再继续访问这个网站。但如果你想要确保今后不会再中招,可以安装挖矿劫持隔离插件。
04 安装挖矿劫持隔离插件
主流浏览器如 Chrome、Firefox 的插件平台上都已经有了隔离器,如 No Coin、minerBlock 等。这些插件可以屏蔽 Coinhive 等目前已知的挖矿脚本来源的域名,理论上不影响你所浏览网页的其他功能。
05 时刻保持警惕
自从首个挖矿劫持脚本出现,已经有很多网站沦陷了,其中不乏知名网站和大公司的官网。除了海盗湾,还有星巴克 (Starbucks.com)、无限制格斗 (UFC.com) 等,就连 YouTube 都因为 Google 广告平台的漏洞而失守。
你需要保持警惕,因为任何一个网站都可能被利用。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
江苏省苏州市 1F
所以我早早的就下载了火绒。火绒对这个防范还是比较敏感的。
江苏省苏州市 2F
鸟哥长时间不更新,一更新就带来如此惊爆的消息。
河南省郑州市 3F
然鹅,鸟哥的网站就插入了这样的挖矿代码,在我读完这篇文章时,已经为鸟哥挖到了0.0014个XMR
河南省郑州市 4F
哈哈
湖南省衡阳市 5F
挖矿赚钱啊
湖南省衡阳市 6F
好劲爆的新闻,文章写的也很详细。
江苏省苏州市 7F
没办法,有些时候我也怀疑我的电脑是不是有问题,可惜查不出来