すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:マイニングウイルスへの対処と保護

最終更新日:Jun 24, 2026

クラウド環境において、マイニングウイルスは CPU などのリソースを悪意を持って消費し、インスタンスの遅延や応答の低下、さらにはリモート接続が不能になるといった事態を引き起こします。これは、ビジネスの中断、データ漏洩、リスクの拡散につながる可能性があります。Security Center を使用するか、パスワードやキーのリセット、IP アドレスのブロックといった手動の対処および保護戦略を実行することで、迅速に被害を封じ込め、再感染を防ぐことができます。

マイニングウイルスのアラート

無料のセキュリティ強化が有効になっているインスタンスでは、マイニングプログラムが検出されると、Security Center は SMS またはメールでアラートを送信します。[セキュリティアラート] ページに移動して、マイニングプログラム のアラートを確認してください。

挖矿告警

説明

マイニングプログラムは、持続的に高い CPU 使用率を維持します。したがって、インスタンスの遅延、応答の低下、またはリモート接続が不能になること は、多くの場合、感染の最初の兆候です。リモート接続の問題をトラブルシューティング中に異常に高い CPU 負荷に気づいた場合は、このトピックを参照して調査と修復を行ってください。

重要

マイニングウイルスが原因でサーバーが初めてシャットダウンされた場合、[セキュリティコントロールイベント] ページに移動して自分でロックを解除できます。

サーバーのロックを解除した後は、速やかにマイニングプログラムを駆除する必要があります。マイニング活動が再度検出された場合、サーバーはシャットダウンされてロックされ、自分でロックを解除することはできなくなります。

マイニングウイルスの対処と駆除

感染したサーバーの隔離

感染した ECS インスタンスは、そのセキュリティグループルールを変更して、パブリックネットワークと SSH アクセスを制限することで隔離できます。

  1. ログインして、ECS コンソールのセキュリティグループページに移動します

  2. 対象の ECS インスタンスが属するセキュリティグループを見つけ、そのセキュリティグループ ID をクリックして管理ページに移動します。

  3. セキュリティグループのルールページで、RDP や SSH ポートなど、パブリックアクセスを許可するすべてのインバウンドルールを見つけます。これらのルールのソースを、特定の信頼できる IP アドレスからのみアクセスを許可するように変更します。

    説明

    セキュリティグループルールの変更は、そのセキュリティグループにバインドされているすべての ECS インスタンスに影響します。変更が意図せず他のインスタンスに影響を与えないことを確認してください。

悪意のあるプログラムの駆除

マイニングプログラムは完全に駆除することが困難な場合が多いです。重要なデータをバックアップした後、クラウドディスクの再初期化 を行い、プログラムが完全に駆除されるようにすることを推奨します。

Security Center

前提条件

ステップ 1:即時封じ込め

Security Center の セキュリティアラート 機能を使用して、悪意のあるプロセスを終了させ、ウイルスファイルを隔離することで、マイニングプログラムを迅速に停止します。

  1. セキュリティセンターコンソールにログインします。

  2. 左側のナビゲーションペインで、[脅威分析とレスポンス] > [セキュリティアラート]を選択します。コンソールの左上隅で、アセットのリージョンを選択します。

  3. マイニングアラートの 詳細 列で、詳細 をクリックしてアラートの詳細を表示します。

    Security Center コンソールで、基本情報、イベントの説明、および 機能を使用して、マイニングプログラムを特定し、他のアラートや不審なファイルがないか確認します。マイニングアラートをトリガーしたファイルが、正規のビジネスファイルか悪意のあるファイルかを判断する必要があります。マイニングプログラムが、マイニングプールとの通信や悪意のあるドメイン名へのアクセスなど、他のアラートイベントに関連している場合は、それらをまとめて処理することをお勧めします。

  4. [アラートの処理] をクリックします。表示されたダイアログボックスで、[ウイルス検出と削除] を選択し、ビュー をクリックします。

    同じタイプまたは同じルールによってトリガーされた複数のアラートを処理するには、[類似のアラートを同時に処理] を選択します。

  5. セキュリティアラートリストで、マイニングプールとの通信動作など、クリプトマイニングイベントによって生成された他の派生アラートに対して [ブロック] 操作を実行します。

    Security Center は、サーバーからマイニングプールへのアクセスをブロックするポリシーを生成します。これにより、セキュリティイベントに対処するための十分な時間が確保されます。また、手動でマイニングプールの IP アドレスをセキュリティグループに追加してアクセスをブロックすることもできます。セキュリティグループルールを追加する方法については、「セキュリティグループルールの追加」をご参照ください。

  6. セキュリティアラートリストで、プロセスの異常な振る舞いに関するアラートをチェックし、異常なスケジュールされたタスクを見つけて対処します。

ステップ 2:ディープスキャン

