Linux 威胁
本文档概述了 Linux 威胁类别中的规则集、必需的数据源以及可用于调整这些规则集生成的提醒的配置。
Linux 威胁类别中的规则集有助于使用 CrowdStrike Falcon、Linux 审核系统 (AuditD) 和 Unix 系统日志识别 Linux 环境中的威胁。 此类别包括以下规则集:
- 操作系统提权工具:检测开源 Linux 提权工具中常见的行为。
- 持久性机制 :攻击者用于在 Linux 主机上建立和维持持久访问权限的活动。
- 权限修改:与特权 身份验证尝试和操作相关的活动,通常用于在 Linux 主机上提升权限或 保持持久性。
- 恶意软件信号 - 可疑的 LOTL 二进制活动:根据在真实环境中观察到的 Linux 恶意软件活动,检测可疑的 内置工具使用(Living Off the Land,简称 LOTL)场景。
- 恶意软件信号 - 可疑的下载活动:检测在真实环境中与 Linux 上的恶意下载活动相关的行为。
- 恶意软件信号 - 可疑的执行:检测由 在真实环境中检测到的 Linux 恶意软件的观察行为 生成的信号,重点关注执行 (TA0002) 行为。
- Mandiant 一线威胁 - 此规则集包含源自 Mandiant 对全球活跃突发事件的调查和响应的规则。 这些规则涵盖了常见的 TTP,例如使用脚本 解释器执行 (T1059)、使用 Web 服务进行命令和控制 (T1102)、 以及使用计划任务来维持持久性 (T1053)。
- Mandiant 情报新兴威胁 - 此规则集包含源自 Mandiant 情报活动和重大事件的规则,涵盖了 Mandiant 评估的具有重大影响的地缘政治和威胁活动。 这些活动可能包括地缘政治冲突、漏洞利用、网络钓鱼、 恶意广告、勒索软件和供应链入侵。
支持的设备和日志类型
Linux 威胁类别中的规则集已通过测试,并受以下 Google Security Operations 支持的 数据源支持:
- Linux 审核系统 (
AUDITD) - Unix 系统 (
NIX_SYSTEM) - CrowdStrike Falcon (
CS_EDR)
如需查看所有 Google SecOps 支持的数据源的列表,请参阅 支持的默认解析器。
配置设备以生成正确的日志数据
为了使 Linux 威胁类别中的规则按设计运行,设备必须生成预期格式的日志数据。为每个设备上的 Linux 审核守护程序配置以下持久性审核规则,您将在这些设备上收集日志并将其发送到 Google SecOps。
如需详细了解如何为 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 威胁类别所需的字段
以下部分介绍了 Linux 威胁类别中的规则集为了获得最大收益而需要的特定数据。请确保您的设备配置为将以下数据记录到设备事件日志中。
数据集 |
UDM 字段(数据存储位置) |
定义 |
|---|---|---|
主进程路径 |
|
当前运行进程在磁盘上的位置(如果可用)。 |
主进程命令行 |
|
进程的命令行参数(如果可用)。 |
目标进程路径 |
|
目标进程在磁盘上的位置(如果可用)。 |
目标进程命令行 |
|
命令行 |
网络 DNS 查询网域 |
|
DNS 查询的网域名(如果可用)。 |
调整 Linux 威胁类别返回的提醒
您可以使用 规则排除项来减少规则或规则集生成的检测数量。
在规则排除项中,您可以定义 UDM 事件的条件,以将该事件排除在规则集的评估范围之外。
创建一个或多个规则排除项,以识别 UDM 事件中的条件,从而将该事件排除在规则集或规则集中的特定规则的评估范围之外。如需了解具体操作方法,请参阅 配置规则排除项 。
例如,您可以根据以下 UDM 字段排除事件:
principal.hostnametarget.user.useridprincipal.process.command_linetarget.domain.nametarget.process.command_line
需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。