Linux 脅威のカテゴリの概要

このドキュメントでは、Linux 脅威カテゴリのルールセットの概要、必要なデータソース、これらのルールセットによって生成されるアラートの調整に使用できる構成について説明します。

Linux 脅威カテゴリのルールセットにより、CrowdStrike Falcon、Linux 監査システム(AuditD)、Unix システムログを使用して Linux 環境の脅威を特定できます。このカテゴリには、次のルールセットがあります。

  • OS 権限昇格ツール: オープンソースの Linux 権限昇格ツールで一般的に見られる動作を検出します。
  • 永続性メカニズム: 攻撃者が Linux ホストへの永続アクセスを確立して維持するために使用するアクティビティ。
  • 権限の変更: 特権認証の試行とアクションに関連するアクティビティ。一般に、Linux ホストで権限を昇格または維持するために使用されます。
  • マルウェア シグナル - 不審な LOTL バイナリ アクティビティ: 実際の環境で Linux マルウェアの観測されたアクティビティに基づいて、不審なネイティブ ツールの使用(環境寄生型)のシナリオを検出します。
  • マルウェア シグナル - 不審なダウンロード アクティビティ: 実際の環境の Linux で悪意のあるダウンロード アクティビティに関連する動作を検出します。
  • マルウェアのシグナル - 不審な実行: 実行(TA0002)の動作に重点を置いて、実際の環境で検出された Linux マルウェアの観察された動作から生成されたシグナルを検出します。

サポート対象のデバイスとログタイプ