Security Center の ウイルス検出と削除 機能を使用してアセットをスキャンします。この機能は、自動起動項目やスケジュールされたタスクなど、マルウェアの永続化メカニズムをスキャンしてクリーンアップできます。

  1. [セキュリティセンターコンソール]にログインします。

  2. 左側のナビゲーションペインで、保護設定 > ホスト保護 > ウイルスの検出と除去 を選択します。コンソール左上で、アセットのリージョンを選択します。

  3. [ウイルス検出と削除] ページで、[今すぐスキャン] または [再スキャン] をクリックします。[スキャン設定] パネルで、スキャンモードとスキャン範囲を設定し、OK をクリックします。

    [スキャンモード][クイックスキャン] に設定し、[スキャン範囲] でマイニングプログラムに攻撃されたサーバーを選択します。

  4. スキャンが完了したら、[ウイルス検出と削除] ページの対象アラートの 操作 列で、プロセス をクリックします。

  5. [アラートの処理] パネルで、[ディープスキャン] を選択し、次へ をクリックします。

    システムがアラートを処理した後、結果とステータスを表示できます。

    image

セキュリティ検出

Security Center のエージェントレス検出機能を使用して、ECS インスタンスのシステムディスクとデータディスクの包括的なセキュリティスキャンを実行します。この機能は検出のみをサポートし、修復は提供しません。リスク詳細ページの手順に基づいて、検出されたリスクに手動で対処する 必要があります。エージェントレス検出は従量課金機能です。詳細については、「エージェントレス検出」をご参照ください。

エージェントレス検出

  1. セキュリティセンターコンソールにログインします。

  2. 左側のナビゲーションペインで、保護設定 > ホスト保護 > エージェントレス検出 を選択します。コンソール左上で、アセットのリージョンを選択します。

  3. [エージェントレス検出] ページの [ホストセキュリティチェック] パネルで、[今すぐ検出] をクリックします。

  4. 今すぐ診断 パネルで、次の表の説明に従って設定を構成し、OK をクリックします。

    • Scan Scope:データディスクをスキャンすることを推奨します。 データソースが完全であるほど、脆弱性やアラートの検出結果が向上します。

    • [Image Retention Duration]

      • 値の範囲は 1~365 日です。

      • イメージの作成には料金が発生します。 イメージの保持期間が長いほど、料金は高くなります。

        重要

        Retain Only At-risk Imageを選択すると、スキャン完了後、システムは脅威のない イメージを自動的に削除します。

  5. 検出タスクが完了したら、脆弱性、ベースラインチェック、セキュリティアラート、および機密ファイルの結果を表示します。

    リスク詳細ページの手順に従って、速やかにリスクに対処します。

    image

手動での駆除

駆除操作を行う前に、サーバーのスナップショットを作成して、操作ミスによるデータ損失を防ぎます。

