시스템 보안 · 취약점 › F. 비정상 프로세스 · 지속성 징후 · 8/50편 (전체 258/450)
학습 단계: 프로세스·지속성 기본 개념
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
시스템에는 정상 프로세스·서비스·cron이 많으므로, 판정 기준이 없으면 탐지가 오탐투성이가 됩니다. 1단계(기본 개념)를 마무리하며, 비정상 프로세스·지속성을 판정하는 6가지 축을 정리합니다.
프로세스·지속성 판정 6축
① 경로: 비표준(/tmp)·삭제됨(위험) vs 표준 경로(정상)
② 계보: 서비스→셸(위험) vs systemd→서비스(정상)
③ 명령줄: 난독화·curl|sh(위험) vs 일반 인자(정상)
④ 지속성: 신규 등록(위험) vs 패키지·배포(정상)
⑤ 통신: 외부 C2·비표준 포트(위험) vs 정상 연결(정상)
⑥ 은닉: 숨김·변조·삭제(위험) vs 투명(정상)
다수 축 위험 = 정탐 / 대부분 정상 = 오탐
6축은 F09~ 모든 개별 탐지의 판정 근거입니다. 계보(②)와 은닉(⑥)이 특히 결정적입니다.
| 축 | 위험 신호 | 정상 신호 |
|---|---|---|
| 경로 | /tmp·삭제 | 표준 경로 |
| 계보 | 서비스→셸 | systemd→서비스 |
| 명령줄 | 난독화·curl|sh | 일반 인자 |
| 지속성 | 신규 등록 | 패키지·배포 |
| 통신 | 외부 C2 | 정상 연결 |
| 은닉 | 숨김·변조 | 투명 |
# 프로세스·지속성 판정 (분석 방법) — 한 프로세스를 6축으로
# 예: /tmp/.x (nginx 자식, curl|sh, cron 등록, 4444 연결, 숨김)
echo "① 경로: /tmp/.x → 위험"
echo "② 계보: nginx→sh→.x → 위험"
echo "③ 명령줄: curl|sh → 위험"
echo "④ 지속성: cron.d 신규 → 위험"
echo "⑤ 통신: 외부 4444 → 위험"
echo "⑥ 은닉: 숨김 이름·로그 삭제 → 위험"
echo "=> 6축 전부 위험 → 정탐"
정상(오탐) 판정:
/usr/sbin/nginx (systemd 자식, 정상 인자, 패키지 서비스)
① 표준 ② systemd→nginx ③ 정상 ④ 패키지 ⑤ 정상 ⑥ 투명
=> 6축 정상 → 정상 프로세스(Benign)
패키지 서비스가 표준 경로·정상 계보·투명하게 실행되는 정상 동작은 6축이 모두 정상입니다.
정탐 판정:
/tmp/.x (nginx→sh→.x, curl|sh, cron 등록, 4444, 숨김)
① 비표준 ② 웹→셸 ③ 난독화 ④ 신규 cron ⑤ C2 ⑥ 은닉
=> 6축 전부 위험 → 정탐(웹셸→지속성→C2)
정상 사례와 6축이 모두 반대입니다. 축별 판정이 일관되게 정탐을 가리킵니다.
프로세스·지속성 판정 6축 적용입니다(가상의 예시).
프로세스 경로 계보 명령 지속 통신 은닉 판정
/usr/sbin/nginx(systemd) 정 정 정 정 정 정 정상
/tmp/.x(nginx→sh,curl|sh) 위 위 위 위 위 위 정탐
/opt/app/bin(systemd,신규) 정 정 정 위 - - 확인
| 위험 축 수 | 판정 |
|---|---|
| 0~1 | 정상·오탐 |
| 2~3 | 확인 |
| 4+ | 정탐 |
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_f,process,">
<!-- 경로(비표준)+계보(서비스→셸) 다축 결합 -->
<rule id="105070" level="13">
<if_sid>105040</if_sid>
<field name="audit.exe" type="pcre2">^(/tmp/|/dev/shm/|/var/tmp/)</field>
<description>비표준 경로+비정상 계보 결합(다축 위험)</description>
<mitre><id>T1059</id></mitre>
</rule>
</group>
축을 조합할수록 정확합니다. 통신(C2)·은닉 축은 네트워크·FIM 상관(F42)으로 보완합니다.
| 축 | 위험 vs 정상 |
|---|---|
| 경로·계보 | /tmp·서비스→셸 vs 표준·systemd |
| 명령줄·지속성 | 난독화·신규 vs 일반·패키지 |
| 통신·은닉 | C2·숨김 vs 정상·투명 |
| 결정 축 | 계보·은닉 |
| 면접 포인트 | "프로세스·지속성은 6축 결합 판정 — 계보·은닉 축이 정탐 확정의 핵심" |
다음 편 259. 프로세스·지속성 — 비표준 경로 실행 프로세스 탐지 에서는 2단계로 넘어가 비표준 경로 실행 프로세스 탐지를 다룹니다.
이전 편: 257. 프로세스·지속성 — 지속성(persistence)의 개념과 공격 단계
📚 시리즈 전체 보기: 시스템 보안 · 취약점