写点什么

如何识别主机是否存在挖矿及快速处置办法

  • 2020-04-01
  • 本文字数:1637 字

    阅读完需:约 5 分钟

如何识别主机是否存在挖矿及快速处置办法

2017 年 5 月 12 日,一款名叫 WannaCry(永恒之蓝)的勒索病毒让全球无数 IT 运维人员为之放弃周末,紧急响应,比特币一夜之间身价倍增,重回大众视线。一时之间各种虚拟货币层出不穷,挖矿技术更新迭代,为了压缩成本,挖矿木马大量涌现,对此毫无戒心的云上用户和企业成了众矢之的,非法挖矿成为了最有利可图的攻击手段。

识别:不仅仅是 CPU 很高

在 2018 年 RSA 大会《The Five Most Dangerous New Attack Techniques, and What’s Coming Next》研讨中,Johannes Ullrich 提出可通过高 CPU 负载、网络流量和主机高温度特征来判断是否存在挖矿,从而采取行动。


事实上,CPU 占用率确实是判断是否存在挖矿的第一步,但却不能够判断一定是在挖矿,比如:网页挖矿很多时候都会控制 CPU 占用率以确其保隐秘性。所以这里提供了另外一种思路,即通过网络流量特征来判断是否在挖矿,无论是挖矿木马还是网页挖矿,最终在流量上都是有所体现的。


通过命令或软件抓包,检查数据包中 tcp 连接的传递载荷,如果存在连续几个数据包中都符合 stratum 协议的 json 载荷特征,那么主机就存在挖矿。


json 中主要特征字段有:id、method、mining.subscribe、params、result、login、job、mining.authorize、mining.submit、jsonrpc、submit、mining.notify、blob、status、keepalive、 mining.set_difficulty,内容主要涉及登陆、订阅、通知、提交等。




(图 1 tcp 连接的传递载荷举例)

快速处置:无矿可挖

既然已经知道主机存在挖矿,接下来就是解决挖矿,快速恢复系统可用性。通过上述的挖矿数据包可知矿池的 IP 地址,首先就是将主机与矿池之间的网络连接阻断。假如矿池 IP 是 1.1.1.1,Linux 使用 iptables 命令:iptables -I INPUT -s 1.1.1.1 -j DROP 就可以完成阻断;Windows 使用 windows 防火墙就可以配置阻断。


如果使用的是华为云主机,那么有两个方式可以做到通信阻断:


  • 安全组,安全组为白名单机制,默认华为云安全组入方向仅开通 any 可访问的 22、3389 端口,主机在挖矿意味着安全组开放比较大,仅保留按需,将 any 策略去除,也就使挖矿无法进行;

  • 网络 ACL,ACL 可配置黑名单,将所有主机风险阻隔。默认情况下,网络 ACL 并没有开启,需要创建 ACL 并绑定至挖矿主机对应网段。网络 ACL 默认入方向和出方向均为拒绝所有连接,且该规则不可修改,为避免云主机应用不可用,可以在入方向和出方向都新增全局放开策略,然后入方向新增黑 IP 不允许通过。这里需要注意的是,ACL 是顺序匹配原则,当命中一条之后则不会继续往下执行,所以黑名单一定要放在最上面,下面是个例子。




(图 2 网络阻断配置举例)


将主机与矿池之间的网络连接断开之后,就能够很明显的看到 CPU 占有率的下降。

彻底根治:查杀清理

对于网页挖矿脚本,需要注意浏览网页时 CPU 使用率,计算机 CPU 使用率飙升且大部分 CPU 使用来自于浏览器,那么网页中可能被植入了挖矿脚本,只需要关闭网页就可以解决。一些浏览器具备免费扩展,可以阻止网站利用浏览器进行挖矿,比如 Chrome 中的 MinerBlock。安装后直接使用,无设置界面,当查看的网站有挖矿行为,扩展会提示和阻止。



(图 3 扩展提示挖矿举例)


对于挖矿软件,最简单的办法就是安装杀毒软件来解决,否则只能通过手工删除的方式来根治。手工删除需要先找到挖矿进程,然后删除对应软件、服务、自启动项、可疑账号等,操作比较复杂,需要专业的安全人员协助。

如何防范:论安全意识的重要性

