איומים ב-Linux

נתמך ב:

במסמך הזה מוסבר על קבוצות הכללים בקטגוריה Linux Threats, על מקורות הנתונים הנדרשים ועל ההגדרות שאפשר להשתמש בהן כדי לשנות את ההתראות שנוצרות על ידי קבוצות הכללים האלה.

קבוצות הכללים בקטגוריה "איומים ב-Linux" עוזרות לזהות איומים בסביבות Linux באמצעות CrowdStrike Falcon, מערכת הביקורת של Linux‏ (AuditD) ויומני המערכת של Unix. הקטגוריה הזו כוללת את קבוצות הכללים הבאות:

  • כלים להסלמת הרשאות במערכת ההפעלה: זיהוי התנהגות שרואים בדרך כלל בכלים להסלמת הרשאות בלינוקס בקוד פתוח.
  • מנגנוני התמדה: פעילות שבה משתמשים יריבים כדי ליצור ולשמור על גישה קבועה למארחי Linux.
  • שינויים בהרשאות: פעילות שקשורה לניסיונות אימות ולפעולות עם הרשאות, שמשמשת בדרך כלל להרחבת הרשאות או לשמירה על הרשאות במארחי Linux.
  • אותות של תוכנות זדוניות – פעילות בינארית חשודה של LOTL: זיהוי תרחישים חשודים של שימוש בכלים מובנים (Living Off the Land) על סמך הפעילות שנצפתה של תוכנות זדוניות ב-Linux בסביבות בעולם האמיתי.
  • אותות של תוכנות זדוניות – פעילות הורדה חשודה: זיהוי התנהגות שקשורה לפעילות הורדה זדונית ב-Linux בסביבות בעולם האמיתי.
  • אותות של תוכנות זדוניות – הפעלה חשודה: זיהוי אותות שנוצרים מהתנהגויות נצפות של תוכנות זדוניות ב-Linux שזוהו בסביבות בעולם האמיתי, תוך התמקדות בהתנהגויות של הפעלה (TA0002).
  • ‫Mandiant Front-Line Threats – קבוצת הכללים הזו מכילה כללים שנגזרו מהחקירה ומהתגובה של Mandiant לאירועים פעילים ברחבי העולם. הכללים האלה כוללים טקטיקות, שיטות ונהלים (TTP) נפוצים, כמו הפעלה באמצעות מפרשי סקריפטים (T1059), שימוש בשירותי אינטרנט לפקודות ואמצעי בקרה (T1102) ושימוש במשימות מתוזמנות לשמירה על עקביות (T1053).
  • ‫Mandiant Intel Emerging Threats – קבוצת הכללים הזו מכילה כללים שנגזרו מקמפיינים ומאירועים משמעותיים של Mandiant Intelligence, שכוללים פעילות גיאופוליטית ופעילות איומים בעלת השפעה רבה, כפי שהוערכה על ידי Mandiant. הפעילות הזו יכולה לכלול סכסוכים גיאופוליטיים, ניצול, פישינג, פרסום זדוני, תוכנות כופר ופריצות לשרשרת האספקה.

מכשירים וסוגי יומנים נתמכים

קבוצות הכללים בקטגוריה Linux Threats נבדקו והן נתמכות במקורות הנתונים הבאים שנתמכים ב-Google Security Operations:

  • מערכת הביקורת של Linux‏ (AUDITD)
  • מערכת Unix‏ (NIX_SYSTEM)
  • ‫CrowdStrike Falcon ‏ (CS_EDR)

כאן מפורטת רשימה של כל מקורות הנתונים שנתמכים ב-Google SecOps.

הגדרת מכשירים ליצירת נתוני יומן נכונים

כדי שהכללים בקטגוריה "איומים ב-Linux" יפעלו כמו שצריך, המכשירים צריכים ליצור נתוני יומן בפורמט הצפוי. מגדירים את כללי הביקורת הקבועים הבאים ל-Linux Audit Daemon בכל מכשיר שבו אוספים יומנים ושולחים אותם ל-Google SecOps.

כדי להבין איך מטמיעים כללי ביקורת קבועים ל-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 -p 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 -p wa -k systemd
-w /etc/systemd/user-generators -p wa -k systemd
-w /usr/local/lib/systemd/user-generators -p wa -k systemd
-w /usr/lib/systemd/user-generators -p 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 Threats

אתם יכולים להפחית את מספר הזיהויים שכלל או קבוצת כללים יוצרים באמצעות החרגות של כללים.

בהחרגה של הכלל, אתם מגדירים את הקריטריונים של אירוע UDM שמחריגים את האירוע מהערכה על ידי קבוצת הכללים.

יוצרים כלל החרגה אחד או יותר כדי לזהות קריטריונים באירוע UDM שמחריגים את האירוע מהערכה על ידי קבוצת הכללים הזו או על ידי כללים ספציפיים בקבוצת הכללים. מידע נוסף מופיע במאמר הגדרת השתקת התראות.

לדוגמה, אתם יכולים להחריג אירועים על סמך השדות הבאים של UDM:

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

הבעיה עדיין לא נפתרה? קבלת תשובות מחברי הקהילה וממומחי Google SecOps.