Linux

  1. 悪意のあるネットワーク通信のブロック

    ホスト上でマイニング活動を発見した後、最初のステップは、トロイの木馬のネットワーク通信をブロックして、その影響を即座に抑えることです。完全なインシデント対応には時間がかかる場合があります。

    1. 次のコマンドを実行して、現在のシステムのネットワーク接続状態を表示します。

      netstat -antp

      image

    2. 次のコマンドで、c2_address を、通常の業務で使用されていない不審なリモートアドレス (Foreign Address) に置き換えます。次に、コマンドを実行して、サーバーと不審なアドレス間のすべてのネットワーク接続をブロックするファイアウォールルールを追加します。

      iptables -A INPUT -s c2_address -j DROP
      iptables -A OUTPUT -d c2_address -j DROP
  2. マイニングプログラムとその関連ファイルの削除

    マイニングプログラムは完全に駆除することが困難な場合が多いです。重要なデータをバックアップした後、クラウドディスクの再初期化 を行い、プログラムを完全に駆除してください。

    • スケジュールされたタスクの駆除

      マイニングのトロイの木馬は、しばしばスケジュールされたタスクを使用して、自身を 定期的にダウンロード (更新) して実行 します。マイニングプロセスとトロイの木馬ファイルを削除するだけではプログラムを根絶できず、再感染につながる可能性があります。

      以下のスケジュールされたタスクファイルを調査し、マイニングのトロイの木馬のダウンロードと実行に関連するタスクを削除します。

      1. 現在のユーザーまたは指定されたユーザー (username) のスケジュールされたタスクを表示します。

        crontab -l
        crontab -u username -l
      2. ホスト上のすべてのスケジュールされたタスクファイルを確認します。

        /etc/crontab
        /var/spool/cron/
        /etc/anacrontab
        /etc/cron.d/
        /etc/cron.hourly/
        /etc/cron.daily/
        /etc/cron.weekly/
        /etc/cron.monthly/
    • 自動起動サービスエントリの駆除

      1. 次のコマンドを実行して、システム上のすべての自動起動サービスを確認します。

        systemctl list-unit-files | grep enabled
      2. 不審なサービスのユニットファイルを見つけ、その詳細を確認します。

        * をサービス名に、<service_unit_name> をサービスユニットファイル名に置き換えます。

        ls -al /etc/systemd/system/*.service
        ls -al /usr/lib/systemd/system/*.service
        
        # サービスの詳細 (サービスによって開始されるプロセスファイル) を表示
        cat /etc/systemd/system/<service_unit_name>.service
      3. 悪意のある自動起動サービスを見つけた場合は、次のコマンドを使用してサービスを無効にし、そのユニットファイルを削除します。

        <service_name> をサービス名に、<service_unit_name> をサービスユニットファイル名に置き換えます。

        systemctl disable <service_name>
        rm /etc/systemd/system/<service_unit_name>.service
        rm /usr/lib/systemd/system/<service_unit_name>.service
      4. 次のサービスパスで自動起動サービスを確認し、上記の手順でクリーンアップします。

        /etc/rc.local
        /etc/inittab
        /etc/rc.d/
        /etc/init.d/
    • SSH 公開鍵の駆除

      マイニングトロイの木馬は、多くの場合、攻撃者の SSH 公開鍵を ~/.ssh/authorized_keys ファイルに追加します。これにより、攻撃者はパスワードを使用せずに被害者のホストにログインし、悪意のあるファイルを再度埋め込むことができます。~/.ssh/authorized_keys ファイルを確認し、不審な公開鍵を直ちに削除する必要があります。

    • .so ハイジャックの駆除

      /etc/ld.so.preload ファイルにプリロードされた .so ファイルを設定することで、攻撃者は top/ps/netstat などの一般的なシステムコマンドをハイジャックしてマイニングプロセスを隠蔽できます。

      1. 次のコマンドを実行して、プリロードされた.so ファイルを確認します。

        cat /etc/ld.so.preload
      2. 次のコマンドを実行して、プリロードハイジャックを削除します。

        echo > /etc/ld.so.preload
    • 悪意のあるアカウントの駆除

      一部のマイニングのトロイの木馬ファミリーは、被害者のホストを長期的に制御するために新しい バックドアアカウント を作成します。次のコマンドを実行して悪意のあるアカウントを確認し、関連するアカウント情報を手動で削除します。

      1. 最近のアカウント作成アクティビティのログを確認します。

        cat /var/log/audit/audit.log | grep useradd
        # または
        cat /var/log/secure | grep 'new user'
      2. /etc/passwd ファイルで不審なアカウントを確認してください。

        cut -d: -f1 /etc/passwd
      3. 不審なアカウントの home ディレクトリを調べて、その作成日時または最終活動日時を確認します。最近作成された home ディレクトリには特に注意してください。

        stat /home/guest/
    • マイニングのトロイの木馬プロセスの駆除

      マイニングプロセスは通常、高い CPU リソースを消費します。次のコマンドを使用して、不審なマイニングプロセスを調査できます。

      1. 高い CPU を消費しているプロセスを見つけます。

        top -c

        image

        ps -eo pid,ppid,cmd,%cpu --sort=-%cpu | more

        image

      2. 異常なネットワーク接続の振る舞いを確認します。

        netstat -antp

        image

      3. 不審なプロセスのファイルパスを取得します。

        ls -al /proc/$PID/exe
      4. プロセスファイルの MD5 ハッシュを計算し、Alibaba Cloud 脅威インテリジェンス プラットフォームでファイル情報を照会します。

        md5sum /proc/$PID/exe

        image

      5. 次のコマンドを実行して、マイニングプロセスを終了し、マイニングファイルを削除します。

        kill -9 $PID
        # ls -al /proc/$PID/exe から取得したプロセスパスを削除
        rm /path/to/executable

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

推奨事項

駆除後、再感染を防ぐために以下の推奨事項に従ってください:

  • パスワードとキーのリセット:インスタンスのパスワードまたはキーが侵害された可能性があります。再感染を防ぐために、すべてのユーザーパスワードと SSH キーを速やかに変更してください。ログオン資格情報としてパスワードを使用する場合は、脆弱なパスワードの使用を避けてください。

  • 脆弱性の修正:既知の脆弱性にパッチを適用し、オペレーティングシステムや Redis、Jenkins などのアプリケーションに定期的にセキュリティアップデートを適用します。

  • データのバックアップ:インシデント後の迅速な復旧を可能にするために、重要なデータとシステム構成のスナップショットを定期的に作成します。 

関連ドキュメント

マイニングプログラムに対する防御のベストプラクティス:Cloud Firewall の IPS モジュールは、脆弱性インテリジェンスと仮想パッチを使用して、ほとんどのマイニングワームからのネットワークエクスプロイトを追跡および防御し、ウイルスの拡散をブロックします。

よくある質問

「Operation not permitted」エラーの修正方法

一部のマイニングウイルスは、スケジュールされたタスクや自動起動項目などの永続化ファイルを書き込んだ後、ファイルが削除されるのを防ぐために、これらのファイルに不変 (immutable) 属性を設定します。

image

上図に示すように、 chattr -i [filename] コマンドを実行して属性を削除し、その後ファイルを削除します。

マイニングプログラムが再発する原因

これは通常、メインのウイルスプログラムのみが削除され、その永続化メカニズム (スケジュールされたタスクや自動起動サービスなど) が削除されなかったために起こります。ウイルスはこれらのバックドアを使用して自身を再ダウンロードして実行するため、再発します。「悪意のあるプログラムの駆除」の手順に従って、すべての永続化の方法を徹底的に調査してください。