Intezer Labsのセキュリティ研究者は、Linuxデバイスを標的とする高度な新型マルウェアを特定した。OrBitと名付けられたこのマルウェアは、短時間で永続化し、検知を回避し、ログを操作してネットワーク活動における存在を隠すことができる。
このモジュールは、マルウェアではかなり一般的な手法である共有ライブラリ内の呼び出し関数をフックするが、「高度な回避技術」と「SSH経由のリモート機能」も実装している。
このセキュリティ研究所は、Linuxの脅威について「セキュリティツールの監視を巧みに逃れながら進化を続けており、今回のOrBitも、新たなマルウェアがいかに検知を回避し、永続化できるかを示すもう1つの例だ」と結論付けた。
「最高のオープンソースセキュリティツール」を参照。
OrBitマルウェアの詳細
OrBitは、標的マシン上の特定のファイルに実行済みコマンドの出力を書き出す。Intezerの研究者は、マルウェアが使用するファイル名の1つにちなんで、この名称を付けた。
このマルウェアは、インストール先のパスや、次のようなその他の設定をカスタマイズする引数を受け取る。ペイロードの内容などだ。OrBitには2つのインストールモードがある。永続化用の/lib/と、揮発性用の/dev/shm/(シムメモリ)だ。
Intezerは、セキュリティチームや防御担当者向けに侵害の痕跡(IoC)を公開した。ドロッパーは環境を準備し、ファイルシステムとやり取りするPythonスクリプトを書き込んで、ペイロードを配置し、高い権限で実行する。また、環境変数LD_PRELOADを使って共有ライブラリを乗っ取る。この手法は、Symbioteなど他のLinuxマルウェアにも見られる。
Intezerによると、OrBitは2つの異なる方法で悪意のあるライブラリを読み込む。
- ローダーが使用する設定ファイルに共有オブジェクトを追加する
- ローダー自体のバイナリにパッチを適用し、悪意のある共有オブジェクトを読み込むようにする
共有オブジェクト(libdl.soなど)を特定のパスに配置すると、libc、libcap、Pluggable Authentication Module(PAM)という3つのライブラリの関数をフックできる。これらの関数は既存のプロセスによって使用されるため、マルウェアはマシン全体に広がり、検知を回避してリモートアクセスを設定できる。
Orbitは、「ファイルを広範に利用する」ことで、他の手法を上回っている。実際、標的マシン上の特定のファイルに窃取したデータを保存する手法は、研究者によるとかなり新しいものだ。
マシン全体に感染するステルスマルウェア
研究者らは、「このモジュールは複数の関数をフックし、実行中のプロセスや使用中のファイルに悪意のある共有ライブラリが存在することを示す可能性のある情報が出力されるのを防ぐ」と記している。
このマルウェアは、ドロッパーが設定したカスタム数値(GID)を使って、自身のファイルやプロセスを識別する。「ハードコードされた値と一致しなければ、事前定義されたGID値を持つすべてのディレクトリが関数の出力から除外される」。
この慎重なアプローチにより、マルウェアは大半の従来型セキュリティツールの監視を逃れられる。OrBitは、回避に注力する初めてのマルウェアではない。別のLinuxマルウェアであるBPFDoorは、一般的なLinuxデーモンの名前を使って検知を逃れる(下の画像を参照)。

しかし、LinuxのPluggable Authentication Moduleの関数をフックしてSSH接続から情報を盗むことで、攻撃者はネットワーク活動を隠しながらリモートアクセスを獲得できる。
「最高のネットワーク監視ツール」を参照。
OrBitは永続化を最適化できる
マシンの稼働中は、このマルウェアを削除するのが難しい。Intexerは、これは「どちらか一方が失われた場合に備えて」永続化を実現する2つの方法が使われているためだと説明している。
まず、マルウェアへのパスを/etc/ld.so.preload設定ファイルに追加し、マルウェアが最初に、かつ新たなすべてのプロセスで読み込まれるようにする。この方法は設定ファイルが削除されると機能しなくなるため、2つ目の方法では、ローダー自体のバイナリをコピーしてパッチを適用し、設定ファイルがシステム上に見つからない場合に備える。
管理者がファイルを削除しても、元のバージョンに戻しても、マルウェアはファイルを再作成するか、再度パッチを適用する。
さらに、このマルウェアは自身のネットワーク活動を監視し、トラフィックをフィルタリングできる。そのために、bind、connect、pcap_packet_callbackなどの関数をフックし、マルウェアフォルダー内の.portsファイルにIPアドレスとポートを記録する。
「主要な脆弱性管理ツール」を参照。
Linuxエンドポイントがマルウェアの標的になるケースが増加
Linuxは本質的に他のOSより安全だと考えるのは、よくある誤解だ。Linuxはほとんどのクラウドベースのアーキテクチャで使われ、企業でも非常に一般的であるため、ハッカーにとって魅力的な標的であり、監視も必要になる。
当然、従来型のアンチウイルスソフトウェアでは、そうしたソフトウェアを回避するよう特化して作られたOrBitのような脅威は検出できない。マルウェアの背後にいる脅威アクターは、こうしたハッカーなら当然ともいえるほどLinuxの内部構造を熟知しているようで、その手法は他のグループにも影響を与える可能性がある。Intezerの発表後、一部のセキュリティベンダーは対応マッピングを更新したが、依然としてこの脅威を検出できていないベンダーもある。





