写点什么

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

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

评论

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

6月15号MOVE PROTOCOL上线测试版,如何参与呢?

EOSdreamer111

Git远程操作详解

乌龟哥哥

6月月更

spring4.1.8扩展实战之四:感知spring容器变化(SmartLifecycle接口)

程序员欣宸

Java spring Spring Framework 6月月更

【Python技能树共建】验证码实操2案例

梦想橡皮擦

6月月更

如何制定业务的故障分级标准?

华仔

架构实战营 故障定级 故障分级

耳东 2022 新的开始

耳东@Erdong

6月月更

C#入门系列(十五) -- 枚举

陈言必行

C# 六月月供

开发增效利器—IDEA辅助插件推荐

中原银行

开发 IDEA 插件 中原银行

影响软件公司开发价格的因素有很多,你知道吗?

开源直播系统源码

软件开发流程 直播系统 app源码 直播源码 定制软件开发

数字化转型之数字资产知识库(springboot+es+vue+neo4j)

金陵老街

全文检索 知识图谱 Vue 3 spring-boot

数组(三)

Jason199

数组 js map 6月月更

HarmonyOS应用/服务开发流程详解

坚果

6月月更

运营商动态路由的神器 :IS-IS 协议

wljslmz

6月月更 路由协议 IS-IS

主数据管理

奔向架构师

数据仓库 主数据 6月月更

NodeJS 操作cookie 🎀

德育处主任

node.js Node 6月月更

互联网公司研发效能/工程效率团队组织架构选择

laofo

互联网 DevOps 研发效能 持续交付 快手

Jetty 运行的时候出现 503 异常的原因

HoneyMoose

《知道做到》:如何从知道到做到?

郭明

被这个参数三杀了

hncscwc

hadoop 6月月更

如何在 Django 中创建应用程序?

海拥(haiyong.site)

django 6月月更

InfoQ 极客传媒 15 周年庆征文|你真的了解RPC和REST吗?

No Silver Bullet

Rest RPC框架 构架 6月月更 InfoQ极客传媒15周年庆

企业知识管理系统应具备的功能

小炮

Linux开发_动态静态库创建与Makefile规则

DS小龙哥

6月月更

远程办公带来的挑战和变化 | 社区征文

编程攻略

初夏征文

WebStorm注册码_WebStorm2022年激活永久实测有效

Geek_75f9e9

webstorm

一文掌握软件安全必备技术 SAST

SEAL安全

网络安全 软件安全 SAST工具 SAST

滴灌通-服务中小企业的金融创新(36/100)

hackstoic

创业 商业模式

实战 | 【男保姆式】教你打开第一个微信小程序

写程序的小王叔叔

微信开发 小程序开发 6月月更

Java项目集成activity工作流,快速开发业务审批单据(低代码,敏捷)

金陵老街

敏捷 springboot Activity Vue 3 BPMN

JavaScript期约Promise

大熊G

JavaScript 前端 6月月更

【直播回顾】战码先锋第五期:深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅

OpenHarmony开发者

Open Harmony

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