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 欄位 (資料儲存位置) |
定義 |
---|---|---|
主要程序路徑 |
|
目前執行中程序的磁碟位置 (如有)。 |
主要程序指令列 |
|
程序的指令列參數 (如有)。 |
目標程序路徑 |
|
目標程序在磁碟上的位置 (如有)。 |
目標程序指令列 |
|
指令列 |
網路 DNS 查詢網域 |
|
DNS 查詢的網域名稱 (如有)。 |
調整 Linux 威脅類別傳回的快訊
您可以使用規則排除項目,減少規則或規則集產生的偵測次數。
在規則排除條件中,您可以定義 UDM 事件的條件,排除規則集評估該事件。
建立一或多項規則排除條件,找出 UDM 事件中的條件,將事件排除在規則集或規則集中特定規則的評估範圍外。操作方法請參閱設定規則排除條件一文。
舉例來說,您可以根據下列 UDM 欄位排除事件:
principal.hostname
target.user.userid
principal.process.command_line
target.domain.name
target.process.command_line
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。