시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 17/50편 (전체 367/450)
학습 단계: 로그 삭제·변조
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
FIM(File Integrity Monitoring)은 중요 파일의 변경을 감시하는 핵심 방어입니다. 공격자는 FIM 감시를 회피(감시 밖 경로 사용)하거나 무력화(FIM 중지·기준 DB 변조)해 파일 변조를 숨깁니다.
FIM 우회·무력화 패턴
감시 밖 경로: FIM이 안 보는 디렉터리 사용(/dev/shm 등)
FIM 중지: aide/wazuh FIM 데몬 중지
기준 DB 변조: aide --init으로 악성 상태를 "정상"으로 재등록
스캔 창 악용: FIM 스캔 간격 사이에 변조 후 원복
속성 악용: 변경 후 ctime 등 최대한 위장
탐지: FIM 중지·기준 DB 재생성·감시 밖 실행 파일
핵심은 "FIM을 피하거나 끄거나 속이는 행위"입니다. 특히 기준 DB 재생성(aide --init)은 악성 상태를 정상으로 둔갑시키는 위험 행위입니다.
| 우회 | 방식 | 위험 |
|---|---|---|
| 감시 밖 경로 | /dev/shm·비감시 디렉터리 | 회피 |
| FIM 중지 | aide/wazuh 데몬 중지 | 무력화 |
| 기준 DB 변조 | aide --init 재생성 | 악성=정상 |
| 스캔 창 악용 | 스캔 간 변조·원복 | 회피 |
| 정상 갱신 | 승인 변경 후 재초기화 | 정상 |
# FIM 우회·무력화 탐지 (분석 방법)
# FIM 데몬(aide/wazuh) 중지·기준 DB 재생성
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'aide.*--init|aide.*--update|systemctl.*(stop|disable).*(aide|wazuh)' | tail
# aide 기준 DB 변경 시각(비정상 재생성)
stat /var/lib/aide/aide.db.gz 2>/dev/null | grep Modify
# FIM 감시 밖 경로의 실행 파일
sudo find /dev/shm /var/tmp -type f -perm -u+x 2>/dev/null | head
$ (FIM 중지·DB 재생성) (없음 또는 승인 변경 후 정상 재초기화)
$ (감시 밖 실행 파일) (없음)
FIM 데몬이 가동되고 기준 DB가 승인 변경 시에만 갱신되며, 감시 밖 경로에 실행 파일이 없는 상태가 정상입니다.
$ (FIM 중지·DB 재생성)
proctitle="aide --init" (악성 변경 후 기준 DB 재생성)
systemctl stop wazuh-modulesd (FIM 중지)
$ (감시 밖 실행 파일)
/dev/shm/.payload (FIM 비감시 경로 실행 파일)
FIM 우회·무력화 분석입니다(가상의 예시).
[공격자] /usr/bin/ssh 변조(백도어) 시도
FIM이 감시 중 → 변조 시 경보 예상
↓ (우회 선택)
① aide --init → 변조된 ssh를 "정상 기준"으로 재등록
② 또는 systemctl stop (FIM 중지)
③ 또는 /dev/shm/.x (감시 밖 경로 사용)
↕ (메타 탐지)
[탐지] FIM 데몬 중지·기준 DB 비정상 재생성 자체를 감사
↓
= FIM을 끄거나 재초기화하는 행위 자체가 신호 → 정탐
| 우회 | 메타 탐지 |
|---|---|
| 기준 DB 재생성 | aide --init 감사 |
| FIM 중지 | 데몬 상태 |
| 감시 밖 경로 | 실행 파일 스캔 |
FIM 조작 행위 자체를 감사하는 것이 우회 탐지의 핵심입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
<rule id="107160" level="13">
<if_sid>107000</if_sid>
<field name="audit.proctitle" type="pcre2">aide\s+.*(--init|--update)|systemctl\s+(stop|disable)\s+.*(aide|wazuh|ossec)</field>
<description>FIM 무력화·기준 DB 재생성(파일 변조 은폐)</description>
<mitre><id>T1562.001</id><id>T1070</id></mitre>
</rule>
</group>
FIM 데몬 상태·기준 DB 변경을 중앙에서 모니터링합니다. 기준 DB 재생성은 승인 절차와 대조해 비정상 재초기화를 탐지합니다.
| 우회 | 방식 |
|---|---|
| 감시 밖 경로 | /dev/shm·비감시 |
| FIM 중지 | 데몬 중지 |
| 기준 DB 변조 | aide --init |
| 스캔 창 악용 | 스캔 간 변조·원복 |
| 면접 포인트 | "FIM 우회는 기준 DB 재생성이 핵심 — 악성을 새 정상으로 등록, 조작 행위를 감사" |
다음 편 368. 방어 회피·흔적 삭제 — 로그 삭제·변조 종합 분석 에서는 로그 삭제·변조를 종합하는 로그 삭제·변조 종합 분석을 다룹니다.
이전 편: 366. 방어 회피·흔적 삭제 — 타임스탬프 변조(timestomping) 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점