시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 4/50편 (전체 354/450)
학습 단계: 방어 회피 기본 개념
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
정상 운영에도 로그는 로테이션·압축·삭제되고, 보안 설정도 변경됩니다. 무엇이 정상 로그 관리·설정 변경인지 기준선을 세워야, 악의적 흔적 삭제·무력화를 구분할 수 있습니다.
방어 회피 정상 기준선 요소
정상 로그 관리: logrotate(정해진 시간·주체·방식)
정상 설정 변경: 승인된 관리자·변경 관리 창
정상 보안 재시작: 패치·업데이트 시 서비스 재시작
정상 삭제 주체: root·logrotate(서비스 계정 아님)
정상 시점: 업무 시간·정기 작업
기준선 밖 삭제·무력화 = 방어 회피 후보
핵심은 "누가·언제·어떻게 로그를 지우고 보안을 바꾸는가"입니다. logrotate(정상)와 수동 rm(의심), 패치 재시작(정상)과 임의 중지(의심)를 구분합니다.
| 요소 | 정상 | 의심 |
|---|---|---|
| 로그 삭제 | logrotate | 수동 rm·shred |
| 삭제 주체 | root·서비스 | www-data·탈취 계정 |
| 설정 변경 | 변경 관리 창 | 비정기·새벽 |
| 보안 재시작 | 패치 동반 | 단독 중지 |
| 시점 | 업무·정기 | 비정기 |
# 방어 회피 기준선 수립 (분석 방법)
# 정상 로그 로테이션 설정 확인
cat /etc/logrotate.conf 2>/dev/null | grep -E 'rotate|weekly|daily' | head
# 로그 삭제·변경 주체 기준선(최근 정상 패턴)
sudo ausearch -k log_tamper -i --start week 2>/dev/null | grep -oE 'auid=[a-z0-9]+' | sort | uniq -c
$ (로그 변경 주체)
120 auid=root (logrotate 정상)
→ 로그 관리가 root·logrotate로만 수행(정상 기준선)
로그 삭제·변경이 root·logrotate로만 수행되고, 보안 설정 변경이 변경 관리 창에서만 일어나는 상태가 정상 기준선입니다.
$ (로그 변경 주체)
120 auid=root (정상)
3 auid=www-data (웹 계정이 로그 삭제 — 기준선 이탈)
→ 서비스 계정이 로그 삭제(비정상 주체)
방어 회피 기준선 비교 흐름입니다(가상의 예시).
[기준선] 로그 삭제=root/logrotate, 설정 변경=변경 관리 창
↓ (비교)
[관측] www-data가 shred /var/log/secure (03시)
↓ 이탈 판정
주체: www-data(서비스 계정) → 이탈
방식: shred(수동 안전 삭제) → 이탈
시점: 03시(비정기) → 이탈
↓
[방어 회피 후보] 다축 이탈 → 정탐
| 축 | 기준선 | 관측 | 판정 |
|---|---|---|---|
| 주체 | root | www-data | 이탈 |
| 방식 | logrotate | shred | 이탈 |
| 시점 | 정기 | 03시 | 이탈 |
기준선 대비 이탈 축이 많을수록 방어 회피 가능성이 높습니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
<!-- 비정상 주체(서비스 계정)의 로그 삭제 -->
<rule id="107030" level="12">
<if_sid>107000</if_sid>
<field name="audit.key">log_tamper</field>
<field name="audit.auid" type="pcre2">^(www-data|nginx|apache|nobody|[0-9]{4,})$</field>
<description>비정상 주체의 로그 삭제·변경(기준선 이탈)</description>
<mitre><id>T1070</id></mitre>
</rule>
</group>
logrotate·정상 관리자는 화이트리스트 예외로 둡니다. 기준선은 조직 로그 관리 정책에 맞게 조정합니다.
| 요소 | 정상 vs 의심 |
|---|---|
| 로그 삭제 | logrotate vs 수동 rm·shred |
| 삭제 주체 | root·서비스 vs 탈취 계정 |
| 설정 변경 | 변경 관리 창 vs 비정기 |
| 보안 재시작 | 패치 동반 vs 단독 중지 |
| 면접 포인트 | "정상 로그 관리는 logrotate·root — 서비스 계정 수동 삭제가 회피 신호" |
다음 편 355. 방어 회피·흔적 삭제 — 안티포렌식(anti-forensics)의 원리 에서는 안티포렌식의 원리를 다루는 안티포렌식(anti-forensics)의 원리를 다룹니다.
이전 편: 353. 방어 회피·흔적 삭제 — 로그·포렌식 아티팩트 감사 기반 구성
📚 시리즈 전체 보기: 시스템 보안 · 취약점