Linux 시스템 보안 기초 · 26/50편
이 글은
리눅스 시스템 기초·파일 · 권한 · 사용자 관리·서비스 · 프로세스 관리시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.
파일과 권한이 '정적 상태'라면, 프로세스는 '살아 움직이는 행위자'입니다. 실제로 파일을 읽고 네트워크에 연결하고 다른 프로세스를 만드는 것이 프로세스죠. 침해 분석의 상당 부분은 결국 '이 프로세스가 정상인가'를 판단하는 일입니다.
보안 분석에서 봐야 할 프로세스 속성:
| 속성 | 의미 | 보안적 관점 |
|---|---|---|
| PID | 프로세스 번호 | 식별 |
| PPID | 부모 PID | 실행 계보(누가 띄웠나) |
| UID/EUID | 실/유효 사용자 | 권한 상승 판별(2편) |
| GID/EGID | 실/유효 그룹 | 그룹 권한 |
| exe | 실행 파일 실경로 | 위장 탐지 |
특히 PPID(계보) 와 EUID(권한) 의 조합이 이상 탐지의 핵심입니다.
정상 계보 의심 계보
systemd → sshd → bash nginx → bash → curl → ./x
(예상 가능한 부모) (웹서버가 왜 쉘을?)
│
└ 웹셸/RCE 정황
모든 프로세스는 fork()로 복제되고 exec()로 프로그램을 덮어씁니다(선행 시리즈). 그래서 모든 프로세스에는 부모가 있고, 이 계보를 거슬러 올라가면 '어떻게 실행되었는가'가 드러납니다.
권한 관점에서는 EUID가 핵심입니다. 일반 사용자가 띄운 프로세스의 EUID가 0이면 권한 상승이 일어난 것입니다. exe 링크(/proc/PID/exe)는 실제 실행 파일을 가리켜, comm(표시 이름)이 위장되어도 진짜 경로를 알려줍니다.
# 계보와 권한을 함께 보기
ps -eo pid,ppid,user,euser,comm --forest | head -20
# 특정 프로세스의 실제 실행 파일 경로
sudo ls -l /proc/<PID>/exe
# EUID가 0인데 실사용자가 일반계정인 프로세스(상승 의심)
ps -eo pid,user,euser,comm | awk '$2!=$3'
실습 컨테이너의 프로세스 트리 실제 출력(일부)입니다. (실제 캡처)
$ ps -eo pid,ppid,user,euser,comm --forest | head
PID PPID USER EUSER COMMAND
2 0 root root kthreadd
3 2 root root \_ pool_workqueue_release
14 2 root root \_ ksoftirqd/0
$ sudo ls -l /proc/1/exe
lrwxrwxrwx 1 root root 0 ... /proc/1/exe -> /usr/lib/systemd/systemd # (예시: 일반 서버 기준)
--forest로 계보가 들여쓰기로 보입니다. /proc/PID/exe는 표시 이름과 무관한 실제 바이너리 경로라, 위장 프로세스(27편)를 벗기는 데 결정적입니다.
comm과 exe 경로 불일치(위장)프로세스 분석의 출발점은 '이 프로세스의 부모가 이것을 띄우는 게 자연스러운가'라는 질문입니다.
--forest)에서 부자연스러운 부모-자식 쌍/proc/PID/exe로 위장 여부 확인EDR과 auditd의 execve 이벤트는 프로세스 생성 시 PPID·UID·EUID·exe·cmdline을 기록합니다. 이 필드들이 있어야 SIEM에서 '웹서버→쉘' 같은 계보 기반 탐지가 가능합니다. Wazuh는 auditd 디코더로 이를 파싱하며, MITRE ATT&CK 기법(T1059 등)에 매핑해 알람합니다.
[ ] ps --forest로 계보 파악
[ ] EUID≠UID 프로세스 확인
[ ] /proc/PID/exe로 실경로 확인
[ ] 비정상 부모-자식 쌍 식별
다음 편에서는 27. 의심 프로세스 탐지 를 다룹니다. 이 기반 위에서 '의심 프로세스'를 구체적으로 식별하는 기법을 봅니다.
본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.