387. 방어 회피·흔적 삭제 — 시간 기반 회피(지연·간헐 실행) 탐지

changseop lee·2026년 10월 8일

시스템 보안 · 취약점

목록 보기
387/450

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

선행 학습

1. 개념

공격자는 실행을 지연·간헐·분산시켜 짧은 시간 창 안의 상관 탐지를 회피합니다. sleep 지연, 저빈도 cron, 특정 시각 트리거, 간헐 비컨으로 "눈에 띄는 집중"을 피합니다.

시간 기반 회피
 지연 실행: sleep 후 활동(샌드박스·관찰 회피)
 간헐 실행: 저빈도 cron(주 1회 등)
 시각 트리거: 특정 시각·조건에만 동작
 분산 비컨: 긴 간격 C2 통신(지터)
 특징: 활동이 시간축에 흩어져 상관 어려움

탐지: 장기 타임라인, 저빈도 지속 패턴, 비컨 주기

핵심은 "시간축에 흩어뜨려 탐지를 피한다"는 점입니다. 짧은 창이 아닌 장기 타임라인과 반복 주기 분석이 탐지 포인트입니다.

2. 왜 중요한가

  • 시간 기반 회피는 활동을 지연·분산해 단기 상관 탐지를 회피합니다.
  • 긴 sleep·저빈도 cron·지터 비컨은 짧은 관찰 창을 벗어납니다.
  • 장기 타임라인과 주기성 분석으로만 흩어진 활동을 묶을 수 있습니다.

3. 핵심 명령어 / 설정

회피방식탐지
지연 실행sleep 후 활동지연→실행
간헐 실행저빈도 cron장기 패턴
시각 트리거특정 시각조건 분석
분산 비컨긴 간격+지터주기성
정상즉시·정기명확

4. 실습 (실습 예시)

# 시간 기반 회피 탐지 (분석 방법)
# 긴 sleep 후 실행(샌드박스·관찰 회피)
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'sleep\s+([0-9]{3,}|[0-9]+[mhd])' | tail
# 저빈도 지속 항목(주/월 단위 cron)
grep -rE '^[0-9*]+ [0-9*]+ .* (0|7) ' /etc/cron.d/ /var/spool/cron/ 2>/dev/null | head
# 규칙적 장기 비컨(흐름 간격 분석 — 외부 도구 교차)
echo "NetFlow/Zeek에서 동일 목적지 균일 간격 연결 주기성 확인"

5. 정상 상태

$ (긴 sleep) (없음 또는 정상 대기)
$ (저빈도 cron) 정상 유지보수 작업
$ (비컨 주기) 불규칙(정상 트래픽)

비정상적으로 긴 sleep 후 실행이 없고, 저빈도 cron이 정상 작업뿐이며, 외부 연결에 균일한 장주기 비컨이 없는 상태가 정상입니다.

6. 이상 상태

$ (긴 sleep)
sleep 3600 && /tmp/.x (1시간 지연 후 실행 — 관찰 회피)
$ (저빈도 cron)
매주 일요일 03:00 /tmp/.beacon (저빈도 지속)
$ (비컨 주기)
24시간±지터 간격 203.0.113.7:443 연결(장주기 C2)
  • 긴 sleep 후 실행 → 샌드박스·초기 관찰 회피
  • 주 1회 cron → 저빈도로 탐지 창 회피
  • 지연·저빈도·장주기 비컨 → 시간 기반 회피 → 정탐(장기 타임라인)

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

시간 기반 회피 분석입니다(가상의 예시).

[공격자] 활동을 시간축에 분산
   sleep 후 실행 / 주 1회 cron / 24h 비컨
   → 단기 상관 탐지 창을 벗어남
      ↕ (탐지)
[분석가]
 단기 창(1h)으로는 흩어진 활동 안 묶임
 장기 타임라인(주·월)으로 저빈도 패턴 포착
 비컨 간격 균일성(지터 포함) → 주기성 탐지
   ↓
= 흩어뜨려도 장기 타임라인·주기 분석에 드러남 → 정탐
관점회피탐지
시간축분산장기 타임라인
빈도저빈도지속 패턴
통신장주기주기성 분석

장기 타임라인 + 주기성 분석이 시간 기반 회피 탐지의 핵심입니다.

8. SOC 관제 포인트

  • 시간 기반 회피(T1029·T1070.006 연계)는 활동을 지연·분산해 단기 상관을 회피합니다.
  • 긴 sleep·저빈도 cron·장주기 비컨은 짧은 관찰 창을 벗어납니다.
  • 장기 타임라인과 주기성 분석으로 흩어진 활동을 묶어야 포착됩니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
  <rule id="107360" level="10">
    <if_sid>107000</if_sid>
    <field name="audit.proctitle" type="pcre2">sleep\s+([0-9]{3,}|[0-9]+[mhd])\s*(&&|;)\s*(/tmp|/dev/shm|/var/tmp)</field>
    <description>긴 지연 후 비정상 위치 실행(시간 기반 회피)</description>
    <mitre><id>T1029</id><id>T1497.003</id></mitre>
  </rule>
</group>

단기 룰에 더해 장기 타임라인 분석(주·월)과 비컨 주기성 탐지를 SIEM에서 운영합니다. 정상 유지보수·백업 주기는 기준선으로 구분합니다.

10. 대응 방법

  1. 초기 확인 — 긴 지연 실행·저빈도 지속 항목·장주기 비컨을 확인합니다.
  2. 범위 확인 — 단기가 아닌 장기 타임라인에서 흩어진 활동의 연관을 확인합니다.
  3. 증거 확보 — 지연 명령·저빈도 항목·비컨 주기 데이터를 보존합니다.
  4. 차단/조치 — 시간 기반 회피 정탐이면 전체 타임라인 재구성·연계 활동 상관을 진행합니다.
  5. 재발 방지 — 시간 기반 회피 탐지를 운영합니다.

11. 핵심 정리

회피방식
지연 실행sleep 후 활동
간헐 실행저빈도 cron
시각 트리거특정 시각
분산 비컨긴 간격+지터
면접 포인트"시간축 분산으로 회피 — 장기 타임라인+주기성 분석으로 묶어 탐지"

12. 다음 편 예고

다음 편 388. 방어 회피·흔적 삭제 — 위장·난독화 종합 분석 에서는 위장·난독화(H29~H37)를 종합하는 위장·난독화 종합 분석을 다룹니다.


이전 편: 386. 방어 회피·흔적 삭제 — 컨테이너·네임스페이스 은닉 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글