挖矿劫持:当机器在为别人挖矿
挖矿恶意软件如何进入机器,为什么矿机主人既最容易发现它又最容易被骗,以及如何正确检查和清理一台机器。
什么是挖矿劫持?
挖矿劫持是指有人在不属于自己、也不由自己付费的硬件上运行挖矿软件。这并不罕见。恶意软件控制一台机器后,最常做的就是这件事。
原因很简单:赚钱不需要事后再骗受害者做任何事。真正的受害者是电费,账单会悄悄地寄来。
几乎总是 Monero。这种币用普通处理器也能盈利地挖,所以几千台办公电脑就很有价值。它的隐私特性也让资金无法追踪。
程序通常是 XMRig,一个普通的开源挖矿软件。只是名字和配置被改了。
替别人挖矿的机器,看起来并不像人们以为的那种中毒。没有文件被加密,没有文件丢失,也没有勒索信息。它只是运行得很热、降频、磨损风扇,并且花您的钱。
如果您本来就在挖矿,有什么不同?
一般的文章都说同样的话:留意处理器占用高、发热和风扇吵。在矿机上,这三样都很正常。所以常见的建议什么也发现不了。
身为矿工,您最有条件发现这种情况。但您也最容易被骗。
您的优势是有第二份独立的记录,记下您的硬件产出了什么。矿池仪表盘是在别人的服务器上,根据实际到达的工作测出来的。
把它和矿机报告的数字对比。先扣除过期份额,也就是到得太晚、不被计入的份额。如果仪表盘仍然明显低于矿机,就有东西在吃掉这部分差额。
挖矿软件是怎么进入机器的?
途径变化不大。没有一种需要高明的攻击者。
- 破解和盗版软件。这仍然是最大的单一来源。注册机或打过补丁的安装程序,是您自己同意用自己的权限运行的程序。挖矿软件就藏在压缩包里一起进来。
- 任何没打补丁就暴露在互联网上的东西。服务器软件中广为人知的老漏洞一直有人在扫描。挖矿软件是最受欢迎的载荷,因为它能从一台没有值钱东西的机器上赚钱。
- U 盘。最近的攻击会把自己复制到移动存储设备上。它们藏在一个看起来像磁盘图标的快捷方式后面。不连互联网的网络也是这样被感染的。
- 容器和构建镜像。从公共仓库拉取的基础镜像可能带有挖矿软件。之后,用它构建的每个环境里都会挖矿。
- 浏览器标签页,不过比以前少得多。在页面打开期间挖矿的脚本曾经是一个产业,直到最大的提供商在 2019 年关闭。它们仍存在于流媒体和下载网站上,但关闭标签页就会停止。
本该空闲的机器有哪些迹象?
- 它从来不真正空闲。什么都没打开,风扇却一直转,机箱一直是热的。
- 一个您说不清来历的进程。它的名字常常故意像真正的系统进程。和熟悉的名字只差一个字符,是常见的伎俩。
- 一打开任务管理器,占用就降下来,一关上又回升。这种行为是故意的,本身几乎就是证据。
- 一个没人创建过的计划任务、服务或开机启动项。
- 连向您不认识的主机的出站连接,按固定节奏反复出现。
本该在挖矿的矿机有哪些迹象?
这里的问题不是有没有东西在挖矿,而是在挖矿的是否全都是您的。
- 仪表盘持续低于矿机报告的数字,差距超出了过期份额能解释的范围。
- 您只启动了一个挖矿进程,却有两个。在多 GPU 矿机上,值得数一数。
- 启动脚本或 Flight Sheet 里有您没输入过的钱包地址或主机。要逐字读,不要扫一眼。中间被改过的地址,乍一看完全一样。
- 一张显卡运行得很热,在您的矿池上却没有任何产出。这正是另一个挖矿软件绑在一张卡上的样子。
- 您停止后它还在挖。如果停掉自己的挖矿软件后机器仍不安静,就说明还有别的东西在运行。
什么是钱包替换,为什么损失更大?
另一类恶意软件做的事更恶劣,也更简单。它监视剪贴板。当您复制看起来像钱包地址的内容时,它会换成攻击者的地址。
它挑选的地址开头和结尾的字符都和您的一样。所以粗略检查会通过。有人就这样损失了大笔钱,和挖矿毫无关系。这两类恶意软件常常一起被安装。
矿工还会遇到同一手法的第二种形式。启动脚本或 Flight Sheet 里的地址被改写一次。此后的每一笔支付都去了别处。
什么都没坏,矿机挖得好好的。钱只是到了另一个钱包。人们通常是在奇怪为什么一直没收到支付时才发现。
防御方法很无聊,但有效:
- 在任何重要的地方粘贴地址后,检查整个地址,而不只是两端。
- 确认仪表盘上的地址正是您想要的那个。
- 如果算力没停而支付停了,先检查地址。
如何一步步检查一台机器?
按以下顺序进行:
- 对比两个算力。把矿机报告的数字和矿池仪表盘放在一起看,看一天而不是一分钟。
- 读一遍自己的配置。在每台矿机上,逐个字符检查每个钱包地址和每个主机。
- 停止挖矿软件并观察。停止后仍然忙碌的机器,说明还有别的东西在运行。
- 列出所有自动启动的东西。在 Windows 上,检查计划任务和服务。在 Linux 上,检查定时器和 cron。登录时运行的东西也要检查。
- 在您自己的挖矿软件停止时查看出站连接。任何仍在按节奏通信的东西,都值得查清楚是什么。
- 用可靠的工具扫描,但不要因为结果干净就停下。挖矿软件常常被修改到扫描器认不出来。所以这一步放在最后,而不是最前。
为什么只删除文件不够?
这些挖矿软件就是为了卷土重来而设计的。删掉程序,但启动它的东西还在,只能换来几分钟。
按以下顺序清除:
- 计划任务、服务、开机启动项、cron 行和注册表项。
- 然后是文件本身。
- 然后重启,并检查没有东西回来。
如果是重要的机器,考虑重装系统。存放过钱包或私钥的机器更是如此。能装上挖矿软件的同一个访问权限,也能装上任何别的东西。
现代的攻击还会顺手收集密码。从另一台设备上,修改那台机器接触过的密码。
如何保持干净?
预防这件事的规则很无聊。人们会跳过它们,因为挖矿就意味着从陌生人那里下载未签名的软件。
- 从项目自己的发布页面获取挖矿软件,并核对公布的校验和。来自论坛链接、视频简介或重新打包的压缩包的挖矿软件,是矿机被感染最可能的途径。您本来就预料到会有警告,所以就把它忽略了。
- 永远不要在挖矿或存放钱包的机器上运行破解软件。绝对不要。这两种习惯不能并存。
- 给所有暴露在互联网上的东西打补丁。大多数感染是自动化的,按版本号挑选机器。
- 让接收支付的钱包和挖矿的机器分开。矿机只需要地址,从不需要密钥。
- 矿机有任何改动后,检查支付地址。发生任何意外后,再检查一次。