“Linux 威胁”类别概览

支持的平台:

本文档简要介绍了“Linux 威胁”类别中的规则集、所需的数据源,以及您可以用来调整这些规则集生成的提醒的配置。

Linux 威胁类别中的规则集可帮助您使用 CrowdStrike Falcon、Linux 审核系统 (AuditD) 和 Unix 系统日志识别 Linux 环境中的威胁。此类别包括以下规则集:

  • 操作系统权限提升工具:检测开源 Linux 权限提升工具中常见的行为。
  • 持久性机制:攻击者在 Linux 主机上建立和维持持久性访问所使用的活动。
  • 权限修改:与特权身份验证尝试和操作相关联的活动,通常用于在 Linux 主机上提升权限或保留权限。
  • 恶意软件信号 - 可疑 LOTL 二进制活动:根据在真实环境中观察到的 Linux 恶意软件活动,检测可疑的原生工具使用(以土为生)场景。
  • 恶意软件信号 - 可疑下载活动:检测在真实环境中与 Linux 上的恶意下载活动相关的行为。
  • 恶意软件信号 - 可疑执行:检测在真实环境中检测到的 Linux 恶意软件的观察到行为生成的信号,重点关注执行 (TA0002) 行为。

支持的设备和日志类型

我们已测试 Linux 威胁类别中的规则集,并支持以下 Google Security Operations 支持的数据源

  • Linux Auditing System (AUDITD)
  • Unix 系统 (NIX_SYSTEM)
  • CrowdStrike Falcon (CS_EDR)

如需查看 Google Security Operations 支持的所有数据源的列表,请参阅支持的默认解析器

配置设备以生成正确的日志数据

为了让“Linux 威胁”类别中的规则按预期运行,设备必须以预期格式生成日志数据。在您要收集日志并将其发送到 Google 安全运营团队的每台设备上,为 Linux 审核守护程序配置以下永久性审核规则。

如需详细了解如何为 Linux 审核守护程序实现永久性审核规则,请参阅特定于操作系统的文档。

# Inserts the machine hostname into each log event
name_format = hostname

# 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 事件的条件,以排除该事件不受规则集的评估。

创建一条或多条规则排除项,以便在 UDM 事件中确定排除该事件不受此规则集或规则集中特定规则评估的条件。如需了解具体操作方法,请参阅配置规则排除项

例如,您可以根据以下 UDM 字段排除事件:

  • principal.hostname
  • target.user.userid