354. 방어 회피·흔적 삭제 — 방어 회피 정상 기준선 만들기

changseop lee·4일 전

시스템 보안 · 취약점

목록 보기
354/450

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

선행 학습

1. 개념

정상 운영에도 로그는 로테이션·압축·삭제되고, 보안 설정도 변경됩니다. 무엇이 정상 로그 관리·설정 변경인지 기준선을 세워야, 악의적 흔적 삭제·무력화를 구분할 수 있습니다.

방어 회피 정상 기준선 요소
 정상 로그 관리: logrotate(정해진 시간·주체·방식)
 정상 설정 변경: 승인된 관리자·변경 관리 창
 정상 보안 재시작: 패치·업데이트 시 서비스 재시작
 정상 삭제 주체: root·logrotate(서비스 계정 아님)
 정상 시점: 업무 시간·정기 작업

기준선 밖 삭제·무력화 = 방어 회피 후보

핵심은 "누가·언제·어떻게 로그를 지우고 보안을 바꾸는가"입니다. logrotate(정상)와 수동 rm(의심), 패치 재시작(정상)과 임의 중지(의심)를 구분합니다.

2. 왜 중요한가

  • 정상 운영에도 로그 삭제·설정 변경이 있어, 기준선 없이는 악의적 행위를 구분할 수 없습니다.
  • logrotate·변경 관리(정상)와 수동 삭제·임의 무력화(의심)의 구분이 핵심입니다.
  • 삭제 주체(root/logrotate vs 서비스 계정)·시점·방식이 비교 기준입니다.

3. 핵심 명령어 / 설정

요소정상의심
로그 삭제logrotate수동 rm·shred
삭제 주체root·서비스www-data·탈취 계정
설정 변경변경 관리 창비정기·새벽
보안 재시작패치 동반단독 중지
시점업무·정기비정기

4. 실습 (실습 예시)

# 방어 회피 기준선 수립 (분석 방법)
# 정상 로그 로테이션 설정 확인
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

5. 정상 상태

$ (로그 변경 주체)
  120 auid=root (logrotate 정상)
→ 로그 관리가 root·logrotate로만 수행(정상 기준선)

로그 삭제·변경이 root·logrotate로만 수행되고, 보안 설정 변경이 변경 관리 창에서만 일어나는 상태가 정상 기준선입니다.

6. 이상 상태

$ (로그 변경 주체)
  120 auid=root (정상)
    3 auid=www-data (웹 계정이 로그 삭제 — 기준선 이탈)
→ 서비스 계정이 로그 삭제(비정상 주체)
  • www-data(웹 서비스 계정)가 로그 삭제 → 정상 주체(root/logrotate) 이탈
  • logrotate가 아닌 수동 rm·shred → 비정상 방식
  • 기준선 밖 주체·방식·시점 → 방어 회피 후보 → 정탐

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

방어 회피 기준선 비교 흐름입니다(가상의 예시).

[기준선] 로그 삭제=root/logrotate, 설정 변경=변경 관리 창
      ↓ (비교)
[관측] www-data가 shred /var/log/secure (03시)
      ↓ 이탈 판정
 주체: www-data(서비스 계정) → 이탈
 방식: shred(수동 안전 삭제) → 이탈
 시점: 03시(비정기) → 이탈
      ↓
[방어 회피 후보] 다축 이탈 → 정탐
축기준선관측판정
주체rootwww-data이탈
방식logrotateshred이탈
시점정기03시이탈

기준선 대비 이탈 축이 많을수록 방어 회피 가능성이 높습니다.

8. SOC 관제 포인트

  • 방어 회피 탐지는 정상 로그 관리·설정 변경 기준선 수립이 전제입니다.
  • logrotate·변경 관리(정상)와 수동 삭제·임의 무력화(의심)를 주체·방식·시점으로 구분합니다.
  • 기준선 밖 삭제 주체·방식·시점이 방어 회피 후보입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 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·정상 관리자는 화이트리스트 예외로 둡니다. 기준선은 조직 로그 관리 정책에 맞게 조정합니다.

10. 대응 방법

  1. 초기 확인 — 정상 로그 관리(logrotate)·설정 변경(변경 관리) 기준선을 수립합니다.
  2. 범위 확인 — 관측된 삭제·무력화가 주체·방식·시점에서 이탈했는지 확인합니다.
  3. 증거 확보 — 기준선과 이탈 이벤트를 보존합니다.
  4. 차단/조치 — 기준선 이탈은 판정 기준(H08)으로 정탐/오탐을 가립니다.
  5. 재발 방지 — 로그 관리 기준선 기반 방어 회피 탐지를 운영합니다.

11. 핵심 정리

요소정상 vs 의심
로그 삭제logrotate vs 수동 rm·shred
삭제 주체root·서비스 vs 탈취 계정
설정 변경변경 관리 창 vs 비정기
보안 재시작패치 동반 vs 단독 중지
면접 포인트"정상 로그 관리는 logrotate·root — 서비스 계정 수동 삭제가 회피 신호"

12. 다음 편 예고

다음 편 355. 방어 회피·흔적 삭제 — 안티포렌식(anti-forensics)의 원리 에서는 안티포렌식의 원리를 다루는 안티포렌식(anti-forensics)의 원리를 다룹니다.


이전 편: 353. 방어 회피·흔적 삭제 — 로그·포렌식 아티팩트 감사 기반 구성
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글