写点什么

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

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

评论

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

JavaScript中的包装类型详解

秃头小帅oi

JavaScript 前端

Javascript 重难点总结分享,看到就是赚到!

秃头小帅oi

熟悉TiDB运维管理工具之TiUP(一)

TiDB 社区干货传送门

管理与运维

万字带你走过数据库的这激荡的三年

NebulaGraph

数据库

WebSocket 连接保持方法详解

Apifox

程序员 前端 后端 websocket 长连接

马帮ERP与ETLCloud快速同步

谷云科技RestCloud

数据同步 ETL 数据集成 ERP

Solidity案例详解(四)投票智能合约

BSN研习社

区块链 Solidity

英特尔x爱立信:以开放式移动网络加速未来关键领域数字化转型

E科讯

Redisson 框架中的分布式锁

emanjusaka

Java redis redisson 分布式锁

运维一款月变更70+次的服务,是一种什么体验?

华为云开发者联盟

开发 华为云 华为云开发者联盟

面试官:说说SSO单点登录的实现原理?

王磊

Java 面试

一文了解TiDB的资源管控(Resource Control)能力

TiDB 社区干货传送门

实践案例 新版本/特性解读 7.x 实践

TIKV 分布式事务--加锁的 KEY 是什么

TiDB 社区干货传送门

TiDB 底层架构 TiDB 源码解读

TiDB PLAN REPLAYER 功能使用实践

TiDB 社区干货传送门

6.x 实践

把简单留给用户,把复杂交给 AI

Kyligence

大数据 AI 数据治理 指标平台

TIDB全量+实时增量备份(实现恢复数据库到指定时间点)

TiDB 社区干货传送门

数据库架构设计

“智慧工程”助力房企突破发展瓶颈,精细化管理降本增效

Kyligence

大数据 数字化 解决方案 精细化管理

英特尔携手AT&T、德国电信等推动vRAN创新,AI技术提升网络能效

E科讯

TIKV 分布式事务--悲观锁

TiDB 社区干货传送门

TiDB 底层架构 TiDB 源码解读 TiKV 源码解读 TiKV 底层架构

有道QAnything背后的故事---关于RAG的一点经验分享

有道技术团队

语言 & 开发 #开源

如何做代币分析:以 LEO 币为例

Footprint Analytics

blockchain Token

Java实战1

thinkers

线程池、Lambda、Java实战

软件测试学习笔记丨 k8s环境部署实战

测试人

软件测试 测试开发

阿里云大降价后,与主流云厂商的价格对比,你选哪家?

NineData

数据库 阿里云 服务器 云厂商 阿里云降价

易点天下旗下出海应用数据分析与增长模型平台即将发布,一大波内测福利正在袭来!

新消费日报

【论文精读】| 综述:模糊测试的艺术、科学和工程(下)

云起无垠

熟悉TiDB运维管理工具之TiUP(二)

TiDB 社区干货传送门

管理与运维

黄东旭:2024 现代应用开发关键趋势——降低成本、简化架构

TiDB 社区干货传送门

数据库前沿趋势

资深项目管理者教你快速掌握高效沟通的汇报技巧

霍格沃兹测试开发学社

化是渐化,变是顿变:一窥 OpenAI Sora 相关技术的演进

Baihai IDP

程序员 AI openai 白海科技 GenAI

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