本文以挖矿程序为例,介绍云安全中心在处理挖矿病毒的事前、事中、事后所提供的安全告警、拦截查杀、溯源分析等服务。

前提条件

  • 请在资产中心页面的服务器页签下,查看服务器的客户端(即云安全中心Agent)状态是否为开启,只有云安全中心客户端的状态为开启,云安全中心才能防护该服务器。
  • 如果服务器的客户端状态为暂停保护,则说明该服务器上的客户端已被关闭,云安全中心无法为该服务器提供保护。您需要为该服务器开启保护。具体操作,请参见修改服务器的保护状态
  • 如果服务器的客户端状态为离线,则说明该服务器上尚未安装云安全中心Agent,云安全中心无法为该服务器提供保护。您需要为该服务器安装云安全中心Agent。具体操作,请参见安装Agent
  • 如果您已为服务器成功安装云安全中心Agent,但在云安全中心控制台上该服务器的客户端状态仍为离线,您需要排查客户端离线的原因。具体操作,请参见Agent离线排查

限制条件

请确保您使用的是云安全中心防病毒版、高级版、企业版或旗舰版。防病毒版、高级版、企业版或旗舰版才支持对您服务器中的挖矿程序进行处理。免费版仅支持安全告警检测,不支持安全告警处理。您可以通过购买云安全中心防病毒版、高级版或企业版来使用安全告警处理的功能。更多信息,请参见文档购买云安全中心

点击此处立即购买云安全中心

免费试用

云安全中心为阿里云账号提供7天免费试用旗舰版的活动。

如果未购买过云安全中心,您可以通过申请免费试用云安全中心的旗舰版,使用旗舰版处理挖矿程序。开通免费试用云安全中心旗舰版的具体介绍,请参见文档开通7天免费试用

点击此处免费试用云安全中心

挖矿程序的特征

  • 挖矿程序会占用CPU进行超频运算,导致CPU严重损耗,并且影响服务器上的其他应用。
  • 挖矿程序还具备蠕虫化特点,当安全边界被突破时,挖矿病毒会向内网渗透,并在被入侵的服务器上持久化驻留以获取最大收益。
  • 挖矿程序具有联动作用,在清理过程中会存在处理不及时或清理不干净导致挖矿病毒反复发生、出现恶意脚本替换系统命令的现象,从而导致执行系统命令时触发恶意脚本执行(例如:xorddos)。因此,需要在挖矿程序的一个执行周期内,尽快将被入侵服务器上的木马程序和持续化后门清理干净,否则容易导致挖矿病毒频繁复发。

如何判断资产中是否存在挖矿威胁

如果您服务器的CPU使用率明显升高,例如达到80%以上,并且出现未知进程持续向外发送网络包的情况,可以判定您的服务器中存在挖矿威胁。详细内容,请参见如何判断资产中是否存在挖矿威胁?

云安全中心用户处理挖矿程序

  1. 登录云安全中心控制台安全告警页面
  2. 在安全告警列表中定位到挖矿程序,单击操作列的处理
    当出现挖矿事件时,云安全中心会产生挖矿程序的告警事件。
    重要 强烈建议您在控制台出现告警事件、或安全治理通知后,使用病毒查杀功能清理隐藏、持久化的恶意文件。具体操作,请参见病毒查杀
  3. 对确认需要查杀的挖矿程序,选中病毒查杀,然后选中隔离该进程的源文件结束该进程的运行,并单击立即处理,防止该程序再次启动。

    云安全中心支持同时处理相同告警功能,如果您想批量处理相同规则或类型触发的告警,您可以选中同时处理相同告警使用此功能。

  4. 对挖矿事件产生的其他衍生告警(例如:矿池通信行为),执行阻断操作。
    云安全中心通过生成对应的策略防止服务器访问矿池,确保您有充足的时间对安全事件进行处理。您也可以手动将矿池IP加入安全组禁用。
  5. 查看进程行为异常告警,确认是否存在异常的计划任务。
    计划任务
  6. 开启病毒拦截功能。
    针对无法及时清理服务器上残留的挖矿程序或清理不干净导致复发的情况,云安全中心提供的病毒拦截功能可对挖矿程序进行精准拦截,在事前抑制挖矿事件的发生。如何开启病毒拦截功能,请参见主动防御挖矿
    • 您可以使用云安全中心的病毒防护功能扫描您的资产,病毒扫描的结果会显示在安全告警处理页面。另外,病毒扫描将清理恶意文件的一些持久化行为,例如:自启动项、定时任务。具体操作,请参见病毒查杀
      说明 病毒扫描结束后,请及时处理安全告警页面上报的告警事件,以确保您服务器的安全。
    • 您还可以通过云安全中心提供的入侵溯源功能,详细了解挖矿程序入侵的过程和链路。攻击溯源

