시스템 보안 · 취약점 › F. 비정상 프로세스 · 지속성 징후 · 4/50편 (전체 254/450)
학습 단계: 프로세스·지속성 기본 개념
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
비정상 프로세스·지속성 탐지의 전제는 정상 기준선입니다. 시스템에서 정상적으로 실행되는 프로세스·서비스·cron·지속성 항목을 목록화해야, 새로 나타난 비정상 항목을 구분할 수 있습니다.
프로세스·지속성 기준선 요소
[프로세스] 정상 실행 바이너리·경로·부모·소유자
[서비스] enabled된 systemd 서비스 목록
[스케줄] 정상 cron·systemd 타이머
[지속성] 정상 .bashrc·authorized_keys·모듈
[해시] 정상 바이너리 해시(변조 탐지)
기준선 이탈 = 비정상 후보
기준선은 "무엇이 정상인가"의 스냅샷입니다. 깨끗한 상태에서 수립하고, 이후 변경을 diff로 탐지합니다.
| 기준선 | 수립 대상 | 이탈 신호 |
|---|---|---|
| 프로세스 | 경로·부모·소유자 | 비표준·이상 계보 |
| 서비스 | enabled 목록 | 신규 서비스 |
| cron·타이머 | 스케줄 목록 | 신규 스케줄 |
| 지속성 | 키·설정·모듈 | 신규 등록 |
| 해시 | 바이너리 | 변조 |
# 프로세스·지속성 기준선 수립 (분석 방법)
# enabled 서비스 기준선
systemctl list-unit-files --state=enabled 2>/dev/null | sort > /root/baseline/services.txt
# cron 기준선
ls /etc/cron.d/ /etc/cron.*/ /var/spool/cron/ 2>/dev/null | sort > /root/baseline/cron.txt
# 정상 실행 바이너리 해시(주요 경로)
find /usr/bin /usr/sbin -type f -exec sha256sum {} \; 2>/dev/null > /root/baseline/bin_hashes.txt
$ (서비스 diff) (차이 없음)
$ (cron diff) (차이 없음)
$ (해시 diff) (차이 없음)
서비스·cron·바이너리 해시가 모두 기준선과 일치해, 비정상 실행·지속성 항목이 없는 상태가 정상입니다.
$ (서비스 diff) > updater.service (신규)
$ (cron diff) > /etc/cron.d/0hourly-x (신규)
$ (해시 diff) /usr/bin/ssh 해시 불일치(변조)
프로세스·지속성 기준선 비교 흐름입니다(가상의 예시).
[기준선 수립] 깨끗한 상태의 서비스·cron·해시 스냅샷
↓ (주기 비교)
[현재 수집] 현재 서비스·cron·해시
↓ (diff)
[이탈 탐지] 신규 서비스·cron, 해시 변조
↓
[판정] 이탈 항목 = 비정상 후보 → 상세 분석
| 기준선 | 정상 | 이탈 |
|---|---|---|
| 서비스 | 목록 일치 | 신규 |
| cron | 목록 일치 | 신규 |
| 해시 | 일치 | 변조 |
기준선 diff가 지속성 등록·바이너리 변조를 명확히 드러냅니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_f,baseline,">
<!-- 주기 점검 스크립트 결과(기준선 이탈)를 로그로 수집·경보 -->
<rule id="105030" level="10">
<decoded_as>json</decoded_as>
<field name="check">baseline_drift</field>
<field name="status">new_item</field>
<description>프로세스·지속성 기준선 이탈(신규 서비스·cron·해시 변조)</description>
<mitre><id>T1543</id><id>T1053</id></mitre>
</rule>
</group>
기준선 diff 결과는 Wazuh rootcheck/FIM이나 주기 스크립트 로그로 수집합니다. 해시 기준선은 FIM과 연계합니다(F46).
| 기준선 | 이탈 신호 |
|---|---|
| 프로세스 | 비표준·이상 계보 |
| 서비스 | 신규 서비스 |
| cron·타이머 | 신규 스케줄 |
| 해시 | 바이너리 변조 |
| 면접 포인트 | "기준선 diff로 신규 지속성·바이너리 변조 탐지 — 깨끗한 상태에서 수립" |
다음 편 255. 프로세스·지속성 — 프로세스 계보(부모-자식)와 이상 탐지 원리 에서는 프로세스 계보를 다루는 프로세스 계보(부모-자식)와 이상 탐지 원리를 다룹니다.
이전 편: 253. 프로세스·지속성 — 프로세스 감사의 기반 구성(auditd execve)
📚 시리즈 전체 보기: 시스템 보안 · 취약점