Rust版SysJoker

ほぼこもセキュリティニュース By Terilogy Worx

SysJokerは、2022年から観測されているマルチプラットフォーム マルウェアです。
従来はC++で実装されたものが確認されていましたが、先日Rustで実装された亜種が確認されました。

  • マルウェアの動作する環境
    Windowsだけでなく、Linux、macOSも対象となっています。
  • ステルス性が高い
    これはRust版に限った話ではなく、以前からなのですが、検出されにくい構造となっています。
    メモリ内ペイロードの読み込み、多数の永続化メカニズム、C2アドレスの変更のための機構とそのデータの外部保持機能などの手法の組み合わせによって、こういった特性が実現されてしまっています。
    ランダムなスリープ間隔で動作することによる検出の回避、コードの中の文字列の複雑なカスタム暗号化といったことも検出率を下げることに繋がっています。
  • Rust版SysJokerの機能は3つだけ
    永続化する、情報収集する、追加ペイロードを実行する、これだけです。
    C++版に搭載されていた環境のコマンドを実行する機能は、Rust版では実装されていません。
    より一層軽量化し、検出されることを回避しようということなのでしょうか。
  • 機能1:永続化
    最初の起動では、永続化の処理が実行されます。
    永続化機構の仕込みが完了したら、終了します。
  • C2接続
    2回目以降の動作では、C2との通信内容をもとに活動します。
    そのC2の接続先情報は静的に保持されているものではありません。
    OneDriveに置かれた情報を利用します。
    OneDriveの情報は暗号化されていますので、セキュリティ機器で通信内容をそのまま取得して解釈しようとしても難しいと考えられます。
    C2のアドレスが簡単に変更できる構造ですので、IPやFQDNの評判情報を活用してこれに対策することは容易ではなさそうです。
  • 機能2:情報収集
    マルウェアは、Windowsのバージョン、ユーザー名、MACアドレス、その他のさまざまな感染したシステムに関する情報を収集します。
    そして、C2に送信します。
  • 機能3:追加ペイロードの実行
    マルウェアは、C2の指示で追加のペイロードを入手して、それを実行します。
    実行結果はC2に戻します。
    環境のコマンドを実行する機能は省略されたのですが、この追加ペイロード実行機能があれば十分に代替となりそうです。

マルウェアは次々に変化してきています。
特定の一つのマルウェアに注目するだけでも、軽量化、暗号文字列の利用の複雑化、固有文字列の分離、実装内容の頻繁な変更、こういったことが確認できます。
防御側では、こういった状況に対して、どういった対策が選択できるでしょうか。

参考記事(外部リンク):ISRAEL-HAMAS WAR SPOTLIGHT: SHAKING THE RUST OFF SYSJOKER
research.checkpoint.com/2023/israel-hamas-war-spotlight-shaking-the-rust-off-sysjoker/