Linux 脅威カテゴリのルールセットはテスト済みであり、Chronicle のサポート対象となっている次のデータソースでサポートされています。

  • Linux 監査システム(AUDITD
  • Unix システム(NIX_SYSTEM
  • CrowdStrike Falcon(CS_EDR

Chronicle のサポート対象となっているすべてのデータソースのリストについては、サポート対象のデフォルトのパーサーをご覧ください。

正しいログデータを生成するようにデバイスを構成する

Linux 脅威カテゴリのルールを設計どおりに機能させるには、デバイスが想定する形式でログデータを生成する必要があります。ログを収集して Chronicle に送信する各デバイスで、Linux 監査デーモンに次の永続監査ルールを構成します。

Linux 監査デーモンの永続監査ルールを実装する方法の詳細については、オペレーティング システムに固有のドキュメントをご覧ください。

# Process creation (32 and 64-bit)

-a exit,always -F arch=b32 -S execve
-a exit,always -F arch=b64 -S execve

# Persistence: Cron

-w /etc/cron.allow -p wa -k cron
-w /etc/cron.d/ -p wa -k cron
-w /etc/cron.daily/ -p wa -k cron
-w /etc/cron.deny -p wa -k cron
-w /etc/cron.hourly/ -p wa -k cron
-w /etc/cron.monthly/ -p wa -k cron
-w /etc/cron.weekly/ -p wa -k cron
-w /etc/crontab -p wa -k cron
-w /var/spool/cron/ -p wa -k cron

# Persistence: System Startup

-w /etc/init/ -p wa -k init
-w /etc/init.d/ -p wa -k init
-w /etc/inittab -p wa -k init

# Persistence: Systemd Units and Generators

-w /etc/systemd/user -p wa -k systemd
-w /usr/lib/systemd/user -p wa -k systemd
-w /var/lib/systemd/linger -p wa -k systemd
-w /root/.config/systemd/user -pa wa -k systemd

-w /etc/systemd/system -p wa -k systemd
-w /usr/lib/systemd/system -p wa -k systemd

-w /run/systemd/system-generators -p wa -k systemd
-w /etc/systemd/system-generators -p wa -k systemd
-w /usr/local/lib/systemd/system-generators -p wa -k systemd
-w /usr/lib/systemd/system-generators -p wa -k systemd

-w /run/systemd/user-generators -pa wa -k systemd
-w /etc/systemd/user-generators -pa wa -k systemd
-w /usr/local/lib/systemd/user-generators -pa wa -k systemd
-w /usr/lib/systemd/user-generators -pa wa -k systemd

# Persistence: IAM

-w /etc/group -p wa -k iam_etcgroup
-w /etc/passwd -p wa -k iam_etcpasswd
-w /etc/gshadow -k iam_etcgroup
-w /etc/shadow -k iam_etcpasswd

-w /etc/sudoers -p wa -k iam_sudoers
-w /etc/sudoers.d/ -p wa -k iam_sudoers_d

-w /usr/bin/passwd -p x -k iam_passwd

-w /usr/sbin/groupadd -p x -k iam_groupmod
-w /usr/sbin/groupmod -p x -k iam_groupmod
-w /usr/sbin/addgroup -p x -k iam_groupmod
-w /usr/sbin/useradd -p x -k iam_usermod
-w /usr/sbin/userdel -p x -k iam_usermod
-w /usr/sbin/usermod -p x -k iam_usermod
-w /usr/sbin/adduser -p x -k iam_usermod

# Privilege Escalation

-w /bin/su -p x -k privesc
-w /usr/bin/sudo -p x -k privesc

# Persistence: Libraries

-w /etc/ld.so.conf -p wa -k libmod
-w /etc/ld.so.conf.d -p wa -k libmod
-w /etc/ld.so.preload -p wa -k libmod

# Persistence: PAM

-w /etc/pam.d/ -p wa -k pam
-w /etc/security/ -p wa  -k pam

# Persistence: SSH

-w /etc/ssh/ -p wa -k sshconfig
-w /root/.ssh/ -p wa -k sshconfig

# Persistence: Shell Configuration

-w /etc/bashrc -p wa -k shellconfig
-w /etc/csh.cshrc -p wa -k shellconfig
-w /etc/csh.login -p wa -k shellconfig
-w /etc/fish/ -p wa -k shellconfig
-w /etc/profile -p wa -k shellconfig
-w /etc/profile.d/ -p wa -k shellconfig
-w /etc/shells -p wa -k shellconfig
-w /etc/zsh/ -p wa -k shellconfig

# Injection

-a always,exit -F arch=b32 -S ptrace
-a always,exit -F arch=b64 -S ptrace

# Failed Access Attempts

-a always,exit -F arch=b64 -S open -F dir=/bin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/etc -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/home -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/sbin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/srv -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/usr/bin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/usr/sbin -F success=0 -k file_err
-a always,exit -F arch=b64 -S open -F dir=/var -F success=0 -k file_err

# Network connections

-a always,exit -F arch=b64 -S connect -F a2=16 -F success=1 -k net_v4
-a always,exit -F arch=b32 -S connect -F a2=16 -F success=1 -k net_v4
-a always,exit -F arch=b64 -S connect -F a2=28 -F success=1 -k net_v6
-a always,exit -F arch=b32 -S connect -F a2=28 -F success=1 -k net_v6
-a always,exit -F arch=b32 -S socket -F a0=2 -k sock_v4
-a always,exit -F arch=b64 -S socket -F a0=2 -k sock_v4
-a always,exit -F arch=b32 -S socket -F a0=10 -k sock_v6
-a always,exit -F arch=b64 -S socket -F a0=10 -k sock_v6

Linux 脅威のカテゴリから返されるアラートの調整

ルールの除外を使用して、ルールまたはルールセットによって生成される検出の数を減らすことができます。

ルールの除外では、ルールセットによる評価からイベントを除外する UDM イベントの条件を定義します。

1 つ以上のルール除外を作成して、このルールセットまたはルールセット内の特定のルールによって評価されるイベントを除外する UDM イベントの条件を特定します。これを行う方法については、ルール除外を構成するをご覧ください。

たとえば、次の UDM フィールドに基づいてイベントを除外できます。

  • principal.hostname
  • target.user.userid