시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 9/50편 (전체 359/450)
학습 단계: 로그 삭제·변조
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

2단계는 로그 삭제·변조를 다룹니다. 가장 기본은 로그 파일 삭제입니다. 공격자는 /var/log의 보안 로그(secure·messages·audit)를 rm으로 지워 침투·활동 흔적을 제거합니다. 이는 ATT&CK T1070.002(Clear Linux Logs)에 해당합니다.

로그 파일 삭제 패턴
 rm /var/log/secure — 인증 로그 삭제
 rm -rf /var/log/* — 전체 로그 삭제
 cat /dev/null > /var/log/messages — 내용 비우기(truncate)
 > /var/log/secure — 리다이렉션으로 비우기

탐지: auditd watch(/var/log) + 로그 갑작스런 중단·소멸

핵심은 "로그 파일에 대한 삭제·비우기 행위"입니다. auditd watch가 삭제 행위를 기록하고, 중앙 수집본이 원본을 보존합니다.

2. 왜 중요한가

  • 로그 삭제는 침투·활동의 흔적을 통째로 없애 사후 분석을 불가능하게 합니다.
  • rm뿐 아니라 truncate(> 파일, cat /dev/null >)도 로그를 비우는 삭제입니다.
  • auditd watch·중앙 수집 없이는 삭제 자체를 탐지할 수 없습니다.

3. 핵심 명령어 / 설정

삭제 방식명령위험
파일 삭제rm /var/log/*높음
내용 비우기> 파일·truncate높음
/dev/null 덮기cat /dev/null >높음
디렉터리 삭제rm -rf /var/log매우 높음
정상 정리logrotate정상

4. 실습 (실습 예시)

# 로그 파일 삭제 탐지 (분석 방법)
# /var/log 삭제·변경 행위(auditd watch)
sudo ausearch -k log_tamper -i --start recent 2>/dev/null | grep -E 'comm="(rm|unlink|truncate)"' | grep '/var/log' | tail
# 로그 파일 급작스런 크기 0·소멸
sudo find /var/log -maxdepth 1 -name '*.log' -size 0 2>/dev/null
ls -la /var/log/secure /var/log/messages 2>/dev/null

5. 정상 상태

$ (로그 삭제 행위) (없음 또는 logrotate만)
$ (크기 0 로그) (없음)

로그 삭제가 logrotate 정상 정리에 그치고, 보안 로그가 갑자기 크기 0이 되거나 사라지지 않은 상태가 정상입니다.

6. 이상 상태

$ (로그 삭제 행위)
comm="rm" auid=www-data /var/log/secure (인증 로그 삭제)
comm="bash" proctitle="cat /dev/null > /var/log/audit/audit.log"
$ (크기 0 로그)
/var/log/secure 0바이트 (비워짐)
  • www-data가 /var/log/secure 삭제 → 인증 흔적 제거
  • cat /dev/null로 감사 로그 비우기 → 내용 삭제
  • 보안 로그 삭제·비우기 → 방어 회피 → 정탐

7. 로그 분석 (분석 방법)

로그 파일 삭제 분석입니다(가상의 예시).

[공격 흔적] web01 침투·권한 상승 로그 존재
   ↓ (흔적 제거)
rm /var/log/secure (로컬 인증 로그 삭제)
> /var/log/audit/audit.log (감사 로그 비우기)
   ↓ (탐지)
 ① auditd watch → 삭제 행위 "log_tamper" 기록
 ② 중앙 수집 → 삭제 전 로그 사본 보존
   ↓
= 로그를 지워도 지운 행위+사본이 남음 → 정탐·복원
관찰해석
rm /var/log로그 삭제
> 파일내용 비우기
watch 기록삭제 행위 포착
중앙 사본원본 복원

삭제 행위 기록 + 중앙 사본이 로그 삭제 탐지·복원의 핵심입니다.

8. SOC 관제 포인트

  • 로그 파일 삭제(T1070.002)는 rm·truncate·> 파일로 보안 로그를 통째 지우는 기본 방어 회피입니다.
  • auditd watch가 삭제 행위를 기록하고 중앙 수집본이 원본을 보존합니다.
  • logrotate 정상 정리와 수동 삭제·비우기를 주체·방식으로 구분합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
  <rule id="107080" level="13">
    <if_sid>107000</if_sid>
    <field name="audit.key">log_tamper</field>
    <field name="audit.comm" type="pcre2">^(rm|unlink|truncate|shred)$</field>
    <field name="audit.file" type="pcre2">^/var/log/</field>
    <description>보안 로그 파일 삭제·비우기(흔적 제거)</description>
    <mitre><id>T1070.002</id></mitre>
  </rule>
</group>

logrotate는 화이트리스트 예외로 둡니다. 삭제 행위와 중앙 수집본을 상관해 복원·분석합니다.

10. 대응 방법

  1. 초기 확인 — /var/log 삭제·비우기 행위(rm·truncate·리다이렉션)를 확인합니다.
  2. 범위 확인 — 삭제 주체·대상 로그·방식과 중앙 수집본 유무를 확인합니다.
  3. 증거 확보 — 삭제 행위 이벤트와 중앙 사본을 보존합니다.
  4. 차단/조치 — 로그 삭제 정탐이면 중앙본 복원·삭제된 구간의 은폐 활동 분석을 진행합니다.
  5. 재발 방지 — 로그 파일 삭제 탐지를 운영합니다.

11. 핵심 정리

삭제 방식명령
파일 삭제rm /var/log/*
내용 비우기> 파일·truncate
/dev/null 덮기cat /dev/null >
디렉터리 삭제rm -rf /var/log
면접 포인트"로그 삭제는 기본 방어 회피 — watch가 행위를, 중앙 수집이 원본을 남김"

12. 다음 편 예고

다음 편 360. 방어 회피·흔적 삭제 — 로그 변조·선택적 삭제 탐지 에서는 로그 변조·선택적 삭제를 다루는 로그 변조·선택적 삭제 탐지를 다룹니다.


이전 편: 358. 방어 회피·흔적 삭제 — 방어 회피·흔적 삭제 판정 기준
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글