挖矿木马主要通过撞库、爆破、漏洞等攻击方式入侵主机,当主机管理员有足够安全意识,对主机执行基本的安全加固,被利用挖矿的可能性会大大降低。因此建议:


  1. 避免使用弱口令,建议口令 12 位以上(大小写混排);

  2. 不使用 EOS 系统或版本过低应用,系统和应用补丁及时更新;

  3. 定期维护服务器,从 CPU 使用率、进程、服务、账号可疑项等方面检查是否存在持续驻留的挖矿木马;

  4. 主机按需配置安全组,尽量避免管理端口对 Any IP 开放。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/p7m-mM-j__bpZdfMsvgRAw


2020-04-01 14:5415451

评论

发布
暂无评论
发现更多内容

AI编码工具:面向现代开发者的分层指南

俞凡

人工智能

AI 全栈开发实战营 - 第三章

9527

不是拿着源码过来,就能二开,还需要注意这些

程序员郭顺发

时序数据库 TimechoDB V2.0.4 发布 | 新增用户自定义表函数及多种内置表函数等功能

Apache IoTDB

嵌入式STM32-PID位置环和速度环

芯动大师

stm32 PID 位置环 速度环

【每天学点‘音视频’】GOP-关键帧间隔

小曾同学.com

ffmpeg 实时音视频 GOP B帧

MAZDA EZ-60领衔 长安马自达多款新车型亮相2025重庆车展

极客天地

通义灵码2.5 | 一个更懂开发者的 AI 编程助手

六月的雨在InfoQ

MCP Server AI 编程 通义灵码2.5 编程助手

时序数据库 IoTDB 官方可视化平台 Workbench,一文全面了解!

Apache IoTDB

鸿蒙仓颉语言开发实战教程:商城应用个人中心页面

幽蓝计划

HarmonyOS运动语音开发:如何让运动开始时的语音播报更温暖

王二蛋和他的张大花

鸿蒙

基于YOLOv8的河道垃圾塑料瓶子识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

王二蛋和他的张大花

鸿蒙 os

用 10 个 AI 工具创建独立开发团队

俞凡

人工智能

React源码阅读(2)-fiber核心构建原理

溪抱鱼

【HarmonyOS 5】桌面快捷方式功能实现详解

GeorgeGcs

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

2025 AICon上海站

IT蜗壳-Tango

吃透Java基础面试八股文

Geek_Yin

Java 程序员 java面试 Java面试题

Prefix Caching 详解:实现 KV Cache 的跨请求高效复用

Se7en

Go 语言中的 Hot Path 优化:高性能优化实践指南

异常君

Go 高并发 高性能 优化

2025北京智源大会闭幕|黄铁军:构建物理智能体,具身智能目标是星辰大海

智源研究院

AI Agent驱动下的金融智能化:技术实现与行业影响

申公豹

AI Agent

详解鸿蒙Next仓颉开发语言中的动画

幽蓝计划

吉他初学者如何自学吉他?Guitar Pro如何辅助新手掌握复杂的吉他弹奏技巧

阿拉灯神丁

吉他学习 编曲软件 Guitar Pro8 Mac乐谱制作软件 乐谱软件

三天吃透Java并发面试八股文

Geek_Yin

编程 程序员 java面试 Java面试题

2025年金九银十最全 Java 面试八股文(真实,高频,有详细答案)

Geek_Yin

Java 程序员 java面试 Java面试题

Guitar Pro为什么被称为吉他编曲的绝佳软件?Guitar Pro编曲教程

阿拉灯神丁

吉他学习 吉他谱 编曲软件 Guitar Pro8 音乐创作

【重磅】JimuReport 积木报表 v2.0 版本发布

JEECG低代码

GitHub 数据可视化 免费报表 开源版本

我离职了,聊聊职场、大学、友情和爱情:人不能两次踏入同一条河流,生命只能倒着被理解,但却必须正着被经历

码哥字节

#职场思考

VMware VeloCloud SD-WAN 6.4 - 领先的 SD-WAN 解决方案

sysin

velocloud

"不是都合规了吗?怎么还翻车?

等保测评

如何识别主机是否存在挖矿及快速处置办法_语言 & 开发_华为云产品与解决方案_InfoQ精选文章