Linux 위협 카테고리 개요

이 문서에서는 Linux 위협 카테고리의 규칙 집합, 필요한 데이터 소스, 이러한 규칙 집합에서 생성된 알림을 조정하는 데 사용할 수 있는 구성을 간략하게 설명합니다.

Linux 위협 카테고리의 규칙 집합은 CrowdStrike Falcon, Linux Auditing System(AuditD), Unix 시스템 로그를 사용하여 Linux 환경의 위협을 식별하는 데 도움이 됩니다. 이 카테고리에는 다음 규칙 집합이 포함됩니다.

  • OS 권한 에스컬레이션 도구: 오픈소스 Linux 권한 에스컬레이션 도구에서 일반적으로 나타나는 동작을 감지합니다.
  • 지속성 메커니즘: 공격자가 Linux 호스트에서 영구 액세스를 설정하고 유지하는 데 사용하는 활동입니다.
  • 권한 수정: 권한이 있는 인증 시도 및 작업과 관련된 활동으로, Linux 호스트에서 권한을 에스컬레이션하거나 유지하는 데 일반적으로 사용됩니다.
  • 멀웨어 신호 - 의심스러운 LOTL 바이너리 활동: 실제 환경에서 관찰된 Linux 멀웨어 활동을 기반으로 의심스러운 기본 도구 사용(자급자족식) 시나리오를 감지합니다.
  • 멀웨어 신호 - 의심스러운 다운로드 활동: 실제 환경에서 관찰된 Linux에서 악성 다운로드 활동과 관련된 동작을 감지합니다.
  • 멀웨어 신호 - 의심스러운 실행: 실행(TA0002) 동작에 초점을 맞춰 실제 환경에서 감지된 Linux 멀웨어의 관찰된 동작에서 생성된 신호를 감지합니다.

지원되는 기기 및 로그 유형

Linux 위협 카테고리의 규칙 집합은 테스트되었으며 다음과 같은 Google Security Operations 지원 데이터 소스에서 지원됩니다.

  • Linux Auditing System(AUDITD)
  • Unix 시스템(NIX_SYSTEM)
  • CrowdStrike Falcon(CS_EDR)

지원되는 모든 Google Security Operations 데이터 소스 목록은 지원되는 기본 파서를 참조하세요.

올바른 로그 데이터를 생성하도록 기기 구성

Linux 위협 카테고리의 규칙이 설계된 대로 작동하려면 기기에서 예상된 형식으로 로그 데이터를 생성해야 합니다. 로그를 수집하고 Google Security Operations로 전송할 각 기기에서 Linux Audit 데몬에 대한 다음과 같은 영구 감사 규칙을 구성합니다.

Linux Audit 데몬의 영구 감사 규칙을 구현하는 방법에 대한 자세한 내용은 운영체제별 문서를 참조하세요.

# 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