Linux 威脅類別總覽

支援的國家/地區:

本文將概述 Linux 威脅類別中的規則集、必要資料來源,以及可用於調整這些規則集所產生快訊的設定。

Linux 威脅類別中的規則集可使用 CrowdStrike Falcon、Linux Auditing System (AuditD) 和 Unix 系統記錄檔,找出 Linux 環境中的威脅。這個類別包含下列規則集:

  • OS 權限提升工具:偵測開放原始碼 Linux 權限提升工具中常見的行為。
  • 持續性機制:攻擊者用來在 Linux 主機上建立及維持持續性存取的活動。
  • 權限修改:與權限驗證嘗試和動作相關的活動,通常用於權限提升或在 Linux 主機上持續運作。
  • 惡意軟體信號 - 可疑的 LOTL 二進位活動:根據實際環境中觀察到的 Linux 惡意軟體活動,偵測可疑的內建工具使用 (離地攻擊) 情境。
  • 惡意軟體信號 - 可疑的下載活動:偵測實際環境中與 Linux 惡意下載活動相關的行為。
  • 惡意軟體信號 - 可疑執行:偵測從 Linux 惡意軟體觀察到的行為產生的信號,重點在於執行 (TA0002) 行為。
  • Mandiant 前線威脅 - 這組規則包含的規則,是根據 Mandiant 對全球現有事件的調查和回應所衍生。這些規則涵蓋常見的 TTP,例如使用指令碼語言解譯器執行 (T1059)、使用網路服務進行命令和控制 (T1102),以及使用排定的工作來維持持續性 (T1053)。
  • Mandiant Intel Emerging Threats - 這組規則包含從 Mandiant Intelligence Campaigns 和 Significant Events 衍生而來的規則,涵蓋 Mandiant 評估的高影響力地緣政治和威脅活動。這類活動可能包括地緣政治衝突、剝削、網路釣魚、惡意廣告、勒索軟體和供應鏈入侵。

支援的裝置和記錄類型

Linux 威脅類別中的規則集已通過測試,並支援下列 Google Security Operations 支援的資料來源

  • Linux 稽核系統 (AUDITD)
  • Unix 系統 (NIX_SYSTEM)
  • CrowdStrike Falcon (CS_EDR)

如需 Google SecOps 支援的所有資料來源清單,請參閱「支援的預設剖析器」。

設定裝置,產生正確的記錄資料

如要讓「Linux 威脅」類別中的規則正常運作,裝置必須以預期格式產生記錄資料。在每部要收集記錄並傳送至 Google SecOps 的裝置上,為 Linux Audit Daemon 設定下列持續性稽核規則。

如要進一步瞭解如何為 Linux Audit Daemon 導入永久稽核規則,請參閱作業系統專屬說明文件。

# 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 欄位 (資料儲存位置)

定義

主要程序路徑

principal.process.file.full_path

目前執行中程序的磁碟位置 (如有)。

主要程序指令列

principal.process.command_line

程序的指令列參數 (如有)。

目標程序路徑

target.process.file.full_path

目標程序在磁碟上的位置 (如有)。

目標程序指令列

target.process.command_line

指令列

網路 DNS 查詢網域

network.dns.questions.name

DNS 查詢的網域名稱 (如有)。

調整 Linux 威脅類別傳回的快訊

您可以使用規則排除項目,減少規則或規則集產生的偵測次數。

在規則排除條件中,您可以定義 UDM 事件的條件,排除規則集評估該事件。

建立一或多項規則排除條件,找出 UDM 事件中的條件,將事件排除在規則集或規則集中特定規則的評估範圍外。操作方法請參閱設定規則排除條件一文。

舉例來說,您可以根據下列 UDM 欄位排除事件:

  • principal.hostname
  • target.user.userid
  • principal.process.command_line
  • target.domain.name
  • target.process.command_line

還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。