Sysmon 로그로 침입 행위 상관 분석하기
Sysmon은 시스템 활동을 모니터링하고 Windows 이벤트 로그에 기록하는 강력한 시스템 모니터링 도구입니다. 파일 생성, 네트워크 연결, 프로세스 생성 등 다양한 시스템 이벤트를 기록하여 침입 행위 탐지에 매우 유용합니다. 이 가이드에서는 Sysmon 로그를 활용하여 침입 행위를 상관 분석하는 방법에 대해 자세히 알아보겠습니다.
Sysmon이란 무엇인가?
Sysmon (System Monitor)은 Microsoft에서 제공하는 무료 시스템 서비스이자 장치 드라이버입니다. Sysmon은 시스템의 다양한 활동을 모니터링하고 기록하며, 이러한 정보는 Windows 이벤트 로그에 저장됩니다. Sysmon은 기본적으로 설치되어 있지 않으며, Microsoft 웹사이트에서 다운로드하여 설치해야 합니다. 설치 후 구성 파일을 사용하여 어떤 이벤트를 로깅할지 세밀하게 제어할 수 있습니다.
Sysmon을 사용해야 하는 이유
Sysmon은 다음과 같은 이유로 침입 행위 탐지에 필수적인 도구입니다.
- 광범위한 이벤트 로깅: Sysmon은 프로세스 생성, 네트워크 연결, 파일 생성 및 변경, 레지스트리 변경 등 다양한 시스템 이벤트를 로깅합니다.
- 세밀한 구성: Sysmon 구성 파일을 통해 로깅할 이벤트를 사용자 정의할 수 있습니다. 특정 프로세스, 파일, 레지스트리 키 등을 모니터링하도록 구성할 수 있습니다.
- 침입 행위 탐지: Sysmon 로그는 침입자가 시스템에 침투하여 수행하는 악성 행위를 탐지하는 데 매우 유용합니다.
- 무료 도구: Sysmon은 무료로 사용할 수 있으며, 개인 및 기업 환경에서 모두 사용할 수 있습니다.
Sysmon 로그 분석을 위한 준비
Sysmon 로그 분석을 시작하기 전에 다음과 같은 준비 단계를 거쳐야 합니다.
- Sysmon 설치 및 구성: Sysmon을 다운로드하여 설치하고, 적절한 구성 파일을 적용합니다. 구성 파일은 Sysmon이 로깅할 이벤트를 정의합니다.
- 로그 수집 및 중앙 집중화: Sysmon 로그를 중앙 집중식 로그 관리 시스템 (SIEM)으로 수집합니다. Splunk, Elasticsearch, Graylog 등이 SIEM 도구의 예시입니다.
- 로그 분석 도구 준비: SIEM 도구를 사용하여 Sysmon 로그를 분석하고 상관 관계를 파악합니다.
Sysmon 로그 이벤트 유형
Sysmon은 다양한 유형의 이벤트를 로깅합니다. 주요 이벤트 유형은 다음과 같습니다.
| 이벤트 ID | 설명 |
|---|---|
| 1 | 프로세스 생성 |
| 3 | 네트워크 연결 |
| 5 | 프로세스 종료 |
| 6 | 드라이버 로드 |
| 7 | 이미지 로드 |
| 8 | CreateRemoteThread |
| 9 | RawAccessRead |
| 10 | ProcessAccess |
| 11 | 파일 생성 |
| 12-14 | 레지스트리 이벤트 |
| 15 | 파일 스트림 생성 |
| 17-20 | DNS 쿼리 |
| 22 | DNS 쿼리 |
| 23 | 파일 삭제 |
| 25 | 프로세스 삭제 |
| 26 | Named Pipe 이벤트 |
침입 행위 상관 분석 예시
다음은 Sysmon 로그를 사용하여 침입 행위를 상관 분석하는 몇 가지 예시입니다.
예시 1: 악성 프로세스 실행 탐지
악성 프로세스는 일반적으로 다음과 같은 특징을 가집니다.
- 알려지지 않은 경로에서 실행
- 정상적인 프로세스에서 실행되지 않는 명령줄 인수 사용
- 비정상적인 네트워크 연결 시도
Sysmon 로그에서 프로세스 생성 이벤트 (이벤트 ID 1)를 분석하여 이러한 특징을 가진 프로세스를 탐지할 수 있습니다. 예를 들어, C:\Windows\Temp 폴더에서 실행되는 프로세스나, powershell.exe 프로세스가 암호화된 명령줄 인수를 사용하는 경우 악성 프로세스일 가능성이 높습니다.
분석 방법:
- 이벤트 ID 1 (프로세스 생성) 이벤트 검색
Image필드를 확인하여 프로세스 실행 경로 확인CommandLine필드를 확인하여 명령줄 인수 확인ParentImage필드를 확인하여 부모 프로세스 확인Hashes필드를 확인하여 파일 해시 값 확인 (VirusTotal 검색에 활용)
예시 2: 네트워크 연결 분석
악성 프로세스는 일반적으로 C&C (Command and Control) 서버와 통신하기 위해 네트워크 연결을 시도합니다. Sysmon 로그에서 네트워크 연결 이벤트 (이벤트 ID 3)를 분석하여 이러한 악성 연결을 탐지할 수 있습니다.
분석 방법:
- 이벤트 ID 3 (네트워크 연결) 이벤트 검색
DestinationIp및DestinationPort필드를 확인하여 연결 대상 IP 주소 및 포트 확인Image필드를 확인하여 연결을 시도한 프로세스 확인Initiated필드를 확인하여 연결 시작 여부 확인 (True: 아웃바운드 연결, False: 인바운드 연결)- 평판이 좋지 않은 IP 주소 또는 포트와 연결을 시도하는 프로세스 탐지
- 비정상적인 시간대에 네트워크 연결을 시도하는 프로세스 탐지
예시 3: 파일 생성 및 변경 분석
악성 프로세스는 시스템에 파일을 생성하거나 변경하여 악성 코드를 설치하거나 시스템 설정을 변경할 수 있습니다. Sysmon 로그에서 파일 생성 (이벤트 ID 11) 및 파일 삭제 (이벤트 ID 23) 이벤트를 분석하여 이러한 악성 행위를 탐지할 수 있습니다.
분석 방법:
- 이벤트 ID 11 (파일 생성) 및 이벤트 ID 23 (파일 삭제) 이벤트 검색
TargetFilename필드를 확인하여 생성 또는 삭제된 파일 경로 확인CreationUtcTime필드를 확인하여 파일 생성 시간 확인ProcessGuid및ProcessId필드를 확인하여 파일을 생성 또는 삭제한 프로세스 확인- 비정상적인 위치에 생성되는 파일 탐지 (예:
C:\Windows\System32) - 단시간에 많은 파일이 생성되는 경우 탐지
예시 4: 레지스트리 변경 분석
악성 프로세스는 레지스트리를 변경하여 시스템 설정을 변경하거나 악성 코드를 실행할 수 있습니다. Sysmon 로그에서 레지스트리 이벤트 (이벤트 ID 12, 13, 14)를 분석하여 이러한 악성 행위를 탐지할 수 있습니다.
분석 방법:
- 이벤트 ID 12 (레지스트리 객체 생성), 13 (레지스트리 값 설정), 14 (레지스트리 객체 삭제) 이벤트 검색
TargetObject필드를 확인하여 변경된 레지스트리 키 확인Details필드를 확인하여 변경된 레지스트리 값 확인ProcessGuid및ProcessId필드를 확인하여 레지스트리를 변경한 프로세스 확인- 자동 실행 레지스트리 키 (예:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run) 변경 탐지 - 보안 관련 레지스트리 키 변경 탐지 (예: 방화벽 설정)
Sysmon 구성 파일 작성 팁
Sysmon 구성 파일은 Sysmon이 로깅할 이벤트를 정의하는 중요한 파일입니다. 효과적인 구성 파일을 작성하기 위한 몇 가지 팁은 다음과 같습니다.
- 최소한의 이벤트 로깅부터 시작: 처음에는 필요한 이벤트만 로깅하도록 구성하고, 점차적으로 로깅 범위를 확장합니다.
- 화이트리스트 및 블랙리스트 활용: 정상적인 프로세스 및 파일은 화이트리스트에 추가하고, 악성으로 알려진 프로세스 및 파일은 블랙리스트에 추가합니다.
- 정기적인 구성 파일 업데이트: 새로운 위협에 대응하기 위해 구성 파일을 정기적으로 업데이트합니다.
- 테스트 환경에서 구성 파일 테스트: 실제 환경에 적용하기 전에 테스트 환경에서 구성 파일을 테스트하여 오탐을 줄입니다.
- Sysmon 구성 파일 생성 도구 활용: Sysmon 구성 파일을 쉽게 생성하고 관리할 수 있도록 도와주는 도구를 활용합니다. (예: SwiftOnSecurity Sysmon Configuration)
자주 묻는 질문과 답변
Q: Sysmon은 성능에 영향을 미치나요?
A: Sysmon은 시스템 리소스를 사용하지만, 적절하게 구성하면 성능에 미치는 영향은 미미합니다. 불필요한 이벤트 로깅을 줄여 성능 영향을 최소화할 수 있습니다.
Q: Sysmon 로그를 얼마나 오래 보관해야 하나요?
A: 로그 보관 기간은 조직의 정책 및 규정에 따라 다릅니다. 일반적으로 최소 3개월 이상 보관하는 것이 좋습니다.
Q: Sysmon 로그 분석을 자동화할 수 있나요?
A: 네, SIEM 도구를 사용하여 Sysmon 로그 분석을 자동화할 수 있습니다. SIEM 도구는 로그를 수집, 분석하고, 이상 징후를 탐지하여 알림을 제공합니다.
비용 효율적인 Sysmon 활용 방법
Sysmon은 무료 도구이므로, 초기 비용이 발생하지 않습니다. 하지만, 로그 수집 및 분석을 위한 SIEM 도구는 유료일 수 있습니다. 비용 효율적인 Sysmon 활용 방법은 다음과 같습니다.
- 무료 SIEM 도구 활용: Elasticsearch, Graylog 등 무료 SIEM 도구를 활용하여 초기 비용을 절감합니다.
- 클라우드 기반 SIEM 서비스 활용: 클라우드 기반 SIEM 서비스는 사용량에 따라 비용을 지불하므로, 초기 투자 비용을 줄일 수 있습니다.
- 커뮤니티 기반 규칙 활용: Sysmon 로그 분석을 위한 커뮤니티 기반 규칙을 활용하여 분석 시간을 단축하고, 분석 효율성을 높입니다.
Sysmon 로그는 침입 행위를 탐지하고 시스템 보안을 강화하는 데 매우 유용한 도구입니다. 이 가이드에서 제공하는 정보를 활용하여 Sysmon 로그를 효과적으로 분석하고, 침입 행위에 대한 대응 능력을 향상시키시기 바랍니다.