Perfctl という洗練された Linux マルウェアを検出:Polkit の CVE-2021-4043 を悪用?

New Linux Malware ‘Perfctl’ Targets Millions by Mimicking System Files

2024/10/03 HackRead — Linux における 20,000 を超えるミスコンフィグを悪用して、世界中で数百万人を標的にする新たなマルウェアが、Aqua Nautilus のサイバー・セキュリティ研究者たちにより発見された。しばらくの間、このマルウェアは潜伏していたようだが、最近になって Nautilus のハニーポットを攻撃したことで、あらゆる Linux サーバを危険にさらす可能性の脅威として検出され、調査の機会が生まれた。

Aqua Nautilus によると、この Perfctl と呼ばれる洗練された Linux マルウェアは、これまでの数年にわたって、世界中のサーバを秘密裏に標的にしていたようだ。この、きわめて執拗で回避力の高い脅威は、システムを侵害するために、積極的に脆弱性とミスコンフィグを探していた。

このマルウェアの名前である Perfctl は、Linux のシステム・リソースを浪費し、深刻な問題を引き起こすクリプト・マイナー ・プロセスに由来している。10月3日 (木) の情報公開に先立ち、HackRead.com に独占的に共有された調査レポートには、オンライン・コミュニティで Perfctl が蔓延していることを示す、多数のインシデント・レポートとディスカッションが記されていた。

Aqua Nautilus の Assaf Morag と Idan Revivo は、「このマルウェアの影響は、Reddit/Stack Overflow などの、各種の開発者フォーラムからも感じられる。通常においては、これらの投稿の一部で見つかるのは、研究者が書いたマルウェア・レポートへのリンクを含む返信である。しかし、今回のケースでは、そのようなレポートへのリンクは見当たらなかった」と指摘している。

研究者たちが指摘する、もう1つの懸念される傾向は、標準のシステム・ツールと監視プロセスから存在を隠すために、Perfctl がルートキットと回避技術を使用している点にある。それにより Perfctl は、新しいユーザーがログインするときに、一時的に活動を中断して検出を困難にしている。さらに、Perfctl は内部通信に Unix ソケットを使用し、外部接続に Tor ネットワークを使用するため、さらに追跡が困難である。

この攻撃チェーンは、マルウェアが “httpd” という名前の HTTP サーバから、メインのペイロードをダウンロードするところから始まる。このペイロードに取り込まれた複数の実行レイヤーにより、検出の回避と永続性の確保が達成されていく。さらに、このマルウェアは、新しい場所へと自分自身をコピーし、新しいバイナリを実行して元のプロセスを終了し、最初のバイナリを削除する。

続いて、メインのペイロードを別の名前で実行し、疑われないようなプロセス名を選択する。具体的に言うと、このマルウェアは “sh” により実行され、名前が “httpd” から “sh” に変更される。

このマルウェアは、自己複製を達成するが、その際に、正規のシステム・ファイルに似た偽のファイル名を使用することで、持続性を獲得していく。Perfctl は、ディスク上の複数の場所に自分自身をコピーし、システムの再起動やクリーンアップ後も存続できるようにしている。

Perfctl の主な目的は、感染させたシステムを用いて暗号通貨を生成するための暗号通貨マイニングである。また、プロキシ ・ジャッキングや、サーバ・リソース・ハイジャックも確認されている。Perfctl は、Polkit の脆弱性 CVE-2021-4043 を悪用してルート権限を取得し、システム内での広範なアクセスと制御を試みている。

New Linux Malware 'Perfctl' Targets Millions by Mimicking System Files
Attack flow (Aqua Nautilus)

Aqua Nautilus は、「発見されたキャンペーンの規模を考えると、この攻撃者は世界中の数百万人をターゲットにしており、被害者は数千人に達する可能性があると確信している。このマルウェアにより、あらゆる Linux サーバーが危険にさらされる可能性が生じている」と締め括っている。

Perfctl のルートキットと回避技術により、検出が困難になっている。その一方で、偽のファイル名と動作により、正規のものに見せかける戦術も持っている。さらに言えば、動的な振る舞いにより検出が困難になることもある。

Linux システムを Perfctl から保護するためには、最新のセキュリティ・パッチを使用してオペレーティング・システムとソフトウェアを定期的に更新し、脆弱性評価を実施する必要がある。さらに、ファイアウォールや侵入検知システムなどの堅牢なネットワーク・セキュリティ対策を実装し、システム・アクティビティを監視することで異常な動作を検出し、エンドポイント保護ソリューションなどのセキュリティ・ツールを使用すべきだ。