시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 43/50편 (전체 193/450)
학습 단계: 권한 변경 감사·로그 분석
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
개별 분석을 넘어 탐지를 자동화하려면, 권한 변경 로그를 공통 필드로 정규화하고 중앙 수집해야 합니다. auditd 원시 로그는 사람이 읽기 어려우므로, SIEM이 파싱·정규화해 룰·검색·상관에 쓸 수 있게 만듭니다.
권한 변경 로그 정규화 파이프라인
[수집] auditd → Wazuh agent / Filebeat → 중앙
[파싱] SYSCALL/PATH/PROCTITLE → 공통 필드
[정규화] 주체(auid) 대상(path) 방법(proctitle) 방향(mode)
[저장] Elasticsearch / Wazuh indexer
[활용] 룰·대시보드·상관(D44)
목표: 원시 로그 → 구조화 필드 → 자동 탐지
C영역 43편이 정보 수집 로그 정규화라면, 여기서는 권한 변경에 특화된 필드 정규화를 다룹니다.
| 단계 | 도구 | 산출 |
|---|---|---|
| 수집 | auditd+agent | 원시 로그 |
| 전송 | Wazuh/Filebeat | 중앙 전송 |
| 파싱 | 디코더/룰 | 필드 추출 |
| 정규화 | 공통 스키마 | 구조화 |
| 저장 | ES/indexer | 검색·상관 |
# 권한 변경 로그 정규화·수집 (분석 방법)
# Wazuh agent가 auditd 로그 수집(ossec.conf)
# <localfile><log_format>audit</log_format><location>/var/log/audit/audit.log</location></localfile>
# 정규화 결과 필드 확인(wazuh-logtest)
echo 'type=SYSCALL ... syscall=268 auid=1002 key="perm_change"' | sudo /var/ossec/bin/wazuh-logtest
# 정규화 필드로 검색(예시)
# audit.key:perm_change AND audit.auid:1002
$ (wazuh-logtest 결과)
audit.syscall: fchmodat
audit.auid: 1002
audit.key: perm_change
audit.proctitle: chmod 4755 /tmp/.sh
→ 필드 정규화 성공(룰 매칭 가능)
원시 로그가 공통 필드(syscall·auid·key·proctitle)로 정규화돼 룰·검색에 쓸 수 있는 상태가 정상입니다.
$ (정규화 실패 예시)
audit.proctitle: (파싱 안됨 — hex 미디코딩)
→ proctitle이 raw hex로 남아 룰 매칭 실패
로그 정규화 파이프라인입니다(가상의 예시).
[auditd] type=SYSCALL/PATH/PROCTITLE (원시, hex 포함)
↓ (Wazuh agent 수집)
[전송] 중앙 Wazuh manager
↓ (audit 디코더 파싱)
[정규화] audit.auid=1002, audit.proctitle="chmod 4755 /tmp/.sh"
↓
[저장·활용] indexer → 룰(D22·26)·대시보드·상관(D44)
| 단계 | 변환 |
|---|---|
| 원시 | hex·다중 레코드 |
| 파싱 | 레코드 연결·디코딩 |
| 정규화 | 공통 필드 |
| 활용 | 룰·검색·상관 |
정규화가 되어야 수집된 로그가 자동 탐지로 연결됩니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,normalize,">
<!-- 정규화 실패(proctitle 미파싱) 자체를 경보 -->
<rule id="103410" level="7">
<if_sid>103000</if_sid>
<field name="audit.proctitle" type="pcre2">^[0-9A-Fa-f]{20,}$</field>
<description>권한 변경 로그 proctitle 정규화 실패(hex)</description>
</rule>
</group>
proctitle이 hex로 남으면 디코딩 설정을 점검합니다. 정규화 검증은 wazuh-logtest로 반드시 확인합니다.
| 단계 | 산출 |
|---|---|
| 수집·전송 | 중앙 원시 로그 |
| 파싱 | 레코드 연결·디코딩 |
| 정규화 | 공통 필드(주체·대상·방법·방향) |
| 저장·활용 | 룰·대시보드·상관 |
| 면접 포인트 | "정규화해야 대규모 로그가 자동 탐지로 — proctitle hex 미파싱은 탐지 공백" |
다음 편 194. 권한 변경 이상 — 권한 변경 이벤트 상관분석 에서는 권한 변경 이벤트 상관분석을 다루는 권한 변경 이벤트 상관분석을 다룹니다.
이전 편: 192. 권한 변경 이상 — 권한 변경 before/after 비교 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점