본문 바로가기

Work & Study/Security

Sysmon - Windows Sysinternals : 시스템 모니터링 도구

Sysmon 소개

Sysmon은 MS사의 Sysinternals suite에 포함된 시스템 모니터링 툴이다. 설치를 하게되면 시스템에 상주하며 작업들을 모니터링하고 windows 이벤트로그에 기록을 저장하게 된다. 프로세스 생성이나 네트워크 연결, 파일 생성 시간 변경 등 기본적인 이벤트로그에 비하여 좀 더 자세한 정보를 제공한다. 수집된 결과를 자동으로 분석하여 결과를 제공하지는 않지만 이벤트뷰어나 별도의 SIEM 에이전트를 사용해 수집된 정보를 직접 분석하여 시스템에서 일어난 악성행위나 비정상적인 활동 등을 파악 할 수 있다.

 

Sysmon 주요기능 / 옵션

Sysmon은 커맨드라인 기반으로 실행 시킬 수 있으며, 사용법은 아래와 같다.

설치를 할 때에는 자동으로 EULA를 수락하도록 -accepteula 옵션을 지정하는 것을 권장한다.

Install: sysmon64 -i [<configfile>]
Update configuration: sysmon64 -c [<configfile>]
Install event manifest: sysmon64 -m
Print schema: sysmon64 -s
Uninstall: sysmon64 -u [force]

기본 설정으로 설치 (프로세스 이미지 sha1 해쉬로 저장 / 네트워크 모니터링 하지않음)

sysmon -accepteula  –i

설정파일을 통한 설치

sysmon –accepteula –i c:\windows\config.xml

설치삭제

sysmon –u

현재설정 출력

sysmon –c

설정파일을 사용하여 현재 설정을 변경

sysmon –c c:\windows\config.xml

기본 설정으로 변경

sysmon –c --

설정 스키마 보기

sysmon -s

이벤트(Event)

Sysmon이 설치가 되면 시스템 서비스로 등록되어 자동으로 이벤트를 모니터링을 하게된다. Vista 이상 버전에서는 이벤트가 "응용프로그램 및 서비스 로그/Microsoft/Windows/Sysmon/Operational"에 저장되고, 이전 버전에서는 시스템 이벤트 로그에 저장된다. 이벤트 타임스탬프는 UTC 표준 시간이다. 각각의 로그는 이벤트 유형별로 ID를 가지고 있는데 Sysmon이 생성하는 주요 이벤트는 다음과 같다.

- Event ID 1 : Process creation / 새로 생성된 프로세스에 정보이며 커맨드라인 컨텍스트와 전체 해시값 등을 제공

- Event ID 2 : A process changed a file creation time / 프로세스에 의해  파일의 작성 시간이 수정되었을때 생성

- Event ID 3 : Network connection / 시스템의 TCP 및 UDP 연결을 기록하며 출발지와 목적지의 Hostname, IP 주소 등을 제공

- Event ID 5 : Process terminated / 프로세스 종료 대한 이벤트

- Event ID 10 : Process Access / 다른 프로세스에 의해 프로세스가 실행 됐을 떄 생성되는 이벤트

- Event ID 11 : FileCreate / 새로운 파일이 생성되거나 기존 파일이 덮어쓰기 되었을때 발생하는 이벤트

- Event ID 12 ~ 14 : RegistryEvent / 레지스트리 생성, 삭제, 값 지정, 키나 값의 변경에 대한 이벤트

- Event ID 22 : DNS Event (DNS query) / 성공 여부에 상관없이 DNS 쿼리가 발생할떄 생성 (Windows 7 이상만 가능)

- Event ID 23 : FileDelete / 파일이 삭제됨

활용방안

앞에서 언급했듯이 Sysmon 자체로는 추가 정보를 저장하는 것 외에 달라지는 점이 없다. 하지만 ELK등과 연동해 간단한 EDR 시스템을 만들어 볼 수 있을 것이다. 굳이 실시간으로 모니터링 하지 않더라도 정기적으로 점검을 하는 방법도 있다. 특히 정보보안 사고가 발생하여 사고조사나 감사를 나갈 경우 해당 시스템에서 Sysmon이 설치되어 동작하고 있었다면 역추적이나 Forensic 과정에서 좀 더 수월하게 사고와 관련된 내용들을 확인 할 수 있을 것으로 예상된다.