- Wazuh의 FIM 기능
- 특정 폴더에 FIM 설정 테스트

FIM (File Intergrity Monitoring)
파일 무결성 모니터링 기능이다.
시스템의 주요 파일 또는 디렉터리 변경을 실시간 감지하며, 단순 변경 기록이 아니라 파일생성, 수정, 삭제, 권한 변경 등의 보안 위협의 징후를 파악하는 데 핵심적인 역할을 한다.
- 악성코드로 실행 파일이 변경될 때
- 웹쉘이 서버에 업로드될 때
- 설정 파일이 외부에서 조작될 때
- 정밀 분석 지원 (이전/이후 해시값 비교, 변경된 시각과 사용자 정보)

FIM 테스트
1) FIM 감시 대상 설정
실제 FIM 감시 대상 디렉터리를 설정한다.
윈도우 에에전트에서 ossec config 파일을 수정해야한다.

해당 경로의 ossec.conf를 notepad 관리자 권한으로 연다.

내려보면 syscheck 항목에서 FIM 기능을 설정하는 곳이다.
현재 <disabled>no</disabled> 부분을 보면 활성화되어있다는 의미다.
frequency는 43200초로 12시간 주기로 하루 두 번 전체 FIM 무결성 스캔을 하게 된다.
<directories> 태그를 통해서 해당 경로를 감시한다.
recursion_level은 하위폴더를 어느 수준까지 감시하는지를 설정하는 것이며, 0은 하위폴더를 감시하지 않고 해당 디렉터리만 감시한다.
restrict는 감시할 파일의 이름을 정규표현식으로 제한하는 기능이다.

해당 powershell.exe 부분을 보면, powershell.exe 뒤에 $는 헤당 디렉토리 안에서 powershell.exe만 감시 대상으로 지정한다는 의미다. 이런 기능은 감시 범위를 세밀하게 조정하는데 유용하다. 이를 사용하지 않으면 System32같은 많은 파일들을 갖고있는 폴더에서 무결성 체크에 불필요하게 리소스를 잡아먹을 수 있다.
<ignore> 태그는 FIM 감시 대상에서 제외할 경로나 파일형식을 지정할 때 사용된다.
이는 보통 자주 변경되거나 시스템에 큰 영향을 주지 않기 때문에 불필요한 경로를 방지하기 위한 목적으로 주로 설정된다.

또한 레지스트리 변조도 감시할 수 있다.

이 레지스트리의 경로는 Run 키로 공격자가 지속성을 확보할 수 있도록하는 경로이기 때문에 무결성을 계속 탐지하여야 한다.
이는 T1547.001 MITRE 코드에 해당된다.
arch="both"는 32bit와 64bit 레지스트리를 동시에 감시할 수 있도록 설정할 수 있다.
레지스트리도 또한 ignore태그를 통해 감시 제외 대상으로 지정할 수 있다.

2) 파일 수정 및 탐지 결과
파일을 생성하거나 수정하여 Wazuh가 이 변화를 어떻게 탐지하고 분석하는지 단계별로 분석한다.

해당 경로의 파일들에 대해 FIM 경로를 지정하여 감시 해보자.

윈도우 에이전트의 ossec.conf 파일에서 위의 설정을 한다.
check_all은 해당 디렉토리의 파일에 대해 모든 유형의 변경 요소를 검사하는 설정이다. 해시값, 파일크기, 최종 수정시간, 파일권한, 소유자 및 그룹 정보이다. 즉, 파일의 모든 변화가 탐지 대상이 된다.
report_changes는 파일의 내용이 바뀌었을 때 어떤 내용이 바뀌었는지를 로그에 기록하는 설정이다. 즉 변경 전과 변경 후의 내용을 비교하는 방식이다.
realtime 옵션은 실시간 감지 옵션이다. 이는 파일 변경이 발생하는 즉시, 이벤트를 탐지하고, 로그를 생성한다. 자주 변경되는 로그 디렉터리에는 realtime 옵션을 꺼두는 것이 좋다. 이벤트 로그가 과도하게 쌓일 수 있기 때문이다. 반대로 설정파일, 배치 스크립트, 실행 바이너리 등은 실시간으로 변경을 감지하는 것이 중요하므로 realtime을 지향한다.

저장 후 Wazuh 서비스를 재시작해본다.
3) Wazuh FIM 대시보드 분석
탐지된 이벤트가 Wazuh 대시보드 상에서 어떻게 표시되고, 어떤 정보를 제공하는지도 함께 확인한다.

아직은 아무것도 탐지되지 않아 로그가 없다.


Hello World에서 Hello Wazuh로 텍스트를 변경해봤다.

Wazuh FIM 대시보드에는 바로 탐지되는 것을 볼 수 있다.

상세 로그를 보면 어떤 파일 경로에서 변경이 탐지됐는지 보이며,

어떤 내용이 어떻게 변경됐는지도 확인할 수 있다.
이처럼 어떤 파일이 변경됐는지 뿐만아니라 어떤 내용이 언제 어떻게 변경됐는지도 실시간으로 복합적으로 확인할 수 있다.
요약

- FIM은 시스템 내 중요 파일의 변경을 실시간으로 감지하여, 보안 위협을 조기에 식별 가능한 핵심 기능이다.
- ossec.conf 파일의 <syscheck> 항목은 감시할 디렉터리 지정, 제외 대상 설정, 레지스트리 감시 항목 구성 기능을 지원
- check_all, report_changes, realtime과 같은 주요 옵션은 파일 변경 사항을 세부적으로 추적할 수 있게 한다.
- 해당 옵션이 적용된 환경에서는 syscheck.diff 필드에서 파일 내부의 변경 사항을 확인할 수 있다.
'침해사고분석' 카테고리의 다른 글
| 시나리오 기반 Wazuh XDR 탐지 분석 (0) | 2025.09.21 |
|---|---|
| Wazuh의 MITRE ATT&CK 분석 (0) | 2025.09.15 |
| Wazuh 디코더와 룰 이해 (0) | 2025.09.15 |
| Wazuh XDR 통합 로그 분석 (0) | 2025.09.14 |
| Linux 보안 로그 분석 (0) | 2025.09.14 |
IT/네트워크/보안