「perfctl」と呼ばれるLinux向けマルウェアが3年以上前から活動していたことが明らかになりました。perfctlはCPUを100%使って仮想通貨「Monero」をマイニングするマルウェアで、数百万台のサーバーが標的となり数千台のサーバーが実際に被害を受けたと推測されています。

perfctl: A Stealthy Malware Targeting Millions of Linux Servers

https://www.aquasec.com/blog/perfctl-a-stealthy-malware-targeting-millions-of-linux-servers/

Linux malware “perfctl” behind years-long cryptomining campaign

https://www.bleepingcomputer.com/news/security/linux-malware-perfctl-behind-years-long-cryptomining-campaign/

perfctlの詳細を報告したのはセキュリティ企業のAquaですが、perfctlの存在自体は3〜4年前からインターネット上で複数報告されていたとのこと。例えば、2022年3月2日には「perfctlというプロセスがCPUを100%使用する」という報告がオンラインフォーラムに寄せられています。

linux - 100% CPU load caused by service "perfctl" - Server Fault

https://serverfault.com/questions/1095192/100-cpu-load-caused-by-service-perfctl



Aquaがperfctlの詳細を分析した結果、perfctlは起動時にUNIXドメインソケットを用いた内部通信経路とTorを用いた外部通信経路を確立し、Moneroのマイニングツール「XMRig」を実行していたことが判明しました。



perfctlが攻撃対象のマシン上に作成するファイルの一覧が以下。perfctlは「ユーザーがログアウトしている際にマイニングを実行し、ユーザーがログインしたらマイニングを停止する」という動作で監視の目を逃れていたとのこと。また、攻撃対象マシンの稼働時間を延ばすために「競合するマルウェアを削除する」という機能も実装されていました。



Aquaはperfctlの検出方法として以下を挙げています。

・「/tmp」「/usr」「/root」に疑わしいファイルが含まれていないか確認する

・CPU使用率の急上昇を監視する

・予期しない場所で「httpd」や「sh」といったプロセスが実行されていないか確認する

・システムログで「~/.profile」と「/etc/ld.so.preload」への変更を確認する

・「80.67.172.162」「176.10.107.180」といった外部IPアドレスへのTor通信を監視する

・仮想通貨マイニングプールやプロキシジャッキングサービスへの接続を監視する

・「46.101.139.173」「104.183.100.189」「198.211.126.180」といった既知の悪意あるIPアドレスへの通信を監視する

・「ldd」「top」「lsof」「crontab」などがトロイの木馬を導入した悪意あるバージョンに置き換えられていないか確認する

・ログを分析して「システムバイナリの不正使用」「疑わしいcronジョブ」「エラーメッセージの改ざん」を監視する