非云安全中心用户处理挖矿程序

挖矿程序为了最大程度获取利益,会存放大量的持久化后门,导致病毒杀不死或难以清理。如果您在未购买云安全中心服务的情况下遇到挖矿病毒,可以采取如下措施排查和处理。

Linux系统

  1. 执行以下命令查看挖矿进程的执行文件链接。
    ls -l /proc/xxx/exe           // xxx表示该进程的PID。
  2. 清除挖矿进程的执行文件。
  3. 在高CPU消耗的进程中定位到挖矿进程,并关闭该进程。
  4. 检查并清除您服务器的防火墙中存在挖矿程序的矿池地址。
    1. 执行以下命令查看是否存在业务范围之外的可疑通信地址和开放端口。
       iptables -L -n
      查看防火墙开放IP和端口
    2. 执行以下命令清除恶意矿池地址。
       vi /etc/sysconfig/iptables
  5. 执行以下命令排查是否存在定时任务。
    crontab -l
    排查定时任务

    您可以根据排查的结果,对可疑的定时任务文件进行处理,防止二次入侵。

  6. 执行以下命令检查SSH公钥中是否存在挖矿病毒,防止出现持续后门。
    cat .ssh/authorized_keys
    排查SSH授权
  7. 查看其他服务器中是否存在挖矿行为,防止挖矿病毒重复感染内网中的其他服务器。

Windows系统

  1. 在PowerShell中执行以下命令,通过CPU占用情况排查可疑的挖矿进程。
     ps | sort -des cpu
     While(1) {ps | sort -des cpu | select -f 15 | ft -a; sleep 1; cls}
  2. 执行以下命令,查看挖矿进程的磁盘文件、进程启动命令的参数。
    wmic process where processid=xxx get processid,executablepath,commandline,name     //xxx表进程pid
  3. 结束挖矿进程,清除挖矿文件。
  4. 执行以下命令,检查主机连接的可疑网络端口。
    netstat -ano | findstr xxx            // xxx 表可疑的网络端口
  5. 执行以下命令,检查服务器中hosts文件是否存在挖矿程序的矿池地址。
    type  C:\Windows\System32\drivers\etc\hosts
  6. 执行以下命令,排查是否存在挖矿程序设定的计划任务。
    schtasks /query

其他方案

如果病毒入侵较深,关联到系统底层组件,很难手动排查和清除。强烈建议您在备份重要数据后,重置服务器的系统,可确保完全清理挖矿程序。操作步骤如下:

  1. 创建快照备份服务器上的重要数据。具体操作,请参见创建一个云盘快照
  2. 初始化服务器的操作系统。具体操作,请参见重新初始化系统盘
  3. 使用快照生成云盘。具体操作,请参见使用快照创建云盘
  4. 挂载云盘到重装系统后的服务器上。具体操作,请参见挂载数据盘
同时,阿里云也提供安全应急响应服务,由专业的安全技术人员来帮助您解决,应急响应可提供的内容如下:
  • 帮您全面清理系统中存在的木马、病毒、异常账号、异常文件、WebShell、暗链等。
  • 分析黑客入侵手法,查找入侵原因。
  • 指导用户进行安全加固。

应急响应服务的详细信息,请参见应急响应服务