NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 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:5412157

评论

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

EDAS 4.0 助力企业一站式实现微服务架构转型与 K8s 容器化升级

阿里巴巴云原生

阿里云 云原生 PaaS EDAS

学生管理系统详细架构设计文档

21°Char

架构实战营 - 模块八作业

en

#架构实战营

契约测试理论篇

刘冉

软件测试 契约测试

探索式测试落地实践

刘冉

探索测试

【高并发】从源码角度分析创建线程池究竟有哪些方式

冰河

Java 并发编程 多线程 高并发 异步编程

linux之ClamAV杀毒软件安装配置

入门小站

Linux

自定义View:如何实现图片放大后拖动和滑动效果

Changing Lin

11月日更

学生管理系统设计文档

Geek_cb2b43

Python 官方研讨会:彻底移除 GIL 真的可行么?

Python猫

Python

测试用例编写和管理

刘冉

软件测试 测试用例

14 K8S之对外访问容器服务

穿过生命散发芬芳

k8s 11月日更

学习心得 - 架构训练营 - 第八课

Fm

MyBatis 中为什么不建议使用 where 1=1?

王磊

mybatis

软件测试中的服务虚拟化

刘冉

Mock测试框架 服务虚拟化

纯CSS实现轮播图

Augus

CSS 11月日更

《PyTorch深度学习实战》复习之环境搭建

IT蜗壳-Tango

11月日更

和12岁小同志搞创客开发:手撕代码,做一款声控灯

不脱发的程序猿

少儿编程 DIY 传感器 创客开发 Arduino

模块四作业

bob

「架构实战营」

【架构实战营】模块三作业

liu🍊

Scrum模式之估算点模式读后感

Bruce Talk

敏捷 随笔 Agile User Story Scrum Patterns

学习心得 - 架构训练营 - 第七课

Fm

服务端系统性能测试

刘冉

性能测试

架构实战营模块三作业

spark99

架构实战营

数据产品经理实战-数据分析能力养成

第519区

数据分析 数据产品

Java8中Stream初试

Geek_4bdbe1

2021年了,数据分析还吃香么?

好奇分析

Python 最佳实践 数据分析 爬虫 职业发展

在线英文名随机生成器

入门小站

工具

大数据训练营一期毕业作业

朱磊

聚焦云原生,阿里云与 CNCF 共话「云未来,新可能」

阿里巴巴云原生

阿里云 云原生 活动 KubeCON

对于排序号中参数值的校验

卢卡多多

参数校验 11月日更

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