クラウド環境において、マイニングウイルスは CPU などのリソースを悪意を持って消費するため、インスタンスの動作が遅くなったり、応答が遅延したり、リモート接続が不可能になったりします。これにより、ビジネスの中断、データ漏洩、リスクの拡散が発生する可能性があります。Security Center を使用するか、パスワードやキーのリセット、IP アドレスのブロックなどの手動による対処や保護戦略を実施することで、被害を迅速に封じ込め、再感染を防ぐことができます。
マイニングウイルスのアラート
無料のセキュリティ強化が有効になっているインスタンスでマイニングプログラムが検出されると、Security Center から SMS またはメールでアラートが送信されます。[セキュリティアラート] ページに移動して、マイニングプログラムのアラートがないか確認してください。
[セキュリティアラート] リストでは、マイニングプログラムおよびトロイの木馬のアラートは、赤色の [緊急] 深刻度レベルで表示されます。 対応するアラートの右側にある ビュー または 詳細 をクリックして対応します。
マイニングプログラムは、CPU 使用率を継続的に高い状態で維持します。したがって、インスタンスの動作が遅い、応答が遅い、またはリモート接続ができない状態は、感染の最初の兆候であることがよくあります。リモート接続の問題をトラブルシューティングする際に異常に高い CPU 負荷に気付いた場合は、このトピックを参照して調査と修復を行ってください。
マイニングウイルスが原因でサーバーが初めてシャットダウンされた場合、セキュリティコントロールイベントページに移動して、自分でロックを解除できます。
サーバーのロックを解除した後は、速やかにマイニングプログラムを駆除する必要があります。再度マイニング活動が検出されると、サーバーはシャットダウンされてロックされ、ご自身でロックを解除することができなくなります。
マイニングウイルスへの対処と駆除
感染したサーバーの隔離
感染した Elastic Compute Service (ECS) インスタンスを隔離するには、セキュリティグループルールを変更して、パブリックネットワークと SSH アクセスを制限します。
-
対象の ECS インスタンスが属するセキュリティグループを見つけ、セキュリティグループIDをクリックして管理ページに移動します。
-
セキュリティグループルールページで、RDP および SSH ポートなど、パブリックアクセスを許可するすべてのインバウンドルールを見つけます。これらのルールのソースを、特定の信頼できる IP アドレスからのアクセスのみを許可するように変更します。
説明セキュリティグループルールを変更すると、そのセキュリティグループに関連付けられているすべての ECS インスタンスに影響します。変更が意図せず他のインスタンスに影響しないようにしてください。
悪意のあるプログラムの駆除
マイニングプログラムは完全に駆除するのが困難な場合が多いため、重要なデータをバックアップしてから、プログラムを完全に駆除するために クラウドディスクを再初期化する ことを推奨します。
Security Center
前提条件
-
Security Center を使用してマイニングウイルスの脅威に対処するには、Security Center の Anti-virus、Advanced、Enterprise、または Ultimate エディションを 購入する 必要があります。また、必要なセキュリティ機能を利用するために、Enterprise エディションの 7 日間無料トライアルを有効化する こともできます。
-
感染したサーバー上の Security Center エージェントがオンラインであることを確認してください。詳細については、「エージェントのインストール」および「オフラインエージェントのトラブルシューティング」をご参照ください。
ステップ1:即座の封じ込め
Security Center の [セキュリティアラート] 機能を使用して、悪意のあるプロセスを終了し、ウイルスファイルを隔離することで、マイニングプログラムを迅速に停止できます。
-
Security Center コンソールにログインします。
-
左側のナビゲーションペインで、を選択します。コンソールの左上隅で、アセットのリージョンを選択します。
-
マイニングアラートの操作列で、詳細 をクリックしてアラートの詳細を表示します。
セキュリティセンターコンソールの基本情報、イベントの説明、およびを使用して、マイニングプログラムを特定し、他のアラートや不審なファイルがないか確認します。マイニングアラートをトリガーしたファイルが、正規のビジネスファイルであるか、悪意のあるファイルであるかを判断する必要があります。マイニングプログラムが、マイニングプールとの通信や悪意のあるドメイン名へのアクセスなど、他のアラートイベントに関連付けられている場合は、まとめて処理することをお勧めします。
-
[アラートの処理] をクリックします。表示されるダイアログボックスで、[ウイルス検出と駆除] を選択し、ビュー をクリックします。
同一タイプ、または同一ルールによってトリガーされた複数のアラートを処理するには、[類似のアラートを同時に処理] を選択します。
-
セキュリティアラートリストで、マイニングプールの通信動作など、クリプトマイニングイベントによって生成された他の派生アラートに対して、[ブロック] 操作を実行します。
Security Center は、サーバーがマイニングプールにアクセスするのをブロックするポリシーを生成します。これにより、セキュリティイベントに対処するための十分な時間が確保されます。マイニングプールの IP アドレスをセキュリティグループに手動で追加してアクセスをブロックすることもできます。詳細については、「セキュリティグループルールの追加」をご参照ください。
-
セキュリティアラートリストで、プロセス動作異常アラートを確認し、異常な定期タスクを見つけて対処してください。
ステップ2:ディープスキャン
Security Center の ウイルス検知と駆除 機能を使用して、アセットをスキャンしてください。この機能は、自動起動項目や定期タスクなどのマルウェア永続化メカニズムをスキャンしてクリーンアップできます。
-
Security Center コンソールにログインします。
-
左側のナビゲーションペインで、 を選択します。コンソールの左上隅で、アセットのリージョンを選択します。
-
「ウイルスの検出と駆除」ページで、[今すぐスキャン] または [再スキャン] をクリックします。[スキャン設定] パネルで、スキャンモードとスキャン範囲を設定し、OK をクリックします。
[スキャンモード] を [クイックスキャン] に設定し、[スキャン範囲] で、マイニングプログラムに攻撃されたサーバーを選択します。
-
スキャンが完了したら、[ウイルス検出と削除] ページで、対象のアラートの 操作 列の プロセス をクリックします。
-
[アラートの処理] パネルで、[ディープスキャン] を選択し、次へ をクリックします。
システムがアラートを処理した後、結果とステータスを確認できます。
[修正方法] セクションで、[スナップショットを自動作成して修正] を選択し、[スナップショット名] と [スナップショットの保持期間] を設定して、次へ をクリックします。
セキュリティ検出
Security Center のエージェントレス検出機能を使用して、ECS インスタンスのシステムディスクとデータディスクの包括的なセキュリティスキャンを実行できます。この機能は検出のみをサポートし、修復機能は提供しません。リスク詳細ページの指示に基づいて、検出されたリスク項目を手動で対処する必要があります。エージェントレス検出は従量課金機能です。詳細については、「エージェントレス検出」をご参照ください。
手動クリーンアップ
クリーンアップ操作を実行する前に、操作ミスによるデータ損失を防ぐために、サーバーのスナップショットを作成してください。
Linux
-
悪意のあるネットワーク通信をブロックする
ホスト上でマイニング活動を発見した後、最初のステップは、トロイの木馬のネットワーク通信をブロックしてその影響を直ちに封じ込めることです。完全なインシデント対応には時間がかかる可能性があるためです。
-
次のコマンドを実行して、現在のシステムのネットワーク接続状態を表示してください。
netstat -antp[root@ixxx poc]# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.xxx:xxx 0.0.0.0:* LISTEN 1399/sshd tcp 0 0 12xxx:xxx 0.0.0.0:* LISTEN 1121/master tcp 0 0 127.0.0.xxx:xxx 0.0.0.0:* LISTEN 8847/node tcp 0 0 0.0.xxx:xxx 0.0.0.0:* LISTEN 572/rpcbind tcp 0 0 127.xxx:xxx 12x.x.x.xxx:xxx ESTABLISHED 8988/node tcp 0 0 1xx.xxx.xxx:xxx 10x.xxx.xxx:xxx TIME_WAIT - tcp 0 0 1xx.xxx.xxx:xxx 10x.xxx.xxx:xxx TIME_WAIT - tcp 0 0 127.xxx:xxx 1xx.xxx.xxx:xxx ESTABLISHED 8847/node tcp 0 0 127.xxx:xxx 127.x.x.x:xxx ESTABLISHED 8761/sshd: root@not tcp 0 0 17x.xxx:xxx 10x.xxx.xxx:xxx ESTABLISHED 17704/AliHips tcp 0 0 17x.xxx:xxx:5 18x.xxx:xxx ESTABLISHED 16901/logrotate tcp 0 0 1xx.xxx:xxx 12x.xxx.xxx:xxx ESTABLISHED 8761/sshd: root@not tcp 0 0 1xx.xxx.xxx:xxx 100.xxx:xxx TIME_WAIT - tcp 0 0 1xx.xxx:xxx:3 10x.xxx.xxx:xxx ESTABLISHED 1506/AliYunDun tcp 0 0 17x.xxx.xxx:22 14x.xxx.xxx:xxx ESTABLISHED 8761/sshd: root@not tcp6 0 0 :::xxx :::* LISTEN 1121/master tcp6 0 0 :::xxx :::* LISTEN 572/rpcbind -
次のコマンドで、
c2_addressを、通常のビジネス操作で使用されていない疑わしいリモートアドレス (Foreign Address) に置き換えてください。次に、コマンドを実行して、サーバーと疑わしいアドレス間のすべてのネットワーク接続をブロックするファイアウォールルールを追加してください。iptables -A INPUT -s c2_address -j DROP iptables -A OUTPUT -d c2_address -j DROP
-
-
マイニングプログラムと関連ファイルを削除する
マイニングプログラムは完全に駆除するのが困難な場合が多いため、重要なデータをバックアップしてから、プログラムを完全に駆除するために クラウドディスクを再初期化する ことを推奨します。
-
Windows
-
PowerShell で、次のコマンドを実行し、CPU 使用率に基づいて疑わしいマイニングプロセスを特定してください。
ps | sort -des cpu While(1) {ps | sort -des cpu | select -f 15 | ft -a; sleep 1; cls} -
次のコマンドを実行し、マイニングプロセスのファイルパスと起動コマンドのパラメータを表示してください。
wmic process where processid=xxx get processid,executablepath,commandline,name // xxx はプロセス PID を示します -
マイニングプロセスを終了し、マイニングファイルを削除してください。
-
次のコマンドを実行し、ホスト上の疑わしいネットワークポートを確認してください。
netstat -ano | findstr xxx // xxx は疑わしいネットワークポートを示します -
次のコマンドを実行し、hostsファイルにマイニングプログラムが使用するマイニングプールアドレスが含まれているかどうかを確認してください。
type C:\Windows\System32\drivers\etc\hosts -
次のコマンドを実行し、マイニングプログラムによって構成された定期タスクを確認してください。
schtasks /query
推奨事項
クリーンアップ後は、再感染を防ぐために次の推奨事項に従ってください。
-
パスワードとキーのリセット:インスタンスのパスワードまたはキーが侵害された可能性があります。再感染を防ぐために、すべてのユーザーパスワードと SSH キーを速やかに変更してください。ログイン認証情報としてパスワードを使用する場合は、脆弱なパスワードの使用を避けてください。
-
脆弱性の修正:既知の脆弱性にパッチを適用し、オペレーティングシステムおよび Redis や Jenkins などのアプリケーションに定期的にセキュリティ更新を適用してください。
-
データのバックアップ:重要なデータとシステム構成のスナップショットを定期的に作成して、インシデント発生後に迅速に復元できるようにしてください。
関連ドキュメント
マイニングプログラムに対する防御のベストプラクティス:Cloud Firewall (CFW) の IPS モジュールは、脆弱性インテリジェンスと仮想パッチを使用して、ほとんどのマイニングワームによるネットワークエクスプロイトを追跡・防御し、ウイルスの拡散をブロックします。
よくある質問
"Operation not permitted" エラーを修正する方法
一部のマイニングウイルスは、定期タスクや自動起動項目などの永続化ファイルを書き込んだ後、これらのファイルが削除されないように immutable (immutable) 属性を設定します。
[root@iZxxx poc]# rm /etc/cron.hourly/logrotate
rm: remove regular file '/etc/cron.hourly/logrotate'? y
rm: cannot remove '/etc/cron.hourly/logrotate': Operation not permitted
[root@iZxxx poc]# echo "" > /etc/cron.hourly/logrotate
bash: /etc/cron.hourly/logrotate: Permission denied
[root@iZxxx poc]# lsattr /etc/cron.hourly/logrotate
----i---------e-- /etc/cron.hourly/logrotate
chattr -i [filename] コマンドを実行して属性を削除してから、ファイルを削除してください。
マイニングプログラムが再び出現するのはなぜですか?
これは通常、メインのウイルスプログラムのみが削除され、その永続化の仕組み (定期タスクや自動起動サービスなど) が削除されなかったために発生します。ウイルスはこれらのバックドアを使用して自身を再ダウンロードして実行するため、再び出現します。すべての永続化の手法を徹底的に調査するために、「悪意のあるプログラムの駆除」の手順に必ず従ってください。