热搜
您的位置:首页 >> 生活

你在网页上看片儿的时候有人可能正借用你的

2019年03月25日 栏目:生活

虎嗅注:打开页看了个片儿,此时的你心情甚是愉悦。但你可能不知道,有人正在做着挖矿劫持的勾当。就在你看小电影和“剁手”的同时,他们可能正在利用

虎嗅注:打开页看了个片儿,此时的你心情甚是愉悦。但你可能不知道,有人正在做着挖矿劫持的勾当。就在你看小电影和“剁手”的同时,他们可能正在利用脚本去获取数字货币。这到底是怎么回事?

本文转自公众号“硅星人”(ID:guixingren123),作者:光谱。虎嗅获得授权转载。

1

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 还发现,这些站中有八成本身就含有其他的恶意代码/软件,可能窃取用户的付款信息。

2

了解了 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 当真是个挺不错的主义。它本来应该是一种站营利的新方式。但现在,我们可以看到它已经被滥用了。这就是恶意软件。”

3

如果你关注数字货币和区块链,可能经常访问国内外相关的交易所、资讯站、新币发行站等等。事实上,身为所谓的“币圈”“链圈”人士的你,正是挖矿劫持有可能的潜在受害者。

既然挖矿劫持是一件坏事,既然 Coinhive 是一款恶意软件,接下来的问题很显然:我们该怎样防范它?

或许有以下几种方法:

风扇狂转

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

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

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

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

查找相应代码

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

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

script src=

/script

script

var miner = new onymous( B4ShXfNHJy3nEDclHBuc5i2bKJ3Sok8P

art();

/script

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

B4ShXfNHJy3nEDclHBuc5i2bKJ3Sok8P

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

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

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

安装挖矿劫持隔离插件

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

时刻保持警惕

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

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

  • 友情链接
  • 合作媒体